github terra-money/classic-core v0.5.0-beta1

latest releases: v2.3.0, v2.2.2, v2.2.1...
pre-release3 years ago

Summary of changes

  • #467 Split market base pool into mint & burn base pool
  • #465 #472 Bump cosmwasm to v0.14.0
  • Bump SDK to stargate version
  • Burn seigniorage * reward_weight amount
  • Dividend swap fees to faithful oracles

Contract Migration Guide

https://github.com/terra-project/mainnet/wiki/Columbus-4-to-Columbus-5-contract-migration-guide

Uncategorized Changes

  • ~/.terrad home changed to ~/.terra
  • $ terracli rest-server removed, instead you can activate rest-server on ~/.terra/config/app.toml by setting enable = true of [api] section.
  • Swagger url changed to :1317/swagger-ui/ to :1317/swagger/

API Breaking Changes

Cosmos side breaking changes: https://docs.cosmos.network/master/migrations/rest.html

  • [GET] /auth/accounts/{address} does not return account coins
  • [POST] /txs/estimate_fee request and response format changed
Request (BaseReq + []sdk.Msg)
{
  "base_req": {
    "from": "terra1wg2mlrxdmnnkkykgqg4znky86nyrtc45q336yv",
    "memo": "Sent via Terra Station 🚀",
    "chain_id": "columbus-3",
    "account_number": "0",
    "sequence": "1",
    "gas": "200000",
    "gas_adjustment": "1.2",
    "fees": [
      {
        "denom": "uluna",
        "amount": "50"
      }
    ],
    "simulate": false
  },
  "msgs": [
    "string"
  ]
}

Response (StdFee)
{
  "fee": {
    "gas": "string",
    "amount": [
      {
        "denom": "uluna",
        "amount": "50"
      }
    ]
  }
}
  • [GET] /market/terra_pool_delta removed, /market/mint_pool_delta & /market/burn_pool_delta added
  • [POST] /wasm/codes/{codeID}/migrate added for code migration
  • [POST] /wasm/codes/{codeID} request optionally specify admin field to make the contract as migratable
  • [GET] /wasm/contracts/{contractAddress} response format changed
    admin field replace migratable flag
{
  "code_id": "string",
  "address": "terra1wg2mlrxdmnnkkykgqg4znky86nyrtc45q336yv",
  "creator": "terra1wg2mlrxdmnnkkykgqg4znky86nyrtc45q336yv",
  "admin": "terra1wg2mlrxdmnnkkykgqg4znky86nyrtc45q336yv",
  "init_msg": "string"
}
  • [GET] /wasm/parameters return more wasm parameters max_contract_data_size and event_params
{
  "params": {
    "max_contract_size": "string",
    "max_contract_gas": "string",
    "max_contract_msg_size": "string",
    "max_contract_data_size": "string",
    "event_params": {
      "max_attribute_num": "string",
      "max_attribute_key_length": "string",
      "max_attribute_value_length": "string"
    }
  }
}
  • [GET] /staking/parameters return more staking parameterpower_reduction
{
  "unbonding_time": "string",
  "max_validators": "number",
  "max_entries": "number",
  "historical_entries": "number",
  "bond_denom": "string",
  "power_reduction": "string"
}

Codec Changes

  • Added messages
    • wasm/MsgMigrateCode
    • wasm/MsgUpdateContractAdmin
    • wasm/MsgClearContractAdmin
  • Removed messages
    • wasm/MsgUpdateContractOwner

Param subspace changes

All terra module params now has camel case param subspace

  • Market
    • poolrecoveryperiod -> PoolRecoveryPeriod
    • minstabilityspread -> MinStabilitySpread
    • +MintBasePool
    • +BurnBasePool
  • Oracle
    • voteperiod -> VotePeriod
    • votethreshold -> VoteThreshold
    • rewardband -> RewardBand
    • rewarddistributionwindow -> RewardDistributionWindow
    • whitelist -> Whitelist
    • slashfraction -> SlashFraction
    • slashwindow -> SlashWindow
    • minvalidperwindow -> MinValidPerWindow
  • Treasury
    • taxpolicy -> TaxPolicy
    • rewardpolicy -> RewardPolicy
    • seigniorageburdentarget -> SeigniorageBurdenTarget
    • miningincrement -> MiningIncrement
    • windowshort -> WindowShort
    • windowlong -> WindowLong
    • windowprobation -> WindowProbation

Frequently Asked Questions

Error: invalid character 'e' in literal true (expecting 'r')

$ terrad tendermint show-validator [--home] command does not show bech32 encoded terraconsvalpub address, but show '{"@type":"/cosmos.crypto.ed25519.PubKey","key":"bwVWtrsVrhimkACyF6lwLogwgWTtHUSnjVTl/20DLrw="}' protobuf style interface JSON. so $ terrad tx staking create-valdiator --pubkey now receive this pubkey interface JSON string.

$ terrad tx staking create-validator \
    --pubkey '{"@type":"/cosmos.crypto.ed25519.PubKey","key":"bwVWtrsVrhimkACyF6lwLogwgWTtHUSnjVTl/20DLrw="}' \
    ...

Error: No directory provided for file keyring

Problem is not fully solved, but you can still use the commands with --keyring-back-end=os

Fixed in https://github.com/cosmos/cosmos-sdk/pull/9211/files

Don't miss a new classic-core release

NewReleases is sending notifications on new releases.