@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/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/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/polyfills/buffer-shim.ts":{"bytes":688,"imports":[{"path":"buffer","kind":"import-statement","external":true},{"path":"src/multichain/utils/index.ts","kind":"import-statement","original":"../multichain/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/web/install.ts":{"bytes":1345,"imports":[{"path":"src/ui/modals/base/AbstractInstallModal.ts","kind":"import-statement","original":"../base/AbstractInstallModal"}],"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/web/otp.ts":{"bytes":395,"imports":[{"path":"src/ui/modals/base/AbstractOTPModal.ts","kind":"import-statement","original":"../base/AbstractOTPModal"}],"format":"esm"},"src/ui/modals/web/index.ts":{"bytes":80,"imports":[{"path":"src/ui/modals/web/install.ts","kind":"import-statement","original":"./install"},{"path":"src/ui/modals/web/otp.ts","kind":"import-statement","original":"./otp"}],"format":"esm"},"src/store/adapters/web.ts":{"bytes":3601,"imports":[{"path":"src/domain/index.ts","kind":"import-statement","original":"../../domain"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/index.browser.ts":{"bytes":1075,"imports":[{"path":"src/polyfills/buffer-shim.ts","kind":"import-statement","original":"./polyfills/buffer-shim"},{"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/web/index.ts","kind":"dynamic-import","original":"./ui/modals/web"},{"path":"src/store/adapters/web.ts","kind":"dynamic-import","original":"./store/adapters/web"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/browser/umd/connect-multichain.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":227807},"dist/browser/umd/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":"buffer","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.browser.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/analytics.ts":{"bytesInOutput":1924},"src/domain/utils/index.ts":{"bytesInOutput":151},"src/domain/index.ts":{"bytesInOutput":232},"src/multichain/utils/index.ts":{"bytesInOutput":8407},"src/ui/modals/base/utils.ts":{"bytesInOutput":640},"src/ui/modals/base/AbstractInstallModal.ts":{"bytesInOutput":3328},"src/ui/modals/web/install.ts":{"bytesInOutput":1324},"src/ui/modals/base/AbstractOTPModal.ts":{"bytesInOutput":470},"src/ui/modals/web/otp.ts":{"bytesInOutput":242},"src/ui/modals/web/index.ts":{"bytesInOutput":241},"src/store/adapters/web.ts":{"bytesInOutput":3634},"src/index.browser.ts":{"bytesInOutput":2033},"src/polyfills/buffer-shim.ts":{"bytesInOutput":177},"src/multichain/index.ts":{"bytesInOutput":31786},"src/config/index.ts":{"bytesInOutput":202},"src/multichain/rpc/handlers/rpcClient.ts":{"bytesInOutput":3029},"src/multichain/rpc/requestRouter.ts":{"bytesInOutput":5866},"src/multichain/transports/default/index.ts":{"bytesInOutput":9856},"src/multichain/transports/multichainApiClientWrapper/index.ts":{"bytesInOutput":5737},"src/multichain/transports/mwp/index.ts":{"bytesInOutput":23915},"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":5219},"src/ui/index.ts":{"bytesInOutput":510}},"bytes":138903}}}
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/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/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/polyfills/buffer-shim.ts":{"bytes":688,"imports":[{"path":"buffer","kind":"import-statement","external":true},{"path":"src/multichain/utils/index.ts","kind":"import-statement","original":"../multichain/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/web/install.ts":{"bytes":1345,"imports":[{"path":"src/ui/modals/base/AbstractInstallModal.ts","kind":"import-statement","original":"../base/AbstractInstallModal"}],"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/web/otp.ts":{"bytes":395,"imports":[{"path":"src/ui/modals/base/AbstractOTPModal.ts","kind":"import-statement","original":"../base/AbstractOTPModal"}],"format":"esm"},"src/ui/modals/web/index.ts":{"bytes":80,"imports":[{"path":"src/ui/modals/web/install.ts","kind":"import-statement","original":"./install"},{"path":"src/ui/modals/web/otp.ts","kind":"import-statement","original":"./otp"}],"format":"esm"},"src/store/adapters/web.ts":{"bytes":3601,"imports":[{"path":"src/domain/index.ts","kind":"import-statement","original":"../../domain"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/index.browser.ts":{"bytes":1075,"imports":[{"path":"src/polyfills/buffer-shim.ts","kind":"import-statement","original":"./polyfills/buffer-shim"},{"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/web/index.ts","kind":"dynamic-import","original":"./ui/modals/web"},{"path":"src/store/adapters/web.ts","kind":"dynamic-import","original":"./store/adapters/web"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/browser/umd/connect-multichain.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":232834},"dist/browser/umd/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":"buffer","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.browser.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/analytics.ts":{"bytesInOutput":1924},"src/domain/utils/index.ts":{"bytesInOutput":151},"src/domain/index.ts":{"bytesInOutput":232},"src/multichain/utils/index.ts":{"bytesInOutput":9404},"src/ui/modals/base/utils.ts":{"bytesInOutput":640},"src/ui/modals/base/AbstractInstallModal.ts":{"bytesInOutput":3328},"src/ui/modals/web/install.ts":{"bytesInOutput":1324},"src/ui/modals/base/AbstractOTPModal.ts":{"bytesInOutput":470},"src/ui/modals/web/otp.ts":{"bytesInOutput":242},"src/ui/modals/web/index.ts":{"bytesInOutput":241},"src/store/adapters/web.ts":{"bytesInOutput":3634},"src/index.browser.ts":{"bytesInOutput":2033},"src/polyfills/buffer-shim.ts":{"bytesInOutput":177},"src/multichain/index.ts":{"bytesInOutput":33158},"src/config/index.ts":{"bytesInOutput":202},"src/multichain/rpc/handlers/rpcClient.ts":{"bytesInOutput":3029},"src/multichain/rpc/requestRouter.ts":{"bytesInOutput":5866},"src/multichain/transports/default/index.ts":{"bytesInOutput":9775},"src/multichain/transports/multichainApiClientWrapper/index.ts":{"bytesInOutput":5677},"src/multichain/transports/mwp/index.ts":{"bytesInOutput":24221},"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":5219},"src/ui/index.ts":{"bytesInOutput":510}},"bytes":141538}}}
@@ -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[];
@@ -716,6 +716,21 @@ function getOptionalScopes(scopes) {
716
716
  {}
717
717
  );
718
718
  }
719
+ function normalizeNativeUrl(url) {
720
+ var _a2;
721
+ const httpPattern = /^https?:\/\//u;
722
+ if (httpPattern.test(url)) {
723
+ return void 0;
724
+ }
725
+ const schemeMatch = url.match(/^([^:]*):\/\//u);
726
+ const rawScheme = (_a2 = schemeMatch == null ? void 0 : schemeMatch[1]) != null ? _a2 : url;
727
+ const sanitized = rawScheme.toLowerCase().replace(/[^a-z0-9-]/gu, "-").replace(/^-+|-+$/gu, "");
728
+ const subdomain = (sanitized || "unknown").slice(0, 63).replace(/-+$/u, "");
729
+ return {
730
+ url: `https://${subdomain}.rn.dapp.local`,
731
+ nativeScheme: url
732
+ };
733
+ }
719
734
  function setupDappMetadata(options) {
720
735
  var _a2, _b;
721
736
  const platform = getPlatformType();
@@ -731,6 +746,18 @@ function setupDappMetadata(options) {
731
746
  if (!((_b = options.dapp) == null ? void 0 : _b.url)) {
732
747
  throw new Error("You must provide dapp url");
733
748
  }
749
+ if (platform === "react-native" /* ReactNative */ && options.dapp.url) {
750
+ const normalized = normalizeNativeUrl(options.dapp.url);
751
+ if (normalized) {
752
+ console.info(
753
+ `Normalizing dapp URL for React Native: "${options.dapp.url}" -> "${normalized.url}"`
754
+ );
755
+ options.dapp = __spreadProps(__spreadValues({}, options.dapp), {
756
+ url: normalized.url,
757
+ nativeScheme: normalized.nativeScheme
758
+ });
759
+ }
760
+ }
734
761
  const BASE_64_ICON_MAX_LENGTH = 163400;
735
762
  const urlPattern = /^(http|https):\/\/[^\s]*$/u;
736
763
  if (options.dapp) {
@@ -1539,7 +1566,7 @@ trackWalletActionRejected_fn = function(options) {
1539
1566
  var import_multichain_api_client = require("@metamask/multichain-api-client");
1540
1567
  init_utils();
1541
1568
  var DEFAULT_REQUEST_TIMEOUT = 60 * 1e3;
1542
- var _notificationCallbacks, _transport, _defaultRequestOptions, _pendingRequests, _handleResponseListener, _handleNotificationListener, _DefaultTransport_instances, notifyCallbacks_fn, isMetamaskProviderEvent_fn, handleResponse_fn, handleNotification_fn, setupMessageListener_fn;
1569
+ var _notificationCallbacks, _transport, _defaultRequestOptions, _pendingRequests, _handleResponseListener, _handleNotificationListener, _DefaultTransport_instances, notifyCallbacks_fn, isMetamaskProviderEvent_fn, handleResponse_fn, handleNotification_fn, setupMessageListener_fn, init_fn;
1543
1570
  var DefaultTransport = class {
1544
1571
  constructor() {
1545
1572
  __privateAdd(this, _DefaultTransport_instances);
@@ -1587,11 +1614,31 @@ var DefaultTransport = class {
1587
1614
  });
1588
1615
  });
1589
1616
  }
1617
+ init() {
1618
+ return __async(this, null, function* () {
1619
+ yield __privateMethod(this, _DefaultTransport_instances, init_fn).call(this);
1620
+ let walletSession = { sessionScopes: {} };
1621
+ try {
1622
+ const sessionRequest = yield this.request(
1623
+ { method: "wallet_getSession" },
1624
+ __privateGet(this, _defaultRequestOptions)
1625
+ );
1626
+ walletSession = sessionRequest.result;
1627
+ } catch (e) {
1628
+ console.error(
1629
+ "Failed to get wallet session during DefaultTransport init"
1630
+ );
1631
+ }
1632
+ __privateMethod(this, _DefaultTransport_instances, notifyCallbacks_fn).call(this, {
1633
+ method: "wallet_sessionChanged",
1634
+ params: walletSession
1635
+ });
1636
+ });
1637
+ }
1590
1638
  connect(options) {
1591
1639
  return __async(this, null, function* () {
1592
1640
  var _a2, _b, _c, _d, _e;
1593
- __privateMethod(this, _DefaultTransport_instances, setupMessageListener_fn).call(this);
1594
- yield __privateGet(this, _transport).connect();
1641
+ yield __privateMethod(this, _DefaultTransport_instances, init_fn).call(this);
1595
1642
  const sessionRequest = yield this.request(
1596
1643
  { method: "wallet_getSession" },
1597
1644
  __privateGet(this, _defaultRequestOptions)
@@ -1648,26 +1695,6 @@ var DefaultTransport = class {
1648
1695
  disconnect() {
1649
1696
  return __async(this, arguments, function* (scopes = []) {
1650
1697
  yield this.request({ method: "wallet_revokeSession", params: { scopes } });
1651
- const response = yield this.request({ method: "wallet_getSession" });
1652
- const { sessionScopes } = response.result;
1653
- if (Object.keys(sessionScopes).length > 0) {
1654
- return;
1655
- }
1656
- __privateGet(this, _notificationCallbacks).clear();
1657
- if (__privateGet(this, _handleResponseListener)) {
1658
- window.removeEventListener("message", __privateGet(this, _handleResponseListener));
1659
- __privateSet(this, _handleResponseListener, void 0);
1660
- }
1661
- if (__privateGet(this, _handleNotificationListener)) {
1662
- window.removeEventListener("message", __privateGet(this, _handleNotificationListener));
1663
- __privateSet(this, _handleNotificationListener, void 0);
1664
- }
1665
- for (const [, request] of __privateGet(this, _pendingRequests)) {
1666
- clearTimeout(request.timeout);
1667
- request.reject(new Error("Transport disconnected"));
1668
- }
1669
- __privateGet(this, _pendingRequests).clear();
1670
- yield __privateGet(this, _transport).disconnect();
1671
1698
  });
1672
1699
  }
1673
1700
  isConnected() {
@@ -1756,7 +1783,7 @@ handleNotification_fn = function(event) {
1756
1783
  return;
1757
1784
  }
1758
1785
  const responseData = (_b = (_a2 = event == null ? void 0 : event.data) == null ? void 0 : _a2.data) == null ? void 0 : _b.data;
1759
- if (typeof responseData === "object" && responseData.method === "metamask_chainChanged" || responseData.method === "metamask_accountsChanged") {
1786
+ if (typeof responseData === "object" && responseData !== null && (responseData.method === "metamask_chainChanged" || responseData.method === "metamask_accountsChanged")) {
1760
1787
  __privateMethod(this, _DefaultTransport_instances, notifyCallbacks_fn).call(this, responseData);
1761
1788
  }
1762
1789
  };
@@ -1769,6 +1796,12 @@ setupMessageListener_fn = function() {
1769
1796
  window.addEventListener("message", __privateGet(this, _handleResponseListener));
1770
1797
  window.addEventListener("message", __privateGet(this, _handleNotificationListener));
1771
1798
  };
1799
+ init_fn = function() {
1800
+ return __async(this, null, function* () {
1801
+ __privateMethod(this, _DefaultTransport_instances, setupMessageListener_fn).call(this);
1802
+ yield __privateGet(this, _transport).connect();
1803
+ });
1804
+ };
1772
1805
 
1773
1806
  // src/multichain/transports/multichainApiClientWrapper/index.ts
1774
1807
  var import_rpc_errors = require("@metamask/rpc-errors");
@@ -1856,7 +1889,6 @@ _notificationCallbacks2 = new WeakMap();
1856
1889
  _MultichainApiClientWrapperTransport_instances = new WeakSet();
1857
1890
  walletCreateSession_fn = function(request) {
1858
1891
  return __async(this, null, function* () {
1859
- console.log("\u{1F4DA} #walletCreateSession", request);
1860
1892
  const createSessionParams = request.params;
1861
1893
  const scopes = Object.keys(__spreadValues(__spreadValues({}, createSessionParams.optionalScopes), createSessionParams.requiredScopes));
1862
1894
  const scopeAccounts = [];
@@ -2038,10 +2070,11 @@ var MWPTransport = class {
2038
2070
  parseWalletError(errorPayload) {
2039
2071
  const errorData = errorPayload;
2040
2072
  if (typeof errorData.code === "number" && typeof errorData.message === "string") {
2041
- return import_rpc_errors2.providerErrors.custom({
2042
- code: errorData.code,
2043
- message: errorData.message
2044
- });
2073
+ const { code, message: message2 } = errorData;
2074
+ if (code >= 1e3 && code <= 4999) {
2075
+ return import_rpc_errors2.providerErrors.custom({ code, message: message2 });
2076
+ }
2077
+ return new import_rpc_errors2.JsonRpcError(code, message2);
2045
2078
  }
2046
2079
  const message = errorPayload instanceof Error ? errorPayload.message : JSON.stringify(errorPayload);
2047
2080
  return import_rpc_errors2.rpcErrors.internal({ message });
@@ -2166,6 +2199,10 @@ var MWPTransport = class {
2166
2199
  }
2167
2200
  });
2168
2201
  }
2202
+ init() {
2203
+ return __async(this, null, function* () {
2204
+ });
2205
+ }
2169
2206
  // TODO: Rename this
2170
2207
  sendEip1193Message(payload, options) {
2171
2208
  return __async(this, null, function* () {
@@ -2205,7 +2242,11 @@ var MWPTransport = class {
2205
2242
  const { dappClient } = this;
2206
2243
  const session = yield this.getActiveSession();
2207
2244
  if (session) {
2208
- logger("active session found", session);
2245
+ logger("active session found", {
2246
+ id: session.id,
2247
+ channel: session.channel,
2248
+ expiresAt: session.expiresAt
2249
+ });
2209
2250
  }
2210
2251
  const storedSessionRequestBeforeConnectionAttempt = yield this.getStoredPendingSessionRequest();
2211
2252
  let timeout;
@@ -2514,7 +2555,7 @@ var MWPTransport = class {
2514
2555
  getActiveSession() {
2515
2556
  return __async(this, null, function* () {
2516
2557
  const { kvstore } = this;
2517
- const sessionStore = new import_mobile_wallet_protocol_core.SessionStore(kvstore);
2558
+ const sessionStore = yield import_mobile_wallet_protocol_core.SessionStore.create(kvstore);
2518
2559
  try {
2519
2560
  const [activeSession] = yield sessionStore.list();
2520
2561
  return activeSession;
@@ -2588,6 +2629,9 @@ var KeyManager = class {
2588
2629
  return Buffer.from(decryptedBuffer).toString("utf8");
2589
2630
  });
2590
2631
  }
2632
+ validatePeerKey(key) {
2633
+ import_eciesjs.PublicKey.fromHex(Buffer.from(key).toString("hex"));
2634
+ }
2591
2635
  };
2592
2636
  var keymanager = new KeyManager();
2593
2637
 
@@ -2595,7 +2639,7 @@ var keymanager = new KeyManager();
2595
2639
  init_utils();
2596
2640
  var logger2 = createLogger("metamask-sdk:core");
2597
2641
  var SINGLETON_KEY = "__METAMASK_CONNECT_MULTICHAIN_SINGLETON__";
2598
- 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;
2642
+ 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;
2599
2643
  var _MetaMaskConnectMultichain = class _MetaMaskConnectMultichain extends MultichainCore {
2600
2644
  constructor(options) {
2601
2645
  var _a2, _b, _c, _d, _e, _f;
@@ -2633,6 +2677,9 @@ var _MetaMaskConnectMultichain = class _MetaMaskConnectMultichain extends Multic
2633
2677
  }
2634
2678
  set status(value) {
2635
2679
  var _a2, _b;
2680
+ if (this._status === value) {
2681
+ return;
2682
+ }
2636
2683
  this._status = value;
2637
2684
  (_b = (_a2 = this.options.transport) == null ? void 0 : _a2.onNotification) == null ? void 0 : _b.call(_a2, {
2638
2685
  method: "stateChanged",
@@ -2688,7 +2735,7 @@ var _MetaMaskConnectMultichain = class _MetaMaskConnectMultichain extends Multic
2688
2735
  if (isEnabled2) {
2689
2736
  enableDebug("metamask-sdk:core");
2690
2737
  }
2691
- yield __privateMethod(_a2 = instance, _MetaMaskConnectMultichain_instances, init_fn).call(_a2);
2738
+ yield __privateMethod(_a2 = instance, _MetaMaskConnectMultichain_instances, init_fn2).call(_a2);
2692
2739
  return instance;
2693
2740
  }))();
2694
2741
  globalObject[SINGLETON_KEY] = instancePromise;
@@ -2798,14 +2845,16 @@ var _MetaMaskConnectMultichain = class _MetaMaskConnectMultichain extends Multic
2798
2845
  );
2799
2846
  yield (_a2 = __privateGet(this, _transport2)) == null ? void 0 : _a2.disconnect(scopes);
2800
2847
  if (remainingScopes.length === 0) {
2801
- yield (_b = __privateGet(this, _listener)) == null ? void 0 : _b.call(this);
2802
- (_c = __privateGet(this, _beforeUnloadListener)) == null ? void 0 : _c.call(this);
2803
2848
  yield this.storage.removeTransport();
2804
- __privateSet(this, _listener, void 0);
2805
- __privateSet(this, _beforeUnloadListener, void 0);
2806
- __privateSet(this, _transport2, void 0);
2807
- __privateGet(this, _providerTransportWrapper).clearTransportNotificationListener();
2808
- __privateSet(this, _dappClient, void 0);
2849
+ if (this.transportType !== "browser" /* Browser */) {
2850
+ yield (_b = __privateGet(this, _listener)) == null ? void 0 : _b.call(this);
2851
+ (_c = __privateGet(this, _beforeUnloadListener)) == null ? void 0 : _c.call(this);
2852
+ __privateSet(this, _listener, void 0);
2853
+ __privateSet(this, _beforeUnloadListener, void 0);
2854
+ __privateSet(this, _transport2, void 0);
2855
+ __privateGet(this, _providerTransportWrapper).clearTransportNotificationListener();
2856
+ __privateSet(this, _dappClient, void 0);
2857
+ }
2809
2858
  this.status = "disconnected";
2810
2859
  }
2811
2860
  });
@@ -2844,16 +2893,16 @@ var _MetaMaskConnectMultichain = class _MetaMaskConnectMultichain extends Multic
2844
2893
  // without having to concern themselves with the current transport connection status.
2845
2894
  emitSessionChanged() {
2846
2895
  return __async(this, null, function* () {
2847
- var _a2;
2896
+ var _a2, _b;
2848
2897
  const emptySession = { sessionScopes: {} };
2849
- if (this.status !== "connected" && this.status !== "connecting") {
2898
+ if (!((_a2 = __privateGet(this, _transport2)) == null ? void 0 : _a2.isConnected())) {
2850
2899
  this.emit("wallet_sessionChanged", emptySession);
2851
2900
  return;
2852
2901
  }
2853
2902
  const response = yield this.transport.request({
2854
2903
  method: "wallet_getSession"
2855
2904
  });
2856
- this.emit("wallet_sessionChanged", (_a2 = response.result) != null ? _a2 : emptySession);
2905
+ this.emit("wallet_sessionChanged", (_b = response.result) != null ? _b : emptySession);
2857
2906
  });
2858
2907
  }
2859
2908
  };
@@ -2890,9 +2939,17 @@ setupAnalytics_fn = function() {
2890
2939
  };
2891
2940
  onTransportNotification_fn = function(payload) {
2892
2941
  return __async(this, null, function* () {
2893
- var _a2;
2942
+ var _a2, _b, _c;
2894
2943
  if (typeof payload === "object" && payload !== null && "method" in payload) {
2895
- this.emit(payload.method, (_a2 = payload.params) != null ? _a2 : payload.result);
2944
+ if (payload.method === "wallet_sessionChanged") {
2945
+ const sessionScopes = (_b = (_a2 = payload.params) == null ? void 0 : _a2.sessionScopes) != null ? _b : {};
2946
+ const hasScopes = Object.keys(sessionScopes).length > 0;
2947
+ if (this.status === "loaded" && !hasScopes) {
2948
+ return;
2949
+ }
2950
+ this.status = hasScopes ? "connected" : "disconnected";
2951
+ }
2952
+ this.emit(payload.method, (_c = payload.params) != null ? _c : payload.result);
2896
2953
  }
2897
2954
  });
2898
2955
  };
@@ -2930,6 +2987,7 @@ getStoredTransport_fn = function() {
2930
2987
  };
2931
2988
  setupTransport_fn = function() {
2932
2989
  return __async(this, null, function* () {
2990
+ var _a2;
2933
2991
  const transport = yield __privateMethod(this, _MetaMaskConnectMultichain_instances, getStoredTransport_fn).call(this);
2934
2992
  if (transport) {
2935
2993
  if (!this.transport.isConnected()) {
@@ -2944,10 +3002,20 @@ setupTransport_fn = function() {
2944
3002
  }
2945
3003
  } else {
2946
3004
  this.status = "loaded";
3005
+ const hasExtensionInstalled = yield hasExtension();
3006
+ const preferExtension = (_a2 = this.options.ui.preferExtension) != null ? _a2 : true;
3007
+ if (hasExtensionInstalled && preferExtension) {
3008
+ yield __privateMethod(this, _MetaMaskConnectMultichain_instances, setupDefaultTransport_fn).call(this, { persist: false });
3009
+ try {
3010
+ yield this.transport.init();
3011
+ } catch (error) {
3012
+ console.error("Passive init failed:", error);
3013
+ }
3014
+ }
2947
3015
  }
2948
3016
  });
2949
3017
  };
2950
- init_fn = function() {
3018
+ init_fn2 = function() {
2951
3019
  return __async(this, null, function* () {
2952
3020
  try {
2953
3021
  yield __privateMethod(this, _MetaMaskConnectMultichain_instances, setupAnalytics_fn).call(this);
@@ -2971,7 +3039,7 @@ init_fn = function() {
2971
3039
  createDappClient_fn = function() {
2972
3040
  return __async(this, null, function* () {
2973
3041
  const { adapter: kvstore } = this.options.storage;
2974
- const sessionstore = new import_mobile_wallet_protocol_core2.SessionStore(kvstore);
3042
+ const sessionstore = yield import_mobile_wallet_protocol_core2.SessionStore.create(kvstore);
2975
3043
  const websocket = (
2976
3044
  // eslint-disable-next-line no-negated-condition
2977
3045
  typeof window !== "undefined" ? WebSocket : (yield import("ws")).WebSocket
@@ -3148,9 +3216,13 @@ headlessConnect_fn = function(scopes, caipAccountIds, sessionProperties) {
3148
3216
  });
3149
3217
  };
3150
3218
  setupDefaultTransport_fn = function() {
3151
- return __async(this, null, function* () {
3152
- this.status = "connecting";
3153
- yield this.storage.setTransport("browser" /* Browser */);
3219
+ return __async(this, arguments, function* (options = { persist: true }) {
3220
+ if (__privateGet(this, _transport2) instanceof DefaultTransport) {
3221
+ return __privateGet(this, _transport2);
3222
+ }
3223
+ if (options == null ? void 0 : options.persist) {
3224
+ yield this.storage.setTransport("browser" /* Browser */);
3225
+ }
3154
3226
  const transport = new DefaultTransport();
3155
3227
  __privateSet(this, _listener, transport.onNotification(
3156
3228
  __privateMethod(this, _MetaMaskConnectMultichain_instances, onTransportNotification_fn).bind(this)
@@ -3268,16 +3340,20 @@ handleConnection_fn = function(promise, scopes, transportType) {
3268
3340
  };
3269
3341
  getCaipSession_fn = function() {
3270
3342
  return __async(this, null, function* () {
3343
+ var _a2;
3271
3344
  let sessionData = {
3272
3345
  sessionScopes: {},
3273
3346
  sessionProperties: {}
3274
3347
  };
3275
- if (this.status === "connected") {
3276
- const response = yield this.transport.request({
3277
- method: "wallet_getSession"
3278
- });
3279
- if (response.result) {
3280
- sessionData = response.result;
3348
+ if ((_a2 = __privateGet(this, _transport2)) == null ? void 0 : _a2.isConnected()) {
3349
+ try {
3350
+ const response = yield this.transport.request({
3351
+ method: "wallet_getSession"
3352
+ });
3353
+ if (response.result) {
3354
+ sessionData = response.result;
3355
+ }
3356
+ } catch (e) {
3281
3357
  }
3282
3358
  }
3283
3359
  return sessionData;