Skip to content

Commit 99dd03d

Browse files
authored
Re-factor tokenized-equity (#4651)
* Re-factor tokenized-equity * Validate rpc in endpoint
1 parent ecc486a commit 99dd03d

9 files changed

Lines changed: 33 additions & 21 deletions

File tree

.changeset/rude-plums-fix.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@chainlink/tokenized-equity-adapter': patch
3+
---
4+
5+
Code re-factor

packages/composites/tokenized-equity/src/config/index.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
import { AdapterConfig } from '@chainlink/external-adapter-framework/config'
22

33
export const config = new AdapterConfig({
4-
ETHEREUM_RPC_URL: {
5-
description: 'RPC URL of a Mainnet ETH node',
6-
type: 'string',
7-
required: true,
8-
},
94
DATA_ENGINE_ADAPTER_URL: {
105
description: 'URL of data engine ea',
116
type: 'string',
@@ -16,6 +11,11 @@ export const config = new AdapterConfig({
1611
type: 'string',
1712
required: true,
1813
},
14+
ETHEREUM_RPC_URL: {
15+
description: 'RPC URL of a Mainnet ETH node',
16+
type: 'string',
17+
default: '',
18+
},
1919
ETHEREUM_RPC_CHAIN_ID: {
2020
description: 'The chain id to connect to',
2121
type: 'number',
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
export { endpoint as price } from './price'
1+
export { endpoint as ondo } from './ondo'

packages/composites/tokenized-equity/src/endpoint/price.ts renamed to packages/composites/tokenized-equity/src/endpoint/ondo.ts

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { InputParameters } from '@chainlink/external-adapter-framework/validatio
44
import { AdapterInputError } from '@chainlink/external-adapter-framework/validation/error'
55
import { TypeFromDefinition } from '@chainlink/external-adapter-framework/validation/input-params'
66
import { config } from '../config'
7-
import { priceTransport } from '../transport/transport'
7+
import { ondoTransport } from '../transport/ondoTransport'
88

99
export const inputParameters = new InputParameters(
1010
{
@@ -118,11 +118,18 @@ export type BaseEndpointTypes = {
118118
export type Smoother = TypeFromDefinition<BaseEndpointTypes['Parameters']>['smoother']
119119

120120
export const endpoint = new AdapterEndpoint({
121-
name: 'price',
121+
name: 'ondo',
122122
aliases: [],
123-
transport: priceTransport,
123+
transport: ondoTransport,
124124
inputParameters,
125-
customInputValidation: (req): AdapterInputError | undefined => {
125+
customInputValidation: (req, adapterSettings): AdapterInputError | undefined => {
126+
if (!adapterSettings.ETHEREUM_RPC_URL) {
127+
throw new AdapterInputError({
128+
message: 'Missing ETHEREUM_RPC_URL',
129+
statusCode: 400,
130+
})
131+
}
132+
126133
const { sessionBoundaries, sessionBoundariesTimeZone } = req.requestContext.data
127134

128135
sessionBoundaries.forEach((s) => {
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import { expose, ServerInstance } from '@chainlink/external-adapter-framework'
22
import { Adapter } from '@chainlink/external-adapter-framework/adapter'
33
import { config } from './config'
4-
import { price } from './endpoint'
4+
import { ondo } from './endpoint'
55

66
export const adapter = new Adapter({
7-
defaultEndpoint: price.name,
7+
defaultEndpoint: ondo.name,
88
name: 'TOKENIZED_EQUITY',
99
config,
10-
endpoints: [price],
10+
endpoints: [ondo],
1111
})
1212

1313
export const server = (): Promise<ServerInstance | undefined> => expose(adapter)

packages/composites/tokenized-equity/src/lib/smoother/smoother.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// Algorithm by @kalanyuz and @eshaqiri
2-
import { Smoother } from '../../endpoint/price'
2+
import { Smoother } from '../../endpoint/ondo'
33
import { EmaFilter } from './ema'
44
import { KalmanFilter } from './kalman'
55
import { deScale, scale } from './utils'

packages/composites/tokenized-equity/src/transport/price.ts renamed to packages/composites/tokenized-equity/src/transport/ondoPrice.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { Requester } from '@chainlink/external-adapter-framework/util/requester'
22
import { JsonRpcProvider } from 'ethers'
33

44
import { AdapterError } from '@chainlink/external-adapter-framework/validation/error'
5-
import { Smoother } from '../endpoint/price'
5+
import { Smoother } from '../endpoint/ondo'
66
import { getRegistryData } from '../lib/registry'
77
import { calculateSecondsFromTransition } from '../lib/session/session'
88
import { processUpdate } from '../lib/smoother/smoother'

packages/composites/tokenized-equity/src/transport/transport.ts renamed to packages/composites/tokenized-equity/src/transport/ondoTransport.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@ import { AdapterResponse, makeLogger, sleep } from '@chainlink/external-adapter-
55
import { Requester } from '@chainlink/external-adapter-framework/util/requester'
66
import { AdapterError } from '@chainlink/external-adapter-framework/validation/error'
77
import { JsonRpcProvider } from 'ethers'
8-
import { BaseEndpointTypes, inputParameters, Smoother } from '../endpoint/price'
9-
import { calculatePrice } from './price'
8+
import { BaseEndpointTypes, inputParameters, Smoother } from '../endpoint/ondo'
9+
import { calculatePrice } from './ondoPrice'
1010

11-
const logger = makeLogger('PriceTransport')
11+
const logger = makeLogger('OndoTransport')
1212

1313
type RequestParams = typeof inputParameters.validated
1414

15-
export class PriceTransport extends SubscriptionTransport<BaseEndpointTypes> {
15+
export class OndoTransport extends SubscriptionTransport<BaseEndpointTypes> {
1616
requester!: Requester
1717
provider!: JsonRpcProvider
1818
dataEngineUrl!: string
@@ -132,4 +132,4 @@ const dedupeParams = (params: RequestParams[]) => {
132132
return Array.from(seen.values())
133133
}
134134

135-
export const priceTransport = new PriceTransport()
135+
export const ondoTransport = new OndoTransport()

packages/composites/tokenized-equity/test/unit/transport/price.test.ts renamed to packages/composites/tokenized-equity/test/unit/transport/ondoPrice.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { getRegistryData } from '../../../src/lib/registry'
44
import { calculateSecondsFromTransition } from '../../../src/lib/session/session'
55
import { processUpdate } from '../../../src/lib/smoother/smoother'
66
import { getPrice } from '../../../src/lib/streams'
7-
import { calculatePrice } from '../../../src/transport/price'
7+
import { calculatePrice } from '../../../src/transport/ondoPrice'
88

99
jest.mock('../../../src/lib/streams', () => ({ getPrice: jest.fn() }))
1010
const mockGetPrice = getPrice as jest.MockedFunction<typeof getPrice>

0 commit comments

Comments
 (0)