Skip to content

Enable Proxy-Delegated Operations in Current Chain Extensions #2566

@LandynDev

Description

@LandynDev

Is your feature request related to a problem? Please describe.

When a coldkey grants a smart contract ProxyType::Staking proxy rights, the contract currently has no way to act on that coldkey's behalf through chain extensions. The existing V1 extensions (IDs 0–15) dispatch as the contract's own address, and the caller-preserved extensions in #2550 dispatch as the transaction signer. Neither supports the case where a contract needs to manage stake for an account that explicitly delegated proxy authority to it.

Describe the solution you'd like

Add proxy-delegated chain extension variants that accept an on_behalf_of: AccountId parameter identifying the proxied account. Validates proxy with the correct ProxyType & dispatches the operation as the proxied account.

Describe alternatives you've considered

A single generic proxy_execute(real_coldkey, call: RuntimeCall) dispatcher. Did not do this because it requires ink! developers to manually SCALE-encode RuntimeCall bytes.

Additional context

No response

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