sui_adapter_latest/
execution_value.rs

1// Copyright (c) Mysten Labs, Inc.
2// SPDX-License-Identifier: Apache-2.0
3
4use sui_types::storage::{BackingPackageStore, ChildObjectResolver, StorageView};
5
6pub trait SuiResolver: BackingPackageStore {
7    fn as_backing_package_store(&self) -> &dyn BackingPackageStore;
8}
9
10impl<T> SuiResolver for T
11where
12    T: BackingPackageStore,
13{
14    fn as_backing_package_store(&self) -> &dyn BackingPackageStore {
15        self
16    }
17}
18
19/// Interface with the store necessary to execute a programmable transaction
20pub trait ExecutionState: StorageView + SuiResolver {
21    fn as_child_resolver(&self) -> &dyn ChildObjectResolver;
22}
23
24impl<T> ExecutionState for T
25where
26    T: StorageView,
27    T: SuiResolver,
28{
29    fn as_child_resolver(&self) -> &dyn ChildObjectResolver {
30        self
31    }
32}