@metamask/connect-multichain 0.8.0 → 0.10.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 (58) hide show
  1. package/CHANGELOG.md +32 -1
  2. package/README.md +38 -25
  3. package/dist/browser/es/connect-multichain.d.mts +31 -8
  4. package/dist/browser/es/connect-multichain.mjs +87 -68
  5. package/dist/browser/es/connect-multichain.mjs.map +1 -1
  6. package/dist/browser/es/metafile-esm.json +1 -1
  7. package/dist/browser/iife/connect-multichain.d.ts +31 -8
  8. package/dist/browser/iife/connect-multichain.js +100 -84
  9. package/dist/browser/iife/connect-multichain.js.map +1 -1
  10. package/dist/browser/iife/metafile-iife.json +1 -1
  11. package/dist/browser/umd/connect-multichain.d.ts +31 -8
  12. package/dist/browser/umd/connect-multichain.js +87 -68
  13. package/dist/browser/umd/connect-multichain.js.map +1 -1
  14. package/dist/browser/umd/metafile-cjs.json +1 -1
  15. package/dist/node/cjs/connect-multichain.d.ts +31 -8
  16. package/dist/node/cjs/connect-multichain.js +87 -67
  17. package/dist/node/cjs/connect-multichain.js.map +1 -1
  18. package/dist/node/cjs/metafile-cjs.json +1 -1
  19. package/dist/node/es/connect-multichain.d.mts +31 -8
  20. package/dist/node/es/connect-multichain.mjs +87 -67
  21. package/dist/node/es/connect-multichain.mjs.map +1 -1
  22. package/dist/node/es/metafile-esm.json +1 -1
  23. package/dist/react-native/es/connect-multichain.d.mts +31 -8
  24. package/dist/react-native/es/connect-multichain.mjs +87 -67
  25. package/dist/react-native/es/connect-multichain.mjs.map +1 -1
  26. package/dist/react-native/es/metafile-esm.json +1 -1
  27. package/dist/src/domain/multichain/api/infura.d.ts +13 -1
  28. package/dist/src/domain/multichain/api/infura.d.ts.map +1 -1
  29. package/dist/src/domain/multichain/api/infura.js +17 -5
  30. package/dist/src/domain/multichain/api/infura.js.map +1 -1
  31. package/dist/src/domain/multichain/index.d.ts +1 -1
  32. package/dist/src/domain/multichain/index.d.ts.map +1 -1
  33. package/dist/src/domain/multichain/index.js +3 -3
  34. package/dist/src/domain/multichain/index.js.map +1 -1
  35. package/dist/src/domain/multichain/types.d.ts +12 -1
  36. package/dist/src/domain/multichain/types.d.ts.map +1 -1
  37. package/dist/src/multichain/index.d.ts.map +1 -1
  38. package/dist/src/multichain/index.js +24 -17
  39. package/dist/src/multichain/index.js.map +1 -1
  40. package/dist/src/multichain/rpc/requestRouter.d.ts +3 -2
  41. package/dist/src/multichain/rpc/requestRouter.d.ts.map +1 -1
  42. package/dist/src/multichain/rpc/requestRouter.js +14 -15
  43. package/dist/src/multichain/rpc/requestRouter.js.map +1 -1
  44. package/dist/src/multichain/transports/default/index.d.ts.map +1 -1
  45. package/dist/src/multichain/transports/default/index.js +7 -1
  46. package/dist/src/multichain/transports/default/index.js.map +1 -1
  47. package/dist/src/multichain/utils/analytics.d.ts +6 -6
  48. package/dist/src/multichain/utils/analytics.d.ts.map +1 -1
  49. package/dist/src/multichain/utils/analytics.js +8 -12
  50. package/dist/src/multichain/utils/analytics.js.map +1 -1
  51. package/dist/src/ui/ModalFactory.d.ts.map +1 -1
  52. package/dist/src/ui/ModalFactory.js +1 -3
  53. package/dist/src/ui/ModalFactory.js.map +1 -1
  54. package/dist/src/ui/modals/web/install.d.ts.map +1 -1
  55. package/dist/src/ui/modals/web/install.js +0 -1
  56. package/dist/src/ui/modals/web/install.js.map +1 -1
  57. package/dist/types/connect-multichain.d.ts +31 -8
  58. package/package.json +3 -3
@@ -1 +1 @@
1
- {"inputs":{"src/domain/errors/base.ts":{"bytes":387,"imports":[],"format":"esm"},"src/domain/errors/rpc.ts":{"bytes":1371,"imports":[{"path":"src/domain/errors/base.ts","kind":"import-statement","original":"./base"}],"format":"esm"},"src/domain/errors/index.ts":{"bytes":53,"imports":[{"path":"src/domain/errors/rpc.ts","kind":"import-statement","original":"./rpc"}],"format":"esm"},"src/domain/events/index.ts":{"bytes":4099,"imports":[{"path":"eventemitter3","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/domain/logger/index.ts":{"bytes":3283,"imports":[{"path":"debug","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/domain/multichain/api/constants.ts":{"bytes":3314,"imports":[],"format":"esm"},"src/domain/multichain/api/infura.ts":{"bytes":419,"imports":[{"path":"src/domain/multichain/api/constants.ts","kind":"import-statement","original":"./constants"}],"format":"esm"},"src/domain/multichain/index.ts":{"bytes":4045,"imports":[{"path":"src/domain/events/index.ts","kind":"import-statement","original":"../events"},{"path":"src/domain/multichain/api/constants.ts","kind":"import-statement","original":"./api/constants"},{"path":"src/domain/multichain/api/infura.ts","kind":"import-statement","original":"./api/infura"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/domain/platform/index.ts":{"bytes":3557,"imports":[{"path":"bowser","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/domain/store/adapter.ts":{"bytes":485,"imports":[],"format":"esm"},"src/domain/store/client.ts":{"bytes":711,"imports":[],"format":"esm"},"src/domain/store/index.ts":{"bytes":53,"imports":[{"path":"src/domain/store/adapter.ts","kind":"import-statement","original":"./adapter"},{"path":"src/domain/store/client.ts","kind":"import-statement","original":"./client"}],"format":"esm"},"src/domain/ui/types.ts":{"bytes":2306,"imports":[],"format":"esm"},"src/domain/ui/index.ts":{"bytes":57,"imports":[{"path":"src/domain/ui/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/multichain/utils/index.ts":{"bytes":14504,"imports":[{"path":"@metamask/utils","kind":"import-statement","external":true},{"path":"pako","kind":"import-statement","external":true},{"path":"src/domain/index.ts","kind":"import-statement","original":"../../domain"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/utils/analytics.ts":{"bytes":3213,"imports":[{"path":"src/multichain/utils/index.ts","kind":"import-statement","original":"."},{"path":"src/domain/index.ts","kind":"import-statement","original":"../../domain"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/domain/utils/index.ts":{"bytes":274,"imports":[{"path":"src/multichain/utils/analytics.ts","kind":"import-statement","original":"../../multichain/utils/analytics"}],"format":"esm"},"src/domain/index.ts":{"bytes":208,"imports":[{"path":"src/domain/errors/index.ts","kind":"import-statement","original":"./errors"},{"path":"src/domain/events/index.ts","kind":"import-statement","original":"./events"},{"path":"src/domain/logger/index.ts","kind":"import-statement","original":"./logger"},{"path":"src/domain/multichain/index.ts","kind":"import-statement","original":"./multichain"},{"path":"src/domain/platform/index.ts","kind":"import-statement","original":"./platform"},{"path":"src/domain/store/index.ts","kind":"import-statement","original":"./store"},{"path":"src/domain/ui/index.ts","kind":"import-statement","original":"./ui"},{"path":"src/domain/utils/index.ts","kind":"import-statement","original":"./utils"}],"format":"esm"},"src/config/index.ts":{"bytes":232,"imports":[],"format":"esm"},"src/multichain/rpc/handlers/rpcClient.ts":{"bytes":3662,"imports":[{"path":"cross-fetch","kind":"import-statement","external":true},{"path":"src/domain/index.ts","kind":"import-statement","original":"../../../domain"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/rpc/requestRouter.ts":{"bytes":6765,"imports":[{"path":"@metamask/analytics","kind":"import-statement","external":true},{"path":"src/config/index.ts","kind":"import-statement","original":"../../config"},{"path":"src/domain/index.ts","kind":"import-statement","original":"../../domain"},{"path":"src/multichain/utils/index.ts","kind":"import-statement","original":"../utils"},{"path":"src/multichain/utils/analytics.ts","kind":"import-statement","original":"../utils/analytics"},{"path":"src/multichain/rpc/handlers/rpcClient.ts","kind":"import-statement","original":"./handlers/rpcClient"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/transports/default/index.ts":{"bytes":9560,"imports":[{"path":"@metamask/multichain-api-client","kind":"import-statement","external":true},{"path":"src/multichain/utils/index.ts","kind":"import-statement","original":"../../utils"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/transports/multichainApiClientWrapper/index.ts":{"bytes":5710,"imports":[{"path":"@metamask/rpc-errors","kind":"import-statement","external":true},{"path":"src/multichain/utils/index.ts","kind":"import-statement","original":"../../utils"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/transports/constants.ts":{"bytes":145,"imports":[],"format":"esm"},"src/multichain/transports/mwp/index.ts":{"bytes":28913,"imports":[{"path":"@metamask/mobile-wallet-protocol-core","kind":"import-statement","external":true},{"path":"@metamask/multichain-api-client","kind":"import-statement","external":true},{"path":"@metamask/rpc-errors","kind":"import-statement","external":true},{"path":"src/domain/index.ts","kind":"import-statement","original":"../../../domain"},{"path":"src/multichain/utils/index.ts","kind":"import-statement","original":"../../utils"},{"path":"src/multichain/transports/constants.ts","kind":"import-statement","original":"../constants"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/transports/mwp/KeyManager.ts":{"bytes":1328,"imports":[{"path":"eciesjs","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/index.ts":{"bytes":34194,"imports":[{"path":"@metamask/analytics","kind":"import-statement","external":true},{"path":"@metamask/mobile-wallet-protocol-core","kind":"import-statement","external":true},{"path":"@metamask/mobile-wallet-protocol-dapp-client","kind":"import-statement","external":true},{"path":"@metamask/multichain-api-client","kind":"import-statement","external":true},{"path":"src/config/index.ts","kind":"import-statement","original":"../config"},{"path":"src/domain/index.ts","kind":"import-statement","original":"../domain"},{"path":"src/multichain/utils/analytics.ts","kind":"import-statement","original":"./utils/analytics"},{"path":"src/domain/logger/index.ts","kind":"import-statement","original":"../domain/logger"},{"path":"src/domain/multichain/index.ts","kind":"import-statement","original":"../domain/multichain"},{"path":"src/domain/platform/index.ts","kind":"import-statement","original":"../domain/platform"},{"path":"src/multichain/rpc/handlers/rpcClient.ts","kind":"import-statement","original":"./rpc/handlers/rpcClient"},{"path":"src/multichain/rpc/requestRouter.ts","kind":"import-statement","original":"./rpc/requestRouter"},{"path":"src/multichain/transports/default/index.ts","kind":"import-statement","original":"./transports/default"},{"path":"src/multichain/transports/multichainApiClientWrapper/index.ts","kind":"import-statement","original":"./transports/multichainApiClientWrapper"},{"path":"src/multichain/transports/mwp/index.ts","kind":"import-statement","original":"./transports/mwp"},{"path":"src/multichain/transports/mwp/KeyManager.ts","kind":"import-statement","original":"./transports/mwp/KeyManager"},{"path":"src/multichain/utils/index.ts","kind":"import-statement","original":"./utils"},{"path":"src/domain/multichain/api/infura.ts","kind":"import-statement","original":"../domain/multichain/api/infura"},{"path":"ws","kind":"dynamic-import","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/domain/errors/storage.ts":{"bytes":1351,"imports":[{"path":"src/domain/errors/base.ts","kind":"import-statement","original":"./base"}],"format":"esm"},"src/store/index.ts":{"bytes":3341,"imports":[{"path":"uuid","kind":"import-statement","external":true},{"path":"src/domain/errors/storage.ts","kind":"import-statement","original":"../domain/errors/storage"},{"path":"src/domain/multichain/index.ts","kind":"import-statement","original":"../domain/multichain"},{"path":"src/domain/store/client.ts","kind":"import-statement","original":"../domain/store/client"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/ui/ModalFactory.ts":{"bytes":6429,"imports":[{"path":"@metamask/onboarding","kind":"import-statement","external":true},{"path":"src/config/index.ts","kind":"import-statement","original":"../config"},{"path":"src/domain/index.ts","kind":"import-statement","original":"../domain"},{"path":"src/multichain/utils/index.ts","kind":"import-statement","original":"../multichain/utils"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/ui/index.ts":{"bytes":1000,"imports":[{"path":"src/ui/ModalFactory.ts","kind":"import-statement","original":"./ModalFactory"},{"path":"@metamask/multichain-ui/loader","kind":"dynamic-import","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/ui/modals/base/utils.ts":{"bytes":1303,"imports":[],"format":"esm"},"src/ui/modals/base/AbstractInstallModal.ts":{"bytes":3582,"imports":[{"path":"src/ui/modals/base/utils.ts","kind":"import-statement","original":"./utils"},{"path":"src/domain/index.ts","kind":"import-statement","original":"../../../domain"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/ui/modals/node/install.ts":{"bytes":1866,"imports":[{"path":"@paulmillr/qr","kind":"import-statement","external":true},{"path":"src/domain/index.ts","kind":"import-statement","original":"../../../domain"},{"path":"src/ui/modals/base/AbstractInstallModal.ts","kind":"import-statement","original":"../base/AbstractInstallModal"},{"path":"src/ui/modals/base/utils.ts","kind":"import-statement","original":"../base/utils"}],"format":"esm"},"src/ui/modals/base/AbstractOTPModal.ts":{"bytes":451,"imports":[{"path":"src/domain/index.ts","kind":"import-statement","original":"../../../domain"}],"format":"esm"},"src/ui/modals/node/otp.ts":{"bytes":395,"imports":[{"path":"src/ui/modals/base/AbstractOTPModal.ts","kind":"import-statement","original":"../base/AbstractOTPModal"}],"format":"esm"},"src/ui/modals/node/index.ts":{"bytes":80,"imports":[{"path":"src/ui/modals/node/install.ts","kind":"import-statement","original":"./install"},{"path":"src/ui/modals/node/otp.ts","kind":"import-statement","original":"./otp"}],"format":"esm"},"src/store/adapters/node.ts":{"bytes":458,"imports":[{"path":"src/domain/index.ts","kind":"import-statement","original":"../../domain"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/index.node.ts":{"bytes":888,"imports":[{"path":"src/domain/index.ts","kind":"import-statement","original":"./domain"},{"path":"src/multichain/index.ts","kind":"import-statement","original":"./multichain"},{"path":"src/store/index.ts","kind":"import-statement","original":"./store"},{"path":"src/ui/index.ts","kind":"import-statement","original":"./ui"},{"path":"src/domain/index.ts","kind":"import-statement","original":"./domain"},{"path":"src/ui/modals/node/index.ts","kind":"dynamic-import","original":"./ui/modals/node"},{"path":"src/store/adapters/node.ts","kind":"dynamic-import","original":"./store/adapters/node"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/node/es/connect-multichain.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":227420},"dist/node/es/connect-multichain.mjs":{"imports":[{"path":"eventemitter3","kind":"import-statement","external":true},{"path":"debug","kind":"import-statement","external":true},{"path":"bowser","kind":"import-statement","external":true},{"path":"@metamask/utils","kind":"import-statement","external":true},{"path":"pako","kind":"import-statement","external":true},{"path":"@paulmillr/qr","kind":"import-statement","external":true},{"path":"@metamask/analytics","kind":"import-statement","external":true},{"path":"@metamask/mobile-wallet-protocol-core","kind":"import-statement","external":true},{"path":"@metamask/mobile-wallet-protocol-dapp-client","kind":"import-statement","external":true},{"path":"@metamask/multichain-api-client","kind":"import-statement","external":true},{"path":"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":"import-statement","external":true},{"path":"@metamask/multichain-api-client","kind":"import-statement","external":true},{"path":"@metamask/rpc-errors","kind":"import-statement","external":true},{"path":"eciesjs","kind":"import-statement","external":true},{"path":"ws","kind":"dynamic-import","external":true},{"path":"uuid","kind":"import-statement","external":true},{"path":"@metamask/onboarding","kind":"import-statement","external":true},{"path":"@metamask/multichain-ui/loader","kind":"dynamic-import","external":true}],"exports":["EventEmitter","Modal","MultichainCore","PlatformType","RPCHttpErr","RPCInvokeMethodErr","RPCReadonlyRequestErr","RPCReadonlyResponseErr","RPC_HANDLED_METHODS","SDK_HANDLED_METHODS","StoreAdapter","StoreClient","TransportType","createLogger","createMultichainClient","enableDebug","getInfuraRpcUrls","getPlatformType","getTransportType","getVersion","getWalletActionAnalyticsProperties","hasExtension","infuraRpcUrls","isEnabled","isMetamaskExtensionInstalled","isRejectionError","isSecure"],"entryPoint":"src/index.node.ts","inputs":{"src/domain/errors/base.ts":{"bytesInOutput":265},"src/domain/errors/rpc.ts":{"bytesInOutput":1861},"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":3681},"src/domain/multichain/api/infura.ts":{"bytesInOutput":338},"src/domain/multichain/index.ts":{"bytesInOutput":2727},"src/domain/platform/index.ts":{"bytesInOutput":3793},"src/domain/store/adapter.ts":{"bytesInOutput":210},"src/domain/store/client.ts":{"bytesInOutput":137},"src/domain/store/index.ts":{"bytesInOutput":124},"src/domain/ui/types.ts":{"bytesInOutput":994},"src/domain/ui/index.ts":{"bytesInOutput":97},"src/multichain/utils/index.ts":{"bytesInOutput":9349},"src/multichain/utils/analytics.ts":{"bytesInOutput":1923},"src/domain/utils/index.ts":{"bytesInOutput":152},"src/domain/index.ts":{"bytesInOutput":233},"src/ui/modals/base/utils.ts":{"bytesInOutput":640},"src/ui/modals/base/AbstractInstallModal.ts":{"bytesInOutput":3328},"src/ui/modals/node/install.ts":{"bytesInOutput":1725},"src/ui/modals/base/AbstractOTPModal.ts":{"bytesInOutput":470},"src/ui/modals/node/otp.ts":{"bytesInOutput":243},"src/ui/modals/node/index.ts":{"bytesInOutput":245},"src/store/adapters/node.ts":{"bytesInOutput":962},"src/index.node.ts":{"bytesInOutput":773},"src/multichain/index.ts":{"bytesInOutput":32730},"src/config/index.ts":{"bytesInOutput":202},"src/multichain/rpc/handlers/rpcClient.ts":{"bytesInOutput":2978},"src/multichain/rpc/requestRouter.ts":{"bytesInOutput":5786},"src/multichain/transports/default/index.ts":{"bytesInOutput":9734},"src/multichain/transports/multichainApiClientWrapper/index.ts":{"bytesInOutput":5656},"src/multichain/transports/mwp/index.ts":{"bytesInOutput":24024},"src/multichain/transports/constants.ts":{"bytesInOutput":70},"src/multichain/transports/mwp/KeyManager.ts":{"bytesInOutput":989},"src/store/index.ts":{"bytesInOutput":3358},"src/domain/errors/storage.ts":{"bytesInOutput":1201},"src/ui/ModalFactory.ts":{"bytesInOutput":5200},"src/ui/index.ts":{"bytesInOutput":510}},"bytes":135687}}}
1
+ {"inputs":{"src/domain/errors/base.ts":{"bytes":387,"imports":[],"format":"esm"},"src/domain/errors/rpc.ts":{"bytes":1371,"imports":[{"path":"src/domain/errors/base.ts","kind":"import-statement","original":"./base"}],"format":"esm"},"src/domain/errors/index.ts":{"bytes":53,"imports":[{"path":"src/domain/errors/rpc.ts","kind":"import-statement","original":"./rpc"}],"format":"esm"},"src/domain/events/index.ts":{"bytes":4099,"imports":[{"path":"eventemitter3","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/domain/logger/index.ts":{"bytes":3283,"imports":[{"path":"debug","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/domain/multichain/api/constants.ts":{"bytes":3314,"imports":[],"format":"esm"},"src/domain/multichain/api/infura.ts":{"bytes":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":3557,"imports":[{"path":"bowser","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/domain/store/adapter.ts":{"bytes":485,"imports":[],"format":"esm"},"src/domain/store/client.ts":{"bytes":711,"imports":[],"format":"esm"},"src/domain/store/index.ts":{"bytes":53,"imports":[{"path":"src/domain/store/adapter.ts","kind":"import-statement","original":"./adapter"},{"path":"src/domain/store/client.ts","kind":"import-statement","original":"./client"}],"format":"esm"},"src/domain/ui/types.ts":{"bytes":2306,"imports":[],"format":"esm"},"src/domain/ui/index.ts":{"bytes":57,"imports":[{"path":"src/domain/ui/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/multichain/utils/index.ts":{"bytes":14504,"imports":[{"path":"@metamask/utils","kind":"import-statement","external":true},{"path":"pako","kind":"import-statement","external":true},{"path":"src/domain/index.ts","kind":"import-statement","original":"../../domain"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/utils/analytics.ts":{"bytes":2967,"imports":[{"path":"src/multichain/utils/index.ts","kind":"import-statement","original":"."},{"path":"src/domain/index.ts","kind":"import-statement","original":"../../domain"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/domain/utils/index.ts":{"bytes":274,"imports":[{"path":"src/multichain/utils/analytics.ts","kind":"import-statement","original":"../../multichain/utils/analytics"}],"format":"esm"},"src/domain/index.ts":{"bytes":208,"imports":[{"path":"src/domain/errors/index.ts","kind":"import-statement","original":"./errors"},{"path":"src/domain/events/index.ts","kind":"import-statement","original":"./events"},{"path":"src/domain/logger/index.ts","kind":"import-statement","original":"./logger"},{"path":"src/domain/multichain/index.ts","kind":"import-statement","original":"./multichain"},{"path":"src/domain/platform/index.ts","kind":"import-statement","original":"./platform"},{"path":"src/domain/store/index.ts","kind":"import-statement","original":"./store"},{"path":"src/domain/ui/index.ts","kind":"import-statement","original":"./ui"},{"path":"src/domain/utils/index.ts","kind":"import-statement","original":"./utils"}],"format":"esm"},"src/config/index.ts":{"bytes":232,"imports":[],"format":"esm"},"src/multichain/rpc/handlers/rpcClient.ts":{"bytes":3662,"imports":[{"path":"cross-fetch","kind":"import-statement","external":true},{"path":"src/domain/index.ts","kind":"import-statement","original":"../../../domain"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/rpc/requestRouter.ts":{"bytes":6856,"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":9976,"imports":[{"path":"@metamask/multichain-api-client","kind":"import-statement","external":true},{"path":"src/multichain/utils/index.ts","kind":"import-statement","original":"../../utils"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/transports/multichainApiClientWrapper/index.ts":{"bytes":5710,"imports":[{"path":"@metamask/rpc-errors","kind":"import-statement","external":true},{"path":"src/multichain/utils/index.ts","kind":"import-statement","original":"../../utils"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/transports/constants.ts":{"bytes":145,"imports":[],"format":"esm"},"src/multichain/transports/mwp/index.ts":{"bytes":28913,"imports":[{"path":"@metamask/mobile-wallet-protocol-core","kind":"import-statement","external":true},{"path":"@metamask/multichain-api-client","kind":"import-statement","external":true},{"path":"@metamask/rpc-errors","kind":"import-statement","external":true},{"path":"src/domain/index.ts","kind":"import-statement","original":"../../../domain"},{"path":"src/multichain/utils/index.ts","kind":"import-statement","original":"../../utils"},{"path":"src/multichain/transports/constants.ts","kind":"import-statement","original":"../constants"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/transports/mwp/KeyManager.ts":{"bytes":1328,"imports":[{"path":"eciesjs","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/index.ts":{"bytes":34841,"imports":[{"path":"@metamask/analytics","kind":"import-statement","external":true},{"path":"@metamask/mobile-wallet-protocol-core","kind":"import-statement","external":true},{"path":"@metamask/mobile-wallet-protocol-dapp-client","kind":"import-statement","external":true},{"path":"@metamask/multichain-api-client","kind":"import-statement","external":true},{"path":"src/config/index.ts","kind":"import-statement","original":"../config"},{"path":"src/domain/index.ts","kind":"import-statement","original":"../domain"},{"path":"src/multichain/utils/analytics.ts","kind":"import-statement","original":"./utils/analytics"},{"path":"src/domain/logger/index.ts","kind":"import-statement","original":"../domain/logger"},{"path":"src/domain/multichain/index.ts","kind":"import-statement","original":"../domain/multichain"},{"path":"src/domain/platform/index.ts","kind":"import-statement","original":"../domain/platform"},{"path":"src/multichain/rpc/handlers/rpcClient.ts","kind":"import-statement","original":"./rpc/handlers/rpcClient"},{"path":"src/multichain/rpc/requestRouter.ts","kind":"import-statement","original":"./rpc/requestRouter"},{"path":"src/multichain/transports/default/index.ts","kind":"import-statement","original":"./transports/default"},{"path":"src/multichain/transports/multichainApiClientWrapper/index.ts","kind":"import-statement","original":"./transports/multichainApiClientWrapper"},{"path":"src/multichain/transports/mwp/index.ts","kind":"import-statement","original":"./transports/mwp"},{"path":"src/multichain/transports/mwp/KeyManager.ts","kind":"import-statement","original":"./transports/mwp/KeyManager"},{"path":"src/multichain/utils/index.ts","kind":"import-statement","original":"./utils"},{"path":"src/domain/multichain/api/infura.ts","kind":"import-statement","original":"../domain/multichain/api/infura"},{"path":"ws","kind":"dynamic-import","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/domain/errors/storage.ts":{"bytes":1351,"imports":[{"path":"src/domain/errors/base.ts","kind":"import-statement","original":"./base"}],"format":"esm"},"src/store/index.ts":{"bytes":3341,"imports":[{"path":"uuid","kind":"import-statement","external":true},{"path":"src/domain/errors/storage.ts","kind":"import-statement","original":"../domain/errors/storage"},{"path":"src/domain/multichain/index.ts","kind":"import-statement","original":"../domain/multichain"},{"path":"src/domain/store/client.ts","kind":"import-statement","original":"../domain/store/client"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/ui/ModalFactory.ts":{"bytes":6351,"imports":[{"path":"@metamask/onboarding","kind":"import-statement","external":true},{"path":"src/config/index.ts","kind":"import-statement","original":"../config"},{"path":"src/domain/index.ts","kind":"import-statement","original":"../domain"},{"path":"src/multichain/utils/index.ts","kind":"import-statement","original":"../multichain/utils"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/ui/index.ts":{"bytes":1000,"imports":[{"path":"src/ui/ModalFactory.ts","kind":"import-statement","original":"./ModalFactory"},{"path":"@metamask/multichain-ui/loader","kind":"dynamic-import","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/ui/modals/base/utils.ts":{"bytes":1303,"imports":[],"format":"esm"},"src/ui/modals/base/AbstractInstallModal.ts":{"bytes":3582,"imports":[{"path":"src/ui/modals/base/utils.ts","kind":"import-statement","original":"./utils"},{"path":"src/domain/index.ts","kind":"import-statement","original":"../../../domain"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/ui/modals/node/install.ts":{"bytes":1866,"imports":[{"path":"@paulmillr/qr","kind":"import-statement","external":true},{"path":"src/domain/index.ts","kind":"import-statement","original":"../../../domain"},{"path":"src/ui/modals/base/AbstractInstallModal.ts","kind":"import-statement","original":"../base/AbstractInstallModal"},{"path":"src/ui/modals/base/utils.ts","kind":"import-statement","original":"../base/utils"}],"format":"esm"},"src/ui/modals/base/AbstractOTPModal.ts":{"bytes":451,"imports":[{"path":"src/domain/index.ts","kind":"import-statement","original":"../../../domain"}],"format":"esm"},"src/ui/modals/node/otp.ts":{"bytes":395,"imports":[{"path":"src/ui/modals/base/AbstractOTPModal.ts","kind":"import-statement","original":"../base/AbstractOTPModal"}],"format":"esm"},"src/ui/modals/node/index.ts":{"bytes":80,"imports":[{"path":"src/ui/modals/node/install.ts","kind":"import-statement","original":"./install"},{"path":"src/ui/modals/node/otp.ts","kind":"import-statement","original":"./otp"}],"format":"esm"},"src/store/adapters/node.ts":{"bytes":458,"imports":[{"path":"src/domain/index.ts","kind":"import-statement","original":"../../domain"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/index.node.ts":{"bytes":888,"imports":[{"path":"src/domain/index.ts","kind":"import-statement","original":"./domain"},{"path":"src/multichain/index.ts","kind":"import-statement","original":"./multichain"},{"path":"src/store/index.ts","kind":"import-statement","original":"./store"},{"path":"src/ui/index.ts","kind":"import-statement","original":"./ui"},{"path":"src/domain/index.ts","kind":"import-statement","original":"./domain"},{"path":"src/ui/modals/node/index.ts","kind":"dynamic-import","original":"./ui/modals/node"},{"path":"src/store/adapters/node.ts","kind":"dynamic-import","original":"./store/adapters/node"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/node/es/connect-multichain.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":229201},"dist/node/es/connect-multichain.mjs":{"imports":[{"path":"eventemitter3","kind":"import-statement","external":true},{"path":"debug","kind":"import-statement","external":true},{"path":"bowser","kind":"import-statement","external":true},{"path":"@metamask/utils","kind":"import-statement","external":true},{"path":"pako","kind":"import-statement","external":true},{"path":"@paulmillr/qr","kind":"import-statement","external":true},{"path":"@metamask/analytics","kind":"import-statement","external":true},{"path":"@metamask/mobile-wallet-protocol-core","kind":"import-statement","external":true},{"path":"@metamask/mobile-wallet-protocol-dapp-client","kind":"import-statement","external":true},{"path":"@metamask/multichain-api-client","kind":"import-statement","external":true},{"path":"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":"import-statement","external":true},{"path":"@metamask/multichain-api-client","kind":"import-statement","external":true},{"path":"@metamask/rpc-errors","kind":"import-statement","external":true},{"path":"eciesjs","kind":"import-statement","external":true},{"path":"ws","kind":"dynamic-import","external":true},{"path":"uuid","kind":"import-statement","external":true},{"path":"@metamask/onboarding","kind":"import-statement","external":true},{"path":"@metamask/multichain-ui/loader","kind":"dynamic-import","external":true}],"exports":["EventEmitter","Modal","MultichainCore","PlatformType","RPCHttpErr","RPCInvokeMethodErr","RPCReadonlyRequestErr","RPCReadonlyResponseErr","RPC_HANDLED_METHODS","SDK_HANDLED_METHODS","StoreAdapter","StoreClient","TransportType","createLogger","createMultichainClient","enableDebug","getInfuraRpcUrls","getPlatformType","getTransportType","getVersion","getWalletActionAnalyticsProperties","hasExtension","infuraRpcUrls","isEnabled","isMetamaskExtensionInstalled","isRejectionError","isSecure"],"entryPoint":"src/index.node.ts","inputs":{"src/domain/errors/base.ts":{"bytesInOutput":265},"src/domain/errors/rpc.ts":{"bytesInOutput":1861},"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":3681},"src/domain/multichain/api/infura.ts":{"bytesInOutput":458},"src/domain/multichain/index.ts":{"bytesInOutput":2855},"src/domain/platform/index.ts":{"bytesInOutput":3793},"src/domain/store/adapter.ts":{"bytesInOutput":210},"src/domain/store/client.ts":{"bytesInOutput":137},"src/domain/store/index.ts":{"bytesInOutput":124},"src/domain/ui/types.ts":{"bytesInOutput":994},"src/domain/ui/index.ts":{"bytesInOutput":97},"src/multichain/utils/index.ts":{"bytesInOutput":9349},"src/multichain/utils/analytics.ts":{"bytesInOutput":1625},"src/domain/utils/index.ts":{"bytesInOutput":152},"src/domain/index.ts":{"bytesInOutput":233},"src/ui/modals/base/utils.ts":{"bytesInOutput":640},"src/ui/modals/base/AbstractInstallModal.ts":{"bytesInOutput":3328},"src/ui/modals/node/install.ts":{"bytesInOutput":1725},"src/ui/modals/base/AbstractOTPModal.ts":{"bytesInOutput":470},"src/ui/modals/node/otp.ts":{"bytesInOutput":243},"src/ui/modals/node/index.ts":{"bytesInOutput":245},"src/store/adapters/node.ts":{"bytesInOutput":962},"src/index.node.ts":{"bytesInOutput":773},"src/multichain/index.ts":{"bytesInOutput":33240},"src/config/index.ts":{"bytesInOutput":202},"src/multichain/rpc/handlers/rpcClient.ts":{"bytesInOutput":2978},"src/multichain/rpc/requestRouter.ts":{"bytesInOutput":5770},"src/multichain/transports/default/index.ts":{"bytesInOutput":9799},"src/multichain/transports/multichainApiClientWrapper/index.ts":{"bytesInOutput":5656},"src/multichain/transports/mwp/index.ts":{"bytesInOutput":24024},"src/multichain/transports/constants.ts":{"bytesInOutput":70},"src/multichain/transports/mwp/KeyManager.ts":{"bytesInOutput":989},"src/store/index.ts":{"bytesInOutput":3358},"src/domain/errors/storage.ts":{"bytesInOutput":1201},"src/ui/ModalFactory.ts":{"bytesInOutput":5132},"src/ui/index.ts":{"bytesInOutput":510}},"bytes":136128}}}
@@ -1,7 +1,7 @@
1
1
  import debug from 'debug';
2
2
  import { SessionData, Transport, SessionProperties, TransportRequest, TransportResponse, MultichainApiClient } from '@metamask/multichain-api-client';
3
3
  export { SessionData } from '@metamask/multichain-api-client';
4
- import { CaipAccountId, Json } from '@metamask/utils';
4
+ import { CaipAccountId, CaipChainId, Json } from '@metamask/utils';
5
5
  import { SessionRequest, Session } from '@metamask/mobile-wallet-protocol-core';
6
6
  import { Components } from '@metamask/multichain-ui';
7
7
 
@@ -386,6 +386,14 @@ type ConnectionRequest = {
386
386
  };
387
387
  };
388
388
  };
389
+ /**
390
+ * Package versions keyed by connect package name.
391
+ * connect-multichain is always present; chain-specific packages
392
+ * appear only when their client is instantiated.
393
+ */
394
+ type ConnectVersions = {
395
+ 'connect-multichain': string;
396
+ } & Partial<Record<'connect-evm' | 'connect-solana', string>>;
389
397
  /**
390
398
  * Constructor options for creating a Multichain SDK instance.
391
399
  *
@@ -431,6 +439,8 @@ type MultichainOptions = {
431
439
  };
432
440
  /** Enable debug logging */
433
441
  debug?: boolean;
442
+ /** Package versions contributed by chain-specific clients (merged on each createMultichainClient call) */
443
+ versions?: Partial<ConnectVersions>;
434
444
  };
435
445
  type MultiChainFNOptions = Omit<MultichainOptions, 'storage' | 'ui'> & {
436
446
  ui?: Omit<MultichainOptions['ui'], 'factory'>;
@@ -441,11 +451,12 @@ type MultiChainFNOptions = Omit<MultichainOptions, 'storage' | 'ui'> & {
441
451
  * Options that can be merged/overwritten when createMultichainClient is called
442
452
  * with an existing singleton.
443
453
  */
444
- type MergeableMultichainOptions = Omit<MultichainOptions, 'dapp' | 'analytics' | 'storage' | 'api' | 'ui' | 'transport'> & {
454
+ type MergeableMultichainOptions = Omit<MultichainOptions, 'dapp' | 'analytics' | 'storage' | 'api' | 'ui' | 'transport' | 'versions'> & {
445
455
  api?: MultichainOptions['api'];
446
456
  ui?: Pick<MultichainOptions['ui'], 'headless' | 'preferExtension' | 'showInstallModal'>;
447
457
  transport?: Pick<NonNullable<MultichainOptions['transport']>, 'extensionId'>;
448
458
  debug?: boolean;
459
+ versions?: Partial<ConnectVersions>;
449
460
  };
450
461
  /**
451
462
  * Complete options for Multichain SDK configuration.
@@ -474,7 +485,18 @@ declare const infuraRpcUrls: RpcUrlsMap;
474
485
  declare const RPC_HANDLED_METHODS: Set<string>;
475
486
  declare const SDK_HANDLED_METHODS: Set<string>;
476
487
 
477
- declare function getInfuraRpcUrls(infuraAPIKey: string): RpcUrlsMap;
488
+ /**
489
+ * Generates Infura RPC URLs for common networks keyed by CAIP Chain ID.
490
+ *
491
+ * @param options - The options for generating Infura RPC URLs
492
+ * @param options.infuraApiKey - The Infura API key
493
+ * @param options.caipChainIds - Optional CAIP-2 chain IDs to filter the output
494
+ * @returns A map of CAIP-2 chain IDs to Infura RPC URLs
495
+ */
496
+ declare function getInfuraRpcUrls({ infuraApiKey, caipChainIds, }: {
497
+ infuraApiKey: string;
498
+ caipChainIds?: CaipChainId[];
499
+ }): RpcUrlsMap;
478
500
 
479
501
  type ConnectionStatus = 'pending' | 'loaded' | 'disconnected' | 'connected' | 'connecting';
480
502
  declare enum TransportType {
@@ -519,7 +541,7 @@ declare abstract class MultichainCore extends EventEmitter<SDKEvents> {
519
541
  constructor(options: MultichainOptions);
520
542
  /**
521
543
  * Merges the given options into the current instance options.
522
- * Only the mergeable keys are updated (api.supportedNetworks, ui.*, mobile.*, transport.extensionId, debug).
544
+ * Only the mergeable keys are updated (api.supportedNetworks, versions, ui.*, mobile.*, transport.extensionId, debug).
523
545
  * The main thing to note is that the value for `dapp` is not merged as it does not make sense for
524
546
  * subsequent calls to `createMultichainClient` to have a different `dapp` value.
525
547
  * Used when createMultichainClient is called with an existing singleton.
@@ -658,15 +680,16 @@ declare function isRejectionError(error: unknown): boolean;
658
680
  * @param options - Multichain options containing dapp and analytics config
659
681
  * @param storage - Storage client for getting anonymous ID
660
682
  * @param invokeOptions - The invoke method options containing method and scope
683
+ * @param transportType - The transport type to use for the analytics event
661
684
  * @returns Wallet action analytics properties
662
685
  */
663
- declare function getWalletActionAnalyticsProperties(options: MultichainOptions, storage: StoreClient, invokeOptions: InvokeMethodOptions): Promise<{
664
- mmconnect_version: string;
686
+ declare function getWalletActionAnalyticsProperties(options: MultichainOptions, storage: StoreClient, invokeOptions: InvokeMethodOptions, transportType: TransportType): Promise<{
687
+ mmconnect_versions: Record<string, string>;
665
688
  dapp_id: string;
666
689
  method: string;
667
- integration_type: string;
668
690
  caip_chain_id: string;
669
691
  anon_id: string;
692
+ transport_type: TransportType;
670
693
  }>;
671
694
 
672
695
  /**
@@ -678,4 +701,4 @@ declare function getVersion(): string;
678
701
 
679
702
  declare const createMultichainClient: CreateMultichainFN;
680
703
 
681
- export { 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 };
704
+ 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 };
@@ -356,10 +356,16 @@ var init_constants = __esm({
356
356
  });
357
357
 
358
358
  // src/domain/multichain/api/infura.ts
359
- function getInfuraRpcUrls(infuraAPIKey) {
360
- return Object.keys(infuraRpcUrls).reduce((acc, key) => {
361
- const typedKey = key;
362
- acc[typedKey] = `${infuraRpcUrls[typedKey]}${infuraAPIKey}`;
359
+ function getInfuraRpcUrls({
360
+ infuraApiKey,
361
+ caipChainIds
362
+ }) {
363
+ const keys = caipChainIds && caipChainIds.length > 0 ? caipChainIds : Object.keys(infuraRpcUrls);
364
+ return keys.reduce((acc, key) => {
365
+ const baseUrl = infuraRpcUrls[key];
366
+ if (baseUrl) {
367
+ acc[key] = `${baseUrl}${infuraApiKey}`;
368
+ }
363
369
  return acc;
364
370
  }, {});
365
371
  }
@@ -401,7 +407,7 @@ var init_multichain = __esm({
401
407
  }
402
408
  /**
403
409
  * Merges the given options into the current instance options.
404
- * Only the mergeable keys are updated (api.supportedNetworks, ui.*, mobile.*, transport.extensionId, debug).
410
+ * Only the mergeable keys are updated (api.supportedNetworks, versions, ui.*, mobile.*, transport.extensionId, debug).
405
411
  * The main thing to note is that the value for `dapp` is not merged as it does not make sense for
406
412
  * subsequent calls to `createMultichainClient` to have a different `dapp` value.
407
413
  * Used when createMultichainClient is called with an existing singleton.
@@ -409,22 +415,23 @@ var init_multichain = __esm({
409
415
  * @param partial - Options to merge/overwrite onto the current instance
410
416
  */
411
417
  mergeOptions(partial) {
412
- var _a3, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
418
+ var _a3, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o;
413
419
  const opts = this.options;
414
420
  this.options = __spreadProps(__spreadValues({}, opts), {
415
421
  api: __spreadProps(__spreadValues({}, opts.api), {
416
422
  supportedNetworks: __spreadValues(__spreadValues({}, opts.api.supportedNetworks), (_b = (_a3 = partial.api) == null ? void 0 : _a3.supportedNetworks) != null ? _b : {})
417
423
  }),
424
+ versions: __spreadValues(__spreadValues({}, opts.versions), (_c = partial.versions) != null ? _c : {}),
418
425
  ui: __spreadProps(__spreadValues({}, opts.ui), {
419
- headless: (_d = (_c = partial.ui) == null ? void 0 : _c.headless) != null ? _d : opts.ui.headless,
420
- preferExtension: (_f = (_e = partial.ui) == null ? void 0 : _e.preferExtension) != null ? _f : opts.ui.preferExtension,
421
- showInstallModal: (_h = (_g = partial.ui) == null ? void 0 : _g.showInstallModal) != null ? _h : opts.ui.showInstallModal
426
+ headless: (_e = (_d = partial.ui) == null ? void 0 : _d.headless) != null ? _e : opts.ui.headless,
427
+ preferExtension: (_g = (_f = partial.ui) == null ? void 0 : _f.preferExtension) != null ? _g : opts.ui.preferExtension,
428
+ showInstallModal: (_i = (_h = partial.ui) == null ? void 0 : _h.showInstallModal) != null ? _i : opts.ui.showInstallModal
422
429
  }),
423
- mobile: __spreadValues(__spreadValues({}, opts.mobile), (_i = partial.mobile) != null ? _i : {}),
424
- transport: __spreadProps(__spreadValues({}, (_j = opts.transport) != null ? _j : {}), {
425
- extensionId: (_m = (_k = partial.transport) == null ? void 0 : _k.extensionId) != null ? _m : (_l = opts.transport) == null ? void 0 : _l.extensionId
430
+ mobile: __spreadValues(__spreadValues({}, opts.mobile), (_j = partial.mobile) != null ? _j : {}),
431
+ transport: __spreadProps(__spreadValues({}, (_k = opts.transport) != null ? _k : {}), {
432
+ extensionId: (_n = (_l = partial.transport) == null ? void 0 : _l.extensionId) != null ? _n : (_m = opts.transport) == null ? void 0 : _m.extensionId
426
433
  }),
427
- debug: (_n = partial.debug) != null ? _n : opts.debug
434
+ debug: (_o = partial.debug) != null ? _o : opts.debug
428
435
  });
429
436
  }
430
437
  };
@@ -626,35 +633,30 @@ function isRejectionError(error) {
626
633
  }
627
634
  function getBaseAnalyticsProperties(options, storage) {
628
635
  return __async(this, null, function* () {
629
- var _a3, _b;
630
- const version = getVersion();
636
+ var _a3;
631
637
  const dappId = getDappId(options.dapp);
632
638
  const platform = getPlatformType();
633
639
  const anonId = yield storage.getAnonId();
634
- const integrationType = (_b = (_a3 = options.analytics) == null ? void 0 : _a3.integrationType) != null ? _b : "unknown" /* UNKNOWN */;
635
640
  return {
636
- mmconnect_version: version,
641
+ mmconnect_versions: (_a3 = options.versions) != null ? _a3 : {},
637
642
  dapp_id: dappId,
638
643
  platform,
639
- integration_type: integrationType,
640
644
  anon_id: anonId
641
645
  };
642
646
  });
643
647
  }
644
- function getWalletActionAnalyticsProperties(options, storage, invokeOptions) {
648
+ function getWalletActionAnalyticsProperties(options, storage, invokeOptions, transportType) {
645
649
  return __async(this, null, function* () {
646
- var _a3, _b;
647
- const version = getVersion();
650
+ var _a3;
648
651
  const dappId = getDappId(options.dapp);
649
652
  const anonId = yield storage.getAnonId();
650
- const integrationType = (_b = (_a3 = options.analytics) == null ? void 0 : _a3.integrationType) != null ? _b : "unknown";
651
653
  return {
652
- mmconnect_version: version,
654
+ mmconnect_versions: (_a3 = options.versions) != null ? _a3 : {},
653
655
  dapp_id: dappId,
654
656
  method: invokeOptions.request.method,
655
- integration_type: integrationType,
656
657
  caip_chain_id: invokeOptions.scope,
657
- anon_id: anonId
658
+ anon_id: anonId,
659
+ transport_type: transportType
658
660
  };
659
661
  });
660
662
  }
@@ -1328,10 +1330,11 @@ init_utils2();
1328
1330
  init_analytics();
1329
1331
  var _RequestRouter_instances, withAnalyticsTracking_fn, trackWalletActionRequested_fn, trackWalletActionSucceeded_fn, trackWalletActionFailed_fn, trackWalletActionRejected_fn;
1330
1332
  var RequestRouter = class {
1331
- constructor(transport, rpcClient, config) {
1333
+ constructor(transport, rpcClient, config, transportType) {
1332
1334
  this.transport = transport;
1333
1335
  this.rpcClient = rpcClient;
1334
1336
  this.config = config;
1337
+ this.transportType = transportType;
1335
1338
  __privateAdd(this, _RequestRouter_instances);
1336
1339
  }
1337
1340
  /**
@@ -1401,16 +1404,14 @@ var RequestRouter = class {
1401
1404
  */
1402
1405
  handleWithRpcNode(options) {
1403
1406
  return __async(this, null, function* () {
1404
- return __privateMethod(this, _RequestRouter_instances, withAnalyticsTracking_fn).call(this, options, () => __async(this, null, function* () {
1405
- try {
1406
- return yield this.rpcClient.request(options);
1407
- } catch (error) {
1408
- if (error instanceof MissingRpcEndpointErr) {
1409
- return this.handleWithWallet(options);
1410
- }
1411
- throw error;
1407
+ try {
1408
+ return yield this.rpcClient.request(options);
1409
+ } catch (error) {
1410
+ if (error instanceof MissingRpcEndpointErr) {
1411
+ return this.handleWithWallet(options);
1412
1412
  }
1413
- }));
1413
+ throw error;
1414
+ }
1414
1415
  });
1415
1416
  }
1416
1417
  /**
@@ -1454,7 +1455,8 @@ trackWalletActionRequested_fn = function(options) {
1454
1455
  const props = yield getWalletActionAnalyticsProperties(
1455
1456
  this.config,
1456
1457
  this.config.storage,
1457
- options
1458
+ options,
1459
+ this.transportType
1458
1460
  );
1459
1461
  analytics.track("mmconnect_wallet_action_requested", props);
1460
1462
  });
@@ -1464,7 +1466,8 @@ trackWalletActionSucceeded_fn = function(options) {
1464
1466
  const props = yield getWalletActionAnalyticsProperties(
1465
1467
  this.config,
1466
1468
  this.config.storage,
1467
- options
1469
+ options,
1470
+ this.transportType
1468
1471
  );
1469
1472
  analytics.track("mmconnect_wallet_action_succeeded", props);
1470
1473
  });
@@ -1474,7 +1477,8 @@ trackWalletActionFailed_fn = function(options) {
1474
1477
  const props = yield getWalletActionAnalyticsProperties(
1475
1478
  this.config,
1476
1479
  this.config.storage,
1477
- options
1480
+ options,
1481
+ this.transportType
1478
1482
  );
1479
1483
  analytics.track("mmconnect_wallet_action_failed", props);
1480
1484
  });
@@ -1484,7 +1488,8 @@ trackWalletActionRejected_fn = function(options) {
1484
1488
  const props = yield getWalletActionAnalyticsProperties(
1485
1489
  this.config,
1486
1490
  this.config.storage,
1487
- options
1491
+ options,
1492
+ this.transportType
1488
1493
  );
1489
1494
  analytics.track("mmconnect_wallet_action_rejected", props);
1490
1495
  });
@@ -1729,7 +1734,9 @@ setupMessageListener_fn = function() {
1729
1734
  init_fn = function() {
1730
1735
  return __async(this, null, function* () {
1731
1736
  __privateMethod(this, _DefaultTransport_instances, setupMessageListener_fn).call(this);
1732
- yield __privateGet(this, _transport).connect();
1737
+ if (!__privateGet(this, _transport).isConnected()) {
1738
+ yield __privateGet(this, _transport).connect();
1739
+ }
1733
1740
  });
1734
1741
  };
1735
1742
 
@@ -2576,16 +2583,21 @@ var _MetaMaskConnectMultichain = class _MetaMaskConnectMultichain extends Multic
2576
2583
  constructor(options) {
2577
2584
  var _a3, _b, _c, _d, _e, _f;
2578
2585
  const withDappMetadata = setupDappMetadata(options);
2579
- const integrationType = (_b = (_a3 = options.analytics) == null ? void 0 : _a3.integrationType) != null ? _b : "direct";
2586
+ const integrationType = ((_a3 = options.analytics) == null ? void 0 : _a3.integrationType) || "direct";
2580
2587
  const allOptions = __spreadProps(__spreadValues({}, withDappMetadata), {
2581
2588
  ui: __spreadProps(__spreadValues({}, withDappMetadata.ui), {
2582
- preferExtension: (_c = withDappMetadata.ui.preferExtension) != null ? _c : true,
2583
- showInstallModal: (_d = withDappMetadata.ui.showInstallModal) != null ? _d : false,
2584
- headless: (_e = withDappMetadata.ui.headless) != null ? _e : false
2589
+ preferExtension: (_b = withDappMetadata.ui.preferExtension) != null ? _b : true,
2590
+ showInstallModal: (_c = withDappMetadata.ui.showInstallModal) != null ? _c : false,
2591
+ headless: (_d = withDappMetadata.ui.headless) != null ? _d : false
2585
2592
  }),
2586
- analytics: __spreadProps(__spreadValues({}, (_f = options.analytics) != null ? _f : {}), {
2593
+ analytics: __spreadProps(__spreadValues({}, (_e = options.analytics) != null ? _e : {}), {
2587
2594
  integrationType
2588
- })
2595
+ }),
2596
+ versions: __spreadValues({
2597
+ // typeof guard needed: Metro (React Native) bundles TS source directly,
2598
+ // bypassing the tsup build that substitutes __PACKAGE_VERSION__.
2599
+ "connect-multichain": false ? "unknown" : "0.10.0"
2600
+ }, (_f = options.versions) != null ? _f : {})
2589
2601
  });
2590
2602
  super(allOptions);
2591
2603
  __privateAdd(this, _MetaMaskConnectMultichain_instances);
@@ -2642,23 +2654,33 @@ var _MetaMaskConnectMultichain = class _MetaMaskConnectMultichain extends Multic
2642
2654
  // Creates a singleton instance of MetaMaskConnectMultichain.
2643
2655
  // If the singleton already exists, it merges the incoming options with the
2644
2656
  // existing singleton options for the following keys: `api.supportedNetworks`,
2645
- // `ui.*`, `mobile.*`, `transport.extensionId`, `debug`. Take note that the
2646
- // value for `dapp` is not merged as it does not make sense for subsequent calls to
2647
- // `createMultichainClient` to have a different `dapp` value.
2657
+ // `versions`, `ui.*`, `mobile.*`, `transport.extensionId`, `debug`. Take note
2658
+ // that the value for `dapp` is not merged as it does not make sense for
2659
+ // subsequent calls to `createMultichainClient` to have a different `dapp` value.
2648
2660
  static create(options) {
2649
2661
  return __async(this, null, function* () {
2662
+ var _a3, _b;
2650
2663
  const globalObject = getGlobalObject();
2651
2664
  const existing = globalObject[SINGLETON_KEY];
2652
2665
  if (existing) {
2653
2666
  const instance = yield existing;
2654
2667
  instance.mergeOptions(options);
2668
+ analytics2.setGlobalProperty(
2669
+ "mmconnect_versions",
2670
+ (_a3 = instance.options.versions) != null ? _a3 : {}
2671
+ );
2672
+ if ((_b = options.analytics) == null ? void 0 : _b.integrationType) {
2673
+ analytics2.setGlobalProperty("integration_types", [
2674
+ options.analytics.integrationType
2675
+ ]);
2676
+ }
2655
2677
  if (options.debug) {
2656
2678
  enableDebug("metamask-sdk:*");
2657
2679
  }
2658
2680
  return instance;
2659
2681
  }
2660
2682
  const instancePromise = (() => __async(null, null, function* () {
2661
- var _a3;
2683
+ var _a4;
2662
2684
  const instance = new _MetaMaskConnectMultichain(options);
2663
2685
  const isEnabled2 = yield isEnabled(
2664
2686
  "metamask-sdk:core",
@@ -2667,7 +2689,7 @@ var _MetaMaskConnectMultichain = class _MetaMaskConnectMultichain extends Multic
2667
2689
  if (isEnabled2) {
2668
2690
  enableDebug("metamask-sdk:core");
2669
2691
  }
2670
- yield __privateMethod(_a3 = instance, _MetaMaskConnectMultichain_instances, init_fn2).call(_a3);
2692
+ yield __privateMethod(_a4 = instance, _MetaMaskConnectMultichain_instances, init_fn2).call(_a4);
2671
2693
  return instance;
2672
2694
  }))();
2673
2695
  globalObject[SINGLETON_KEY] = instancePromise;
@@ -2795,7 +2817,12 @@ var _MetaMaskConnectMultichain = class _MetaMaskConnectMultichain extends Multic
2795
2817
  return __async(this, null, function* () {
2796
2818
  const { transport, options } = this;
2797
2819
  const rpcClient = new RpcClient(options, __privateGet(this, _sdkInfo));
2798
- const requestRouter = new RequestRouter(transport, rpcClient, options);
2820
+ const requestRouter = new RequestRouter(
2821
+ transport,
2822
+ rpcClient,
2823
+ options,
2824
+ this.transportType
2825
+ );
2799
2826
  return requestRouter.invokeMethod(request);
2800
2827
  });
2801
2828
  }
@@ -2848,24 +2875,28 @@ _sdkInfo = new WeakMap();
2848
2875
  _MetaMaskConnectMultichain_instances = new WeakSet();
2849
2876
  setupAnalytics_fn = function() {
2850
2877
  return __async(this, null, function* () {
2851
- var _a3;
2878
+ var _a3, _b;
2852
2879
  const platform = getPlatformType();
2853
2880
  const isBrowser = platform === "in-app-browser" /* MetaMaskMobileWebview */ || platform === "web-desktop" /* DesktopWeb */ || platform === "web-mobile" /* MobileWeb */;
2854
2881
  const isReactNative2 = platform === "react-native" /* ReactNative */;
2855
2882
  if (!isBrowser && !isReactNative2) {
2856
2883
  return;
2857
2884
  }
2858
- const version = getVersion();
2859
2885
  const dappId = getDappId(this.options.dapp);
2860
2886
  const anonId = yield this.storage.getAnonId();
2861
2887
  const { integrationType } = (_a3 = this.options.analytics) != null ? _a3 : {
2862
2888
  integrationType: ""
2863
2889
  };
2864
- analytics2.setGlobalProperty("mmconnect_version", version);
2890
+ analytics2.setGlobalProperty(
2891
+ "mmconnect_versions",
2892
+ (_b = this.options.versions) != null ? _b : {}
2893
+ );
2865
2894
  analytics2.setGlobalProperty("dapp_id", dappId);
2866
2895
  analytics2.setGlobalProperty("anon_id", anonId);
2867
2896
  analytics2.setGlobalProperty("platform", platform);
2868
- analytics2.setGlobalProperty("integration_type", integrationType);
2897
+ if (integrationType) {
2898
+ analytics2.setGlobalProperty("integration_types", [integrationType]);
2899
+ }
2869
2900
  analytics2.enable();
2870
2901
  });
2871
2902
  };
@@ -2952,15 +2983,6 @@ init_fn2 = function() {
2952
2983
  try {
2953
2984
  yield __privateMethod(this, _MetaMaskConnectMultichain_instances, setupAnalytics_fn).call(this);
2954
2985
  yield __privateMethod(this, _MetaMaskConnectMultichain_instances, setupTransport_fn).call(this);
2955
- try {
2956
- const baseProps = yield getBaseAnalyticsProperties(
2957
- this.options,
2958
- this.storage
2959
- );
2960
- analytics2.track("mmconnect_initialized", baseProps);
2961
- } catch (error) {
2962
- logger2("Error tracking initialized event", error);
2963
- }
2964
2986
  } catch (error) {
2965
2987
  yield this.storage.removeTransport();
2966
2988
  this.status = "pending";
@@ -3614,7 +3636,6 @@ var BaseModalFactory = class {
3614
3636
  parentElement,
3615
3637
  showInstallModal,
3616
3638
  link: qrCodeLink,
3617
- sdkVersion: getVersion(),
3618
3639
  generateQRCode: (request) => __async(this, null, function* () {
3619
3640
  var _a4;
3620
3641
  const newLink = this.createConnectionDeeplink(request);
@@ -3640,7 +3661,6 @@ var BaseModalFactory = class {
3640
3661
  const otpCode = yield createOTPCode();
3641
3662
  const modal = new this.options.OTPCodeModal({
3642
3663
  parentElement: container,
3643
- sdkVersion: getVersion(),
3644
3664
  otpCode,
3645
3665
  onClose: this.onCloseModal.bind(this),
3646
3666
  createOTPCode,