@metamask/connect-multichain 0.13.0 → 0.14.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 (44) hide show
  1. package/CHANGELOG.md +17 -1
  2. package/dist/browser/es/connect-multichain.d.mts +46 -2
  3. package/dist/browser/es/connect-multichain.mjs +144 -19
  4. package/dist/browser/es/connect-multichain.mjs.map +1 -1
  5. package/dist/browser/es/metafile-esm.json +1 -1
  6. package/dist/browser/iife/connect-multichain.d.ts +46 -2
  7. package/dist/browser/iife/connect-multichain.js +144 -19
  8. package/dist/browser/iife/connect-multichain.js.map +1 -1
  9. package/dist/browser/iife/metafile-iife.json +1 -1
  10. package/dist/browser/umd/connect-multichain.d.ts +46 -2
  11. package/dist/browser/umd/connect-multichain.js +144 -19
  12. package/dist/browser/umd/connect-multichain.js.map +1 -1
  13. package/dist/browser/umd/metafile-cjs.json +1 -1
  14. package/dist/node/cjs/connect-multichain.d.ts +46 -2
  15. package/dist/node/cjs/connect-multichain.js +145 -19
  16. package/dist/node/cjs/connect-multichain.js.map +1 -1
  17. package/dist/node/cjs/metafile-cjs.json +1 -1
  18. package/dist/node/es/connect-multichain.d.mts +46 -2
  19. package/dist/node/es/connect-multichain.mjs +144 -19
  20. package/dist/node/es/connect-multichain.mjs.map +1 -1
  21. package/dist/node/es/metafile-esm.json +1 -1
  22. package/dist/react-native/es/connect-multichain.d.mts +46 -2
  23. package/dist/react-native/es/connect-multichain.mjs +144 -19
  24. package/dist/react-native/es/connect-multichain.mjs.map +1 -1
  25. package/dist/react-native/es/metafile-esm.json +1 -1
  26. package/dist/src/domain/utils/index.d.ts +2 -1
  27. package/dist/src/domain/utils/index.d.ts.map +1 -1
  28. package/dist/src/domain/utils/index.js +1 -1
  29. package/dist/src/domain/utils/index.js.map +1 -1
  30. package/dist/src/multichain/index.d.ts.map +1 -1
  31. package/dist/src/multichain/index.js +2 -2
  32. package/dist/src/multichain/index.js.map +1 -1
  33. package/dist/src/multichain/rpc/requestRouter.d.ts.map +1 -1
  34. package/dist/src/multichain/rpc/requestRouter.js +4 -4
  35. package/dist/src/multichain/rpc/requestRouter.js.map +1 -1
  36. package/dist/src/multichain/transports/mwp/index.d.ts.map +1 -1
  37. package/dist/src/multichain/transports/mwp/index.js +17 -5
  38. package/dist/src/multichain/transports/mwp/index.js.map +1 -1
  39. package/dist/src/multichain/utils/analytics.d.ts +82 -1
  40. package/dist/src/multichain/utils/analytics.d.ts.map +1 -1
  41. package/dist/src/multichain/utils/analytics.js +252 -17
  42. package/dist/src/multichain/utils/analytics.js.map +1 -1
  43. package/dist/types/connect-multichain.d.ts +46 -2
  44. package/package.json +2 -2
@@ -1 +1 @@
1
- {"inputs":{"src/domain/errors/base.ts":{"bytes":387,"imports":[],"format":"esm"},"src/domain/errors/rpc.ts":{"bytes":1459,"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":5420,"imports":[],"format":"esm"},"src/domain/multichain/api/infura.ts":{"bytes":947,"imports":[{"path":"src/domain/multichain/api/constants.ts","kind":"import-statement","original":"./constants"}],"format":"esm"},"src/domain/multichain/index.ts":{"bytes":4145,"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":3753,"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":2967,"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":7037,"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":10285,"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":5872,"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":29038,"imports":[{"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":"@metamask/mobile-wallet-protocol-core","kind":"dynamic-import","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/transports/mwp/KeyManager.ts":{"bytes":1818,"imports":[{"path":"eciesjs","kind":"dynamic-import","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/index.ts":{"bytes":35360,"imports":[{"path":"@metamask/analytics","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/utils/index.ts","kind":"import-statement","original":"./utils"},{"path":"src/domain/multichain/api/infura.ts","kind":"import-statement","original":"../domain/multichain/api/infura"},{"path":"src/multichain/transports/mwp/index.ts","kind":"dynamic-import","original":"./transports/mwp"},{"path":"@metamask/mobile-wallet-protocol-core","kind":"dynamic-import","external":true},{"path":"@metamask/mobile-wallet-protocol-dapp-client","kind":"dynamic-import","external":true},{"path":"src/multichain/transports/mwp/KeyManager.ts","kind":"dynamic-import","original":"./transports/mwp/KeyManager"},{"path":"ws","kind":"dynamic-import","external":true},{"path":"src/multichain/transports/mwp/index.ts","kind":"dynamic-import","original":"./transports/mwp"},{"path":"@metamask/mobile-wallet-protocol-core","kind":"dynamic-import","external":true},{"path":"@metamask/mobile-wallet-protocol-core","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":6351,"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":1302,"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":240183},"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":"@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":"dynamic-import","external":true},{"path":"eciesjs","kind":"dynamic-import","external":true},{"path":"buffer","kind":"require-call","external":true},{"path":"@metamask/analytics","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":"dynamic-import","external":true},{"path":"@metamask/mobile-wallet-protocol-dapp-client","kind":"dynamic-import","external":true},{"path":"ws","kind":"dynamic-import","external":true},{"path":"@metamask/mobile-wallet-protocol-core","kind":"dynamic-import","external":true},{"path":"@metamask/mobile-wallet-protocol-core","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":1952},"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":6031},"src/domain/multichain/api/infura.ts":{"bytesInOutput":458},"src/domain/multichain/index.ts":{"bytesInOutput":2855},"src/domain/platform/index.ts":{"bytesInOutput":3735},"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":1626},"src/domain/utils/index.ts":{"bytesInOutput":151},"src/domain/index.ts":{"bytesInOutput":232},"src/multichain/utils/index.ts":{"bytesInOutput":9404},"src/multichain/transports/constants.ts":{"bytesInOutput":210},"src/multichain/transports/mwp/index.ts":{"bytesInOutput":27208},"src/multichain/transports/mwp/KeyManager.ts":{"bytesInOutput":1356},"src/ui/modals/base/utils.ts":{"bytesInOutput":640},"src/ui/modals/base/AbstractInstallModal.ts":{"bytesInOutput":3328},"src/ui/modals/web/install.ts":{"bytesInOutput":1277},"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":34663},"src/config/index.ts":{"bytesInOutput":202},"src/multichain/rpc/handlers/rpcClient.ts":{"bytesInOutput":3029},"src/multichain/rpc/requestRouter.ts":{"bytesInOutput":6029},"src/multichain/transports/default/index.ts":{"bytesInOutput":9899},"src/multichain/transports/multichainApiClientWrapper/index.ts":{"bytesInOutput":5792},"src/store/index.ts":{"bytesInOutput":3365},"src/domain/errors/storage.ts":{"bytesInOutput":1201},"src/ui/ModalFactory.ts":{"bytesInOutput":5151},"src/ui/index.ts":{"bytesInOutput":510}},"bytes":149021}}}
1
+ {"inputs":{"src/domain/errors/base.ts":{"bytes":387,"imports":[],"format":"esm"},"src/domain/errors/rpc.ts":{"bytes":1459,"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":5420,"imports":[],"format":"esm"},"src/domain/multichain/api/infura.ts":{"bytes":947,"imports":[{"path":"src/domain/multichain/api/constants.ts","kind":"import-statement","original":"./constants"}],"format":"esm"},"src/domain/multichain/index.ts":{"bytes":4145,"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":3753,"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":16518,"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":370,"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":7289,"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":10285,"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":5872,"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":29548,"imports":[{"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":"@metamask/mobile-wallet-protocol-core","kind":"dynamic-import","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/transports/mwp/KeyManager.ts":{"bytes":1818,"imports":[{"path":"eciesjs","kind":"dynamic-import","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/index.ts":{"bytes":35436,"imports":[{"path":"@metamask/analytics","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/utils/index.ts","kind":"import-statement","original":"./utils"},{"path":"src/domain/multichain/api/infura.ts","kind":"import-statement","original":"../domain/multichain/api/infura"},{"path":"src/multichain/transports/mwp/index.ts","kind":"dynamic-import","original":"./transports/mwp"},{"path":"@metamask/mobile-wallet-protocol-core","kind":"dynamic-import","external":true},{"path":"@metamask/mobile-wallet-protocol-dapp-client","kind":"dynamic-import","external":true},{"path":"src/multichain/transports/mwp/KeyManager.ts","kind":"dynamic-import","original":"./transports/mwp/KeyManager"},{"path":"ws","kind":"dynamic-import","external":true},{"path":"src/multichain/transports/mwp/index.ts","kind":"dynamic-import","original":"./transports/mwp"},{"path":"@metamask/mobile-wallet-protocol-core","kind":"dynamic-import","external":true},{"path":"@metamask/mobile-wallet-protocol-core","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":6351,"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":1302,"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":257663},"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":"@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":"dynamic-import","external":true},{"path":"eciesjs","kind":"dynamic-import","external":true},{"path":"buffer","kind":"require-call","external":true},{"path":"@metamask/analytics","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":"dynamic-import","external":true},{"path":"@metamask/mobile-wallet-protocol-dapp-client","kind":"dynamic-import","external":true},{"path":"ws","kind":"dynamic-import","external":true},{"path":"@metamask/mobile-wallet-protocol-core","kind":"dynamic-import","external":true},{"path":"@metamask/mobile-wallet-protocol-core","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":1952},"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":6031},"src/domain/multichain/api/infura.ts":{"bytesInOutput":458},"src/domain/multichain/index.ts":{"bytesInOutput":2855},"src/domain/platform/index.ts":{"bytesInOutput":3735},"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":6837},"src/domain/utils/index.ts":{"bytesInOutput":151},"src/domain/index.ts":{"bytesInOutput":232},"src/multichain/utils/index.ts":{"bytesInOutput":9404},"src/multichain/transports/constants.ts":{"bytesInOutput":210},"src/multichain/transports/mwp/index.ts":{"bytesInOutput":27758},"src/multichain/transports/mwp/KeyManager.ts":{"bytesInOutput":1356},"src/ui/modals/base/utils.ts":{"bytesInOutput":640},"src/ui/modals/base/AbstractInstallModal.ts":{"bytesInOutput":3328},"src/ui/modals/web/install.ts":{"bytesInOutput":1277},"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":2087},"src/polyfills/buffer-shim.ts":{"bytesInOutput":177},"src/multichain/index.ts":{"bytesInOutput":34711},"src/config/index.ts":{"bytesInOutput":202},"src/multichain/rpc/handlers/rpcClient.ts":{"bytesInOutput":3029},"src/multichain/rpc/requestRouter.ts":{"bytesInOutput":6081},"src/multichain/transports/default/index.ts":{"bytesInOutput":9899},"src/multichain/transports/multichainApiClientWrapper/index.ts":{"bytesInOutput":5792},"src/store/index.ts":{"bytesInOutput":3365},"src/domain/errors/storage.ts":{"bytesInOutput":1201},"src/ui/ModalFactory.ts":{"bytesInOutput":5151},"src/ui/index.ts":{"bytesInOutput":510}},"bytes":154936}}}
@@ -679,13 +679,42 @@ declare abstract class Modal<Options, Data extends DataType = DataType> {
679
679
  set data(data: Data);
680
680
  }
681
681
 
682
+ /**
683
+ * Tag describing the cause of a failed wallet action / connection. Surfaced
684
+ * as the `failure_reason` property on `mmconnect_wallet_action_failed` and
685
+ * `mmconnect_connection_failed` events so we can distinguish e.g. a transport
686
+ * timeout from a wallet-side internal error in Mixpanel.
687
+ *
688
+ * Intentionally a string union (not a const enum) so callers stay free to
689
+ * pass through a new bucket; the schema-side property is an open string for
690
+ * the same reason.
691
+ */
692
+ type FailureReason = 'transport_timeout' | 'transport_disconnect' | 'wallet_method_unsupported' | 'wallet_invalid_params' | 'wallet_internal_error' | 'wallet_unauthorized' | 'unrecognized_chain' | 'unknown';
682
693
  /**
683
694
  * Checks if an error represents a user rejection.
684
695
  *
696
+ * Unwraps `RPCInvokeMethodErr` so the wallet's `code: 4001` survives the
697
+ * SDK's transport-boundary wrapping (the outer error otherwise reports
698
+ * `code: 53`, which would never match the heuristics here).
699
+ *
685
700
  * @param error - The error object to check
686
701
  * @returns True if the error indicates a user rejection, false otherwise
687
702
  */
688
703
  declare function isRejectionError(error: unknown): boolean;
704
+ /**
705
+ * Classifies a failed wallet action / connection error into a short tag for
706
+ * the `failure_reason` analytics property. Caller is expected to have already
707
+ * established that the error is *not* a user rejection (use `isRejectionError`
708
+ * for that branching).
709
+ *
710
+ * The taxonomy is deliberately producer-side-only — the schema accepts any
711
+ * string — so we can add buckets here without an API migration. Once the
712
+ * distribution stabilises we may convert the schema field to a closed enum.
713
+ *
714
+ * @param error - The error to classify
715
+ * @returns A short, snake_case tag describing why the operation failed
716
+ */
717
+ declare function classifyFailureReason(error: unknown): FailureReason;
689
718
  /**
690
719
  * Gets analytics properties specific to wallet action events.
691
720
  *
@@ -693,15 +722,30 @@ declare function isRejectionError(error: unknown): boolean;
693
722
  * @param storage - Storage client for getting anonymous ID
694
723
  * @param invokeOptions - The invoke method options containing method and scope
695
724
  * @param transportType - The transport type to use for the analytics event
725
+ * @param extra - Optional event-specific diagnostic properties. Used by
726
+ * `mmconnect_wallet_action_failed` to attach the {@link ErrorDiagnostics}
727
+ * bundle (`failure_reason`, `error_code`, `error_message_sample`).
728
+ * @param extra.failure_reason - A short tag describing why the operation
729
+ * failed; see `classifyFailureReason` and the `FailureReason` union.
730
+ * @param extra.error_code - The raw wallet-side error code, if present.
731
+ * @param extra.error_message_sample - A sanitised, truncated sample of the
732
+ * original error message.
696
733
  * @returns Wallet action analytics properties
697
734
  */
698
- declare function getWalletActionAnalyticsProperties(options: MultichainOptions, storage: StoreClient, invokeOptions: InvokeMethodOptions, transportType: TransportType): Promise<{
735
+ declare function getWalletActionAnalyticsProperties(options: MultichainOptions, storage: StoreClient, invokeOptions: InvokeMethodOptions, transportType: TransportType, extra?: {
736
+ failure_reason?: FailureReason;
737
+ error_code?: number;
738
+ error_message_sample?: string;
739
+ }): Promise<{
699
740
  mmconnect_versions: Record<string, string>;
700
741
  dapp_id: string;
701
742
  method: string;
702
743
  caip_chain_id: string;
703
744
  anon_id: string;
704
745
  transport_type: TransportType;
746
+ failure_reason?: FailureReason;
747
+ error_code?: number;
748
+ error_message_sample?: string;
705
749
  }>;
706
750
 
707
751
  /**
@@ -713,4 +757,4 @@ declare function getVersion(): string;
713
757
 
714
758
  declare const createMultichainClient: CreateMultichainFN;
715
759
 
716
- export { type ConnectVersions, type ConnectionRequest, type ConnectionStatus, type CreateMultichainFN, type DappSettings, type DataType, type DomainErrorCodes, type Enumerate, type ErrorCodeRange, type ErrorCodes, EventEmitter, type EventTypes, type ExtendedTransport, type InstallWidgetProps, type InvokeMethodOptions, type LoggerNameSpaces, type MergeableMultichainOptions, Modal, type ModalFactoryConnectOptions, type ModalFactoryOptions, MultichainCore, type MultichainOptions, type NotificationCallback, type OTPCode, type OTPCodeWidgetProps, PlatformType, type QRLink, type RPCAPI, type RPCErrorCodes, RPCHttpErr, RPCInvokeMethodErr, RPCReadonlyRequestErr, RPCReadonlyResponseErr, type RPCResponse, RPC_HANDLED_METHODS, type RpcMethod, type RpcUrlsMap, type SDKEvents, SDK_HANDLED_METHODS, type Scope, type StorageErrorCodes, StoreAdapter, StoreClient, type StoreOptions, TransportType, createLogger, createMultichainClient, enableDebug, getInfuraRpcUrls, getPlatformType, getTransportType, getVersion, getWalletActionAnalyticsProperties, hasExtension, infuraRpcUrls, isEnabled, isMetamaskExtensionInstalled, isRejectionError, isSecure };
760
+ export { type ConnectVersions, type ConnectionRequest, type ConnectionStatus, type CreateMultichainFN, type DappSettings, type DataType, type DomainErrorCodes, type Enumerate, type ErrorCodeRange, type ErrorCodes, EventEmitter, type EventTypes, type ExtendedTransport, type FailureReason, type InstallWidgetProps, type InvokeMethodOptions, type LoggerNameSpaces, type MergeableMultichainOptions, Modal, type ModalFactoryConnectOptions, type ModalFactoryOptions, MultichainCore, type MultichainOptions, type NotificationCallback, type OTPCode, type OTPCodeWidgetProps, PlatformType, type QRLink, type RPCAPI, type RPCErrorCodes, RPCHttpErr, RPCInvokeMethodErr, RPCReadonlyRequestErr, RPCReadonlyResponseErr, type RPCResponse, RPC_HANDLED_METHODS, type RpcMethod, type RpcUrlsMap, type SDKEvents, SDK_HANDLED_METHODS, type Scope, type StorageErrorCodes, StoreAdapter, StoreClient, type StoreOptions, TransportType, classifyFailureReason, createLogger, createMultichainClient, enableDebug, getInfuraRpcUrls, getPlatformType, getTransportType, getVersion, getWalletActionAnalyticsProperties, hasExtension, infuraRpcUrls, isEnabled, isMetamaskExtensionInstalled, isRejectionError, isSecure };
@@ -967,17 +967,94 @@ var init_utils = __esm({
967
967
  });
968
968
 
969
969
  // src/multichain/utils/analytics.ts
970
+ function sanitiseErrorMessage(message) {
971
+ if (!message) {
972
+ return void 0;
973
+ }
974
+ let sanitised = message;
975
+ for (const { pattern, replacement } of SANITISE_PATTERNS) {
976
+ sanitised = sanitised.replace(pattern, replacement);
977
+ }
978
+ if (sanitised.length > ERROR_MESSAGE_SAMPLE_MAX_LENGTH) {
979
+ sanitised = `${sanitised.slice(0, ERROR_MESSAGE_SAMPLE_MAX_LENGTH - 1)}\u2026`;
980
+ }
981
+ return sanitised;
982
+ }
983
+ function getUnwrappedErrorDetails(error) {
984
+ var _a2, _b, _c, _d;
985
+ if (typeof error !== "object" || error === null) {
986
+ return { code: void 0, message: "" };
987
+ }
988
+ if (error instanceof RPCInvokeMethodErr) {
989
+ return {
990
+ code: (_a2 = error.rpcCode) != null ? _a2 : error.code,
991
+ message: (_c = (_b = error.rpcMessage) != null ? _b : error.message) != null ? _c : ""
992
+ };
993
+ }
994
+ const errorObj = error;
995
+ return {
996
+ code: errorObj.code,
997
+ message: (_d = errorObj.message) != null ? _d : ""
998
+ };
999
+ }
970
1000
  function isRejectionError(error) {
971
- var _a2, _b;
972
1001
  if (typeof error !== "object" || error === null) {
973
1002
  return false;
974
1003
  }
1004
+ const { code, message } = getUnwrappedErrorDetails(error);
1005
+ const errorMessage = message.toLowerCase();
1006
+ return code === 4001 || errorMessage.includes("reject") || errorMessage.includes("denied") || errorMessage.includes("cancel") || // Narrow "user …" matches — bare "user" is too greedy (catches Account
1007
+ // Abstraction errors like "user operation reverted").
1008
+ errorMessage.includes("user rejected") || errorMessage.includes("user denied") || errorMessage.includes("user cancelled") || errorMessage.includes("user canceled");
1009
+ }
1010
+ function classifyFailureReason(error) {
1011
+ var _a2, _b;
1012
+ if (typeof error !== "object" || error === null) {
1013
+ return "unknown";
1014
+ }
975
1015
  const errorObj = error;
976
- const errorCode = errorObj.code;
977
- const errorMessage = (_b = (_a2 = errorObj.message) == null ? void 0 : _a2.toLowerCase()) != null ? _b : "";
978
- return errorCode === 4001 || // User rejected request (common EIP-1193 code)
979
- errorCode === 4100 || // Unauthorized (common rejection code)
980
- errorMessage.includes("reject") || errorMessage.includes("denied") || errorMessage.includes("cancel") || errorMessage.includes("user");
1016
+ const errorName = (_a2 = errorObj.name) != null ? _a2 : "";
1017
+ const errorMessageRaw = (_b = errorObj.message) != null ? _b : "";
1018
+ const errorMessage = errorMessageRaw.toLowerCase();
1019
+ const { code } = getUnwrappedErrorDetails(error);
1020
+ if (typeof code === "number") {
1021
+ if (code === -32601) {
1022
+ return "wallet_method_unsupported";
1023
+ }
1024
+ if (code === -32602) {
1025
+ return "wallet_invalid_params";
1026
+ }
1027
+ if (code === -32603) {
1028
+ return "wallet_internal_error";
1029
+ }
1030
+ if (code <= -32e3 && code >= -32099) {
1031
+ return "wallet_internal_error";
1032
+ }
1033
+ if (code === 4100) {
1034
+ return "wallet_unauthorized";
1035
+ }
1036
+ if (code === 4200) {
1037
+ return "wallet_method_unsupported";
1038
+ }
1039
+ if (code === 4902) {
1040
+ return "unrecognized_chain";
1041
+ }
1042
+ }
1043
+ if (errorName === "TransportTimeoutError" || errorMessageRaw === "Request timeout" || errorMessage.includes("timed out") || errorMessage.includes("timeout")) {
1044
+ return "transport_timeout";
1045
+ }
1046
+ if (errorName === "TransportError" || errorMessage.includes("not connected") || errorMessage.includes("transport disconnect") || errorMessage.includes("connection lost") || errorMessage.includes("socket closed")) {
1047
+ return "transport_disconnect";
1048
+ }
1049
+ return "unknown";
1050
+ }
1051
+ function extractErrorDiagnostics(error) {
1052
+ const failureReason = classifyFailureReason(error);
1053
+ const { code, message } = getUnwrappedErrorDetails(error);
1054
+ const messageSample = sanitiseErrorMessage(message);
1055
+ return __spreadValues(__spreadValues({
1056
+ failure_reason: failureReason
1057
+ }, typeof code === "number" ? { error_code: code } : {}), messageSample ? { error_message_sample: messageSample } : {});
981
1058
  }
982
1059
  function getBaseAnalyticsProperties(options, storage) {
983
1060
  return __async(this, null, function* () {
@@ -993,26 +1070,61 @@ function getBaseAnalyticsProperties(options, storage) {
993
1070
  };
994
1071
  });
995
1072
  }
996
- function getWalletActionAnalyticsProperties(options, storage, invokeOptions, transportType) {
1073
+ function getWalletActionAnalyticsProperties(options, storage, invokeOptions, transportType, extra) {
997
1074
  return __async(this, null, function* () {
998
1075
  var _a2;
999
1076
  const dappId = getDappId(options.dapp);
1000
1077
  const anonId = yield storage.getAnonId();
1001
- return {
1078
+ return __spreadValues(__spreadValues(__spreadValues({
1002
1079
  mmconnect_versions: (_a2 = options.versions) != null ? _a2 : {},
1003
1080
  dapp_id: dappId,
1004
1081
  method: invokeOptions.request.method,
1005
1082
  caip_chain_id: invokeOptions.scope,
1006
1083
  anon_id: anonId,
1007
1084
  transport_type: transportType
1008
- };
1085
+ }, (extra == null ? void 0 : extra.failure_reason) ? { failure_reason: extra.failure_reason } : {}), typeof (extra == null ? void 0 : extra.error_code) === "number" ? { error_code: extra.error_code } : {}), (extra == null ? void 0 : extra.error_message_sample) ? { error_message_sample: extra.error_message_sample } : {});
1009
1086
  });
1010
1087
  }
1088
+ var ERROR_MESSAGE_SAMPLE_MAX_LENGTH, SANITISE_PATTERNS;
1011
1089
  var init_analytics = __esm({
1012
1090
  "src/multichain/utils/analytics.ts"() {
1013
1091
  "use strict";
1014
1092
  init_utils();
1015
1093
  init_domain();
1094
+ ERROR_MESSAGE_SAMPLE_MAX_LENGTH = 200;
1095
+ SANITISE_PATTERNS = [
1096
+ // EVM-style 20-byte hex addresses (e.g. `0x` + 40 hex chars).
1097
+ { pattern: /0x[a-fA-F0-9]{40}/gu, replacement: "<addr>" },
1098
+ // Other long hex blobs: tx hashes, signatures, raw byte strings, large
1099
+ // hex amounts. 16+ hex chars catches 32-byte hashes/signatures without
1100
+ // snagging EVM method selectors (8 chars) or short hex codes.
1101
+ { pattern: /(?:0x)?[a-fA-F0-9]{16,}/gu, replacement: "<hex>" },
1102
+ // URLs of any scheme up to the first whitespace / quote / closing paren.
1103
+ // Catches RPC endpoints, dapp deeplinks, query strings with secrets.
1104
+ { pattern: /https?:\/\/[^\s"')]+/gu, replacement: "<url>" },
1105
+ // Bech32 addresses: short HRP (1-10 lowercase chars) + `1` separator +
1106
+ // ≥38 chars of Bech32 data alphabet `[ac-hj-np-z02-9]` (excludes the
1107
+ // look-alike chars `b`, `i`, `o`, `1`). Covers Bitcoin SegWit
1108
+ // (`bc1…`/`tb1…`) and Cosmos-SDK chains (`cosmos1…`, `osmo1…`,
1109
+ // `juno1…`, `inj1…`, etc.) without enumerating every HRP. Runs before
1110
+ // the Base58 pattern below — see header comment for why.
1111
+ {
1112
+ pattern: /\b[a-z]{1,10}1[ac-hj-np-z02-9]{38,}\b/gu,
1113
+ replacement: "<addr>"
1114
+ },
1115
+ // Base58 tokens (32+ chars, Base58 alphabet `[1-9A-HJ-NP-Za-km-z]`).
1116
+ // Covers Solana pubkeys (32-44 chars), Solana tx signatures (~88 chars),
1117
+ // and Bitcoin Base58 addresses ≥32 chars. The 32-char floor and `\b`
1118
+ // word boundary keep English words and shorter alphanumerics safe.
1119
+ {
1120
+ pattern: /\b[1-9A-HJ-NP-Za-km-z]{32,}\b/gu,
1121
+ replacement: "<addr>"
1122
+ },
1123
+ // Long decimal numbers — token amounts, gas units, timestamps, lamports.
1124
+ // 10+ digits catches typical chain quantities without affecting JSON-RPC
1125
+ // codes (-32601, 4001, etc.) or short numeric IDs.
1126
+ { pattern: /\d{10,}/gu, replacement: "<num>" }
1127
+ ];
1016
1128
  }
1017
1129
  });
1018
1130
 
@@ -1402,13 +1514,24 @@ var init_mwp = __esm({
1402
1514
  return resolveConnection();
1403
1515
  });
1404
1516
  this.dappClient.on("message", initialConnectionMessageHandler);
1517
+ const platformType = getPlatformType();
1518
+ const isQRCodeFlow = [
1519
+ "web-desktop" /* DesktopWeb */,
1520
+ "nodejs" /* NonBrowser */
1521
+ ].includes(platformType);
1522
+ const initialPayload = {
1523
+ name: MULTICHAIN_PROVIDER_STREAM_NAME,
1524
+ data: request
1525
+ };
1405
1526
  dappClient.connect({
1406
1527
  mode: "trusted",
1407
- initialPayload: {
1408
- name: MULTICHAIN_PROVIDER_STREAM_NAME,
1409
- data: request
1528
+ initialPayload: isQRCodeFlow ? void 0 : initialPayload
1529
+ }).then(() => __async(this, null, function* () {
1530
+ if (isQRCodeFlow) {
1531
+ return dappClient.sendRequest(initialPayload);
1410
1532
  }
1411
- }).catch((error) => {
1533
+ return void 0;
1534
+ })).catch((error) => {
1412
1535
  if (initialConnectionMessageHandler) {
1413
1536
  this.dappClient.off(
1414
1537
  "message",
@@ -2014,6 +2137,7 @@ __export(index_node_exports, {
2014
2137
  StoreAdapter: () => StoreAdapter,
2015
2138
  StoreClient: () => StoreClient,
2016
2139
  TransportType: () => TransportType,
2140
+ classifyFailureReason: () => classifyFailureReason,
2017
2141
  createLogger: () => createLogger,
2018
2142
  createMultichainClient: () => createMultichainClient,
2019
2143
  enableDebug: () => enableDebug,
@@ -2274,7 +2398,7 @@ withAnalyticsTracking_fn = function(options, execute) {
2274
2398
  if (isRejection) {
2275
2399
  yield __privateMethod(this, _RequestRouter_instances, trackWalletActionRejected_fn).call(this, options);
2276
2400
  } else {
2277
- yield __privateMethod(this, _RequestRouter_instances, trackWalletActionFailed_fn).call(this, options);
2401
+ yield __privateMethod(this, _RequestRouter_instances, trackWalletActionFailed_fn).call(this, options, error);
2278
2402
  }
2279
2403
  if (error instanceof RPCInvokeMethodErr) {
2280
2404
  throw error;
@@ -2309,13 +2433,14 @@ trackWalletActionSucceeded_fn = function(options) {
2309
2433
  import_analytics2.analytics.track("mmconnect_wallet_action_succeeded", props);
2310
2434
  });
2311
2435
  };
2312
- trackWalletActionFailed_fn = function(options) {
2436
+ trackWalletActionFailed_fn = function(options, error) {
2313
2437
  return __async(this, null, function* () {
2314
2438
  const props = yield getWalletActionAnalyticsProperties(
2315
2439
  this.config,
2316
2440
  this.config.storage,
2317
2441
  options,
2318
- this.transportType
2442
+ this.transportType,
2443
+ extractErrorDiagnostics(error)
2319
2444
  );
2320
2445
  import_analytics2.analytics.track("mmconnect_wallet_action_failed", props);
2321
2446
  });
@@ -2759,7 +2884,7 @@ var _MetaMaskConnectMultichain = class _MetaMaskConnectMultichain extends Multic
2759
2884
  versions: __spreadValues({
2760
2885
  // typeof guard needed: Metro (React Native) bundles TS source directly,
2761
2886
  // bypassing the tsup build that substitutes __PACKAGE_VERSION__.
2762
- "connect-multichain": false ? "unknown" : "0.13.0"
2887
+ "connect-multichain": false ? "unknown" : "0.14.0"
2763
2888
  }, (_f = options.versions) != null ? _f : {})
2764
2889
  });
2765
2890
  super(allOptions);
@@ -3461,9 +3586,9 @@ handleConnection_fn = function(promise, scopes, transportType) {
3461
3586
  transport_type: transportType
3462
3587
  }));
3463
3588
  } else {
3464
- import_analytics4.analytics.track("mmconnect_connection_failed", __spreadProps(__spreadValues({}, baseProps), {
3589
+ import_analytics4.analytics.track("mmconnect_connection_failed", __spreadValues(__spreadProps(__spreadValues({}, baseProps), {
3465
3590
  transport_type: transportType
3466
- }));
3591
+ }), extractErrorDiagnostics(error)));
3467
3592
  }
3468
3593
  } catch (e) {
3469
3594
  logger2("Error tracking connection failed/rejected event", error);
@@ -3909,6 +4034,7 @@ var createMultichainClient = (options) => __async(null, null, function* () {
3909
4034
  StoreAdapter,
3910
4035
  StoreClient,
3911
4036
  TransportType,
4037
+ classifyFailureReason,
3912
4038
  createLogger,
3913
4039
  createMultichainClient,
3914
4040
  enableDebug,