0.0.1-beta.1 • Published 5 months ago

@kadena/wallet-adapter-zelcore v0.0.1-beta.1

Weekly downloads
-
License
BSD-3-Clause
Repository
-
Last release
5 months ago

Wallet Adapter Zelcore

This package provides an adapter for the Zelcore Wallet on Kadena. It extends a base adapter while preserving the "kadena_"‑prefixed methods expected by BaseWalletAdapter by mapping them to the Zelcore local HTTP API.

Installation

npm install @kadena/wallet-adapter-zelcore
# or
yarn add @kadena/wallet-adapter-zelcore
# or
pmpm add @kadena/wallet-adapter-zelcore

Factory Usage

The primary export is a factory function createZelcoreAdapter, which detects the Zelcore provider and, if found, returns an adapter instance. If the Zelcore provider is not available, detection returns null:

import { createZelcoreAdapter } from '@kadena/wallet-adapter-zelcore';

(async () => {
  const adapterFactory = createZelcoreAdapter();
  const provider = await adapterFactory.detect();
  if (!provider) {
    console.log('Zelcore Wallet not found.');
    return;
  }
  const adapter = await adapterFactory.adapter(provider);
  await adapter.connect();
  const account = await adapter.getActiveAccount();
  console.log('Connected account:', account);
})().catch((e) => console.error);

Manual Usage of the Adapter or Detection

For lower-level access, the following exports are available:

  • ZelcoreAdapter: The adapter class you can instantiate directly.
  • detectZelcoreProvider: A standalone function that checks whether the Zelcore wallet provider is present. It returns the provider if found, or null otherwise.
import {
  ZelcoreAdapter,
  detectZelcoreProvider,
} from '@kadena/wallet-adapter-zelcore';

(async () => {
  const provider = await detectZelcoreProvider({ silent: true });
  if (!provider) {
    console.log('Zelcore Wallet not available.');
    return;
  }
  const adapter = new ZelcoreWalletAdapter({ provider });
  await adapter.connect();
  console.log('Connected to Zelcore directly!');
})();

Other Notes

  • The adapter internally calls methods like kadena_sign_v1, and kadena_quicksign_v1, mapping them to Zelcore’s local HTTP endpoints (e.g. http://127.0.0.1:9467/v1/sign and /v1/quicksign).
  • If you support multiple wallets in your application, the lazy import in zelcoreAdapter helps reduce your initial bundle size by loading the Zelcore adapter code only when the provider is detected.
  • Ensure that the user has installed the Zelcore wallet. If the wallet is not installed, detection will yield null.
0.0.1-beta.1

5 months ago

0.0.1-beta.0

5 months ago