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

rename project "metorite" #19

Merged
merged 4 commits into from
Oct 24, 2024
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
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
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
**seedphrase
**hardhat
**meteorite
6 changes: 3 additions & 3 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Hardhat is Somaitc Labs intellectual property.
# meteorite is Somaitc Labs intellectual property.

The source code is here for reference and to encurage the rigorous testing of mainnets in the Cosmos ecosystem. No one will listen if you test testnets.

hardhat is licensed to Somatic Labs for its exclusive use.
meteorite is licensed to Somatic Labs for its exclusive use.

Only Somatic is allowed to charge money for the use of this softweare.

Expand All @@ -17,4 +17,4 @@ The Interchain Foundation, and the teams it funds are not allowed to use this so

If you are not charging money for the use of this software, you can use it on production networks to ensure that they live up to the performance claims made by the Interchain Foundation, at no cost.

Somatic Labs will allow all uses of Hardhat by contributors, after a discussion. We encourage contribution to hardhat as we believe that performance claims need to be proven, and that false performance claims are dangerous.
Somatic Labs will allow all uses of meteorite by contributors, after a discussion. We encourage contribution to meteorite as we believe that performance claims need to be proven, and that false performance claims are dangerous.
24 changes: 12 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Hardhat
# meteorite

## Overview

Hardhat is a powerful tool designed to empower users to test and validate the performance and security claims of Cosmos-based blockchains. By providing an easy-to-use testing suite, Hardhat enables advanced users to ensure that the blockchains they depend on are robust, secure, and capable of handling real-world conditions.
meteorite is a powerful tool designed to empower users to test and validate the performance and security claims of Cosmos-based blockchains. By providing an easy-to-use testing suite, meteorite enables advanced users to ensure that the blockchains they depend on are robust, secure, and capable of handling real-world conditions.

## Features

Expand All @@ -14,36 +14,36 @@ Hardhat is a powerful tool designed to empower users to test and validate the pe

## Installation

To install Hardhat, run the following commands:
To install meteorite, run the following commands:

```bash
git clone https://github.com/somatic-labs/hardhat
cd hardhat
git clone https://github.com/somatic-labs/meteorite
cd meteorite
go install ./...
```



## Usage

Hardhat comes with pre-configured mainnet settings available in the `configurations` folder. To get started:
meteorite comes with pre-configured mainnet settings available in the `configurations` folder. To get started:

1. Ensure you have a file named `seedphrase` containing your seed phrase.
2. *(Optional)* Set up your own node with a larger mempool (e.g., 10 GB) that accepts a higher number of transactions (e.g., 50,000).
3. Edit the `nodes.toml` file to include your RPC URLs and adjust any other necessary settings.
4. Run `hardhat` in the same directory as your `nodes.toml` and `seedphrase` files.
4. Run `meteorite` in the same directory as your `nodes.toml` and `seedphrase` files.

This will initiate the testing suite with your specified configurations.

## Important Notes

- **Responsible Use**: Hardhat is designed for use on test networks and should be used responsibly. Ensure you have proper authorization before testing on any network you do not own or operate.
- **Responsible Use**: meteorite is designed for use on test networks and should be used responsibly. Ensure you have proper authorization before testing on any network you do not own or operate.
- **Valid Transactions Only**: The tool operates within the bounds of valid transactions explicitly supported by the chains it tests.
- **Reporting Issues**: For questions about Hardhat's capabilities or to report potential security issues, please contact the project maintainers through the appropriate channels listed in this repository.
- **Reporting Issues**: For questions about meteorite's capabilities or to report potential security issues, please contact the project maintainers through the appropriate channels listed in this repository.

## Background

Hardhat was developed to enhance the testing capabilities for Cosmos-based blockchains after identifying areas where additional testing tools were needed. By simulating various scenarios, Hardhat helps developers and users alike to better understand the limits and robustness of their chains.
meteorite was developed to enhance the testing capabilities for Cosmos-based blockchains after identifying areas where additional testing tools were needed. By simulating various scenarios, meteorite helps developers and users alike to better understand the limits and robustness of their chains.

### Specific Tests Include:

Expand All @@ -52,7 +52,7 @@ Hardhat was developed to enhance the testing capabilities for Cosmos-based block

## Outcomes

The release of Hardhat has contributed to:
The release of meteorite has contributed to:

- **Improved Awareness**: Highlighting potential vulnerabilities and encouraging proactive improvements in network security.
- **Enhanced Security Measures**: Prompting fixes for issues like P2P storms after thorough testing and community engagement.
Expand All @@ -61,6 +61,6 @@ Additional information is available at [faddat/fasf-report](https://github.com/f

## Contributions and Feedback

We welcome contributions from the community to enhance Hardhat's features and capabilities. If you'd like to contribute or have feedback, please open an issue or submit a pull request on GitHub.
We welcome contributions from the community to enhance meteorite's features and capabilities. If you'd like to contribute or have feedback, please open an issue or submit a pull request on GitHub.

---
12 changes: 6 additions & 6 deletions broadcast/broadcast.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ import (
"github.com/cosmos/ibc-go/v8/modules/apps/transfer"
transfertypes "github.com/cosmos/ibc-go/v8/modules/apps/transfer/types"
ibc "github.com/cosmos/ibc-go/v8/modules/core"
hardhatbank "github.com/somatic-labs/hardhat/modules/bank"
hardhatibc "github.com/somatic-labs/hardhat/modules/ibc"
wasm "github.com/somatic-labs/hardhat/modules/wasm"
types "github.com/somatic-labs/hardhat/types"
meteoritebank "github.com/somatic-labs/meteorite/modules/bank"
meteoriteibc "github.com/somatic-labs/meteorite/modules/ibc"
wasm "github.com/somatic-labs/meteorite/modules/wasm"
types "github.com/somatic-labs/meteorite/types"

sdkmath "cosmossdk.io/math"

Expand Down Expand Up @@ -70,12 +70,12 @@ func SendTransactionViaRPC(config types.Config, rpcEndpoint, chainID string, seq

switch msgType {
case "ibc_transfer":
msg, memo, err = hardhatibc.CreateIBCTransferMsg(config, fromAddress, msgParams)
msg, memo, err = meteoriteibc.CreateIBCTransferMsg(config, fromAddress, msgParams)
if err != nil {
return nil, "", err
}
case "bank_send":
msg, memo, err = hardhatbank.CreateBankSendMsg(config, fromAddress, msgParams)
msg, memo, err = meteoritebank.CreateBankSendMsg(config, fromAddress, msgParams)
if err != nil {
return nil, "", err
}
Expand Down
13 changes: 3 additions & 10 deletions configurations/kujira/nodes.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,22 @@ denom = "ukuji"
prefix = "kujira"
gas_per_byte = 10
base_gas = 110000
ibc_memo = "I must politely and firmly question if anyone at Informal or Amulet ran the scripts I provided. To avoid interruptions to ibc, I am now sending transactions down a dead(ish) channel. It would be interesting to at this time observe chain B as well, if transactions are being relayed between them. I'm just one person, so I don't have the capacity to provide all of the instrumentation and such that I'd like give Cosmos teams. I think the issue goes deeper than the mempool, see Kujira. I worked extremely hard to provide information to the relevant teams, and the commentary from them was pretty startling. All of my emails with Amulet are at github.com/somatic-labs/hardhat. Might be good to be a great deal more restrictive abourt aspects of transactions. It is now my 11:52AM. I am doing this because I do not want anyone to be able to. The goal is NOT to distub people, or users, but instead to simply get this issue resolved. I think it is unreasonable that this is still possible. Also I mistakenly used the wrong channel on the first batch of transactions. Really, I don't think that Amulet or Informal ran my scripts. Really. I think that I did everything I reasonably could to report this, over the course of months, and have been retaliated against by many teams for doing so. I don't think that the patch for this belongs in the relayer, and when it comes to performance, I challenge anyone to identify a more meaningful series of events than p2p storms."
ibc_memo = "I must politely and firmly question if anyone at Informal or Amulet ran the scripts I provided. To avoid interruptions to ibc, I am now sending transactions down a dead(ish) channel. It would be interesting to at this time observe chain B as well, if transactions are being relayed between them. I'm just one person, so I don't have the capacity to provide all of the instrumentation and such that I'd like give Cosmos teams. I think the issue goes deeper than the mempool, see Kujira. I worked extremely hard to provide information to the relevant teams, and the commentary from them was pretty startling. All of my emails with Amulet are at github.com/somatic-labs/meteorite. Might be good to be a great deal more restrictive abourt aspects of transactions. It is now my 11:52AM. I am doing this because I do not want anyone to be able to. The goal is NOT to distub people, or users, but instead to simply get this issue resolved. I think it is unreasonable that this is still possible. Also I mistakenly used the wrong channel on the first batch of transactions. Really, I don't think that Amulet or Informal ran my scripts. Really. I think that I did everything I reasonably could to report this, over the course of months, and have been retaliated against by many teams for doing so. I don't think that the patch for this belongs in the relayer, and when it comes to performance, I challenge anyone to identify a more meaningful series of events than p2p storms."
faddat marked this conversation as resolved.
Show resolved Hide resolved
memo = "truly I believe there are some larger issues"
ibc_memo_repeat = 10
rand_min = 450000
rand_max = 450000
revision_number = 4
timeout_height = 21901107
timeout_height = 21901107
slip44 = 118




[gas]
low = 38
precision = 4


[nodes]
rpc = [
"http://65.109.118.35:36009",
]
rpc = ["http://65.109.118.35:36009"]

api = "https://a-kujira--a1f4bb74a50728120e4f8c8054a8bb4c.gw.notionalapi.net"



11 changes: 3 additions & 8 deletions configurations/kujira2/nodes.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,32 +4,27 @@ denom = "uluna"
prefix = "terra"
gas_per_byte = 10
base_gas = 110000
ibc_memo = "I must politely and firmly question if anyone at Informal or Amulet ran the scripts I provided. To avoid interruptions to ibc, I am now sending transactions down a dead(ish) channel. It would be interesting to at this time observe chain B as well, if transactions are being relayed between them. I'm just one person, so I don't have the capacity to provide all of the instrumentation and such that I'd like give Cosmos teams. I think the issue goes deeper than the mempool, see Kujira. I worked extremely hard to provide information to the relevant teams, and the commentary from them was pretty startling. All of my emails with Amulet are at github.com/somatic-labs/hardhat. Might be good to be a great deal more restrictive abourt aspects of transactions. It is now my 11:52AM. I am doing this because I do not want anyone to be able to. The goal is NOT to distub people, or users, but instead to simply get this issue resolved. I think it is unreasonable that this is still possible. Also I mistakenly used the wrong channel on the first batch of transactions. Really, I don't think that Amulet or Informal ran my scripts. Really. I think that I did everything I reasonably could to report this, over the course of months, and have been retaliated against by many teams for doing so. I don't think that the patch for this belongs in the relayer, and when it comes to performance, I challenge anyone to identify a more meaningful series of events than p2p storms."
ibc_memo = "I must politely and firmly question if anyone at Informal or Amulet ran the scripts I provided. To avoid interruptions to ibc, I am now sending transactions down a dead(ish) channel. It would be interesting to at this time observe chain B as well, if transactions are being relayed between them. I'm just one person, so I don't have the capacity to provide all of the instrumentation and such that I'd like give Cosmos teams. I think the issue goes deeper than the mempool, see Kujira. I worked extremely hard to provide information to the relevant teams, and the commentary from them was pretty startling. All of my emails with Amulet are at github.com/somatic-labs/meteorite. Might be good to be a great deal more restrictive abourt aspects of transactions. It is now my 11:52AM. I am doing this because I do not want anyone to be able to. The goal is NOT to distub people, or users, but instead to simply get this issue resolved. I think it is unreasonable that this is still possible. Also I mistakenly used the wrong channel on the first batch of transactions. Really, I don't think that Amulet or Informal ran my scripts. Really. I think that I did everything I reasonably could to report this, over the course of months, and have been retaliated against by many teams for doing so. I don't think that the patch for this belongs in the relayer, and when it comes to performance, I challenge anyone to identify a more meaningful series of events than p2p storms."
memo = "I bet that as predicted, size doesn't matter. (thats not what she said)"
ibc_memo_repeat = 1
rand_min = 100
rand_max = 300
revision_number = 4
timeout_height = 21901107
timeout_height = 21901107
slip44 = 330




[gas]
low = 28325
precision = 3


[nodes]
rpc = [
rpc = [
"http://164.132.200.52:26657",
"http://136.243.82.69:26657",
"http://81.183.230.170:26657",
"http://116.202.214.221:36657",
]

api = "https://a-kujira--a1f4bb74a50728120e4f8c8054a8bb4c.gw.notionalapi.net"



13 changes: 3 additions & 10 deletions configurations/osmosis/nodes.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,22 @@ denom = "uosmo"
prefix = "osmo"
gas_per_byte = 20
base_gas = 120000
ibc_memo = "I must politely and firmly question if anyone at Informal or Amulet ran the scripts I provided. To avoid interruptions to ibc, I am now sending transactions down a dead(ish) channel. It would be interesting to at this time observe chain B as well, if transactions are being relayed between them. I'm just one person, so I don't have the capacity to provide all of the instrumentation and such that I'd like give Cosmos teams. I think the issue goes deeper than the mempool, see Kujira. I worked extremely hard to provide information to the relevant teams, and the commentary from them was pretty startling. All of my emails with Amulet are at github.com/somatic-labs/hardhat. Might be good to be a great deal more restrictive abourt aspects of transactions. It is now my 11:52AM. I am doing this because I do not want anyone to be able to. The goal is NOT to distub people, or users, but instead to simply get this issue resolved. I think it is unreasonable that this is still possible. Also I mistakenly used the wrong channel on the first batch of transactions. Really, I don't think that Amulet or Informal ran my scripts. Really. I think that I did everything I reasonably could to report this, over the course of months, and have been retaliated against by many teams for doing so. I don't think that the patch for this belongs in the relayer, and when it comes to performance, I challenge anyone to identify a more meaningful series of events than p2p storms."
ibc_memo = "I must politely and firmly question if anyone at Informal or Amulet ran the scripts I provided. To avoid interruptions to ibc, I am now sending transactions down a dead(ish) channel. It would be interesting to at this time observe chain B as well, if transactions are being relayed between them. I'm just one person, so I don't have the capacity to provide all of the instrumentation and such that I'd like give Cosmos teams. I think the issue goes deeper than the mempool, see Kujira. I worked extremely hard to provide information to the relevant teams, and the commentary from them was pretty startling. All of my emails with Amulet are at github.com/somatic-labs/meteorite. Might be good to be a great deal more restrictive abourt aspects of transactions. It is now my 11:52AM. I am doing this because I do not want anyone to be able to. The goal is NOT to distub people, or users, but instead to simply get this issue resolved. I think it is unreasonable that this is still possible. Also I mistakenly used the wrong channel on the first batch of transactions. Really, I don't think that Amulet or Informal ran my scripts. Really. I think that I did everything I reasonably could to report this, over the course of months, and have been retaliated against by many teams for doing so. I don't think that the patch for this belongs in the relayer, and when it comes to performance, I challenge anyone to identify a more meaningful series of events than p2p storms."
faddat marked this conversation as resolved.
Show resolved Hide resolved
memo = "I do genuinely think there are larger issues at play"
ibc_memo_repeat = 10
rand_min = 50000
rand_max = 50000
revision_number = 4
timeout_height = 21901107
timeout_height = 21901107
slip44 = 118




[gas]
low = 25
precision = 4


[nodes]
rpc = [
"http://5.9.151.239:26657",
]
rpc = ["http://5.9.151.239:26657"]

api = "https://a-osmosis--a1f4bb74a50728120e4f8c8054a8bb4c.gw.notionalapi.net"



6 changes: 3 additions & 3 deletions lib/lib.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import (
"time"

"github.com/BurntSushi/toml"
"github.com/somatic-labs/hardhat/types"
"github.com/somatic-labs/meteorite/types"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codebase verification

Found inconsistent package aliases after renaming

The verification revealed that while the import paths have been updated to use "meteorite", there are still package aliases using the old "hardhat" prefix:

  • In broadcast/broadcast.go:
    • hardhatbank "github.com/somatic-labs/meteorite/modules/bank"
    • hardhatibc "github.com/somatic-labs/meteorite/modules/ibc"

These aliases are also used in function calls:

  • hardhatibc.CreateIBCTransferMsg
  • hardhatbank.CreateBankSendMsg

For consistency, these package aliases should also be updated to use "meteorite" prefix instead of "hardhat".

🔗 Analysis chain

Verify consistent import path updates across the codebase.

The import path update from hardhat to meteorite looks correct. Let's verify this change is consistent across the entire codebase.


Let me generate another script to verify the import paths more effectively:

The previous script's output seems incomplete, and we need to verify:

  1. If there are any remaining references to "hardhat"
  2. If all relevant imports are properly using "meteorite"
  3. The context around these imports to ensure consistency

This new script will:

  • Search specifically in Go files
  • Show context around matches to better understand usage
  • Look for both old and new package names
  • Help us verify if the renaming was done consistently
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for any remaining references to the old "hardhat" import path
# and verify all imports now use "meteorite"

echo "Checking for any remaining 'hardhat' import references..."
rg -l "github.com/somatic-labs/hardhat"

echo -e "\nVerifying 'meteorite' import usage..."
rg -l "github.com/somatic-labs/meteorite"

Length of output: 339


Script:

#!/bin/bash
# Search for any remaining hardhat references in go files
echo "Checking for 'hardhat' references in go files..."
rg -t go "hardhat" --context 2

echo -e "\nChecking import statements with 'meteorite'..."
rg -t go "^import.*meteorite" --context 2

Length of output: 1329


sdk "github.com/cosmos/cosmos-sdk/types"
)
Expand All @@ -29,7 +29,7 @@ var client = &http.Client{
},
}

func GetInitialSequence(address string, config types.Config) (int64, int64) {
func GetAccountInfo(address string, config types.Config) (uint64, uint64) {
resp, err := HTTPGet(config.Nodes.API + "/cosmos/auth/v1beta1/accounts/" + address)
if err != nil {
log.Printf("Failed to get initial sequence: %v", err)
Expand All @@ -55,7 +55,7 @@ func GetInitialSequence(address string, config types.Config) (int64, int64) {
return 0, 0
}

return seqint, accnum
return uint64(seqint), uint64(accnum)
}

func GetChainID(nodeURL string) (string, error) {
Expand Down
2 changes: 1 addition & 1 deletion lib/privkey.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package lib
import (
"fmt"

types "github.com/somatic-labs/hardhat/types"
types "github.com/somatic-labs/meteorite/types"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codebase verification

Based on the comprehensive results, I can now provide a final response:

Module rename from 'hardhat' to 'meteorite' is incomplete

The codebase shows an inconsistent state where:

  • New imports are using "meteorite" in several files (main.go, modules/, lib/)
  • However, the module name in go.mod still declares "github.com/somatic-labs/hardhat"
  • References to "hardhat" still exist in configuration files and documentation

This inconsistency needs to be addressed by:

  • Updating the module name in go.mod
  • Reviewing and updating references in:
    • nodes.toml files in configurations/
    • README.md
    • LICENSE.md
    • broadcast/broadcast.go
🔗 Analysis chain

Verify consistent renaming across the codebase.

Let's ensure all imports from the old "hardhat" package have been updated to "meteorite".


The output shows that while there are no direct imports of "hardhat" in Go files, the go.mod file still declares the module name as "github.com/somatic-labs/hardhat". Let me verify if this is the only instance and check for any other potential references to ensure we have a complete picture.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for any remaining references to the old package name

# Test 1: Search for any remaining hardhat references in go files
echo "Checking for remaining hardhat references in go files:"
rg -l "somatic-labs/hardhat" --type go

# Test 2: Check go.mod for any hardhat dependencies
echo -e "\nChecking go.mod for hardhat dependencies:"
rg "somatic-labs/hardhat" "go.mod" || echo "No hardhat dependencies found in go.mod"

Length of output: 328


Script:

#!/bin/bash
# Let's do a more comprehensive check

# Check for any hardhat references in all files (not just Go files)
echo "Checking for hardhat references in all files:"
rg -l "hardhat"

# Check for meteorite references to see the new package usage
echo -e "\nChecking for meteorite references:"
rg -l "meteorite"

# Show the content of go.mod for complete context
echo -e "\nFull go.mod content:"
cat go.mod

Length of output: 11161


"github.com/cosmos/cosmos-sdk/crypto/hd"
cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types"
Expand Down
Loading
Loading