Skip to content

[FEATURE]: provide call_args in call_data #819

Description

@roaminro

Is there an existing issue for this?

  • I have searched the existing issues

New feature

As a smart contract developer I would like to be able to retrieve, from the authorize entry point, the arguments that were provded in a contract call.

Currently, authorize_arguments.call only provides contract_id and entry_point and relies on the data field to let smart contracts provide additional data. This means that if a smart contract call check_authority and does not provide the contract call args in data then authorize is not able to verify the contract call arguments.

The idea is to add a new field to call_data and provide the contract call args in this new field:

message call_data {
   bytes contract_id = 1 [(btype) = ADDRESS];
   uint32 entry_point = 2;
   bytes caller = 3;
   bytes data = 4;
   bytes call_args = 5;
}

Anything else?

authorize_arguments message definition

call_data message definition

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesttaskA technical work item

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions