Skip to content

Instantly share code, notes, and snippets.

View clemensgg's full-sized avatar

Claimens | CryptoCrew Validators clemensgg

View GitHub Profile
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "prometheus",
"uid": "Prometheus"
},
"enable": true,
@clemensgg
clemensgg / ibc_spam.md
Last active June 26, 2024 14:55
IBC relayer spam
@clemensgg
clemensgg / democracy-docs.md
Last active June 19, 2024 13:51
democracy/ccvstaking docs

Democracy modules

This section is relevant for chains transitioning from a standalone chain and new consumer chains that require some functionality from the x/staking module.

The democracy modules comprise x/staking, x/distribution and x/governance modules with overrides and extensions required for normal operation when participating in interchain security.

The modules are plug-and-play and only require small wiring changes to enable them.

For a full integration check the consumer-democracy example app.

@clemensgg
clemensgg / flipside_queries.md
Last active June 13, 2024 08:50
Calculate Relayer TX Fee Totals

Default SDK Implementation

  1. List all fee denoms:
with ibc_msgs as (
    select
        l.tx_id
    from cosmos.core.fact_msg_attributes l
    where
        l.attribute_value like '/ibc.%'
 and l.attribute_value not like '%transfer%'
@clemensgg
clemensgg / pubkey-to-valcons.js
Created January 24, 2024 16:40
pubkeytovalcons
import crypto from 'crypto';
import bech32 from 'bech32';
const pubkey = "+hZsfi4r1OdyIgkZBbQgCDiADkQWlzN0iQ3Szr9+Dp8=";
const prefix = "odin";
function pubKeyToValcons (pubkey, prefix) {
const consensusPubkeyBytes = Buffer.from(pubkey,
'base64');
const sha256Hash = crypto.createHash('sha256').update(consensusPubkeyBytes).digest();
@clemensgg
clemensgg / hermes-aether-test-config.toml
Created January 17, 2024 15:45
Aether relayer configuration
[[chains]]
id = "provider"
event_source = { mode = "push", url = "...", batch_delay = "1000ms" }
rpc_addr = "..."
grpc_addr = "..."
trusted_node = true
rpc_timeout = "10s"
account_prefix = "cosmos"
key_name = "default"
store_prefix = "ibc"
@clemensgg
clemensgg / fetch_valset_info.sh
Created January 10, 2024 12:04
fetch valset info
#!/bin/bash
daemon=$1
node=$2
limit=500
page=1
temp_file=$(mktemp)
{
echo "operator_address,voting_power,moniker"
while true; do

We've detected issues when relaying ICS-20 transfer packets between nomic-stakenet-3 and osmosis-1

hermes logs:

hermes --config ~/.hermes/config-neutron.toml clear packets --chain nomic-stakenet-3 --port transfer --channel channel-1
2023-12-26T18:59:06.521409Z  INFO ThreadId(01) running Hermes v1.7.4+d01ed3f3
2023-12-26T18:59:06.635166Z  INFO ThreadId(01) Querying Omosis EIP-1559 base fee from http://162.55.92.114:2001/
2023-12-26T18:59:06.660181Z  INFO ThreadId(01) Omosis EIP-1559 base fee is 0.002536788435807151
2023-12-26T18:59:06.660325Z  INFO ThreadId(01) Querying Omosis EIP-1559 base fee from http://162.55.92.114:2001/
2023-12-26T18:59:06.689762Z  INFO ThreadId(01) Omosis EIP-1559 base fee is 0.002536788435807151
@clemensgg
clemensgg / synceta.sh
Last active January 20, 2024 22:39
TM sync info
#!/bin/bash
# Check if RPC URLs are provided
if [ -z "$1" ] || [ -z "$2" ]; then
echo "Please provide the primary and reference RPC URLs as arguments."
exit 1
fi
PRIMARY_RPC_URL="$1"
REFERENCE_RPC_URL="$2"
@clemensgg
clemensgg / config-syncchain.toml
Created October 19, 2023 08:36
hermes syncchain config
[[chains]]
id = "noble-1"
rpc_addr = "..."
grpc_addr = "..."
#event_source = { mode = 'pull', interval = '500ms' }
event_source = { mode = 'push', url = '...', batch_delay = '1ms' }
trusted_node = true
ccv_consumer_chain = false
rpc_timeout = "10s"
account_prefix = "noble"