Macro fuel_vm::double_key

source ·
macro_rules! double_key {
    (
        $i:ident, $first:ident, $first_getter:ident, $second:ident, $second_getter:ident
    ) => { ... };
}
Expand description

The macro defines a new type of double storage key. It is a merge of the two types into one general type that represents the storage key of some entity.

Both types are represented by one big array. It is done from the performance perspective to minimize the number of copies. The current code doesn’t use consumed values and uses it in most cases as on big key(except tests, which require access to sub-keys). But in the future, we may change the layout of the fields based on the performance measurements/new business logic.