Module diem_types::access_path
source · Expand description
Suppose we have the following data structure in a smart contract:
struct B { Map<String, String> mymap; }
struct A { B b; int my_int; }
struct C {
List<int> mylist;
}
A a; C c;
and the data belongs to Alice. Then an access to a.b.mymap would be translated to an access
to an entry in key-value store whose key is <Alice>/a/b/mymap. In the same way, the access to
c.mylist would need to query <Alice>/c/mylist.
So an account stores its data in a directory structure, for example:
If someone needs to query the map above and find out what value associated with “Bob” is,
address will be set to Alice and path will be set to “/a/b/mymap/Bob”.
On the other hand, if you want to query only address will be set to Alice and
path will be set to “/a” and use the get_prefix() method from statedb