@usebutr/core 0.3.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +76 -33
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1461 -1
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -43,17 +43,17 @@ type StoredPoolEntry = {
|
|
|
43
43
|
type StoredPoolRecord = Partial<Record<string, StoredPoolEntry>>;
|
|
44
44
|
type StoredSelectionRecord = Partial<Record<ChainPlatform, string>>;
|
|
45
45
|
type WalletPersistence = {
|
|
46
|
-
clearAll()
|
|
47
|
-
clearPool()
|
|
48
|
-
getActiveConnectorId()
|
|
49
|
-
getPool()
|
|
50
|
-
getSelection()
|
|
51
|
-
isUserDisconnected()
|
|
52
|
-
markUserDisconnected(value: boolean)
|
|
53
|
-
removePoolEntry(connectorId: string)
|
|
54
|
-
setActiveConnectorId(connectorId: string | null)
|
|
55
|
-
setPool(pool: Map<string, ConnectedWallet>)
|
|
56
|
-
setSelection(selection: Map<ChainPlatform, string>)
|
|
46
|
+
clearAll: () => Promise<void>;
|
|
47
|
+
clearPool: () => Promise<void>;
|
|
48
|
+
getActiveConnectorId: () => Promise<string | null>;
|
|
49
|
+
getPool: () => Promise<StoredPoolRecord>;
|
|
50
|
+
getSelection: () => Promise<StoredSelectionRecord>;
|
|
51
|
+
isUserDisconnected: () => Promise<boolean>;
|
|
52
|
+
markUserDisconnected: (value: boolean) => Promise<void>;
|
|
53
|
+
removePoolEntry: (connectorId: string) => Promise<void>;
|
|
54
|
+
setActiveConnectorId: (connectorId: string | null) => Promise<void>;
|
|
55
|
+
setPool: (pool: Map<string, ConnectedWallet>) => Promise<void>;
|
|
56
|
+
setSelection: (selection: Map<ChainPlatform, string>) => Promise<void>;
|
|
57
57
|
};
|
|
58
58
|
//#endregion
|
|
59
59
|
//#region src/storage/snapshot.d.ts
|
|
@@ -170,7 +170,15 @@ type ConnectionErrorKind = ConnectionError["kind"];
|
|
|
170
170
|
declare const mapConnectionError: (raw: unknown) => ConnectionError;
|
|
171
171
|
//#endregion
|
|
172
172
|
//#region src/types/wallet.d.ts
|
|
173
|
-
|
|
173
|
+
/**
|
|
174
|
+
* Canonical list of supported chain platforms. The single runtime source
|
|
175
|
+
* of truth: `ChainPlatform` is derived from it, and storage validators
|
|
176
|
+
* build their allowlists from it, so the type and the runtime checks can
|
|
177
|
+
* never drift (a missing platform here was why Polkadot connections failed
|
|
178
|
+
* to persist).
|
|
179
|
+
*/
|
|
180
|
+
declare const CHAIN_PLATFORMS: readonly ["evm", "svm", "sui", "bitcoin", "polkadot"];
|
|
181
|
+
type ChainPlatform = (typeof CHAIN_PLATFORMS)[number];
|
|
174
182
|
type Account = {
|
|
175
183
|
chain: ChainBase;
|
|
176
184
|
id: string;
|
|
@@ -293,17 +301,17 @@ type Connector<P extends ChainPlatform = ChainPlatform> = {
|
|
|
293
301
|
* EIP-1193). Adapters that can't reconnect without a prompt should
|
|
294
302
|
* reject when `silent` is set rather than show UI; hydration treats
|
|
295
303
|
* the rejection as a clean restore failure. */
|
|
296
|
-
connect(opts?: {
|
|
304
|
+
connect: (opts?: {
|
|
297
305
|
silent?: boolean;
|
|
298
|
-
})
|
|
299
|
-
disconnect
|
|
306
|
+
}) => Promise<void>; /** Optional teardown. butr calls this on disconnect, error recovery, and reset. */
|
|
307
|
+
disconnect?: () => Promise<void>;
|
|
300
308
|
/** Read the currently-active account. butr uses this to populate the pool
|
|
301
309
|
* after a successful `connect()` and during hydration. */
|
|
302
|
-
getAccount()
|
|
310
|
+
getAccount: () => Promise<Account | null>;
|
|
303
311
|
/** Optional. List every account the wallet exposes. Some browser wallets
|
|
304
312
|
* show many accounts at once (MetaMask with multiple imports). If
|
|
305
313
|
* omitted, butr defaults to `[await getAccount()]`. */
|
|
306
|
-
getAccounts
|
|
314
|
+
getAccounts?: () => Promise<Array<Account>>;
|
|
307
315
|
/** Optional. Wallet logo as a URL or data URI. Adapters built via butr's
|
|
308
316
|
* auto-discovery (EIP-6963, Wallet Standard) populate this from the
|
|
309
317
|
* wallet's announced metadata; hand-rolled adapters can leave it
|
|
@@ -319,14 +327,14 @@ type Connector<P extends ChainPlatform = ChainPlatform> = {
|
|
|
319
327
|
* new accounts — call `getAccounts()` (or use butr's
|
|
320
328
|
* `useRequestAccounts` hook, which refreshes the pool entry for
|
|
321
329
|
* you). */
|
|
322
|
-
requestAccounts
|
|
330
|
+
requestAccounts?: () => Promise<void>;
|
|
323
331
|
/** Optional. Subscribe to wallet-side events (account swap, network swap,
|
|
324
332
|
* external disconnect). butr's runtime calls this after a successful
|
|
325
333
|
* `connect()`, and uses the returned function to unsubscribe on
|
|
326
334
|
* disconnect / reset. Bridges native wallet events into the reducer so
|
|
327
335
|
* consumers don't have to wire `accountsChanged` / `chainChanged`
|
|
328
336
|
* themselves. */
|
|
329
|
-
subscribe
|
|
337
|
+
subscribe?: (listener: (event: ConnectorEvent) => void) => () => void;
|
|
330
338
|
};
|
|
331
339
|
/**
|
|
332
340
|
* Methods every connected wallet supports regardless of chain. The
|
|
@@ -337,12 +345,12 @@ type WalletBase = {
|
|
|
337
345
|
/** Read a token balance. `mint` is optional; the connector decides
|
|
338
346
|
* what "no mint" means for its chain (native ETH on EVM, native SOL
|
|
339
347
|
* on Solana, etc.). */
|
|
340
|
-
getBalance(mint?: string)
|
|
348
|
+
getBalance: (mint?: string) => Promise<Balance>;
|
|
341
349
|
/** Returns a chain-specific signer. Consumers cast to the concrete
|
|
342
350
|
* type via the `SignerForPlatform` registry (or directly to the
|
|
343
351
|
* library shape they wrap — `WalletClient` on viem, etc.). */
|
|
344
|
-
getSigner()
|
|
345
|
-
getTransactionReceipt(tx: string)
|
|
352
|
+
getSigner: () => Promise<unknown>; /** Look up the status of a previously-submitted transaction. */
|
|
353
|
+
getTransactionReceipt: (tx: string) => Promise<{
|
|
346
354
|
status: "Success" | "Error" | "Pending";
|
|
347
355
|
}>;
|
|
348
356
|
/** Submit a transaction on the wallet's currently-active chain.
|
|
@@ -351,12 +359,12 @@ type WalletBase = {
|
|
|
351
359
|
* wallet's currently-active one. EVM wallets honour this via
|
|
352
360
|
* `tx.from`; Wallet Standard wallets via the feature's `account`
|
|
353
361
|
* input. Omit for "use whichever the wallet picks." */
|
|
354
|
-
sendTx(tx: unknown, account?: Account)
|
|
362
|
+
sendTx: (tx: unknown, account?: Account) => Promise<string>;
|
|
355
363
|
/** Submit a transaction targeting a specific chain. The optional
|
|
356
364
|
* callback fires after the connector has switched chain (consumers
|
|
357
365
|
* use this to re-enable UI). Pass an `account` to route through a
|
|
358
366
|
* specific exposed address (see `sendTx`). */
|
|
359
|
-
sendTxToChain(tx: unknown, targetChainId: string, account?: Account, cb?: () => void)
|
|
367
|
+
sendTxToChain: (tx: unknown, targetChainId: string, account?: Account, cb?: () => void) => Promise<string>;
|
|
360
368
|
/**
|
|
361
369
|
* Sign a message and return both the signature and the bytes the wallet
|
|
362
370
|
* actually signed. Solana Wallet Standard wallets may prefix or re-encode
|
|
@@ -368,14 +376,14 @@ type WalletBase = {
|
|
|
368
376
|
* uses the feature's `account` input. Both support per-call signing
|
|
369
377
|
* without changing the wallet's active account.
|
|
370
378
|
*/
|
|
371
|
-
signMessage(msg: Uint8Array, account?: Account)
|
|
379
|
+
signMessage: (msg: Uint8Array, account?: Account) => Promise<{
|
|
372
380
|
signature: Uint8Array;
|
|
373
381
|
signedMessage: Uint8Array;
|
|
374
382
|
}>;
|
|
375
383
|
/** Switch to a different account on the same wallet (some wallets
|
|
376
384
|
* expose multiple accounts simultaneously). */
|
|
377
|
-
switchAccount
|
|
378
|
-
switchChain(chain: ChainBase)
|
|
385
|
+
switchAccount?: (address: string) => Promise<void>; /** Switch the wallet's active chain. */
|
|
386
|
+
switchChain: (chain: ChainBase) => Promise<void>;
|
|
379
387
|
};
|
|
380
388
|
/**
|
|
381
389
|
* EVM wallet surface. No `signIn` (Sign-In-With-Ethereum is an app-level
|
|
@@ -398,7 +406,7 @@ type SvmWallet = WalletBase & {
|
|
|
398
406
|
* consumer can verify server-side. `input` is the SIWS message fields
|
|
399
407
|
* (domain, statement, nonce, …) — pass `{}` or omit for wallet
|
|
400
408
|
* defaults. */
|
|
401
|
-
signIn
|
|
409
|
+
signIn?: (input?: Record<string, unknown>) => Promise<{
|
|
402
410
|
account: Account;
|
|
403
411
|
signature: Uint8Array;
|
|
404
412
|
signedMessage: Uint8Array;
|
|
@@ -406,7 +414,7 @@ type SvmWallet = WalletBase & {
|
|
|
406
414
|
/** Sign a Solana transaction WITHOUT broadcasting it. butr ships no
|
|
407
415
|
* RPC, so the consumer broadcasts the returned bytes via
|
|
408
416
|
* `@solana/kit` / `@solana/web3.js` / etc. */
|
|
409
|
-
signTransaction
|
|
417
|
+
signTransaction?: (tx: unknown, account?: Account) => Promise<Uint8Array>;
|
|
410
418
|
};
|
|
411
419
|
/**
|
|
412
420
|
* Sui wallet surface. Adds optional `signTransaction` for the
|
|
@@ -414,7 +422,7 @@ type SvmWallet = WalletBase & {
|
|
|
414
422
|
* consumer via `@mysten/sui`'s SuiClient.
|
|
415
423
|
*/
|
|
416
424
|
type SuiWallet = WalletBase & {
|
|
417
|
-
signTransaction
|
|
425
|
+
signTransaction?: (tx: unknown, account?: Account) => Promise<Uint8Array>;
|
|
418
426
|
};
|
|
419
427
|
/**
|
|
420
428
|
* Bitcoin wallet surface. `signTransaction` here is `bitcoin:signPsbt`
|
|
@@ -423,7 +431,7 @@ type SuiWallet = WalletBase & {
|
|
|
423
431
|
* broadcast through their own Esplora / Electrum client.
|
|
424
432
|
*/
|
|
425
433
|
type BitcoinWallet = WalletBase & {
|
|
426
|
-
signTransaction
|
|
434
|
+
signTransaction?: (tx: unknown, account?: Account) => Promise<Uint8Array>;
|
|
427
435
|
};
|
|
428
436
|
/**
|
|
429
437
|
* Polkadot/Substrate wallet surface. No standalone `signTransaction`:
|
|
@@ -716,7 +724,7 @@ type SignerOf<P extends keyof SignerForPlatform> = SignerForPlatform[P];
|
|
|
716
724
|
* implement this type without depending on `@usebutr/wallets`.
|
|
717
725
|
*/
|
|
718
726
|
type WalletSource = {
|
|
719
|
-
subscribe(onAdapter: (adapter: WalletAdapter) => void)
|
|
727
|
+
subscribe: (onAdapter: (adapter: WalletAdapter) => void) => () => void;
|
|
720
728
|
};
|
|
721
729
|
/**
|
|
722
730
|
* Wrap a bare `subscribe` function (the exact shape of
|
|
@@ -966,5 +974,40 @@ declare const logError: (...args: ReadonlyArray<unknown>) => void;
|
|
|
966
974
|
*/
|
|
967
975
|
declare const sanitizeIcon: (icon: string | undefined) => string | undefined;
|
|
968
976
|
//#endregion
|
|
969
|
-
|
|
977
|
+
//#region src/encoding/bytes.d.ts
|
|
978
|
+
/**
|
|
979
|
+
* Shared byte-encoding helpers for the connector packages.
|
|
980
|
+
*
|
|
981
|
+
* These functions sit directly on the signing/address path of every
|
|
982
|
+
* chain. They used to be hand-reimplemented in ~10 connector files; a
|
|
983
|
+
* single tested module removes the drift surface (a `padStart` omission
|
|
984
|
+
* or base64 variant mismatch corrupts signatures/addresses for one chain
|
|
985
|
+
* only, and the divergence is invisible because the copies look "the
|
|
986
|
+
* same").
|
|
987
|
+
*
|
|
988
|
+
* Hex prefixing diverges across chains, so the module exposes **explicit
|
|
989
|
+
* variants** rather than one function:
|
|
990
|
+
* - {@link bytesToHex} returns bare hex (Bitcoin, Ledger).
|
|
991
|
+
* - {@link bytesToHexPrefixed} returns `0x`-prefixed hex (EVM, Polkadot).
|
|
992
|
+
* - {@link hexToBytes} tolerantly strips an optional `0x` (all callers).
|
|
993
|
+
*/
|
|
994
|
+
/** Bare lowercase hex — no `0x` prefix (Bitcoin, Ledger). */
|
|
995
|
+
declare const bytesToHex: (bytes: Uint8Array) => string;
|
|
996
|
+
/** `0x`-prefixed lowercase hex (EVM, Polkadot). */
|
|
997
|
+
declare const bytesToHexPrefixed: (bytes: Uint8Array) => string;
|
|
998
|
+
/**
|
|
999
|
+
* Decode hex (with or without a leading `0x`) into raw bytes. Throws on
|
|
1000
|
+
* odd-length input or non-hex characters rather than silently producing
|
|
1001
|
+
* `NaN`-filled bytes.
|
|
1002
|
+
*/
|
|
1003
|
+
declare const hexToBytes: (hex: string) => Uint8Array;
|
|
1004
|
+
/**
|
|
1005
|
+
* Cross-platform base64 → `Uint8Array`. `atob` is available everywhere
|
|
1006
|
+
* butr runs (browsers, RN since Hermes, Node 16+, Bun, Deno).
|
|
1007
|
+
*/
|
|
1008
|
+
declare const base64ToBytes: (b64: string) => Uint8Array;
|
|
1009
|
+
/** Cross-platform `Uint8Array` → base64. */
|
|
1010
|
+
declare const bytesToBase64: (bytes: Uint8Array) => string;
|
|
1011
|
+
//#endregion
|
|
1012
|
+
export { type Account, type Balance, type BitcoinAdapter, type BitcoinWallet, type BrowserStorageDrivers, CHAIN_PLATFORMS, type ChainBase, type ChainPlatform, type ChainsByPlatform, type ConnectedWallet, type ConnectionError, type ConnectionErrorKind, type ConnectionStatus, type Connector, type ConnectorEvent, type ConnectorMeta, type CookieDriverOptions, type CookieSource, EMPTY_SNAPSHOT, type EvmAdapter, type EvmWallet, type HydrationOutcome, type InitialCookies, type MaybePromise, type PlatformDiscoverer, type PolkadotAdapter, type PolkadotWallet, type SignerForPlatform, type SignerOf, type SnapshotOptions, type StorageDriver, type StoredPoolEntry, type StoredPoolRecord, type StoredSelectionRecord, type SuiAdapter, type SuiWallet, type SvmAdapter, type SvmWallet, type Wallet, type WalletAdapter, type WalletAvailability, type WalletBase, type WalletCapabilities, type WalletManagerConfig, type WalletPersistence, type WalletSnapshot, type WalletSource, WalletStorage, type WalletStore, type WalletStoreState, base64ToBytes, buildChainsByPlatform, bytesToBase64, bytesToHex, bytesToHexPrefixed, createBrowserStorageDriver, createCookieStorageDriver, createMemoryStorageDriver, createWalletSource, createWalletStore, hexToBytes, logError, logWarn, mapConnectionError, readWalletSnapshot, sanitizeIcon, walletEqual };
|
|
970
1013
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/types/chain.ts","../src/storage/persistence.ts","../src/storage/snapshot.ts","../src/types/errors.ts","../src/types/wallet.ts","../src/types/chains-by-platform.ts","../src/types/discoverer.ts","../src/types/signer.ts","../src/wallet-source.ts","../src/store/reducer.ts","../src/storage/browser-storage-driver.ts","../src/storage/cookie-storage-driver.ts","../src/storage/wallet-storage.ts","../src/store/wallet-store.ts","../src/wallet-equal.ts","../src/logger.ts","../src/sanitize-icon.ts"],"mappings":";;;;;;;;KAOK,SAAA;EAQH,oFANA,EAAA,UAMS;EAJT,IAAA;EAEA,SAAA,UCXG;EDaH,SAAA;AAAA;;;KCbG,YAAA,MAAkB,CAAA,GAAI,OAAA,CAAQ,CAAA;;;KAI9B,aAAA;EACH,OAAA,GAAU,GAAA,aAAgB,YAAA;EAC1B,UAAA,GAAa,GAAA,aAAgB,YAAA;EAC7B,OAAA,GAAU,GAAA,UAAa,KAAA,aAAkB,YAAA;AAAA;AAAA,KAGtC,eAAA;EACH,OAAA,EAAS,OAAA;;;EAGT,QAAA,EAAU,KAAA,CAAM,OAAA;EAChB,aAAA,EAAe,aAAA;EACf,WAAA;EAhBe;;;;EAqBf,IAAA;EArBgC;;;;EA0BhC,IAAA;AAAA;AAAA,KAGG,gBAAA,GAAmB,OAAA,CAAQ,MAAA,SAAe,eAAA;AAAA,KAC1C,qBAAA,GAAwB,OAAA,CAAQ,MAAA,CAAO,aAAA;AAAA,KAEvC,iBAAA;EACH,QAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/types/chain.ts","../src/storage/persistence.ts","../src/storage/snapshot.ts","../src/types/errors.ts","../src/types/wallet.ts","../src/types/chains-by-platform.ts","../src/types/discoverer.ts","../src/types/signer.ts","../src/wallet-source.ts","../src/store/reducer.ts","../src/storage/browser-storage-driver.ts","../src/storage/cookie-storage-driver.ts","../src/storage/wallet-storage.ts","../src/store/wallet-store.ts","../src/wallet-equal.ts","../src/logger.ts","../src/sanitize-icon.ts","../src/encoding/bytes.ts"],"mappings":"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"}
|