drt_sc/api/
call_value_api.rs1use super::{ErrorApiImpl, HandleTypeInfo, ManagedTypeApiImpl};
2
3pub trait CallValueApi: HandleTypeInfo {
4 type CallValueApiImpl: CallValueApiImpl
5 + HandleTypeInfo<
6 ManagedBufferHandle = Self::ManagedBufferHandle,
7 BigIntHandle = Self::BigIntHandle,
8 BigFloatHandle = Self::BigFloatHandle,
9 EllipticCurveHandle = Self::EllipticCurveHandle,
10 >;
11
12 fn call_value_api_impl() -> Self::CallValueApiImpl;
13}
14
15pub trait CallValueApiImpl: ErrorApiImpl + ManagedTypeApiImpl + Sized {
16 fn check_not_payable(&self);
17
18 fn load_rewa_value(&self, dest_handle: Self::BigIntHandle);
21
22 fn load_all_dcdt_transfers(&self, dest_handle: Self::ManagedBufferHandle);
24
25 fn dcdt_num_transfers(&self) -> usize;
30}