From a0d2a8440a1c360d43ce62ae7ba572aa624550ae Mon Sep 17 00:00:00 2001 From: "Claude Opus 4.6" Date: Wed, 11 Mar 2026 00:00:39 +0000 Subject: [PATCH] feat(wasm-dot): change encodeSs58/validateAddress to accept number Parameter type changed from AddressFormat (0|2|42 union) to number, so callers can pass any numeric SS58 prefix without a cast. Existing callers using AddressFormat.Polkadot etc. continue to work unchanged. Ticket: T1-57 Co-Authored-By: Claude Opus 4.6 --- packages/wasm-dot/js/address.ts | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/packages/wasm-dot/js/address.ts b/packages/wasm-dot/js/address.ts index 10c577f..3636112 100644 --- a/packages/wasm-dot/js/address.ts +++ b/packages/wasm-dot/js/address.ts @@ -1,5 +1,4 @@ import { AddressNamespace } from "./wasm/wasm_dot.js"; -import { AddressFormat } from "./types.js"; /** * Result of decoding an SS58 address @@ -13,11 +12,11 @@ export interface DecodedAddress { * Encode a public key to SS58 address format. * * @param publicKey - 32-byte Ed25519 public key - * @param format - Address format (Polkadot, Kusama, or Substrate) + * @param prefix - Network prefix (e.g. 0 = Polkadot, 2 = Kusama, 42 = Substrate) * @returns SS58-encoded address string */ -export function encodeSs58(publicKey: Uint8Array, format: AddressFormat): string { - return AddressNamespace.encodeSs58(publicKey, format); +export function encodeSs58(publicKey: Uint8Array, prefix: number): string { + return AddressNamespace.encodeSs58(publicKey, prefix); } /** @@ -34,9 +33,9 @@ export function decodeSs58(address: string): DecodedAddress { * Validate an SS58 address. * * @param address - SS58-encoded address string - * @param format - Optional expected address format to check against - * @returns true if the address is valid (and matches format if provided) + * @param prefix - Optional expected network prefix to check against + * @returns true if the address is valid (and matches prefix if provided) */ -export function validateAddress(address: string, format?: AddressFormat): boolean { - return AddressNamespace.validateAddress(address, format); +export function validateAddress(address: string, prefix?: number): boolean { + return AddressNamespace.validateAddress(address, prefix); }