@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/es/connect-multichain.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":239958},"dist/browser/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":"buffer","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.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":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/analytics.ts":{"bytesInOutput":1626},"src/domain/utils/index.ts":{"bytesInOutput":151},"src/domain/index.ts":{"bytesInOutput":232},"src/multichain/utils/index.ts":{"bytesInOutput":9350},"src/multichain/transports/constants.ts":{"bytesInOutput":210},"src/multichain/transports/mwp/index.ts":{"bytesInOutput":27017},"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/polyfills/buffer-shim.ts":{"bytesInOutput":169},"src/index.browser.ts":{"bytesInOutput":766},"src/multichain/index.ts":{"bytesInOutput":34424},"src/config/index.ts":{"bytesInOutput":202},"src/multichain/rpc/handlers/rpcClient.ts":{"bytesInOutput":2978},"src/multichain/rpc/requestRouter.ts":{"bytesInOutput":5950},"src/multichain/transports/default/index.ts":{"bytesInOutput":9859},"src/multichain/transports/multichainApiClientWrapper/index.ts":{"bytesInOutput":5772},"src/store/index.ts":{"bytesInOutput":3358},"src/domain/errors/storage.ts":{"bytesInOutput":1201},"src/ui/ModalFactory.ts":{"bytesInOutput":5133},"src/ui/index.ts":{"bytesInOutput":510}},"bytes":145876}}}
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/es/connect-multichain.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":257433},"dist/browser/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":"buffer","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.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":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/analytics.ts":{"bytesInOutput":6837},"src/domain/utils/index.ts":{"bytesInOutput":151},"src/domain/index.ts":{"bytesInOutput":232},"src/multichain/utils/index.ts":{"bytesInOutput":9350},"src/multichain/transports/constants.ts":{"bytesInOutput":210},"src/multichain/transports/mwp/index.ts":{"bytesInOutput":27567},"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/polyfills/buffer-shim.ts":{"bytesInOutput":169},"src/index.browser.ts":{"bytesInOutput":766},"src/multichain/index.ts":{"bytesInOutput":34472},"src/config/index.ts":{"bytesInOutput":202},"src/multichain/rpc/handlers/rpcClient.ts":{"bytesInOutput":2978},"src/multichain/rpc/requestRouter.ts":{"bytesInOutput":6002},"src/multichain/transports/default/index.ts":{"bytesInOutput":9859},"src/multichain/transports/multichainApiClientWrapper/index.ts":{"bytesInOutput":5772},"src/store/index.ts":{"bytesInOutput":3358},"src/domain/errors/storage.ts":{"bytesInOutput":1201},"src/ui/ModalFactory.ts":{"bytesInOutput":5133},"src/ui/index.ts":{"bytesInOutput":510}},"bytes":151762}}}
@@ -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 };
@@ -17129,17 +17129,94 @@ var MetaMaskSDK = (() => {
17129
17129
  });
17130
17130
 
17131
17131
  // src/multichain/utils/analytics.ts
17132
+ function sanitiseErrorMessage(message) {
17133
+ if (!message) {
17134
+ return void 0;
17135
+ }
17136
+ let sanitised = message;
17137
+ for (const { pattern: pattern2, replacement } of SANITISE_PATTERNS) {
17138
+ sanitised = sanitised.replace(pattern2, replacement);
17139
+ }
17140
+ if (sanitised.length > ERROR_MESSAGE_SAMPLE_MAX_LENGTH) {
17141
+ sanitised = `${sanitised.slice(0, ERROR_MESSAGE_SAMPLE_MAX_LENGTH - 1)}\u2026`;
17142
+ }
17143
+ return sanitised;
17144
+ }
17145
+ function getUnwrappedErrorDetails(error) {
17146
+ var _a4, _b, _c, _d;
17147
+ if (typeof error !== "object" || error === null) {
17148
+ return { code: void 0, message: "" };
17149
+ }
17150
+ if (error instanceof RPCInvokeMethodErr) {
17151
+ return {
17152
+ code: (_a4 = error.rpcCode) != null ? _a4 : error.code,
17153
+ message: (_c = (_b = error.rpcMessage) != null ? _b : error.message) != null ? _c : ""
17154
+ };
17155
+ }
17156
+ const errorObj = error;
17157
+ return {
17158
+ code: errorObj.code,
17159
+ message: (_d = errorObj.message) != null ? _d : ""
17160
+ };
17161
+ }
17132
17162
  function isRejectionError(error) {
17133
- var _a4, _b;
17134
17163
  if (typeof error !== "object" || error === null) {
17135
17164
  return false;
17136
17165
  }
17166
+ const { code, message } = getUnwrappedErrorDetails(error);
17167
+ const errorMessage = message.toLowerCase();
17168
+ return code === 4001 || errorMessage.includes("reject") || errorMessage.includes("denied") || errorMessage.includes("cancel") || // Narrow "user …" matches — bare "user" is too greedy (catches Account
17169
+ // Abstraction errors like "user operation reverted").
17170
+ errorMessage.includes("user rejected") || errorMessage.includes("user denied") || errorMessage.includes("user cancelled") || errorMessage.includes("user canceled");
17171
+ }
17172
+ function classifyFailureReason(error) {
17173
+ var _a4, _b;
17174
+ if (typeof error !== "object" || error === null) {
17175
+ return "unknown";
17176
+ }
17137
17177
  const errorObj = error;
17138
- const errorCode = errorObj.code;
17139
- const errorMessage = (_b = (_a4 = errorObj.message) == null ? void 0 : _a4.toLowerCase()) != null ? _b : "";
17140
- return errorCode === 4001 || // User rejected request (common EIP-1193 code)
17141
- errorCode === 4100 || // Unauthorized (common rejection code)
17142
- errorMessage.includes("reject") || errorMessage.includes("denied") || errorMessage.includes("cancel") || errorMessage.includes("user");
17178
+ const errorName = (_a4 = errorObj.name) != null ? _a4 : "";
17179
+ const errorMessageRaw = (_b = errorObj.message) != null ? _b : "";
17180
+ const errorMessage = errorMessageRaw.toLowerCase();
17181
+ const { code } = getUnwrappedErrorDetails(error);
17182
+ if (typeof code === "number") {
17183
+ if (code === -32601) {
17184
+ return "wallet_method_unsupported";
17185
+ }
17186
+ if (code === -32602) {
17187
+ return "wallet_invalid_params";
17188
+ }
17189
+ if (code === -32603) {
17190
+ return "wallet_internal_error";
17191
+ }
17192
+ if (code <= -32e3 && code >= -32099) {
17193
+ return "wallet_internal_error";
17194
+ }
17195
+ if (code === 4100) {
17196
+ return "wallet_unauthorized";
17197
+ }
17198
+ if (code === 4200) {
17199
+ return "wallet_method_unsupported";
17200
+ }
17201
+ if (code === 4902) {
17202
+ return "unrecognized_chain";
17203
+ }
17204
+ }
17205
+ if (errorName === "TransportTimeoutError" || errorMessageRaw === "Request timeout" || errorMessage.includes("timed out") || errorMessage.includes("timeout")) {
17206
+ return "transport_timeout";
17207
+ }
17208
+ if (errorName === "TransportError" || errorMessage.includes("not connected") || errorMessage.includes("transport disconnect") || errorMessage.includes("connection lost") || errorMessage.includes("socket closed")) {
17209
+ return "transport_disconnect";
17210
+ }
17211
+ return "unknown";
17212
+ }
17213
+ function extractErrorDiagnostics(error) {
17214
+ const failureReason = classifyFailureReason(error);
17215
+ const { code, message } = getUnwrappedErrorDetails(error);
17216
+ const messageSample = sanitiseErrorMessage(message);
17217
+ return __spreadValues(__spreadValues({
17218
+ failure_reason: failureReason
17219
+ }, typeof code === "number" ? { error_code: code } : {}), messageSample ? { error_message_sample: messageSample } : {});
17143
17220
  }
17144
17221
  function getBaseAnalyticsProperties(options, storage) {
17145
17222
  return __async(this, null, function* () {
@@ -17155,26 +17232,61 @@ var MetaMaskSDK = (() => {
17155
17232
  };
17156
17233
  });
17157
17234
  }
17158
- function getWalletActionAnalyticsProperties(options, storage, invokeOptions, transportType) {
17235
+ function getWalletActionAnalyticsProperties(options, storage, invokeOptions, transportType, extra) {
17159
17236
  return __async(this, null, function* () {
17160
17237
  var _a4;
17161
17238
  const dappId = getDappId(options.dapp);
17162
17239
  const anonId = yield storage.getAnonId();
17163
- return {
17240
+ return __spreadValues(__spreadValues(__spreadValues({
17164
17241
  mmconnect_versions: (_a4 = options.versions) != null ? _a4 : {},
17165
17242
  dapp_id: dappId,
17166
17243
  method: invokeOptions.request.method,
17167
17244
  caip_chain_id: invokeOptions.scope,
17168
17245
  anon_id: anonId,
17169
17246
  transport_type: transportType
17170
- };
17247
+ }, (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 } : {});
17171
17248
  });
17172
17249
  }
17250
+ var ERROR_MESSAGE_SAMPLE_MAX_LENGTH, SANITISE_PATTERNS;
17173
17251
  var init_analytics = __esm({
17174
17252
  "src/multichain/utils/analytics.ts"() {
17175
17253
  "use strict";
17176
17254
  init_utils4();
17177
17255
  init_domain();
17256
+ ERROR_MESSAGE_SAMPLE_MAX_LENGTH = 200;
17257
+ SANITISE_PATTERNS = [
17258
+ // EVM-style 20-byte hex addresses (e.g. `0x` + 40 hex chars).
17259
+ { pattern: /0x[a-fA-F0-9]{40}/gu, replacement: "<addr>" },
17260
+ // Other long hex blobs: tx hashes, signatures, raw byte strings, large
17261
+ // hex amounts. 16+ hex chars catches 32-byte hashes/signatures without
17262
+ // snagging EVM method selectors (8 chars) or short hex codes.
17263
+ { pattern: /(?:0x)?[a-fA-F0-9]{16,}/gu, replacement: "<hex>" },
17264
+ // URLs of any scheme up to the first whitespace / quote / closing paren.
17265
+ // Catches RPC endpoints, dapp deeplinks, query strings with secrets.
17266
+ { pattern: /https?:\/\/[^\s"')]+/gu, replacement: "<url>" },
17267
+ // Bech32 addresses: short HRP (1-10 lowercase chars) + `1` separator +
17268
+ // ≥38 chars of Bech32 data alphabet `[ac-hj-np-z02-9]` (excludes the
17269
+ // look-alike chars `b`, `i`, `o`, `1`). Covers Bitcoin SegWit
17270
+ // (`bc1…`/`tb1…`) and Cosmos-SDK chains (`cosmos1…`, `osmo1…`,
17271
+ // `juno1…`, `inj1…`, etc.) without enumerating every HRP. Runs before
17272
+ // the Base58 pattern below — see header comment for why.
17273
+ {
17274
+ pattern: /\b[a-z]{1,10}1[ac-hj-np-z02-9]{38,}\b/gu,
17275
+ replacement: "<addr>"
17276
+ },
17277
+ // Base58 tokens (32+ chars, Base58 alphabet `[1-9A-HJ-NP-Za-km-z]`).
17278
+ // Covers Solana pubkeys (32-44 chars), Solana tx signatures (~88 chars),
17279
+ // and Bitcoin Base58 addresses ≥32 chars. The 32-char floor and `\b`
17280
+ // word boundary keep English words and shorter alphanumerics safe.
17281
+ {
17282
+ pattern: /\b[1-9A-HJ-NP-Za-km-z]{32,}\b/gu,
17283
+ replacement: "<addr>"
17284
+ },
17285
+ // Long decimal numbers — token amounts, gas units, timestamps, lamports.
17286
+ // 10+ digits catches typical chain quantities without affecting JSON-RPC
17287
+ // codes (-32601, 4001, etc.) or short numeric IDs.
17288
+ { pattern: /\d{10,}/gu, replacement: "<num>" }
17289
+ ];
17178
17290
  }
17179
17291
  });
17180
17292
 
@@ -25977,13 +26089,24 @@ var MetaMaskSDK = (() => {
25977
26089
  return resolveConnection();
25978
26090
  });
25979
26091
  this.dappClient.on("message", initialConnectionMessageHandler);
26092
+ const platformType = getPlatformType();
26093
+ const isQRCodeFlow = [
26094
+ "web-desktop" /* DesktopWeb */,
26095
+ "nodejs" /* NonBrowser */
26096
+ ].includes(platformType);
26097
+ const initialPayload = {
26098
+ name: MULTICHAIN_PROVIDER_STREAM_NAME,
26099
+ data: request2
26100
+ };
25980
26101
  dappClient.connect({
25981
26102
  mode: "trusted",
25982
- initialPayload: {
25983
- name: MULTICHAIN_PROVIDER_STREAM_NAME,
25984
- data: request2
26103
+ initialPayload: isQRCodeFlow ? void 0 : initialPayload
26104
+ }).then(() => __async(this, null, function* () {
26105
+ if (isQRCodeFlow) {
26106
+ return dappClient.sendRequest(initialPayload);
25985
26107
  }
25986
- }).catch((error) => {
26108
+ return void 0;
26109
+ })).catch((error) => {
25987
26110
  if (initialConnectionMessageHandler) {
25988
26111
  this.dappClient.off(
25989
26112
  "message",
@@ -37771,6 +37894,7 @@ ${new this._window.XMLSerializer().serializeToString(e3)}`;
37771
37894
  StoreAdapter: () => StoreAdapter,
37772
37895
  StoreClient: () => StoreClient,
37773
37896
  TransportType: () => TransportType,
37897
+ classifyFailureReason: () => classifyFailureReason,
37774
37898
  createLogger: () => createLogger,
37775
37899
  createMultichainClient: () => createMultichainClient,
37776
37900
  enableDebug: () => enableDebug,
@@ -38622,7 +38746,7 @@ ${new this._window.XMLSerializer().serializeToString(e3)}`;
38622
38746
  if (isRejection) {
38623
38747
  yield __privateMethod(this, _RequestRouter_instances, trackWalletActionRejected_fn).call(this, options);
38624
38748
  } else {
38625
- yield __privateMethod(this, _RequestRouter_instances, trackWalletActionFailed_fn).call(this, options);
38749
+ yield __privateMethod(this, _RequestRouter_instances, trackWalletActionFailed_fn).call(this, options, error);
38626
38750
  }
38627
38751
  if (error instanceof RPCInvokeMethodErr) {
38628
38752
  throw error;
@@ -38657,13 +38781,14 @@ ${new this._window.XMLSerializer().serializeToString(e3)}`;
38657
38781
  analytics.track("mmconnect_wallet_action_succeeded", props);
38658
38782
  });
38659
38783
  };
38660
- trackWalletActionFailed_fn = function(options) {
38784
+ trackWalletActionFailed_fn = function(options, error) {
38661
38785
  return __async(this, null, function* () {
38662
38786
  const props = yield getWalletActionAnalyticsProperties(
38663
38787
  this.config,
38664
38788
  this.config.storage,
38665
38789
  options,
38666
- this.transportType
38790
+ this.transportType,
38791
+ extractErrorDiagnostics(error)
38667
38792
  );
38668
38793
  analytics.track("mmconnect_wallet_action_failed", props);
38669
38794
  });
@@ -39107,7 +39232,7 @@ ${new this._window.XMLSerializer().serializeToString(e3)}`;
39107
39232
  versions: __spreadValues({
39108
39233
  // typeof guard needed: Metro (React Native) bundles TS source directly,
39109
39234
  // bypassing the tsup build that substitutes __PACKAGE_VERSION__.
39110
- "connect-multichain": false ? "unknown" : "0.13.0"
39235
+ "connect-multichain": false ? "unknown" : "0.14.0"
39111
39236
  }, (_f = options.versions) != null ? _f : {})
39112
39237
  });
39113
39238
  super(allOptions);
@@ -39809,9 +39934,9 @@ ${new this._window.XMLSerializer().serializeToString(e3)}`;
39809
39934
  transport_type: transportType
39810
39935
  }));
39811
39936
  } else {
39812
- analytics.track("mmconnect_connection_failed", __spreadProps(__spreadValues({}, baseProps), {
39937
+ analytics.track("mmconnect_connection_failed", __spreadValues(__spreadProps(__spreadValues({}, baseProps), {
39813
39938
  transport_type: transportType
39814
- }));
39939
+ }), extractErrorDiagnostics(error)));
39815
39940
  }
39816
39941
  } catch (e) {
39817
39942
  logger2("Error tracking connection failed/rejected event", error);