Skip to content

Releases: oraichain/orai

Release to upload libwasmvm

15 Nov 00:29
3147a41
Compare
Choose a tag to compare
Pre-release
release-libwasmvm

fix bug

v0.40.4-ibc-beta Mainnet

25 May 09:21
Compare
Choose a tag to compare

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

06 Aug 05:03
Compare
Choose a tag to compare

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

22 Jul 08:38
Compare
Choose a tag to compare

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

01 Apr 03:42
Compare
Choose a tag to compare

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

25 Mar 07:50
Compare
Choose a tag to compare

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

22 Mar 04:20
Compare
Choose a tag to compare

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

08 Feb 17:12
Compare
Choose a tag to compare

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

04 Jan 04:18
Compare
Choose a tag to compare
fix: fix bug no semicolon