# HAQQ IBC Info
## Module vesions
Mainnet: github.com/cosmos/ibc-go/v3 v3.2.0
TestEdge-2: github.com/cosmos/ibc-go/v5 v5.2.0
## Integrations:
- Gravity Bridge
- Axelar Network
## Networks
- Gravity Bridge (MainNet)
- Axelar Lisbon Testnet
- HAQQ (Mainnet/TestEdge2)
## Tooling
- **Hermes**
roles:
- ibc relayer
- create ibc entities (clients, connections, channels)
- update ibc clients
repo link:
https://github.com/informalsystems/hermes
- **Gravity Orchestrator**
roles:
- custom relayer
repo link:
https://github.com/Gravity-Bridge/Gravity-Docs/blob/main/docs/relaying.md#running-a-relayer
## HAQQ Special case for Mainnet
Currently, IBC Protocol is programmatically restricted to receiving and sending packets with exemptions. Only one account controlled by the team has permission to utilize the protocol functionality fully.
ref:
https://github.com/haqq-network/haqq/blob/master/x/ibc/apps/firewall/ibc_middleware.go#L55
These restrictions will be lifted after the official listing via the GOV Software Update proposal.
---
We also have some rules for the `TestEdge-1` network, which is not currently running. `TestEdge-2` don't have any limitations.
## Gravity proposal and contracts
### Proposals
**Mainnet**: https://www.mintscan.io/gravity-bridge/proposals/92
**TestEdge2**: https://www.mintscan.io/gravity-bridge/proposals/80
### Contracts
The Gravity Bridge Blockchain contract address is:
[0xa4108aA1Ec4967F8b52220a4f7e94A8201F2D906](https://etherscan.io/address/0xa4108aA1Ec4967F8b52220a4f7e94A8201F2D906)
The Islamic Coin Test Token ERC20 contract is:
[0x81eAaFd60C8A4f4dabb4e127B8E50600528ebd1F](https://etherscan.io/address/0x81eAaFd60C8A4f4dabb4e127B8E50600528ebd1F)
---
# Routes
### Gravity Bridge (chain_id: gravity-bridge-3)
*Gravity Bridge -> HAQQ TestEdge2*:
`07-tendermint-181` -> `connection-156` -> `channel-94`
*Gravity Bridge -> HAQQ Mainnet*:
`07-tendermint-192` -> `connection-163` -> `channel-100`
### Axelar Lisbon Testnet (chain_id: axelar-testnet-lisbon-3)
*Axelar Lisbon -> HAQQ TestEdge2*:
`07-tendermint-253` -> `connection-334` -> `channel-230`
### HAQQ TestEdge2 (chain_id: haqq_54211-3)
*HAQQ TestEdge2 -> Gravity*:
`07-tendermint-1` -> `connection-0` -> `channel-0`
*HAQQ TestEdge2 -> Axelar Lisbon*:
`07-tendermint-12` -> `connection-11` -> `channel-3`
### HAQQ Mainnet (chain_id: haqq_11235-1)
*HAQQ Mainnet -> Gravity*:
`07-tendermint-0` -> `connection-0` -> `channel-0`
## Hermes Networks config
```
# Add to the end of existing config.toml
[[chains]]
id = 'gravity-bridge-3'
websocket_addr = 'ws://chainripper-2.althea.net:26657/websocket'
rpc_addr = 'https://gravity-rpc.polkachu.com:443/'
grpc_addr = 'http://gravity-grpc.polkachu.com:14290'
rpc_timeout = '15s'
account_prefix = 'gravity'
key_name = 'gravitykey'
store_prefix = 'ibc'
default_gas = 100000
max_gas = 10000000
gas_price = { price = 0.005, denom = 'ugraviton' }
gas_multiplier = 1.1
max_msg_num = 30
max_tx_size = 2097152
clock_drift = '5s'
max_block_time = '15s'
trusting_period = '14days'
trust_threshold = { numerator = '1', denominator = '3' }
address_type = { derivation = 'cosmos' }
[chains.packet_filter]
policy = 'allow'
list = [
[
'transfer',
'channel-94',
],
[
'transfer',
'channel-100',
],
]
[[chains]]
id = 'haqq_54211-3'
rpc_addr = 'https://rpc.tm.testedge2.haqq.network:443'
grpc_addr = 'http://34.91.46.0:9090'
websocket_addr = 'wss://te2-s1-tm.haqq.sh:443/websocket'
rpc_timeout = '15s'
account_prefix = 'haqq'
key_name = 'haqqtestedgekey'
store_prefix = 'ibc'
default_gas = 100000
max_gas = 10000000
gas_price = { price = 0.025, denom = 'aISLM' }
gas_multiplier = 1.1
max_msg_num = 30
max_tx_size = 2097152
#clock_drift = '10s' # for Gravity Bridge
clock_drift = '5s'
max_block_time = '15s'
trusting_period = '112hours'
trust_threshold = { numerator = '1', denominator = '3' }
address_type = { derivation = 'ethermint', proto_type = { pk_type = '/ethermint.crypto.v1.ethsecp256k1.PubKey' } }
[chains.packet_filter]
policy = 'allow'
list = [
[
'transfer',
'channel-0',
],
[
'transfer',
'channel-3',
],
]
[[chains]]
id = 'haqq_11235-1'
rpc_addr = 'https://m-s1-tm.haqq.sh:443'
grpc_addr = 'http://m-s1-grpc.haqq.sh:1337'
websocket_addr = 'wss://m-s1-tm.haqq.sh:443/websocket'
rpc_timeout = '15s'
account_prefix = 'haqq'
key_name = 'haqqmainnetkey'
store_prefix = 'ibc'
default_gas = 100000
max_gas = 10000000
gas_price = { price = 0.025, denom = 'aISLM' }
gas_multiplier = 1.1
max_msg_num = 30
max_tx_size = 2097152
clock_drift = '5s'
max_block_time = '15s'
trusting_period = '14days'
trust_threshold = { numerator = '1', denominator = '3' }
address_type = { derivation = 'ethermint', proto_type = { pk_type = '/ethermint.crypto.v1.ethsecp256k1.PubKey' } }
[chains.packet_filter]
policy = 'allow'
list = [[
'transfer',
'channel-0',
]]
[[chains]]
id = 'axelar-testnet-lisbon-3'
rpc_addr = 'https://axelar-rpc-1.staketab.org:443'
grpc_addr = 'http://services.staketab.com:9090'
websocket_addr = 'wss://axelartest-rpc.quantnode.tech:443/websocket'
rpc_timeout = '15s'
account_prefix = 'axelar'
key_name = 'axelartestkey'
store_prefix = 'ibc'
default_gas = 100000
max_gas = 10000000
gas_price = { price = 0.05, denom = 'uaxl' }
gas_multiplier = 1.1
max_msg_num = 30
max_tx_size = 2097152
clock_drift = '5s'
max_block_time = '15s'
trusting_period = '112hours'
trust_threshold = { numerator = '1', denominator = '3' }
address_type = { derivation = 'cosmos' }
[chains.packet_filter]
policy = 'allow'
list = [[
'transfer',
'channel-230',
]]
```
---
## Useful links
Gravity Bridge: HAQQ Network — Ethereum
https://hackmd.io/O_ysQZsSTYu9eAspyzlQvw
Run Hermes Relayer
https://hackmd.io/6OKr_lpkSDO7h2EsiLjllA