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

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":9782,"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":13328,"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":103040},"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":3070},"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":4280},"src/hub/autoConnect.ts":{"bytesInOutput":1977},"src/hub/useHubRefs.ts":{"bytesInOutput":497},"src/useProviders.ts":{"bytesInOutput":889},"src/legacy/types.ts":{"bytesInOutput":63}},"bytes":19228},"dist/helpers/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":64360},"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.10",
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.8",
39
+ "@rango-dev/wallets-shared": "^0.44.2-next.9",
40
40
  "rango-types": "^0.1.84",
41
41
  "ts-results": "^3.3.0"
42
42
  },
@@ -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,16 +11,12 @@ 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 {
@@ -46,6 +42,8 @@ export function useHubAdapter(params: UseAdapterParams): ProviderContext {
46
42
  allBlockChains: params.allBlockChains,
47
43
  });
48
44
 
45
+ const queueTask = createQueue();
46
+
49
47
  useEffect(() => {
50
48
  dataRef.current = {
51
49
  onUpdateState: params.onUpdateState,
@@ -94,8 +92,7 @@ export function useHubAdapter(params: UseAdapterParams): ProviderContext {
94
92
  getHub(),
95
93
  event,
96
94
  dataRef.current.onUpdateState,
97
- dataRef.current.allVersionedProviders,
98
- dataRef.current.allBlockChains
95
+ api
99
96
  );
100
97
  } catch (e) {
101
98
  console.error(e);
@@ -170,7 +167,7 @@ export function useHubAdapter(params: UseAdapterParams): ProviderContext {
170
167
 
171
168
  // Try to run `connect` on matched namespaces
172
169
  const connectResultFromTargetNamespaces = targetNamespaces.map(
173
- ([namespaceInput, namespace]) => {
170
+ async ([namespaceInput, namespace]) => {
174
171
  const network = tryConvertNamespaceNetworkToChainInfo(
175
172
  namespaceInput,
176
173
  params.allBlockChains || []
@@ -181,7 +178,7 @@ export function useHubAdapter(params: UseAdapterParams): ProviderContext {
181
178
  * our assumption here is all the `connect` hasn't chain or if they have, they will accept it in first argument.
182
179
  * By this assumption, always passing a chain should be problematic since it will be ignored if the namespace's `connect` hasn't chain.
183
180
  */
184
- return async () =>
181
+ const connectNamespaceProcess = async () =>
185
182
  namespace
186
183
  .connect(network)
187
184
  .then<ConnectResult>(transformHubResultToLegacyResult)
@@ -191,10 +188,11 @@ export function useHubAdapter(params: UseAdapterParams): ProviderContext {
191
188
  input: {
192
189
  namespace: namespaceInput.namespace,
193
190
  network: namespaceInput.network,
194
- supportsEagerConnect: !!namespace.canEagerConnect,
191
+ supportsEagerConnect: 'canEagerConnect' in namespace,
195
192
  },
196
193
  };
197
194
  });
195
+ return queueTask(connectNamespaceProcess, type);
198
196
  }
199
197
  );
200
198
 
@@ -202,7 +200,7 @@ export function useHubAdapter(params: UseAdapterParams): ProviderContext {
202
200
  * We need to connect to namespace one after another, sending multiple requests at the same time may be failed.
203
201
  * 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
202
  */
205
- const connectResultWithLegacyFormat = await runSequentiallyWithoutFailure(
203
+ const connectResultWithLegacyFormat = await Promise.all(
206
204
  connectResultFromTargetNamespaces
207
205
  );
208
206
 
@@ -235,7 +233,7 @@ export function useHubAdapter(params: UseAdapterParams): ProviderContext {
235
233
 
236
234
  return allResult.unwrap();
237
235
  },
238
- async disconnect(type) {
236
+ async disconnect(type, namespaces) {
239
237
  const wallet = getHub().get(type);
240
238
  if (!wallet) {
241
239
  throw new Error(
@@ -244,13 +242,23 @@ export function useHubAdapter(params: UseAdapterParams): ProviderContext {
244
242
  }
245
243
 
246
244
  wallet.getAll().forEach((namespace) => {
247
- if (namespace.state()[0]().connected) {
245
+ const namespaceShouldBeDisconnected =
246
+ !namespaces || namespaces.includes(namespace.namespaceId);
247
+ const namespaceIsConnected = namespace.state()[0]().connected;
248
+ if (namespaceShouldBeDisconnected && namespaceIsConnected) {
248
249
  return namespace.disconnect();
249
250
  }
250
251
  });
251
252
 
252
253
  if (params.autoConnect) {
253
- lastConnectedWalletsFromStorage.removeWallets([type]);
254
+ if (namespaces) {
255
+ lastConnectedWalletsFromStorage.removeNamespacesFromWallet(
256
+ type,
257
+ namespaces
258
+ );
259
+ } else {
260
+ lastConnectedWalletsFromStorage.removeWallets([type]);
261
+ }
254
262
  }
255
263
  },
256
264
  async disconnectAll() {
@@ -275,8 +283,6 @@ export function useHubAdapter(params: UseAdapterParams): ProviderContext {
275
283
  throw new Error('Your provider should have required `info`.');
276
284
  }
277
285
 
278
- const provider = getLegacyProvider(params.allVersionedProviders, type);
279
-
280
286
  const installLink: Exclude<WalletInfo['installLink'], string> = {
281
287
  DEFAULT: '',
282
288
  };
@@ -304,9 +310,22 @@ export function useHubAdapter(params: UseAdapterParams): ProviderContext {
304
310
  }
305
311
  });
306
312
 
307
- const walletInfoFromLegacy = provider.getWalletInfo(
308
- params.allBlockChains || []
313
+ const providerProperties = info.properties;
314
+
315
+ const namespacesProperty = providerProperties?.find(
316
+ (property) => property.name === 'namespaces'
309
317
  );
318
+ const derivationPathProperty = providerProperties?.find(
319
+ (property) => property.name === 'derivationPath'
320
+ );
321
+ const detailsProperty = providerProperties?.find(
322
+ (property) => property.name === 'details'
323
+ );
324
+
325
+ const supportedChains =
326
+ namespacesProperty?.value.data.flatMap((namespace) =>
327
+ namespace.getSupportedChains(params.allBlockChains || [])
328
+ ) || [];
310
329
 
311
330
  return {
312
331
  name: info.name,
@@ -314,13 +333,13 @@ export function useHubAdapter(params: UseAdapterParams): ProviderContext {
314
333
  installLink: installLink,
315
334
  // We don't have this values anymore, fill them with some values that communicate this.
316
335
  color: 'red',
317
- supportedChains: walletInfoFromLegacy.supportedChains,
318
- isContractWallet: false,
319
- mobileWallet: false,
336
+ supportedChains,
337
+ isContractWallet: detailsProperty?.value?.isContractWallet,
338
+ mobileWallet: detailsProperty?.value?.mobileWallet,
320
339
  // 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,
340
+ showOnMobile: detailsProperty?.value?.showOnMobile,
341
+ needsNamespace: namespacesProperty?.value,
342
+ needsDerivationPath: derivationPathProperty?.value,
324
343
 
325
344
  isHub: true,
326
345
  properties: wallet.info()?.properties,
@@ -341,29 +360,38 @@ export function useHubAdapter(params: UseAdapterParams): ProviderContext {
341
360
  return output;
342
361
  },
343
362
  state(type) {
344
- const result = getHub().state();
345
- const provider = result[type];
363
+ const hubState = getHub().state();
364
+ const wallet = getHub().get(type);
365
+ const walletState = hubState[type];
346
366
 
347
- if (!provider) {
367
+ if (!walletState || !wallet) {
348
368
  throw new Error(
349
369
  `It seems your requested provider doesn't exist in hub. Provider Id: ${type}`
350
370
  );
351
371
  }
352
372
 
353
- const accounts = provider.namespaces
373
+ const accounts = walletState.namespaces
354
374
  .filter((namespace) => namespace.connected)
355
375
  .flatMap((namespace) =>
356
376
  namespace.accounts?.map(fromAccountIdToLegacyAddressFormat)
357
377
  )
358
378
  .filter((account): account is string => !!account);
359
379
 
380
+ const namespacesState = new Map(
381
+ Array.from(wallet.getAll(), ([_, value]) => [
382
+ value.namespaceId,
383
+ value.state()[0](),
384
+ ])
385
+ );
386
+
360
387
  const coreState = {
361
- connected: provider.connected,
362
- connecting: provider.connecting,
363
- installed: provider.installed,
388
+ connected: walletState.connected,
389
+ connecting: walletState.connecting,
390
+ installed: walletState.installed,
364
391
  reachable: true,
365
392
  accounts: accounts,
366
393
  network: null,
394
+ namespaces: namespacesState,
367
395
  };
368
396
  return coreState;
369
397
  },
@@ -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
@@ -19,7 +19,7 @@ import { type BlockchainMeta, isEvmBlockchain } from 'rango-types';
19
19
  import {
20
20
  type ConnectResult,
21
21
  HUB_LAST_CONNECTED_WALLETS,
22
- type ProviderProps,
22
+ type ProviderContext,
23
23
  } from '../legacy/mod.js';
24
24
 
25
25
  import {
@@ -72,19 +72,8 @@ export function mapHubEventsToLegacy(
72
72
  hub: Hub,
73
73
  event: Event,
74
74
  onUpdateState: WalletEventHandler,
75
- allProviders: VersionedProviders[],
76
- allBlockChains: ProviderProps['allBlockChains']
75
+ api: ProviderContext
77
76
  ): 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
77
  const provider = hub.get(event.provider);
89
78
  if (!provider) {
90
79
  throw new Error(
@@ -121,8 +110,7 @@ export function mapHubEventsToLegacy(
121
110
  };
122
111
 
123
112
  const eventInfo = {
124
- supportedBlockchains:
125
- legacyProvider?.getWalletInfo(allBlockChains || []).supportedChains || [],
113
+ supportedBlockchains: api.getWalletInfo(provider.id).supportedChains || [],
126
114
  isContractWallet: false,
127
115
  isHub: true,
128
116
  namespace: namespaceId,
@@ -331,18 +319,35 @@ export function transformHubResultToLegacyResult(
331
319
  };
332
320
  }
333
321
 
334
- export function checkProviderListsEquality(
335
- providerList1: Provider[],
336
- providerList2: Provider[]
322
+ /**
323
+ * Synchronizes providers in the hub with the configuration providers.
324
+ * - Registers and initializes any configuration providers not yet in the hub
325
+ * - Removes providers from the hub that aren't in the configuration
326
+ */
327
+ export function synchronizeHubWithConfigProviders(
328
+ hub: Hub,
329
+ configurationProviders: Provider[]
337
330
  ) {
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;
331
+ const registeredProviders = hub.getAll();
332
+
333
+ // Register and initialize providers that exist in config but not in hub
334
+ const providersToRegister = configurationProviders.filter(
335
+ (configProvider) => !registeredProviders.get(configProvider.id)
336
+ );
337
+
338
+ providersToRegister.forEach((providerToRegister) => {
339
+ hub.add(providerToRegister.id, providerToRegister);
340
+ providerToRegister.init();
341
+ });
342
+
343
+ // Remove providers that exist in hub but not in config
344
+ registeredProviders.forEach((registeredProvider) => {
345
+ const isProviderInConfig = configurationProviders.some(
346
+ (configProvider) => configProvider.id === registeredProvider.id
347
+ );
348
+
349
+ if (!isProviderInConfig) {
350
+ hub.remove(registeredProvider.id);
351
+ }
352
+ });
348
353
  }
@@ -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)
@@ -19,6 +19,9 @@ import {
19
19
  import { useInitializers } from './hooks.js';
20
20
  import { useAutoConnect } from './useAutoConnect.js';
21
21
 
22
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
+ type ProviderType = any;
24
+
22
25
  export type LegacyProviderProps = Omit<ProviderProps, 'providers'> & {
23
26
  providers: LegacyProviderInterface[];
24
27
  };
@@ -86,7 +89,7 @@ export function useLegacyProviders(
86
89
  }
87
90
  },
88
91
  async disconnectAll() {
89
- const disconnect_promises: Promise<any>[] = [];
92
+ const disconnect_promises: Promise<void>[] = [];
90
93
 
91
94
  /*
92
95
  * When a wallet is initializing, a record will be added to `providersState`
@@ -134,7 +137,7 @@ export function useLegacyProviders(
134
137
  : false;
135
138
  },
136
139
  providers() {
137
- const providers: { [type in WalletType]?: any } = {};
140
+ const providers: { [type in WalletType]?: ProviderType } = {};
138
141
  availableWallets(providersState).forEach((type) => {
139
142
  const wallet = wallets.get(type);
140
143
  if (wallet) {