dusk-network / rusk

The reference Dusk platform implementation and tools
Mozilla Public License 2.0
156 stars 60 forks source link

Add contract deployment transaction #1882

Closed ureeves closed 2 months ago

ureeves commented 3 months ago

Summary

To enable users to deploy contracts, we need to create a contract deployment transaction. Such a transaction must contain:

Possible solution design or implementation

To implement this one will likely touch the execution-core crate to modify the Transaction type to include a new variant, possibly with the name ContractDeploy or just Deploy.

Additional context

This is in the context of Add Contract Deployment System.

ureeves commented 3 months ago

It might be useful to check if it makes sense to add the expected ContractId to the transaction as well. This would be to allow people to have a transaction fail, together with the deployment, if this is not matched (nice in certain dev situations). However, this might be too cumbersome.

HDauven commented 3 months ago

This issue should also include the ABI work. cc: @miloszm @ureeves @ZER0

ZER0 commented 3 months ago

@HDauven ABI are not included actually, and currently they don't need to; as per discussed in meeting with @miloszm and @ureeves.