Enable entity and introduce key_as_account_or_contract_or_package #321
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Updated get_immediate_caller and Add key_as_account_or_contract_or_package Key conversion
maintains CEP-18 compatibility, and standardizes caller Key for balances and allowances dictionaries.
Updated get_immediate_caller to clearly map different caller kinds (ACCOUNT, CONTRACT, ENTITY) to a Key, handling:
Legacy accounts + New entities account → AccountHash
Legacy contract packages → ContractPackageHash
New entities (not account)→ PackageHash
Introduced key_as_account_or_contract_or_package helper to convert new-style Key returned by get_immediate_caller into a compatible Key (AccountHash / Hash), ensuring backward compatibility. Storage keeps Key (AccountHash / Hash).
Documented behavior
Testing note: In tests enabling Addressable entities in test builder is depending on added feature test-enable-addressable-entity . Test are now run with or without addressable-entity