get_class_at has been marked as TODO and does not retrieve the correct contract ABI.
Contract ABI has incorrect values in ABI function output field.
Failed blockifier to starknet-core conversion on contrat classes which did not define an L1_HANDLER or CONSTRUCTOR in their entrypoints.
Resolves: #32 #33 #34
What is the new behavior?
Contract ABI can now be retrieved based on contract address, not just class hash.
starknet_getClassHashAt retrieves the correct class hash.
starknet_getClassAt retrieves the correct class and ABI.
ABI function output field now has the correct values (was previously using the value of ABI function input field).
blockifier to starknet-core contract class conversion now works even if L1_HANDLER or CONSTRUCTOR is not defined.
Added info log output for when a class is being downloaded.
Does this introduce a breaking change?
No changes have been made to class or ABI storage, so there is no need to synchronize the database
Other information
:warning: Note that due to how the genesis block is currently being stored, contract address to class equivalences relations are not being inserted for block 0. This causes issues for starknet_getClassHashAt and starknet_getClassAt on any class/contract defined on block 0. See #54 for more details.
starknet_getClass, starknet_getClassHashAt and starknet_getClassAt were briefly tested on the following classes:
Pull Request type
What is the current behavior?
get_class_hash_at
has been marked as TODO and does not return.get_class_at
has been marked as TODO and does not retrieve the correct contract ABI.output
field.L1_HANDLER
orCONSTRUCTOR
in their entrypoints.Resolves: #32 #33 #34
What is the new behavior?
starknet_getClassHashAt
retrieves the correct class hash.starknet_getClassAt
retrieves the correct class and ABI.output
field now has the correct values (was previously using the value of ABI functioninput
field).L1_HANDLER
orCONSTRUCTOR
is not defined.Does this introduce a breaking change?
No changes have been made to class or ABI storage, so there is no need to synchronize the database
Other information
starknet_getClass
,starknet_getClassHashAt
andstarknet_getClassAt
were briefly tested on the following classes:More tests will need to follow in Ditto.