diff --git a/CHANGELOG.md b/CHANGELOG.md index 93edf2e96d..daf3f30a08 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,11 +5,12 @@ Changes: - Add Kusama & Polkadot upgrade blocks for 9100/9110 +- Adjust contracts `InstantiateReturnValue` type (no rent projection after 267) ## 6.3.1 Oct 9, 2021 -Upgrade priority: Low. Recoemmended for Kusama & Polkadot runtime 9100+ +Upgrade priority: Low. Recommended for Kusama & Polkadot runtime 9100+ Changes: diff --git a/packages/types/src/augment/registry.ts b/packages/types/src/augment/registry.ts index f128798388..10ec8755d2 100644 --- a/packages/types/src/augment/registry.ts +++ b/packages/types/src/augment/registry.ts @@ -16,7 +16,7 @@ import type { PrefixedStorageKey } from '@polkadot/types/interfaces/childstate'; import type { EthereumAddress, StatementKind } from '@polkadot/types/interfaces/claims'; import type { CollectiveOrigin, MemberCount, ProposalIndex, Votes, VotesTo230 } from '@polkadot/types/interfaces/collective'; import type { AuthorityId, RawVRFOutput } from '@polkadot/types/interfaces/consensus'; -import type { AliveContractInfo, CodeHash, ContractCallRequest, ContractExecResult, ContractExecResultErr, ContractExecResultErrModule, ContractExecResultOk, ContractExecResultResult, ContractExecResultSuccessTo255, ContractExecResultSuccessTo260, ContractExecResultTo255, ContractExecResultTo260, ContractExecResultTo267, ContractInfo, ContractInstantiateResult, ContractStorageKey, DeletedContract, ExecReturnValue, Gas, HostFnWeights, HostFnWeightsTo264, InstantiateRequest, InstantiateReturnValue, InstructionWeights, Limits, LimitsTo264, PrefabWasmModule, RentProjection, Schedule, ScheduleTo212, ScheduleTo258, ScheduleTo264, SeedOf, TombstoneContractInfo, TrieId } from '@polkadot/types/interfaces/contracts'; +import type { AliveContractInfo, CodeHash, ContractCallRequest, ContractExecResult, ContractExecResultErr, ContractExecResultErrModule, ContractExecResultOk, ContractExecResultResult, ContractExecResultSuccessTo255, ContractExecResultSuccessTo260, ContractExecResultTo255, ContractExecResultTo260, ContractExecResultTo267, ContractInfo, ContractInstantiateResult, ContractInstantiateResultTo267, ContractStorageKey, DeletedContract, ExecReturnValue, Gas, HostFnWeights, HostFnWeightsTo264, InstantiateRequest, InstantiateReturnValue, InstantiateReturnValueTo267, InstructionWeights, Limits, LimitsTo264, PrefabWasmModule, RentProjection, Schedule, ScheduleTo212, ScheduleTo258, ScheduleTo264, SeedOf, TombstoneContractInfo, TrieId } from '@polkadot/types/interfaces/contracts'; import type { ContractConstructorSpec, ContractContractSpec, ContractCryptoHasher, ContractDiscriminant, ContractDisplayName, ContractEventParamSpec, ContractEventSpec, ContractLayoutArray, ContractLayoutCell, ContractLayoutEnum, ContractLayoutHash, ContractLayoutHashingStrategy, ContractLayoutKey, ContractLayoutStruct, ContractLayoutStructField, ContractMessageParamSpec, ContractMessageSpec, ContractProject, ContractProjectContract, ContractProjectSource, ContractSelector, ContractStorageLayout, ContractTypeSpec } from '@polkadot/types/interfaces/contractsAbi'; import type { FundIndex, FundInfo, LastContribution, TrieIndex } from '@polkadot/types/interfaces/crowdloan'; import type { ConfigData, MessageId, OverweightIndex, PageCounter, PageIndexData } from '@polkadot/types/interfaces/cumulus'; @@ -228,6 +228,7 @@ declare module '@polkadot/types/types/registry' { ContractExecResultTo267: ContractExecResultTo267; ContractInfo: ContractInfo; ContractInstantiateResult: ContractInstantiateResult; + ContractInstantiateResultTo267: ContractInstantiateResultTo267; ContractLayoutArray: ContractLayoutArray; ContractLayoutCell: ContractLayoutCell; ContractLayoutEnum: ContractLayoutEnum; @@ -485,6 +486,7 @@ declare module '@polkadot/types/types/registry' { InstanceMetadata: InstanceMetadata; InstantiateRequest: InstantiateRequest; InstantiateReturnValue: InstantiateReturnValue; + InstantiateReturnValueTo267: InstantiateReturnValueTo267; InstructionV2: InstructionV2; InstructionWeights: InstructionWeights; InteriorMultiLocation: InteriorMultiLocation; diff --git a/packages/types/src/interfaces/contracts/definitions.ts b/packages/types/src/interfaces/contracts/definitions.ts index 1f67124667..14b17c2137 100644 --- a/packages/types/src/interfaces/contracts/definitions.ts +++ b/packages/types/src/interfaces/contracts/definitions.ts @@ -277,17 +277,28 @@ export default { data: 'Bytes', salt: 'Bytes' }, + ContractInstantiateResultTo267: { + _enum: { + Ok: 'InstantiateReturnValueTo267', + Err: 'Null' + } + }, ContractInstantiateResult: { _enum: { Ok: 'InstantiateReturnValue', Err: 'Null' } }, - InstantiateReturnValue: { + InstantiateReturnValueTo267: { result: 'ExecReturnValue', accountId: 'AccountId', rentProjection: 'Option' }, + InstantiateReturnValue: { + _fallback: 'InstantiateReturnValueTo267', + result: 'ExecReturnValue', + accountId: 'AccountId' + }, InstructionWeights: { i64const: 'u32', i64load: 'u32', diff --git a/packages/types/src/interfaces/contracts/types.ts b/packages/types/src/interfaces/contracts/types.ts index 01bedece8a..ec8caf9873 100644 --- a/packages/types/src/interfaces/contracts/types.ts +++ b/packages/types/src/interfaces/contracts/types.ts @@ -117,6 +117,13 @@ export interface ContractInstantiateResult extends Enum { readonly isErr: boolean; } +/** @name ContractInstantiateResultTo267 */ +export interface ContractInstantiateResultTo267 extends Enum { + readonly isOk: boolean; + readonly asOk: InstantiateReturnValueTo267; + readonly isErr: boolean; +} + /** @name ContractStorageKey */ export interface ContractStorageKey extends U8aFixed {} @@ -254,6 +261,12 @@ export interface InstantiateRequest extends Struct { export interface InstantiateReturnValue extends Struct { readonly result: ExecReturnValue; readonly accountId: AccountId; +} + +/** @name InstantiateReturnValueTo267 */ +export interface InstantiateReturnValueTo267 extends Struct { + readonly result: ExecReturnValue; + readonly accountId: AccountId; readonly rentProjection: Option; }