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