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

WIP: initial support for Penumbra chains in Hermes #1

Merged
merged 33 commits into from
Sep 20, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
6910a64
WIP: initial support for Penumbra chains in Hermes
hdevalence Aug 17, 2023
578fd05
add verify_header impl
avahowell Aug 31, 2023
d324b73
add detect_misbehavior
avahowell Aug 31, 2023
27a42c3
add query_clients
avahowell Aug 31, 2023
9d8221d
add abci_query capability
avahowell Aug 31, 2023
4274702
implement query_consensus_state
avahowell Aug 31, 2023
965afe6
implement query_connections
avahowell Aug 31, 2023
7ec3fdc
implement query_client_connections
avahowell Aug 31, 2023
646f3d3
implement query_connection_channels
avahowell Aug 31, 2023
208d451
implement query_channels
avahowell Aug 31, 2023
da049dc
implement query_channel
avahowell Aug 31, 2023
0c28c78
implement query_channel_client_state
avahowell Aug 31, 2023
0db565b
implement query_packet_commitment
avahowell Aug 31, 2023
9d768b2
implement query_packet_commitments
avahowell Aug 31, 2023
47e74f3
implement query_packet_receipt
avahowell Aug 31, 2023
1a83512
implement query_unreceived_packets
avahowell Aug 31, 2023
800f55e
implement query_packet_acknowledgement
avahowell Aug 31, 2023
9c1cfbb
implement query_packet_acknowledgements
avahowell Aug 31, 2023
1d649fb
implement query_unreceived_acknowledgements
avahowell Aug 31, 2023
49be57d
implement query_next_sequence_receive
avahowell Aug 31, 2023
fdff421
add config.toml, fill out more implementation
avahowell Sep 14, 2023
2f56495
implement do_send_messages_and_wait_commit, working create_client
avahowell Sep 15, 2023
9c9db90
handshake is working now
avahowell Sep 15, 2023
4ab1d99
implement event source, client connections query
avahowell Sep 15, 2023
5e8657c
add osmosis testnet relayer config
avahowell Sep 15, 2023
8a0f79d
add query_packet_events
hdevalence Sep 15, 2023
4ecf555
add config for devnet relaying
hdevalence Sep 17, 2023
0485b23
addd do_send_messages_and_wait_check_tx
hdevalence Sep 17, 2023
64cf3a2
use git repo instead of path
hdevalence Sep 17, 2023
b5f0914
cleanup
hdevalence Sep 17, 2023
298f9f7
copy impl of query_txs
hdevalence Sep 19, 2023
a93fdc7
clean up warnings, split off into query.rs and proofspec.rs
avahowell Sep 20, 2023
ca8ec42
break out penumbra tx mod
avahowell Sep 20, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,861 changes: 1,458 additions & 403 deletions Cargo.lock

Large diffs are not rendered by default.

61 changes: 61 additions & 0 deletions config-devnet-osmosis.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
[global]
log_level = 'debug'

[mode]

[mode.clients]
enabled = true
refresh = true
misbehaviour = false

[mode.connections]
enabled = true

[mode.channels]
enabled = true

[mode.packets]
enabled = true
clear_interval = 100
clear_on_start = true
tx_confirmation = true

[telemetry]
enabled = true
host = '127.0.0.1'
port = 3001

[[chains]]
id = 'penumbra-testnet-tethys-8777cb20'
type = 'penumbra'
rpc_addr = 'http://localhost:26657'
grpc_addr = 'http://localhost:8080'
event_source = { mode = 'pull', interval = '1s' }
rpc_timeout = '15s'
account_prefix = 'fake' # not used
key_name = 'penumbra-wallet'
store_prefix = '' # not used, the commitment prefix for penumbra IBC is PenumbraAppHash
gas_price = { price = 1, denom = 'upenumbra' } # not used
max_gas = 10000000 # not used
clock_drift = '5s'
trusting_period = '2h' # this should be changed in the future
trust_threshold = { numerator = '1', denominator = '3' }


[[chains]]
id = 'osmo-test-5'
type = 'cosmos-sdk'
rpc_addr = 'https://rpc.testnet.osmosis.zone'
grpc_addr = 'https://grpc.testnet.osmosis.zone'
event_source = { mode = 'pull', interval = '1s' }
rpc_timeout = '15s'
account_prefix = 'osmo' # not used
key_name = 'osmosis'
store_prefix = 'ibc' # not used, the commitment prefix for penumbra IBC is PenumbraAppHash
gas_price = { price = 0.0026, denom = 'uosmo' }
gas_multiplier = 1.1
clock_drift = '20s'
max_block_time = '10s'
trusting_period = '1days'
memo_prefix = 'Hello from Penumbra 😎🌘'
trust_threshold = { numerator = '1', denominator = '3' }
61 changes: 61 additions & 0 deletions config-osmosistestnet.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
[global]
log_level = 'debug'

[mode]

[mode.clients]
enabled = true
refresh = true
misbehaviour = false

[mode.connections]
enabled = true

[mode.channels]
enabled = true

[mode.packets]
enabled = true
clear_interval = 100
clear_on_start = true
tx_confirmation = true

[telemetry]
enabled = true
host = '127.0.0.1'
port = 3001

[[chains]]
id = 'penumbra-testnet-tethys'
type = 'penumbra'
rpc_addr = 'https://rpc.testnet.penumbra.zone'
grpc_addr = 'https://grpc.testnet.penumbra.zone'
event_source = { mode = 'pull', interval = '1s' }
rpc_timeout = '15s'
account_prefix = 'fake' # not used
key_name = 'penumbra-wallet'
store_prefix = '' # not used, the commitment prefix for penumbra IBC is PenumbraAppHash
gas_price = { price = 1, denom = 'upenumbra' } # not used
max_gas = 10000000 # not used
clock_drift = '5s'
trusting_period = '2h' # this should be changed in the future
trust_threshold = { numerator = '1', denominator = '3' }


[[chains]]
id = 'osmo-test-5'
type = 'cosmos-sdk'
rpc_addr = 'https://rpc.testnet.osmosis.zone'
grpc_addr = 'https://grpc.testnet.osmosis.zone'
event_source = { mode = 'pull', interval = '1s' }
rpc_timeout = '15s'
account_prefix = 'osmo' # not used
key_name = 'osmosis'
store_prefix = 'ibc' # not used, the commitment prefix for penumbra IBC is PenumbraAppHash
gas_price = { price = 0.0026, denom = 'uosmo' }
gas_multiplier = 1.1
clock_drift = '20s'
max_block_time = '10s'
trusting_period = '1days'
memo_prefix = 'Osmosis Docs Rocks'
trust_threshold = { numerator = '1', denominator = '3' }
Loading