Skip to content

Release v1.4.6#136

Merged
andreabadesso merged 33 commits into
releasefrom
release-candidate
Mar 5, 2024
Merged

Release v1.4.6#136
andreabadesso merged 33 commits into
releasefrom
release-candidate

Conversation

@andreabadesso
Copy link
Copy Markdown
Collaborator

@andreabadesso andreabadesso commented Feb 26, 2024

Changes

This is a big release, refactoring the daemon and the wallet-service into a single monorepo with an unified deploy mechanism and versioning, these are the changes included in this release:

Release-candidates

Hot-fixes

Checklist

andreabadesso and others added 25 commits November 20, 2023 15:29
* chore: removed old service files

* chore: added package changes

* chore: moved dev dependencies to devDependencies
* chore: removed old service files

* chore: moved dev dependencies to devDependencies

* chore: initial project structure

* chore: improved readme

* feat: added sync machine to the project with mocked services

* feat: added services

* feat: improved logging on service

* feat: added services, utils and types

* feat: added websocket actor

* feat: added LRU cache and md5hash

* chore: updated nodejs matrix to only v18.x

* chore: basic eslintrc

* chore: github actions

* fix: added voided guard to check if a transaction is already voided before processing it

* tests: added multiple tests for db methods

* feat: improved error handling on initializing state

* chore: added database migrations

* chore: removed tests from tslint and added sequelize to dependencies

* refactor: moved guards and actions to separate files and improved readability

* tests: 100% coverage on guards

* tests: machine tests

* chore: added sequelizerc

* chore: added eslintignore to gitignore

* feat: throw if storing event lower than current

* chore: removed seeders as they're no longer needed

* fix: start stream failing on reconnections

* feat: added more assertions to check if we're trying to store an event lower than the current

* fix: logging lastDbSyncedEvent as a string

* chore: updated dockerfile to install production dependencies on second stage

* chore: updated lodash types version

* fix: handling unvoided transactions

* chore: added dirs to dockerignore

* fix: invalid env variables on db config

* refactor: updating LRU cache using an action instead of a global cache

* feat: added debug logs on machine transitions and events

* fix: added missing handleUnvoidedTx service

* tests: refactored tests to reflect the new tx cache in context

* tests: fixed failing mock on tests

* chore: fix lint

* docs: added docstrings to guards

* refactor: using constant on RECONNECTING target

* refactor: using a module to export all env variables instead of using them directly

* refactor: removed unused export

* fix: ACK issue on unvoided txs

* docs: added docstrings to utils

* fix: throwing error if input has no decoded input

* refactor: well-defined types for websocket send event

* refactor: typed event in context and removed useless ts-ignore

* refactor: throwing error if transaction is already on database on handleVertexAccepted

* refactor: throwing error when token creation event but no token name and symbol

* docs: updated comment on genesis tx

* docs: removed misleading comment

* refactor: throwing error if no first block on metadata and handleTxFirstBlock state

* refactor: organized types into groups

* refactor: moved all types to types folder

* fix: test failing on tx already in db

* refactor: throwing error if error with undefined type is received

* refactor: throwing error if event type is not FULLNODE_EVENT on invalidNetwork and invalidStreamId guards

* refactor: invalidNetwork is now a guard

* refactor: moved event types to event.ts

* refactor: throwing error if invalid events on guards

* refactor: using an enum for event types

* refactor: using EventTypes enum on guards

* refactor: using enum on FullNodeEventTypes

* docs: added docstrings to actions

* refactor: improved event legibility

* refactor: split utils into multiple files

* refactor: using event types

* refactor: throw if decoded attribute on output

* refactor: using const on sync machine states

* fix: returning if event is received but no socket is ready

* fix: throwing error if event type is not metadata_decided in unwrap event

* refactor: using a model for ACK and START_STREAM messages

* fix: error when asserting a zero-transactions address balance

* refactor: ignoring already existing transactions in the new vertex accepted
* chore: removed old service files

* chore: added package changes

* chore: initial project structure

* feat: added sync machine to the project with mocked services

* feat: added services

* feat: added services, utils and types

* feat: added websocket actor

* feat: added LRU cache and md5hash

* chore: basic eslintrc

* fix: added voided guard to check if a transaction is already voided before processing it

* tests: added multiple tests for db methods

* chore: added database migrations

* chore: removed tests from tslint and added sequelize to dependencies

* refactor: moved guards and actions to separate files and improved readability

* tests: 100% coverage on guards

* chore: added sequelizerc

* feat: throw if storing event lower than current

* chore: removed seeders as they're no longer needed

* chore: added daemon to a workspace

* chore: moved tsconfig to daemon workspace

* chore: removed db models as they were never used and is irrelevant on root project

* chore: added github test action using nix

* chore: added CI to pull_request as well

* chore: removed fixed url for nix installation

* chore: moved remaining files

* chore: added wallet-service as a package

* chore: added dependencies to run migration from root project

* chore: removed .serverless from git

* chore: updated github workflow to setup the environment

* chore: updated daemon package with reliable-integrations

* chore: updated yarn lock

* chore: removed wallet-service's webpack from git

* chore: rollback CI workflow

* chore: removed unnecessary test folder on root dir

* chore: renamed daemon service name
* chore: removed old service files

* chore: added package changes

* chore: initial project structure

* feat: added sync machine to the project with mocked services

* feat: added services

* feat: added services, utils and types

* feat: added websocket actor

* feat: added LRU cache and md5hash

* chore: basic eslintrc

* fix: added voided guard to check if a transaction is already voided before processing it

* tests: added multiple tests for db methods

* chore: added database migrations

* chore: removed tests from tslint and added sequelize to dependencies

* refactor: moved guards and actions to separate files and improved readability

* tests: 100% coverage on guards

* chore: added sequelizerc

* feat: throw if storing event lower than current

* chore: removed seeders as they're no longer needed

* chore: added daemon to a workspace

* chore: moved tsconfig to daemon workspace

* chore: removed db models as they were never used and is irrelevant on root project

* chore: added github test action using nix

* chore: added CI to pull_request as well

* chore: removed fixed url for nix installation

* chore: moved remaining files

* chore: added wallet-service as a package

* chore: added dependencies to run migration from root project

* chore: removed .serverless from git

* chore: updated github workflow to setup the environment

* chore: updated daemon package with reliable-integrations

* chore: updated yarn lock

* chore: removed wallet-service's webpack from git

* chore: rollback CI workflow

* chore: removed unnecessary test folder on root dir

* chore: renamed daemon service name

* chore: CI workflow setting up databases and running with nix

* tests: fixed failing test that does not make sense anymore

* chore: rebase me

* chore: updated aws-sdk to v3

* refactor: updated tests to use new aws-sdk and updated jest

* chore: updated yarn lock

* tests: fix bitcore-lib tests

* chore: updated yarn lock

* empty commit
* fix: publish transactions to NEW_TX SQS

* refactor: fetching NEW_TX_SQS url from config instead of env directly

* fix: migrated push notification lambda invoke to daemon

* refactor: removed unused import and using @todo instead of TODO

* refactor: created a method to send messages to SQS on utils

* fix: broken push notification flag assertion

* refactor: stringMapIterator function for improved type definitions and syntax

* refactor: typo

* refactor: fixed docstring for addAlert and added default severity

* refactor: moved code that was not being used

* refactor: using sendMessageSQS on alerting and added messageAttributes as an optional param

* refactor: removed unused cast
* tests: added integration tests structure

* chore: setup test environment with migrations

* tests: added unvoided transactions scenario balances to compare

* tests: using exact output from fullnode to compare balances

* tests: added integration test for reorg

* chore: added ci step to run the integration tests

* tests: properly mocking getConfig

* chore: added NODE_ENV to integration tests on github actions

* fix: use correct balances

* chore: updated ws check script to test all scenarios

* tests: added single_chain_blocks_and_transactions

* chore: waiting for websocket

* chore: using stable version of hathor-core

* chore: removed docker logs from script

* refactor: removed unused imports and multiple lines

* docs: added a comment explaining last event

* chore: testing query on wait-for-db-up script

* chore: refactored tests dir structure

* refactor: wait-for-db-up script was never reaching end of while loop
* fix: invalid message being sent to sqs queue

* refactor: removed useless comment

* fix: tx inputs and outputs were being sent without the token attribute
* chore: removed old service files

* chore: added package changes

* chore: initial project structure

* feat: added sync machine to the project with mocked services

* feat: added services

* feat: added services, utils and types

* feat: added websocket actor

* feat: added LRU cache and md5hash

* chore: basic eslintrc

* fix: added voided guard to check if a transaction is already voided before processing it

* tests: added multiple tests for db methods

* chore: removed tests from tslint and added sequelize to dependencies

* refactor: moved guards and actions to separate files and improved readability

* tests: 100% coverage on guards

* chore: added sequelizerc

* feat: throw if storing event lower than current

* chore: removed seeders as they're no longer needed

* chore: added daemon to a workspace

* chore: moved tsconfig to daemon workspace

* chore: added CI to pull_request as well

* chore: moved remaining files

* chore: added wallet-service as a package

* chore: removed .serverless from git

* chore: updated github workflow to setup the environment

* chore: updated daemon package with reliable-integrations

* chore: removed wallet-service's webpack from git

* chore: rollback CI workflow

* chore: renamed daemon service name

* chore: CI workflow setting up databases and running with nix

* tests: fixed failing test that does not make sense anymore

* chore: updated aws-sdk to v3

* chore: added workflow to deploy the daemon

* chore: added deploy script to the wallet-service

* chore: updated daemon's Dockerfile to use yarn

* chore: updated nodejs on codebuild

* chore: enabling corepack

* chore: force yarn version to 3.4.1

* refactor: fetch reward min blocks (#101)

* chore: added workflow to deploy the daemon

* chore: added deploy script to the wallet-service

* chore: removed tests from tsconfig

* chore: updated daemon's Dockerfile to use yarn

* feat: fetching reward_min_blocks from the fullnode's API

* refactor: removed BLOCK_REWARD_LOCK from config

* refactor: renamed minRewardBlocks to rewardMinBlocks

* refactor: using URL instead of manually creating the urls

* fix: issues from last rebase

* tests: mocking fetchRewardMinBlocks

* tests: mocking reward min blocks and fix fullnode URL

* chore: re-added tests

* feat: healthcheck API (#110)

 feat: daemon healthcheck (#111)

---------

Co-authored-by: Luis Helder <luislhl@gmail.com>
* chore: fixed script name on deploy

* chore: updated dockerfile

* chore: remove duplicated yarn install

* chore: added dockerignore for the daemon package

* chore: unused commands on dockerfile and attributes on dockerignore

* chore: updated to nodejs20

* chore: updated dockerfile to be on project root, removed dev dependency from sync-daemon and updated yarn version

* chore: updated dockerignore to ignore the wallet-service package

* chore: stop using a yarn binary on local dev

* chore: updated unstableNixPkgs input on flake.lock

* chore: updated build and push daemon script to use dockerfile from root

* chore: removed dockerignore and updated license year

* fix: use fullnode network (#115)

* fix: using a new env FULLNODE_NETWORK to validate fullnode's network

* fix: guard test was still using NETWORK

* fix: integration test was failing because of NETWORK

* chore: added comment explaining the difference between NETWORK and FULLNODE_NETWORK

* chore: removed git from gitignore
* chore: bumped version to v1.4.3-beta

* chore: changed version to 1.4.3+beta
* chore: created scripts for building and pushing a daemon image

* chore: getting ACCOUNT_ID from env

* chore: using ACCOUNT_ID instead of AWS_ACCOUNT_ID

* chore: removed deploy-and-push daemon script and added push and deploy scripts to makefile

* chore: restored push on else case

* chore: aws_account_id -> account_id on push daemon script

* chore: push should get the image name from env

* chore: using tmp file to get docker image tag

* chore: added migrate and deploy lambdas for dev testnet

* chore: removed unused script

* chore: restored yarn install before CD

* chore: added missing build script for mainnet

* chore: using GIT_REF_TO_DEPLOY to tag the docker image

* chore: using generic build script

* chore: added comments on build-daemon script
Release-candidate 1.4.5-rc.1+beta
chore: bump to v1.4.6 (not beta)
@andreabadesso andreabadesso self-assigned this Feb 26, 2024
@andreabadesso andreabadesso added the enhancement New feature or request label Feb 26, 2024
@andreabadesso andreabadesso merged commit 0e2628e into release Mar 5, 2024
@andreabadesso andreabadesso deleted the release-candidate branch March 14, 2024 15:25
@andreabadesso andreabadesso restored the release-candidate branch March 14, 2024 15:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

3 participants