Releases: oraichain/orai
Release to upload libwasmvm
release-libwasmvm fix bug
v0.40.4-ibc-beta Mainnet
Oraichain Mainnet Release Notes
This release focuses on fixing the IBC transfer int overflow error when the transfer amount is too large (over 2^63).
We forked the Cosmos SDK repository to fix the bug even though it was addressed and fixed in a newer version of IBC. The reason is that we are running multiple CosmWasm contracts in production with CosmWasm version 0.13.2. If we upgraded Cosmos SDK to v0.45.1, then we would need to upgrade CosmWasm as well, which would halt all services.
v0.40.1-beta Mainnet
Oraichain Mainnet Release Notes
This release focuses on fixing the slow synchronization bug for the Oraichain mainnet nodes.
Commenting all BeginBlock and EndBlock custom functions.
There are still some custom functions related to the custom modules that have not been deprecated yet, which is the direct cause of slowing down the synchronization process for all the nodes within the network. In this release, we have fixed it by commenting out such functions.
Updating Cosmos SDK and Tendermint.
Cosmos SDK and Tendermint have been pumped up to v0.42.9 and v0.34.11 respectively to utilize all the bugs fixed and additional features from them.
v0.40.0-beta Mainnet
Oraichain Mainnet Release Notes
This release focuses on migrating the AI request handling process to smart contracts instead of using Cosmos SDK modules.
Deprecating the mainnet custom modules.
The custom modules of the mainnet will be deprecated to minimize the unexpected bugs that may affect the liveliness of the network. Data related to these modules can still be queried normally, however.
Migrating the modules onto Cosmwasm smart contracts.
Using smart contracts is more flexible and easier to fix and update. As a result, we decided to move the AI request handling process to smart contracts.
Updates on the reward mechanism.
The validators now can set their own required fees for an AI request instead of depending on the fees of the providers. Nevertheless, this means that users may need to spend more tokens for a request, which is the sum of the provider fees and the validator fees.
Updates on the websocket functionality.
We have migrated the websocket function to Javascript instead of attaching it in the network binary, which is developed using Golang. This provides additional flexibility when updating and maintaining. The validators will no longer need to update their binaries to fix the websocket problem.
v0.2.2-beta Mainnet
Oraichain Mainnet Release Notes
This release focuses on fixing bugs relating to executing an AI request. It also updates Cosmos SDK version 0.42.3 and Tendermint version 0.34.8.
Bug fixes
AI request fees can be empty
There's a bug in the Cosmos SDK that allows empty coins to be larger than any other number of coins. We have fixed it by checking if the input is empty or not before comparing.
Creating a provider script through CLI uses transaction fees instead of custom fees
Previously, using CLI to create a provider script automatically takes transaction fees to charge users. We have added a new separate option for script owners to set custom fees instead.
Fix report does not include estimated fees
The report has an attribute showing how many ORAIs a validator needs to use, but it was always set to zero. We have updated it by calculating the estimated fees.
Fix Oraichain having no version
We have included a specific version of Oraichain after each update. To check, you can type: oraid status
to see the current node version you are running.
Fix status of a validator when storing AI result into the blockchain
When a validator report is examined, Oraichain verifies that validator's current status, which is bonded, unbonding or unbonded. To synchronize with the latest Cosmos SDK version, we make use of the pre-defined statuses for a validator instead of our custom ones.
Cosmos SDK and Tendermint version update
Due to a bug coming from Cosmos SDK version 0.40 and 0.41, where validators that allow double signing do not get jailed, we have to update to Cosmos SDK to 0.42.3 to fix it.
v0.2.1-beta Mainnet
Oraichain Mainnet Release Notes
This release adds a small feature and includes two bugfixes while having no major breaking changes
Feature
We add a way to query a node's minimum gas prices. You can use your browser and type: <URL>/provider/minfees?OracleScriptName=min_gas_prices&ValNum=0
, where <URL>
can be: http://<your-node-ip>:1317
to show your current node minimum fees.
Bug fixes
Fix large data to be stored into the blockchain when a validator creates a report
Previously, a validator can store a report with large size. This release only allows at most 200KB
to be stored to prevent spammers.
Fix creating a report does not specify gas prices
When a report is created and sent to the network, there was no way for a validator to specify and add the transaction's gas prices. This release has fixed it.
Mainnet release
Breaking changes:
Change the way to charge AI request fees
The previous version will charge an AI request in the next block. However, this makes it unclear and difficult to handle different requests at once. Instead, this version charges the request immediately after all the validation processes, before storing the request into the blockchain.
Add Oraivisor
Oraivisor which is derived from Cosmovisor is a helper tool that automatically upgrades Oraichain binaries when there is a software upgrade proposal. This allows nodes to upgrade their nodes without downtime, and they do not have to worry about all the commands that they need to do to upgrade the nodes.
Add user input filter and remove the reporter messages
We enhance the network security by adding filters for almost all the input messages coming from the users, from every character to only alphabet, numbers, underscore and space characters.
The reporter structure is no longer needed since we have used the exact validator wallet as a reporter to report messages back to the network.
Update random validator algorithm
The random validator algorithm has been optimized with a simpler method to collect a list of random validators for an AI Request
Bugs fixed
Add divisor by 0 and negative coins checks
When calculating fees and rewards, some code blocks contain possible divisor by 0 and negative coins errors. We have fixed them in this release.
Fix websocket client does not catch correct event attributes
Due to a bug that used a temporary variable to collect the event attributes from the node, the websocket client was unable to execute an AI request with correct values. We have changed it to a persistent variable instead.
Fix edit provider scripts
The edit provider data source, test case, and oracle script had invalid validation processes, which prevented users from editing a provider script. We have fixed them in this release.
Remove stop executing AI request when there's an error coming from the smart contracts
If a smart contract returns an error, the websocket client now does not stop the whole AI request processing.
Updates
Add querying minimum gas prices of a validator
Cosmos SDK and Tendermint do not support this feature, so we add a custom query to create our Oraichain gas station. Validators also can use it to check their current gas prices.
Lunar Testnet release
Breaking changes:
Apply Stargate upgrade
Lunar Testnet has fully implemented the Stargate upgrades with latest Cosmos-SDK and Tendermint versions including IBC
Change from python / shell scripts to smart contracts cosmwasm
Using python or shell script is not secure for validators. We have decided to move to cosmwasm, an open source project that builds smart contracts which are compatible with Cosmos-SDK
Refactor the modules
Add more input filters
More filters are added so hackers cannot inject dangerous characters when creating transactions
Add test cases for crucial functions
Functions such as allocating tokens now have test cases to further prevent panic errors and make sure that the flow is correct
Update documentations
v0.1-beta
fix: fix bug no semicolon