Comments (11)
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.
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 validchainID
.- What's the
chainId
reported by your RPC? https://docs.alchemy.com/alchemy/apis/ethereum/eth_chainid
from safe-cli.
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.
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.
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.
Can you try the last version?
pip3 install git+https://github.com/gnosis/safe-cli
from safe-cli.
Unfortunately the same result.
from safe-cli.
Could you provide a link to the RPC so we can test? We cannot reproduce
from safe-cli.
https://api-dfk.avax-test.network/rpc
from safe-cli.
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.
Thanks to your support @MrFaun we found the issue and it's fixed now on v0.3.1
from safe-cli.
Related Issues (20)
- Delete proposed not executed transactions HOT 4
- Update readme regarding --get-safes-from-owner HOT 1
- Make the CLI more inclusive HOT 1
- [Trezor] No layout when password is re-asked
- [change_threshold, tx-service mode] failing tx execution unless refreshing HOT 2
- Support execute transactions from Trezor. HOT 3
- Trezor support uses wrong derivation paths HOT 1
- Does this tool support chains without 1559 transaction (only 155) HOT 3
- CLI session closed when using a derivation path with "" or '' with Trezor hardware wallet HOT 2
- CLI session closed when trying to sign_message via a hardware wallet on tx-service mode HOT 4
- Not possible to sign_message on tx_service mode on thresholds bigger than 1 HOT 1
- Support add message confirmation on transaction service mode HOT 1
- Add Sign message to hardware manager class HOT 1
- CLI crashing when executing remove_proposed_transaction command with an owner that did not propose that tx
- Not possible to execute tx with ledger HW on blockchain mode HOT 8
- Error loading owners on opBNB: "Cannot find enough owners to sign. 1 missing" HOT 1
- Validate `safeTxHash` for transactions coming from the transaction service
- Update transaction service delegate methods HOT 1
- [DOC] Adding scripting mode documentation to safe-docs HOT 6
- load_cli_owners_from_file / add support for encrypted keystore-files HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from safe-cli.