madara: test(rust-rpc-test): have a contract to declare which is not already declared

during the genesis phase of the sharingan test-chains, we populate the state with a few contracts already declared and deployed.

One of them is ERC20.json. Due to some shenanigans, it was declared with another arbitrary class hash, making it possible for users to re-declare it a second time, this time with it’s real class hash.

Some tests used this contract in order to test the declare workflow starknet-rpc-test::get_transaction_receipt:: work_with_declare_transaction is a survivant of this era that we are ignoring for now.

One should activate this test again by making it declare another contract class, one which is not already present in the storage

About this issue

  • Original URL
  • State: closed
  • Created 9 months ago
  • Comments: 19 (6 by maintainers)

Most upvoted comments

Yeah I’m having a look at that now, it’s cleaner than having n contracts declared imo

Yeah sure. 2 ways you can do it.

  • group all the tests regarding declare in one single tests and do all the checks after a single declare
  • create n contracts with one internal constant ranging from 0 to n. Then use one of them in each test that need to call declare

Contract being declared in starknet-rpc-test::get_transaction_receipt:: work_with_declare_transaction is Counter.json, so this is the contract that can’t be redeclared multiple times right?

I think I’ll go first the first solution, this seems the cleanest now. However, if more declare tests need to happen this could get messy

@edisontim everything for my fellow 42 alumni

Hey, can I take this 😃 ?

I don’t think he’s working on it. Unassigned him.

Assigned to you!

Can I take this one?