diff --git a/CHANGELOG.md b/CHANGELOG.md index fd2ae140a91..972be3a8077 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -68,6 +68,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ * (x/gov) [\#7733](https://github.com/cosmos/cosmos-sdk/pull/7733) ADR 037 Implementation: Governance Split Votes * (x/bank) [\#8656](https://github.com/cosmos/cosmos-sdk/pull/8656) balance and supply are now correctly tracked via `coin_spent`, `coin_received`, `coinbase` and `burn` events. * (x/bank) [\#8517](https://github.com/cosmos/cosmos-sdk/pull/8517) Supply is now stored and tracked as `sdk.Coins` +* (store) [\#8790](https://github.com/cosmos/cosmos-sdk/pull/8790) Reduce gas costs by 10x for transient store operations. ### Improvements diff --git a/store/types/gas.go b/store/types/gas.go index c6c94f859e0..028edc350ec 100644 --- a/store/types/gas.go +++ b/store/types/gas.go @@ -176,6 +176,13 @@ func KVGasConfig() GasConfig { // TransientGasConfig returns a default gas config for TransientStores. func TransientGasConfig() GasConfig { - // TODO: define gasconfig for transient stores - return KVGasConfig() + return GasConfig{ + HasCost: 100, + DeleteCost: 100, + ReadCostFlat: 100, + ReadCostPerByte: 0, + WriteCostFlat: 200, + WriteCostPerByte: 3, + IterNextCostFlat: 3, + } } diff --git a/store/types/gas_test.go b/store/types/gas_test.go index bd62d463cd6..f4490747135 100644 --- a/store/types/gas_test.go +++ b/store/types/gas_test.go @@ -93,12 +93,12 @@ func TestTransientGasConfig(t *testing.T) { t.Parallel() config := TransientGasConfig() require.Equal(t, config, GasConfig{ - HasCost: 1000, - DeleteCost: 1000, - ReadCostFlat: 1000, - ReadCostPerByte: 3, - WriteCostFlat: 2000, - WriteCostPerByte: 30, - IterNextCostFlat: 30, + HasCost: 100, + DeleteCost: 100, + ReadCostFlat: 100, + ReadCostPerByte: 0, + WriteCostFlat: 200, + WriteCostPerByte: 3, + IterNextCostFlat: 3, }) }