From b335b355923425ee5295ddd2040a5ccae26158b8 Mon Sep 17 00:00:00 2001 From: Derek Croote Date: Sun, 1 Oct 2023 18:40:28 -0700 Subject: [PATCH] feat: make operationParameter optional within endpoint parameters (#1888) * Bump @api3/ois to v2.2.0 and zod to v3.22.2 * Bump oisFormat in configs and test files * feat: make operationParameter optional within endpoint parameters --- .changeset/hungry-clouds-grow.md | 9 +++++++ packages/airnode-adapter/package.json | 2 +- .../src/request-building/parameters.test.ts | 27 +++++++++++++++++++ .../src/request-building/parameters.ts | 13 +++++---- packages/airnode-adapter/test/fixtures/ois.ts | 2 +- .../config/config.example.json | 2 +- packages/airnode-deployer/package.json | 2 +- .../test/fixtures/config.aws.valid.json | 2 +- .../test/fixtures/config.gcp.valid.json | 2 +- .../config.example.json | 2 +- .../create-config.ts | 2 +- .../config.example.json | 2 +- .../create-config.ts | 2 +- .../config.example.json | 2 +- .../coingecko-http-gateways/create-config.ts | 2 +- .../config.example.json | 2 +- .../create-config.ts | 2 +- .../config.example.json | 2 +- .../coingecko-pre-processing/create-config.ts | 2 +- .../coingecko-template/config.example.json | 2 +- .../coingecko-template/create-config.ts | 2 +- .../coingecko/config.example.json | 2 +- .../integrations/coingecko/create-config.ts | 2 +- .../failing-example/config.example.json | 2 +- .../failing-example/create-config.ts | 2 +- .../config.example.json | 2 +- .../relay-security-schemes/create-config.ts | 2 +- .../weather-multi-value/config.example.json | 2 +- .../weather-multi-value/create-config.ts | 2 +- .../airnode-node/config/config.example.json | 2 +- packages/airnode-node/package.json | 4 +-- .../test/fixtures/config/config.valid.json | 2 +- .../airnode-node/test/fixtures/config/ois.ts | 2 +- packages/airnode-validator/package.json | 4 +-- .../test/fixtures/config.valid.json | 2 +- .../fixtures/interpolated-config.valid.json | 2 +- .../fixtures/invalid-secret-name/config.json | 2 +- .../airnode-validator/test/fixtures/ois.json | 2 +- yarn.lock | 10 +++---- 39 files changed, 86 insertions(+), 47 deletions(-) create mode 100644 .changeset/hungry-clouds-grow.md diff --git a/.changeset/hungry-clouds-grow.md b/.changeset/hungry-clouds-grow.md new file mode 100644 index 0000000000..f8076ec5b1 --- /dev/null +++ b/.changeset/hungry-clouds-grow.md @@ -0,0 +1,9 @@ +--- +'@api3/airnode-validator': minor +'@api3/airnode-deployer': minor +'@api3/airnode-examples': minor +'@api3/airnode-adapter': minor +'@api3/airnode-node': minor +--- + +Bump OIS to v2.2.0 and make operationParameter optional within endpoint parameters diff --git a/packages/airnode-adapter/package.json b/packages/airnode-adapter/package.json index e2feaf6099..f877fcdf48 100644 --- a/packages/airnode-adapter/package.json +++ b/packages/airnode-adapter/package.json @@ -19,7 +19,7 @@ "test:watch": "yarn test:ts --watch" }, "dependencies": { - "@api3/ois": "2.1.0", + "@api3/ois": "2.2.0", "@api3/promise-utils": "^0.4.0", "axios": "^1.5.0", "bignumber.js": "^9.1.2", diff --git a/packages/airnode-adapter/src/request-building/parameters.test.ts b/packages/airnode-adapter/src/request-building/parameters.test.ts index a1eb9ad923..5c7aa8f94c 100644 --- a/packages/airnode-adapter/src/request-building/parameters.test.ts +++ b/packages/airnode-adapter/src/request-building/parameters.test.ts @@ -81,6 +81,33 @@ describe('fixed parameters', () => { headers: {}, }); }); + + it('ignores parameters without operationParameter', () => { + const ois = fixtures.buildOIS(); + ois.apiSpecifications.paths['/convert'].get!.parameters.push({ in: 'query', name: 'noOperationParameter' }); + const options = fixtures.buildCacheRequestOptions({ + ois, + parameters: { f: 'ETH', amount: '1', no_op: 'myValue' }, + }); + options.endpoint.parameters.push({ + name: 'no_op', + // operationParameter is absent + }); + options.operation.parameters.push({ name: 'noOperationParameter', in: 'query' }); + const res = parameters.buildParameters(options); + expect(res).toEqual({ + paths: {}, + query: { + // Expectedly absent: + // noOperationParameter: 'myValue', + access_key: 'super-secret-key', + amount: '1', + from: 'ETH', + to: 'USD', + }, + headers: {}, + }); + }); }); describe('user parameters', () => { diff --git a/packages/airnode-adapter/src/request-building/parameters.ts b/packages/airnode-adapter/src/request-building/parameters.ts index 35eacf1ce5..63848d6e9a 100644 --- a/packages/airnode-adapter/src/request-building/parameters.ts +++ b/packages/airnode-adapter/src/request-building/parameters.ts @@ -3,7 +3,7 @@ import * as authentication from './authentication'; import * as cookies from './cookies'; import { BuilderParameters, CachedBuildRequestOptions, RequestParameters } from '../types'; -function initalParameters(): BuilderParameters { +function initialParameters(): BuilderParameters { return { paths: {}, query: {}, @@ -49,7 +49,7 @@ function buildFixedParameters(options: CachedBuildRequestOptions): BuilderParame } return appendParameter(acc, target, name, parameter.value); - }, initalParameters()); + }, initialParameters()); } function buildUserParameters(options: CachedBuildRequestOptions): BuilderParameters { @@ -66,16 +66,19 @@ function buildUserParameters(options: CachedBuildRequestOptions): BuilderParamet // Double check that the parameter exists in the API specification const apiParameter = operation.parameters.find( - (p) => p.name === parameter.operationParameter.name && p.in === parameter.operationParameter.in + (p) => + parameter.operationParameter && + p.name === parameter.operationParameter.name && + p.in === parameter.operationParameter.in ); - if (!apiParameter) { + if (!apiParameter || !parameter.operationParameter) { return acc; } const { name, in: target } = parameter.operationParameter; return appendParameter(acc, target, name, parameters[key]); - }, initalParameters()); + }, initialParameters()); } export function buildParameters(options: CachedBuildRequestOptions): RequestParameters { diff --git a/packages/airnode-adapter/test/fixtures/ois.ts b/packages/airnode-adapter/test/fixtures/ois.ts index f4dbf6f198..4794c136f7 100644 --- a/packages/airnode-adapter/test/fixtures/ois.ts +++ b/packages/airnode-adapter/test/fixtures/ois.ts @@ -2,7 +2,7 @@ import { OIS } from '@api3/ois'; export function buildOIS(overrides?: Partial): OIS { return { - oisFormat: '2.1.0', + oisFormat: '2.2.0', version: '1.2.3', title: 'Currency Converter API', apiSpecifications: { diff --git a/packages/airnode-deployer/config/config.example.json b/packages/airnode-deployer/config/config.example.json index 0da2e8c1f9..22207852f5 100644 --- a/packages/airnode-deployer/config/config.example.json +++ b/packages/airnode-deployer/config/config.example.json @@ -94,7 +94,7 @@ "templates": [], "ois": [ { - "oisFormat": "2.1.0", + "oisFormat": "2.2.0", "title": "CoinGecko basic request", "version": "1.0.0", "apiSpecifications": { diff --git a/packages/airnode-deployer/package.json b/packages/airnode-deployer/package.json index fcb7e9f26c..2716fc38ee 100644 --- a/packages/airnode-deployer/package.json +++ b/packages/airnode-deployer/package.json @@ -43,7 +43,7 @@ "lodash": "^4.17.21", "ora": "^5.4.1", "yargs": "^17.7.2", - "zod": "^3.21.4" + "zod": "^3.22.2" }, "devDependencies": { "@aws-sdk/util-stream-node": "^3.370.0", diff --git a/packages/airnode-deployer/test/fixtures/config.aws.valid.json b/packages/airnode-deployer/test/fixtures/config.aws.valid.json index 92234f1d99..1b0f0898b2 100644 --- a/packages/airnode-deployer/test/fixtures/config.aws.valid.json +++ b/packages/airnode-deployer/test/fixtures/config.aws.valid.json @@ -95,7 +95,7 @@ "templates": [], "ois": [ { - "oisFormat": "2.1.0", + "oisFormat": "2.2.0", "title": "CoinGecko basic request", "version": "1.0.0", "apiSpecifications": { diff --git a/packages/airnode-deployer/test/fixtures/config.gcp.valid.json b/packages/airnode-deployer/test/fixtures/config.gcp.valid.json index fdf87554b8..153c631d0f 100644 --- a/packages/airnode-deployer/test/fixtures/config.gcp.valid.json +++ b/packages/airnode-deployer/test/fixtures/config.gcp.valid.json @@ -93,7 +93,7 @@ "templates": [], "ois": [ { - "oisFormat": "2.1.0", + "oisFormat": "2.2.0", "title": "CoinGecko basic request", "version": "1.0.0", "apiSpecifications": { diff --git a/packages/airnode-examples/integrations/authenticated-coinmarketcap/config.example.json b/packages/airnode-examples/integrations/authenticated-coinmarketcap/config.example.json index 0df12ad642..b05d93dec7 100644 --- a/packages/airnode-examples/integrations/authenticated-coinmarketcap/config.example.json +++ b/packages/airnode-examples/integrations/authenticated-coinmarketcap/config.example.json @@ -83,7 +83,7 @@ "templates": [], "ois": [ { - "oisFormat": "2.1.0", + "oisFormat": "2.2.0", "title": "CoinMarketCap Basic Authenticated Request", "version": "1.0.0", "apiSpecifications": { diff --git a/packages/airnode-examples/integrations/authenticated-coinmarketcap/create-config.ts b/packages/airnode-examples/integrations/authenticated-coinmarketcap/create-config.ts index d315efc76f..0da75e1b3e 100644 --- a/packages/airnode-examples/integrations/authenticated-coinmarketcap/create-config.ts +++ b/packages/airnode-examples/integrations/authenticated-coinmarketcap/create-config.ts @@ -90,7 +90,7 @@ const createConfig = async (generateExampleFile: boolean): Promise => ({ templates: [], ois: [ { - oisFormat: '2.1.0', + oisFormat: '2.2.0', title: 'CoinMarketCap Basic Authenticated Request', version: '1.0.0', apiSpecifications: { diff --git a/packages/airnode-examples/integrations/coingecko-cross-chain-authorizer/config.example.json b/packages/airnode-examples/integrations/coingecko-cross-chain-authorizer/config.example.json index d3677f9250..cedae67cf5 100644 --- a/packages/airnode-examples/integrations/coingecko-cross-chain-authorizer/config.example.json +++ b/packages/airnode-examples/integrations/coingecko-cross-chain-authorizer/config.example.json @@ -111,7 +111,7 @@ "templates": [], "ois": [ { - "oisFormat": "2.1.0", + "oisFormat": "2.2.0", "title": "CoinGecko basic request", "version": "1.0.0", "apiSpecifications": { diff --git a/packages/airnode-examples/integrations/coingecko-cross-chain-authorizer/create-config.ts b/packages/airnode-examples/integrations/coingecko-cross-chain-authorizer/create-config.ts index 20663f2d6c..5ad6b739bf 100644 --- a/packages/airnode-examples/integrations/coingecko-cross-chain-authorizer/create-config.ts +++ b/packages/airnode-examples/integrations/coingecko-cross-chain-authorizer/create-config.ts @@ -119,7 +119,7 @@ const createConfig = async (generateExampleFile: boolean): Promise => ({ templates: [], ois: [ { - oisFormat: '2.1.0', + oisFormat: '2.2.0', title: 'CoinGecko basic request', version: '1.0.0', apiSpecifications: { diff --git a/packages/airnode-examples/integrations/coingecko-http-gateways/config.example.json b/packages/airnode-examples/integrations/coingecko-http-gateways/config.example.json index 8af20aac2e..a2f7ca201a 100644 --- a/packages/airnode-examples/integrations/coingecko-http-gateways/config.example.json +++ b/packages/airnode-examples/integrations/coingecko-http-gateways/config.example.json @@ -99,7 +99,7 @@ "templates": [], "ois": [ { - "oisFormat": "2.1.0", + "oisFormat": "2.2.0", "title": "CoinGecko basic request", "version": "1.0.0", "apiSpecifications": { diff --git a/packages/airnode-examples/integrations/coingecko-http-gateways/create-config.ts b/packages/airnode-examples/integrations/coingecko-http-gateways/create-config.ts index 9325ec4f09..021a0d0ee7 100644 --- a/packages/airnode-examples/integrations/coingecko-http-gateways/create-config.ts +++ b/packages/airnode-examples/integrations/coingecko-http-gateways/create-config.ts @@ -106,7 +106,7 @@ const createConfig = async (generateExampleFile: boolean): Promise => ({ templates: [], ois: [ { - oisFormat: '2.1.0', + oisFormat: '2.2.0', title: 'CoinGecko basic request', version: '1.0.0', apiSpecifications: { diff --git a/packages/airnode-examples/integrations/coingecko-post-processing/config.example.json b/packages/airnode-examples/integrations/coingecko-post-processing/config.example.json index c84ee85512..ff904c535e 100644 --- a/packages/airnode-examples/integrations/coingecko-post-processing/config.example.json +++ b/packages/airnode-examples/integrations/coingecko-post-processing/config.example.json @@ -83,7 +83,7 @@ "templates": [], "ois": [ { - "oisFormat": "2.1.0", + "oisFormat": "2.2.0", "title": "CoinGecko coins markets request", "version": "1.0.0", "apiSpecifications": { diff --git a/packages/airnode-examples/integrations/coingecko-post-processing/create-config.ts b/packages/airnode-examples/integrations/coingecko-post-processing/create-config.ts index 202c987b6c..9e7cece16f 100644 --- a/packages/airnode-examples/integrations/coingecko-post-processing/create-config.ts +++ b/packages/airnode-examples/integrations/coingecko-post-processing/create-config.ts @@ -90,7 +90,7 @@ const createConfig = async (generateExampleFile: boolean): Promise => ({ templates: [], ois: [ { - oisFormat: '2.1.0', + oisFormat: '2.2.0', title: 'CoinGecko coins markets request', version: '1.0.0', apiSpecifications: { diff --git a/packages/airnode-examples/integrations/coingecko-pre-processing/config.example.json b/packages/airnode-examples/integrations/coingecko-pre-processing/config.example.json index c0cb6fa806..eee012394d 100644 --- a/packages/airnode-examples/integrations/coingecko-pre-processing/config.example.json +++ b/packages/airnode-examples/integrations/coingecko-pre-processing/config.example.json @@ -83,7 +83,7 @@ "templates": [], "ois": [ { - "oisFormat": "2.1.0", + "oisFormat": "2.2.0", "title": "CoinGecko history data request", "version": "1.0.0", "apiSpecifications": { diff --git a/packages/airnode-examples/integrations/coingecko-pre-processing/create-config.ts b/packages/airnode-examples/integrations/coingecko-pre-processing/create-config.ts index 304a3065cc..9b1ae415ad 100644 --- a/packages/airnode-examples/integrations/coingecko-pre-processing/create-config.ts +++ b/packages/airnode-examples/integrations/coingecko-pre-processing/create-config.ts @@ -90,7 +90,7 @@ const createConfig = async (generateExampleFile: boolean): Promise => ({ templates: [], ois: [ { - oisFormat: '2.1.0', + oisFormat: '2.2.0', title: 'CoinGecko history data request', version: '1.0.0', apiSpecifications: { diff --git a/packages/airnode-examples/integrations/coingecko-template/config.example.json b/packages/airnode-examples/integrations/coingecko-template/config.example.json index 166593b129..75a5a8cf86 100644 --- a/packages/airnode-examples/integrations/coingecko-template/config.example.json +++ b/packages/airnode-examples/integrations/coingecko-template/config.example.json @@ -89,7 +89,7 @@ ], "ois": [ { - "oisFormat": "2.1.0", + "oisFormat": "2.2.0", "title": "CoinGecko basic request", "version": "1.0.0", "apiSpecifications": { diff --git a/packages/airnode-examples/integrations/coingecko-template/create-config.ts b/packages/airnode-examples/integrations/coingecko-template/create-config.ts index 48c292b22f..e01ae383e4 100644 --- a/packages/airnode-examples/integrations/coingecko-template/create-config.ts +++ b/packages/airnode-examples/integrations/coingecko-template/create-config.ts @@ -98,7 +98,7 @@ const createConfig = async (generateExampleFile: boolean): Promise => ({ ], ois: [ { - oisFormat: '2.1.0', + oisFormat: '2.2.0', title: 'CoinGecko basic request', version: '1.0.0', apiSpecifications: { diff --git a/packages/airnode-examples/integrations/coingecko/config.example.json b/packages/airnode-examples/integrations/coingecko/config.example.json index 9cfb7ed345..afdef57d69 100644 --- a/packages/airnode-examples/integrations/coingecko/config.example.json +++ b/packages/airnode-examples/integrations/coingecko/config.example.json @@ -83,7 +83,7 @@ "templates": [], "ois": [ { - "oisFormat": "2.1.0", + "oisFormat": "2.2.0", "title": "CoinGecko basic request", "version": "1.0.0", "apiSpecifications": { diff --git a/packages/airnode-examples/integrations/coingecko/create-config.ts b/packages/airnode-examples/integrations/coingecko/create-config.ts index e16cb19d02..125c062dfe 100644 --- a/packages/airnode-examples/integrations/coingecko/create-config.ts +++ b/packages/airnode-examples/integrations/coingecko/create-config.ts @@ -90,7 +90,7 @@ const createConfig = async (generateExampleFile: boolean): Promise => ({ templates: [], ois: [ { - oisFormat: '2.1.0', + oisFormat: '2.2.0', title: 'CoinGecko basic request', version: '1.0.0', apiSpecifications: { diff --git a/packages/airnode-examples/integrations/failing-example/config.example.json b/packages/airnode-examples/integrations/failing-example/config.example.json index e35a701355..5d9af630ec 100644 --- a/packages/airnode-examples/integrations/failing-example/config.example.json +++ b/packages/airnode-examples/integrations/failing-example/config.example.json @@ -83,7 +83,7 @@ "templates": [], "ois": [ { - "oisFormat": "2.1.0", + "oisFormat": "2.2.0", "title": "Failure Example", "version": "1.0.0", "apiSpecifications": { diff --git a/packages/airnode-examples/integrations/failing-example/create-config.ts b/packages/airnode-examples/integrations/failing-example/create-config.ts index de8e8fd3be..e666f31965 100644 --- a/packages/airnode-examples/integrations/failing-example/create-config.ts +++ b/packages/airnode-examples/integrations/failing-example/create-config.ts @@ -90,7 +90,7 @@ const createConfig = async (generateExampleFile: boolean): Promise => ({ templates: [], ois: [ { - oisFormat: '2.1.0', + oisFormat: '2.2.0', title: 'Failure Example', version: '1.0.0', apiSpecifications: { diff --git a/packages/airnode-examples/integrations/relay-security-schemes/config.example.json b/packages/airnode-examples/integrations/relay-security-schemes/config.example.json index 3fa17f04e8..c59d10d1dc 100644 --- a/packages/airnode-examples/integrations/relay-security-schemes/config.example.json +++ b/packages/airnode-examples/integrations/relay-security-schemes/config.example.json @@ -83,7 +83,7 @@ "templates": [], "ois": [ { - "oisFormat": "2.1.0", + "oisFormat": "2.2.0", "title": "Relay Security Schemes via httpbin", "version": "1.0.0", "apiSpecifications": { diff --git a/packages/airnode-examples/integrations/relay-security-schemes/create-config.ts b/packages/airnode-examples/integrations/relay-security-schemes/create-config.ts index 2829b34c71..2381e435af 100644 --- a/packages/airnode-examples/integrations/relay-security-schemes/create-config.ts +++ b/packages/airnode-examples/integrations/relay-security-schemes/create-config.ts @@ -90,7 +90,7 @@ const createConfig = async (generateExampleFile: boolean): Promise => ({ templates: [], ois: [ { - oisFormat: '2.1.0', + oisFormat: '2.2.0', title: 'Relay Security Schemes via httpbin', version: '1.0.0', apiSpecifications: { diff --git a/packages/airnode-examples/integrations/weather-multi-value/config.example.json b/packages/airnode-examples/integrations/weather-multi-value/config.example.json index 86c75fb43e..b9c334ee4a 100644 --- a/packages/airnode-examples/integrations/weather-multi-value/config.example.json +++ b/packages/airnode-examples/integrations/weather-multi-value/config.example.json @@ -83,7 +83,7 @@ "templates": [], "ois": [ { - "oisFormat": "2.1.0", + "oisFormat": "2.2.0", "title": "OpenWeather Multiple Encoded Values", "version": "1.0.0", "apiSpecifications": { diff --git a/packages/airnode-examples/integrations/weather-multi-value/create-config.ts b/packages/airnode-examples/integrations/weather-multi-value/create-config.ts index bbcc518bc1..933df89bc6 100644 --- a/packages/airnode-examples/integrations/weather-multi-value/create-config.ts +++ b/packages/airnode-examples/integrations/weather-multi-value/create-config.ts @@ -90,7 +90,7 @@ const createConfig = async (generateExampleFile: boolean): Promise => ({ templates: [], ois: [ { - oisFormat: '2.1.0', + oisFormat: '2.2.0', title: 'OpenWeather Multiple Encoded Values', version: '1.0.0', apiSpecifications: { diff --git a/packages/airnode-node/config/config.example.json b/packages/airnode-node/config/config.example.json index b4aeaeebd0..89c5d5dbed 100644 --- a/packages/airnode-node/config/config.example.json +++ b/packages/airnode-node/config/config.example.json @@ -113,7 +113,7 @@ "templates": [], "ois": [ { - "oisFormat": "2.1.0", + "oisFormat": "2.2.0", "version": "1.2.3", "title": "Currency Converter API", "apiSpecifications": { diff --git a/packages/airnode-node/package.json b/packages/airnode-node/package.json index 714050b975..01190357fb 100644 --- a/packages/airnode-node/package.json +++ b/packages/airnode-node/package.json @@ -29,7 +29,7 @@ "@api3/airnode-protocol": "^0.12.0", "@api3/airnode-utilities": "^0.12.0", "@api3/airnode-validator": "^0.12.0", - "@api3/ois": "2.1.0", + "@api3/ois": "2.2.0", "@api3/promise-utils": "^0.4.0", "@aws-sdk/client-lambda": "^3.418.0", "date-fns": "^2.30.0", @@ -39,7 +39,7 @@ "google-auth-library": "^9.0.0", "lodash": "^4.17.21", "yargs": "^17.7.2", - "zod": "^3.21.4" + "zod": "^3.22.2" }, "devDependencies": { "@api3/airnode-operation": "^0.12.0", diff --git a/packages/airnode-node/test/fixtures/config/config.valid.json b/packages/airnode-node/test/fixtures/config/config.valid.json index d34b88b62b..01fc4a2fb6 100644 --- a/packages/airnode-node/test/fixtures/config/config.valid.json +++ b/packages/airnode-node/test/fixtures/config/config.valid.json @@ -84,7 +84,7 @@ "templates": [], "ois": [ { - "oisFormat": "2.1.0", + "oisFormat": "2.2.0", "title": "CoinGecko basic request", "version": "1.0.0", "apiSpecifications": { diff --git a/packages/airnode-node/test/fixtures/config/ois.ts b/packages/airnode-node/test/fixtures/config/ois.ts index b7702eb803..e6af67c9f9 100644 --- a/packages/airnode-node/test/fixtures/config/ois.ts +++ b/packages/airnode-node/test/fixtures/config/ois.ts @@ -2,7 +2,7 @@ import { OIS } from '@api3/ois'; export function buildOIS(ois?: Partial): OIS { return { - oisFormat: '2.1.0', + oisFormat: '2.2.0', version: '1.2.3', title: 'Currency Converter API', apiSpecifications: { diff --git a/packages/airnode-validator/package.json b/packages/airnode-validator/package.json index 41e9d2c76f..d1e662f046 100644 --- a/packages/airnode-validator/package.json +++ b/packages/airnode-validator/package.json @@ -22,14 +22,14 @@ }, "dependencies": { "@api3/airnode-protocol": "^0.12.0", - "@api3/ois": "2.1.0", + "@api3/ois": "2.2.0", "@api3/promise-utils": "^0.4.0", "dotenv": "^16.3.1", "ethers": "^5.7.2", "lodash": "^4.17.21", "ora": "^5.4.1", "yargs": "^17.7.2", - "zod": "^3.21.4" + "zod": "^3.22.2" }, "devDependencies": { "@types/yargs": "^17.0.25", diff --git a/packages/airnode-validator/test/fixtures/config.valid.json b/packages/airnode-validator/test/fixtures/config.valid.json index 7bc2cd2838..4b2f46ce48 100644 --- a/packages/airnode-validator/test/fixtures/config.valid.json +++ b/packages/airnode-validator/test/fixtures/config.valid.json @@ -102,7 +102,7 @@ "templates": [], "ois": [ { - "oisFormat": "2.1.0", + "oisFormat": "2.2.0", "title": "CoinGecko basic request", "version": "1.0.0", "apiSpecifications": { diff --git a/packages/airnode-validator/test/fixtures/interpolated-config.valid.json b/packages/airnode-validator/test/fixtures/interpolated-config.valid.json index af937b898a..1420e648cb 100644 --- a/packages/airnode-validator/test/fixtures/interpolated-config.valid.json +++ b/packages/airnode-validator/test/fixtures/interpolated-config.valid.json @@ -106,7 +106,7 @@ "templates": [], "ois": [ { - "oisFormat": "2.1.0", + "oisFormat": "2.2.0", "title": "CoinGecko basic request", "version": "1.0.0", "apiSpecifications": { diff --git a/packages/airnode-validator/test/fixtures/invalid-secret-name/config.json b/packages/airnode-validator/test/fixtures/invalid-secret-name/config.json index 0f006085d6..d43014a8f1 100644 --- a/packages/airnode-validator/test/fixtures/invalid-secret-name/config.json +++ b/packages/airnode-validator/test/fixtures/invalid-secret-name/config.json @@ -72,7 +72,7 @@ "templates": [], "ois": [ { - "oisFormat": "2.1.0", + "oisFormat": "2.2.0", "title": "CoinGecko basic request", "version": "1.0.0", "apiSpecifications": { diff --git a/packages/airnode-validator/test/fixtures/ois.json b/packages/airnode-validator/test/fixtures/ois.json index 3631bb8951..dce1084e86 100644 --- a/packages/airnode-validator/test/fixtures/ois.json +++ b/packages/airnode-validator/test/fixtures/ois.json @@ -1,5 +1,5 @@ { - "oisFormat": "2.1.0", + "oisFormat": "2.2.0", "version": "1.2.3", "title": "coinlayer", "apiSpecifications": { diff --git a/yarn.lock b/yarn.lock index cef41462f0..18d3c39660 100644 --- a/yarn.lock +++ b/yarn.lock @@ -29,13 +29,13 @@ dependencies: zod "^3.22.2" -"@api3/ois@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@api3/ois/-/ois-2.1.0.tgz#71a6b9e67a72fa972527e578f2a81a6a3e7b6863" - integrity sha512-KcDzCNhC1z4XSrpz5G6XsvgUdJhTEtDwJLJX6VP8QNhIk6FWKgCqYUHuJ4PhOoSkMGUPPVu5jYqGbZj4q8ymEA== +"@api3/ois@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@api3/ois/-/ois-2.2.0.tgz#15924f09797926355c58534e26579015bfccee76" + integrity sha512-cgOvwu1WlMllW2SJeGO78HXaecjEd58hd4UTabXviAX8p6eGJ0WsTB7uwF6G/ahy0hTVA16uKcSpdZVd7ZsDoQ== dependencies: lodash "^4.17.21" - zod "^3.21.4" + zod "^3.22.2" "@api3/promise-utils@^0.4.0": version "0.4.0"