Select a created MSafe account, and select n) New transaction to initiate a new transaction. Select 4 to call a module function.
Please choose your transaction type
1) Transfer APT
2) Transfer COIN
3) Register COIN
4) Custom module interaction
5) Module publish
Please input your option: 4
Select module
Then the terminal will prompt arguments for which module to interact with:
Here we simply use the message module in Aptos move example. The move src file is also included in the CLI-MSafe repository, and under ./tests/move.
Select entry function
After inputing the published module name, the MSafe CLI will fetch ABI data from blockchain, and display public entry functions:
In this case, there is only one public entry function set_message from the module ABI. Select the function, and input the parameters which is the input to the function.
Note at this stage, calling an entry function only allows limited type of arguments, including:
u128, u64, u32, u16, u8
address
&signer
vector<u8>
We will support more types shortly.
Input type arguments
First input the number of type arguments. In this case, we do not have type arguments inputs with the entry function signature. Thus, input 0 for Number Type Arguments.
For other functions that take type arguments as input, input the number of arguments and fill in the full name of the argument (E.g. 0x1::coin::CoinInfo).
Input function arguments
The ABI contains function argument types. Follow the instructions to input all parameters:
Note that the signer object is automatically filled in since it cannot be parsed in but through signature verification in MOVE vm.
Confirm and submit
Confirm with transaction details, and submit on chain
Confirm for other owners
For other owners, confirm and execute the transaction either on CLI or web application.
Start Custom module interaction
Module name (E.g. 0x1::coin): 0x1908fe0d337d7bd718c8465030c5f306377ac396f3d7acce92f526ae41637cc0::message
Pulling ABI from chain...
Please select the function you want to interact with:
1) set_message
b) Back
Please input your option: 1
Number Type Arguments: 0
Start to input arguments:
1: Type signer &signer
2: Type 0x1::string::String "hello momentum safe"
Transaction confirmation:
Action: Entry function
Call function: 0x1908fe0d337d7bd718c8465030c5f306377ac396f3d7acce92f526ae41637cc0::message::set_message
Arguments (1): [string] "hello momentum safe"
Sender: 0x1908fe0d337d7bd718c8465030c5f306377ac396f3d7acce92f526ae41637cc0
Sequence Number: 4
Expiration: Sun Oct 09 2022 11:58:45 GMT-0700 (Pacific Daylight Time)
Gas Price: 100
Max Gas: 5000
Transaction information correct? [Y/n]
Transaction 0x121f435278c7e48a49d421cc60951b053c17fe050a8b39047f9145280294e740 submitted to blockchain
Transaction confirmed on chain.
Pending transactions:
| SN | Action | Confirmation |
1) | 4 | Entry Function | 1 / 2
n) New transaction
r) Refresh
b) Back