ink_env/call/
mod.rs

1// Copyright (C) Use Ink (UK) Ltd.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15//! Utilities to call or instantiate contracts on the chain.
16
17mod call_builder;
18mod common;
19mod create_builder;
20mod execution;
21mod selector;
22
23/// Utility types for the cross-contract calling API.
24pub mod utils {
25    pub use super::{
26        common::{
27            ConstructorError,
28            DecodeConstructorError,
29            DecodeMessageResult,
30            ReturnType,
31            Set,
32            Unset,
33            Unwrap,
34        },
35        execution::{
36            ArgsList,
37            Argument,
38            ArgumentList,
39            ArgumentListEnd,
40            EmptyArgumentList,
41        },
42    };
43}
44
45pub use self::{
46    call_builder::{
47        build_call,
48        build_call_abi,
49        build_call_solidity,
50        Call,
51        CallBuilder,
52        CallParams,
53        DelegateCall,
54    },
55    create_builder::{
56        build_create,
57        build_create_abi,
58        build_create_solidity,
59        state,
60        ConstructorReturnType,
61        CreateBuilder,
62        CreateParams,
63        FromAddr,
64        LimitParamsV2,
65    },
66    execution::{
67        Execution,
68        ExecutionInput,
69        Executor,
70    },
71    selector::Selector,
72};