Skip to content

Conversation

kacperzuk-neti
Copy link

Context

FIDL has introduced client smart contracts for use in Fil+. Instead of assigning DataCap directly to clients, it's now assigned to a smart contract. This provides more control over how the DataCap is used and allows allocators to revoke it from clients without needing to involve RKH. This system is already live on mainnet for DDO.

However, this introduces a challenge: from the perspective of the Market actor, the smart contract is the client. The Market actor will call the smart contract to authenticate the deal, but the contract still needs a way to verify that the actual client (the one using the DataCap) initiated the deal, so it can correctly deduct their allowance.

This PR

This pull request proposes a general solution: a new option that allows specifying the client address in the deal proposal separately from the wallet used to sign it.

This means a client can sign the proposal with their own wallet, but set the clientAddress field to point to the smart contract.

The change is fully backwards compatible. If the client-address option is not provided, the system will default to using the signing wallet address, which is the current behavior.

@kacperzuk-neti kacperzuk-neti requested a review from a team as a code owner October 10, 2025 11:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant