Macro aptos_contract
aptos_contract!() { /* proc-macro */ }Available on crate feature
macros only.Expand description
Generates type-safe contract bindings from an ABI.
§Syntax
ⓘ
aptos_contract! {
name: StructName,
abi: "{ ... JSON ABI ... }",
// Optional: Move source for better parameter names
source: "module 0x1::coin { ... }"
}§Example
ⓘ
use aptos_sdk_macros::aptos_contract;
aptos_contract! {
name: AptosCoin,
abi: r#"{
"address": "0x1",
"name": "aptos_coin",
"exposed_functions": [
{
"name": "transfer",
"visibility": "public",
"is_entry": true,
"is_view": false,
"generic_type_params": [],
"params": ["&signer", "address", "u64"],
"return": []
}
],
"structs": []
}"#
}
// Now you can use:
let payload = AptosCoin::transfer(recipient_addr, 1000)?;