Search for a keylet within a specified range on the current ledger
Behaviour
- Read a 34 byte Keylet from the
lread_ptr
- Read a 32 byte Keylet from the
hread_ptr
- Search the ledger for the first (lowest) Keylet of this type in this range.
- If any matching Keylet is found, write it to
write_ptr
.
Definition
int64_t ledger_keylet (
uint32_t write_ptr,
uint32_t write_len,
uint32_t lread_ptr,
uint32_t lread_len,
uint32_t hread_ptr,
uint32_t hread_len
);
Example
//TODO
Parameters
Name | Type | Description |
---|---|---|
write_ptr | uint32_t | Pointer to a buffer to store the output serialised Keylet. . |
write_len | uint32_t | Length of the output buffer. Must be 34 bytes |
lread_ptr | uint32_t | Pointer to the 34 byte serialised Keylet that represents the lower boundary of the Keylet range to search. |
lread_len | uint32_t | Always 34 bytes |
hread_ptr | uint32_t | Pointer to the 34 byte serialised Keylet that represents the upper boundary of the Keylet range to search. |
hread_len | uint32_t | Always 34 bytes |
Return Code
Type | Description |
---|---|
int64_t | The number of bytes written (34 bytes) on success. If negative, an error: OUT_OF_BOUNDS - pointers/lengths specified outside of hook memory. TOO_SMALL / TOO_BIG - write_len , lread_len or hread_len was not 34 bytesINVALID_ARGUMENT - One or more of the provided Keylets was not a valid serialised Keylet DOES_NOT_MATCH - The two provided Keylets were not of the same Keylet Type. DOESNT_EXIST - No matching Keylet was found in the specified range. |