Implement improvements to new address generation (#1014)
* Revert default instance address generation to classic sequence based method Please enter the commit message for your changes. Lines starting * Start re-adding classic address generator * Extract address generation to file; minor updates * Review comments * Set max salt size * Support predictable address on instantiation * Switch attribute order for backwards compatiblity * Fix salt param check in CLI * Enable tests * Add more tests * Minor fix * Remove migration * Better cli description * Fix init message length prefix * Add sanity checks to address generation and minor updates * Reduce max length in tests for CI * CLI and address generation updates * Add test vectors * Minor updates * Fix cli long doc
This commit is contained in:
@@ -23,6 +23,8 @@
|
||||
- [MsgExecuteContract](#cosmwasm.wasm.v1.MsgExecuteContract)
|
||||
- [MsgExecuteContractResponse](#cosmwasm.wasm.v1.MsgExecuteContractResponse)
|
||||
- [MsgInstantiateContract](#cosmwasm.wasm.v1.MsgInstantiateContract)
|
||||
- [MsgInstantiateContract2](#cosmwasm.wasm.v1.MsgInstantiateContract2)
|
||||
- [MsgInstantiateContract2Response](#cosmwasm.wasm.v1.MsgInstantiateContract2Response)
|
||||
- [MsgInstantiateContractResponse](#cosmwasm.wasm.v1.MsgInstantiateContractResponse)
|
||||
- [MsgMigrateContract](#cosmwasm.wasm.v1.MsgMigrateContract)
|
||||
- [MsgMigrateContractResponse](#cosmwasm.wasm.v1.MsgMigrateContractResponse)
|
||||
@@ -327,7 +329,7 @@ MsgExecuteContractResponse returns execution result data.
|
||||
|
||||
| Field | Type | Label | Description |
|
||||
| ----- | ---- | ----- | ----------- |
|
||||
| `data` | [bytes](#bytes) | | Data contains base64-encoded bytes to returned from the contract |
|
||||
| `data` | [bytes](#bytes) | | Data contains bytes to returned from the contract |
|
||||
|
||||
|
||||
|
||||
@@ -355,6 +357,45 @@ code id.
|
||||
|
||||
|
||||
|
||||
<a name="cosmwasm.wasm.v1.MsgInstantiateContract2"></a>
|
||||
|
||||
### MsgInstantiateContract2
|
||||
MsgInstantiateContract2 create a new smart contract instance for the given
|
||||
code id with a predicable address.
|
||||
|
||||
|
||||
| Field | Type | Label | Description |
|
||||
| ----- | ---- | ----- | ----------- |
|
||||
| `sender` | [string](#string) | | Sender is the that actor that signed the messages |
|
||||
| `admin` | [string](#string) | | Admin is an optional address that can execute migrations |
|
||||
| `code_id` | [uint64](#uint64) | | CodeID is the reference to the stored WASM code |
|
||||
| `label` | [string](#string) | | Label is optional metadata to be stored with a contract instance. |
|
||||
| `msg` | [bytes](#bytes) | | Msg json encoded message to be passed to the contract on instantiation |
|
||||
| `funds` | [cosmos.base.v1beta1.Coin](#cosmos.base.v1beta1.Coin) | repeated | Funds coins that are transferred to the contract on instantiation |
|
||||
| `salt` | [bytes](#bytes) | | Salt is an arbitrary value provided by the sender. Size can be 1 to 64. |
|
||||
| `fix_msg` | [bool](#bool) | | FixMsg include the msg value into the hash for the predictable address. Default is false |
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a name="cosmwasm.wasm.v1.MsgInstantiateContract2Response"></a>
|
||||
|
||||
### MsgInstantiateContract2Response
|
||||
MsgInstantiateContract2Response return instantiation result data
|
||||
|
||||
|
||||
| Field | Type | Label | Description |
|
||||
| ----- | ---- | ----- | ----------- |
|
||||
| `address` | [string](#string) | | Address is the bech32 address of the new contract instance. |
|
||||
| `data` | [bytes](#bytes) | | Data contains bytes to returned from the contract |
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a name="cosmwasm.wasm.v1.MsgInstantiateContractResponse"></a>
|
||||
|
||||
### MsgInstantiateContractResponse
|
||||
@@ -364,7 +405,7 @@ MsgInstantiateContractResponse return instantiation result data
|
||||
| Field | Type | Label | Description |
|
||||
| ----- | ---- | ----- | ----------- |
|
||||
| `address` | [string](#string) | | Address is the bech32 address of the new contract instance. |
|
||||
| `data` | [bytes](#bytes) | | Data contains base64-encoded bytes to returned from the contract |
|
||||
| `data` | [bytes](#bytes) | | Data contains bytes to returned from the contract |
|
||||
|
||||
|
||||
|
||||
@@ -478,7 +519,8 @@ Msg defines the wasm Msg service.
|
||||
| Method Name | Request Type | Response Type | Description | HTTP Verb | Endpoint |
|
||||
| ----------- | ------------ | ------------- | ------------| ------- | -------- |
|
||||
| `StoreCode` | [MsgStoreCode](#cosmwasm.wasm.v1.MsgStoreCode) | [MsgStoreCodeResponse](#cosmwasm.wasm.v1.MsgStoreCodeResponse) | StoreCode to submit Wasm code to the system | |
|
||||
| `InstantiateContract` | [MsgInstantiateContract](#cosmwasm.wasm.v1.MsgInstantiateContract) | [MsgInstantiateContractResponse](#cosmwasm.wasm.v1.MsgInstantiateContractResponse) | Instantiate creates a new smart contract instance for the given code id. | |
|
||||
| `InstantiateContract` | [MsgInstantiateContract](#cosmwasm.wasm.v1.MsgInstantiateContract) | [MsgInstantiateContractResponse](#cosmwasm.wasm.v1.MsgInstantiateContractResponse) | InstantiateContract creates a new smart contract instance for the given code id. | |
|
||||
| `InstantiateContract2` | [MsgInstantiateContract2](#cosmwasm.wasm.v1.MsgInstantiateContract2) | [MsgInstantiateContract2Response](#cosmwasm.wasm.v1.MsgInstantiateContract2Response) | InstantiateContract2 creates a new smart contract instance for the given code id with a predictable address | |
|
||||
| `ExecuteContract` | [MsgExecuteContract](#cosmwasm.wasm.v1.MsgExecuteContract) | [MsgExecuteContractResponse](#cosmwasm.wasm.v1.MsgExecuteContractResponse) | Execute submits the given message data to a smart contract | |
|
||||
| `MigrateContract` | [MsgMigrateContract](#cosmwasm.wasm.v1.MsgMigrateContract) | [MsgMigrateContractResponse](#cosmwasm.wasm.v1.MsgMigrateContractResponse) | Migrate runs a code upgrade/ downgrade for a smart contract | |
|
||||
| `UpdateAdmin` | [MsgUpdateAdmin](#cosmwasm.wasm.v1.MsgUpdateAdmin) | [MsgUpdateAdminResponse](#cosmwasm.wasm.v1.MsgUpdateAdminResponse) | UpdateAdmin sets a new admin for a smart contract | |
|
||||
@@ -560,7 +602,7 @@ order. The intention is to have more human readable data that is auditable.
|
||||
| ----- | ---- | ----- | ----------- |
|
||||
| `store_code` | [MsgStoreCode](#cosmwasm.wasm.v1.MsgStoreCode) | | |
|
||||
| `instantiate_contract` | [MsgInstantiateContract](#cosmwasm.wasm.v1.MsgInstantiateContract) | | |
|
||||
| `execute_contract` | [MsgExecuteContract](#cosmwasm.wasm.v1.MsgExecuteContract) | | |
|
||||
| `execute_contract` | [MsgExecuteContract](#cosmwasm.wasm.v1.MsgExecuteContract) | | MsgInstantiateContract2 intentionally not supported see https://github.com/CosmWasm/wasmd/issues/987 |
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user