Tag:
Branch:
Tree:
dan/eip1967
0.2.4
0.4.1
0.5.0
0.5.1
0.5.2
0.5.3
06-19-add_ci-default-test
07-01-feat_cli_Add_hyperlane_warp_apply
1.0.0-beta8
3.1.4
CODEOWNERS-ascii
Defcon023/mock_mailbox_size_check
add-delegate
aggregation-hook-improvements
ameten/non-native-token
ameten/scraper-sealevel-e2e
ameten/sealevel-delivery-sequence
ancient8-eth-verify
asaj/addresses
asaj/agent-dev-env
asaj/announce
asaj/block-skew
asaj/check-middlewares
asaj/check-ownables
asaj/ci
asaj/ci-try
asaj/count-lag
asaj/debug
asaj/debug-ci
asaj/deploy
asaj/deploy-ergonomics
asaj/e2e-fast
asaj/enroll
asaj/fern
asaj/gas-profiling
asaj/hardhat
asaj/hardhat-plugin
asaj/hardhat-task
asaj/hooks
asaj/image
asaj/inbox-checkpoints
asaj/index
asaj/kathy-7
asaj/kathy-9
asaj/key-funder
asaj/lag-count
asaj/ll
asaj/metadata-debug
asaj/new-update
asaj/ownable-replicas-dev
asaj/ownership
asaj/ownerships
asaj/ownersss
asaj/pd
asaj/pi-deployer
asaj/poc
asaj/prettier
asaj/readonly
asaj/relayer-checkpoints
asaj/relayer-isms
asaj/router-govern
asaj/schnorr
asaj/schnorr-2
asaj/sdk-proposal
asaj/sealevel-inclusive
asaj/serialize
asaj/solc
asaj/sovereign
asaj/suffix
asaj/upgrade-dev-scripts
asaj/upgrade-rotate-updater
asaj/upgrades
asaj/v2-create2
asaj/v2-exploration
asaj/v2-helm
asaj/v2-main
asaj/workflows
asaj/zkevm
audit-coverage
audit-q3-2024
avious00-link-to-loglevel
avious00-typo-patch
aws-signer-retry
benchmark-multisig
buddies-main-deployment
build-ccip-server
changeset-release/main
changeset-release/release-test
checkInflight
ci-by-path
cli-2.0-beta
cli-figlet
cli-patches
core-msg-encoding
cosmos-gas-prices
cover-mailbox-100%
coverage-flake
create2-deploy
dan/aggregation-ism-rc
dan/bump-relayer-image
dan/configurable-fallback-deprio
dan/cw-types-reuse
dan/debug-cosmos-rpc
dan/e2e-fixes
dan/eip1967
dan/fast-relayer-startup-e2e
dan/gas-escalator-middleware
dan/index-range-refactor
dan/injective-e2e
dan/injective-testnet-agents
dan/keypair-cosmrs
dan/local-svm-setup
dan/lower-txid-channel-size
dan/merkle-tree-hook-indexer
dan/non-evm-cli-warp-deploy
dan/osmosis-test
dan/processed-commitment-sealevel
dan/rc-relayer-profiling
dan/relayer-images-bump
dan/relayer-migrations
dan/retry-cosmos-e2e
dan/rocksdb-config
dan/rust-caching
dan/stage-agent-fixes
dan/testnet-aggregation-ism
dan/tmp-branch
dan/token-config-schema
dan/v3-e2e
dan/v3-sealevel-e2e
dan/va-urls
dan/zksync-testing
danil/validator_deployment_latest_image
deploy-create2-factory-moonbeam
deploy-ica-proxied
deploy-middlewares-1.3.1
deploy-wait
deployer-options
docs-simplifications
drew/manual_processing_config
dynamic-cli-version
eigenlayer
erc165
fallback-routing-hook-deployer
feat/hl-starknet-29-oct
feat/v3-cosmos
flexible-voting-vault
github-pr-stats
hook-agent-testing
hook-ism-contract-READMEs
injective-ism-fix
interchain-call-tests
kunal/arb-l2-hook-contracts
kunal/arb-selfrelay
kunal/arb-sepolia-deployment
kunal/ascii-art
kunal/avs-contract-deployment
kunal/avs-temp
kunal/avs-update-reward
kunal/avs-validator-check-status
kunal/bump-solana-prio-fee-further
kunal/check-msg-value-send-auth-hooks
kunal/ci-checker-warp-fix
kunal/cli-register-ci
kunal/default-hook
kunal/ica-deployment
kunal/ica-govern-testing
kunal/igp-hook
kunal/ism-factory-warp-deploy
kunal/l2-native-bridge-hook
kunal/latest-height-merkle-root-index
kunal/manta-gas-overpayment-fix
kunal/messageIdAuth-replay-protection
kunal/native-arbitrum-hook
kunal/native-gnosis-hook
kunal/native-polygon-hook
kunal/null-metadata
kunal/op-stack-hook-custom-test
kunal/orphan-format-igp-async
kunal/ownable-caching-hook
kunal/rc-kathy-ism-config
kunal/relayer-metadata-null
kunal/revert-multisig-interface
kunal/revert-weighted-multisig-changes
kunal/rez-avs
kunal/special-case-plume-testnet
kunal/stake-weighted-ism
kunal/update-gasOracle-cron-job
kunal/update-gasOracle-deployer
kunal/v3-pr-comments-fixes
kunal/validator-el-sig-posting
kunal/validator-endpoints
kunal/value-router
kunal/verifiedMessageId-param
kunal/verify-ica
kunal/warp-route-checker
kunal/weighted-ism-relayer-change
light-optimistic
lint.only
liquidity-layer-v2
ltyu/core-apply-defaultIsm
ltyu/hook-config
ltyu/sp1-lightclient-ism
ltyu/warp-apply-hook
ltyu/warp-ism-config
ltyu/zerion-configs
mailbox-branch
mailbox-chainid
main
main-auditv2-merge
main-node-ci
main-to-v3
mattie/512-bit-txoutcomes
mattie/auto-update-prs
mattie/automated-vendoring
mattie/caching-requests
mattie/cosmos-stubs
mattie/finality-blocks-config
mattie/fix-kathy
mattie/inclusive-block-range
mattie/infra-drift-fix
mattie/large-runners
mattie/optional-agent-configuration
mattie/reclaim-funds-from-old-relayer-keys
mattie/relayer-debugging
mattie/sealevel-better-patching
mattie/sealevel-dependency-conflicts-fix
mattie/sealevel/dependencies-part-2
mattie/serejke-fix-1924
mattie/typescript-provider-timeouts
mattie/zkevm-context
merkle-tree-hook-indexer
merkle-vs-mapping
mo/check-avs-cli-command
mo/infra-warp-config-generation
mo/key-funder-debug
mo/keyfunder-707db4a27
mo/non-aw-owned-proxy-checks
mo/verify-proxy-contracts
monitor-war-routes-general
multi-message-relay
multisig-init
nam-rebase
nambrot-patch-1
nambrot/add-gcp-address-to-allconfigs
nambrot/arc-test
nambrot/callforwarder
nambrot/celo-safe
nambrot/chain-connection-to-provider
nambrot/checkpointer-local
nambrot/ci-build
nambrot/circle-relayer
nambrot/core-deploy-fixes
nambrot/debug-fork-ci
nambrot/deploy-aggregation-relayer
nambrot/deploy-helloworld
nambrot/deploy-igp
nambrot/deploy-test-recipient
nambrot/deployment-tooling
nambrot/dev-community
nambrot/dockerignore
nambrot/double-update-script
nambrot/extra-partial-config
nambrot/failed-refactor
nambrot/fix-contract-metrics-avalanche
nambrot/fix-contracts-metrics
nambrot/fix-polygon-updater-old-root
nambrot/foundry-in-ica
nambrot/fundraise-xapp
nambrot/generate-message-with-proof
nambrot/hyp7683
nambrot/igp-deployment-woes
nambrot/in-over-or
nambrot/infra-multiprovider
nambrot/kurtosis-cli
nambrot/loop-with-sleep
nambrot/manual-processing-deploy
nambrot/mintable-token-standard
nambrot/nam-run-feedback
nambrot/optics-ts-interface
nambrot/oracle-updates
nambrot/owner-without-ism
nambrot/parallelize-sol-testing
nambrot/polygon-updater-rotation
nambrot/processor-s3-pusher
nambrot/publish-script
nambrot/relay-specific-message
nambrot/remove-dependabot
nambrot/rename-abacus-solidity-typechain
nambrot/rename-network-to-chain
nambrot/repro-2-2-run-locally
nambrot/resolve-lock
nambrot/rotate-mainnet-etherscan
nambrot/rpc-validator
nambrot/scroll-overrides
nambrot/sdk-0.2.4
nambrot/selective-index-on
nambrot/speed-up-events
nambrot/staging-community-provider
nambrot/static-igp
nambrot/superchain-ism
nambrot/trace-level-s3
nambrot/transfer-owner-no-op
nambrot/try-gas-payment-test-abstraction
nambrot/update-kathy
nambrot/update-optics-provider
nambrot/updater-pause
nambrot/verification-fies
nambrot/watcher-test
nambrot/yo-deploy
nexus-neutron-validators
noah/agg-failure
noah/co
noah/dr-fix
noah/move-safe
noah/no-warp
noah/node-expwarn-cli
noah/prompt
noah/root
noah/warp-ica
noah/zod-2
op-interceptor-deployer
op-stack-hook-deployment
opt-mailbox-delivered
optics-v2
parameterize-infra-paths
pb/bsquared
pb/chore-test-conditions
pb/duplicate-chainid-support
pb/enable-hyperliquidevmtestnet
pb/sprint32-mainnet
pb/stride-va
pb/submitter-types
pb/test-e2e-breaks
pb/turbo
pb/validator-gcp
pb/validator-version-checker
pb/verify-viction
pb/zerion
pb/zksync
pjson-pruning
pr-analytics
processor-fixes
public-main
rc-validators
rebalance-collateral
retry-signer
reverse-ica
revert-964-hacken-critical-1
rossy/cli-version-fix
rossy/multiprovider-no-generic
router-not-upgradeable
router<0.8
routing-interceptor
rpc-fork-cache
schema-fixes
sdk-release
snapshot-igp-config
storage-ism
submodules-1.0.0
submodules-path-2
suppress-coverage-patch
symbiotic
test-recipient-ism-config
test-sol-fixes
test-sol-speed
testnet-dtm
testnet4
testnet4-deployment
tmp-keyfunder
token-testing-forge
transfer-and-call
transient-current-message-id
trevor/1.4.2-beta69
trevor/add-injective-back
trevor/addtl-igp-cmds
trevor/arbitrum-gas-amounts
trevor/bridge-app-interchain-gas-contracts
trevor/conditional-middlewares-suck
trevor/cosmos-cleanup-2
trevor/dao-ism
trevor/debug-verbosity
trevor/debugging-sept-21
trevor/decimal-consistency-checker
trevor/dependency-attempts
trevor/deploy-relayer-funder-multi-context
trevor/deploy-testrecipient-rollup-testnets
trevor/deploy-v2
trevor/deploy-v2-relayer-feb-1-2024
trevor/deploying-ancient8
trevor/deploying-to-zbc-testnet
trevor/disable-rarichain-rpc
trevor/eclipsedevnet-deploy
trevor/env-var-tip
trevor/fallback-igp
trevor/fastusd-infra-checking
trevor/fix-announcement-issues
trevor/fix-e2e-mar-31
trevor/fix-feat/deploy-new-rc
trevor/fix-inaccurate-svm-comment
trevor/fix-polygon-updater-old-root
trevor/gelato-mainnet-abacus
trevor/gelato-testnet2
trevor/grpc-refactor
trevor/hacky-nautilus-indexing-fix-attempt
trevor/helloworld-check-mostly-works
trevor/helloworld-program
trevor/helloworld-program-and-tooling-not-working
trevor/higher-sol-fees
trevor/key-funder-fallbackprovider
trevor/last-agent-release
trevor/legacy-ethers
trevor/local-igp-for-playing-with
trevor/lz-reorg-periods
trevor/mainnet-rc-quorumprovider
trevor/merge-main-jul-6
trevor/merge-v3
trevor/merkle-indexing-as-message
trevor/native-warp-route-allow-donate
trevor/new-featv3-cosmos
trevor/nits-and-no-invariant
trevor/no-address-filter
trevor/no-eip-1559
trevor/on-chain-fee-quoting-calculator
trevor/opentelemetry
trevor/opentelemetry-stackdriver
trevor/oracle-updates-mode-blast-try-batching
trevor/parallel-pod-management-policy
trevor/play-with-ci
trevor/playing-with-validator-announce
trevor/port-over-addtl-igp-cmds
trevor/proteus-from-last-agent-release
trevor/proteus-from-last-agent-release-1
trevor/quick-scroll-moonbeam-fix
trevor/read-txs
trevor/read-txs-nov-8
trevor/relayer-use-gelato-scaffolding
trevor/sealevel-igp
trevor/sei-fix
trevor/send-unblocking-tx
trevor/suggestion
trevor/test-dispatch-return-value
trevor/try-ethers-quorum-estimate-gas-fix
trevor/try-fix-e2e
trevor/upgrade-registry-update
trevor/use-gas-estimate-components-in-arb
trevor/use-secret-rpc-urls-awk-branch-setup
trevor/wip-transfer-test
trusted-relayer-ism
typechain11
upgradable-warp-routes-rossy
upgrades-v2
v1
v2
v2-2
v2-create2
v3
v3-agents
v3-agents-feedback
v3-agents-rebase
v3-review
validator-correctness
verify-igp
verify-mainnet
verify-new-testnet2
warp-deploy-ism-config
warp-route-v3
webbhorn/gelato-PR-submitter-prep
webbhorn/gelato-tip
webbhorn/gelato-tip-wip
webbhorn/gelato/demo-cli
webbhorn/gelato/op
xeno/better-chain-selection-for-single-chain
xeno/ica-router-management
xeno/ica-router-management-update
xeno/zero-warp-deploys
yarn-4.1.0
yorhodes-patch-1
yorhodes/427
yorhodes/429
yorhodes/450
yorhodes/479
yorhodes/inbox-enrollments
zksync
0.2.1
0.2.4
0.3.1
1.0.0-beta5
2023-06-08
@hyperlane-xyz/cli@3.10.0
@hyperlane-xyz/cli@3.11.0
@hyperlane-xyz/cli@3.11.1
@hyperlane-xyz/cli@3.13.0
@hyperlane-xyz/cli@3.13.0-next.0
@hyperlane-xyz/cli@3.14.0
@hyperlane-xyz/cli@3.15.0
@hyperlane-xyz/cli@3.15.1
@hyperlane-xyz/cli@3.16.0
@hyperlane-xyz/cli@3.2.0
@hyperlane-xyz/cli@3.3.0
@hyperlane-xyz/cli@3.4.0
@hyperlane-xyz/cli@3.5.0
@hyperlane-xyz/cli@3.5.1
@hyperlane-xyz/cli@3.6.0
@hyperlane-xyz/cli@3.6.1
@hyperlane-xyz/cli@3.6.2
@hyperlane-xyz/cli@3.7.0
@hyperlane-xyz/cli@3.8.0
@hyperlane-xyz/cli@3.8.1
@hyperlane-xyz/cli@3.8.2
@hyperlane-xyz/cli@3.9.0
@hyperlane-xyz/cli@4.0.0
@hyperlane-xyz/cli@4.0.0-alpha.0
@hyperlane-xyz/cli@4.0.0-alpha.1
@hyperlane-xyz/cli@4.0.0-alpha.2
@hyperlane-xyz/cli@4.0.0-beta
@hyperlane-xyz/cli@4.1.0
@hyperlane-xyz/cli@5.1.0
@hyperlane-xyz/cli@5.1.1
@hyperlane-xyz/cli@5.1.2
@hyperlane-xyz/cli@5.2.0
@hyperlane-xyz/cli@5.2.1
@hyperlane-xyz/cli@5.2.1-beta.0
@hyperlane-xyz/cli@5.3.0
@hyperlane-xyz/cli@5.4.0
@hyperlane-xyz/cli@5.5.0
@hyperlane-xyz/cli@5.6.0
@hyperlane-xyz/cli@5.6.1
@hyperlane-xyz/cli@5.6.2
@hyperlane-xyz/cli@5.7.0
@hyperlane-xyz/cli@6.0.0
@hyperlane-xyz/cli@7.0.0
@hyperlane-xyz/cli@7.1.0
@hyperlane-xyz/core@3.1.10
@hyperlane-xyz/core@3.10.0
@hyperlane-xyz/core@3.11.0
@hyperlane-xyz/core@3.11.1
@hyperlane-xyz/core@3.12.0
@hyperlane-xyz/core@3.13.0
@hyperlane-xyz/core@3.13.0-next.0
@hyperlane-xyz/core@3.14.0
@hyperlane-xyz/core@3.15.0
@hyperlane-xyz/core@3.15.1
@hyperlane-xyz/core@3.16.0
@hyperlane-xyz/core@3.2.0
@hyperlane-xyz/core@3.3.0
@hyperlane-xyz/core@3.4.0
@hyperlane-xyz/core@3.5.0
@hyperlane-xyz/core@3.5.1
@hyperlane-xyz/core@3.6.0
@hyperlane-xyz/core@3.6.1
@hyperlane-xyz/core@3.6.2
@hyperlane-xyz/core@3.7.0
@hyperlane-xyz/core@3.8.0
@hyperlane-xyz/core@3.8.1
@hyperlane-xyz/core@3.8.2
@hyperlane-xyz/core@3.9.0
@hyperlane-xyz/core@4.0.0
@hyperlane-xyz/core@4.0.0-alpha.0
@hyperlane-xyz/core@4.0.0-alpha.1
@hyperlane-xyz/core@4.0.0-alpha.2
@hyperlane-xyz/core@4.0.0-beta
@hyperlane-xyz/core@4.1.0
@hyperlane-xyz/core@5.1.0
@hyperlane-xyz/core@5.1.1
@hyperlane-xyz/core@5.1.2
@hyperlane-xyz/core@5.2.0
@hyperlane-xyz/core@5.2.1
@hyperlane-xyz/core@5.2.1-beta.0
@hyperlane-xyz/core@5.3.0
@hyperlane-xyz/core@5.4.0
@hyperlane-xyz/core@5.4.1
@hyperlane-xyz/core@5.5.0
@hyperlane-xyz/core@5.6.0
@hyperlane-xyz/core@5.6.1
@hyperlane-xyz/core@5.7.0
@hyperlane-xyz/core@5.7.1
@hyperlane-xyz/core@5.8.0
@hyperlane-xyz/core@5.8.1
@hyperlane-xyz/github-proxy@5.2.0
@hyperlane-xyz/github-proxy@5.2.1-beta.0
@hyperlane-xyz/helloworld@3.1.10
@hyperlane-xyz/helloworld@3.10.0
@hyperlane-xyz/helloworld@3.11.0
@hyperlane-xyz/helloworld@3.11.1
@hyperlane-xyz/helloworld@3.12.0
@hyperlane-xyz/helloworld@3.13.0
@hyperlane-xyz/helloworld@3.13.0-next.0
@hyperlane-xyz/helloworld@3.14.0
@hyperlane-xyz/helloworld@3.15.0
@hyperlane-xyz/helloworld@3.15.1
@hyperlane-xyz/helloworld@3.16.0
@hyperlane-xyz/helloworld@3.2.0
@hyperlane-xyz/helloworld@3.3.0
@hyperlane-xyz/helloworld@3.4.0
@hyperlane-xyz/helloworld@3.5.0
@hyperlane-xyz/helloworld@3.5.1
@hyperlane-xyz/helloworld@3.6.0
@hyperlane-xyz/helloworld@3.6.1
@hyperlane-xyz/helloworld@3.6.2
@hyperlane-xyz/helloworld@3.7.0
@hyperlane-xyz/helloworld@3.8.0
@hyperlane-xyz/helloworld@3.8.1
@hyperlane-xyz/helloworld@3.8.2
@hyperlane-xyz/helloworld@3.9.0
@hyperlane-xyz/helloworld@4.0.0
@hyperlane-xyz/helloworld@4.0.0-alpha.0
@hyperlane-xyz/helloworld@4.0.0-alpha.1
@hyperlane-xyz/helloworld@4.0.0-alpha.2
@hyperlane-xyz/helloworld@4.0.0-beta
@hyperlane-xyz/helloworld@4.1.0
@hyperlane-xyz/helloworld@5.1.0
@hyperlane-xyz/helloworld@5.1.1
@hyperlane-xyz/helloworld@5.1.2
@hyperlane-xyz/helloworld@5.2.0
@hyperlane-xyz/helloworld@5.2.1
@hyperlane-xyz/helloworld@5.2.1-beta.0
@hyperlane-xyz/helloworld@5.3.0
@hyperlane-xyz/helloworld@5.4.0
@hyperlane-xyz/helloworld@5.5.0
@hyperlane-xyz/helloworld@5.6.0
@hyperlane-xyz/helloworld@5.6.1
@hyperlane-xyz/helloworld@5.6.2
@hyperlane-xyz/helloworld@5.7.0
@hyperlane-xyz/helloworld@6.0.0
@hyperlane-xyz/helloworld@7.0.0
@hyperlane-xyz/helloworld@7.1.0
@hyperlane-xyz/sdk@3.1.10
@hyperlane-xyz/sdk@3.10.0
@hyperlane-xyz/sdk@3.11.0
@hyperlane-xyz/sdk@3.11.1
@hyperlane-xyz/sdk@3.12.0
@hyperlane-xyz/sdk@3.13.0
@hyperlane-xyz/sdk@3.13.0-next.0
@hyperlane-xyz/sdk@3.14.0
@hyperlane-xyz/sdk@3.15.0
@hyperlane-xyz/sdk@3.15.1
@hyperlane-xyz/sdk@3.16.0
@hyperlane-xyz/sdk@3.2.0
@hyperlane-xyz/sdk@3.3.0
@hyperlane-xyz/sdk@3.4.0
@hyperlane-xyz/sdk@3.5.0
@hyperlane-xyz/sdk@3.5.1
@hyperlane-xyz/sdk@3.6.0
@hyperlane-xyz/sdk@3.6.1
@hyperlane-xyz/sdk@3.6.2
@hyperlane-xyz/sdk@3.7.0
@hyperlane-xyz/sdk@3.8.0
@hyperlane-xyz/sdk@3.8.1
@hyperlane-xyz/sdk@3.8.2
@hyperlane-xyz/sdk@3.9.0
@hyperlane-xyz/sdk@4.0.0
@hyperlane-xyz/sdk@4.0.0-alpha.0
@hyperlane-xyz/sdk@4.0.0-alpha.1
@hyperlane-xyz/sdk@4.0.0-alpha.2
@hyperlane-xyz/sdk@4.0.0-beta
@hyperlane-xyz/sdk@4.1.0
@hyperlane-xyz/sdk@5.1.0
@hyperlane-xyz/sdk@5.1.1
@hyperlane-xyz/sdk@5.1.2
@hyperlane-xyz/sdk@5.2.0
@hyperlane-xyz/sdk@5.2.1
@hyperlane-xyz/sdk@5.2.1-beta.0
@hyperlane-xyz/sdk@5.3.0
@hyperlane-xyz/sdk@5.4.0
@hyperlane-xyz/sdk@5.5.0
@hyperlane-xyz/sdk@5.6.0
@hyperlane-xyz/sdk@5.6.1
@hyperlane-xyz/sdk@5.6.2
@hyperlane-xyz/sdk@5.7.0
@hyperlane-xyz/sdk@6.0.0
@hyperlane-xyz/sdk@7.0.0
@hyperlane-xyz/sdk@7.1.0
@hyperlane-xyz/utils@3.1.10
@hyperlane-xyz/utils@3.10.0
@hyperlane-xyz/utils@3.11.0
@hyperlane-xyz/utils@3.11.1
@hyperlane-xyz/utils@3.12.0
@hyperlane-xyz/utils@3.13.0
@hyperlane-xyz/utils@3.13.0-next.0
@hyperlane-xyz/utils@3.14.0
@hyperlane-xyz/utils@3.15.0
@hyperlane-xyz/utils@3.15.1
@hyperlane-xyz/utils@3.16.0
@hyperlane-xyz/utils@3.2.0
@hyperlane-xyz/utils@3.3.0
@hyperlane-xyz/utils@3.4.0
@hyperlane-xyz/utils@3.5.0
@hyperlane-xyz/utils@3.5.1
@hyperlane-xyz/utils@3.6.0
@hyperlane-xyz/utils@3.6.1
@hyperlane-xyz/utils@3.6.2
@hyperlane-xyz/utils@3.7.0
@hyperlane-xyz/utils@3.8.0
@hyperlane-xyz/utils@3.8.1
@hyperlane-xyz/utils@3.8.2
@hyperlane-xyz/utils@3.9.0
@hyperlane-xyz/utils@4.0.0
@hyperlane-xyz/utils@4.0.0-alpha.0
@hyperlane-xyz/utils@4.0.0-alpha.1
@hyperlane-xyz/utils@4.0.0-alpha.2
@hyperlane-xyz/utils@4.0.0-beta
@hyperlane-xyz/utils@4.1.0
@hyperlane-xyz/utils@5.1.0
@hyperlane-xyz/utils@5.1.1
@hyperlane-xyz/utils@5.1.2
@hyperlane-xyz/utils@5.2.0
@hyperlane-xyz/utils@5.2.1
@hyperlane-xyz/utils@5.2.1-beta.0
@hyperlane-xyz/utils@5.3.0
@hyperlane-xyz/utils@5.4.0
@hyperlane-xyz/utils@5.5.0
@hyperlane-xyz/utils@5.6.0
@hyperlane-xyz/utils@5.6.1
@hyperlane-xyz/utils@5.6.2
@hyperlane-xyz/utils@5.7.0
@hyperlane-xyz/utils@6.0.0
@hyperlane-xyz/utils@7.0.0
@hyperlane-xyz/utils@7.1.0
@hyperlane-xyz/widgets@5.0.0
@hyperlane-xyz/widgets@5.1.0
@hyperlane-xyz/widgets@5.1.1
@hyperlane-xyz/widgets@5.1.2
@hyperlane-xyz/widgets@5.2.0
@hyperlane-xyz/widgets@5.2.1
@hyperlane-xyz/widgets@5.2.1-beta.0
@hyperlane-xyz/widgets@5.3.0
@hyperlane-xyz/widgets@5.4.0
@hyperlane-xyz/widgets@5.5.0
@hyperlane-xyz/widgets@5.6.0
@hyperlane-xyz/widgets@5.6.1
@hyperlane-xyz/widgets@5.6.2
@hyperlane-xyz/widgets@5.7.0
@hyperlane-xyz/widgets@6.0.0
@hyperlane-xyz/widgets@7.0.0
@hyperlane-xyz/widgets@7.1.0
agents-1.0.0
agents-1.0.1
agents-2023-04-14
agents-2023-05-25
agents-2023-05-26
agents-2023-06-08
agents-2023-06-14
agents-2023-07-24
agents-2023-07-25
agents-2023-08-23
agents-2023-11-28
agents-2023-11-29
agents-2023-11-30
agents-2023-12-14
agents-2024-01-29
agents-2024-03-19
agents-2024-03-21
agents-2024-05-30
agents-2024-06-19
agents-v1.0.0
audit-fyeo-responses-0
audit-remediations
audit-scope-0
audit-v2
fyeo-fixes
hacken-fixes
mainnet-contracts
show
testnet2-contracts
testnet3
v.0.2.0
v.1.5.3
v0.0.0-testnet.0
v0.2.0
v0.2.1
v0.2.2
v0.2.3
v0.3.1
v0.4.0
v0.4.1
v0.5.0
v0.5.0-beta0
v0.5.1
v0.5.2
v0.5.3
v0.5.5
v1.0.0
v1.0.0-beta1
v1.0.0-beta5
v1.0.0-beta6
v1.1.0
v1.2.0
v1.2.1
v1.2.2
v1.2.3
v1.3.0
v1.3.1
v1.3.2
v1.3.3
v1.3.4
v1.3.7
v1.4.0
v1.4.1
v1.5.0
v1.5.1
v1.5.8
v2
v3-audit-remediations
v3-solidity
zksyncbeta
${ noResults }
218 Commits (dan/eip1967)
Author | SHA1 | Message | Date |
---|---|---|---|
github-actions[bot] |
0754d6218c
|
Version Packages (#4830)
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @hyperlane-xyz/sdk@7.0.0 ### Major Changes - f48cf8766: Upgrade Viem to 2.2 and Solana Web3 to 1.9 Rename `chainMetadataToWagmiChain` to `chainMetadataToViemChain` - 5f41b1134: Remove getCoingeckoTokenPrices (use CoinGeckoTokenPriceGetter instead) ### Minor Changes - bbb970a44: Redeploy to alephzeroevmmainnet, chilizmainnet, flowmainnet, immutablezkevmmainnet, metal, polynomialfi, rarichain, rootstockmainnet, superpositionmainnet. Deploy to flame, prom. - fa424826c: Add support for updating the mailbox proxy admin owner - 40d59a2f4: Deploy to abstracttestnet and treasuretopaz - 0264f709e: Deploy to alephzeroevmtestnet, update deployment for arcadiatestnet2. - 836060240: Add storage based multisig ISM types - f24835438: Added coinGeckoId as an optional property of the TokenConfigSchema ### Patch Changes - ba0122279: feat: use message context in hook reader IGP derivation - Updated dependencies [ |
2 weeks ago |
Yorke Rhodes |
836060240b
|
feat: mutable storage ISMs (#4577)
### Description Some chains like zkSync do not support eip1167 (minimal/meta) proxies. This PR adds an alternative storage based multisig and aggregation ISM for use on these chains. ### Drive-by changes Simplify CLI multisig interactive config builder. Remove stale multisig config. ### Related issues None ### Backward compatibility Yes, relayer already supports this module type ### Testing Contract unit tests Manual CLI tests ![Screenshot 2024-10-02 at 4 05 08 PM](https://github.com/user-attachments/assets/c7fec896-ea7c-4fd9-a313-463168e66a82) |
3 weeks ago |
github-actions[bot] |
f0e8f74087
|
Version Packages (#4816)
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @hyperlane-xyz/cli@6.0.0 ### Major Changes - e3b97c455: Detangle assumption that chainId == domainId for EVM chains. Domain IDs and Chain Names are still unique, but chainId is no longer guaranteed to be a unique identifier. Domain ID is no longer an optional field and is now required for all chain metadata. ### Patch Changes - Updated dependencies [ |
3 weeks ago |
github-actions[bot] |
0772863025
|
Version Packages (#4770)
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @hyperlane-xyz/core@5.7.0 ### Minor Changes - 469f2f340: Checking for sufficient fees in `AbstractMessageIdAuthHook` and refund surplus - f26453ee5: Added msg.value to preverifyMessage to commit it as part of external hook payload - 0640f837c: disabled the ICARouter's ability to change hook given that the user doesn't expect the hook to change after they deploy their ICA account. Hook is not part of the derivation like ism on the destination chain and hence, cannot be configured custom by the user. - a82b4b4cb: Made processInboundMessage payable to send value via mailbox.process ### Patch Changes - Updated dependencies [ |
3 weeks ago |
Kunal Arora |
a82b4b4cbb
|
chore(contracts): made processInboundMessage payable to mock send value via mailbox.process (#4797)
### Description processInboundMessage needs to be payable for mocking sending value for ICA router call ### Drive-by changes None ### Related issues None ### Backward compatibility Yes ### Testing None |
3 weeks ago |
Kunal Arora |
f26453ee55
|
fix(contracts): add `msg.Value` to `verifyMessageId` (#4541)
### Description - Added to the msg.value to verifyMessageId to test if the msgValue passed in is the same as the msgValue used postDispatch ### Drive-by changes - None ### Related issues - fixes https://github.com/chainlight-io/2024-08-hyperlane/issues/3 ### Backward compatibility Yes ### Testing Unit tests |
4 weeks ago |
Kunal Arora |
469f2f3403
|
fix(contracts): quote management for L2->L1 hooks (#4552)
### Description - check for sufficient fees in `AbstractMessageIdAuthHook` and refund surplus - add a child hook to OPL2ToL1Hook and ArbL2ToL1Hook to use the igp to pay for the destination gas fees ~~Note: LayerzeroL2Hook currently also refunds from msg.value, will make it into issue to be fixed later as we're using the layerzero hooks right now.~~ ### Drive-by changes - None ### Related issues - fixes https://github.com/chainlight-io/2024-08-hyperlane/issues/10 ### Backward compatibility No ### Testing Fuzz |
4 weeks ago |
Kunal Arora |
0640f837ce
|
fix(contracts): InterchainAccountRouter minor audit remediation (#4581)
### Description - disabled the ICARouter's ability to change hook given that the user doesn't expect the hook to change after they deploy their ICA account. Hook is not part of the derivation like ism on the destination chain and hence, cannot be configured custom by the user. ### Drive-by changes - MailboxClient events for hook and ism setting - ProtocolFee events for setting beneficiary and owner ### Related issues - partly fixes https://github.com/chainlight-io/2024-08-hyperlane/issues/14 ### Backward compatibility No ### Testing Unit tests |
4 weeks ago |
github-actions[bot] |
34222c00fe
|
Version Packages (#4751)
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @hyperlane-xyz/core@5.6.1 ### Patch Changes - a42616ff3: Added overrides for transferFrom, totalSupply to reflect the internal share based accounting for the 4626 mirror asset - Updated dependencies [ |
1 month ago |
Kunal Arora |
a42616ff3f
|
fix(contracts): add rebasing compatibility for `HypERC4626` (#4524)
### Description - Added overrides for transferFrom, totalSupply to reflect the internal share based accounting for the 4626 mirror asset ### Drive-by changes - Overridden `_transfer` to update the Transfer event to display the asset being transfers as amount not the internal shares. ### Related issues - fixes https://github.com/chainlight-io/2024-08-hyperlane/issues/6 ### Backward compatibility Yes ### Testing Fuzz testing |
1 month ago |
github-actions[bot] |
c53e3302b3
|
Version Packages (#4742)
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @hyperlane-xyz/core@5.6.0 ### Minor Changes - c55257cf5: Minor token related changes like adding custom hook to 4626 collateral, checking for ERC20 as valid contract in HypERC20Collateral, etc. - 8cc0d9a4a: Added WHypERC4626 as a wrapper for rebasing HypERC4626 ### Patch Changes - 8cc0d9a4a: Add wrapped HypERC4626 for easy defi use - @hyperlane-xyz/utils@5.6.1 ## @hyperlane-xyz/cli@5.6.1 ### Patch Changes - 3474a8450: Explicitly define inquirer/core and inquirier/figures dependencies - @hyperlane-xyz/sdk@5.6.1 - @hyperlane-xyz/utils@5.6.1 ## @hyperlane-xyz/helloworld@5.6.1 ### Patch Changes - Updated dependencies [ |
1 month ago |
Kunal Arora |
c55257cf5f
|
fix(contracts): minor token related changes (#4580)
### Description Minor token related changes like adding custom hook to 4626 collateral, checking for ERC20 as valid contract in HypERC20Collateral, etc. ### Drive-by changes check for overflow in bytes32ToAddress ### Related issues - partly fixes https://github.com/chainlight-io/2024-08-hyperlane/issues/14 ### Backward compatibility Yes ### Testing Unit tests |
1 month ago |
Kunal Arora |
8cc0d9a4ae
|
feat(contracts): add wrapped HypERC4626 for ease of defi use (#4563)
### Description ### Drive-by changes None ### Related issues - closes https://github.com/chainlight-io/2024-08-hyperlane/issues/7 ### Backward compatibility Yes ### Testing Unit |
1 month ago |
github-actions[bot] |
b585de0c53
|
Version Packages (#4663)
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @hyperlane-xyz/core@5.5.0 ### Minor Changes - 72c23c0d6: Added PRECISION and rateUpdateNonce to ensure compatibility of HypERC4626 ### Patch Changes - c9085afd9: Patched OPL2ToL1Ism to check for correct messageId for external call in verify - ec6b874b1: Added nonce to HypERC4626 - Updated dependencies [ |
1 month ago |
Kunal Arora |
72c23c0d63
|
fix(contracts): owner vault metadata compatibility (#4566)
### Description - Added PRECISION and rateUpdateNonce to ensure compatibility of HypERC4626 (even though this is not a useful warp route bc exchangeRate will stay at 1e10) ### Drive-by changes None ### Related issues - closes https://github.com/chainlight-io/2024-08-hyperlane/issues/9 ### Backward compatibility No ### Testing Unit test |
1 month ago |
Kunal Arora |
c9bd7c3c52
|
fix(contracts): `RateLimit` minor changes (#4575)
### Description - Added a check for invalid capacity and event for token level change ### Drive-by changes None ### Related issues - fixes https://github.com/chainlight-io/2024-08-hyperlane/issues/14 ### Backward compatibility Yes ### Testing Unit tests |
1 month ago |
Kunal Arora |
3e1ab75643
|
fix(contracts): add check for valid mailbox and relayer in `TrustedRelayerIsm` (#4553)
### Description - minor fix: add an isContract check for mailbox and non-zero check for relayer when instantiating TrustedRelayerIsm ### Drive-by changes None ### Related issues - partly fixes https://github.com/chainlight-io/2024-08-hyperlane/issues/14 ### Backward compatibility Yes ### Testing Unit |
1 month ago |
Kunal Arora |
ec6b874b15
|
feat(contracts): add nonce for monotonically increasing delivery ordering for `HypERC4626` (#4534)
### Description - Added a `rateUpdateNonce` in `HypERC4626Collateral` and `previousNonce` in `HypERC4626` to ensure we only update the exchangeRate on the synthetic asset if the update was after the last recorded update. This is to make sure we don't update it to a stale exchange rate which may cause losses to users using the synthetic asset. ### Drive-by changes - `processInboundMessage` in MockMailbox` to simulate processing of messages out of order. ### Related issues - fixes https://github.com/chainlight-io/2024-08-hyperlane/issues/12 ### Backward compatibility Yes ### Testing Unit test |
1 month ago |
Kunal Arora |
2760da1ded
|
fix: ensure no duplicate signatures verified for `AbstractWeightedMultisigIsm.verify()` (#4468)
### Description - There's a bug in the verify function of `AbstractWeightedMultisigIsm` that an attacker might use to bypass the verification of multiple signatures. The code tried to check the duplication of the signers if not found, but the code does not increment validatorIndex when the recovered signer matches to the stored signer. For instance: - validatorsAndThresholdWeight returns [A, B, C, D] - an attacker uses signatures as [sig from A, sig from A, sig from A, sig from A, ...] or [sig from B, sig from B, …] Fix is to add a ++validatorIndex at the end of the for loop implies we don't allow the next signer to be the same as the signer we just verified. ### Drive-by changes None ### Related issues From Chainlight's audit findings ### Backward compatibility We haven't deployed these contracts yet on testnet/mainnet ### Testing Fuzz testing |
1 month ago |
Kunal Arora |
c9085afd96
|
fix: add fix for checking for correct messageId in `OPL2ToL1Ism` and `ArbL2ToL1Ism` via external call (#4437)
### Description - In agreement with Chainlight team's recommendation, added a second isVerified() check after portal call to make sure an arbitrary call which passes the check for metadata length and messageId cannot be verified without calling is verifyMessageId(messageId) in `OPL2ToL1Ism` and `ArbL2ToL1` ### Drive-by changes None ### Related issues - fixes https://github.com/chainlight-io/2024-08-hyperlane/issues/2 ### Backward compatibility No, but the contracts aren't deployed anywhere ### Testing Unit testing |
1 month ago |
github-actions[bot] |
70bb863e34
|
Version Packages (#4648)
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @hyperlane-xyz/sdk@5.5.0 ### Minor Changes - 2afc484a2: Break out BlockExplorerSchema and export separately Migrate RPC + Explorer health tests back to SDK from registry - 3254472e0: Add deployments for chains: immutablezkevm, rari, rootstock, alephzeroevm, chiliz, lumia, and superposition - 6176c9861: Add opstack, polygoncdk, polkadotsubstrate and zksync to ChainTechnicalStack enum ### Patch Changes - fcfe91113: Reuse SDK transaction typings in tx submitters - Updated dependencies [ |
2 months ago |
Yorke Rhodes |
92c86cca66
|
fix: forward value from ICA router to proxies (#4395)
### Description Value sent to the hyperlane message recipient (InterchainAccountRouter) would not be forwarded to the proxy account for use in calls with value. Only value sent to the proxy account was supported. ### Related Issues - Fixes https://github.com/chainlight-io/2024-08-hyperlane/issues/4 ### Backward compatibility No, ICA routers would need upgrade/redeploy ### Testing Unit Tests |
2 months ago |
github-actions[bot] |
b314d3e4d1
|
Version Packages (#4617)
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @hyperlane-xyz/core@5.4.0 ### Minor Changes - bb75eba74: fix: constrain rate limited ISM to a single message recipient - c5c217f8e: Embed NPM package version in bytecode constant ### Patch Changes - Updated dependencies [ |
2 months ago |
Yorke Rhodes |
bb75eba74a
|
fix: recipient rate limited ISM (#4636)
### Description Add recipient restriction to rate limited ISM. This prevents multiple recipients from sharing the same rate limit ISM and denial of service attacks. ### Backward compatibility No ### Testing Unit Tests |
2 months ago |
Yorke Rhodes |
c5c217f8ea
|
feat: embed package version in deployed bytecode (#4518)
### Description
Embed NPM package version in all deployed contracts bytecode. Follows
[similar pattern to published CLI
version](
|
2 months ago |
Michael |
f2bede3f5f
|
docs: broken links (#4557)
### Description Some of the links in [solidity/contracts/middleware/README.md](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/main/solidity/contracts/middleware/README.md) were linked to invalid URLs. I updated those links to the correct addresses and replaced them. |
2 months ago |
beckbecker |
25e5d1af81
|
docs: fix broken links (#4546)
### Description While studying the documents, I found that some links are pointing to invalid addresses. They are updated now with the correct links. ### Testing No test is needed as only doc is modified |
2 months ago |
Yorke Rhodes |
eb5afcf3eb
|
fix: native value covers message value in HypNative (#4526)
### Description `HypNative.transferRemote` overload checks that the native `msg.value` deposited covers the warp message `amount` in addition to checking the mailbox post-dispatch fee is covered. ### Backward compatibility No, applies to net new `HypNative` and `HypNativeScaled` deployments ### Testing Unit Tests |
2 months ago |
Kunal Arora |
445b6222c0
|
fix: `ArbL2ToL1Ism` will support msg.value (#4328)
### Description - Added support for msg.value by rearranging the `releaseValueToRecipient()` in the verify call ### Drive-by changes - uncommented out `test_postDispatch_revertWhen_notLastDispatchedMessage` test ### Related issues <!-- - Fixes #[issue number here] --> ### Backward compatibility <!-- Are these changes backward compatible? Are there any infrastructure implications, e.g. changes that would prohibit deploying older commits using this infra tooling? Yes/No --> ### Testing Unit tests |
3 months ago |
Kunal Arora |
203084df2d
|
feat: add sdk support for `IStaticWeightedMultisigIsm` (#4331)
### Description Add WeightedMerkleRootMultisigIsm and WeightedMessageIdMultisigIsm support to the proxy factory deployer and the hyperlaneIsmFactory ### Drive-by changes none ### Related issues - fixes https://github.com/hyperlane-xyz/issues/issues/1345 ### Backward compatibility Yes ### Testing Unit |
3 months ago |
Nam Chu Hoai |
0779a23db6
|
refactor: Rename InterchainAccountRouter tests for easier reuse (#4336)
### Description Minor refactor of test |
3 months ago |
Kunal Arora |
6f377f1743
|
feat: implement `OPL2ToL1Ism` contracts (#4319)
### Description Implementing the `OPL2ToL1Hook` and OPL2ToL1Ism` contracts for using the Optimism native bridge for sending messages from the L2 to L1. - Optimism needs double call encoding for the direct portal call because the portal itself calls the l1Messenger which then directs it to the ism. ### Drive-by changes None ### Related issues - fixes https://github.com/hyperlane-xyz/issues/issues/1346 ### Backward compatibility Yes ### Testing Unit testing with mocks for OP contracts |
3 months ago |
Yorke Rhodes |
76f7ecafff
|
feat: attributable fraud for signers (#4284)
### Description
Implements fraud proof attributions for checkpoint signers (validators).
It is important to have a record of attribution in storage for slashing
replay protection. We also maintain a [whitelist of merkle tree
hooks](
|
3 months ago |
Kunal Arora |
63abe564d4
|
feat: implementation of yield rebasing warp route contracts (#4203)
### Description - To reflect the rebased underlying asset, `_transferRemote` is overridden because we need to pass in the ERC4626 vault shares which on the synthetic `HypERC4626VaultYield` which change in value as the underlying vault shares accrue yield or receive a drawdown. - The exchangeRate (i.e., assets/shares) is encoded as metadata and sent to the synthetic token to calculate the value of the synthetic token. - On synthetic transfers, the overridden `ERC20.transfer()` function calculates the needed shares for the amount and transfers them instead. Design decisions - Do we need to rebase frequently? Yes, otherwise the exchangeRate on the synthetic token will be stale compared to the the actual vault claimable yield, which means a user who deposits later and right before the infrequent rebase will get disproportionate share of the yield. You can rebase by calling `rebase()` on the collateral token which makes a transferRemote call with 0 amount. - Why exchangeRate and not underlyingDepositedAmount on the synthetic? If a user withdraws (ie calls transferRemote on the synthetic) while a rebase is inflight, the underlyingDepositedAmount will get an inaccurate update (will be overreported and hence will derive inaccurate balance amounts on the synthetic. The exchangeRate doesn't change if the user is depositing or withdrawing. - Why override the `transfer` on the synthetic? Otherwise if a user A sends 100 USDC worth of shares to user B which has a exchange rate of 1.05, user A would have unwittingly sent 105 #tokens (5 excess). - What happens in a drawdown of the value? Once the user calls withdraws the the withdrawal they get out is accordingly discounted. If a user transfers on the synthetic, it will still gets the stale exchangeRate until rebase. - What if the owner of the vault charges a fee on the yield? In that case, you need to override the totalAssets to reflect the assets - feesByOwner and the warp route implementation will stay the same. One example implementation is `MockERC4626YieldSharing` and we have adequate tests to cover the functionality. - Rounding error? We're rounding down the exchangeRate as per the general recommendation for ERC4626 vault math. - Why not make the synthetic token an ERC4626 itself, given that there's some overlapping functionality? Even though, the assetsToShares and assetsToShares functions are the same, the synthetic token itself doesn't have an underlying token so it doesn't confer to the 4626 interface. - What if there are multiple synthetic tokens for a single rebasing collateral contract and what happens is the exchange rate is not in sync between the synthetics? Things to keep in mind for - How do I keep the exchangeRate in sync with the underlying vault? Keep calling rebase as a cron job frequently, or make a hook call in deposit, redeem, and withdraw function to automatically resync the exchangeRate. - 4626 math pitfalls: https://www.zellic.io/blog/exploring-erc-4626/ ### Drive-by changes - Renaming `HypERC20CollateralVaultDeposit` -> `HypERC4626OwnerYieldCollateral` ### Related issues - fixes https://github.com/hyperlane-xyz/issues/issues/1334 ### Backward compatibility Yes ### Testing Unit tests |
3 months ago |
Yorke Rhodes |
cb404cb85c
|
feat: implement checkpoint fraud proofs (#4277)
### Description Implements 4 categories of checkpoint fraud proofs for use in future validator slashing protocol: 1. **premature**: if a checkpoint index is greater than the corresponding mailbox count, it is fraudulent 2. **non local**: if a checkpoint origin does not match the checkpoint's mailbox domain, it is fraudulent 3. **message id**: if a checkpoint message ID differs from the actual message ID (verified by merkle proof) at the checkpoint index, it is fraudulent 4. **root**: if a checkpoint root differs from the actual root (verified by merkle proof + root reconstruction) at the checkpoint index, it is fraudulent Notably this is implemented independently from signature verification to allow for multiple checkpoint signing schemes to reuse the same checkpoint logic. ### Related issues - Touches https://github.com/hyperlane-xyz/hyperlane-monorepo/issues/3799 - See https://github.com/hyperlane-xyz/hyperlane-monorepo/pull/2431 for previous discussions ### Backward compatibility Yes ### Testing Unit testing with fixtures in `vectors/merkle.json` that are generated by the rust merkle tree and proof code |
3 months ago |
Kunal Arora |
e151b5f9ac
|
feat: support Arbitrum L2->L1 message using CLI self-relay option (#3986)
### Description - trying for null metadata (in case where the L2->L1 call has been executed by a third party) otherwise waiting for the challenge period and then fetching the outbox proof using the `ArbL2ToL1MetadataBuilder` - deriving ArbL2ToL1 hook and ism - deriving custom hook from reciptISM when ismType == ARB_L2_TO_L1 ### Drive-by changes - modifying status command in CLI to write context for self-relaying messages ### Related issues - fixes https://github.com/hyperlane-xyz/issues/issues/1290 ### Backward compatibility Yes ### Testing Testnet from arbitrumsepolia -> sepolia - l2->l1 tx using selfrelay (if already preverified by 3rd party relayer) https://sepolia.etherscan.io/tx/0xa6af2355facedb102e1fb7275249ab714dadacd4264daa170801469cf22f2bc0 - l2->l1 tx using direct executeTransaction call https://sepolia.etherscan.io/tx/0x42bb0eefcbd0f78b5048052c911746d13da15a9fb9659775d5d9df1e116a2a3d --------- Co-authored-by: Yorke Rhodes <yorke@hyperlane.xyz> Co-authored-by: Yorke Rhodes <email@yorke.dev> |
4 months ago |
Yorke Rhodes |
2edfa40435
|
fix: only evaluate dynamic revert reasons in reverting branch (#4046)
### Description Optimize non-reverting branch gas usage caused by building dynamic revert reason strings ### Testing Unit Tests |
4 months ago |
Kunal Arora |
d396e2c553
|
feat: add `IStaticWeightedIsm` implementation (#4170)
### Description - Adding the static variation of the IWeightedIsm config where you configure validators with their corresponding weights and store it as bytecode. ### Drive-by changes None ### Related issues - fixes https://github.com/hyperlane-xyz/hyperlane-monorepo/issues/4160 ### Backward compatibility Yes ### Testing Fuzz tests |
4 months ago |
Kunal Arora |
90598ad449
|
feat: remove outbox param from `ArbL2ToL1Ism` (#4178)
### Description - outbox contract can be derived from arbitrum's bridge contract so it's not useful to pass in ### Drive-by changes None ### Related issues None ### Backward compatibility Yes ### Testing Unit |
4 months ago |
Mohammed Hussan |
6cf3982589
|
feat(infra): Add xERC20 limits monitoring capabilities (#4071)
### Description <!-- What's included in this PR? --> - Add support for pushing limits metrics for xERC20 wrap routes - For now only push limits metrics for xERC20 wrap routes, not yet supporting warp route balances ### Drive-by changes <!-- Are there any minor or drive-by changes also included? --> ### Related issues <!-- - Fixes #[issue number here] --> - Fixes #4047 ### Backward compatibility <!-- Are these changes backward compatible? Are there any infrastructure implications, e.g. changes that would prohibit deploying older commits using this infra tooling? Yes/No --> ### Testing <!-- What kind of testing have these changes undergone? None/Manual/Unit Tests --> Manual |
5 months ago |
Kunal Arora |
f733379488
|
feat: support Arbitrum L2->L1 post dispatch hook (#3853)
### Description - Contract support for the enabling postDispatch hook with the Arbitrum nitro bridge from L2 to L1 - asynchronously via executeTransaction call to verifyMessageId first and then the relayer calling the verify message with no metadata (note: this supports msg.value) - synchronously via a single verify call which in turn calls executeTransaction on outbox to gets the message verified in the verifyMessageId (note: this doesn't support msg.value as ism.verify isn't payable) - Added a script for deploying the hook and ISM since the sdk doesn't support it yet. ### Drive-by changes - changing the type from "rate_limited_hook" to "RATE_LIMITED" to maintain consistency ### Related issues - fixes https://github.com/hyperlane-xyz/hyperlane-monorepo/issues/2846 ### Backward compatibility Yes ### Testing Unit and e2e with arbitrumsepolia->sepolia |
5 months ago |
steven |
9cff8c2d3c
|
fix: index for getOperatorRestakeableStrategies (#4090)
### Description Creates a fix for a view function an indexer on the EigenLayer side calls into for UI display ### Drive-by changes None ### Related issues N/A ### Backward compatibility Yes ### Testing Regression test added in the Eigenlayer repo |
5 months ago |
Mohammed Hussan |
44cc9bf6b3
|
feat(cli): Add avs validator status command (#4056)
### Description <!-- What's included in this PR? --> - Command to check all operators on our AVS and show the chains that they are validating on - Already been reviewed here https://github.com/hyperlane-xyz/hyperlane-monorepo/pull/4004, this PR was to merge it main instead of cli-2.0 Example usage: ``` yarn hyperlane avs check --chain ethereum --registry $REGISTRY Hyperlane CLI Checking AVS validator status for ethereum, this may take up to a minute to run... ❗️ MerkleTreeHook is not deployed on anvil8545 Operator name: Abacus Works AVS Operator Operator address: 0xFe114FcC7609578f525219a8eF77e2CCe27C5357 Validator address: 0x03c842db86A6A3E524D4a6615390c1Ea8E2b9541 Validating on... ethereum Storage location: s3://hyperlane-mainnet3-ethereum-validator-0/us-east-1 Latest merkle tree checkpoint index: 8219 Latest validator checkpoint index: 8219 ✅ Validator is signing latest checkpoint Operator name: Kelp by Kiln Operator address: 0x96fC0751e0febe7296d4625500f8e4535a002c7d Validator address: 0xEa5f21513182e97D0169a4d2E7aC71Ae8827F5bC Validating on... ethereum Storage location: s3://kiln-mainnet-hyperlane-validator-signatures/eu-west-1/ethereum Latest merkle tree checkpoint index: 8219 ❌ Failed to fetch latest signed checkpoint index The following warnings were encountered: ❗️ Failed to fetch latest signed checkpoint index of validator on ethereum, this is likely due to failing to read an S3 bucket ``` ### Drive-by changes <!-- Are there any minor or drive-by changes also included? --> ### Related issues <!-- - Fixes #[issue number here] --> - Fixes #3976 ### Backward compatibility <!-- Are these changes backward compatible? Are there any infrastructure implications, e.g. changes that would prohibit deploying older commits using this infra tooling? Yes/No --> No ### Testing <!-- What kind of testing have these changes undergone? None/Manual/Unit Tests --> Manual |
5 months ago |
Yorke Rhodes |
7c7e0dd5ed
|
docs: add docstrings for multisig signature ordering (#4042)
### Description Update `MultisigISM.verify` docs with clarity around signature ordering |
5 months ago |
Yorke Rhodes |
1579ca221c
|
fix: disable initializers in xERC20 adapters (#3979)
### Description - Follow OZ best practice from https://docs.openzeppelin.com/upgrades-plugins/1.x/writing-upgradeable#initializing_the_implementation_contract ### Backward compatibility Yes ### Testing Unit tests |
5 months ago |
Yorke Rhodes |
6620fe6367
|
fix: eliminate branching from `TokenRouter` (#3878)
### Description Fixes bug in `TokenRouter` which dispatches messages to token recipient rather than address in `Router` table when hook overrides are provided. ### Drive-by changes Simplifies inheritance tree of `TokenRouter` > `GasRouter` > `Router` > `MailboxClient` ### Backward compatibility Yes ### Testing Unit Tests |
5 months ago |
Alex |
51bfff683e
|
feat(sdk): XERC20 token adapter (#3911)
### Description `HypXERC20Adapter` that allows checking for mint and burn limits put in place on XERC20 contracts. ### Drive-by changes - Couple methods added to the `XERC20` interface - Corrects `HypXERC20Lockbox` and `HypXERC20` config during CLI deployments ### Related issues - Fixes https://github.com/hyperlane-xyz/hyperlane-monorepo/issues/3851 ### Backward compatibility Yes ### Testing CLI testing. |
5 months ago |
Sergey Kaunov |
cb7ae33cde
|
chore: Update Solidity README.md (#3545)
Pls, review I got that right. ### Description Corrects a **semantic** typo. ### Drive-by changes relative paths to the libs are corrected ### Related issues none ### Backward compatibility Yes ### Testing None |
6 months ago |
Yorke Rhodes |
a8a68f6f61
|
test: XERC20 and XERC20 Lockbox integration tests (#3849)
|
6 months ago |
Noah Bayindirli 🥂 |
4bf7301eab
|
chore(sdk): add further zod support to SDK (#3834)
### Description * adds further zod support to SDK, namely for areas relating to `transactions` ### Drive-by changes * No ### Related issues - Fixes https://github.com/hyperlane-xyz/hyperlane-monorepo/issues/3740 ### Backward compatibility - Yes ### Testing - None |
6 months ago |