multiversx_sc/api/
endpoint_finish_api.rs

1use super::{ErrorApi, HandleTypeInfo};
2
3pub trait EndpointFinishApi: HandleTypeInfo + ErrorApi {
4    type EndpointFinishApiImpl: EndpointFinishApiImpl
5        + HandleTypeInfo<
6            ManagedBufferHandle = Self::ManagedBufferHandle,
7            BigIntHandle = Self::BigIntHandle,
8            BigFloatHandle = Self::BigFloatHandle,
9            EllipticCurveHandle = Self::EllipticCurveHandle,
10        >;
11
12    fn finish_api_impl() -> Self::EndpointFinishApiImpl;
13}
14
15/// Interface to only be used by code generated by the macros.
16/// The smart contract code doesn't have access to these methods directly.
17pub trait EndpointFinishApiImpl: HandleTypeInfo {
18    fn finish_slice_u8(&self, slice: &[u8]);
19
20    fn finish_big_int_raw(&self, handle: Self::BigIntHandle);
21
22    fn finish_big_uint_raw(&self, handle: Self::BigIntHandle);
23
24    fn finish_managed_buffer_raw(&self, handle: Self::ManagedBufferHandle);
25
26    fn finish_u64(&self, value: u64);
27
28    fn finish_i64(&self, value: i64);
29}