Skip to content

Commit

Permalink
Merge branch 'master' into renovate/aws-5.x
Browse files Browse the repository at this point in the history
  • Loading branch information
dcroote authored Feb 5, 2025
2 parents 67901b4 + 4a8b877 commit c974cbe
Show file tree
Hide file tree
Showing 52 changed files with 592 additions and 388 deletions.
7 changes: 7 additions & 0 deletions .changeset/beige-dancers-invite.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
"@api3/airnode-deployer": patch
"@api3/airnode-admin": patch
"@api3/airnode-node": patch
---

fixed cmake issue
12 changes: 12 additions & 0 deletions .changeset/rare-apes-double.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
"@api3/airnode-operation": patch
"@api3/airnode-validator": patch
"@api3/airnode-deployer": patch
"@api3/airnode-examples": patch
"@api3/airnode-protocol": patch
"@api3/airnode-adapter": patch
"@api3/airnode-admin": patch
"@api3/airnode-node": patch
---

Bump dependencies and fix typos
9 changes: 9 additions & 0 deletions .changeset/tough-sloths-hammer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
'@api3/airnode-utilities': minor
'@api3/airnode-deployer': minor
'@api3/airnode-examples': minor
'@api3/airnode-admin': minor
'@api3/airnode-node': minor
---

Replace Node.js 18 with Node.js 20
2 changes: 1 addition & 1 deletion .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:

env:
DOCKER_BUILDKIT: 1
TARGET_NODE_VERSION: '18.19.1'
TARGET_NODE_VERSION: '20.17.0'

jobs:
documentation:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/protocol-verify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ on:

env:
DOCKER_BUILDKIT: 1
TARGET_NODE_VERSION: '18.19.1'
TARGET_NODE_VERSION: '20.17.0'

jobs:
pre-build:
Expand Down
9 changes: 5 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ Airnode is a fully-serverless oracle node that is designed specifically for API

## Documentation

You can find an overview of Airnode in the [documentation](https://docs.api3.org/explore/airnode/what-is-airnode.html).
You can find an overview of Airnode in the
[documentation](https://airnode-docs.api3.org/reference/airnode/latest/understand/).

## For developers

Expand All @@ -19,11 +20,11 @@ This is a monorepo managed by [Lerna](https://github.com/lerna/lerna).

[**airnode-abi**:](https://github.com/api3dao/airnode/tree/master/packages/airnode-abi) Encoding and decoding utilities
for Airnode according to the
[Airnode ABI specifications](https://docs.api3.org/reference/airnode/latest/specifications/airnode-abi.html)
[Airnode ABI specifications](https://airnode-docs.api3.org/reference/airnode/latest/specifications/airnode-abi.html)

[**airnode-adapter**:](https://github.com/api3dao/airnode/tree/master/packages/airnode-adapter) Used for building
requests from an [Oracle Integration Specification (OIS)](https://docs.api3.org/reference/ois/latest/), executing them,
parsing the responses, but also converting and encoding them for on chain purposes
requests from an [Oracle Integration Specification (OIS)](https://airnode-docs.api3.org/reference/ois/latest/),
executing them, parsing the responses, but also converting and encoding them for on chain purposes

[**airnode-admin**:](https://github.com/api3dao/airnode/tree/master/packages/airnode-admin) A package/CLI tool to
interact with the Airnode contracts across chains
Expand Down
3 changes: 2 additions & 1 deletion docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
FROM node:18.19.1-alpine3.19 AS environment
FROM node:20.17.0-alpine3.20 AS environment

ENV appDir="/app" \
buildDir="/build" \
# Settings to true to convince changesets that this is run in the CI and it shouldn't check for or require 2FA auth
# https://github.com/changesets/changesets/blob/8c0846977597ddaf51aaeb35f1f0f9428bf8ba14/packages/cli/src/commands/publish/publishPackages.ts#L57
CI="true"

RUN apk --update --no-cache add build-base cmake linux-headers
RUN apk add --update --no-cache git rsync docker $([ $(arch) == "aarch64" ] && echo "python3 make g++") && \
yarn global add npm && \
# Download both solidity compilers as per: https://github.com/nomiclabs/hardhat/issues/1280#issuecomment-949822371
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"version": "0.1.0",
"private": true,
"engines": {
"node": "^18.19.1"
"node": "^20.17.0"
},
"repository": {
"type": "git",
Expand Down Expand Up @@ -110,7 +110,7 @@
"@changesets/cli": "^2.27.1",
"@octokit/core": "^5.2.0",
"@types/libsodium-wrappers": "^0.7.14",
"@types/node": "^18.19.31",
"@types/node": "^20.17.0",
"@typescript-eslint/eslint-plugin": "^7.8.0",
"@typescript-eslint/parser": "^7.8.0",
"@vercel/ncc": "^0.38.1",
Expand Down
6 changes: 3 additions & 3 deletions packages/airnode-abi/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# `@api3/airnode-abi`

> Encoding and decoding utilities for Airnode according to the
> [Airnode ABI specifications](https://docs.api3.org/reference/airnode/latest/specifications/airnode-abi.html)
> [Airnode ABI specifications](https://airnode-docs.api3.org/reference/airnode/latest/specifications/airnode-abi.html)
## Documentation

Expand All @@ -11,5 +11,5 @@ then grouped and encoded as the rest of the body.

For more information see the API3 Documentation.

- [Airnode ABI Reference](https://docs.api3.org/reference/airnode/latest/packages/airnode-abi.html)
- [Airnode ABI Specifications](https://docs.api3.org/reference/airnode/latest/specifications/airnode-abi.html)
- [Airnode ABI Reference](https://airnode-docs.api3.org/reference/airnode/latest/packages/airnode-abi.html)
- [Airnode ABI Specifications](https://airnode-docs.api3.org/reference/airnode/latest/specifications/airnode-abi.html)
6 changes: 3 additions & 3 deletions packages/airnode-adapter/README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# `@api3/airnode-adapter`

> Used for building requests from an
> [Oracle Integration Specification (OIS)](https://docs.api3.org/reference/ois/latest/), executing them, parsing the
> responses, but also converting and encoding them for on chain purposes
> [Oracle Integration Specification (OIS)](https://airnode-docs.api3.org/reference/ois/latest/), executing them, parsing
> the responses, but also converting and encoding them for on chain purposes
## Documentation

The adapter documentation describing relevant user facing parts can be found in
[adapter docs](https://docs.api3.org/reference/airnode/latest/packages/adapter.html).
[adapter docs](https://airnode-docs.api3.org/reference/airnode/latest/packages/adapter.html).
4 changes: 2 additions & 2 deletions packages/airnode-adapter/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"dependencies": {
"@api3/ois": "2.3.2",
"@api3/promise-utils": "^0.4.0",
"axios": "^1.6.7",
"axios": "^1.7.9",
"bignumber.js": "^9.1.2",
"ethers": "^5.7.2",
"lodash": "^4.17.21"
Expand All @@ -34,7 +34,7 @@
"@types/mocha": "^10.0.6",
"chai": "^4.4.1",
"ethereum-waffle": "^4.0.10",
"hardhat": "^2.14.1",
"hardhat": "^2.22.18",
"jest": "^29.7.0",
"rimraf": "^5.0.5",
"ts-jest": "^29.1.2",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,7 @@ describe('extract and encode multiple values', () => {
).toThrow('Parameter "_path" must be empty string or undefined when "_type" is "timestamp", but it was "1"');
});

it('throws if _times is present for non numberic types', () => {
it('throws if _times is present for non numeric types', () => {
const encodedString = ethers.utils.formatBytes32String('simplestring');
expect(() => extractAndEncodeResponse(encodedString, { _type: 'bytes32', _times: '1000' })).toThrow(
'Parameter "_times" can only be used with numeric types, but "_type" was "bytes32"'
Expand Down
2 changes: 1 addition & 1 deletion packages/airnode-admin/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
## Documentation

You can find documentation on how to use the admin CLI package in the
[admin CLI docs](https://docs.api3.org/reference/airnode/latest/packages/admin-cli.html).
[admin CLI docs](https://airnode-docs.api3.org/reference/airnode/latest/packages/admin-cli.html).

## For developers

Expand Down
3 changes: 2 additions & 1 deletion packages/airnode-admin/docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM node:18.19.1-alpine3.19
FROM node:20.17.0-alpine3.20

ARG npmRegistryUrl=https://registry.npmjs.org/
ARG npmTag=latest
Expand All @@ -12,6 +12,7 @@ LABEL application=${name} \

# Install airnode-admin
RUN npm set registry ${npmRegistryUrl} && \
apk add --update --no-cache build-base g++ cmake linux-headers && \
yarn global add ${packageName}@${npmTag} && \
ln -s /usr/local/share/.config/yarn/global/node_modules/${packageName}/dist ${appDir} && \
# Create user
Expand Down
2 changes: 1 addition & 1 deletion packages/airnode-admin/docker/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Airnode admin CLI Docker image

**This README is intended for the developers. Documentation on how to use the airnode-admin image is in the
[docs](https://docs.api3.org/reference/airnode/latest/docker/admin-cli-image.html).**
[docs](https://airnode-docs.api3.org/reference/airnode/latest/docker/admin-cli-image.html).**

This documentation focuses on the Airnode admin CLI Docker image, not the Airnode admin CLI itself. If you want to learn
more about the admin CLI, please read [its documentation](../README.md).
Expand Down
2 changes: 1 addition & 1 deletion packages/airnode-admin/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
},
"devDependencies": {
"@types/lodash": "^4.17.0",
"@types/node": "^18.19.31",
"@types/node": "^20.17.0",
"@types/yargs": "^17.0.32",
"jest": "^29.7.0",
"rimraf": "^5.0.5",
Expand Down
4 changes: 2 additions & 2 deletions packages/airnode-admin/test/e2e/cli.feature.ts
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ describe('CLI', () => {
it('derives airnode xpub', () => {
const airnodeMnemonic = airnodeWallet.mnemonic.phrase;

// Derive the xpub programatically
// Derive the xpub programmatically
const airnodeXpub = admin.deriveAirnodeXpub(airnodeMnemonic);

// Derive the xpub using CLI
Expand Down Expand Up @@ -172,7 +172,7 @@ describe('CLI', () => {
['--sponsor-address', sponsorAddress]
);

// Derive the wallet programatically
// Derive the wallet programmatically
const sponsorWallet = await deriveSponsorWallet(airnodeWallet.mnemonic.phrase, sponsorAddress);

// Check that they generate the same wallet address
Expand Down
4 changes: 2 additions & 2 deletions packages/airnode-deployer/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
## Documentation

You can find documentation on how to use the deployer in the
[deployer docs](https://docs.api3.org/reference/airnode/latest/docker/deployer-image.html).
[deployer docs](https://airnode-docs.api3.org/reference/airnode/latest/docker/deployer-image.html).

## For developers

Expand All @@ -22,7 +22,7 @@ Instructions on how to build and use the deployer CLI from source:
[required_version](https://github.com/api3dao/airnode/blob/master/packages/airnode-deployer/terraform/aws/backend.tf#L2)
of terraform modules used.
2. Prepare necessary cloud credentials. See the
[instructions in the docs](https://docs.api3.org/reference/airnode/latest/docker/deployer-image.html#cloud-provider-credentials).
[instructions in the docs](https://airnode-docs.api3.org/reference/airnode/latest/docker/deployer-image.html#cloud-provider-credentials).
3. Make sure `config.json` and `secrets.env` are available in the `config` directory. You can use the provided example
`config.json` and `secrets.env` templates to get started quickly, but you will need to edit these with your own API
details and secrets.
Expand Down
4 changes: 2 additions & 2 deletions packages/airnode-deployer/docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM node:18.19.1-alpine3.19
FROM node:20.17.0-alpine3.20

ARG npmRegistryUrl=https://registry.npmjs.org/
ARG npmTag=latest
Expand All @@ -15,7 +15,7 @@ COPY ./entrypoint.sh /entrypoint.sh

RUN ARCH=`[ $(arch) == "x86_64" ] && echo "amd64" || echo "arm64" ` && \
# Install external dependencies
apk add --update --no-cache su-exec git dos2unix && \
apk add --update --no-cache su-exec git dos2unix build-base g++ cmake linux-headers && \
# Download Terraform binary
wget ${baseTerraformURL}${ARCH}.zip && \
unzip *.zip -d /bin && \
Expand Down
5 changes: 3 additions & 2 deletions packages/airnode-deployer/docker/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Airnode deployer Docker image

**This README is intended for the developers. Documentation on how to use the deployer image is in the
[docs](https://docs.api3.org/reference/airnode/latest/docker/deployer-image.html).**
[docs](https://airnode-docs.api3.org/reference/airnode/latest/docker/deployer-image.html).**

This documentation focuses on the Airnode deployer Docker image, not the Airnode deployer itself. If you want to learn
more about the Deployer, please read [its documentation](../README.md).
Expand All @@ -17,4 +17,5 @@ yarn docker:build:local
> If building on windows ensure that the `entrypoint.sh` file uses `LF` line endings. Otherwise the image will not be
> built correctly.
The usage is documented in the [docs](https://docs.api3.org/reference/airnode/latest/docker/deployer-image.html).
The usage is documented in the
[docs](https://airnode-docs.api3.org/reference/airnode/latest/docker/deployer-image.html).
14 changes: 7 additions & 7 deletions packages/airnode-deployer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,13 @@
"@aws-sdk/client-s3": "^3.525.0",
"@aws-sdk/signature-v4-crt": "^3.525.0",
"@google-cloud/storage": "^7.7.0",
"adm-zip": "^0.5.10",
"adm-zip": "^0.5.16",
"chalk": "^4.1.2",
"cli-table3": "^0.6.3",
"compare-versions": "^6.1.0",
"compare-versions": "^6.1.1",
"date-fns": "^3.6.0",
"date-fns-tz": "^3.1.2",
"dotenv": "^16.4.5",
"date-fns-tz": "^3.2.0",
"dotenv": "^16.4.7",
"ethers": "^5.7.2",
"lodash": "^4.17.21",
"ora": "^5.4.1",
Expand All @@ -48,10 +48,10 @@
"devDependencies": {
"@aws-sdk/util-stream-node": "^3.374.0",
"@google-cloud/functions-framework": "^3.4.0",
"@types/adm-zip": "^0.5.5",
"@types/adm-zip": "^0.5.7",
"@types/aws-lambda": "^8.10.137",
"@types/lodash": "^4.17.0",
"@types/node": "^18.19.31",
"@types/node": "^20.17.0",
"@types/yargs": "^17.0.32",
"aws-sdk-client-mock": "^4.0.0",
"aws-sdk-client-mock-jest": "^4.0.0",
Expand All @@ -62,7 +62,7 @@
"ts-jest": "^29.1.2",
"ts-node": "^10.9.2",
"typescript": "^5.4.5",
"webpack": "^5.91.0",
"webpack": "^5.97.1",
"webpack-cli": "^5.1.4",
"webpack-ignore-dynamic-require": "^1.0.0"
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ resource "aws_lambda_function" "lambda" {
function_name = var.name
handler = var.handler
memory_size = var.memory_size
runtime = "nodejs18.x"
runtime = "nodejs20.x"
role = aws_iam_role.lambda_role.arn
timeout = var.timeout
reserved_concurrent_executions = var.reserved_concurrent_executions
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ resource "google_storage_bucket_object" "function_zip" {

resource "google_cloudfunctions_function" "function" {
name = var.name
runtime = "nodejs18"
runtime = "nodejs20"

available_memory_mb = var.memory_size
source_archive_bucket = google_storage_bucket_object.function_zip.bucket
Expand Down
Loading

0 comments on commit c974cbe

Please sign in to comment.