diff --git a/src/backend.cpp b/src/backend.cpp index 5dd6548..7c8e8e3 100644 --- a/src/backend.cpp +++ b/src/backend.cpp @@ -1303,7 +1303,7 @@ namespace lwsf { namespace internal { namespace backend } // current api does not allow height selection, defaults to 0 - rpc::login login{primary.address, primary.view.sec}; + rpc::import_request login{{primary.address, primary.view.sec}, height}; lock.unlock(); auto import = rpc::invoke(client, login); diff --git a/src/rpc.cpp b/src/rpc.cpp index e6918c9..c9fdd3b 100644 --- a/src/rpc.cpp +++ b/src/rpc.cpp @@ -433,6 +433,15 @@ namespace lwsf { namespace internal { namespace rpc } + void write_bytes(wire::json_writer& source, const import_request& self) + { + wire::object(source, + wire::field("address", std::cref(self.creds.address)), + wire::field("view_key", std::cref(self.creds.view_key)), + WIRE_FIELD(from_height) + ); + } + void read_bytes(wire::json_reader& source, import_response& self) { wire::object(source, diff --git a/src/rpc.h b/src/rpc.h index 1d6f9b6..8ab3373 100644 --- a/src/rpc.h +++ b/src/rpc.h @@ -378,6 +378,14 @@ namespace lwsf { namespace internal { namespace rpc void read_bytes(wire::json_reader&, get_unspent_outs_response&); + struct import_request + { + import_request() = delete; + login creds; + std::uint64_t from_height; + }; + void write_bytes(wire::json_writer&, const import_request&); + struct import_response { import_response() = delete;