Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add SOON network, add Bonk metadata and logo #460

Merged
merged 12 commits into from
Jan 7, 2025
5 changes: 5 additions & 0 deletions .changeset/hot-flowers-share.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@hyperlane-xyz/registry': minor
---

Add SOON chain, add Bonk logo and metadata, make warp deploys without a config a warning
6 changes: 6 additions & 0 deletions chains/addresses.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3460,6 +3460,12 @@ sonictestnet:
testRecipient: "0x01812D60958798695391dacF092BAc4a715B1718"
timelockController: "0x0000000000000000000000000000000000000000"
validatorAnnounce: "0xD356C996277eFb7f75Ee8bd61b31cC781A12F54f"
soon:
interchainGasPaymaster: Dsem8R6mkrpNoNb6CRUEjEZRP2hKRC24thyCkVr8cNYZ
interchainSecurityModule: 4fPoa26ayqY1cwY3AcqUPvdLLNHpjJGdDQevtnTLAAnH
mailbox: Mj7GE6LZiJUZFTgabmNkFoY2o6JCEwCMKopSUUC3kqj
merkleTreeHook: Mj7GE6LZiJUZFTgabmNkFoY2o6JCEwCMKopSUUC3kqj
validatorAnnounce: GFqF38mSacfvbJRKkhmjJvSkzTEKemSNVoWi4Q94ZPvz
sophonsepolia:
domainRoutingIsmFactory: "0x4C00a7cead47d335f3241fe88c28bF5603C88fCD"
interchainAccountIsm: "0x7Ff7Cb205cc58aC2C16f8f70601694aB54866aFD"
Expand Down
28 changes: 27 additions & 1 deletion chains/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4397,7 +4397,7 @@ real:
url: https://www.hyperlane.xyz
displayName: re.al
domainId: 111188
gasCurrencyCoinGeckoId: real-ether
gasCurrencyCoinGeckoId: ethereum
index:
from: 363159
name: real
Expand Down Expand Up @@ -5015,6 +5015,32 @@ sonictestnet:
protocol: ethereum
rpcUrls:
- http: https://rpc.testnet.soniclabs.com
soon:
blockExplorers:
- apiUrl: https://explorer.soo.network/
family: other
name: SOON Explorer
url: https://explorer.soo.network/
blocks:
confirmations: 1
estimateBlockTime: 0.05
reorgPeriod: 0
chainId: 50075007
deployer:
name: Abacus Works
url: https://www.hyperlane.xyz
displayName: SOON
domainId: 50075007
gasCurrencyCoinGeckoId: ethereum
name: soon
nativeToken:
decimals: 9
name: Ether
symbol: ETH
protocol: sealevel
rpcUrls:
- http: https://rpc.mainnet.soo.network/rpc
technicalStack: other
sophonsepolia:
blockExplorers:
- apiUrl: https://api-explorer-verify.testnet.sophon.xyz/contract_verification
Expand Down
3 changes: 2 additions & 1 deletion chains/real/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ deployer:
url: https://www.hyperlane.xyz
displayName: re.al
domainId: 111188
gasCurrencyCoinGeckoId: real-ether
# https://www.coingecko.com/en/coins/real-ether is in preview mode, so we use ethereum as a close proxy
gasCurrencyCoinGeckoId: ethereum
index:
from: 363159
name: real
Expand Down
5 changes: 5 additions & 0 deletions chains/soon/addresses.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
interchainGasPaymaster: Dsem8R6mkrpNoNb6CRUEjEZRP2hKRC24thyCkVr8cNYZ
interchainSecurityModule: 4fPoa26ayqY1cwY3AcqUPvdLLNHpjJGdDQevtnTLAAnH
mailbox: Mj7GE6LZiJUZFTgabmNkFoY2o6JCEwCMKopSUUC3kqj
merkleTreeHook: Mj7GE6LZiJUZFTgabmNkFoY2o6JCEwCMKopSUUC3kqj
validatorAnnounce: GFqF38mSacfvbJRKkhmjJvSkzTEKemSNVoWi4Q94ZPvz
1 change: 1 addition & 0 deletions chains/soon/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
26 changes: 26 additions & 0 deletions chains/soon/metadata.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# yaml-language-server: $schema=../schema.json
blockExplorers:
- apiUrl: https://explorer.soo.network/
family: other
name: SOON Explorer
url: https://explorer.soo.network/
blocks:
confirmations: 1
estimateBlockTime: 0.05
Copy link
Contributor

@daniel-savu daniel-savu Jan 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did a quick check and the block time was between 3 and 13 sec

curl https://rpc.testnet.soo.network/rpc \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getBlockTime",
  "params": [369624]
}'

{"jsonrpc":"2.0","result":1734675806,"id":1}
% curl https://rpc.testnet.soo.network/rpc \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getBlockTime",
  "params": [369625]
}'
{"jsonrpc":"2.0","result":1734675819,"id":1}

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reorgPeriod: 0
chainId: 50075007
deployer:
name: Abacus Works
url: https://www.hyperlane.xyz
displayName: SOON
domainId: 50075007
gasCurrencyCoinGeckoId: ethereum
name: soon
nativeToken:
decimals: 9
name: Ether
symbol: ETH
protocol: sealevel
rpcUrls:
- http: https://rpc.mainnet.soo.network/rpc
technicalStack: other
1 change: 1 addition & 0 deletions deployments/warp_routes/Bonk/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 7 additions & 0 deletions deployments/warp_routes/Bonk/metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"name": "Bonk",
"symbol": "Bonk",
"description": "The Official Bonk Inu token. Warp Route bridged via Hyperlane",
"image": "https://arweave.net/hQiPZOsRZXGXBJd_82PhVdlM_hACsT_q6wqwf5cSY7I",
"attributes": []
}
20 changes: 13 additions & 7 deletions scripts/validate-file-data.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ const warpRoutesDir = './deployments/warp_routes';
const missingDeployerField = [];
const noLogoFileError = [];

// warp routes errors
const noConfigFileError = [];
// warp route warnings / errors
const noConfigFileWarning = [];
const unorderedChainNamesError = [];

function validateChains() {
Expand Down Expand Up @@ -68,7 +68,7 @@ function validateConfigFiles(entryPath) {
const configFiles = fs.readdirSync(entryPath).filter((file) => file.includes('-config.yaml'));

if (configFiles.length === 0) {
noConfigFileError.push(entryPath);
noConfigFileWarning.push(entryPath);
return;
}
}
Expand All @@ -92,9 +92,18 @@ function validateWarpRoutes() {
}

function validateErrors() {
// First, warnings

// There's a chicken and egg problem for SVM warp routes: we need to
// merge the SVM metadata.json of a new token into main so we get a perma-link
// prior to deploying the token. This means we generally submit a first PR with the
// metadata and a follow-up PR with the addresses / config.
if (noConfigFileWarning.length > 0)
console.warn('Error: no config file at paths:', noConfigFileWarning);

// Then, errors
const errorCount =
missingDeployerField.length +
noConfigFileError.length +
noLogoFileError.length +
unorderedChainNamesError.length;

Expand All @@ -110,9 +119,6 @@ function validateErrors() {

if (noLogoFileError.length > 0) console.error('Error: logo file missing at:', noLogoFileError);

if (noConfigFileError.length > 0)
console.error('Error: no config file at paths:', noConfigFileError);

if (unorderedChainNamesError.length > 0)
console.error(
'Error: Chain names not ordered alphabetically at paths:',
Expand Down
Loading