@rango-dev/wallets-react 0.30.2-next.1 → 0.30.2-next.11

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.
@@ -1 +1 @@
1
- {"inputs":{"src/hub/constants.ts":{"bytes":146,"imports":[],"format":"esm"},"src/hub/lastConnectedWallets.ts":{"bytes":4921,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"src/hub/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/helpers.ts":{"bytes":4652,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"src/hub/constants.ts","kind":"import-statement","original":"../hub/constants.js"},{"path":"src/hub/lastConnectedWallets.ts","kind":"import-statement","original":"../hub/lastConnectedWallets.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/context.ts":{"bytes":905,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/autoConnect.ts":{"bytes":2046,"imports":[{"path":"src/hub/lastConnectedWallets.ts","kind":"import-statement","original":"../hub/lastConnectedWallets.js"},{"path":"src/legacy/mod.ts","kind":"import-statement","original":"./mod.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/hooks.ts":{"bytes":1545,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/legacy/context.ts","kind":"import-statement","original":"./context.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/utils.ts":{"bytes":230,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/useAutoConnect.ts":{"bytes":628,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/legacy/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/useLegacyProviders.ts":{"bytes":7308,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/legacy/autoConnect.ts","kind":"import-statement","original":"./autoConnect.js"},{"path":"src/legacy/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"src/legacy/hooks.ts","kind":"import-statement","original":"./hooks.js"},{"path":"src/legacy/useAutoConnect.ts","kind":"import-statement","original":"./useAutoConnect.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/mod.ts":{"bytes":321,"imports":[{"path":"src/hub/constants.ts","kind":"import-statement","original":"../hub/constants.js"},{"path":"src/legacy/context.ts","kind":"import-statement","original":"./context.js"},{"path":"src/legacy/useLegacyProviders.ts","kind":"import-statement","original":"./useLegacyProviders.js"}],"format":"esm"},"src/hub/helpers.ts":{"bytes":2587,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/utxo","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"ts-results","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/utils.ts":{"bytes":9403,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/legacy/mod.ts","kind":"import-statement","original":"../legacy/mod.js"},{"path":"src/hub/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"src/hub/lastConnectedWallets.ts","kind":"import-statement","original":"./lastConnectedWallets.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/autoConnect.ts":{"bytes":7725,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"ts-results","kind":"import-statement","external":true},{"path":"src/legacy/mod.ts","kind":"import-statement","original":"../legacy/mod.js"},{"path":"src/hub/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"src/hub/lastConnectedWallets.ts","kind":"import-statement","original":"./lastConnectedWallets.js"},{"path":"src/hub/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/useHubRefs.ts":{"bytes":1365,"imports":[{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/hub/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/useHubAdapter.ts":{"bytes":12200,"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"ts-results","kind":"import-statement","external":true},{"path":"src/legacy/mod.ts","kind":"import-statement","original":"../legacy/mod.js"},{"path":"src/legacy/useAutoConnect.ts","kind":"import-statement","original":"../legacy/useAutoConnect.js"},{"path":"src/hub/autoConnect.ts","kind":"import-statement","original":"./autoConnect.js"},{"path":"src/hub/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"src/hub/lastConnectedWallets.ts","kind":"import-statement","original":"./lastConnectedWallets.js"},{"path":"src/hub/useHubRefs.ts","kind":"import-statement","original":"./useHubRefs.js"},{"path":"src/hub/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/mod.ts":{"bytes":162,"imports":[{"path":"src/hub/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"src/hub/useHubAdapter.ts","kind":"import-statement","original":"./useHubAdapter.js"}],"format":"esm"},"src/useProviders.ts":{"bytes":3425,"imports":[{"path":"src/hub/mod.ts","kind":"import-statement","original":"./hub/mod.js"},{"path":"src/legacy/mod.ts","kind":"import-statement","original":"./legacy/mod.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/provider.tsx":{"bytes":405,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/legacy/context.ts","kind":"import-statement","original":"./legacy/context.js"},{"path":"src/useProviders.ts","kind":"import-statement","original":"./useProviders.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/types.ts":{"bytes":5369,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":173,"imports":[{"path":"src/legacy/helpers.ts","kind":"import-statement","original":"./legacy/helpers.js"},{"path":"src/provider.tsx","kind":"import-statement","original":"./provider.js"},{"path":"src/legacy/hooks.ts","kind":"import-statement","original":"./legacy/hooks.js"},{"path":"src/legacy/types.ts","kind":"import-statement","original":"./legacy/types.js"}],"format":"esm"},"src/helpers/index.ts":{"bytes":55,"imports":[{"path":"src/hub/mod.ts","kind":"import-statement","original":"../hub/mod.js"}],"format":"esm"}},"outputs":{"dist/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":97203},"dist/index.js":{"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/utxo","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"ts-results","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"ts-results","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"ts-results","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true}],"exports":["Events","Provider","availableWallets","checkWalletProviders","choose","clearPersistance","connectedWallets","defaultWalletState","isAsync","makeEventHandler","needsCheckInstallation","stateReducer","tryPersistWallet","tryRemoveWalletFromPersistance","useWallets"],"entryPoint":"src/index.ts","inputs":{"src/legacy/helpers.ts":{"bytesInOutput":1401},"src/hub/constants.ts":{"bytesInOutput":65},"src/hub/lastConnectedWallets.ts":{"bytesInOutput":1224},"src/index.ts":{"bytesInOutput":0},"src/provider.tsx":{"bytesInOutput":133},"src/legacy/context.ts":{"bytesInOutput":431},"src/hub/utils.ts":{"bytesInOutput":3159},"src/legacy/mod.ts":{"bytesInOutput":0},"src/legacy/useLegacyProviders.ts":{"bytesInOutput":2125},"src/legacy/autoConnect.ts":{"bytesInOutput":393},"src/legacy/hooks.ts":{"bytesInOutput":458},"src/legacy/useAutoConnect.ts":{"bytesInOutput":196},"src/legacy/utils.ts":{"bytesInOutput":92},"src/hub/helpers.ts":{"bytesInOutput":1019},"src/hub/mod.ts":{"bytesInOutput":0},"src/hub/useHubAdapter.ts":{"bytesInOutput":3929},"src/hub/autoConnect.ts":{"bytesInOutput":1977},"src/hub/useHubRefs.ts":{"bytesInOutput":510},"src/useProviders.ts":{"bytesInOutput":885},"src/legacy/types.ts":{"bytesInOutput":63}},"bytes":18499},"dist/helpers/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":60440},"dist/helpers/index.js":{"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/utxo","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"ts-results","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"ts-results","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"ts-results","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true}],"exports":["getAllLegacyProviders"],"entryPoint":"src/helpers/index.ts","inputs":{"src/hub/utils.ts":{"bytesInOutput":421},"src/hub/constants.ts":{"bytesInOutput":65},"src/legacy/mod.ts":{"bytesInOutput":0},"src/legacy/context.ts":{"bytesInOutput":427},"src/legacy/useLegacyProviders.ts":{"bytesInOutput":52},"src/hub/lastConnectedWallets.ts":{"bytesInOutput":1224},"src/legacy/helpers.ts":{"bytesInOutput":59},"src/legacy/hooks.ts":{"bytesInOutput":109},"src/legacy/useAutoConnect.ts":{"bytesInOutput":47},"src/hub/helpers.ts":{"bytesInOutput":259},"src/hub/mod.ts":{"bytesInOutput":0},"src/hub/useHubAdapter.ts":{"bytesInOutput":143},"src/hub/autoConnect.ts":{"bytesInOutput":124},"src/hub/useHubRefs.ts":{"bytesInOutput":97},"src/helpers/index.ts":{"bytesInOutput":0}},"bytes":3176}}}
1
+ {"inputs":{"src/hub/constants.ts":{"bytes":146,"imports":[],"format":"esm"},"src/hub/lastConnectedWallets.ts":{"bytes":5519,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"src/hub/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/helpers.ts":{"bytes":4652,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"src/hub/constants.ts","kind":"import-statement","original":"../hub/constants.js"},{"path":"src/hub/lastConnectedWallets.ts","kind":"import-statement","original":"../hub/lastConnectedWallets.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/context.ts":{"bytes":895,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/autoConnect.ts":{"bytes":2046,"imports":[{"path":"src/hub/lastConnectedWallets.ts","kind":"import-statement","original":"../hub/lastConnectedWallets.js"},{"path":"src/legacy/mod.ts","kind":"import-statement","original":"./mod.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/hooks.ts":{"bytes":1545,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/legacy/context.ts","kind":"import-statement","original":"./context.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/utils.ts":{"bytes":230,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/useAutoConnect.ts":{"bytes":628,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/legacy/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/useLegacyProviders.ts":{"bytes":7407,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/legacy/autoConnect.ts","kind":"import-statement","original":"./autoConnect.js"},{"path":"src/legacy/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"src/legacy/hooks.ts","kind":"import-statement","original":"./hooks.js"},{"path":"src/legacy/useAutoConnect.ts","kind":"import-statement","original":"./useAutoConnect.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/mod.ts":{"bytes":321,"imports":[{"path":"src/hub/constants.ts","kind":"import-statement","original":"../hub/constants.js"},{"path":"src/legacy/context.ts","kind":"import-statement","original":"./context.js"},{"path":"src/legacy/useLegacyProviders.ts","kind":"import-statement","original":"./useLegacyProviders.js"}],"format":"esm"},"src/hub/helpers.ts":{"bytes":4057,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/utxo","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"ts-results","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/utils.ts":{"bytes":10258,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/legacy/mod.ts","kind":"import-statement","original":"../legacy/mod.js"},{"path":"src/hub/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"src/hub/lastConnectedWallets.ts","kind":"import-statement","original":"./lastConnectedWallets.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/autoConnect.ts":{"bytes":7725,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"ts-results","kind":"import-statement","external":true},{"path":"src/legacy/mod.ts","kind":"import-statement","original":"../legacy/mod.js"},{"path":"src/hub/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"src/hub/lastConnectedWallets.ts","kind":"import-statement","original":"./lastConnectedWallets.js"},{"path":"src/hub/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/useHubRefs.ts":{"bytes":1271,"imports":[{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/hub/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/useHubAdapter.ts":{"bytes":13313,"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"ts-results","kind":"import-statement","external":true},{"path":"src/legacy/mod.ts","kind":"import-statement","original":"../legacy/mod.js"},{"path":"src/legacy/useAutoConnect.ts","kind":"import-statement","original":"../legacy/useAutoConnect.js"},{"path":"src/hub/autoConnect.ts","kind":"import-statement","original":"./autoConnect.js"},{"path":"src/hub/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"src/hub/lastConnectedWallets.ts","kind":"import-statement","original":"./lastConnectedWallets.js"},{"path":"src/hub/useHubRefs.ts","kind":"import-statement","original":"./useHubRefs.js"},{"path":"src/hub/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/mod.ts":{"bytes":162,"imports":[{"path":"src/hub/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"src/hub/useHubAdapter.ts","kind":"import-statement","original":"./useHubAdapter.js"}],"format":"esm"},"src/useProviders.ts":{"bytes":3458,"imports":[{"path":"src/hub/mod.ts","kind":"import-statement","original":"./hub/mod.js"},{"path":"src/legacy/mod.ts","kind":"import-statement","original":"./legacy/mod.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/provider.tsx":{"bytes":405,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/legacy/context.ts","kind":"import-statement","original":"./legacy/context.js"},{"path":"src/useProviders.ts","kind":"import-statement","original":"./useProviders.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/types.ts":{"bytes":5596,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":173,"imports":[{"path":"src/legacy/helpers.ts","kind":"import-statement","original":"./legacy/helpers.js"},{"path":"src/provider.tsx","kind":"import-statement","original":"./provider.js"},{"path":"src/legacy/hooks.ts","kind":"import-statement","original":"./legacy/hooks.js"},{"path":"src/legacy/types.ts","kind":"import-statement","original":"./legacy/types.js"}],"format":"esm"},"src/helpers/index.ts":{"bytes":55,"imports":[{"path":"src/hub/mod.ts","kind":"import-statement","original":"../hub/mod.js"}],"format":"esm"}},"outputs":{"dist/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":103697},"dist/index.js":{"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/utxo","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"ts-results","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"ts-results","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"ts-results","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true}],"exports":["Events","Provider","availableWallets","checkWalletProviders","choose","clearPersistance","connectedWallets","defaultWalletState","isAsync","makeEventHandler","needsCheckInstallation","stateReducer","tryPersistWallet","tryRemoveWalletFromPersistance","useWallets"],"entryPoint":"src/index.ts","inputs":{"src/legacy/helpers.ts":{"bytesInOutput":1401},"src/hub/constants.ts":{"bytesInOutput":65},"src/hub/lastConnectedWallets.ts":{"bytesInOutput":1311},"src/index.ts":{"bytesInOutput":0},"src/provider.tsx":{"bytesInOutput":133},"src/legacy/context.ts":{"bytesInOutput":431},"src/hub/utils.ts":{"bytesInOutput":3205},"src/legacy/mod.ts":{"bytesInOutput":0},"src/legacy/useLegacyProviders.ts":{"bytesInOutput":2125},"src/legacy/autoConnect.ts":{"bytesInOutput":393},"src/legacy/hooks.ts":{"bytesInOutput":458},"src/legacy/useAutoConnect.ts":{"bytesInOutput":196},"src/legacy/utils.ts":{"bytesInOutput":92},"src/hub/helpers.ts":{"bytesInOutput":1408},"src/hub/mod.ts":{"bytesInOutput":0},"src/hub/useHubAdapter.ts":{"bytesInOutput":4251},"src/hub/autoConnect.ts":{"bytesInOutput":1977},"src/hub/useHubRefs.ts":{"bytesInOutput":497},"src/useProviders.ts":{"bytesInOutput":889},"src/legacy/types.ts":{"bytesInOutput":63}},"bytes":19334},"dist/helpers/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":64839},"dist/helpers/index.js":{"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/utxo","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"ts-results","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"ts-results","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"ts-results","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true}],"exports":["getAllLegacyProviders"],"entryPoint":"src/helpers/index.ts","inputs":{"src/hub/utils.ts":{"bytesInOutput":421},"src/hub/constants.ts":{"bytesInOutput":65},"src/legacy/mod.ts":{"bytesInOutput":0},"src/legacy/context.ts":{"bytesInOutput":427},"src/legacy/useLegacyProviders.ts":{"bytesInOutput":52},"src/hub/lastConnectedWallets.ts":{"bytesInOutput":1311},"src/legacy/helpers.ts":{"bytesInOutput":59},"src/legacy/hooks.ts":{"bytesInOutput":109},"src/legacy/useAutoConnect.ts":{"bytesInOutput":47},"src/hub/helpers.ts":{"bytesInOutput":259},"src/hub/mod.ts":{"bytesInOutput":0},"src/hub/useHubAdapter.ts":{"bytesInOutput":143},"src/hub/autoConnect.ts":{"bytesInOutput":124},"src/hub/useHubRefs.ts":{"bytesInOutput":97},"src/helpers/index.ts":{"bytesInOutput":0}},"bytes":3263}}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rango-dev/wallets-react",
3
- "version": "0.30.2-next.1",
3
+ "version": "0.30.2-next.11",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "source": "./src/index.ts",
@@ -35,8 +35,8 @@
35
35
  "react-dom": "^17.0.0 || ^18.0.0"
36
36
  },
37
37
  "dependencies": {
38
- "@rango-dev/wallets-core": "^0.43.1-next.0",
39
- "@rango-dev/wallets-shared": "^0.44.2-next.1",
38
+ "@rango-dev/wallets-core": "^0.43.1-next.10",
39
+ "@rango-dev/wallets-shared": "^0.44.2-next.12",
40
40
  "rango-types": "^0.1.84",
41
41
  "ts-results": "^3.3.0"
42
42
  },
@@ -47,4 +47,4 @@
47
47
  "publishConfig": {
48
48
  "access": "public"
49
49
  }
50
- }
50
+ }
@@ -77,3 +77,59 @@ export function isConnectResultSolana(
77
77
  ): result is Accounts {
78
78
  return Array.isArray(result);
79
79
  }
80
+
81
+ type QueueItem<T> = {
82
+ task: () => Promise<T>;
83
+ resolve: (value: Result<T, unknown>) => void;
84
+ key: string;
85
+ };
86
+ /**
87
+ * Creates a queue manager that ensures sequential execution of tasks by key.
88
+ * When multiple tasks with the same key are queued, they are executed one at a time
89
+ * in the order they were added. This prevents race conditions and ensures
90
+ * predictable task execution order.
91
+ *
92
+ */
93
+ export function createQueue() {
94
+ const processingKeys = new Set<string>();
95
+ const queue: QueueItem<unknown>[] = [];
96
+
97
+ const processQueue = async () => {
98
+ const currentItem = queue.find((item) => !processingKeys.has(item.key));
99
+ if (!currentItem) {
100
+ return;
101
+ }
102
+
103
+ const { task, resolve, key } = currentItem;
104
+ processingKeys.add(key);
105
+
106
+ try {
107
+ const result = await task();
108
+ resolve(new Ok(result));
109
+ } catch (error) {
110
+ resolve(new Err(error));
111
+ } finally {
112
+ const indexOfCurrentItem = queue.findIndex((item) => item.key === key);
113
+ if (indexOfCurrentItem >= 0) {
114
+ queue.splice(indexOfCurrentItem, 1);
115
+ }
116
+ processingKeys.delete(key);
117
+ void processQueue();
118
+ }
119
+ };
120
+
121
+ const queueTask = async <T>(
122
+ task: () => Promise<T>,
123
+ key: string
124
+ ): Promise<Result<T, unknown>> =>
125
+ new Promise((resolve) => {
126
+ queue.push({
127
+ task,
128
+ resolve: resolve as (value: Result<unknown, unknown>) => void,
129
+ key,
130
+ });
131
+ void processQueue();
132
+ });
133
+
134
+ return queueTask;
135
+ }
@@ -79,18 +79,37 @@ export class LastConnectedWalletsFromStorage {
79
79
  }
80
80
  #addWalletToHub(providerId: string, namespaces: NamespaceInput[]): void {
81
81
  const storage = new Persistor<LastConnectedWalletsStorage>();
82
- const data = storage.getItem(this.#storageKey) || {};
82
+ const storageState = storage.getItem(this.#storageKey) || {};
83
+
84
+ let toBeAddedNamespaces = namespaces;
85
+
86
+ // If provider already exits in the storage, we should just add new namespaces to the previously added namespaces.
87
+ if (!!storageState[providerId]) {
88
+ const storedNamespaces = storageState[providerId];
89
+ toBeAddedNamespaces = storedNamespaces.concat(
90
+ namespaces.filter(
91
+ (namespace) =>
92
+ !storedNamespaces.some(
93
+ (storedNamespace) =>
94
+ storedNamespace.namespace === namespace.namespace
95
+ )
96
+ )
97
+ );
98
+ }
83
99
 
84
100
  storage.setItem(this.#storageKey, {
85
- ...data,
86
- [providerId]: namespaces,
101
+ ...storageState,
102
+ [providerId]: toBeAddedNamespaces,
87
103
  });
88
104
  }
89
105
  #addWalletToLegacy(providerId: string): void {
90
106
  const storage = new Persistor<LegacyLastConnectedWalletsStorage>();
91
- const data = storage.getItem(this.#storageKey) || [];
107
+ const storageState = storage.getItem(this.#storageKey) || [];
92
108
 
93
- storage.setItem(LEGACY_LAST_CONNECTED_WALLETS, data.concat(providerId));
109
+ storage.setItem(
110
+ LEGACY_LAST_CONNECTED_WALLETS,
111
+ storageState.concat(providerId)
112
+ );
94
113
  }
95
114
  #removeWalletsFromHub(providerIds?: string[]): void {
96
115
  const persistor = new Persistor<LastConnectedWalletsStorage>();
@@ -1,5 +1,5 @@
1
1
  import type { AllProxiedNamespaces, ExtensionLink } from './types.js';
2
- import type { Providers } from '../index.js';
2
+ import type { ProviderContext, Providers } from '../index.js';
3
3
  import type { Provider } from '@rango-dev/wallets-core';
4
4
  import type { LegacyNamespaceInputForConnect } from '@rango-dev/wallets-core/legacy';
5
5
  import type { VersionedProviders } from '@rango-dev/wallets-core/utils';
@@ -11,20 +11,17 @@ import { Ok, Result } from 'ts-results';
11
11
  import {
12
12
  type ConnectResult,
13
13
  HUB_LAST_CONNECTED_WALLETS,
14
- type ProviderContext,
15
14
  type ProviderProps,
16
15
  } from '../legacy/mod.js';
17
16
  import { useAutoConnect } from '../legacy/useAutoConnect.js';
18
17
 
19
18
  import { autoConnect } from './autoConnect.js';
20
- import {
21
- fromAccountIdToLegacyAddressFormat,
22
- runSequentiallyWithoutFailure,
23
- } from './helpers.js';
19
+ import { createQueue, fromAccountIdToLegacyAddressFormat } from './helpers.js';
24
20
  import { LastConnectedWalletsFromStorage } from './lastConnectedWallets.js';
25
21
  import { useHubRefs } from './useHubRefs.js';
26
22
  import {
27
23
  getLegacyProvider,
24
+ getSupportedChainsFromProvider,
28
25
  mapHubEventsToLegacy,
29
26
  transformHubResultToLegacyResult,
30
27
  tryConvertNamespaceNetworkToChainInfo,
@@ -46,6 +43,8 @@ export function useHubAdapter(params: UseAdapterParams): ProviderContext {
46
43
  allBlockChains: params.allBlockChains,
47
44
  });
48
45
 
46
+ const queueTask = createQueue();
47
+
49
48
  useEffect(() => {
50
49
  dataRef.current = {
51
50
  onUpdateState: params.onUpdateState,
@@ -94,7 +93,6 @@ export function useHubAdapter(params: UseAdapterParams): ProviderContext {
94
93
  getHub(),
95
94
  event,
96
95
  dataRef.current.onUpdateState,
97
- dataRef.current.allVersionedProviders,
98
96
  dataRef.current.allBlockChains
99
97
  );
100
98
  } catch (e) {
@@ -170,7 +168,7 @@ export function useHubAdapter(params: UseAdapterParams): ProviderContext {
170
168
 
171
169
  // Try to run `connect` on matched namespaces
172
170
  const connectResultFromTargetNamespaces = targetNamespaces.map(
173
- ([namespaceInput, namespace]) => {
171
+ async ([namespaceInput, namespace]) => {
174
172
  const network = tryConvertNamespaceNetworkToChainInfo(
175
173
  namespaceInput,
176
174
  params.allBlockChains || []
@@ -181,7 +179,7 @@ export function useHubAdapter(params: UseAdapterParams): ProviderContext {
181
179
  * our assumption here is all the `connect` hasn't chain or if they have, they will accept it in first argument.
182
180
  * By this assumption, always passing a chain should be problematic since it will be ignored if the namespace's `connect` hasn't chain.
183
181
  */
184
- return async () =>
182
+ const connectNamespaceProcess = async () =>
185
183
  namespace
186
184
  .connect(network)
187
185
  .then<ConnectResult>(transformHubResultToLegacyResult)
@@ -191,10 +189,11 @@ export function useHubAdapter(params: UseAdapterParams): ProviderContext {
191
189
  input: {
192
190
  namespace: namespaceInput.namespace,
193
191
  network: namespaceInput.network,
194
- supportsEagerConnect: !!namespace.canEagerConnect,
192
+ supportsEagerConnect: 'canEagerConnect' in namespace,
195
193
  },
196
194
  };
197
195
  });
196
+ return queueTask(connectNamespaceProcess, type);
198
197
  }
199
198
  );
200
199
 
@@ -202,7 +201,7 @@ export function useHubAdapter(params: UseAdapterParams): ProviderContext {
202
201
  * We need to connect to namespace one after another, sending multiple requests at the same time may be failed.
203
202
  * e.g. when wallet popup opens and asking for the password from the user, it should be resolved first, then other request will be resolved.
204
203
  */
205
- const connectResultWithLegacyFormat = await runSequentiallyWithoutFailure(
204
+ const connectResultWithLegacyFormat = await Promise.all(
206
205
  connectResultFromTargetNamespaces
207
206
  );
208
207
 
@@ -235,7 +234,7 @@ export function useHubAdapter(params: UseAdapterParams): ProviderContext {
235
234
 
236
235
  return allResult.unwrap();
237
236
  },
238
- async disconnect(type) {
237
+ async disconnect(type, namespaces) {
239
238
  const wallet = getHub().get(type);
240
239
  if (!wallet) {
241
240
  throw new Error(
@@ -244,13 +243,23 @@ export function useHubAdapter(params: UseAdapterParams): ProviderContext {
244
243
  }
245
244
 
246
245
  wallet.getAll().forEach((namespace) => {
247
- if (namespace.state()[0]().connected) {
246
+ const namespaceShouldBeDisconnected =
247
+ !namespaces || namespaces.includes(namespace.namespaceId);
248
+ const namespaceIsConnected = namespace.state()[0]().connected;
249
+ if (namespaceShouldBeDisconnected && namespaceIsConnected) {
248
250
  return namespace.disconnect();
249
251
  }
250
252
  });
251
253
 
252
254
  if (params.autoConnect) {
253
- lastConnectedWalletsFromStorage.removeWallets([type]);
255
+ if (namespaces) {
256
+ lastConnectedWalletsFromStorage.removeNamespacesFromWallet(
257
+ type,
258
+ namespaces
259
+ );
260
+ } else {
261
+ lastConnectedWalletsFromStorage.removeWallets([type]);
262
+ }
254
263
  }
255
264
  },
256
265
  async disconnectAll() {
@@ -275,8 +284,6 @@ export function useHubAdapter(params: UseAdapterParams): ProviderContext {
275
284
  throw new Error('Your provider should have required `info`.');
276
285
  }
277
286
 
278
- const provider = getLegacyProvider(params.allVersionedProviders, type);
279
-
280
287
  const installLink: Exclude<WalletInfo['installLink'], string> = {
281
288
  DEFAULT: '',
282
289
  };
@@ -304,8 +311,16 @@ export function useHubAdapter(params: UseAdapterParams): ProviderContext {
304
311
  }
305
312
  });
306
313
 
307
- const walletInfoFromLegacy = provider.getWalletInfo(
308
- params.allBlockChains || []
314
+ const providerProperties = info.properties;
315
+
316
+ const namespacesProperty = providerProperties?.find(
317
+ (property) => property.name === 'namespaces'
318
+ );
319
+ const derivationPathProperty = providerProperties?.find(
320
+ (property) => property.name === 'derivationPath'
321
+ );
322
+ const detailsProperty = providerProperties?.find(
323
+ (property) => property.name === 'details'
309
324
  );
310
325
 
311
326
  return {
@@ -314,13 +329,16 @@ export function useHubAdapter(params: UseAdapterParams): ProviderContext {
314
329
  installLink: installLink,
315
330
  // We don't have this values anymore, fill them with some values that communicate this.
316
331
  color: 'red',
317
- supportedChains: walletInfoFromLegacy.supportedChains,
318
- isContractWallet: false,
319
- mobileWallet: false,
332
+ supportedChains: getSupportedChainsFromProvider(
333
+ wallet,
334
+ dataRef.current.allBlockChains
335
+ ),
336
+ isContractWallet: detailsProperty?.value?.isContractWallet,
337
+ mobileWallet: detailsProperty?.value?.mobileWallet,
320
338
  // if set to false here, it will not show the wallet in mobile in anyways. to be compatible with old behavior, undefined is more appropirate.
321
- showOnMobile: undefined,
322
- needsNamespace: walletInfoFromLegacy.needsNamespace,
323
- needsDerivationPath: walletInfoFromLegacy.needsDerivationPath,
339
+ showOnMobile: detailsProperty?.value?.showOnMobile,
340
+ needsNamespace: namespacesProperty?.value,
341
+ needsDerivationPath: derivationPathProperty?.value,
324
342
 
325
343
  isHub: true,
326
344
  properties: wallet.info()?.properties,
@@ -341,29 +359,38 @@ export function useHubAdapter(params: UseAdapterParams): ProviderContext {
341
359
  return output;
342
360
  },
343
361
  state(type) {
344
- const result = getHub().state();
345
- const provider = result[type];
362
+ const hubState = getHub().state();
363
+ const wallet = getHub().get(type);
364
+ const walletState = hubState[type];
346
365
 
347
- if (!provider) {
366
+ if (!walletState || !wallet) {
348
367
  throw new Error(
349
368
  `It seems your requested provider doesn't exist in hub. Provider Id: ${type}`
350
369
  );
351
370
  }
352
371
 
353
- const accounts = provider.namespaces
372
+ const accounts = walletState.namespaces
354
373
  .filter((namespace) => namespace.connected)
355
374
  .flatMap((namespace) =>
356
375
  namespace.accounts?.map(fromAccountIdToLegacyAddressFormat)
357
376
  )
358
377
  .filter((account): account is string => !!account);
359
378
 
379
+ const namespacesState = new Map(
380
+ Array.from(wallet.getAll(), ([_, value]) => [
381
+ value.namespaceId,
382
+ value.state()[0](),
383
+ ])
384
+ );
385
+
360
386
  const coreState = {
361
- connected: provider.connected,
362
- connecting: provider.connecting,
363
- installed: provider.installed,
387
+ connected: walletState.connected,
388
+ connecting: walletState.connecting,
389
+ installed: walletState.installed,
364
390
  reachable: true,
365
391
  accounts: accounts,
366
392
  network: null,
393
+ namespaces: namespacesState,
367
394
  };
368
395
  return coreState;
369
396
  },
@@ -3,7 +3,7 @@ import type { Provider, Store } from '@rango-dev/wallets-core';
3
3
  import { createStore, Hub } from '@rango-dev/wallets-core';
4
4
  import { useRef } from 'react';
5
5
 
6
- import { checkProviderListsEquality } from './utils.js';
6
+ import { synchronizeHubWithConfigProviders } from './utils.js';
7
7
 
8
8
  export function useHubRefs(providers: Provider[]) {
9
9
  const store = useRef<Store | null>(null);
@@ -38,14 +38,11 @@ export function useHubRefs(providers: Provider[]) {
38
38
  function getHub(): Hub {
39
39
  const hubProviders = hub.current?.getAll();
40
40
 
41
- if (
42
- !hub.current ||
43
- !hubProviders ||
44
- // If hub does not contain a provider, it should be added
45
- !checkProviderListsEquality(Array.from(hubProviders.values()), providers)
46
- ) {
41
+ if (!hub.current || !hubProviders) {
47
42
  return createHub();
48
43
  }
44
+
45
+ synchronizeHubWithConfigProviders(hub.current, providers);
49
46
  return hub.current;
50
47
  }
51
48
 
package/src/hub/utils.ts CHANGED
@@ -68,23 +68,28 @@ const lastConnectedWalletsFromStorage = new LastConnectedWalletsFromStorage(
68
68
  HUB_LAST_CONNECTED_WALLETS
69
69
  );
70
70
 
71
+ export function getSupportedChainsFromProvider(
72
+ provider: Provider,
73
+ allBlockChains: ProviderProps['allBlockChains']
74
+ ) {
75
+ const namespacesProperty = provider
76
+ .info()
77
+ ?.properties?.find((property) => property.name === 'namespaces');
78
+
79
+ const supportedChains =
80
+ namespacesProperty?.value.data.flatMap((namespace) =>
81
+ namespace.getSupportedChains(allBlockChains || [])
82
+ ) || [];
83
+
84
+ return supportedChains;
85
+ }
86
+
71
87
  export function mapHubEventsToLegacy(
72
88
  hub: Hub,
73
89
  event: Event,
74
90
  onUpdateState: WalletEventHandler,
75
- allProviders: VersionedProviders[],
76
91
  allBlockChains: ProviderProps['allBlockChains']
77
92
  ): void {
78
- let legacyProvider;
79
- try {
80
- legacyProvider = getLegacyProvider(allProviders, event.provider);
81
- } catch (e) {
82
- console.warn(
83
- 'Having legacy provider is required for including some information like supported chain. ',
84
- e
85
- );
86
- }
87
-
88
93
  const provider = hub.get(event.provider);
89
94
  if (!provider) {
90
95
  throw new Error(
@@ -121,8 +126,10 @@ export function mapHubEventsToLegacy(
121
126
  };
122
127
 
123
128
  const eventInfo = {
124
- supportedBlockchains:
125
- legacyProvider?.getWalletInfo(allBlockChains || []).supportedChains || [],
129
+ supportedBlockchains: getSupportedChainsFromProvider(
130
+ provider,
131
+ allBlockChains
132
+ ),
126
133
  isContractWallet: false,
127
134
  isHub: true,
128
135
  namespace: namespaceId,
@@ -331,18 +338,35 @@ export function transformHubResultToLegacyResult(
331
338
  };
332
339
  }
333
340
 
334
- export function checkProviderListsEquality(
335
- providerList1: Provider[],
336
- providerList2: Provider[]
341
+ /**
342
+ * Synchronizes providers in the hub with the configuration providers.
343
+ * - Registers and initializes any configuration providers not yet in the hub
344
+ * - Removes providers from the hub that aren't in the configuration
345
+ */
346
+ export function synchronizeHubWithConfigProviders(
347
+ hub: Hub,
348
+ configurationProviders: Provider[]
337
349
  ) {
338
- const providerIds1 = providerList1
339
- .map((provider) => provider.id)
340
- .sort()
341
- .toString();
342
- const providerIds2 = providerList2
343
- .map((provider) => provider.id)
344
- .sort()
345
- .toString();
346
-
347
- return providerIds1 === providerIds2;
350
+ const registeredProviders = hub.getAll();
351
+
352
+ // Register and initialize providers that exist in config but not in hub
353
+ const providersToRegister = configurationProviders.filter(
354
+ (configProvider) => !registeredProviders.get(configProvider.id)
355
+ );
356
+
357
+ providersToRegister.forEach((providerToRegister) => {
358
+ hub.add(providerToRegister.id, providerToRegister);
359
+ providerToRegister.init();
360
+ });
361
+
362
+ // Remove providers that exist in hub but not in config
363
+ registeredProviders.forEach((registeredProvider) => {
364
+ const isProviderInConfig = configurationProviders.some(
365
+ (configProvider) => configProvider.id === registeredProvider.id
366
+ );
367
+
368
+ if (!isProviderInConfig) {
369
+ hub.remove(registeredProvider.id);
370
+ }
371
+ });
348
372
  }
@@ -2,34 +2,34 @@ import type { ProviderContext } from './types.js';
2
2
 
3
3
  import { createContext } from 'react';
4
4
 
5
- const defaultErrorMesssage = "Context hasn't been initialized yet.";
5
+ const defaultErrorMessage = "Context hasn't been initialized yet.";
6
6
  const defaultContext: ProviderContext = {
7
7
  async connect() {
8
- throw new Error(defaultErrorMesssage);
8
+ throw new Error(defaultErrorMessage);
9
9
  },
10
10
  async disconnect() {
11
- throw new Error(defaultErrorMesssage);
11
+ throw new Error(defaultErrorMessage);
12
12
  },
13
13
  async disconnectAll() {
14
- throw new Error(defaultErrorMesssage);
14
+ throw new Error(defaultErrorMessage);
15
15
  },
16
16
  async suggestAndConnect() {
17
- throw new Error(defaultErrorMesssage);
17
+ throw new Error(defaultErrorMessage);
18
18
  },
19
19
  state() {
20
- throw new Error(defaultErrorMesssage);
20
+ throw new Error(defaultErrorMessage);
21
21
  },
22
22
  canSwitchNetworkTo() {
23
- throw new Error(defaultErrorMesssage);
23
+ throw new Error(defaultErrorMessage);
24
24
  },
25
25
  providers() {
26
- throw new Error(defaultErrorMesssage);
26
+ throw new Error(defaultErrorMessage);
27
27
  },
28
28
  getWalletInfo() {
29
- throw new Error(defaultErrorMesssage);
29
+ throw new Error(defaultErrorMessage);
30
30
  },
31
31
  getSigners() {
32
- throw new Error(defaultErrorMesssage);
32
+ throw new Error(defaultErrorMessage);
33
33
  },
34
34
  };
35
35
 
@@ -8,6 +8,8 @@ import type {
8
8
  LegacyState as WalletState,
9
9
  LegacyWalletType as WalletType,
10
10
  } from '@rango-dev/wallets-core/legacy';
11
+ import type { Namespace } from '@rango-dev/wallets-core/namespaces/common';
12
+ import type { NamespaceData } from '@rango-dev/wallets-core/store';
11
13
  import type { BlockchainMeta, SignerFactory } from 'rango-types';
12
14
  import type { PropsWithChildren } from 'react';
13
15
 
@@ -38,10 +40,12 @@ export type ProviderContext = {
38
40
  type: WalletType,
39
41
  namespaces?: LegacyNamespaceInputForConnect[]
40
42
  ): Promise<ConnectResult[]>;
41
- disconnect(type: WalletType): Promise<void>;
43
+ disconnect(type: WalletType, namespaces?: Namespace[]): Promise<void>;
42
44
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
43
45
  disconnectAll(): Promise<PromiseSettledResult<any>[]>;
44
- state(type: WalletType): WalletState;
46
+ state(
47
+ type: WalletType
48
+ ): WalletState & { namespaces?: Map<Namespace, NamespaceData> };
45
49
  canSwitchNetworkTo(type: WalletType, network: Network): boolean;
46
50
  /**
47
51
  * `Provider` in legacy terms means injected instances by wallets into window (e.g. window.ethereum)