pub fn upload_code<T: Config>(
    code: Vec<u8>,
    storage_deposit_limit: Option<<<<T as Config>::Currency as Inspect<<T as Config>::AccountId>>::Balance as HasCompact>::Type>,
    determinism: Determinism
)
Expand description

Upload new code without instantiating a contract from it.

If the code does not already exist a deposit is reserved from the caller and unreserved only when [Self::remove_code] is called. The size of the reserve depends on the size of the supplied code.

If the code already exists in storage it will still return Ok and upgrades the in storage version to the current InstructionWeights::version.

Note

Anyone can instantiate a contract from any uploaded code and thus prevent its removal. To avoid this situation a constructor could employ access control so that it can only be instantiated by permissioned entities. The same is true when uploading through [Self::instantiate_with_code].

Warning: Doc-Only

This function is an automatically generated, and is doc-only, uncallable stub. See the real version in Pallet::upload_code.