let function = Builder::new()
.name("transfer")
.push("daniel")
.push(10u128)
.push(Bytes10([1u8; 10]))
.build();
Use #[solid(contstructor)]
if you're constructing a contract.
Otherwise the name of the struct and the field types will be used
to derive the function signature.
#[derive(Encode)]
#[solid(rename = "random_function")]
struct ContractCallComposite<'a> {
to: (&'a str, u128),
memos: &'a [&'a str],
matrix: &'a [&'a [&'a [u8]]],
}
#[derive(Decode)]
struct ContractCallResponse<'a> {
int: Uint256,
bytes: Bytes<'a>,
memo: &'a str,
address: Address,
}
#[derive(Serialize)]
#[solid(rename = "random_function")]
struct ContractCallComposite<'a> {
to: (&'a str, u128),
memos: &'a [&'a str],
matrix: &'a [&'a [&'a [u8]]],
}
#[derive(Deserialize)]
struct ContractCallResponse<'a> {
int: u128,
bytes: Bytes<'a>,
memo: &'a str,
}