@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/index.ts":{"bytes":14504,"imports":[{"path":"@metamask/utils","kind":"import-statement","external":true},{"path":"pako","kind":"import-statement","external":true},{"path":"src/domain/index.ts","kind":"import-statement","original":"../../domain"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/utils/analytics.ts":{"bytes":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/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/node/install.ts":{"bytes":1866,"imports":[{"path":"@paulmillr/qr","kind":"import-statement","external":true},{"path":"src/domain/index.ts","kind":"import-statement","original":"../../../domain"},{"path":"src/ui/modals/base/AbstractInstallModal.ts","kind":"import-statement","original":"../base/AbstractInstallModal"},{"path":"src/ui/modals/base/utils.ts","kind":"import-statement","original":"../base/utils"}],"format":"esm"},"src/ui/modals/base/AbstractOTPModal.ts":{"bytes":451,"imports":[{"path":"src/domain/index.ts","kind":"import-statement","original":"../../../domain"}],"format":"esm"},"src/ui/modals/node/otp.ts":{"bytes":395,"imports":[{"path":"src/ui/modals/base/AbstractOTPModal.ts","kind":"import-statement","original":"../base/AbstractOTPModal"}],"format":"esm"},"src/ui/modals/node/index.ts":{"bytes":80,"imports":[{"path":"src/ui/modals/node/install.ts","kind":"import-statement","original":"./install"},{"path":"src/ui/modals/node/otp.ts","kind":"import-statement","original":"./otp"}],"format":"esm"},"src/store/adapters/node.ts":{"bytes":458,"imports":[{"path":"src/domain/index.ts","kind":"import-statement","original":"../../domain"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/index.node.ts":{"bytes":888,"imports":[{"path":"src/domain/index.ts","kind":"import-statement","original":"./domain"},{"path":"src/multichain/index.ts","kind":"import-statement","original":"./multichain"},{"path":"src/store/index.ts","kind":"import-statement","original":"./store"},{"path":"src/ui/index.ts","kind":"import-statement","original":"./ui"},{"path":"src/domain/index.ts","kind":"import-statement","original":"./domain"},{"path":"src/ui/modals/node/index.ts","kind":"dynamic-import","original":"./ui/modals/node"},{"path":"src/store/adapters/node.ts","kind":"dynamic-import","original":"./store/adapters/node"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/node/es/connect-multichain.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":234742},"dist/node/es/connect-multichain.mjs":{"imports":[{"path":"eventemitter3","kind":"import-statement","external":true},{"path":"debug","kind":"import-statement","external":true},{"path":"bowser","kind":"import-statement","external":true},{"path":"@metamask/utils","kind":"import-statement","external":true},{"path":"pako","kind":"import-statement","external":true},{"path":"@metamask/multichain-api-client","kind":"import-statement","external":true},{"path":"@metamask/rpc-errors","kind":"import-statement","external":true},{"path":"@metamask/mobile-wallet-protocol-core","kind":"dynamic-import","external":true},{"path":"eciesjs","kind":"dynamic-import","external":true},{"path":"@paulmillr/qr","kind":"import-statement","external":true},{"path":"@metamask/analytics","kind":"import-statement","external":true},{"path":"@metamask/multichain-api-client","kind":"import-statement","external":true},{"path":"cross-fetch","kind":"import-statement","external":true},{"path":"@metamask/analytics","kind":"import-statement","external":true},{"path":"@metamask/multichain-api-client","kind":"import-statement","external":true},{"path":"@metamask/rpc-errors","kind":"import-statement","external":true},{"path":"@metamask/mobile-wallet-protocol-core","kind":"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":"import-statement","external":true},{"path":"@metamask/onboarding","kind":"import-statement","external":true},{"path":"@metamask/multichain-ui/loader","kind":"dynamic-import","external":true}],"exports":["EventEmitter","Modal","MultichainCore","PlatformType","RPCHttpErr","RPCInvokeMethodErr","RPCReadonlyRequestErr","RPCReadonlyResponseErr","RPC_HANDLED_METHODS","SDK_HANDLED_METHODS","StoreAdapter","StoreClient","TransportType","createLogger","createMultichainClient","enableDebug","getInfuraRpcUrls","getPlatformType","getTransportType","getVersion","getWalletActionAnalyticsProperties","hasExtension","infuraRpcUrls","isEnabled","isMetamaskExtensionInstalled","isRejectionError","isSecure"],"entryPoint":"src/index.node.ts","inputs":{"src/domain/errors/base.ts":{"bytesInOutput":265},"src/domain/errors/rpc.ts":{"bytesInOutput":1952},"src/domain/errors/index.ts":{"bytesInOutput":103},"src/domain/events/index.ts":{"bytesInOutput":3312},"src/domain/logger/index.ts":{"bytesInOutput":1060},"src/domain/multichain/api/constants.ts":{"bytesInOutput":6031},"src/domain/multichain/api/infura.ts":{"bytesInOutput":458},"src/domain/multichain/index.ts":{"bytesInOutput":2855},"src/domain/platform/index.ts":{"bytesInOutput":3686},"src/domain/store/adapter.ts":{"bytesInOutput":210},"src/domain/store/client.ts":{"bytesInOutput":137},"src/domain/store/index.ts":{"bytesInOutput":124},"src/domain/ui/types.ts":{"bytesInOutput":994},"src/domain/ui/index.ts":{"bytesInOutput":97},"src/multichain/utils/index.ts":{"bytesInOutput":9349},"src/multichain/utils/analytics.ts":{"bytesInOutput":1625},"src/domain/utils/index.ts":{"bytesInOutput":152},"src/domain/index.ts":{"bytesInOutput":233},"src/multichain/transports/constants.ts":{"bytesInOutput":210},"src/multichain/transports/mwp/index.ts":{"bytesInOutput":27016},"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/node/install.ts":{"bytesInOutput":1725},"src/ui/modals/base/AbstractOTPModal.ts":{"bytesInOutput":470},"src/ui/modals/node/otp.ts":{"bytesInOutput":243},"src/ui/modals/node/index.ts":{"bytesInOutput":245},"src/store/adapters/node.ts":{"bytesInOutput":962},"src/index.node.ts":{"bytesInOutput":773},"src/multichain/index.ts":{"bytesInOutput":34420},"src/config/index.ts":{"bytesInOutput":202},"src/multichain/rpc/handlers/rpcClient.ts":{"bytesInOutput":2978},"src/multichain/rpc/requestRouter.ts":{"bytesInOutput":5949},"src/multichain/transports/default/index.ts":{"bytesInOutput":9858},"src/multichain/transports/multichainApiClientWrapper/index.ts":{"bytesInOutput":5771},"src/store/index.ts":{"bytesInOutput":3358},"src/domain/errors/storage.ts":{"bytesInOutput":1201},"src/ui/ModalFactory.ts":{"bytesInOutput":5132},"src/ui/index.ts":{"bytesInOutput":510}},"bytes":143451}}}
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/index.ts":{"bytes":14504,"imports":[{"path":"@metamask/utils","kind":"import-statement","external":true},{"path":"pako","kind":"import-statement","external":true},{"path":"src/domain/index.ts","kind":"import-statement","original":"../../domain"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/utils/analytics.ts":{"bytes":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/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/node/install.ts":{"bytes":1866,"imports":[{"path":"@paulmillr/qr","kind":"import-statement","external":true},{"path":"src/domain/index.ts","kind":"import-statement","original":"../../../domain"},{"path":"src/ui/modals/base/AbstractInstallModal.ts","kind":"import-statement","original":"../base/AbstractInstallModal"},{"path":"src/ui/modals/base/utils.ts","kind":"import-statement","original":"../base/utils"}],"format":"esm"},"src/ui/modals/base/AbstractOTPModal.ts":{"bytes":451,"imports":[{"path":"src/domain/index.ts","kind":"import-statement","original":"../../../domain"}],"format":"esm"},"src/ui/modals/node/otp.ts":{"bytes":395,"imports":[{"path":"src/ui/modals/base/AbstractOTPModal.ts","kind":"import-statement","original":"../base/AbstractOTPModal"}],"format":"esm"},"src/ui/modals/node/index.ts":{"bytes":80,"imports":[{"path":"src/ui/modals/node/install.ts","kind":"import-statement","original":"./install"},{"path":"src/ui/modals/node/otp.ts","kind":"import-statement","original":"./otp"}],"format":"esm"},"src/store/adapters/node.ts":{"bytes":458,"imports":[{"path":"src/domain/index.ts","kind":"import-statement","original":"../../domain"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/index.node.ts":{"bytes":888,"imports":[{"path":"src/domain/index.ts","kind":"import-statement","original":"./domain"},{"path":"src/multichain/index.ts","kind":"import-statement","original":"./multichain"},{"path":"src/store/index.ts","kind":"import-statement","original":"./store"},{"path":"src/ui/index.ts","kind":"import-statement","original":"./ui"},{"path":"src/domain/index.ts","kind":"import-statement","original":"./domain"},{"path":"src/ui/modals/node/index.ts","kind":"dynamic-import","original":"./ui/modals/node"},{"path":"src/store/adapters/node.ts","kind":"dynamic-import","original":"./store/adapters/node"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/node/es/connect-multichain.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":252217},"dist/node/es/connect-multichain.mjs":{"imports":[{"path":"eventemitter3","kind":"import-statement","external":true},{"path":"debug","kind":"import-statement","external":true},{"path":"bowser","kind":"import-statement","external":true},{"path":"@metamask/utils","kind":"import-statement","external":true},{"path":"pako","kind":"import-statement","external":true},{"path":"@metamask/multichain-api-client","kind":"import-statement","external":true},{"path":"@metamask/rpc-errors","kind":"import-statement","external":true},{"path":"@metamask/mobile-wallet-protocol-core","kind":"dynamic-import","external":true},{"path":"eciesjs","kind":"dynamic-import","external":true},{"path":"@paulmillr/qr","kind":"import-statement","external":true},{"path":"@metamask/analytics","kind":"import-statement","external":true},{"path":"@metamask/multichain-api-client","kind":"import-statement","external":true},{"path":"cross-fetch","kind":"import-statement","external":true},{"path":"@metamask/analytics","kind":"import-statement","external":true},{"path":"@metamask/multichain-api-client","kind":"import-statement","external":true},{"path":"@metamask/rpc-errors","kind":"import-statement","external":true},{"path":"@metamask/mobile-wallet-protocol-core","kind":"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":"import-statement","external":true},{"path":"@metamask/onboarding","kind":"import-statement","external":true},{"path":"@metamask/multichain-ui/loader","kind":"dynamic-import","external":true}],"exports":["EventEmitter","Modal","MultichainCore","PlatformType","RPCHttpErr","RPCInvokeMethodErr","RPCReadonlyRequestErr","RPCReadonlyResponseErr","RPC_HANDLED_METHODS","SDK_HANDLED_METHODS","StoreAdapter","StoreClient","TransportType","classifyFailureReason","createLogger","createMultichainClient","enableDebug","getInfuraRpcUrls","getPlatformType","getTransportType","getVersion","getWalletActionAnalyticsProperties","hasExtension","infuraRpcUrls","isEnabled","isMetamaskExtensionInstalled","isRejectionError","isSecure"],"entryPoint":"src/index.node.ts","inputs":{"src/domain/errors/base.ts":{"bytesInOutput":265},"src/domain/errors/rpc.ts":{"bytesInOutput":1952},"src/domain/errors/index.ts":{"bytesInOutput":103},"src/domain/events/index.ts":{"bytesInOutput":3312},"src/domain/logger/index.ts":{"bytesInOutput":1060},"src/domain/multichain/api/constants.ts":{"bytesInOutput":6031},"src/domain/multichain/api/infura.ts":{"bytesInOutput":458},"src/domain/multichain/index.ts":{"bytesInOutput":2855},"src/domain/platform/index.ts":{"bytesInOutput":3686},"src/domain/store/adapter.ts":{"bytesInOutput":210},"src/domain/store/client.ts":{"bytesInOutput":137},"src/domain/store/index.ts":{"bytesInOutput":124},"src/domain/ui/types.ts":{"bytesInOutput":994},"src/domain/ui/index.ts":{"bytesInOutput":97},"src/multichain/utils/index.ts":{"bytesInOutput":9349},"src/multichain/utils/analytics.ts":{"bytesInOutput":6836},"src/domain/utils/index.ts":{"bytesInOutput":152},"src/domain/index.ts":{"bytesInOutput":233},"src/multichain/transports/constants.ts":{"bytesInOutput":210},"src/multichain/transports/mwp/index.ts":{"bytesInOutput":27566},"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/node/install.ts":{"bytesInOutput":1725},"src/ui/modals/base/AbstractOTPModal.ts":{"bytesInOutput":470},"src/ui/modals/node/otp.ts":{"bytesInOutput":243},"src/ui/modals/node/index.ts":{"bytesInOutput":245},"src/store/adapters/node.ts":{"bytesInOutput":962},"src/index.node.ts":{"bytesInOutput":773},"src/multichain/index.ts":{"bytesInOutput":34468},"src/config/index.ts":{"bytesInOutput":202},"src/multichain/rpc/handlers/rpcClient.ts":{"bytesInOutput":2978},"src/multichain/rpc/requestRouter.ts":{"bytesInOutput":6001},"src/multichain/transports/default/index.ts":{"bytesInOutput":9858},"src/multichain/transports/multichainApiClientWrapper/index.ts":{"bytesInOutput":5771},"src/store/index.ts":{"bytesInOutput":3358},"src/domain/errors/storage.ts":{"bytesInOutput":1201},"src/ui/ModalFactory.ts":{"bytesInOutput":5132},"src/ui/index.ts":{"bytesInOutput":510}},"bytes":149337}}}
@@ -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 };
@@ -679,17 +679,94 @@ var init_ui = __esm({
679
679
  });
680
680
 
681
681
  // src/multichain/utils/analytics.ts
682
+ function sanitiseErrorMessage(message) {
683
+ if (!message) {
684
+ return void 0;
685
+ }
686
+ let sanitised = message;
687
+ for (const { pattern, replacement } of SANITISE_PATTERNS) {
688
+ sanitised = sanitised.replace(pattern, replacement);
689
+ }
690
+ if (sanitised.length > ERROR_MESSAGE_SAMPLE_MAX_LENGTH) {
691
+ sanitised = `${sanitised.slice(0, ERROR_MESSAGE_SAMPLE_MAX_LENGTH - 1)}\u2026`;
692
+ }
693
+ return sanitised;
694
+ }
695
+ function getUnwrappedErrorDetails(error) {
696
+ var _a3, _b, _c, _d;
697
+ if (typeof error !== "object" || error === null) {
698
+ return { code: void 0, message: "" };
699
+ }
700
+ if (error instanceof RPCInvokeMethodErr) {
701
+ return {
702
+ code: (_a3 = error.rpcCode) != null ? _a3 : error.code,
703
+ message: (_c = (_b = error.rpcMessage) != null ? _b : error.message) != null ? _c : ""
704
+ };
705
+ }
706
+ const errorObj = error;
707
+ return {
708
+ code: errorObj.code,
709
+ message: (_d = errorObj.message) != null ? _d : ""
710
+ };
711
+ }
682
712
  function isRejectionError(error) {
683
- var _a3, _b;
684
713
  if (typeof error !== "object" || error === null) {
685
714
  return false;
686
715
  }
716
+ const { code, message } = getUnwrappedErrorDetails(error);
717
+ const errorMessage = message.toLowerCase();
718
+ return code === 4001 || errorMessage.includes("reject") || errorMessage.includes("denied") || errorMessage.includes("cancel") || // Narrow "user …" matches — bare "user" is too greedy (catches Account
719
+ // Abstraction errors like "user operation reverted").
720
+ errorMessage.includes("user rejected") || errorMessage.includes("user denied") || errorMessage.includes("user cancelled") || errorMessage.includes("user canceled");
721
+ }
722
+ function classifyFailureReason(error) {
723
+ var _a3, _b;
724
+ if (typeof error !== "object" || error === null) {
725
+ return "unknown";
726
+ }
687
727
  const errorObj = error;
688
- const errorCode = errorObj.code;
689
- const errorMessage = (_b = (_a3 = errorObj.message) == null ? void 0 : _a3.toLowerCase()) != null ? _b : "";
690
- return errorCode === 4001 || // User rejected request (common EIP-1193 code)
691
- errorCode === 4100 || // Unauthorized (common rejection code)
692
- errorMessage.includes("reject") || errorMessage.includes("denied") || errorMessage.includes("cancel") || errorMessage.includes("user");
728
+ const errorName = (_a3 = errorObj.name) != null ? _a3 : "";
729
+ const errorMessageRaw = (_b = errorObj.message) != null ? _b : "";
730
+ const errorMessage = errorMessageRaw.toLowerCase();
731
+ const { code } = getUnwrappedErrorDetails(error);
732
+ if (typeof code === "number") {
733
+ if (code === -32601) {
734
+ return "wallet_method_unsupported";
735
+ }
736
+ if (code === -32602) {
737
+ return "wallet_invalid_params";
738
+ }
739
+ if (code === -32603) {
740
+ return "wallet_internal_error";
741
+ }
742
+ if (code <= -32e3 && code >= -32099) {
743
+ return "wallet_internal_error";
744
+ }
745
+ if (code === 4100) {
746
+ return "wallet_unauthorized";
747
+ }
748
+ if (code === 4200) {
749
+ return "wallet_method_unsupported";
750
+ }
751
+ if (code === 4902) {
752
+ return "unrecognized_chain";
753
+ }
754
+ }
755
+ if (errorName === "TransportTimeoutError" || errorMessageRaw === "Request timeout" || errorMessage.includes("timed out") || errorMessage.includes("timeout")) {
756
+ return "transport_timeout";
757
+ }
758
+ if (errorName === "TransportError" || errorMessage.includes("not connected") || errorMessage.includes("transport disconnect") || errorMessage.includes("connection lost") || errorMessage.includes("socket closed")) {
759
+ return "transport_disconnect";
760
+ }
761
+ return "unknown";
762
+ }
763
+ function extractErrorDiagnostics(error) {
764
+ const failureReason = classifyFailureReason(error);
765
+ const { code, message } = getUnwrappedErrorDetails(error);
766
+ const messageSample = sanitiseErrorMessage(message);
767
+ return __spreadValues(__spreadValues({
768
+ failure_reason: failureReason
769
+ }, typeof code === "number" ? { error_code: code } : {}), messageSample ? { error_message_sample: messageSample } : {});
693
770
  }
694
771
  function getBaseAnalyticsProperties(options, storage) {
695
772
  return __async(this, null, function* () {
@@ -705,26 +782,61 @@ function getBaseAnalyticsProperties(options, storage) {
705
782
  };
706
783
  });
707
784
  }
708
- function getWalletActionAnalyticsProperties(options, storage, invokeOptions, transportType) {
785
+ function getWalletActionAnalyticsProperties(options, storage, invokeOptions, transportType, extra) {
709
786
  return __async(this, null, function* () {
710
787
  var _a3;
711
788
  const dappId = getDappId(options.dapp);
712
789
  const anonId = yield storage.getAnonId();
713
- return {
790
+ return __spreadValues(__spreadValues(__spreadValues({
714
791
  mmconnect_versions: (_a3 = options.versions) != null ? _a3 : {},
715
792
  dapp_id: dappId,
716
793
  method: invokeOptions.request.method,
717
794
  caip_chain_id: invokeOptions.scope,
718
795
  anon_id: anonId,
719
796
  transport_type: transportType
720
- };
797
+ }, (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 } : {});
721
798
  });
722
799
  }
800
+ var ERROR_MESSAGE_SAMPLE_MAX_LENGTH, SANITISE_PATTERNS;
723
801
  var init_analytics = __esm({
724
802
  "src/multichain/utils/analytics.ts"() {
725
803
  "use strict";
726
804
  init_utils2();
727
805
  init_domain();
806
+ ERROR_MESSAGE_SAMPLE_MAX_LENGTH = 200;
807
+ SANITISE_PATTERNS = [
808
+ // EVM-style 20-byte hex addresses (e.g. `0x` + 40 hex chars).
809
+ { pattern: /0x[a-fA-F0-9]{40}/gu, replacement: "<addr>" },
810
+ // Other long hex blobs: tx hashes, signatures, raw byte strings, large
811
+ // hex amounts. 16+ hex chars catches 32-byte hashes/signatures without
812
+ // snagging EVM method selectors (8 chars) or short hex codes.
813
+ { pattern: /(?:0x)?[a-fA-F0-9]{16,}/gu, replacement: "<hex>" },
814
+ // URLs of any scheme up to the first whitespace / quote / closing paren.
815
+ // Catches RPC endpoints, dapp deeplinks, query strings with secrets.
816
+ { pattern: /https?:\/\/[^\s"')]+/gu, replacement: "<url>" },
817
+ // Bech32 addresses: short HRP (1-10 lowercase chars) + `1` separator +
818
+ // ≥38 chars of Bech32 data alphabet `[ac-hj-np-z02-9]` (excludes the
819
+ // look-alike chars `b`, `i`, `o`, `1`). Covers Bitcoin SegWit
820
+ // (`bc1…`/`tb1…`) and Cosmos-SDK chains (`cosmos1…`, `osmo1…`,
821
+ // `juno1…`, `inj1…`, etc.) without enumerating every HRP. Runs before
822
+ // the Base58 pattern below — see header comment for why.
823
+ {
824
+ pattern: /\b[a-z]{1,10}1[ac-hj-np-z02-9]{38,}\b/gu,
825
+ replacement: "<addr>"
826
+ },
827
+ // Base58 tokens (32+ chars, Base58 alphabet `[1-9A-HJ-NP-Za-km-z]`).
828
+ // Covers Solana pubkeys (32-44 chars), Solana tx signatures (~88 chars),
829
+ // and Bitcoin Base58 addresses ≥32 chars. The 32-char floor and `\b`
830
+ // word boundary keep English words and shorter alphanumerics safe.
831
+ {
832
+ pattern: /\b[1-9A-HJ-NP-Za-km-z]{32,}\b/gu,
833
+ replacement: "<addr>"
834
+ },
835
+ // Long decimal numbers — token amounts, gas units, timestamps, lamports.
836
+ // 10+ digits catches typical chain quantities without affecting JSON-RPC
837
+ // codes (-32601, 4001, etc.) or short numeric IDs.
838
+ { pattern: /\d{10,}/gu, replacement: "<num>" }
839
+ ];
728
840
  }
729
841
  });
730
842
 
@@ -1386,13 +1498,24 @@ var init_mwp = __esm({
1386
1498
  return resolveConnection();
1387
1499
  });
1388
1500
  this.dappClient.on("message", initialConnectionMessageHandler);
1501
+ const platformType = getPlatformType();
1502
+ const isQRCodeFlow = [
1503
+ "web-desktop" /* DesktopWeb */,
1504
+ "nodejs" /* NonBrowser */
1505
+ ].includes(platformType);
1506
+ const initialPayload = {
1507
+ name: MULTICHAIN_PROVIDER_STREAM_NAME,
1508
+ data: request
1509
+ };
1389
1510
  dappClient.connect({
1390
1511
  mode: "trusted",
1391
- initialPayload: {
1392
- name: MULTICHAIN_PROVIDER_STREAM_NAME,
1393
- data: request
1512
+ initialPayload: isQRCodeFlow ? void 0 : initialPayload
1513
+ }).then(() => __async(this, null, function* () {
1514
+ if (isQRCodeFlow) {
1515
+ return dappClient.sendRequest(initialPayload);
1394
1516
  }
1395
- }).catch((error) => {
1517
+ return void 0;
1518
+ })).catch((error) => {
1396
1519
  if (initialConnectionMessageHandler) {
1397
1520
  this.dappClient.off(
1398
1521
  "message",
@@ -2199,7 +2322,7 @@ withAnalyticsTracking_fn = function(options, execute) {
2199
2322
  if (isRejection) {
2200
2323
  yield __privateMethod(this, _RequestRouter_instances, trackWalletActionRejected_fn).call(this, options);
2201
2324
  } else {
2202
- yield __privateMethod(this, _RequestRouter_instances, trackWalletActionFailed_fn).call(this, options);
2325
+ yield __privateMethod(this, _RequestRouter_instances, trackWalletActionFailed_fn).call(this, options, error);
2203
2326
  }
2204
2327
  if (error instanceof RPCInvokeMethodErr) {
2205
2328
  throw error;
@@ -2234,13 +2357,14 @@ trackWalletActionSucceeded_fn = function(options) {
2234
2357
  analytics.track("mmconnect_wallet_action_succeeded", props);
2235
2358
  });
2236
2359
  };
2237
- trackWalletActionFailed_fn = function(options) {
2360
+ trackWalletActionFailed_fn = function(options, error) {
2238
2361
  return __async(this, null, function* () {
2239
2362
  const props = yield getWalletActionAnalyticsProperties(
2240
2363
  this.config,
2241
2364
  this.config.storage,
2242
2365
  options,
2243
- this.transportType
2366
+ this.transportType,
2367
+ extractErrorDiagnostics(error)
2244
2368
  );
2245
2369
  analytics.track("mmconnect_wallet_action_failed", props);
2246
2370
  });
@@ -2686,7 +2810,7 @@ var _MetaMaskConnectMultichain = class _MetaMaskConnectMultichain extends Multic
2686
2810
  versions: __spreadValues({
2687
2811
  // typeof guard needed: Metro (React Native) bundles TS source directly,
2688
2812
  // bypassing the tsup build that substitutes __PACKAGE_VERSION__.
2689
- "connect-multichain": false ? "unknown" : "0.13.0"
2813
+ "connect-multichain": false ? "unknown" : "0.14.0"
2690
2814
  }, (_f = options.versions) != null ? _f : {})
2691
2815
  });
2692
2816
  super(allOptions);
@@ -3388,9 +3512,9 @@ handleConnection_fn = function(promise, scopes, transportType) {
3388
3512
  transport_type: transportType
3389
3513
  }));
3390
3514
  } else {
3391
- analytics2.track("mmconnect_connection_failed", __spreadProps(__spreadValues({}, baseProps), {
3515
+ analytics2.track("mmconnect_connection_failed", __spreadValues(__spreadProps(__spreadValues({}, baseProps), {
3392
3516
  transport_type: transportType
3393
- }));
3517
+ }), extractErrorDiagnostics(error)));
3394
3518
  }
3395
3519
  } catch (e) {
3396
3520
  logger2("Error tracking connection failed/rejected event", error);
@@ -3830,6 +3954,7 @@ export {
3830
3954
  StoreAdapter,
3831
3955
  StoreClient,
3832
3956
  TransportType,
3957
+ classifyFailureReason,
3833
3958
  createLogger,
3834
3959
  createMultichainClient,
3835
3960
  enableDebug,