Skip to content

Commit

Permalink
Create first draft of registry contents
Browse files Browse the repository at this point in the history
  • Loading branch information
jmrossy committed Sep 23, 2023
0 parents commit 1f825c7
Show file tree
Hide file tree
Showing 8 changed files with 213 additions and 0 deletions.
21 changes: 21 additions & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2023 Abacus Works Inc.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
11 changes: 11 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Hyperlane Registry

A collection of deployment configs and artifacts for Hyperlane.

## Contents

### Chains

A map of [CAIP-2](https://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-2.md) IDs to chain metadata.

### Deployments
3 changes: 3 additions & 0 deletions chains/chain-metadata.schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"TODO": "TODO"
}
77 changes: 77 additions & 0 deletions chains/chain-metadata.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# Configs for describing chain metadata for use in Hyperlane deployments or apps
# Consists of a map of chain names to metadata
# yaml-language-server: $schema=./chain-metadata.schema.json
---
description: Chain metadata for use by Hyperlane utilities
timestamp: 2023-09-23T16:00:00.000Z
version:
major: 1
minor: 0
patch: 0
data:
# Example config:
mychainname:
# Required fields:
chainId: 1234567890 # Number: Use EIP-155 for EVM chains
domainId: 1234567890 # Number: Recommend matching chainId when possible
name: mychainname # String: Unique identifier for the chain, must match key above
protocol: ethereum # ProtocolType: Ethereum, Sealevel, etc.
rpcUrls: # Array: List of RPC configs
# Required fields for RPCs::
- http: https://mychain.com/rpc # String: HTTP URL of the RPC endpoint (preferably HTTPS)
# Optional fields for RPCs:
pagination:
maxBlockRange: 1000 # Number
maxBlockAge: 1000 # Number
minBlockNumber: 1000 # Number
retry:
maxRequests: 5 # Number
baseRetryMs: 1000 # Number
# Optional fields, not required for Hyperlane deployments but useful for apps:
blockExplorers: # Array: List of BlockExplorer configs
# Required fields for block explorers:
- name: My Chain Explorer # String: Human-readable name for the explorer
url: https://mychain.com/explorer # String: Base URL for the explorer
apiUrl: https://mychain.com/api # String: Base URL for the explorer API
# Optional fields for block explorers:
apiKey: myapikey # String: API key for the explorer (optional)
family: etherscan # ExplorerFamily: See ExplorerFamily for valid values
nativeToken:
name: Eth # String
symbol: ETH # String
decimals: 18 # Number
blocks:
confirmations: 12 # Number: Blocks to wait before considering a transaction confirmed
reorgPeriod: 100 # Number: Blocks before a transaction has a near-zero chance of reverting
estimateBlockTime: 15 # Number: Rough estimate of time per block in seconds
displayName: My Chain Name # String: Human-readable name of the chain
displayNameShort: My Chain # String: A shorter human-readable name
logoURI: https://mychain.com/logo.png # String: URI to a logo image for the chain
isTestnet: false # Boolean: Whether the chain is considered a testnet or a mainnet

alfajores:
chainId: 44787
domainId: 44787
name: alfajores
protocol: ethereum
nativeToken:
name: CELO
symbol: CELO
decimals: 18
rpcUrls:
- http: https://alfajores-forno.celo-testnet.org
blockExplorers:
- name: CeloScan
url: https://alfajores.celoscan.io
apiUrl: https://api-alfajores.celoscan.io/api
family: etherscan
- name: Blockscout
url: https://explorer.celo.org/alfajores
apiUrl: https://explorer.celo.org/alfajores/api
family: blockscout
displayName: 'Alfajores'
blocks:
confirmations: 1
reorgPeriod: 0
estimateBlockTime: 5
isTestnet: true
3 changes: 3 additions & 0 deletions deployments/core-deployments.schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"TODO": "TODO"
}
53 changes: 53 additions & 0 deletions deployments/core-deployments.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Configs and artifacts for the deployment of core Hyperlane contracts
# Consists of a map of chain names to lists of deployments
# yaml-language-server: $schema=./core-deployments.schema.json
---
description: Hyperlane core deployment artifacts
timestamp: 2023-09-23T16:00:00.000Z
version:
major: 1
minor: 0
patch: 0
data:
alfajores:
- timestamp: 2023-04-01T12:00:00.000Z
deployer: Abacus Works (Hyperlane)
config:
multisig:
type: legacy-multisig
threshold: 2
validators:
- 0xe6072396568e73ce6803b12b7e04164e839f1e54
- 0x9f177f51289b22515f41f95872e1511391b8e105
- 0x15f77400845eb1c971ad08de050861d5508cad6c
hooks:
hookContractType: ism
nativeBridge: 0x4200000000000000000000000000000000000007
interchainGasPaymaster:
owner: TODO
oracleKey: TODO
beneficiary: TODO
gasOracleType: StorageGasOracle
overhead: TODO
artifacts:
create2Factory: 0xc97D8e6f57b0d64971453dDc6EB8483fec9d163a
storageGasOracle: 0x2E6a2Caa58a684f6200CEd24be31Eb6DAa154848
validatorAnnounce: 0x3Fc742696D5dc9846e04f7A1823D92cb51695f9a
proxyAdmin: 0x4e4D563e2cBFC35c4BC16003685443Fae2FA702f
mailbox: 0xCC737a94FecaeC165AbCf12dED095BB13F037685
interchainGasPaymaster: 0x8f9C3888bFC8a5B25AED115A82eCbb788b196d2a
defaultIsmInterchainGasPaymaster: 0xF90cB82a76492614D07B82a7658917f3aC811Ac1
multisigIsm: 0x4D06A1671A2a345B14B15cbD50027979A5D1d8C9
interchainAccountIsm: 0x0aA320a1bD450152B4C500613335CeBA4f6073cF
aggregationIsmFactory: 0xBEd8Fd6d5c6cBd878479C25f4725C7c842a43821
routingIsmFactory: 0x98F44EA5b9cA6aa02a5B75f31E0621083d9096a2
interchainQueryRouter: 0xc341cBC69745C541d698cb2cB4eDb91c2F0413aE
interchainAccountRouter: 0x2b0db6161f2f7aE86b7eA07711354575a6D99667
merkleRootMultisigIsmFactory: 0x6525Ac4008E38e0E70DaEf59d5f0e1721bd8aA83
messageIdMultisigIsmFactory: 0x4C739E01f295B70762C0bA9D86123E1775C2f703
# Optional core extensions:
helloworld: 0x477D860f8F41bC69dDD32821F2Bf2C2Af0243F16
liquidityLayerRouter: 0x2abe0860D81FB4242C748132bD69D125D88eaE26
testRecipient: 0x36FdA966CfffF8a9Cdc814f546db0e6378bFef35
testTokenRecipient: 0x85ac1164878e017b67660a74ff1f41f3D05C02Bb
testQuerySender: 0x96D7D6Eba6C635e3EaC12b593Ef8B2eE1F6E6683
3 changes: 3 additions & 0 deletions deployments/warp-deployments.schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"TODO": "TODO"
}
42 changes: 42 additions & 0 deletions deployments/warp-deployments.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Configs and artifacts for the deployment of Hyperlane Warp Routes
# Consists of a list of deployments
# yaml-language-server: $schema=./warp-deployments.schema.json
---
description: Hyperlane Warp Route artifacts
timestamp: 2023-09-23T16:00:00.000Z
version:
major: 1
minor: 0
patch: 0
data:
# Example deployment config and artifacts:
- timestamp: 2023-08-01T12:00:00.000Z
deployer: Abacus Works (Hyperlane)
config:
base:
chainName: anvil1
type: collateral
address: 0x1234567890123456789012345678901234567890 # Required for collateral types
# isNft: true # If the token is an NFT (ERC721) set to true
# owner: 0x123 # Optional owner address for synthetic token
# mailbox: 0x123 # Optional mailbox address route
# interchainGasPaymaster: 0x123 # Optional interchainGasPaymaster address
synthetics:
- chainName: anvil2
# You can optionally set the token metadata otherwise the base tokens will be used
# name: "MySyntheticToken"
# symbol: "MST"
# totalSupply: 10000000
artifacts:
base:
type: collateral
chainName: anvil1
address: 0x1234567890123456789012345678901234567890
routerAddress: 0x1234567890123456789012345678901234567890
symbol: MYTOK
name: MyToken
decimals: 18
synthetics:
- chainName: anvil2
type: synthetic
routerAddress: 0x1234567890123456789012345678901234567890

0 comments on commit 1f825c7

Please sign in to comment.