From c40e999a996b950995fd49e149112e93109f854a Mon Sep 17 00:00:00 2001 From: George Igolkin <55846645+Svg70@users.noreply.github.com> Date: Wed, 25 Sep 2024 21:49:31 +0000 Subject: [PATCH] feat: add Unique chains (#2776) * Added Unique chains * Update unique.ts * Update uniqueOpal.ts * Update uniqueQuartz.ts * Create heavy-countries-rule.md --------- Co-authored-by: jxom --- .changeset/heavy-countries-rule.md | 5 +++++ src/chains/definitions/unique.ts | 20 ++++++++++++++++++++ src/chains/definitions/uniqueOpal.ts | 21 +++++++++++++++++++++ src/chains/definitions/uniqueQuartz.ts | 20 ++++++++++++++++++++ src/chains/index.ts | 3 +++ 5 files changed, 69 insertions(+) create mode 100644 .changeset/heavy-countries-rule.md create mode 100644 src/chains/definitions/unique.ts create mode 100644 src/chains/definitions/uniqueOpal.ts create mode 100644 src/chains/definitions/uniqueQuartz.ts diff --git a/.changeset/heavy-countries-rule.md b/.changeset/heavy-countries-rule.md new file mode 100644 index 0000000000..5a13efcdaf --- /dev/null +++ b/.changeset/heavy-countries-rule.md @@ -0,0 +1,5 @@ +--- +"viem": patch +--- + +Added Unique chains. diff --git a/src/chains/definitions/unique.ts b/src/chains/definitions/unique.ts new file mode 100644 index 0000000000..5aa02f26e4 --- /dev/null +++ b/src/chains/definitions/unique.ts @@ -0,0 +1,20 @@ +import { defineChain } from '../../utils/chain/defineChain.js' + +export const unique = /*#__PURE__*/ defineChain({ + id: 8880, + name: 'Unique Mainnet', + nativeCurrency: { + decimals: 18, + name: 'UNQ', + symbol: 'UNQ', + }, + rpcUrls: { + default: { http: ['https://rpc.unique.network'] }, + }, + blockExplorers: { + default: { + name: 'Unique Subscan', + url: 'https://unique.subscan.io/', + }, + }, +}) diff --git a/src/chains/definitions/uniqueOpal.ts b/src/chains/definitions/uniqueOpal.ts new file mode 100644 index 0000000000..160ddd421e --- /dev/null +++ b/src/chains/definitions/uniqueOpal.ts @@ -0,0 +1,21 @@ +import { defineChain } from '../../utils/chain/defineChain.js' + +export const uniqueOpal = /*#__PURE__*/ defineChain({ + id: 8882, + name: 'Opal Testnet', + nativeCurrency: { + decimals: 18, + name: 'OPL', + symbol: 'OPL', + }, + rpcUrls: { + default: { http: ['https://rpc-opal.unique.network'] }, + }, + blockExplorers: { + default: { + name: 'Opal Subscan', + url: 'https://opal.subscan.io/', + }, + }, + testnet: true, +}) diff --git a/src/chains/definitions/uniqueQuartz.ts b/src/chains/definitions/uniqueQuartz.ts new file mode 100644 index 0000000000..dc5c55fdab --- /dev/null +++ b/src/chains/definitions/uniqueQuartz.ts @@ -0,0 +1,20 @@ +import { defineChain } from '../../utils/chain/defineChain.js' + +export const uniqueQuartz = /*#__PURE__*/ defineChain({ + id: 8881, + name: 'Quartz Mainnet', + nativeCurrency: { + decimals: 18, + name: 'QTZ', + symbol: 'QTZ', + }, + rpcUrls: { + default: { http: ['https://rpc-quartz.unique.network'] }, + }, + blockExplorers: { + default: { + name: 'Quartz Subscan', + url: 'https://quartz.subscan.io/', + }, + }, +}) diff --git a/src/chains/index.ts b/src/chains/index.ts index 341d54c6aa..26223b0550 100644 --- a/src/chains/index.ts +++ b/src/chains/index.ts @@ -326,6 +326,9 @@ export { tenet } from './definitions/tenet.js' export { thaiChain } from './definitions/thaiChain.js' export { thunderTestnet } from './definitions/thunderTestnet.js' export { tron } from './definitions/tron.js' +export { unique } from './definitions/unique.js' +export { uniqueQuartz } from './definitions/uniqueQuartz.js' +export { uniqueOpal } from './definitions/uniqueOpal.js' export { unreal } from './definitions/unreal.js' export { vechain } from './definitions/vechain.js' export { wanchain } from './definitions/wanchain.js'