Skip to content

feat: Respect 63/64 rule in vm.callContract #224

@michaelkaplan13

Description

@michaelkaplan13

What's the feature 🧐

Custom precompiles are capable of using callContract to make calls to other contracts or precompiles.

To have effective behavioral parity with calls out from standard smart contracts, callContract should respect the 63/64 rule applied by standard opCall logic.

Recommended approach and alternatives

callContract was used previously by the native asset precompile on the C-Chain, without the 63/64 rule applied. In order to maintain backwards compatibility with historic execution there could be an option to have callContract bypass the rule, and this option should be set in the (now fully deprecated) native asset precompile.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions