Add support for rpc.contracts.uploadCode (#4508)

This commit is contained in:
Jaco
2022-01-27 09:18:51 +02:00
committed by GitHub
parent 6132a34333
commit e5bc2601cc
6 changed files with 65 additions and 2 deletions
@@ -23,6 +23,21 @@ export default {
_reserved: 'Option<Null>'
},
CodeHash: 'Hash',
CodeUploadRequest: {
origin: 'AccountId',
code: 'Bytes',
storageDepositLimit: 'Option<Balance>'
},
CodeUploadResult: {
_enum: {
Ok: 'CodeUploadResultValue',
Err: 'Null'
}
},
CodeUploadResultValue: {
codeHash: 'CodeHash',
deposit: 'Balance'
},
ContractCallRequest: {
origin: 'AccountId',
dest: 'AccountId',
@@ -39,6 +39,25 @@ export default {
],
type: 'ContractInstantiateResult'
},
uploadCode: {
// The RPC here is terribly misnamed - somebody forgot how the RPCs
// are actually done, ie. <module>_<camelCasedMethod>
endpoint: 'contracts_upload_code',
description: 'Upload new code without instantiating a contract from it',
params: [
{
name: 'uploadRequest',
type: 'CodeUploadRequest'
},
{
name: 'at',
type: 'BlockHash',
isHstoric: true,
isOptional: true
}
],
type: 'CodeUploadResult'
},
getStorage: {
description: 'Returns the value under a specified storage key in a contract',
params: [
@@ -20,6 +20,27 @@ export interface AliveContractInfo extends Struct {
/** @name CodeHash */
export interface CodeHash extends Hash {}
/** @name CodeUploadRequest */
export interface CodeUploadRequest extends Struct {
readonly origin: AccountId;
readonly code: Bytes;
readonly storageDepositLimit: Option<Balance>;
}
/** @name CodeUploadResult */
export interface CodeUploadResult extends Enum {
readonly isOk: boolean;
readonly asOk: CodeUploadResultValue;
readonly isErr: boolean;
readonly type: 'Ok' | 'Err';
}
/** @name CodeUploadResultValue */
export interface CodeUploadResultValue extends Struct {
readonly codeHash: CodeHash;
readonly deposit: Balance;
}
/** @name ContractCallFlags */
export interface ContractCallFlags extends Set {
readonly isForwardInput: boolean;