base58.d.ts 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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: 'buffer'): Buffer;
  35. export function fromBase58(string: string, format?: OutputFormat): Uint8ArrayBuffer | Buffer;
  36. /**
  37. * Encode a `Uint8Array` to a base58 string using XRP alphabet
  38. *
  39. * Uses the XRP variant base58 alphabet
  40. *
  41. * @param arr - The input bytes
  42. * @returns The base58 encoded string
  43. */
  44. export function toBase58xrp(arr: Uint8Array): string;
  45. /**
  46. * Decode a base58 string to bytes using XRP alphabet
  47. *
  48. * Uses the XRP variant base58 alphabet
  49. *
  50. * @param string - The base58 encoded string
  51. * @param format - Output format (default: 'uint8')
  52. * @returns The decoded bytes
  53. */
  54. export function fromBase58xrp(string: string, format?: 'uint8'): Uint8ArrayBuffer;
  55. export function fromBase58xrp(string: string, format: 'buffer'): Buffer;
  56. export function fromBase58xrp(string: string, format?: OutputFormat): Uint8ArrayBuffer | Buffer;