base58.d.ts 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /**
  2. * Implements [base58](https://www.ietf.org/archive/id/draft-msporny-base58-03.txt) encoding.
  3. *
  4. * Supports both standard base58 and XRP variant alphabets.
  5. *
  6. * ```js
  7. * import { fromBase58, toBase58 } from '@exodus/bytes/base58.js'
  8. * import { fromBase58xrp, toBase58xrp } from '@exodus/bytes/base58.js'
  9. * ```
  10. *
  11. * @module @exodus/bytes/base58.js
  12. */
  13. /// <reference types="node" />
  14. import type { OutputFormat, Uint8ArrayBuffer } from './array.js';
  15. /**
  16. * Encode a `Uint8Array` to a base58 string
  17. *
  18. * Uses the standard Bitcoin base58 alphabet
  19. *
  20. * @param arr - The input bytes
  21. * @returns The base58 encoded string
  22. */
  23. export function toBase58(arr: Uint8Array): string;
  24. /**
  25. * Decode a base58 string to bytes
  26. *
  27. * Uses the standard Bitcoin base58 alphabet
  28. *
  29. * @param string - The base58 encoded string
  30. * @param format - Output format (default: 'uint8')
  31. * @returns The decoded bytes
  32. */
  33. export function fromBase58(string: string, format?: 'uint8'): Uint8ArrayBuffer;
  34. export function fromBase58(string: string, format: 'arraybuffer'): ArrayBuffer;
  35. export function fromBase58(string: string, format: 'buffer'): Buffer;
  36. export function fromBase58(string: string, format?: OutputFormat): Uint8ArrayBuffer | ArrayBuffer | Buffer;
  37. /**
  38. * Encode a `Uint8Array` to a base58 string using XRP alphabet
  39. *
  40. * Uses the XRP variant base58 alphabet
  41. *
  42. * @param arr - The input bytes
  43. * @returns The base58 encoded string
  44. */
  45. export function toBase58xrp(arr: Uint8Array): string;
  46. /**
  47. * Decode a base58 string to bytes using XRP alphabet
  48. *
  49. * Uses the XRP variant base58 alphabet
  50. *
  51. * @param string - The base58 encoded string
  52. * @param format - Output format (default: 'uint8')
  53. * @returns The decoded bytes
  54. */
  55. export function fromBase58xrp(string: string, format?: 'uint8'): Uint8ArrayBuffer;
  56. export function fromBase58xrp(string: string, format: 'arraybuffer'): ArrayBuffer;
  57. export function fromBase58xrp(string: string, format: 'buffer'): Buffer;
  58. export function fromBase58xrp(string: string, format?: OutputFormat): Uint8ArrayBuffer | ArrayBuffer | Buffer;