Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
57a4abf
Merge pull request #255 from HathorNetwork/sync/release-with-master-v…
r4mmer Apr 15, 2025
a2394d0
chore: added htr token seed (#256)
andreabadesso Apr 24, 2025
2bf2fb1
fix: address invalid parameter (#235)
andreabadesso Apr 30, 2025
0368217
chore: nano-testnet-hackaton (#243)
luislhl May 5, 2025
249164f
chore: bumped to v1.9.0 (#259)
andreabadesso May 19, 2025
51a7344
chore: nano-testnet bravo (#262)
luislhl Jul 14, 2025
0f15833
chore: upgrade wallet-lib to v2.5.1 (#222)
r4mmer Jul 17, 2025
a020c4a
feat: process nanocontract transactions and nc_addresses (#263)
r4mmer Jul 22, 2025
e197b6a
chore: testnet hotel (#264)
luislhl Jul 23, 2025
d9a52e8
Feat/nc seqnum tracking (#268)
r4mmer Jul 24, 2025
da87aee
feat: nano proxy api (#269)
r4mmer Jul 24, 2025
83f1064
nano contract events tests (#267)
r4mmer Jul 25, 2025
0e2aba0
ci: fix yarn version (#270)
luislhl Jul 25, 2025
451ecbe
fix: Use Node 22 in Dockerfile (#271)
luislhl Jul 28, 2025
ccf82de
fix: buildspec secret names (#272)
luislhl Jul 28, 2025
3e8fa57
fix: support empty object for decoded output in full node events (#274)
pedroferreira1 Aug 5, 2025
37aea7b
fix: make getUtxos address/maxUtxos filter work (#278)
pedroferreira1 Aug 5, 2025
5fc21c9
fix: fullnode schema validation + nodejs 22 + incorrect fullnode (#275)
andreabadesso Aug 5, 2025
4bbba25
fix: send nano tx (#276)
andreabadesso Aug 5, 2025
4acee62
feat: totalAmount using wallet-lib's selectUtxos (#277)
andreabadesso Aug 5, 2025
be594b8
fix: nonce as bigint (#280)
r4mmer Aug 14, 2025
352948c
chore: warmup middleware for authorization lambdas (#287)
r4mmer Sep 10, 2025
3b8765b
fix: we should unspend transaction tx outputs when the tx spending it…
andreabadesso Sep 16, 2025
750b985
fix: Consider POA Blocks version in MySQL queries (#288)
luislhl Sep 18, 2025
32ff6a1
fix: voided token addr balance (#291)
andreabadesso Sep 18, 2025
ac7e865
chore: avoid false positive alerts on duplicate tx (#292)
luislhl Sep 19, 2025
1d400c9
feat: increase memory for auth lambdas (#293)
r4mmer Sep 22, 2025
459b0fd
chore: Container builds (#283)
tuliomir Sep 23, 2025
56e6d42
fix(daemon): we must 'release' the utxos from a voided transaction so…
andreabadesso Sep 23, 2025
8326c96
feat(wallet-service): returning nanoContractsEnabled on version api (…
andreabadesso Sep 24, 2025
6330344
fix: nano contracts enabled string (#297)
andreabadesso Sep 25, 2025
24ddc18
feat(wallet-service): added read-only authorizer and api (#299)
andreabadesso Oct 9, 2025
b2fcd6b
feat: stop lib background tasks (#301)
r4mmer Oct 10, 2025
fe4921d
feat(daemon): implemented delay on ACK + check for missed events (#298)
andreabadesso Oct 17, 2025
d71ed89
fix(daemon): expecting invalid format from the events API (#304)
andreabadesso Oct 30, 2025
2d2236b
chore: Setup Testnet India (#302)
luislhl Oct 30, 2025
a54cea9
chore: point dev env to testnet-india (#306)
luislhl Nov 3, 2025
bb97797
fix: consider Serverless prefix when invoking functions (#307)
luislhl Nov 5, 2025
0c3dcaf
fix: serverless missing env and no default set (#310)
luislhl Nov 13, 2025
135d95b
fix: added exponential retry for the check for missing events api (#311)
andreabadesso Nov 17, 2025
7b8bb33
bump: v1.10.0 (#313)
luislhl Nov 17, 2025
75b0736
Release-candidate v1.10.0-rc.1 (#319)
luislhl Nov 17, 2025
4541d4b
Merge pull request #320 from HathorNetwork/fix/rc/increase-retry-atte…
luislhl Nov 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
110 changes: 106 additions & 4 deletions .codebuild/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,44 @@ deploy_hathor_network_account() {

send_slack_message "New version deployed to testnet-production: ${GIT_REF_TO_DEPLOY}"

# --- Testnet Hotel ---
# Gets all env vars with `testnethotel_` prefix and re-exports them without the prefix
for var in "${!testnethotel_@}"; do
export ${var#testnethotel_}="${!var}"
done

make migrate;
make build-daemon;
make deploy-lambdas-testnet-hotel;
# The idea here is that if the lambdas deploy fail, the built image won't be pushed:
make push-daemon;

# Unsets all the testnet env vars so we make sure they don't leak to other deploys
for var in "${!testnethotel_@}"; do
unset ${var#testnethotel_}
done

send_slack_message "New version deployed to testnet-hotel: ${GIT_REF_TO_DEPLOY}"

# --- Testnet India ---
# Gets all env vars with `testnetindia_` prefix and re-exports them without the prefix
for var in "${!testnetindia_@}"; do
export ${var#testnetindia_}="${!var}"
done

make migrate;
make build-daemon;
make deploy-lambdas-testnet-india;
# The idea here is that if the lambdas deploy fail, the built image won't be pushed:
make push-daemon;

# Unsets all the testnet env vars so we make sure they don't leak to other deploys
for var in "${!testnetindia_@}"; do
unset ${var#testnetindia_}
done

send_slack_message "New version deployed to testnet-india: ${GIT_REF_TO_DEPLOY}"

# --- Mainnet ---
# Gets all env vars with `mainnet_` prefix and re-exports them without the prefix
for var in "${!mainnet_@}"; do
Expand Down Expand Up @@ -129,19 +167,77 @@ deploy_nano_testnet() {
make migrate;
make deploy-lambdas-nano-testnet;

send_slack_message "New version deployed to nano-testnet: ${GIT_REF_TO_DEPLOY}"
send_slack_message "New version deployed to nano-testnet-alpha: ${GIT_REF_TO_DEPLOY}"
elif expr "${MANUAL_DEPLOY}" : "true" >/dev/null; then
make migrate;
make deploy-lambdas-nano-testnet;

send_slack_message "Branch manually deployed to nano-testnet: ${GIT_REF_TO_DEPLOY}"
send_slack_message "Branch manually deployed to nano-testnet-alpha: ${GIT_REF_TO_DEPLOY}"
elif expr "${ROLLBACK}" : "true" >/dev/null; then
make migrate;
make deploy-lambdas-nano-testnet;

send_slack_message "Rollback performed on nano-tesnet to: ${GIT_REF_TO_DEPLOY}";
send_slack_message "Rollback performed on nano-tesnet-alpha to: ${GIT_REF_TO_DEPLOY}";
else
echo "We don't deploy ${GIT_REF_TO_DEPLOY} to nano-testnet. Nothing to do.";
echo "We don't deploy ${GIT_REF_TO_DEPLOY} to nano-testnet-alpha. Nothing to do.";
fi;
}

deploy_nano_testnet_bravo() {
# Deploys the releases and release-candidates to our nano-testnet-bravo environment

# We deploy only the Lambdas here, because the image for the daemon used in nano-testnet is
# the same as the one built in the hathor-network account, since it runs there as well

echo "Building git ref ${GIT_REF_TO_DEPLOY}..."

# This will match both releases and release-candidates
if expr "${GIT_REF_TO_DEPLOY}" : "v.*" >/dev/null; then
make migrate;
make deploy-lambdas-nano-testnet-bravo;

send_slack_message "New version deployed to nano-testnet-bravo: ${GIT_REF_TO_DEPLOY}"
elif expr "${MANUAL_DEPLOY}" : "true" >/dev/null; then
make migrate;
make deploy-lambdas-nano-testnet-bravo;

send_slack_message "Branch manually deployed to nano-testnet-bravo: ${GIT_REF_TO_DEPLOY}"
elif expr "${ROLLBACK}" : "true" >/dev/null; then
make migrate;
make deploy-lambdas-nano-testnet-bravo;

send_slack_message "Rollback performed on nano-tesnet-bravo to: ${GIT_REF_TO_DEPLOY}";
else
echo "We don't deploy ${GIT_REF_TO_DEPLOY} to nano-testnet-bravo. Nothing to do.";
fi;
}

deploy_nano_testnet_hackaton() {
# Deploys the releases and release-candidates to our nano-testnet-hackaton environment

# We deploy only the Lambdas here, because the daemon used in nano-testnet-hackaton is the same as
# the one built in the hathor-network account, since it runs there as well

echo "Building git ref ${GIT_REF_TO_DEPLOY}..."

# This will match both releases and release-candidates
if expr "${GIT_REF_TO_DEPLOY}" : "v.*" >/dev/null; then
make migrate;
make deploy-lambdas-nano-testnet-hackaton;

send_slack_message "New version deployed to nano-testnet-hackaton: ${GIT_REF_TO_DEPLOY}"
elif expr "${MANUAL_DEPLOY}" : "true" >/dev/null; then
make migrate;
make deploy-lambdas-nano-testnet-hackaton;

send_slack_message "Branch manually deployed to nano-testnet-hackaton: ${GIT_REF_TO_DEPLOY}"
elif expr "${ROLLBACK}" : "true" >/dev/null; then
make migrate;
make deploy-lambdas-nano-testnet-hackaton;

send_slack_message "Rollback performed on nano-tesnet-hackaton to: ${GIT_REF_TO_DEPLOY}";
else
echo "We don't deploy ${GIT_REF_TO_DEPLOY} to nano-testnet-hackaton. Nothing to do.";
fi;
}

Expand Down Expand Up @@ -219,6 +315,12 @@ case $option in
nano-testnet)
deploy_nano_testnet
;;
nano-testnet-bravo)
deploy_nano_testnet_bravo
;;
nano-testnet-hackaton)
deploy_nano_testnet_hackaton
;;
ekvilibro-testnet)
deploy_ekvilibro_testnet
;;
Expand Down
83 changes: 79 additions & 4 deletions .codebuild/buildspec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ env:
VOIDED_TX_OFFSET: 20
TX_HISTORY_MAX_COUNT: 50
CREATE_NFT_MAX_RETRIES: 3
dev_DEFAULT_SERVER: "https://wallet-service.private-nodes.testnet.hathor.network/v1a/"
dev_WS_DOMAIN: "ws.dev.wallet-service.testnet.hathor.network"
dev_DEFAULT_SERVER: "https://wallet-service.private-nodes.india.testnet.hathor.network/v1a/"
dev_WS_DOMAIN: "ws.dev.wallet-service.india.testnet.hathor.network"
dev_NETWORK: "testnet"
dev_LOG_LEVEL: "debug"
dev_NFT_AUTO_REVIEW_ENABLED: "true"
Expand All @@ -37,6 +37,29 @@ env:
testnet_PUSH_NOTIFICATION_ENABLED: "true"
testnet_PUSH_ALLOWED_PROVIDERS: "android,ios"
testnet_APPLICATION_NAME: "wallet-service-testnet"
testnethotel_DEFAULT_SERVER: "https://wallet-service.private-nodes.hotel.testnet.hathor.network/v1a/"
testnethotel_WS_DOMAIN: "ws.wallet-service.hotel.testnet.hathor.network"
testnethotel_NETWORK: "testnet"
testnethotel_LOG_LEVEL: "debug"
testnethotel_NFT_AUTO_REVIEW_ENABLED: "true"
testnethotel_EXPLORER_STAGE: "hotel"
testnethotel_EXPLORER_SERVICE_LAMBDA_ENDPOINT: "https://lambda.eu-central-1.amazonaws.com"
testnethotel_WALLET_SERVICE_LAMBDA_ENDPOINT: "https://lambda.eu-central-1.amazonaws.com"
testnethotel_PUSH_NOTIFICATION_ENABLED: "true"
testnethotel_PUSH_ALLOWED_PROVIDERS: "android,ios"
testnethotel_APPLICATION_NAME: "wallet-service-testnet-hotel"
testnetindia_DEFAULT_SERVER: "https://wallet-service.private-nodes.india.testnet.hathor.network/v1a/"
testnetindia_WS_DOMAIN: "ws.wallet-service.india.testnet.hathor.network"
testnetindia_NETWORK: "testnet"
testnetindia_LOG_LEVEL: "debug"
testnetindia_NFT_AUTO_REVIEW_ENABLED: "true"
testnetindia_EXPLORER_STAGE: "india"
testnetindia_EXPLORER_SERVICE_LAMBDA_ENDPOINT: "https://lambda.eu-central-1.amazonaws.com"
testnetindia_WALLET_SERVICE_LAMBDA_ENDPOINT: "https://lambda.eu-central-1.amazonaws.com"
testnetindia_PUSH_NOTIFICATION_ENABLED: "true"
testnetindia_PUSH_ALLOWED_PROVIDERS: "android,ios"
testnetindia_APPLICATION_NAME: "wallet-service-testnet-india"
testnetindia_SERVERLESS_DEPLOY_PREFIX: "wallet-service"
mainnet_staging_DEFAULT_SERVER: "https://wallet-service.private-nodes.hathor.network/v1a/"
mainnet_staging_WS_DOMAIN: "ws.staging.wallet-service.hathor.network"
mainnet_staging_NETWORK: "mainnet"
Expand Down Expand Up @@ -116,6 +139,58 @@ env:
testnet_ALERT_MANAGER_REGION: "WalletService/testnet:ALERT_MANAGER_REGION"
testnet_ALERT_MANAGER_TOPIC: "WalletService/testnet:ALERT_MANAGER_TOPIC"
testnet_ALERT_MANAGER_ACCOUNT_ID: "WalletService/testnet:ALERT_MANAGER_ACCOUNT_ID"
# Testnet Hotel secrets
testnethotel_ACCOUNT_ID: "WalletService/testnet-hotel:account_id"
testnethotel_AUTH_SECRET: "WalletService/testnet-hotel:auth_secret"
testnethotel_AWS_VPC_DEFAULT_SG_ID: "WalletService/testnet-hotel:aws_vpc_default_sg_id"
testnethotel_AWS_SUBNET_ID_1: "WalletService/testnet-hotel:aws_subnet_id_1"
testnethotel_AWS_SUBNET_ID_2: "WalletService/testnet-hotel:aws_subnet_id_2"
testnethotel_AWS_SUBNET_ID_3: "WalletService/testnet-hotel:aws_subnet_id_3"
testnethotel_DB_NAME: "WalletService/rds/testnet-hotel:dbname"
testnethotel_DB_USER: "WalletService/rds/testnet-hotel:username"
testnethotel_DB_PASS: "WalletService/rds/testnet-hotel:password"
testnethotel_DB_ENDPOINT: "WalletService/rds/testnet-hotel:host"
testnethotel_DB_PORT: "WalletService/rds/testnet-hotel:port"
testnethotel_REDIS_URL: "WalletService/redis/testnet-hotel:url"
testnethotel_REDIS_PASSWORD: "WalletService/redis/testnet-hotel:password"
testnethotel_FIREBASE_PROJECT_ID: "WalletService/testnet-hotel:FIREBASE_PROJECT_ID"
testnethotel_FIREBASE_PRIVATE_KEY_ID: "WalletService/testnet-hotel:FIREBASE_PRIVATE_KEY_ID"
testnethotel_FIREBASE_PRIVATE_KEY: "WalletService/testnet-hotel:FIREBASE_PRIVATE_KEY"
testnethotel_FIREBASE_CLIENT_EMAIL: "WalletService/testnet-hotel:FIREBASE_CLIENT_EMAIL"
testnethotel_FIREBASE_CLIENT_ID: "WalletService/testnet-hotel:FIREBASE_CLIENT_ID"
testnethotel_FIREBASE_AUTH_URI: "WalletService/testnet-hotel:FIREBASE_AUTH_URI"
testnethotel_FIREBASE_TOKEN_URI: "WalletService/testnet-hotel:FIREBASE_TOKEN_URI"
testnethotel_FIREBASE_AUTH_PROVIDER_X509_CERT_URL: "WalletService/testnet-hotel:FIREBASE_AUTH_PROVIDER_X509_CERT_URL"
testnethotel_FIREBASE_CLIENT_X509_CERT_URL: "WalletService/testnet-hotel:FIREBASE_CLIENT_X509_CERT_URL"
testnethotel_ALERT_MANAGER_REGION: "WalletService/testnet-hotel:ALERT_MANAGER_REGION"
testnethotel_ALERT_MANAGER_TOPIC: "WalletService/testnet-hotel:ALERT_MANAGER_TOPIC"
testnethotel_ALERT_MANAGER_ACCOUNT_ID: "WalletService/testnet-hotel:ALERT_MANAGER_ACCOUNT_ID"
# Testnet India secrets
testnetindia_ACCOUNT_ID: "WalletService/testnet-india:account_id"
testnetindia_AUTH_SECRET: "WalletService/testnet-india:auth_secret"
testnetindia_AWS_VPC_DEFAULT_SG_ID: "WalletService/testnet-india:aws_vpc_default_sg_id"
testnetindia_AWS_SUBNET_ID_1: "WalletService/testnet-india:aws_subnet_id_1"
testnetindia_AWS_SUBNET_ID_2: "WalletService/testnet-india:aws_subnet_id_2"
testnetindia_AWS_SUBNET_ID_3: "WalletService/testnet-india:aws_subnet_id_3"
testnetindia_DB_NAME: "WalletService/rds/testnet-india:dbname"
testnetindia_DB_USER: "WalletService/rds/testnet-india:username"
testnetindia_DB_PASS: "WalletService/rds/testnet-india:password"
testnetindia_DB_ENDPOINT: "WalletService/rds/testnet-india:host"
testnetindia_DB_PORT: "WalletService/rds/testnet-india:port"
testnetindia_REDIS_URL: "WalletService/redis/testnet-india:url"
testnetindia_REDIS_PASSWORD: "WalletService/redis/testnet-india:password"
testnetindia_FIREBASE_PROJECT_ID: "WalletService/testnet-india:FIREBASE_PROJECT_ID"
testnetindia_FIREBASE_PRIVATE_KEY_ID: "WalletService/testnet-india:FIREBASE_PRIVATE_KEY_ID"
testnetindia_FIREBASE_PRIVATE_KEY: "WalletService/testnet-india:FIREBASE_PRIVATE_KEY"
testnetindia_FIREBASE_CLIENT_EMAIL: "WalletService/testnet-india:FIREBASE_CLIENT_EMAIL"
testnetindia_FIREBASE_CLIENT_ID: "WalletService/testnet-india:FIREBASE_CLIENT_ID"
testnetindia_FIREBASE_AUTH_URI: "WalletService/testnet-india:FIREBASE_AUTH_URI"
testnetindia_FIREBASE_TOKEN_URI: "WalletService/testnet-india:FIREBASE_TOKEN_URI"
testnetindia_FIREBASE_AUTH_PROVIDER_X509_CERT_URL: "WalletService/testnet-india:FIREBASE_AUTH_PROVIDER_X509_CERT_URL"
testnetindia_FIREBASE_CLIENT_X509_CERT_URL: "WalletService/testnet-india:FIREBASE_CLIENT_X509_CERT_URL"
testnetindia_ALERT_MANAGER_REGION: "WalletService/testnet-india:ALERT_MANAGER_REGION"
testnetindia_ALERT_MANAGER_TOPIC: "WalletService/testnet-india:ALERT_MANAGER_TOPIC"
testnetindia_ALERT_MANAGER_ACCOUNT_ID: "WalletService/testnet-india:ALERT_MANAGER_ACCOUNT_ID"
# Mainnet Staging secrets
mainnet_staging_ACCOUNT_ID: "WalletService/mainnet_staging:account_id"
mainnet_staging_AUTH_SECRET: "WalletService/mainnet_staging:auth_secret"
Expand Down Expand Up @@ -173,12 +248,12 @@ phases:
#If you use the Ubuntu standard image 2.0 or later, you must specify runtime-versions.
#If you specify runtime-versions and use an image other than Ubuntu standard image 2.0, the build fails.
runtime-versions:
nodejs: 20
nodejs: 22
# name: version
commands:
- npm install -g yarn
# corepack will use the version of yarn specified in package.json
- corepack enable
- yarn set version 4.1.0
- yarn install
pre_build:
commands:
Expand Down
40 changes: 0 additions & 40 deletions Dockerfile

This file was deleted.

24 changes: 24 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,14 @@ build-and-push-daemon:
build-daemon:
bash scripts/build-daemon.sh

.PHONY: build-migrator
build-migrator:
bash scripts/build-migrator.sh

.PHONY: build-service
build-service:
bash scripts/build-service.sh

.PHONY: push-daemon
push-daemon:
bash scripts/push-daemon.sh
Expand All @@ -14,6 +22,14 @@ push-daemon:
deploy-lambdas-nano-testnet:
AWS_SDK_LOAD_CONFIG=1 yarn workspace wallet-service run serverless deploy --stage nano --region eu-central-1 --aws-profile nano-testnet

.PHONY: deploy-lambdas-nano-testnet-bravo
deploy-lambdas-nano-testnet-bravo:
AWS_SDK_LOAD_CONFIG=1 yarn workspace wallet-service run serverless deploy --stage nano-bravo --region eu-central-1 --aws-profile nano-testnet

.PHONY: deploy-lambdas-nano-testnet-hackaton
deploy-lambdas-nano-testnet-hackaton:
AWS_SDK_LOAD_CONFIG=1 yarn workspace wallet-service run serverless deploy --stage hackaton --region eu-central-1 --aws-profile nano-testnet-hackaton

.PHONY: deploy-lambdas-ekvilibro-testnet
deploy-lambdas-ekvilibro-testnet:
AWS_SDK_LOAD_CONFIG=1 yarn workspace wallet-service run serverless deploy --stage ekvilibro --region eu-central-1 --aws-profile ekvilibro
Expand All @@ -30,6 +46,14 @@ deploy-lambdas-dev-testnet:
deploy-lambdas-testnet:
AWS_SDK_LOAD_CONFIG=1 yarn workspace wallet-service run serverless deploy --stage testnet --region eu-central-1

.PHONY: deploy-lambdas-testnet-hotel
deploy-lambdas-testnet-hotel:
AWS_SDK_LOAD_CONFIG=1 yarn workspace wallet-service run serverless deploy --stage hotel --region eu-central-1

.PHONY: deploy-lambdas-testnet-india
deploy-lambdas-testnet-india:
AWS_SDK_LOAD_CONFIG=1 yarn workspace wallet-service run serverless deploy --stage india --region eu-central-1

.PHONY: deploy-lambdas-mainnet-staging
deploy-lambdas-mainnet-staging:
AWS_SDK_LOAD_CONFIG=1 yarn workspace wallet-service run serverless deploy --stage mainnet-stg --region eu-central-1
Expand Down
Loading
Loading