Releases: terra-money/classic-core
v0.4.0-rc.1
v0.4.0-rc.0
Release candidate for columbus-4
After downloading prebuilt binary, you have to locate libgo_cosmwasm.so
to proper shared location
v0.3.6
v0.3.5
v0.3.4
v0.3.3
v0.3.2
v0.2.7
v0.3.1
v0.3.0
Changelog
1b35fb8 [Feature] New market params for the high volatility TERRA (#300)
e519330 create oracle account at init genesis (#293)
15fbf9c fix oracle endpoint to accept voter variable (#295)
f09ab19 genesis update script for columbus-3 (wip) (#244)
ca82e4a go-releaser udpate (#299)
0ba438d remove docs from the core repo (#298)
2862180 reward policy param update (#296)
Breaking Changes
#265 Oracle refactor & Oracle slashing
Slashing
A validator get slashed SlashFraction
% if the one perform any of the following violations in SlashWindow - minValidPerWindow
voteperiods over a window of SlashWindow
voteperiods:
- A vote is missing for any of the denom in the whitelist. Oracle voters looking to abstain must still submit a "vote of no confidence", which has 0 for the luna ExchangeRate field of the prevote.
- A submitted vote is more than max(
RewardBand
, standard deviation) from the elected median - Oracle voters who submit abstain vote with other invalid votes will also get slashed.
Codec Changes
oracle/MsgDelegateFeederPermission
=>oracle/MsgDelegateFeedConsent
New End Points
/oracle/voters/{%s}/miss
return the # of vote periods missed in this oracle slash window.
Path Changes
/oracle/denoms/{denom}/price
=>/oracle/denoms/{denom}/exchange_rate
Request Body Changes
- POST /oracle/denoms/{denom}/prevotes
- POST /oracle/denoms/{denom}/votes
Price sdk.Dec `json:"price"`
has been changed to
ExchangeRate sdk.Dec `json:"exchange_rate"`
#256 Oracle endpoints improvement
New EndPoints
/oracle/voters/{validator}/votes
/oracle/voters/{validator}/prevotes
/oracle/denoms/prices
#250 Oracle whitelist & Reward distribution update
- Create a whitelist param that stores an array of denoms that are whitelisted by the protocol.
- Edit the oracle
Reward Pool of a VotePeriod = oracle module account / (n vote periods)
. - Oracle module account is whitelisted in the bank module such that users can donate funds to the oracle module account
#234 Adopt gov module
distribution
module already contains community-pool-spend
proposal suitable for budget
so budget module is removed. There are two custom governance proposals from treasury
module; tax-rate-update
& reward-weight-update
proposals.
New EndPoints
(GET)/gov/proposals
(GET)/gov/proposals/{proposalId}
(GET)/gov/proposals/{proposalId}/proposer
(GET)/gov/proposals/{proposalId}/deposits
(GET)/gov/proposals/{proposalId}/deposits/{depositor}
(GET/POST)/gov/proposals/{proposalId}/votes
(GET)/gov/proposals/{proposalId}/votes/{voter}
(GET)/gov/proposals/{proposalId}/tally
(GET)/gov/parameters/deposit
(GET)/gov/parameters/tallying
(GET)/gov/parameters/voting
(POST)/gov/proposals/tax_rate_update
(POST)/gov/proposals/reward_weight_update
(POST)/gov/proposals/param_change
(POST)/gov/proposals/community_pool_spend
#233 Swap constant product
As proposed here, apply constant product to swap feature.
Compute Pools
// Both LUNA and TERRA pools are using SDR units.
cp = basePool*basePool
terraPool = (basePool + terraDelta)
lunaPool = cp/terraPool
LUNA to TERRA swap
// offerAmt must be SDR units
newLunaPool = lunaPool + offerAmt
newTerraPool = cp / newLunaPool
returnAmt = newTerraPool - terraPool
// Swap return SDR Amt to TERRA
returnLunaAmt = market.swap(returnAmt, "LUNA")
TERRA to LUNA swap
// offerAmt must be SDR units
newTerraPool = terraPool + offerAmt
newLunaPool = cp / newTerraPool
returnAmt = newLunaPool - lunaPool
// Swap return SDR Amt to proper TERRA
returnTerraAmt = market.swap(returnAmt, "TERRA")
TERRA to TERRA swap
Apply only fixed tobin-tax without computing and changing pools
New EndPoints
/market/terra_pool_delta
#231 Bump SDK to v0.37.x
REST end points, which are changed
All REST responses now wrap the original resource/result. The response
will contain two fields: height and result.
/market/params => /market/parameters
/oracle/params => /oracle/parameters
/treasury/tax-rate => /treasury/tax_rate
/treasury/tax-rate/{epoch} => /treasury/tax_rate/{epoch}
/treasury/tax-cap => /treasury/tax_cap
/treasury/tax-cap/{denom} => /treasury/tax_cap/{denom}
/treasury/reward-weight => /treasury/reward_weight
/treasury/reward-weight/{epoch} => /treasury/reward_weight/{epoch}
/treasury/tax-proceeds => /treasury/tax_proceeds
/treasury/tax-proceeds/{epoch} => /treasury/tax_proceeds/{epoch}
/treasury/seigniorage-proceeds => /treasury/seigniorage_proceeds
/treasury/seigniorage-proceeds/{epoch} => /treasury/seigniorage_proceeds/{epoch}
/treasury/current-epoch => /treasury/current_epoch
/treasury/params => /treasury/parameters
REST end points, which response object key is removed
/treasury/current_epoch
/treasury/seigniorage_proceeds/{epoch}
/treasury/seigniorage_proceeds
/treasury/tax_proceeds/{epoch}
/treasury/tax_proceeds
/treasury/reward_weight/{epoch}
/treasury/reward_weight
/treasury/tax_cap/{denom}
/treasury/tax_rate/{epoch}
/treasury/tax_rate
/oracle/denoms/actives
/oracle/denoms/{denom}/price
/oracle/denoms/{denom}/prevotes/{voter}
/oracle/denoms/{denom}/prevotes
/oracle/denoms/{denom}/votes/{voter}
/oracle/denoms/{denom}/votes
New REST endpoints
/supply/total
/supply/total/{denomination}
/market/last_day_issuance
/oracle/voters/{%s}/voting_info
/oracle/voting_infos
/treasury/historical_issuance/{epoch}
Codec changes
auth/Account => core/Account
auth/StdTx => core/StdTx
pay/MsgSend => bank/MsgSend
pay/MsgMultiSend => bank/MsgMultiSend
Other Changes
- GradedVestingAccount is fully removed
- LazyGradedVestingAccount's vesting_lazy_schedules is changed to vesting_schedules
- Improve the UX of fee and tax. The sender have to specify fees containing tax amount with following methods.
- Use
/bank/accounts/{address}/transfers
without fees.terracli
will compute tax amount and fill fees field containing both gas & tax fee. - Use
/txs/estimate_fee
to estimate fees of StdTX, and replace StdTx.Fee.Amount to estimated fee - Compute tax with
/treasury/tax_rate
&/treasury/tax_cap
add computed tax with original gas fee
- Use