All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Upgrade Rust to 1.75.0 and optimizer to 0.15.1.
- Upgrade cosmwasm-std to 1.5.4
0.15.4 - 2023-12-10
- proxy: Refactor permission handling
0.15.3 - 2023-12-06
- Use cw2 in all the contracts. (#291)
- Upgrade Rust to 1.73.0 and optimizer to 0.15.0.
- nois-drand: use unchecked
G2Pubkey
due to static pubkey - gateway: Reduce jobs per submission to 1 for verifying transactions and 10 for nonn-verifying transactions
- nois-drand: Incentivized rounds are now those with jobs or
round % 25 == 0
. - Bump drand-verify to 0.6.2
- (testing only) Upgrade CosmJS to 0.32 and ts-relayer to 0.11
0.15.2 - 2023-11-07
- Change split of NOIS payments from to 40% burn, 20% relayer and 40% community pool (from 50%/5%/45%). (#287)
- Bump anybuf to 0.3.0
0.15.1 - 2023-10-07
- nois-drand: Incentivized rounds are now those with jobs or
round % 15 == 0
. As a result, half of the incentivized rounds are even and half are odd. The bot group A now gets incentives on even rounds and group B gets incentives on odd rounds.
0.15.0 - 2023-09-26
- Fast randomness! Now all drand rounds can be used when beacons are requested, increasing the available beacon frequency from 1/30s to 1/3s. (#266)
- Upgrade cosmwasm to 1.4.0
- drand: Remove previously deprecated
QueryMsg::IsAllowListed
andQueryMsg::AllowList
. - nois-protocol: Remove
StdAck
in favour ofcosmwasm_std::StdAck
0.14.0 - 2023-09-01
- Upgrade Rust to 1.71.0 and workspace-optimizer to 0.14.0.
- nois-drand: Rounds that are not divisible by 10 are not considered invalid
anymore. The incentivisation however requires
round%10==0
as before and jobs only use those. This allows bots to submit other rounds for no reason. - gateway: Remove
ExecuteMsg::Cleanup
to cleanup outdated jobs state (#280) - gateway: Remove code for accessing drand jobs storage layout v1 (#280)
- gateway: Create trusted source configuration to improve testability (#271)
- Add missing
cosmwasm_std::Empty
import when compiling nois-proxy with "library" feature enabled.
0.13.8 - 2023-07-30
- drand: Add
IsIncentivized
query - gateway: Add
ExecuteMsg::Cleanup
to cleanup outdated state
- proxy: Fix typo in action attribute: "migtrate" -> "migrate"
- payment/drand: Add
library
feature - gateway: Use nois-payment dependency with
library
feature - Upgrade cosmwasm to 1.3.1
0.13.7 - 2023-07-01
- Upgrade cosmwasm to 1.2.7
- Upgrade Rust to 1.69.0 and workspace-optimizer to 0.13.0.
- proxy: make
test_mode
optional inInstantiateMsg
. - gateway: Use new storage layout to allow an efficient query of all jobs. (#263)
- gateway: do not emit
jobs_left
attribute on a when beacon is added since this cannot efficiently be queried. (#263) - proxy/monitoring: increase safety margin to 5s.
0.13.6 - 2023-06-17
- gateway: Add query to get all jobs, no matter which round they are in.
- nois-proxy-governance-owned: New wrapper contract around nois-proxy with the
governance_owned
feature enabled. (#257)
0.13.5 - 2023-06-09
- proxy: Streamline event attributes
- proxy: Add
min_after
/max_after
configs in proxy to ensure theafter
value for RequestBeacon packets is in a somewhat reasonable range. - proxy: Ensure the
allowlist_enabled
/min_after
/max_after
config fields are always set toSome
value. (#255) - gateway: Write a log of beacon requests per customer to state to be able to query them later on (#250).
0.13.4 - 2023-05-17
- proxy: Add support for updating
callback_gas_limit
via SetConfig (#240).
- proxy: Updating the
allowlist_enabled
value viaSetConfig
was fixed. In 0.13.3 an unset value caused the config to setallowlist_enabled
to None/false. Now it does not change the value.
0.13.3 - 2023-05-04
- Use anybuf from crates.io
- Upgrade cosmwasm to 1.2.5
- drand: Add
QueryMsg::IsAllowlisted
andQueryMsg::Allowlist
(one word) analogue toQueryMsg::IsAllowListed
andQueryMsg::AllowList
. - drand: Rename
AllowListResponse
toAllowlistResponse
. RenameIsAllowListedResponse
toIsAllowlistedResponse
. - proxy: Add allowlist
0.13.2 - 2023-04-26
- nois-proxy: Fix typo in
ExecuteMsg::Withdaw
/SudoMsg::Withdaw
. Renamed to::Withdraw
.
0.13.1 - 2023-04-25
- nois-proxy: Embrace the use of empty
prices
lists to deactivate the proxy. Turn a panic into an error when this happens. - all: Make all
ContractError
s#[non_exhaustive]
since error cases can come up over time.
0.13.0 - 2023-04-23
- nois-proxy: the config parameters can be changed. And it is possible to add a manager (optional)
- nois-proxy: add sudo messages to control the proxy when compile with
governance_owned
enabled. - Upgrade the nois standard library to version 0.7.
- Bump IBC protocol version to
nois-v7
. This bring the publication time as a field to DeliverBeacon and NoisCallback.
0.12.0 - 2023-04-13
- Upgrade Rust to 1.68.2 and workspace-optimizer to 0.12.13 to use sparse protocol for Cargo.
- Gateway: Instantiate payment contracts.
- Gateway: Start customers database.
- Payment: Replace
community_pool
address config withAnything
implementation to sendMsgFundCommunityPool
s via CosmosMsg::Stargate.
IBC protocol
- Convert IBC packets into enums InPacket/OutPacket for extensibility.
- Ensure IBC connection is established in the one direction (user chain to Nois).
- Create Welcome packet after establishing a connection.
- Bump protocol version to
nois-v6
. - Allow proxy to pay its randomness via IBC.
Testing
- Improve file structure of test files to better allow for individual execution and general maintainability.
0.11.0 - 2023-03-26
- Gateway: Add manager and price to config. This is a state breaking change. (#193)
- Upgrade cosmwasm to 1.2.3
- Payment: Support zero amounts (#198)
0.10.2 - 2023-03-24
- Icecube: Ensure only manager can set drand address. This way an attacker cannot set a wrong address during the deployment process. (#192)
0.10.1 - 2023-03-23
- Allow manager of nois-drand to set configugation (#191).
0.10.0 - 2023-03-20
- New payment contract
- An icecube or drand manager can set another manager (multisig rekey)
- Migrade to new drand mainnet (chain hash
dbd506d6ef76e5f386f41c651dcb808c5bcbd75471cc4eafa3f4df7ad4e4c493
) (#177). - Store submission more efficiently in the database
0.9.0 - 2023-02-20
- New sink contract (#151)
- Bump drand-verify to 0.4, using pairing for the BLS verification.
- Reduce the number of verification executions per round from 6 to 3 to increase the number of processable jobs.
- Introduce reward point system for drand submissions.
- Upgrade CosmWasm to 1.2.
- icecube: Rename
admin
tomanager
. - drand: Only pay out rewards for bots in the right group (#147).
- drand: Store height and tx_index of submission to allow finding transaction for a submission (#153).
- proxy: Make callback gas limit configurable and reduce value to 500k in tests.
- Pull out
RequestBeaconOrigin
struct which belongs to the proxy-dapp communication. - Bump IBC protocol version to "nois-v5".
- protocol: Remove unused job_id from
DeliverBeaconPacketAck
- drand: Add
reward_points
to bot stats
Base version for starting the CHANGELOG.