Просмотр исходного кода

[runtime/util] Document methods

y 2 лет назад
Родитель
Сommit
d4b8d45b74
1 измененных файлов с 16 добавлено и 1 удалено
  1. 16 1
      src/runtime/import/util.rs

+ 16 - 1
src/runtime/import/util.rs

@@ -40,6 +40,12 @@ pub(crate) fn drk_log(ctx: FunctionEnvMut<Env>, ptr: WasmPtr<u8>, len: u32) {
     }
 }
 
+/// Writes data to the `contract_return_data` field of [`Env`]. The data will
+/// be read from `ptr` at a memory offset specified by `len`.
+/// Returns `0` on success, otherwise returns a positive error code
+/// corresponding to a [`ContractError`]. Note that this is in contrast to other
+/// methods in this file that return negative error codes or else return positive
+/// integers that correspond to success states.
 pub(crate) fn set_return_data(ctx: FunctionEnvMut<Env>, ptr: WasmPtr<u8>, len: u32) -> i64 {
     let env = ctx.data();
     match env.contract_section {
@@ -65,6 +71,9 @@ pub(crate) fn set_return_data(ctx: FunctionEnvMut<Env>, ptr: WasmPtr<u8>, len: u
     }
 }
 
+/// Appends a new object to the objects store. The data for the object is read from
+/// `ptr`. Returns an index corresponding to the new object's index in the objects
+/// store. (This index is equal to the last index in the store.)
 pub(crate) fn put_object_bytes(ctx: FunctionEnvMut<Env>, ptr: WasmPtr<u8>, len: u32) -> i64 {
     let env = ctx.data();
     let memory_view = env.memory_view(&ctx);
@@ -100,6 +109,8 @@ pub(crate) fn put_object_bytes(ctx: FunctionEnvMut<Env>, ptr: WasmPtr<u8>, len:
     obj_idx as i64
 }
 
+/// Retrieve an object from the object store specified by the index `idx`. The object's
+/// data is written to `ptr`. Returns `0` on success and an error code otherwise.
 pub(crate) fn get_object_bytes(ctx: FunctionEnvMut<Env>, ptr: WasmPtr<u8>, idx: u32) -> i64 {
     // Get the slice, where we will read the size of the buffer
 
@@ -132,6 +143,8 @@ pub(crate) fn get_object_bytes(ctx: FunctionEnvMut<Env>, ptr: WasmPtr<u8>, idx:
     0
 }
 
+// Returns the size (number of bytes) of an object in the object store
+// specified by index `idx`.
 pub(crate) fn get_object_size(ctx: FunctionEnvMut<Env>, idx: u32) -> i64 {
     // Get the slice, where we will read the size of the buffer
 
@@ -170,7 +183,9 @@ pub(crate) fn get_verifying_slot_epoch(ctx: FunctionEnvMut<Env>) -> u64 {
     ctx.data().time_keeper.verifying_slot_epoch()
 }
 
-/// Will return requested slot from `SlotStore`.
+/// Copies the data of requested slot from `SlotStore` into the VM by appending
+/// the data to the VM's object store. On success, returns the index of the new object in
+/// the object store. Otherwise, returns an error code (negative value).
 pub(crate) fn get_slot(ctx: FunctionEnvMut<Env>, slot: u64) -> i64 {
     let env = ctx.data();