Let $ℙₚ$ be defined as in the section Pallas and Vesta.
This function initializes a smart contract deployment.
src/contract/deployooor/src/client/deploy_v1.rssrc/contract/deployooor/src/entrypoint/deploy_v1.rsDefine the deploy params $$ \begin{aligned} \t{Params}\t{Deploy}.WASM &∈ \t𝔹^* \ \t{Params}\t{Deploy}.PK &∈ ℙₚ \ \t{Params}_\t{Deploy}.IX &∈ 𝔹^* \ \end{aligned} $$
{{#include ../../../../../src/sdk/src/deploy.rs:deploy-deploy-params}}
Contract deployment status whether the contract is locked. If yes then fail.
WASM bincode validity whether the provided WASM bincode is valid. If no then fail.
There should be a single signature attached, which uses $\t{PK}$ as the signature public key.
This function finalizes the smart contract state definition.
src/contract/deployooor/src/client/lock_v1.rssrc/contract/deployooor/src/entrypoint/lock_v1.rsDefine the lock params $$ \begin{aligned} \t{Params}_\t{Lock}.PK &∈ \tℙₚ \ \end{aligned} $$
{{#include ../../../../../src/contract/deployooor/src/model.rs:deploy-lock-params}}
Contract deployment status whether the contract is already locked. If yes then fail.
There should be a single signature attached, which uses $\t{PK}$ as the signature public key.