Code Monkey home page Code Monkey logo

Comments (11)

MrFaun avatar MrFaun commented on July 22, 2024 1

Yep just generated a new wallet for this and provided 1 JEWEL. (ETH)

Wallet Address: 0xF28576408412a1f0bAbE1BFbC8afC51F9b650B07
Safe Address: 0xEc358bd2e7d1Bfffd5B56d94eb5b506560cFc629
Private Key: 4b94863054d2e492f50795c16c4406ddba8c07d83d47de6bab2af5940812a3f7

from safe-cli.

Uxio0 avatar Uxio0 commented on July 22, 2024

Hi:

  • More debug information would be appreciated, as we cannot reproduce (e.g. what command is working, what command is not working, full traceback...)
  • chainIds don't need to be supported. They should work as long as they report a valid chainID.
  • What's the chainId reported by your RPC? https://docs.alchemy.com/alchemy/apis/ethereum/eth_chainid

from safe-cli.

MrFaun avatar MrFaun commented on July 22, 2024

Sorry was hoping it was a simpler solution than I anticipated. Here is more information.

This is occurring on any transactions that I attempt to send to the safe, send_ether, add_owner, etc.

Our chain is a subnet on the Avalanche Network. Its chainID is 335, we also have a mainnet chain with chainID 53935.

Response from eth_chain id endpoint:
{ "jsonrpc": "2.0", "id": 1, "result": "0x14f" }

Full Stack Trace

Result: True
Do you want to execute tx SafeTx - safe=[[ safe address ]] - to=[[ wallet address ]] - value=100 - data= - operation=0 - safe-tx-gas=0 - base-gas=0 - gas-price=0 - gas-token=0x0000000000000000000000000000000000000000 - refund-receiver=0x0000000000000000000000000000000000000000 - signers = ['[[ wallet address ]]'] [y/N]: y
Traceback (most recent call last):
  File "/Users/mrfaun/Library/Python/3.8/bin/safe-cli", line 8, in <module>
    sys.exit(main())
  File "/Users/mrfaun/Library/Python/3.8/lib/python/site-packages/safe_cli/main.py", line 147, in main
    safe_cli.loop()
  File "/Users/mrfaun/Library/Python/3.8/lib/python/site-packages/safe_cli/main.py", line 132, in loop
    self.prompt_parser.process_command(command)
  File "/Users/mrfaun/Library/Python/3.8/lib/python/site-packages/safe_cli/prompt_parser.py", line 173, in process_command
    return args.func(args)
  File "/Users/mrfaun/Library/Python/3.8/lib/python/site-packages/safe_cli/prompt_parser.py", line 79, in wrapper
    return function(*args, **kwargs)
  File "/Users/mrfaun/Library/Python/3.8/lib/python/site-packages/safe_cli/prompt_parser.py", line 241, in send_ether
    safe_operator.send_ether(args.to, args.value, safe_nonce=args.safe_nonce)
  File "/Users/mrfaun/Library/Python/3.8/lib/python/site-packages/safe_cli/operators/safe_operator.py", line 437, in send_ether
    return self.send_custom(to, value, b"", **kwargs)
  File "/Users/mrfaun/Library/Python/3.8/lib/python/site-packages/safe_cli/operators/safe_operator.py", line 432, in send_custom
    return self.prepare_and_execute_safe_transaction(
  File "/Users/mrfaun/Library/Python/3.8/lib/python/site-packages/safe_cli/operators/safe_operator.py", line 710, in prepare_and_execute_safe_transaction
    return self.execute_safe_transaction(safe_tx)
  File "/Users/mrfaun/Library/Python/3.8/lib/python/site-packages/safe_cli/operators/safe_operator.py", line 178, in decorated
    return f(self, *args, **kwargs)
  File "/Users/mrfaun/Library/Python/3.8/lib/python/site-packages/safe_cli/operators/safe_operator.py", line 718, in execute_safe_transaction
    tx_hash, tx = safe_tx.execute(
  File "/Users/mrfaun/Library/Python/3.8/lib/python/site-packages/gnosis/safe/safe_tx.py", line 397, in execute
    self.tx = self.w3_tx.buildTransaction(tx_parameters)
  File "/Users/mrfaun/Library/Python/3.8/lib/python/site-packages/web3/contract.py", line 1079, in buildTransaction
    return build_transaction_for_function(
  File "/Users/mrfaun/Library/Python/3.8/lib/python/site-packages/web3/contract.py", line 1648, in build_transaction_for_function
    prepared_transaction = fill_transaction_defaults(web3, prepared_transaction)
  File "cytoolz/functoolz.pyx", line 250, in cytoolz.functoolz.curry.__call__
  File "/Users/mrfaun/Library/Python/3.8/lib/python/site-packages/web3/_utils/transactions.py", line 114, in fill_transaction_defaults
    default_val = default_getter(web3, transaction)
  File "/Users/mrfaun/Library/Python/3.8/lib/python/site-packages/web3/_utils/transactions.py", line 60, in <lambda>
    'gas': lambda web3, tx: web3.eth.estimate_gas(tx),
  File "/Users/mrfaun/Library/Python/3.8/lib/python/site-packages/web3/eth.py", line 855, in estimate_gas
    return self._estimate_gas(transaction, block_identifier)
  File "/Users/mrfaun/Library/Python/3.8/lib/python/site-packages/web3/module.py", line 57, in caller
    result = w3.manager.request_blocking(method_str,
  File "/Users/mrfaun/Library/Python/3.8/lib/python/site-packages/web3/manager.py", line 197, in request_blocking
    response = self._make_request(method, params)
  File "/Users/mrfaun/Library/Python/3.8/lib/python/site-packages/web3/manager.py", line 150, in _make_request
    return request_func(method, params)
  File "/Users/mrfaun/Library/Python/3.8/lib/python/site-packages/web3/middleware/formatting.py", line 94, in middleware
    response = make_request(method, params)
  File "/Users/mrfaun/Library/Python/3.8/lib/python/site-packages/web3/middleware/gas_price_strategy.py", line 90, in middleware
    return make_request(method, params)
  File "/Users/mrfaun/Library/Python/3.8/lib/python/site-packages/web3/middleware/formatting.py", line 94, in middleware
    response = make_request(method, params)
  File "/Users/mrfaun/Library/Python/3.8/lib/python/site-packages/web3/middleware/attrdict.py", line 33, in middleware
    response = make_request(method, params)
  File "/Users/mrfaun/Library/Python/3.8/lib/python/site-packages/web3/middleware/formatting.py", line 94, in middleware
    response = make_request(method, params)
  File "/Users/mrfaun/Library/Python/3.8/lib/python/site-packages/web3/middleware/formatting.py", line 93, in middleware
    params = formatter(params)
  File "cytoolz/functoolz.pyx", line 503, in cytoolz.functoolz.Compose.__call__
  File "cytoolz/functoolz.pyx", line 250, in cytoolz.functoolz.curry.__call__
  File "/Users/mrfaun/Library/Python/3.8/lib/python/site-packages/eth_utils/decorators.py", line 91, in wrapper
    return ReturnType(result)  # type: ignore
  File "/Users/mrfaun/Library/Python/3.8/lib/python/site-packages/eth_utils/applicators.py", line 22, in apply_formatter_at_index
    yield formatter(item)
  File "cytoolz/functoolz.pyx", line 250, in cytoolz.functoolz.curry.__call__
  File "/Users/mrfaun/Library/Python/3.8/lib/python/site-packages/eth_utils/functional.py", line 45, in inner
    return callback(fn(*args, **kwargs))
  File "/Users/mrfaun/Library/Python/3.8/lib/python/site-packages/eth_utils/applicators.py", line 84, in apply_formatters_to_dict
    yield key, formatters[key](item)
  File "cytoolz/functoolz.pyx", line 250, in cytoolz.functoolz.curry.__call__
  File "/Users/mrfaun/Library/Python/3.8/lib/python/site-packages/eth_utils/applicators.py", line 72, in apply_formatter_if
    return formatter(value)
  File "cytoolz/functoolz.pyx", line 250, in cytoolz.functoolz.curry.__call__
  File "/Users/mrfaun/Library/Python/3.8/lib/python/site-packages/web3/middleware/validation.py", line 61, in _validate_chain_id
    raise ValidationError(
web3.exceptions.ValidationError: The transaction declared chain ID -1, but the connected node is on 335

from safe-cli.

Uxio0 avatar Uxio0 commented on July 22, 2024

Looks like the network enforces chainId and we are not sending it. Does network has https://eips.ethereum.org/EIPS/eip-3788 enabled?

from safe-cli.

MrFaun avatar MrFaun commented on July 22, 2024

Im trying to research more on the subnet-evm provided by ava-labs but I don't think this is enabled. I know the GETH RPC has replay protection by default that avalanchego uses, but I turned that off in order to deploy the safe-contracts and have continued leaving that off as I tried the CLI.

I also had no problem using the safe-creator utility which I am not sure if that performs differently with the chainID but it went right through. Originally I had thought this problem was failing at the cli level because the error comes from the web3 dependency found here: https://github.com/ethereum/web3.py/blob/master/web3/middleware/validation.py#L57 , not from the RPC.

Any help is appreciated but I will keep searching.

from safe-cli.

Uxio0 avatar Uxio0 commented on July 22, 2024

Can you try the last version?

pip3 install git+https://github.com/gnosis/safe-cli

from safe-cli.

MrFaun avatar MrFaun commented on July 22, 2024

Unfortunately the same result.

from safe-cli.

Uxio0 avatar Uxio0 commented on July 22, 2024

Could you provide a link to the RPC so we can test? We cannot reproduce

from safe-cli.

MrFaun avatar MrFaun commented on July 22, 2024

https://api-dfk.avax-test.network/rpc

from safe-cli.

Uxio0 avatar Uxio0 commented on July 22, 2024

Doing this request:

[
    {"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1},
    {
	"jsonrpc":"2.0",
	"method":"net_version",
	"params":[],
	"id":2
}
]

I get

[
    {
        "result": "0x14f",
        "id": 1,
        "jsonrpc": "2.0"
    },
    {
        "result": "43113",
        "id": 2,
        "jsonrpc": "2.0"
    }
]

I bet this is something related to networkId being 43113.

Could you provide me with a test Safe with some eth on it for that network with threshold=1 and the private key for the owner?

from safe-cli.

Uxio0 avatar Uxio0 commented on July 22, 2024

Thanks to your support @MrFaun we found the issue and it's fixed now on v0.3.1

from safe-cli.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.