From 5408952877678744813bac3f108f958bfdd0c1fe Mon Sep 17 00:00:00 2001 From: nick Date: Mon, 5 Feb 2024 17:00:20 +0900 Subject: [PATCH 01/19] fix: update path for aggregator name --- cli/src/delegator.ts | 4 ++-- cli/src/listener.ts | 4 ++-- cli/src/reporter.ts | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/cli/src/delegator.ts b/cli/src/delegator.ts index 7f1e6e854..22f55088d 100644 --- a/cli/src/delegator.ts +++ b/cli/src/delegator.ts @@ -306,8 +306,8 @@ export function reporterListHandler() { const url = new URL(AGGREGATOR_ENDPOINT) url.searchParams.append('address', reporter.contract[0]) const aggregatorResult = (await axios.get(url.toString())).data - if (aggregatorResult && aggregatorResult.name) { - reporter.name = aggregatorResult.name + if (aggregatorResult && aggregatorResult[0].name) { + reporter.name = aggregatorResult[0].name } } diff --git a/cli/src/listener.ts b/cli/src/listener.ts index 08a5884c0..5d37c9871 100644 --- a/cli/src/listener.ts +++ b/cli/src/listener.ts @@ -134,8 +134,8 @@ export function listHandler(print?: boolean) { const url = new URL(AGGREGATOR_ENDPOINT) url.searchParams.append('address', listener.address) const aggregatorResult = (await axios.get(url.toString())).data - if (aggregatorResult && aggregatorResult.name) { - listener.name = aggregatorResult.name + if (aggregatorResult && aggregatorResult[0].name) { + listener.name = aggregatorResult[0].name } } diff --git a/cli/src/reporter.ts b/cli/src/reporter.ts index 75ca2ac1a..42410f9d6 100644 --- a/cli/src/reporter.ts +++ b/cli/src/reporter.ts @@ -157,8 +157,8 @@ export function listHandler(print?: boolean) { const url = new URL(AGGREGATOR_ENDPOINT) url.searchParams.append('address', reporter.oracleAddress) const aggregatorResult = (await axios.get(url.toString())).data - if (aggregatorResult && aggregatorResult.name) { - reporter.name = aggregatorResult.name + if (aggregatorResult && aggregatorResult[0].name) { + reporter.name = aggregatorResult[0].name } } From f6284fda0a44188c1379c0ca6c74d27f5fde8a20 Mon Sep 17 00:00:00 2001 From: nick Date: Wed, 7 Feb 2024 11:21:47 +0900 Subject: [PATCH 02/19] fix: separate print variable with return variable --- cli/src/delegator.ts | 5 ++++- cli/src/listener.ts | 7 ++++++- cli/src/reporter.ts | 5 ++++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/cli/src/delegator.ts b/cli/src/delegator.ts index 22f55088d..3150eaf47 100644 --- a/cli/src/delegator.ts +++ b/cli/src/delegator.ts @@ -298,9 +298,11 @@ export function reporterListHandler() { try { const endpoint = buildUrl(ORAKL_NETWORK_DELEGATOR_URL, `reporter`) const result = (await axios.get(endpoint)).data + const printResult: any[] = [] for (const reporter of result) { if (!reporter.contract) { + printResult.push(reporter) continue } const url = new URL(AGGREGATOR_ENDPOINT) @@ -308,10 +310,11 @@ export function reporterListHandler() { const aggregatorResult = (await axios.get(url.toString())).data if (aggregatorResult && aggregatorResult[0].name) { reporter.name = aggregatorResult[0].name + printResult.push(reporter) } } - console.log(result) + console.log(printResult) return result } catch (e) { console.error('Delegator Reporter was not listed. Reason:') diff --git a/cli/src/listener.ts b/cli/src/listener.ts index 5d37c9871..64636a771 100644 --- a/cli/src/listener.ts +++ b/cli/src/listener.ts @@ -126,20 +126,25 @@ export function listHandler(print?: boolean) { try { const result = (await axios.get(LISTENER_ENDPOINT, { data: { chain, service } }))?.data + + const printResult: any[] = [] if (print) { for (const listener of result) { if (listener.service != 'DATA_FEED') { + printResult.push(listener) continue } + const url = new URL(AGGREGATOR_ENDPOINT) url.searchParams.append('address', listener.address) const aggregatorResult = (await axios.get(url.toString())).data if (aggregatorResult && aggregatorResult[0].name) { listener.name = aggregatorResult[0].name + printResult.push(listener) } } - console.dir(result, { depth: null }) + console.dir(printResult, { depth: null }) } return result } catch (e) { diff --git a/cli/src/reporter.ts b/cli/src/reporter.ts index 42410f9d6..4291c4f39 100644 --- a/cli/src/reporter.ts +++ b/cli/src/reporter.ts @@ -149,9 +149,11 @@ export function listHandler(print?: boolean) { try { const result = (await axios.get(REPORTER_ENDPOINT, { data: { chain, service } }))?.data + const printResult: any[] = [] if (print) { for (const reporter of result) { if (reporter.service != 'DATA_FEED') { + printResult.push(reporter) continue } const url = new URL(AGGREGATOR_ENDPOINT) @@ -159,10 +161,11 @@ export function listHandler(print?: boolean) { const aggregatorResult = (await axios.get(url.toString())).data if (aggregatorResult && aggregatorResult[0].name) { reporter.name = aggregatorResult[0].name + printResult.push(reporter) } } - console.dir(result, { depth: null }) + console.dir(printResult, { depth: null }) } return result } catch (e) { From fae2282e36dfc27f49afd0e55572e4976d72e308 Mon Sep 17 00:00:00 2001 From: nick Date: Wed, 7 Feb 2024 17:53:36 +0900 Subject: [PATCH 03/19] fix: fix test error --- cli/src/delegator.ts | 19 ++++++++++++------- cli/src/listener.ts | 19 +++++++++++-------- cli/src/reporter.ts | 19 ++++++++++++------- cli/test/datafeed.test.ts | 12 ++++++------ cli/test/mockData.ts | 12 ++++++------ 5 files changed, 47 insertions(+), 34 deletions(-) diff --git a/cli/src/delegator.ts b/cli/src/delegator.ts index 3150eaf47..83f11d7b7 100644 --- a/cli/src/delegator.ts +++ b/cli/src/delegator.ts @@ -300,17 +300,22 @@ export function reporterListHandler() { const result = (await axios.get(endpoint)).data const printResult: any[] = [] + const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) + const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data + for (const reporter of result) { if (!reporter.contract) { - printResult.push(reporter) + printResult.push({ ...reporter }) continue } - const url = new URL(AGGREGATOR_ENDPOINT) - url.searchParams.append('address', reporter.contract[0]) - const aggregatorResult = (await axios.get(url.toString())).data - if (aggregatorResult && aggregatorResult[0].name) { - reporter.name = aggregatorResult[0].name - printResult.push(reporter) + + const aggregator = aggregatorResult.find( + (aggregator) => aggregator.address === reporter.contract[0] + ) + if (aggregator) { + printResult.push({ ...reporter, name: aggregator.name }) + } else { + printResult.push({ ...reporter }) } } diff --git a/cli/src/listener.ts b/cli/src/listener.ts index 64636a771..73619b56a 100644 --- a/cli/src/listener.ts +++ b/cli/src/listener.ts @@ -126,21 +126,24 @@ export function listHandler(print?: boolean) { try { const result = (await axios.get(LISTENER_ENDPOINT, { data: { chain, service } }))?.data - const printResult: any[] = [] + + const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) + const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data if (print) { for (const listener of result) { if (listener.service != 'DATA_FEED') { - printResult.push(listener) + printResult.push({ ...listener }) continue } - const url = new URL(AGGREGATOR_ENDPOINT) - url.searchParams.append('address', listener.address) - const aggregatorResult = (await axios.get(url.toString())).data - if (aggregatorResult && aggregatorResult[0].name) { - listener.name = aggregatorResult[0].name - printResult.push(listener) + const aggregator = aggregatorResult.find( + (aggregator) => aggregator.address === listener.address + ) + if (aggregator) { + printResult.push({ ...listener, name: aggregator.name }) + } else { + printResult.push({ ...listener }) } } diff --git a/cli/src/reporter.ts b/cli/src/reporter.ts index 4291c4f39..29f5022a0 100644 --- a/cli/src/reporter.ts +++ b/cli/src/reporter.ts @@ -150,18 +150,23 @@ export function listHandler(print?: boolean) { try { const result = (await axios.get(REPORTER_ENDPOINT, { data: { chain, service } }))?.data const printResult: any[] = [] + + const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) + const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data if (print) { for (const reporter of result) { if (reporter.service != 'DATA_FEED') { - printResult.push(reporter) + printResult.push({ ...reporter }) continue } - const url = new URL(AGGREGATOR_ENDPOINT) - url.searchParams.append('address', reporter.oracleAddress) - const aggregatorResult = (await axios.get(url.toString())).data - if (aggregatorResult && aggregatorResult[0].name) { - reporter.name = aggregatorResult[0].name - printResult.push(reporter) + + const aggregator = aggregatorResult.find( + (aggregator) => aggregator.address === reporter.oracleAddress + ) + if (aggregator) { + printResult.push({ ...reporter, name: aggregator.name }) + } else { + printResult.push({ ...reporter }) } } diff --git a/cli/test/datafeed.test.ts b/cli/test/datafeed.test.ts index 8aa680904..94c46f356 100644 --- a/cli/test/datafeed.test.ts +++ b/cli/test/datafeed.test.ts @@ -73,6 +73,12 @@ describe('CLI datafeed', function () { const afterReporterList = await reporterListHandler()({}) const afterFunctionList = await functionListHandler()() + for (const reporter of afterReporterList) { + await reporterRemoveHandler()({ id: reporter.id }) + } + for (const listener of afterListenerList) { + await listenerRemoveHandler()({ id: listener.id }) + } for (const _function of afterFunctionList) { await functionRemoveHandler()({ id: Number(_function.id) }) } @@ -88,12 +94,6 @@ describe('CLI datafeed', function () { for (const contract of afterContractList) { await contractRemoveHandler()({ id: contract.id }) } - for (const listener of afterListenerList) { - await listenerRemoveHandler()({ id: listener.id }) - } - for (const reporter of afterReporterList) { - await reporterRemoveHandler()({ id: reporter.id }) - } }) test('datafeed bulk insert with default values', async function () { diff --git a/cli/test/mockData.ts b/cli/test/mockData.ts index 47b7d34d7..4cffe4ada 100644 --- a/cli/test/mockData.ts +++ b/cli/test/mockData.ts @@ -86,7 +86,7 @@ export const DATAFEED_BULK_0 = { adapterSource: 'https://config.orakl.network/adapter/ada-usdt.adapter.json', aggregatorSource: 'https://config.orakl.network/aggregator/baobab/ada-usdt.aggregator.json', reporter: { - walletAddress: '0xa', + walletAddress: '0xab', walletPrivateKey: '0xb' } }, @@ -94,7 +94,7 @@ export const DATAFEED_BULK_0 = { adapterSource: 'https://config.orakl.network/adapter/atom-usdt.adapter.json', aggregatorSource: 'https://config.orakl.network/aggregator/baobab/atom-usdt.aggregator.json', reporter: { - walletAddress: '0xc', + walletAddress: '0xcd', walletPrivateKey: '0xd' } }, @@ -102,7 +102,7 @@ export const DATAFEED_BULK_0 = { adapterSource: 'https://config.orakl.network/adapter/avax-usdt.adapter.json', aggregatorSource: 'https://config.orakl.network/aggregator/baobab/avax-usdt.aggregator.json', reporter: { - walletAddress: '0xe', + walletAddress: '0xef', walletPrivateKey: '0xf' } } @@ -120,7 +120,7 @@ export const DATAFEED_BULK_1 = { adapterSource: 'https://config.orakl.network/adapter/bnb-usdt.adapter.json', aggregatorSource: 'https://config.orakl.network/aggregator/baobab/bnb-usdt.aggregator.json', reporter: { - walletAddress: '0x0', + walletAddress: '0x01', walletPrivateKey: '0x1' } }, @@ -128,7 +128,7 @@ export const DATAFEED_BULK_1 = { adapterSource: 'https://config.orakl.network/adapter/bora-krw.adapter.json', aggregatorSource: 'https://config.orakl.network/aggregator/baobab/bora-krw.aggregator.json', reporter: { - walletAddress: '0x2', + walletAddress: '0x23', walletPrivateKey: '0x3' } }, @@ -136,7 +136,7 @@ export const DATAFEED_BULK_1 = { adapterSource: 'https://config.orakl.network/adapter/eth-usdt.adapter.json', aggregatorSource: 'https://config.orakl.network/aggregator/baobab/eth-usdt.aggregator.json', reporter: { - walletAddress: '0x4', + walletAddress: '0x45', walletPrivateKey: '0x5' } } From 870019e3ad85326455a92225c25b9130c6457555 Mon Sep 17 00:00:00 2001 From: nick Date: Wed, 7 Feb 2024 18:52:00 +0900 Subject: [PATCH 04/19] fix: update based on goapi behavior --- cli/src/adapter.ts | 4 ++-- cli/src/aggregator.ts | 4 ++-- cli/src/chain.ts | 4 ++-- cli/src/proxy.ts | 4 ++-- cli/src/service.ts | 4 ++-- cli/src/vrf.ts | 7 +++++++ cli/test/adapter.ts | 4 +++- cli/test/aggregator.ts | 4 +++- cli/test/chain.test.ts | 4 +++- cli/test/mockData.ts | 12 ++++++------ cli/test/proxy.test.ts | 4 +++- cli/test/service.test.ts | 4 +++- 12 files changed, 38 insertions(+), 21 deletions(-) diff --git a/cli/src/adapter.ts b/cli/src/adapter.ts index da6d4d88c..0ad701825 100644 --- a/cli/src/adapter.ts +++ b/cli/src/adapter.ts @@ -85,8 +85,8 @@ export function insertHandler() { return response } catch (e) { console.error('Adapter was not inserted. Reason:') - console.error(e?.response?.data?.message) - return e?.response?.data?.message + console.error(e?.response?.data) + return e?.response?.data } } return wrapper diff --git a/cli/src/aggregator.ts b/cli/src/aggregator.ts index d9ff2def0..b00850617 100644 --- a/cli/src/aggregator.ts +++ b/cli/src/aggregator.ts @@ -195,8 +195,8 @@ export function insertHandler() { return result } catch (e) { console.error('Aggregator was not inserted. Reason:') - console.error(e?.response?.data?.message) - return e?.response?.data?.message + console.error(e?.response?.data) + return e?.response?.data } } return wrapper diff --git a/cli/src/chain.ts b/cli/src/chain.ts index 3eb3dc048..2e40c6ab4 100644 --- a/cli/src/chain.ts +++ b/cli/src/chain.ts @@ -68,8 +68,8 @@ export function insertHandler() { return response } catch (e) { console.error('Chain was not inserted. Reason:') - console.error(e?.response?.data?.message) - return e?.response?.data?.message + console.error(e?.response?.data) + return e?.response?.data } } return wrapper diff --git a/cli/src/proxy.ts b/cli/src/proxy.ts index 850876914..91892e78b 100644 --- a/cli/src/proxy.ts +++ b/cli/src/proxy.ts @@ -87,8 +87,8 @@ export function insertHandler() { return response } catch (e) { console.error('Proxy was not inserted. Reason:') - console.error(e?.response?.data?.message) - return e?.response?.data?.message + console.error(e?.response?.data) + return e?.response?.data } } return wrapper diff --git a/cli/src/service.ts b/cli/src/service.ts index 2baa14fc6..b59dd68a9 100644 --- a/cli/src/service.ts +++ b/cli/src/service.ts @@ -68,8 +68,8 @@ export function insertHandler() { return response } catch (e) { console.error('Service was not inserted. Reason:') - console.error(e?.response?.data?.message) - return e?.response?.data?.message + console.error(e?.response?.data) + return e?.response?.data } } return wrapper diff --git a/cli/src/vrf.ts b/cli/src/vrf.ts index 71b5da81f..e833c2aa1 100644 --- a/cli/src/vrf.ts +++ b/cli/src/vrf.ts @@ -77,6 +77,13 @@ export function listHandler(print?: boolean) { if (!(await isOraklNetworkApiHealthy())) return try { + if (!chain) { + const result = (await axios.get(VRF_ENDPOINT)).data + if (print) { + console.dir(result, { depth: null }) + } + return result + } const result = (await axios.get(VRF_ENDPOINT, { data: { chain } }))?.data if (print) { console.dir(result, { depth: null }) diff --git a/cli/test/adapter.ts b/cli/test/adapter.ts index 853ac16ff..c82920cd3 100644 --- a/cli/test/adapter.ts +++ b/cli/test/adapter.ts @@ -33,7 +33,9 @@ describe('CLI Adapter', function () { test('Should not allow to insert the same adapter more than once', async function () { await insertHandler()({ data: ADAPTER_1 }) const msg = await insertHandler()({ data: ADAPTER_1 }) - expect(msg).toEqual('Unique constraint failed on the adapter_hash') + expect(msg).toEqual( + 'ERROR: duplicate key value violates unique constraint "adapters_adapter_hash_key" (SQLSTATE 23505)' + ) }) test('Should delete adapter based on id', async function () { diff --git a/cli/test/aggregator.ts b/cli/test/aggregator.ts index 3bd16caf4..4173f566a 100644 --- a/cli/test/aggregator.ts +++ b/cli/test/aggregator.ts @@ -55,7 +55,9 @@ describe('CLI Aggregator', function () { await insertHandler()({ data: AGGREGATOR_1, chain: 'localhost' }) const msg = await insertHandler()({ data: AGGREGATOR_1, chain: 'localhost' }) - expect(msg).toEqual('Unique constraint failed on the address') + expect(msg).toEqual( + 'ERROR: duplicate key value violates unique constraint "aggregators_address_key" (SQLSTATE 23505)' + ) }) test('Should delete aggregator based on id', async function () { diff --git a/cli/test/chain.test.ts b/cli/test/chain.test.ts index 8ce956072..7c7325587 100644 --- a/cli/test/chain.test.ts +++ b/cli/test/chain.test.ts @@ -30,7 +30,9 @@ describe('CLI Chain', function () { test('Should not allow to insert the same chain more than once', async function () { await insertHandler()({ name: 'ethereum' }) const msg = await insertHandler()({ name: 'ethereum' }) - expect(msg).toEqual('Internal server error') + expect(msg).toEqual( + 'ERROR: duplicate key value violates unique constraint "chains_name_key" (SQLSTATE 23505)' + ) }) test('Should delete chain based on id', async function () { diff --git a/cli/test/mockData.ts b/cli/test/mockData.ts index 4cffe4ada..4a01608c4 100644 --- a/cli/test/mockData.ts +++ b/cli/test/mockData.ts @@ -2,7 +2,7 @@ export const ADAPTER_0 = { active: true, name: 'X-Y', decimals: 8, - adapterHash: '0x020e150749af3bffaec9ae337da0b9b00c3cfe0b46b854a8e2f5922f6ba2c5db', + adapterHash: '0x78514506aa9d275a66ad8c2480ca60769ba2c597dcd28742e80c50bae56f59ca', feeds: [ { name: 'data-X-Y', @@ -24,7 +24,7 @@ export const ADAPTER_1 = { active: true, name: 'Z-X', decimals: 8, - adapterHash: '0x12da2f5119ba624ed025303b424d637349c0d120d02bd66a9cfff57e98463a81', + adapterHash: '0xfdcd2236964e2d7b7e308ff3f0631e4a0e12df3c1f6eae896279c5c10d4a90c7', feeds: [ { name: 'data-Z-X', @@ -44,22 +44,22 @@ export const ADAPTER_1 = { export const AGGREGATOR_0 = { name: 'X-Y', - aggregatorHash: '0x5bcc6c18d584dc54a666f9212229226f02f65b8dcda3ed72836b6c901f2d18e1', + aggregatorHash: '0xf49b12c34c575369168e0ca822653186546343f7abcbd6ae6fc6c8325bec1f52', address: '0x0000000000000000000000000000000000000000', heartbeat: 15000, threshold: 0.05, absoluteThreshold: 0.1, - adapterHash: '0x020e150749af3bffaec9ae337da0b9b00c3cfe0b46b854a8e2f5922f6ba2c5db' + adapterHash: '0x78514506aa9d275a66ad8c2480ca60769ba2c597dcd28742e80c50bae56f59ca' } export const AGGREGATOR_1 = { name: 'Z-X', - aggregatorHash: '0x11ca65b539221125a64b38653f65dbbf961ed2ea16bcaf54408a5d2ebdc13a0b', + aggregatorHash: '0x3cd7a87af54adcced76d090d975212f0974fd531b1c982b10db4ca22323da30b', address: '0x0000000000000000000000000000000000000001', heartbeat: 15000, threshold: 0.05, absoluteThreshold: 0.1, - adapterHash: '0x12da2f5119ba624ed025303b424d637349c0d120d02bd66a9cfff57e98463a81' + adapterHash: '0xfdcd2236964e2d7b7e308ff3f0631e4a0e12df3c1f6eae896279c5c10d4a90c7' } export const VRF_0 = { diff --git a/cli/test/proxy.test.ts b/cli/test/proxy.test.ts index 198ca106a..acd6304a5 100644 --- a/cli/test/proxy.test.ts +++ b/cli/test/proxy.test.ts @@ -42,7 +42,9 @@ describe('CLI Proxy', function () { test('Should not allow to insert the same proxy more than once', async function () { await insertHandler()(proxyData_1) const msg = await insertHandler()(proxyData_1) - expect(msg).toEqual('Internal server error') + expect(msg).toEqual( + 'ERROR: duplicate key value violates unique constraint "proxies_protocol_host_port_key" (SQLSTATE 23505)' + ) }) test('Should delete proxy based on id', async function () { diff --git a/cli/test/service.test.ts b/cli/test/service.test.ts index b6dc669db..3408f1f1d 100644 --- a/cli/test/service.test.ts +++ b/cli/test/service.test.ts @@ -30,7 +30,9 @@ describe('CLI Service', function () { test('Should not allow to insert the same service more than once', async function () { await insertHandler()({ name: 'Automation' }) const msg = await insertHandler()({ name: 'Automation' }) - expect(msg).toEqual('Internal server error') + expect(msg).toEqual( + 'ERROR: duplicate key value violates unique constraint "services_name_key" (SQLSTATE 23505)' + ) }) test('Should delete service based on id', async function () { From b8d9dfca9136045507a55217e912ca6b2977a7fd Mon Sep 17 00:00:00 2001 From: nick Date: Wed, 7 Feb 2024 18:57:00 +0900 Subject: [PATCH 05/19] fix: rollback additional infos --- cli/src/delegator.ts | 44 ++++++++++++++++++++++---------------------- cli/src/listener.ts | 36 ++++++++++++++++++------------------ cli/src/reporter.ts | 40 ++++++++++++++++++++-------------------- 3 files changed, 60 insertions(+), 60 deletions(-) diff --git a/cli/src/delegator.ts b/cli/src/delegator.ts index 83f11d7b7..c05458d07 100644 --- a/cli/src/delegator.ts +++ b/cli/src/delegator.ts @@ -298,28 +298,28 @@ export function reporterListHandler() { try { const endpoint = buildUrl(ORAKL_NETWORK_DELEGATOR_URL, `reporter`) const result = (await axios.get(endpoint)).data - const printResult: any[] = [] - - const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) - const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data - - for (const reporter of result) { - if (!reporter.contract) { - printResult.push({ ...reporter }) - continue - } - - const aggregator = aggregatorResult.find( - (aggregator) => aggregator.address === reporter.contract[0] - ) - if (aggregator) { - printResult.push({ ...reporter, name: aggregator.name }) - } else { - printResult.push({ ...reporter }) - } - } - - console.log(printResult) + // const printResult: any[] = [] + + // const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) + // const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data + + // for (const reporter of result) { + // if (!reporter.contract) { + // printResult.push({ ...reporter }) + // continue + // } + + // const aggregator = aggregatorResult.find( + // (aggregator) => aggregator.address === reporter.contract[0] + // ) + // if (aggregator) { + // printResult.push({ ...reporter, name: aggregator.name }) + // } else { + // printResult.push({ ...reporter }) + // } + // } + + console.log(result) return result } catch (e) { console.error('Delegator Reporter was not listed. Reason:') diff --git a/cli/src/listener.ts b/cli/src/listener.ts index 73619b56a..c8096012e 100644 --- a/cli/src/listener.ts +++ b/cli/src/listener.ts @@ -126,28 +126,28 @@ export function listHandler(print?: boolean) { try { const result = (await axios.get(LISTENER_ENDPOINT, { data: { chain, service } }))?.data - const printResult: any[] = [] + // const printResult: any[] = [] - const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) - const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data + // const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) + // const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data if (print) { - for (const listener of result) { - if (listener.service != 'DATA_FEED') { - printResult.push({ ...listener }) - continue - } + // for (const listener of result) { + // if (listener.service != 'DATA_FEED') { + // printResult.push({ ...listener }) + // continue + // } - const aggregator = aggregatorResult.find( - (aggregator) => aggregator.address === listener.address - ) - if (aggregator) { - printResult.push({ ...listener, name: aggregator.name }) - } else { - printResult.push({ ...listener }) - } - } + // const aggregator = aggregatorResult.find( + // (aggregator) => aggregator.address === listener.address + // ) + // if (aggregator) { + // printResult.push({ ...listener, name: aggregator.name }) + // } else { + // printResult.push({ ...listener }) + // } + // } - console.dir(printResult, { depth: null }) + console.dir(result, { depth: null }) } return result } catch (e) { diff --git a/cli/src/reporter.ts b/cli/src/reporter.ts index 29f5022a0..7b27ed19a 100644 --- a/cli/src/reporter.ts +++ b/cli/src/reporter.ts @@ -149,28 +149,28 @@ export function listHandler(print?: boolean) { try { const result = (await axios.get(REPORTER_ENDPOINT, { data: { chain, service } }))?.data - const printResult: any[] = [] + // const printResult: any[] = [] - const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) - const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data + // const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) + // const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data if (print) { - for (const reporter of result) { - if (reporter.service != 'DATA_FEED') { - printResult.push({ ...reporter }) - continue - } - - const aggregator = aggregatorResult.find( - (aggregator) => aggregator.address === reporter.oracleAddress - ) - if (aggregator) { - printResult.push({ ...reporter, name: aggregator.name }) - } else { - printResult.push({ ...reporter }) - } - } - - console.dir(printResult, { depth: null }) + // for (const reporter of result) { + // if (reporter.service != 'DATA_FEED') { + // printResult.push({ ...reporter }) + // continue + // } + + // const aggregator = aggregatorResult.find( + // (aggregator) => aggregator.address === reporter.oracleAddress + // ) + // if (aggregator) { + // printResult.push({ ...reporter, name: aggregator.name }) + // } else { + // printResult.push({ ...reporter }) + // } + // } + + console.dir(result, { depth: null }) } return result } catch (e) { From 257128cab21a9a8fa292f12447ba74c4b0df7a16 Mon Sep 17 00:00:00 2001 From: nick Date: Wed, 7 Feb 2024 19:17:38 +0900 Subject: [PATCH 06/19] fix: add constraints for migration file --- go-api/migrations/000001_initialize_tables.up.sql | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/go-api/migrations/000001_initialize_tables.up.sql b/go-api/migrations/000001_initialize_tables.up.sql index 94978cb6d..a8d037d04 100644 --- a/go-api/migrations/000001_initialize_tables.up.sql +++ b/go-api/migrations/000001_initialize_tables.up.sql @@ -3,18 +3,21 @@ CREATE TABLE IF NOT EXISTS "adapters" ( adapter_id BIGSERIAL NOT NULL, decimals INTEGER NOT NULL, name TEXT NOT NULL, + CONSTRAINT "adapters_adapter_hash_key" UNIQUE ("adapter_hash"), CONSTRAINT "adapters_pkey" PRIMARY KEY ("adapter_id") ); CREATE TABLE IF NOT EXISTS "chains" ( chain_id BIGSERIAL NOT NULL, name TEXT NOT NULL, + CONSTRAINT "chains_name_key" UNIQUE ("name"), CONSTRAINT "chains_pkey" PRIMARY KEY ("chain_id") ); CREATE TABLE IF NOT EXISTS "services" ( name TEXT NOT NULL, service_id BIGSERIAL NOT NULL, + CONSTRAINT "services_name_key" UNIQUE ("name"), CONSTRAINT "services_pkey" PRIMARY KEY ("service_id") ); @@ -30,6 +33,7 @@ CREATE TABLE IF NOT EXISTS "aggregators" ( heartbeat INTEGER NOT NULL, name TEXT NOT NULL, threshold DOUBLE PRECISION NOT NULL, + CONSTRAINT "aggregators_address_key" UNIQUE ("address"), CONSTRAINT "aggregators_adapter_id_fkey" FOREIGN KEY ("adapter_id") REFERENCES "public"."adapters" ("adapter_id"), CONSTRAINT "aggregators_chain_id_fkey" FOREIGN KEY ("chain_id") REFERENCES "public"."chains" ("chain_id"), CONSTRAINT "aggregators_pkey" PRIMARY KEY ("aggregator_id") @@ -91,6 +95,7 @@ CREATE TABLE IF NOT EXISTS "proxies" ( location TEXT, port INTEGER NOT NULL, protocol TEXT NOT NULL, + CONSTRAINT "proxies_portocol_host_port_key" UNIQUE ("protocol", "host", "port"), CONSTRAINT "proxies_pkey" PRIMARY KEY ("id") ); From fdd72764fa53ff89be664e1b2b837c31eadfabb7 Mon Sep 17 00:00:00 2001 From: nick Date: Wed, 7 Feb 2024 19:17:01 +0900 Subject: [PATCH 07/19] fix: add query to remove feed by adapter id --- go-api/feed/queries.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/go-api/feed/queries.go b/go-api/feed/queries.go index 1e2eb7fac..bb39051c9 100644 --- a/go-api/feed/queries.go +++ b/go-api/feed/queries.go @@ -8,4 +8,6 @@ const ( DeleteFeedById = `DELETE FROM feeds WHERE feed_id = @id RETURNING *` GetFeedsByAdapterId = `SELECT * FROM feeds WHERE adapter_id = @id;` + + DeleteFeedByAdapterId = `DELETE FROM feeds WHERE adapter_id = @id RETURNING *` ) From 9f8e74efc8300b72e5e39d1c10e52dca4069a01c Mon Sep 17 00:00:00 2001 From: nick Date: Wed, 7 Feb 2024 19:20:59 +0900 Subject: [PATCH 08/19] fix: fix migration typo --- go-api/migrations/000001_initialize_tables.up.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go-api/migrations/000001_initialize_tables.up.sql b/go-api/migrations/000001_initialize_tables.up.sql index a8d037d04..8325c1362 100644 --- a/go-api/migrations/000001_initialize_tables.up.sql +++ b/go-api/migrations/000001_initialize_tables.up.sql @@ -95,7 +95,7 @@ CREATE TABLE IF NOT EXISTS "proxies" ( location TEXT, port INTEGER NOT NULL, protocol TEXT NOT NULL, - CONSTRAINT "proxies_portocol_host_port_key" UNIQUE ("protocol", "host", "port"), + CONSTRAINT "proxies_protocol_host_port_key" UNIQUE ("protocol", "host", "port"), CONSTRAINT "proxies_pkey" PRIMARY KEY ("id") ); From 0e679b72f7b40ed51297d47a3f559a289b0f06e3 Mon Sep 17 00:00:00 2001 From: nick Date: Wed, 7 Feb 2024 19:28:09 +0900 Subject: [PATCH 09/19] fix: rollback print with feed name --- cli/src/delegator.ts | 42 +++++++++++++++++++++--------------------- cli/src/listener.ts | 36 ++++++++++++++++++------------------ cli/src/reporter.ts | 40 ++++++++++++++++++++-------------------- 3 files changed, 59 insertions(+), 59 deletions(-) diff --git a/cli/src/delegator.ts b/cli/src/delegator.ts index c05458d07..5fd45e0c9 100644 --- a/cli/src/delegator.ts +++ b/cli/src/delegator.ts @@ -298,28 +298,28 @@ export function reporterListHandler() { try { const endpoint = buildUrl(ORAKL_NETWORK_DELEGATOR_URL, `reporter`) const result = (await axios.get(endpoint)).data - // const printResult: any[] = [] - - // const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) - // const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data - - // for (const reporter of result) { - // if (!reporter.contract) { - // printResult.push({ ...reporter }) - // continue - // } - - // const aggregator = aggregatorResult.find( - // (aggregator) => aggregator.address === reporter.contract[0] - // ) - // if (aggregator) { - // printResult.push({ ...reporter, name: aggregator.name }) - // } else { - // printResult.push({ ...reporter }) - // } - // } - console.log(result) + const printResult: any[] = [] + const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) + const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data + + for (const reporter of result) { + if (!reporter.contract) { + printResult.push({ ...reporter }) + continue + } + + const aggregator = aggregatorResult.find( + (aggregator) => aggregator.address === reporter.contract[0] + ) + if (aggregator) { + printResult.push({ ...reporter, name: aggregator.name }) + } else { + printResult.push({ ...reporter }) + } + } + + console.log(printResult) return result } catch (e) { console.error('Delegator Reporter was not listed. Reason:') diff --git a/cli/src/listener.ts b/cli/src/listener.ts index c8096012e..91ed32af9 100644 --- a/cli/src/listener.ts +++ b/cli/src/listener.ts @@ -126,28 +126,28 @@ export function listHandler(print?: boolean) { try { const result = (await axios.get(LISTENER_ENDPOINT, { data: { chain, service } }))?.data - // const printResult: any[] = [] - // const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) - // const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data + const printResult: any[] = [] + const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) + const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data if (print) { - // for (const listener of result) { - // if (listener.service != 'DATA_FEED') { - // printResult.push({ ...listener }) - // continue - // } + for (const listener of result) { + if (listener.service != 'DATA_FEED') { + printResult.push({ ...listener }) + continue + } - // const aggregator = aggregatorResult.find( - // (aggregator) => aggregator.address === listener.address - // ) - // if (aggregator) { - // printResult.push({ ...listener, name: aggregator.name }) - // } else { - // printResult.push({ ...listener }) - // } - // } + const aggregator = aggregatorResult.find( + (aggregator) => aggregator.address === listener.address + ) + if (aggregator) { + printResult.push({ ...listener, name: aggregator.name }) + } else { + printResult.push({ ...listener }) + } + } - console.dir(result, { depth: null }) + console.dir(printResult, { depth: null }) } return result } catch (e) { diff --git a/cli/src/reporter.ts b/cli/src/reporter.ts index 7b27ed19a..7a41ff678 100644 --- a/cli/src/reporter.ts +++ b/cli/src/reporter.ts @@ -149,28 +149,28 @@ export function listHandler(print?: boolean) { try { const result = (await axios.get(REPORTER_ENDPOINT, { data: { chain, service } }))?.data - // const printResult: any[] = [] - // const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) - // const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data + const printResult: any[] = [] + const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) + const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data if (print) { - // for (const reporter of result) { - // if (reporter.service != 'DATA_FEED') { - // printResult.push({ ...reporter }) - // continue - // } - - // const aggregator = aggregatorResult.find( - // (aggregator) => aggregator.address === reporter.oracleAddress - // ) - // if (aggregator) { - // printResult.push({ ...reporter, name: aggregator.name }) - // } else { - // printResult.push({ ...reporter }) - // } - // } - - console.dir(result, { depth: null }) + for (const reporter of result) { + if (reporter.service != 'DATA_FEED') { + printResult.push({ ...reporter }) + continue + } + + const aggregator = aggregatorResult.find( + (aggregator) => aggregator.address === reporter.oracleAddress + ) + if (aggregator) { + printResult.push({ ...reporter, name: aggregator.name }) + } else { + printResult.push({ ...reporter }) + } + } + + console.dir(printResult, { depth: null }) } return result } catch (e) { From 79ebec75b2d4e21dbc67fa85adc12c24433b73e4 Mon Sep 17 00:00:00 2001 From: nick Date: Wed, 7 Feb 2024 20:06:00 +0900 Subject: [PATCH 10/19] fix: add detail param, default to no detail --- cli/src/datafeed.ts | 2 +- cli/src/delegator.ts | 44 ++++++++++++++++++--------------- cli/src/listener.ts | 52 +++++++++++++++++++++++++-------------- cli/src/reporter.ts | 52 +++++++++++++++++++++++++-------------- cli/src/utils.ts | 5 ++++ cli/test/datafeed.test.ts | 16 ++++++------ 6 files changed, 104 insertions(+), 67 deletions(-) diff --git a/cli/src/datafeed.ts b/cli/src/datafeed.ts index de0400041..f9c0c57c1 100644 --- a/cli/src/datafeed.ts +++ b/cli/src/datafeed.ts @@ -188,7 +188,7 @@ export function bulkRemoveHandler() { const listeners = await listenerListHandler()({}) const reporters = await reporterListHandler()({}) - const delegatorReporters = await delegatorReporterListHandler()() + const delegatorReporters = await delegatorReporterListHandler()({}) const delegatorContracts = await contractListHandler()() const delegatorFunctions = await functionListHandler()() diff --git a/cli/src/delegator.ts b/cli/src/delegator.ts index 5fd45e0c9..a29e958fb 100644 --- a/cli/src/delegator.ts +++ b/cli/src/delegator.ts @@ -1,7 +1,7 @@ import axios from 'axios' import { command, number as cmdnumber, option, string as cmdstring, subcommands } from 'cmd-ts' import { ORAKL_NETWORK_API_URL, ORAKL_NETWORK_DELEGATOR_URL } from './settings' -import { buildUrl, idOption, isOraklDelegatorHealthy } from './utils' +import { buildUrl, detailOptionalOption, idOption, isOraklDelegatorHealthy } from './utils' const AGGREGATOR_ENDPOINT = buildUrl(ORAKL_NETWORK_API_URL, 'aggregator') @@ -70,7 +70,7 @@ export function delegatorSub() { const reporterList = command({ name: 'reporterList', - args: {}, + args: { detail: detailOptionalOption }, handler: reporterListHandler() }) @@ -292,34 +292,38 @@ export function organizationRemoveHandler() { } export function reporterListHandler() { - async function wrapper() { + async function wrapper({ detail }: { detail?: string }) { if (!(await isOraklDelegatorHealthy())) return try { const endpoint = buildUrl(ORAKL_NETWORK_DELEGATOR_URL, `reporter`) const result = (await axios.get(endpoint)).data - const printResult: any[] = [] - const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) - const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data - - for (const reporter of result) { - if (!reporter.contract) { - printResult.push({ ...reporter }) - continue + if (detail && detail?.toLowerCase() === 'true') { + const printResult: any[] = [] + const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) + const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data + for (const reporter of result) { + if (!reporter.contract) { + printResult.push({ ...reporter }) + continue + } + + const aggregator = aggregatorResult.find( + (aggregator) => aggregator.address === reporter.contract[0] + ) + if (aggregator) { + printResult.push({ ...reporter, name: aggregator.name }) + } else { + printResult.push({ ...reporter }) + } } - const aggregator = aggregatorResult.find( - (aggregator) => aggregator.address === reporter.contract[0] - ) - if (aggregator) { - printResult.push({ ...reporter, name: aggregator.name }) - } else { - printResult.push({ ...reporter }) - } + console.log(printResult) + } else { + console.log(result) } - console.log(printResult) return result } catch (e) { console.error('Delegator Reporter was not listed. Reason:') diff --git a/cli/src/listener.ts b/cli/src/listener.ts index 91ed32af9..8257ac81d 100644 --- a/cli/src/listener.ts +++ b/cli/src/listener.ts @@ -4,6 +4,7 @@ import { LISTENER_SERVICE_HOST, LISTENER_SERVICE_PORT, ORAKL_NETWORK_API_URL } f import { buildUrl, chainOptionalOption, + detailOptionalOption, idOption, isOraklNetworkApiHealthy, isServiceHealthy, @@ -25,7 +26,8 @@ export function listenerSub() { name: 'list', args: { chain: chainOptionalOption, - service: serviceOptionalOption + service: serviceOptionalOption, + detail: detailOptionalOption }, handler: listHandler(true) }) @@ -121,33 +123,45 @@ export function listenerSub() { } export function listHandler(print?: boolean) { - async function wrapper({ chain, service }: { chain?: string; service?: string }) { + async function wrapper({ + chain, + service, + detail + }: { + chain?: string + service?: string + detail?: string + }) { if (!(await isOraklNetworkApiHealthy())) return try { const result = (await axios.get(LISTENER_ENDPOINT, { data: { chain, service } }))?.data - const printResult: any[] = [] - const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) - const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data if (print) { - for (const listener of result) { - if (listener.service != 'DATA_FEED') { - printResult.push({ ...listener }) - continue - } + if (detail && detail?.toLowerCase() === 'true') { + const printResult: any[] = [] + const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) + const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data + for (const listener of result) { + if (listener.service != 'DATA_FEED') { + printResult.push({ ...listener }) + continue + } - const aggregator = aggregatorResult.find( - (aggregator) => aggregator.address === listener.address - ) - if (aggregator) { - printResult.push({ ...listener, name: aggregator.name }) - } else { - printResult.push({ ...listener }) + const aggregator = aggregatorResult.find( + (aggregator) => aggregator.address === listener.address + ) + if (aggregator) { + printResult.push({ ...listener, name: aggregator.name }) + } else { + printResult.push({ ...listener }) + } } - } - console.dir(printResult, { depth: null }) + console.dir(printResult, { depth: null }) + } else { + console.dir(result, { depth: null }) + } } return result } catch (e) { diff --git a/cli/src/reporter.ts b/cli/src/reporter.ts index 7a41ff678..c29dce6b5 100644 --- a/cli/src/reporter.ts +++ b/cli/src/reporter.ts @@ -3,6 +3,7 @@ import { command, option, string as cmdstring, subcommands } from 'cmd-ts' import { buildUrl, chainOptionalOption, + detailOptionalOption, idOption, isOraklNetworkApiHealthy, isServiceHealthy, @@ -27,7 +28,8 @@ export function reporterSub() { name: 'list', args: { chain: chainOptionalOption, - service: serviceOptionalOption + service: serviceOptionalOption, + detail: detailOptionalOption }, handler: listHandler(true) }) @@ -144,33 +146,45 @@ export function reporterSub() { } export function listHandler(print?: boolean) { - async function wrapper({ chain, service }: { chain?: string; service?: string }) { + async function wrapper({ + chain, + service, + detail + }: { + chain?: string + service?: string + detail?: string + }) { if (!(await isOraklNetworkApiHealthy())) return try { const result = (await axios.get(REPORTER_ENDPOINT, { data: { chain, service } }))?.data - const printResult: any[] = [] - const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) - const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data if (print) { - for (const reporter of result) { - if (reporter.service != 'DATA_FEED') { - printResult.push({ ...reporter }) - continue + if (detail && detail.toLowerCase() === 'true') { + const printResult: any[] = [] + const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) + const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data + for (const reporter of result) { + if (reporter.service != 'DATA_FEED') { + printResult.push({ ...reporter }) + continue + } + + const aggregator = aggregatorResult.find( + (aggregator) => aggregator.address === reporter.oracleAddress + ) + if (aggregator) { + printResult.push({ ...reporter, name: aggregator.name }) + } else { + printResult.push({ ...reporter }) + } } - const aggregator = aggregatorResult.find( - (aggregator) => aggregator.address === reporter.oracleAddress - ) - if (aggregator) { - printResult.push({ ...reporter, name: aggregator.name }) - } else { - printResult.push({ ...reporter }) - } + console.dir(printResult, { depth: null }) + } else { + console.dir(result, { depth: null }) } - - console.dir(printResult, { depth: null }) } return result } catch (e) { diff --git a/cli/src/utils.ts b/cli/src/utils.ts index 8ba9175eb..17c85836e 100644 --- a/cli/src/utils.ts +++ b/cli/src/utils.ts @@ -3,6 +3,11 @@ import { number as cmdnumber, option, optional, string as cmdstring } from 'cmd- import { open as openFile, readFile } from 'node:fs/promises' import { ORAKL_NETWORK_API_URL, ORAKL_NETWORK_DELEGATOR_URL } from './settings' +export const detailOptionalOption = option({ + type: optional(cmdstring), + long: 'detail' +}) + export const chainOptionalOption = option({ type: optional(cmdstring), long: 'chain' diff --git a/cli/test/datafeed.test.ts b/cli/test/datafeed.test.ts index 94c46f356..020cb7ccd 100644 --- a/cli/test/datafeed.test.ts +++ b/cli/test/datafeed.test.ts @@ -67,7 +67,7 @@ describe('CLI datafeed', function () { afterEach(async () => { const afterAdapterList = await adapterListHandler()() const afterAggregatorList = await aggregatorListHandler()({}) - const afterDelegatorReporterList = await delegatorReporterListHandler()() + const afterDelegatorReporterList = await delegatorReporterListHandler()({}) const afterContractList = await contractListHandler()() const afterListenerList = await listenerListHandler()({}) const afterReporterList = await reporterListHandler()({}) @@ -99,7 +99,7 @@ describe('CLI datafeed', function () { test('datafeed bulk insert with default values', async function () { const beforeAdapterList = await adapterListHandler()() const beforeAggregatorList = await aggregatorListHandler()({}) - const beforeDelegatorReporterList = await delegatorReporterListHandler()() + const beforeDelegatorReporterList = await delegatorReporterListHandler()({}) const beforeContractList = await contractListHandler()() const beforeListenerList = await listenerListHandler()({}) const beforeReporterList = await reporterListHandler()({}) @@ -111,7 +111,7 @@ describe('CLI datafeed', function () { const afterAdapterList = await adapterListHandler()() const afterAggregatorList = await aggregatorListHandler()({}) - const afterDelegatorReporterList = await delegatorReporterListHandler()() + const afterDelegatorReporterList = await delegatorReporterListHandler()({}) const afterContractList = await contractListHandler()() const afterListenerList = await listenerListHandler()({}) const afterReporterList = await reporterListHandler()({}) @@ -131,7 +131,7 @@ describe('CLI datafeed', function () { test('datafeed bulk insert', async function () { const beforeAdapterList = await adapterListHandler()() const beforeAggregatorList = await aggregatorListHandler()({}) - const beforeDelegatorReporterList = await delegatorReporterListHandler()() + const beforeDelegatorReporterList = await delegatorReporterListHandler()({}) const beforeContractList = await contractListHandler()() const beforeListenerList = await listenerListHandler()({}) const beforeReporterList = await reporterListHandler()({}) @@ -143,7 +143,7 @@ describe('CLI datafeed', function () { const afterAdapterList = await adapterListHandler()() const afterAggregatorList = await aggregatorListHandler()({}) - const afterDelegatorReporterList = await delegatorReporterListHandler()() + const afterDelegatorReporterList = await delegatorReporterListHandler()({}) const afterContractList = await contractListHandler()() const afterListenerList = await listenerListHandler()({}) const afterReporterList = await reporterListHandler()({}) @@ -163,7 +163,7 @@ describe('CLI datafeed', function () { test('datafeed bulk removal', async function () { const beforeAdapterList = await adapterListHandler()() const beforeAggregatorList = await aggregatorListHandler()({}) - const beforeDelegatorReporterList = await delegatorReporterListHandler()() + const beforeDelegatorReporterList = await delegatorReporterListHandler()({}) const beforeContractList = await contractListHandler()() const beforeListenerList = await listenerListHandler()({}) const beforeReporterList = await reporterListHandler()({}) @@ -175,7 +175,7 @@ describe('CLI datafeed', function () { const afterAdapterList = await adapterListHandler()() const afterAggregatorList = await aggregatorListHandler()({}) - const afterDelegatorReporterList = await delegatorReporterListHandler()() + const afterDelegatorReporterList = await delegatorReporterListHandler()({}) const afterContractList = await contractListHandler()() const afterListenerList = await listenerListHandler()({}) const afterReporterList = await reporterListHandler()({}) @@ -193,7 +193,7 @@ describe('CLI datafeed', function () { await bulkRemoveHandler()({ data: DATAFEED_BULK_0 }) - const afterDeleteDelegatorReporterList = await delegatorReporterListHandler()() + const afterDeleteDelegatorReporterList = await delegatorReporterListHandler()({}) const afterDeleteContractList = await contractListHandler()() const afterDeleteListenerList = await listenerListHandler()({}) const afterDeleteReporterList = await reporterListHandler()({}) From 7e8fae253507fbf323d2971df5e9f2558bbd5b2a Mon Sep 17 00:00:00 2001 From: nick Date: Wed, 7 Feb 2024 20:10:51 +0900 Subject: [PATCH 11/19] Revert "fix: add detail param, default to no detail" This reverts commit 79ebec75b2d4e21dbc67fa85adc12c24433b73e4. --- cli/src/datafeed.ts | 2 +- cli/src/delegator.ts | 44 +++++++++++++++------------------ cli/src/listener.ts | 52 ++++++++++++++------------------------- cli/src/reporter.ts | 52 ++++++++++++++------------------------- cli/src/utils.ts | 5 ---- cli/test/datafeed.test.ts | 16 ++++++------ 6 files changed, 67 insertions(+), 104 deletions(-) diff --git a/cli/src/datafeed.ts b/cli/src/datafeed.ts index f9c0c57c1..de0400041 100644 --- a/cli/src/datafeed.ts +++ b/cli/src/datafeed.ts @@ -188,7 +188,7 @@ export function bulkRemoveHandler() { const listeners = await listenerListHandler()({}) const reporters = await reporterListHandler()({}) - const delegatorReporters = await delegatorReporterListHandler()({}) + const delegatorReporters = await delegatorReporterListHandler()() const delegatorContracts = await contractListHandler()() const delegatorFunctions = await functionListHandler()() diff --git a/cli/src/delegator.ts b/cli/src/delegator.ts index a29e958fb..5fd45e0c9 100644 --- a/cli/src/delegator.ts +++ b/cli/src/delegator.ts @@ -1,7 +1,7 @@ import axios from 'axios' import { command, number as cmdnumber, option, string as cmdstring, subcommands } from 'cmd-ts' import { ORAKL_NETWORK_API_URL, ORAKL_NETWORK_DELEGATOR_URL } from './settings' -import { buildUrl, detailOptionalOption, idOption, isOraklDelegatorHealthy } from './utils' +import { buildUrl, idOption, isOraklDelegatorHealthy } from './utils' const AGGREGATOR_ENDPOINT = buildUrl(ORAKL_NETWORK_API_URL, 'aggregator') @@ -70,7 +70,7 @@ export function delegatorSub() { const reporterList = command({ name: 'reporterList', - args: { detail: detailOptionalOption }, + args: {}, handler: reporterListHandler() }) @@ -292,38 +292,34 @@ export function organizationRemoveHandler() { } export function reporterListHandler() { - async function wrapper({ detail }: { detail?: string }) { + async function wrapper() { if (!(await isOraklDelegatorHealthy())) return try { const endpoint = buildUrl(ORAKL_NETWORK_DELEGATOR_URL, `reporter`) const result = (await axios.get(endpoint)).data - if (detail && detail?.toLowerCase() === 'true') { - const printResult: any[] = [] - const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) - const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data - for (const reporter of result) { - if (!reporter.contract) { - printResult.push({ ...reporter }) - continue - } - - const aggregator = aggregatorResult.find( - (aggregator) => aggregator.address === reporter.contract[0] - ) - if (aggregator) { - printResult.push({ ...reporter, name: aggregator.name }) - } else { - printResult.push({ ...reporter }) - } + const printResult: any[] = [] + const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) + const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data + + for (const reporter of result) { + if (!reporter.contract) { + printResult.push({ ...reporter }) + continue } - console.log(printResult) - } else { - console.log(result) + const aggregator = aggregatorResult.find( + (aggregator) => aggregator.address === reporter.contract[0] + ) + if (aggregator) { + printResult.push({ ...reporter, name: aggregator.name }) + } else { + printResult.push({ ...reporter }) + } } + console.log(printResult) return result } catch (e) { console.error('Delegator Reporter was not listed. Reason:') diff --git a/cli/src/listener.ts b/cli/src/listener.ts index 8257ac81d..91ed32af9 100644 --- a/cli/src/listener.ts +++ b/cli/src/listener.ts @@ -4,7 +4,6 @@ import { LISTENER_SERVICE_HOST, LISTENER_SERVICE_PORT, ORAKL_NETWORK_API_URL } f import { buildUrl, chainOptionalOption, - detailOptionalOption, idOption, isOraklNetworkApiHealthy, isServiceHealthy, @@ -26,8 +25,7 @@ export function listenerSub() { name: 'list', args: { chain: chainOptionalOption, - service: serviceOptionalOption, - detail: detailOptionalOption + service: serviceOptionalOption }, handler: listHandler(true) }) @@ -123,45 +121,33 @@ export function listenerSub() { } export function listHandler(print?: boolean) { - async function wrapper({ - chain, - service, - detail - }: { - chain?: string - service?: string - detail?: string - }) { + async function wrapper({ chain, service }: { chain?: string; service?: string }) { if (!(await isOraklNetworkApiHealthy())) return try { const result = (await axios.get(LISTENER_ENDPOINT, { data: { chain, service } }))?.data + const printResult: any[] = [] + const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) + const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data if (print) { - if (detail && detail?.toLowerCase() === 'true') { - const printResult: any[] = [] - const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) - const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data - for (const listener of result) { - if (listener.service != 'DATA_FEED') { - printResult.push({ ...listener }) - continue - } - - const aggregator = aggregatorResult.find( - (aggregator) => aggregator.address === listener.address - ) - if (aggregator) { - printResult.push({ ...listener, name: aggregator.name }) - } else { - printResult.push({ ...listener }) - } + for (const listener of result) { + if (listener.service != 'DATA_FEED') { + printResult.push({ ...listener }) + continue } - console.dir(printResult, { depth: null }) - } else { - console.dir(result, { depth: null }) + const aggregator = aggregatorResult.find( + (aggregator) => aggregator.address === listener.address + ) + if (aggregator) { + printResult.push({ ...listener, name: aggregator.name }) + } else { + printResult.push({ ...listener }) + } } + + console.dir(printResult, { depth: null }) } return result } catch (e) { diff --git a/cli/src/reporter.ts b/cli/src/reporter.ts index c29dce6b5..7a41ff678 100644 --- a/cli/src/reporter.ts +++ b/cli/src/reporter.ts @@ -3,7 +3,6 @@ import { command, option, string as cmdstring, subcommands } from 'cmd-ts' import { buildUrl, chainOptionalOption, - detailOptionalOption, idOption, isOraklNetworkApiHealthy, isServiceHealthy, @@ -28,8 +27,7 @@ export function reporterSub() { name: 'list', args: { chain: chainOptionalOption, - service: serviceOptionalOption, - detail: detailOptionalOption + service: serviceOptionalOption }, handler: listHandler(true) }) @@ -146,45 +144,33 @@ export function reporterSub() { } export function listHandler(print?: boolean) { - async function wrapper({ - chain, - service, - detail - }: { - chain?: string - service?: string - detail?: string - }) { + async function wrapper({ chain, service }: { chain?: string; service?: string }) { if (!(await isOraklNetworkApiHealthy())) return try { const result = (await axios.get(REPORTER_ENDPOINT, { data: { chain, service } }))?.data + const printResult: any[] = [] + const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) + const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data if (print) { - if (detail && detail.toLowerCase() === 'true') { - const printResult: any[] = [] - const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) - const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data - for (const reporter of result) { - if (reporter.service != 'DATA_FEED') { - printResult.push({ ...reporter }) - continue - } - - const aggregator = aggregatorResult.find( - (aggregator) => aggregator.address === reporter.oracleAddress - ) - if (aggregator) { - printResult.push({ ...reporter, name: aggregator.name }) - } else { - printResult.push({ ...reporter }) - } + for (const reporter of result) { + if (reporter.service != 'DATA_FEED') { + printResult.push({ ...reporter }) + continue } - console.dir(printResult, { depth: null }) - } else { - console.dir(result, { depth: null }) + const aggregator = aggregatorResult.find( + (aggregator) => aggregator.address === reporter.oracleAddress + ) + if (aggregator) { + printResult.push({ ...reporter, name: aggregator.name }) + } else { + printResult.push({ ...reporter }) + } } + + console.dir(printResult, { depth: null }) } return result } catch (e) { diff --git a/cli/src/utils.ts b/cli/src/utils.ts index 17c85836e..8ba9175eb 100644 --- a/cli/src/utils.ts +++ b/cli/src/utils.ts @@ -3,11 +3,6 @@ import { number as cmdnumber, option, optional, string as cmdstring } from 'cmd- import { open as openFile, readFile } from 'node:fs/promises' import { ORAKL_NETWORK_API_URL, ORAKL_NETWORK_DELEGATOR_URL } from './settings' -export const detailOptionalOption = option({ - type: optional(cmdstring), - long: 'detail' -}) - export const chainOptionalOption = option({ type: optional(cmdstring), long: 'chain' diff --git a/cli/test/datafeed.test.ts b/cli/test/datafeed.test.ts index 020cb7ccd..94c46f356 100644 --- a/cli/test/datafeed.test.ts +++ b/cli/test/datafeed.test.ts @@ -67,7 +67,7 @@ describe('CLI datafeed', function () { afterEach(async () => { const afterAdapterList = await adapterListHandler()() const afterAggregatorList = await aggregatorListHandler()({}) - const afterDelegatorReporterList = await delegatorReporterListHandler()({}) + const afterDelegatorReporterList = await delegatorReporterListHandler()() const afterContractList = await contractListHandler()() const afterListenerList = await listenerListHandler()({}) const afterReporterList = await reporterListHandler()({}) @@ -99,7 +99,7 @@ describe('CLI datafeed', function () { test('datafeed bulk insert with default values', async function () { const beforeAdapterList = await adapterListHandler()() const beforeAggregatorList = await aggregatorListHandler()({}) - const beforeDelegatorReporterList = await delegatorReporterListHandler()({}) + const beforeDelegatorReporterList = await delegatorReporterListHandler()() const beforeContractList = await contractListHandler()() const beforeListenerList = await listenerListHandler()({}) const beforeReporterList = await reporterListHandler()({}) @@ -111,7 +111,7 @@ describe('CLI datafeed', function () { const afterAdapterList = await adapterListHandler()() const afterAggregatorList = await aggregatorListHandler()({}) - const afterDelegatorReporterList = await delegatorReporterListHandler()({}) + const afterDelegatorReporterList = await delegatorReporterListHandler()() const afterContractList = await contractListHandler()() const afterListenerList = await listenerListHandler()({}) const afterReporterList = await reporterListHandler()({}) @@ -131,7 +131,7 @@ describe('CLI datafeed', function () { test('datafeed bulk insert', async function () { const beforeAdapterList = await adapterListHandler()() const beforeAggregatorList = await aggregatorListHandler()({}) - const beforeDelegatorReporterList = await delegatorReporterListHandler()({}) + const beforeDelegatorReporterList = await delegatorReporterListHandler()() const beforeContractList = await contractListHandler()() const beforeListenerList = await listenerListHandler()({}) const beforeReporterList = await reporterListHandler()({}) @@ -143,7 +143,7 @@ describe('CLI datafeed', function () { const afterAdapterList = await adapterListHandler()() const afterAggregatorList = await aggregatorListHandler()({}) - const afterDelegatorReporterList = await delegatorReporterListHandler()({}) + const afterDelegatorReporterList = await delegatorReporterListHandler()() const afterContractList = await contractListHandler()() const afterListenerList = await listenerListHandler()({}) const afterReporterList = await reporterListHandler()({}) @@ -163,7 +163,7 @@ describe('CLI datafeed', function () { test('datafeed bulk removal', async function () { const beforeAdapterList = await adapterListHandler()() const beforeAggregatorList = await aggregatorListHandler()({}) - const beforeDelegatorReporterList = await delegatorReporterListHandler()({}) + const beforeDelegatorReporterList = await delegatorReporterListHandler()() const beforeContractList = await contractListHandler()() const beforeListenerList = await listenerListHandler()({}) const beforeReporterList = await reporterListHandler()({}) @@ -175,7 +175,7 @@ describe('CLI datafeed', function () { const afterAdapterList = await adapterListHandler()() const afterAggregatorList = await aggregatorListHandler()({}) - const afterDelegatorReporterList = await delegatorReporterListHandler()({}) + const afterDelegatorReporterList = await delegatorReporterListHandler()() const afterContractList = await contractListHandler()() const afterListenerList = await listenerListHandler()({}) const afterReporterList = await reporterListHandler()({}) @@ -193,7 +193,7 @@ describe('CLI datafeed', function () { await bulkRemoveHandler()({ data: DATAFEED_BULK_0 }) - const afterDeleteDelegatorReporterList = await delegatorReporterListHandler()({}) + const afterDeleteDelegatorReporterList = await delegatorReporterListHandler()() const afterDeleteContractList = await contractListHandler()() const afterDeleteListenerList = await listenerListHandler()({}) const afterDeleteReporterList = await reporterListHandler()({}) From a27fac78c8be14ab57c42d25db81a9ca61b8a937 Mon Sep 17 00:00:00 2001 From: nick Date: Wed, 7 Feb 2024 20:10:55 +0900 Subject: [PATCH 12/19] Revert "fix: rollback print with feed name" This reverts commit 0e679b72f7b40ed51297d47a3f559a289b0f06e3. --- cli/src/delegator.ts | 42 +++++++++++++++++++++--------------------- cli/src/listener.ts | 36 ++++++++++++++++++------------------ cli/src/reporter.ts | 40 ++++++++++++++++++++-------------------- 3 files changed, 59 insertions(+), 59 deletions(-) diff --git a/cli/src/delegator.ts b/cli/src/delegator.ts index 5fd45e0c9..c05458d07 100644 --- a/cli/src/delegator.ts +++ b/cli/src/delegator.ts @@ -298,28 +298,28 @@ export function reporterListHandler() { try { const endpoint = buildUrl(ORAKL_NETWORK_DELEGATOR_URL, `reporter`) const result = (await axios.get(endpoint)).data + // const printResult: any[] = [] + + // const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) + // const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data + + // for (const reporter of result) { + // if (!reporter.contract) { + // printResult.push({ ...reporter }) + // continue + // } + + // const aggregator = aggregatorResult.find( + // (aggregator) => aggregator.address === reporter.contract[0] + // ) + // if (aggregator) { + // printResult.push({ ...reporter, name: aggregator.name }) + // } else { + // printResult.push({ ...reporter }) + // } + // } - const printResult: any[] = [] - const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) - const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data - - for (const reporter of result) { - if (!reporter.contract) { - printResult.push({ ...reporter }) - continue - } - - const aggregator = aggregatorResult.find( - (aggregator) => aggregator.address === reporter.contract[0] - ) - if (aggregator) { - printResult.push({ ...reporter, name: aggregator.name }) - } else { - printResult.push({ ...reporter }) - } - } - - console.log(printResult) + console.log(result) return result } catch (e) { console.error('Delegator Reporter was not listed. Reason:') diff --git a/cli/src/listener.ts b/cli/src/listener.ts index 91ed32af9..c8096012e 100644 --- a/cli/src/listener.ts +++ b/cli/src/listener.ts @@ -126,28 +126,28 @@ export function listHandler(print?: boolean) { try { const result = (await axios.get(LISTENER_ENDPOINT, { data: { chain, service } }))?.data + // const printResult: any[] = [] - const printResult: any[] = [] - const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) - const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data + // const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) + // const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data if (print) { - for (const listener of result) { - if (listener.service != 'DATA_FEED') { - printResult.push({ ...listener }) - continue - } + // for (const listener of result) { + // if (listener.service != 'DATA_FEED') { + // printResult.push({ ...listener }) + // continue + // } - const aggregator = aggregatorResult.find( - (aggregator) => aggregator.address === listener.address - ) - if (aggregator) { - printResult.push({ ...listener, name: aggregator.name }) - } else { - printResult.push({ ...listener }) - } - } + // const aggregator = aggregatorResult.find( + // (aggregator) => aggregator.address === listener.address + // ) + // if (aggregator) { + // printResult.push({ ...listener, name: aggregator.name }) + // } else { + // printResult.push({ ...listener }) + // } + // } - console.dir(printResult, { depth: null }) + console.dir(result, { depth: null }) } return result } catch (e) { diff --git a/cli/src/reporter.ts b/cli/src/reporter.ts index 7a41ff678..7b27ed19a 100644 --- a/cli/src/reporter.ts +++ b/cli/src/reporter.ts @@ -149,28 +149,28 @@ export function listHandler(print?: boolean) { try { const result = (await axios.get(REPORTER_ENDPOINT, { data: { chain, service } }))?.data + // const printResult: any[] = [] - const printResult: any[] = [] - const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) - const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data + // const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) + // const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data if (print) { - for (const reporter of result) { - if (reporter.service != 'DATA_FEED') { - printResult.push({ ...reporter }) - continue - } - - const aggregator = aggregatorResult.find( - (aggregator) => aggregator.address === reporter.oracleAddress - ) - if (aggregator) { - printResult.push({ ...reporter, name: aggregator.name }) - } else { - printResult.push({ ...reporter }) - } - } - - console.dir(printResult, { depth: null }) + // for (const reporter of result) { + // if (reporter.service != 'DATA_FEED') { + // printResult.push({ ...reporter }) + // continue + // } + + // const aggregator = aggregatorResult.find( + // (aggregator) => aggregator.address === reporter.oracleAddress + // ) + // if (aggregator) { + // printResult.push({ ...reporter, name: aggregator.name }) + // } else { + // printResult.push({ ...reporter }) + // } + // } + + console.dir(result, { depth: null }) } return result } catch (e) { From 5a915300f2b092c9f1d933e764906dc431499559 Mon Sep 17 00:00:00 2001 From: nick Date: Wed, 7 Feb 2024 20:14:52 +0900 Subject: [PATCH 13/19] fix: update github action --- .github/workflows/cli.test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cli.test.yaml b/.github/workflows/cli.test.yaml index e81dc2310..625b8a23a 100644 --- a/.github/workflows/cli.test.yaml +++ b/.github/workflows/cli.test.yaml @@ -86,7 +86,7 @@ jobs: cd ./go-api go run main.go & env: - DATABASE_URL: "postgresql://postgres:postgres@localhost:5432/orakl?schema=public" + DATABASE_URL: "postgresql://postgres:postgres@localhost:5432/orakl-test?schema=public" ENCRYPT_PASSWORD: "abc123" APP_PORT: "3000" REDIS_HOST: "localhost" From 5290426f5bfd032f09967f2ad2f76c16974f314c Mon Sep 17 00:00:00 2001 From: nick Date: Wed, 7 Feb 2024 20:15:48 +0900 Subject: [PATCH 14/19] test: add test comment --- cli/src/listener.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cli/src/listener.ts b/cli/src/listener.ts index c8096012e..30b09b20e 100644 --- a/cli/src/listener.ts +++ b/cli/src/listener.ts @@ -147,6 +147,8 @@ export function listHandler(print?: boolean) { // } // } + //test + console.dir(result, { depth: null }) } return result From 15373aec53d62de4bc6bab71febebdf26963fd7a Mon Sep 17 00:00:00 2001 From: nick Date: Wed, 7 Feb 2024 20:19:54 +0900 Subject: [PATCH 15/19] test: update test comment --- .github/workflows/cli.test.yaml | 2 +- cli/src/listener.ts | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/cli.test.yaml b/.github/workflows/cli.test.yaml index 625b8a23a..8e3421732 100644 --- a/.github/workflows/cli.test.yaml +++ b/.github/workflows/cli.test.yaml @@ -86,7 +86,7 @@ jobs: cd ./go-api go run main.go & env: - DATABASE_URL: "postgresql://postgres:postgres@localhost:5432/orakl-test?schema=public" + DATABASE_URL: "postgresql://postgres:postgres@localhost:5432/orakl-test?search_path=public" ENCRYPT_PASSWORD: "abc123" APP_PORT: "3000" REDIS_HOST: "localhost" diff --git a/cli/src/listener.ts b/cli/src/listener.ts index 30b09b20e..c8096012e 100644 --- a/cli/src/listener.ts +++ b/cli/src/listener.ts @@ -147,8 +147,6 @@ export function listHandler(print?: boolean) { // } // } - //test - console.dir(result, { depth: null }) } return result From ec2c6585fd1a66a29657cb5c4e6bbb0c6e53f656 Mon Sep 17 00:00:00 2001 From: nick Date: Wed, 7 Feb 2024 20:23:17 +0900 Subject: [PATCH 16/19] fix: rollback comments --- cli/src/delegator.ts | 42 +++++++++++++++++++++--------------------- cli/src/listener.ts | 41 ++++++++++++++++++++--------------------- cli/src/reporter.ts | 40 ++++++++++++++++++++-------------------- 3 files changed, 61 insertions(+), 62 deletions(-) diff --git a/cli/src/delegator.ts b/cli/src/delegator.ts index c05458d07..5fd45e0c9 100644 --- a/cli/src/delegator.ts +++ b/cli/src/delegator.ts @@ -298,28 +298,28 @@ export function reporterListHandler() { try { const endpoint = buildUrl(ORAKL_NETWORK_DELEGATOR_URL, `reporter`) const result = (await axios.get(endpoint)).data - // const printResult: any[] = [] - - // const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) - // const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data - - // for (const reporter of result) { - // if (!reporter.contract) { - // printResult.push({ ...reporter }) - // continue - // } - - // const aggregator = aggregatorResult.find( - // (aggregator) => aggregator.address === reporter.contract[0] - // ) - // if (aggregator) { - // printResult.push({ ...reporter, name: aggregator.name }) - // } else { - // printResult.push({ ...reporter }) - // } - // } - console.log(result) + const printResult: any[] = [] + const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) + const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data + + for (const reporter of result) { + if (!reporter.contract) { + printResult.push({ ...reporter }) + continue + } + + const aggregator = aggregatorResult.find( + (aggregator) => aggregator.address === reporter.contract[0] + ) + if (aggregator) { + printResult.push({ ...reporter, name: aggregator.name }) + } else { + printResult.push({ ...reporter }) + } + } + + console.log(printResult) return result } catch (e) { console.error('Delegator Reporter was not listed. Reason:') diff --git a/cli/src/listener.ts b/cli/src/listener.ts index c8096012e..cf84ab91b 100644 --- a/cli/src/listener.ts +++ b/cli/src/listener.ts @@ -126,28 +126,27 @@ export function listHandler(print?: boolean) { try { const result = (await axios.get(LISTENER_ENDPOINT, { data: { chain, service } }))?.data - // const printResult: any[] = [] - - // const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) - // const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data + const printResult: any[] = [] + const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) + const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data if (print) { - // for (const listener of result) { - // if (listener.service != 'DATA_FEED') { - // printResult.push({ ...listener }) - // continue - // } - - // const aggregator = aggregatorResult.find( - // (aggregator) => aggregator.address === listener.address - // ) - // if (aggregator) { - // printResult.push({ ...listener, name: aggregator.name }) - // } else { - // printResult.push({ ...listener }) - // } - // } - - console.dir(result, { depth: null }) + for (const listener of result) { + if (listener.service != 'DATA_FEED') { + printResult.push({ ...listener }) + continue + } + + const aggregator = aggregatorResult.find( + (aggregator) => aggregator.address === listener.address + ) + if (aggregator) { + printResult.push({ ...listener, name: aggregator.name }) + } else { + printResult.push({ ...listener }) + } + } + + console.dir(printResult, { depth: null }) } return result } catch (e) { diff --git a/cli/src/reporter.ts b/cli/src/reporter.ts index 7b27ed19a..7a41ff678 100644 --- a/cli/src/reporter.ts +++ b/cli/src/reporter.ts @@ -149,28 +149,28 @@ export function listHandler(print?: boolean) { try { const result = (await axios.get(REPORTER_ENDPOINT, { data: { chain, service } }))?.data - // const printResult: any[] = [] - // const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) - // const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data + const printResult: any[] = [] + const aggregatorUrl = new URL(AGGREGATOR_ENDPOINT) + const aggregatorResult = (await axios.get(aggregatorUrl.toString())).data if (print) { - // for (const reporter of result) { - // if (reporter.service != 'DATA_FEED') { - // printResult.push({ ...reporter }) - // continue - // } - - // const aggregator = aggregatorResult.find( - // (aggregator) => aggregator.address === reporter.oracleAddress - // ) - // if (aggregator) { - // printResult.push({ ...reporter, name: aggregator.name }) - // } else { - // printResult.push({ ...reporter }) - // } - // } - - console.dir(result, { depth: null }) + for (const reporter of result) { + if (reporter.service != 'DATA_FEED') { + printResult.push({ ...reporter }) + continue + } + + const aggregator = aggregatorResult.find( + (aggregator) => aggregator.address === reporter.oracleAddress + ) + if (aggregator) { + printResult.push({ ...reporter, name: aggregator.name }) + } else { + printResult.push({ ...reporter }) + } + } + + console.dir(printResult, { depth: null }) } return result } catch (e) { From 0d06414559f54c40be4062ab412d9cd7e753526e Mon Sep 17 00:00:00 2001 From: nick Date: Wed, 7 Feb 2024 20:33:59 +0900 Subject: [PATCH 17/19] fix: rollback unnecessary changes --- cli/test/mockData.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/cli/test/mockData.ts b/cli/test/mockData.ts index 4a01608c4..d8cf67dc9 100644 --- a/cli/test/mockData.ts +++ b/cli/test/mockData.ts @@ -86,7 +86,7 @@ export const DATAFEED_BULK_0 = { adapterSource: 'https://config.orakl.network/adapter/ada-usdt.adapter.json', aggregatorSource: 'https://config.orakl.network/aggregator/baobab/ada-usdt.aggregator.json', reporter: { - walletAddress: '0xab', + walletAddress: '0xa', walletPrivateKey: '0xb' } }, @@ -94,7 +94,7 @@ export const DATAFEED_BULK_0 = { adapterSource: 'https://config.orakl.network/adapter/atom-usdt.adapter.json', aggregatorSource: 'https://config.orakl.network/aggregator/baobab/atom-usdt.aggregator.json', reporter: { - walletAddress: '0xcd', + walletAddress: '0xc', walletPrivateKey: '0xd' } }, @@ -102,7 +102,7 @@ export const DATAFEED_BULK_0 = { adapterSource: 'https://config.orakl.network/adapter/avax-usdt.adapter.json', aggregatorSource: 'https://config.orakl.network/aggregator/baobab/avax-usdt.aggregator.json', reporter: { - walletAddress: '0xef', + walletAddress: '0xe', walletPrivateKey: '0xf' } } @@ -120,7 +120,7 @@ export const DATAFEED_BULK_1 = { adapterSource: 'https://config.orakl.network/adapter/bnb-usdt.adapter.json', aggregatorSource: 'https://config.orakl.network/aggregator/baobab/bnb-usdt.aggregator.json', reporter: { - walletAddress: '0x01', + walletAddress: '0x0', walletPrivateKey: '0x1' } }, @@ -128,7 +128,7 @@ export const DATAFEED_BULK_1 = { adapterSource: 'https://config.orakl.network/adapter/bora-krw.adapter.json', aggregatorSource: 'https://config.orakl.network/aggregator/baobab/bora-krw.aggregator.json', reporter: { - walletAddress: '0x23', + walletAddress: '0x2', walletPrivateKey: '0x3' } }, @@ -136,7 +136,7 @@ export const DATAFEED_BULK_1 = { adapterSource: 'https://config.orakl.network/adapter/eth-usdt.adapter.json', aggregatorSource: 'https://config.orakl.network/aggregator/baobab/eth-usdt.aggregator.json', reporter: { - walletAddress: '0x45', + walletAddress: '0x4', walletPrivateKey: '0x5' } } From 95d5a7d672d052f897b502ce04bcf7bceeeb7c0d Mon Sep 17 00:00:00 2001 From: nick Date: Thu, 8 Feb 2024 11:11:36 +0900 Subject: [PATCH 18/19] fix: remove unnecessary updates --- go-api/feed/queries.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/go-api/feed/queries.go b/go-api/feed/queries.go index bb39051c9..1e2eb7fac 100644 --- a/go-api/feed/queries.go +++ b/go-api/feed/queries.go @@ -8,6 +8,4 @@ const ( DeleteFeedById = `DELETE FROM feeds WHERE feed_id = @id RETURNING *` GetFeedsByAdapterId = `SELECT * FROM feeds WHERE adapter_id = @id;` - - DeleteFeedByAdapterId = `DELETE FROM feeds WHERE adapter_id = @id RETURNING *` ) From 080e5d2adf99125a985adbc114de9510922ae445 Mon Sep 17 00:00:00 2001 From: nick Date: Thu, 8 Feb 2024 14:02:45 +0900 Subject: [PATCH 19/19] fix: update based on feedback --- cli/src/vrf.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/src/vrf.ts b/cli/src/vrf.ts index e833c2aa1..c048edac3 100644 --- a/cli/src/vrf.ts +++ b/cli/src/vrf.ts @@ -78,7 +78,7 @@ export function listHandler(print?: boolean) { try { if (!chain) { - const result = (await axios.get(VRF_ENDPOINT)).data + const result = (await axios.get(VRF_ENDPOINT))?.data if (print) { console.dir(result, { depth: null }) }