Load ABI
You have to reference two things in the code editor to load and access a smart contract:
- The contract address
// SYNTAX
address(name, address).
// EXAMPLE
address(hyperdapp, '0x87A852A30f778E2837283B09E49f03200110e865').
address(hyper_dapp, '0x87A852A30f778E2837283B09E49f03200110e865').
- The contract ABI
// SYNTAX
abi(name, [...ABI_FUNCTIONS]).
// EXAMPLE
abi(hyperdapp, [...]).
abi(hyper_dapp, [...]).
The contract
name
must be:- in snake_case OR camelCase
- the same for both the
address()
and theabi()
The dot at the end of the line is very important in Prolog. It marks the end of a statement.
The syntax for writing the
ABI_FUNCTIONS
is the following:// SYNTAX
funtion_name(...input_types): output_type / state_mutability
// EXAMPLES
// View Methods
balanceOf(address, uint256): uint256 / view
name: string / view
// Pure Methods
contractType: bytes32 / pure
// Payable Method
claim(address, uint256): payable
// Non-Payable Method
setContractURI(string)
In Solidity, there are three different
stateMutability
for a function: pure/view/payable/nonpayable. With HyperDapp, you need to reference it only when it is pure/view/payable.If the function name is not camelCase, it must be surrounded by single quotes:
'DEFAULT_ADMIN_ROLE': bytes32 / view
You can load multiple ABIs by using the same syntax as described above. You just need to choose unique smart contract names.
address(hyperdapp, '0x87A852A30f778E2837283B09E49f03200110e865').
abi(hyperdapp, [...]).
address(weth, '0xc778417E063141139Fce010982780140Aa0cD5Ab').
abi(weth, [...]).
Last modified 1yr ago