Skip to content

Instantly share code, notes, and snippets.

@wenakita
Created May 9, 2025 07:34
Show Gist options
  • Save wenakita/f11764cbfe31d94ff4e07a8112fb26b6 to your computer and use it in GitHub Desktop.
Save wenakita/f11764cbfe31d94ff4e07a8112fb26b6 to your computer and use it in GitHub Desktop.
Verification
{
"compiler": {
"version": "0.8.30+commit.73712a01"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "uint16",
"name": "_chainId",
"type": "uint16"
}
],
"name": "getChainConfig",
"outputs": [
{
"components": [
{
"internalType": "uint16",
"name": "chainId",
"type": "uint16"
},
{
"internalType": "string",
"name": "chainName",
"type": "string"
},
{
"internalType": "address",
"name": "wrappedNativeToken",
"type": "address"
},
{
"internalType": "address",
"name": "swapTrigger",
"type": "address"
},
{
"internalType": "address",
"name": "vrfConsumer",
"type": "address"
},
{
"internalType": "address",
"name": "dragonToken",
"type": "address"
},
{
"internalType": "bool",
"name": "isActive",
"type": "bool"
}
],
"internalType": "struct IChainRegistry.ChainConfig",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getCurrentChainId",
"outputs": [
{
"internalType": "uint16",
"name": "",
"type": "uint16"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint16",
"name": "_chainId",
"type": "uint16"
}
],
"name": "getDragonToken",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getSupportedChains",
"outputs": [
{
"internalType": "uint16[]",
"name": "",
"type": "uint16[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint16",
"name": "_chainId",
"type": "uint16"
}
],
"name": "getSwapTrigger",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint16",
"name": "_chainId",
"type": "uint16"
}
],
"name": "getVRFConsumer",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint16",
"name": "chainId",
"type": "uint16"
}
],
"name": "getWrappedNativeToken",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint16",
"name": "chainId",
"type": "uint16"
}
],
"name": "isChainSupported",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint16",
"name": "_chainId",
"type": "uint16"
},
{
"internalType": "string",
"name": "_chainName",
"type": "string"
},
{
"internalType": "address",
"name": "_wrappedNativeToken",
"type": "address"
},
{
"internalType": "address",
"name": "_swapTrigger",
"type": "address"
},
{
"internalType": "address",
"name": "_vrfConsumer",
"type": "address"
},
{
"internalType": "address",
"name": "_dragonToken",
"type": "address"
}
],
"name": "registerChain",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint16",
"name": "_chainId",
"type": "uint16"
},
{
"internalType": "bool",
"name": "_isActive",
"type": "bool"
}
],
"name": "setChainActive",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint16",
"name": "_chainId",
"type": "uint16"
},
{
"internalType": "address",
"name": "_wrappedNativeToken",
"type": "address"
},
{
"internalType": "address",
"name": "_swapTrigger",
"type": "address"
},
{
"internalType": "address",
"name": "_vrfConsumer",
"type": "address"
},
{
"internalType": "address",
"name": "_dragonToken",
"type": "address"
}
],
"name": "updateChain",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"details": "Interface for the ChainRegistry contract to get chain-specific information Used by OmniDragonV2 to control chain-specific token minting",
"kind": "dev",
"methods": {
"getChainConfig(uint16)": {
"params": {
"_chainId": "The LayerZero chain ID"
},
"returns": {
"_0": "Chain configuration struct"
}
},
"getCurrentChainId()": {
"details": "Get the current chain's LayerZero ID",
"returns": {
"_0": "The LayerZero chain ID of the current chain"
}
},
"getDragonToken(uint16)": {
"params": {
"_chainId": "The LayerZero chain ID"
},
"returns": {
"_0": "The Dragon token address"
}
},
"getSupportedChains()": {
"returns": {
"_0": "Array of supported chain IDs"
}
},
"getSwapTrigger(uint16)": {
"params": {
"_chainId": "The LayerZero chain ID"
},
"returns": {
"_0": "The swap trigger address"
}
},
"getVRFConsumer(uint16)": {
"params": {
"_chainId": "The LayerZero chain ID"
},
"returns": {
"_0": "The VRF consumer address"
}
},
"getWrappedNativeToken(uint16)": {
"details": "Get the wrapped native token address for a specific chain",
"params": {
"chainId": "The LayerZero chain ID"
},
"returns": {
"_0": "The wrapped native token address for the specified chain"
}
},
"isChainSupported(uint16)": {
"details": "Check if a chain is supported",
"params": {
"chainId": "The LayerZero chain ID to check"
},
"returns": {
"_0": "True if the chain is supported, false otherwise"
}
},
"registerChain(uint16,string,address,address,address,address)": {
"params": {
"_chainId": "The LayerZero chain ID",
"_chainName": "The human-readable chain name",
"_dragonToken": "The Dragon token address on this chain",
"_swapTrigger": "The chain-specific swap trigger address",
"_vrfConsumer": "The chain-specific VRF consumer address",
"_wrappedNativeToken": "The wrapped native token address (WETH, WSONIC, WSOL, WBERA, etc.)"
}
},
"setChainActive(uint16,bool)": {
"params": {
"_chainId": "The LayerZero chain ID",
"_isActive": "Whether the chain is active"
}
},
"updateChain(uint16,address,address,address,address)": {
"params": {
"_chainId": "The LayerZero chain ID to update",
"_dragonToken": "The Dragon token address on this chain",
"_swapTrigger": "The chain-specific swap trigger address",
"_vrfConsumer": "The chain-specific VRF consumer address",
"_wrappedNativeToken": "The wrapped native token address"
}
}
},
"title": "IChainRegistry",
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {
"getChainConfig(uint16)": {
"notice": "Get chain configuration"
},
"getDragonToken(uint16)": {
"notice": "Get Dragon token address for a specific chain"
},
"getSupportedChains()": {
"notice": "Get all supported chain IDs"
},
"getSwapTrigger(uint16)": {
"notice": "Get swap trigger address for a specific chain"
},
"getVRFConsumer(uint16)": {
"notice": "Get VRF consumer address for a specific chain"
},
"registerChain(uint16,string,address,address,address,address)": {
"notice": "Register a new chain configuration"
},
"setChainActive(uint16,bool)": {
"notice": "Set chain active status"
},
"updateChain(uint16,address,address,address,address)": {
"notice": "Update an existing chain configuration"
}
},
"version": 1
}
},
"settings": {
"compilationTarget": {
"OmniDragon.sol": "IChainRegistry"
},
"evmVersion": "prague",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"OmniDragon.sol": {
"keccak256": "0xeb350f4ff0edd7a0f802a124ac8bdfbf8fd594855df7bd4c4a515893da35cfa4",
"license": "MIT",
"urls": [
"bzz-raw://144d57caa705f687ee644e5e1ca6607cad2ab104adf3e34b93839737524cc8dd",
"dweb:/ipfs/QmU7vebfGqXjsYYaRkEztHrUBXcyhvBwC8uxakZuVBsbm8"
]
}
},
"version": 1
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment