Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/solid-chairs-study.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@chainlink/tenbin-adapter': major
---

Initial version of Tenbin EA
20 changes: 20 additions & 0 deletions .pnp.cjs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Empty file.
3 changes: 3 additions & 0 deletions packages/sources/tenbin/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Chainlink External Adapter for tenbin

This README will be generated automatically when code is merged to `main`. If you would like to generate a preview of the README, please run `yarn generate:readme tenbin`.
40 changes: 40 additions & 0 deletions packages/sources/tenbin/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
{
"name": "@chainlink/tenbin-adapter",
"version": "0.0.0",
"description": "Chainlink tenbin adapter.",
"keywords": [
"Chainlink",
"LINK",
"blockchain",
"oracle",
"tenbin"
],
"main": "dist/index.js",
"types": "dist/index.d.ts",
"files": [
"dist"
],
"repository": {
"url": "https://github.com/smartcontractkit/external-adapters-js",
"type": "git"
},
"license": "MIT",
"scripts": {
"clean": "rm -rf dist && rm -f tsconfig.tsbuildinfo",
"prepack": "yarn build",
"build": "tsc -b",
"server": "node -e 'require(\"./index.js\").server()'",
"server:dist": "node -e 'require(\"./dist/index.js\").server()'",
"start": "yarn server:dist"
},
"devDependencies": {
"@types/jest": "^29.5.14",
"@types/node": "22.14.1",
"nock": "13.5.6",
"typescript": "5.8.3"
},
"dependencies": {
"@chainlink/external-adapter-framework": "2.19.1",
"tslib": "2.4.1"
}
}
31 changes: 31 additions & 0 deletions packages/sources/tenbin/src/config/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import { AdapterConfig } from '@chainlink/external-adapter-framework/config'

export const config = new AdapterConfig({
API_KEY: {
description: 'An API key for Data Provider',
type: 'string',
required: true,
sensitive: true,
},
API_ENDPOINT: {
description: 'An API endpoint for Data Provider',
type: 'string',
default: 'https://public-api.tenbin.xyz/v1/verifier/attest',
sensitive: false,
},
BUILD_JSON_ENDPOINT: {
description: 'URL of the build.json file containing the image digest for verification',
type: 'string',
default:
'https://github.com/tenbinlabs/verification-service-releases/releases/latest/download/build.json',
sensitive: false,
},

BACKGROUND_EXECUTE_MS: {
description:
'The amount of time the background execute should sleep before performing the next request',
type: 'number',
default: 10_000,
sensitive: false,
},
})
1 change: 1 addition & 0 deletions packages/sources/tenbin/src/endpoint/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export { endpoint as verifiedBalance } from './verified-balance'
24 changes: 24 additions & 0 deletions packages/sources/tenbin/src/endpoint/verified-balance.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import { AdapterEndpoint } from '@chainlink/external-adapter-framework/adapter'
import { InputParameters } from '@chainlink/external-adapter-framework/validation'
import { config } from '../config'
import { customSubscriptionTransport } from '../transport/verified-balance'

export const inputParameters = new InputParameters({})

export type BaseEndpointTypes = {
Parameters: typeof inputParameters.definition
Response: {
Result: string
Data: {
result: string
}
}
Settings: typeof config.settings
}

export const endpoint = new AdapterEndpoint({
name: 'verified-balance',
aliases: [],
transport: customSubscriptionTransport,
inputParameters,
})
13 changes: 13 additions & 0 deletions packages/sources/tenbin/src/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import { expose, ServerInstance } from '@chainlink/external-adapter-framework'
import { Adapter } from '@chainlink/external-adapter-framework/adapter'
import { config } from './config'
import { verifiedBalance } from './endpoint'

export const adapter = new Adapter({
defaultEndpoint: verifiedBalance.name,
name: 'TENBIN',
config,
endpoints: [verifiedBalance],
})

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