Skip to content

Releases: deso-protocol/backend

v4.0.6

17 Jun 15:29

Choose a tag to compare

Description

The v4.0.6 release is a minor non-forking upgrade that provides some bugfixes. The v4.0.6 release is built using the v4.0.6 release of core, which provides some performance enhancements and bugfixes.

Bugfixes

  1. If a profile has no public key, we can still return the post in get-notifications and get-single-post
  2. Include inner transactions of atomic transactions in get-notifications response

What's Changed

New Contributors

Full Changelog: v4.0.5...v4.0.6

v4.0.5

20 May 19:57

Choose a tag to compare

Description

The v4.0.5 release is a minor non-forking upgrade that provides a new endpoint, updates existing endpoints, and adds additional fields to some response types. The v4.0.5 release is built using the v4.0.5 release of core, which most notably provides enhancements to memory consumption and mempool mode for state syncer.

Please note that there will be a few minutes of downtime as the node performs some reindexing of blocks to support this upgrade.

New endpoints

  • GetTxns - /api/v0/get-txns is a bulk version of the GetTxn (/api/v0/get-txn) that supports getting multiple transactions in a single request.

Updated endpoints

  • GetSinglePost will now return a post even if the post author does not have a profile.

Updated Response Types

  • The TransactionResponse type now includes InnerTransactionHashHexes which is a slice of strings of hashes of the inner transactions.

New Flags

No new flags were introduced in the backend repository. However, please note the addition of new flags in the v4.0.5 release of core in the New Flags section as these flags are accessible via this backend release.

What's Changed

  • glog error if afterProcessSubmitPostTransaction fails by @lazynina in #716
  • upgrade ubuntu to 24.04 in ci.yml by @lazynina in #718
  • Add get txns endpoint. by @mattfoley8 in #720
  • Trigger build with fix for spend amount != 0 with additional outputs and set entryIsDeleted to true for locked balance entries where balance base units is zero by @lazynina in #722
  • State syncer mempool syncing and test suite updates by @superzordon in #717
  • add inner txn hexes to transaction response by @lazynina in #723
  • fix get single post for public key with no profile by @lazynina in #726
  • Fix GetSinglePostComments by @lazynina in #727
  • updates to support no longer having best chain by @lazynina in #680
  • replace best chain branch with dep upgrades by @lazynina in #724
  • upgrade go-ethereum and x/crypto and x/sync by @lazynina in #728
  • upgrade cloud.google.com/go/storage to 1.54.0 by @lazynina in #731
  • Add support for flag to control size of block index cache by @lazynina in #730
  • empty commit to trigger build w/ reduced default block index size by @lazynina in #732

Full Changelog: v4.0.4...v4.0.5

v4.0.4

21 Feb 14:58

Choose a tag to compare

Description

The v4.0.4 release upgrades go to 1.23 and provides various fixes and performance enhancements and some small API enhancements. The v4.0.4 release is built using the v4.0.4 release of core.

Some highlighted updates:

  1. Hot feed - support more blocks in hot feed and fix bug with comments appearing in hot feed.
  2. Add support for DeSo dex as a source of price data for DESO
  3. Catch errors from txn construction for unlock stake and unstake txns
  4. New API endpoints for get-base-currency-price and get-quote-currency-price to support the AMM.
  5. Compute and return txindex metadata for uncommitted state

What's Changed

Full Changelog: v4.0.3...v4.0.4

v4.0.3

27 Aug 18:26

Choose a tag to compare

Description

The v4.0.3 release is a minor non-forking upgrade that uses the v4.0.3 release of core.

New endpoints

  • GetBaseCurrencyPrice can be used to fetch the price of a DeSo token

What's Changed

Full Changelog: v4.0.2...v4.0.3

v4.0.2

02 Aug 17:34

Choose a tag to compare

Description

The v4.0.2 release is a minor non-forking upgrade using the v4.0.2 release of core.

Notable changes include:

  1. Fixes to api transaction info endpoint
  2. Updates to the total supply endpoint to account
  3. New endpoint to support trading fees on limit orders
  4. Updates to atomic txn construction endpoints to include inner txn hexes for easier signing
  5. New get all global params endpoint

What's Changed

Full Changelog: v4.0.1...v4.0.2

v4.0.1

20 Jun 04:13

Choose a tag to compare

This is a mandatory upgrade and all nodes need to upgrade by the existing deadline specified in the v4.0.0 release.

This release will not incur additional downtime if you’ve already upgraded to v4.0.0. If you haven’t already upgraded, you’ll experience the same amount of downtime as if you upgraded to v4.0.0 - about 20-30 minutes.

What's Changed

Changes were made in the core repo, which are automatically integrated here. This release addresses an issue where locked stake could not be unlocked if a validator unregistered. See release v4.0.0 for full details on all PoS upgrades.

Full Changelog: v4.0.0...v4.0.1

v4.0.0

17 Jun 19:46

Choose a tag to compare

Fork Preparation Checklist

In order to upgrade your node to be compatible with this new version, please complete all steps of the checklist below.

  • Reboot your node with the most recent stable release image from docker before noon PT on July 1st, 2024.
    • Your node may pause for 10-20 minutes after reboot for re-indexing, but a resync is not required.
    • Please note that the fork is expected to hit on Tuesday July 2nd, 2024 at noon PT.

Description

The v4.0.0 release is a major version upgrade that brings Revolution Proof-of-Stake to DeSo mainnet. Upgrading your mainnet node is required as mentioned above. For more details on the protocol-level enhancements, please see the core v4.0.0 release notes.

New Flags

  • max-optional-preceding-transactions - If set, enables certain transaction construction endpoints to accept transactions that should be connected before constructing the transaction requested in the request body. Setting this flag can aid in workflows that deal with atomic transaction construction.

New Endpoints - all prefixed by /api/v0

  • get-committed-tip-block-info - GET endpoint used to fetch a node's tip height, tip hash, and latest view for use in checkpoint syncing.
  • submit-atomic-transaction - POST endpoint used to assemble and submit an atomic transaction given the hex of an incomplete atomic transaction (only missing the signatures of the inner transactions) and an array of hexes for each signed inner transactions.
  • txn-construction-params - POST endpoint used to get the current parameters necessary to construct a transaction locally. Takes a MinFeeRateNanosPerKB as a lower bound on the fee rate. Returns the fee rate and current block height.
  • token-balances-for-public-key - POST endpoint to get a map of public key to a simple balance response (holder public key, creator public key, and balance in base units). This endpoint is useful to get the balance of a bunch of different creators' DeSo tokens (and DESO) for a given holder. This endpoint supports passing in a TxnStatus - either InMempool or Committed to control whether to fetch uncommitted or committed state.
  • get-dao-coin-limit-orders-by-id - GET endpoint to fetch a series of DAO Coin Limit Orders by IDs. This endpoint supports passing in a TxnStatus - either InMempool or Committed to control whether to fetch uncommitted or committed state.
  • validators
    • validators/register - POST endpoint to construct a REGISTER_AS_VALIDATOR transaction.
    • validators/unregister - POST endpoint to construct an UNREGISTER_AS_VALIDATOR transaction.
    • validators/unjail - POST endpoint to construct an UNJAIL_VALIDATOR transaction.
    • validators/{publicKeyBase58Check} - GET endpoint to fetch a ValidatorEntryResponse for a given public key.
  • check-node-status - POST endpoint used to test if a provided domain is accepting TCP connections. This is used to help validators test their node configuration when registering as a validator.
  • current-epoch-progress - GET endpoint used to fetch details about the current epoch including its epoch number, start height and view, final height, initial leader index offset, created timestamp, the leader schedule, the current view number, and the current tip height.
  • stake
    • stake - POST endpoint to construct a STAKE transaction
    • stake/{validatorPublicKey}/{stakerPublicKey} - GET endpoint to fetch stake details for a given validator and staker.
    • stake/validator/{validatorPublicKey} - GET endpoint to fetch stake details for all stake with a given validator.
  • unstake - POST endpoint to construct an UNSTAKE transaction.
  • unlock-stake - POST endpoint to construct an UNLOCK_STAKE transaction.
  • locked-stake/{validatorPublicKey}/{stakerPublicKey} - GET endpoint to fetch locked stake details for a given validator and staker.
  • coin-lockup - POST endpoint to construct a COIN_LOCKUP transaction.
  • update-coin-lockup-params - POST endpoint to construct an UPDATE_COIN_LOCKUP_PARAMS transaction.
  • coin-lockup-transfer - POST endpoint to construct a COIN_LOCKUP_TRANSFER transaction.
  • coin-unlock - POST endpoint to construct a COIN_UNLOCK transaction.
  • lockup-yield-curve-points/{publicKey} - GET endpoint to fetch the locked yield curve points for a given public key.
  • locked-balance-entries/{publicKey} - GET endpoint to fetch locked balance entries for a given public key.
  • create-atomic-txns-wrapper - POST endpoint to construct an ATOMIC_TXNS_WRAPPER transaction.

Updated endpoints

  • get-dao-coin-limit-orders - accepts a new parameter TxnStatus (either InMempool or Committed) to control whether to fetch uncommitted or committed state.

What's Changed

Full Changelog: v3.4.6...v4.0.0

v4.0.0-beta.1

26 Apr 15:22
00709df

Choose a tag to compare

v4.0.0-beta.1 Pre-release
Pre-release

Description

The v4.0.0-beta.1 release includes a few small bug fixes in backend, but more importantly uses the v4.0.0-beta.1 core release which includes fixes to issues related to networking and fee estimation.

For more details on the changes introduced with the PoS upgrade, please see core's v4.0.0-beta.0 release.

For more details on DeSo's move to proof-of-stake, please visit https://revolution.deso.com/.

Please use this docker image to upgrade your node.

What's Changed

Full Changelog: v4.0.0-beta.0...v4.0.0-beta.1

v4.0.0-beta.0

23 Apr 13:58

Choose a tag to compare

v4.0.0-beta.0 Pre-release
Pre-release

UPDATE

Please upgrade to the new pre-release v4.0.0-beta.1 as a few issues were uncovered in the v4.0.0-beta.0 release.

Description

v4.0.0-beta.0 is a pre-release for the upcoming Proof-of-stake fork. Please note that v4.0.0-beta.0 only sets fork heights for testnet and only testnet nodes should upgrade at this time. Upgrading mainnet nodes is not required and will NOT transition a mainnet node to use proof-of-stake as the consensus mechanism.

This pre-release mainly adds transaction construction endpoints for new transaction types and basic querying endpoints for data related to the new transaction types introduced for proof-of-stake.

For more details on the move to proof-of-stake, please see the core release notes and the revolution proof-of-stake website.

Please use this docker image to upgrade your node.

What's Changed

New Contributors

Full Changelog: v3.4.6...v4.0.0-beta.0

v3.4.6

18 Jan 22:11
30d9b6b

Choose a tag to compare

Description

v3.4.6 uses the v3.4.6 release of core.

Additionally, v3.4.6 introduces a captcha verification endpoint, updates to support the memory optimizations in core's release, and add support for constructing basic transfers (including max spends) and diamond transactions with extra data.

Smaller enhancements include a small fix to the transaction-info endpoint for mempool transactions, removing profile compensation when profile fee is 0, and adding a lock around the AllCountryLevelSignUpBonuses map to prevent panics.

What's Changed

Full Changelog: v3.4.5...v3.4.6