arrow-left

All pages
gitbookPowered by GitBook
1 of 1

Loading...

Day 2 Homework

Please note, only participants who finish their homework for all three days will be eligible for the Certificate of Completion.

Submit your public GitHub repo for the exercise below via this formarrow-up-right

Using chainlink-local write a test for the https://github.com/smartcontractkit/ccip-cross-chain-name-servicearrow-up-right project. You can use https://cll-devrel.gitbook.io/chainlink-local-documentationarrow-up-right for help.

circle-exclamation

During the Exercise #3 we used Chainlink Local's Forked Mode with Foundry. For this homework you should use Chainlink Local's Local Mode with Hardhat.

In the test you must:

  • Create an instance of CCIPLocalSimulator.sol smart contract.

  • Call the configuration() function to get Router contract address.

  • Create instances of CrossChainNameServiceRegister.sol, CrossChainNameServiceReceiver.sol

triangle-exclamation

DO NOT PROVIDE PRIVATE KEY OR TESTNET RPC DETAILS, USE HARDHAT NETWORK ONLY! npx hardhat test --network hardhat

and
CrossChainNameServiceLookup.sol
smart contracts and call the
enableChain()
function where needed.
  • Call the setCrossChainNameServiceAddress function of the CrossChainNameServiceLookup.sol smart contract "source" instance and provide the address of the CrossChainNameServiceRegister.sol smart contract instance. Repeat the process for the CrossChainNameServiceLookup.sol smart contract "receiver" instance and provide the address of the CrossChainNameServiceReceiver.sol smart contract instance.

  • Call the register() function and provide “alice.ccns” and Alice’s EOA address as function arguments.

  • Call the lookup() function and provide “alice.ccns” as a function argument. Assert that the returned address is Alice’s EOA address.

  • Send a url pointing to the public Github repository.