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 the abi()
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

Load Multiple ABIs

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, [...]).
Copy link