From c26a0543d0c7085e7c69f2e24001975d3270f2b4 Mon Sep 17 00:00:00 2001 From: clemahieu Date: Tue, 19 Dec 2017 11:37:24 -0600 Subject: [PATCH] Adding account encoding function. --- rai/interface.cpp | 10 ++++++++-- rai/interface.h | 2 ++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/rai/interface.cpp b/rai/interface.cpp index 247a0017..42e07e3e 100644 --- a/rai/interface.cpp +++ b/rai/interface.cpp @@ -14,13 +14,19 @@ extern "C" { void xrb_uint256_to_string (xrb_uint256 source, char * destination) { auto const & number (*reinterpret_cast (source)); - strncpy (destination, number.to_string ().c_str (), 65); + strncpy (destination, number.to_string ().c_str (), 64); +} + +void xrb_uint256_to_address (xrb_uint256 source, char * destination) +{ + auto const & number (*reinterpret_cast (source)); + strncpy (destination, number.to_account ().c_str (), 65); } void xrb_uint512_to_string (xrb_uint512 source, char * destination) { auto const & number (*reinterpret_cast (source)); - strncpy (destination, number.to_string ().c_str (), 129); + strncpy (destination, number.to_string ().c_str (), 128); } int xrb_uint256_from_string (const char * source, xrb_uint256 destination) diff --git a/rai/interface.h b/rai/interface.h index 562519b3..cd8d68c9 100644 --- a/rai/interface.h +++ b/rai/interface.h @@ -11,6 +11,8 @@ typedef void * xrb_transaction; // Convert public/private key bytes 'source' to a 64 byte not-null-terminated hex string 'destination' void xrb_uint256_to_string (const xrb_uint256 source, char * destination); +// Convert public key bytes 'source' to a 65 byte non-null-terminated account string 'destination' +void xrb_uint256_to_address (xrb_uint256 source, char * destination) // Convert public/private key bytes 'source' to a 128 byte not-null-terminated hex string 'destination' void xrb_uint512_to_string (const xrb_uint512 source, char * destination);