safe-global / safe-infrastructure

One `docker-compose.yml` file to rule them all
MIT License
57 stars 97 forks source link

Can not get safe information #64

Closed gzliudan closed 1 year ago

gzliudan commented 1 year ago

I created safe with goerli chain successfully in local docker enviroment. But there is a problem when I create safe with Apothem chain locally which is added in safe-deployments v1.18.0.


http://103.101.129.240:8080/new-safe/create

1674897283305


http://103.101.129.240:8080/txdc:0xE62B3D7850F09d5fc78b39Acda05e62b88020181/home

1674902501791


Table history_safelaststatus, history_safemastercopy and history_safestatus in txs-db are all empty.


docker log:

safe-infrastructure-cgw-web-1                            | [2023-01-29T06:45:49Z INFO  _] Response succeeded.
safe-infrastructure-txs-scheduler-1                      | 2023-01-29 06:45:51,264 [INFO] [???/???] Scheduler: Sending due task Index Safe events (L2) (safe_transaction_service.history.tasks.index_safe_events_task)
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-29 06:45:51,267 [INFO] [754a724b/index_safe_events_task] Start indexing of Safe events
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-29 06:45:51,490 [INFO] [754a724b/index_safe_events_task] Find Safe events processed 0 events
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-29 06:45:51,498 [INFO] [754a724b/index_safe_events_task] Task safe_transaction_service.history.tasks.index_safe_events_task[754a724b-be7c-4b3a-aa8d-c6d36d8f930d] succeeded in 0.2321154389937874s: 0
safe-infrastructure-txs-scheduler-1                      | 2023-01-29 06:45:52,353 [INFO] [???/???] Scheduler: Sending due task Index ERC20/721 Events (safe_transaction_service.history.tasks.index_erc20_events_task)
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-29 06:45:52,356 [INFO] [9e7a1a6c/index_erc20_events_task] Start indexing of erc20/721 events
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-29 06:45:52,584 [INFO] [9e7a1a6c/index_erc20_events_task] Indexing of erc20/721 events task processed 0 events
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-29 06:45:52,591 [INFO] [9e7a1a6c/index_erc20_events_task] Task safe_transaction_service.history.tasks.index_erc20_events_task[9e7a1a6c-5cd4-4862-ae7f-b9d86f2ba20d] succeeded in 0.23622819599404465s: 0
safe-infrastructure-txs-scheduler-1                      | 2023-01-29 06:45:54,347 [INFO] [???/???] Scheduler: Sending due task Index new Proxies (safe_transaction_service.history.tasks.index_new_proxies_task)
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-29 06:45:54,350 [INFO] [d0bc8092/index_new_proxies_task] Start indexing of new proxies
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-29 06:45:54,573 [INFO] [d0bc8092/index_new_proxies_task] Proxy indexing found 0 proxies
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-29 06:45:54,580 [INFO] [d0bc8092/index_new_proxies_task] Task safe_transaction_service.history.tasks.index_new_proxies_task[d0bc8092-a7f0-4d8b-8e3f-2de8f19733ac] succeeded in 0.23139733000425622s: 0
safe-infrastructure-txs-scheduler-1                      | 2023-01-29 06:45:56,264 [INFO] [???/???] Scheduler: Sending due task Index Safe events (L2) (safe_transaction_service.history.tasks.index_safe_events_task)
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-29 06:45:56,267 [INFO] [43470db9/index_safe_events_task] Start indexing of Safe events
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-29 06:45:56,494 [INFO] [43470db9/index_safe_events_task] Find Safe events processed 0 events
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-29 06:45:56,502 [INFO] [43470db9/index_safe_events_task] Task safe_transaction_service.history.tasks.index_safe_events_task[43470db9-c724-49b6-bcc7-9896f6e5c294] succeeded in 0.23528148300829343s: 0
safe-infrastructure-txs-scheduler-1                      | 2023-01-29 06:46:01,265 [INFO] [???/???] Scheduler: Sending due task Index Safe events (L2) (safe_transaction_service.history.tasks.index_safe_events_task)
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-29 06:46:01,267 [INFO] [ab221dff/index_safe_events_task] Start indexing of Safe events
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-29 06:46:01,497 [INFO] [ab221dff/index_safe_events_task] Find Safe events processed 0 events
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-29 06:46:01,504 [INFO] [ab221dff/index_safe_events_task] Task safe_transaction_service.history.tasks.index_safe_events_task[ab221dff-2b1d-4207-952c-394793dd0984] succeeded in 0.2376209159992868s: 0
safe-infrastructure-cgw-web-1                            | [2023-01-29T06:46:05Z INFO  rocket::server] GET /v1/chains/51/safes/0xE62B3D7850F09d5fc78b39Acda05e62b88020181:
safe-infrastructure-cgw-web-1                            | [2023-01-29T06:46:05Z INFO  _] Matched: (get_safe_info) GET /v1/chains/<chain_id>/safes/<safe_address>
safe-infrastructure-cgw-web-1                            | [2023-01-29T06:46:05Z ERROR safe_client_gateway::utils::errors] ERR::404::/v1/chains/51/safes/0xE62B3D7850F09d5fc78b39Acda05e62b88020181::ApiErrorMessage: code:42; message:Some(""); arguments:None
safe-infrastructure-cgw-web-1                            | [2023-01-29T06:46:05Z INFO  _] Outcome: Success
safe-infrastructure-cgw-web-1                            | [2023-01-29T06:46:05Z INFO  safe_client_gateway::monitoring::performance] MT::GET::/v1/chains/<chain_id>/safes/<safe_address>::1::404::/v1/chains/51/safes/0xE62B3D7850F09d5fc78b39Acda05e62b88020181::51::38.6.226.47
safe-infrastructure-cgw-web-1                            | [2023-01-29T06:46:05Z INFO  _] Response succeeded.
safe-infrastructure-cgw-web-1                            | [2023-01-29T06:46:05Z INFO  rocket::server] GET /v1/chains/51/safe-apps?client_url=http%3A%2F%2F103.101.129.240%3A8080:
safe-infrastructure-cgw-web-1                            | [2023-01-29T06:46:05Z INFO  _] Matched: (get_safe_apps) GET /v1/chains/<chain_id>/safe-apps?<client_url>&<url>
safe-infrastructure-cgw-web-1                            | [2023-01-29T06:46:05Z INFO  _] Outcome: Success
safe-infrastructure-cgw-web-1                            | [2023-01-29T06:46:05Z INFO  safe_client_gateway::monitoring::performance] MT::GET::/v1/chains/<chain_id>/safe-apps?<client_url>&<url>::0::200::/v1/chains/51/safe-apps?client_url=http%3A%2F%2F103.101.129.240%3A8080::51::38.6.226.51
safe-infrastructure-cgw-web-1                            | [2023-01-29T06:46:05Z INFO  _] Response succeeded.

chain info

curl -s http://103.101.129.240:8000/cfg/api/v1/chains/ | jq
{
  "count": 1,
  "next": null,
  "previous": null,
  "results": [
    {
      "chainId": "51",
      "chainName": "apothem",
      "shortName": "txdc",
      "description": "Xinfin Testnet Apothem",
      "l2": true,
      "rpcUri": {
        "authentication": "NO_AUTHENTICATION",
        "value": "https://erpc.apothem.network/"
      },
      "safeAppsRpcUri": {
        "authentication": "NO_AUTHENTICATION",
        "value": "https://erpc.apothem.network/"
      },
      "publicRpcUri": {
        "authentication": "NO_AUTHENTICATION",
        "value": "https://erpc.apothem.network/"
      },
      "blockExplorerUriTemplate": {
        "address": "https://explorer.apothem.network/address/{{address}}",
        "txHash": "https://explorer.apothem.network/txs/{{txHash}}",
        "api": "https://api-apothem.blocksscan.io/api?module={{module}}&action={{action}}&address={{address}}&apiKey=GnosisSafe"
      },
      "nativeCurrency": {
        "name": "TXDC",
        "symbol": "TXDC",
        "decimals": 18,
        "logoUri": "/media/chains/51/currency_logo_B6iU4tx.png"
      },
      "transactionService": "http://nginx:8000/txs",
      "vpcTransactionService": "http://nginx:8000/txs",
      "theme": {
        "textColor": "#ffffff",
        "backgroundColor": "#000000"
      },
      "gasPrice": [
        {
          "type": "fixed",
          "weiValue": "250000000"
        }
      ],
      "ensRegistryAddress": null,
      "recommendedMasterCopyVersion": "1.3.0",
      "disabledWallets": [],
      "features": [
        "CONTRACT_INTERACTION",
        "ERC1155",
        "ERC721",
        "SAFE_APPS",
        "SPENDING_LIMIT"
      ]
    }
  ]
}

file .env

REVERSE_PROXY_PORT=8000
REVERSE_PROXY_UI_PORT=8080

CFG_VERSION=latest
CGW_VERSION=latest
TXS_VERSION=latest
UI_VERSION=dev

RPC_NODE_URL=https://erpc.apothem.network

npm_package_version=1.0.0

Here I use dev for UI, so web-core can use latest safe-core-sdk to support chain apothem.


file container_env_files/ui.env

NEXT_PUBLIC_INFURA_TOKEN=
NEXT_PUBLIC_GATEWAY_URL_PRODUCTION=http://103.101.129.240:8000/cgw

# infura token used by Safe Apps
NEXT_PUBLIC_SAFE_APPS_INFURA_TOKEN=

# Transaction simulation
NEXT_PUBLIC_TENDERLY_SIMULATE_ENDPOINT_URL=
NEXT_PUBLIC_TENDERLY_PROJECT_NAME=
NEXT_PUBLIC_TENDERLY_ORG_NAME=

# Flag to switch to the production environment (redirect urls, gateway url, etc)
NEXT_PUBLIC_IS_PRODUCTION=true

### Optional variables ###
# These variables are required only if you require a certain feature in the interface (e.g. Portis wallet)
# Or overwrite the fallback values (set a different WalletConnect bridge)

# Latest supported safe version, used for upgrade prompts
NEXT_PUBLIC_SAFE_VERSION=1.3.0

# Access keys
NEXT_PUBLIC_SENTRY_DSN=
NEXT_PUBLIC_BEAMER_ID=

# Wallet specific variables
NEXT_PUBLIC_WC_BRIDGE=
NEXT_PUBLIC_FORTMATIC_KEY=
NEXT_PUBLIC_PORTIS_KEY=
NEXT_PUBLIC_CYPRESS_MNEMONIC=

Is there any wrong configuration ?

gzliudan commented 1 year ago

It seems that safe-transaction-service does not support xdc blockchain now: https://github.com/safe-global/safe-transaction-service/pull/1260 .

safe-infrastructure-txs-worker-indexer-1                 | 2023-01-30 08:06:57,204 [INFO] [b9041497/index_safe_events_task] Start indexing of Safe events
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-30 08:06:58,944 [INFO] [b9041497/index_safe_events_task] Find Safe events processed 0 events
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-30 08:06:58,952 [INFO] [b9041497/index_safe_events_task] Task safe_transaction_service.history.tasks.index_safe_events_task[b9041497-76d8-41a9-a40c-2be7517128c6] succeeded in 1.7501596309998604s: 0
safe-infrastructure-txs-scheduler-1                      | 2023-01-30 08:07:02,177 [INFO] [???/???] Scheduler: Sending due task Index Safe events (L2) (safe_transaction_service.history.tasks.index_safe_events_task)
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-30 08:07:02,180 [INFO] [45b84bcc/index_safe_events_task] Start indexing of Safe events
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-30 08:07:02,895 [INFO] [45b84bcc/index_safe_events_task] Find Safe events processed 0 events
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-30 08:07:02,901 [INFO] [45b84bcc/index_safe_events_task] Task safe_transaction_service.history.tasks.index_safe_events_task[45b84bcc-fe66-4ac5-8758-f3857e327f9e] succeeded in 0.7211946609995721s: 0
safe-infrastructure-txs-scheduler-1                      | 2023-01-30 08:07:06,183 [INFO] [???/???] Scheduler: Sending due task Index ERC20/721 Events (safe_transaction_service.history.tasks.index_erc20_events_task)
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-30 08:07:06,187 [INFO] [6cfc4957/index_erc20_events_task] Start indexing of erc20/721 events
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-30 08:07:07,111 [INFO] [6cfc4957/index_erc20_events_task] Indexing of erc20/721 events task processed 0 events
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-30 08:07:07,116 [INFO] [6cfc4957/index_erc20_events_task] Task safe_transaction_service.history.tasks.index_erc20_events_task[6cfc4957-92c5-49e1-92c2-87a25a09035d] succeeded in 0.931061998000132s: 0
safe-infrastructure-txs-scheduler-1                      | 2023-01-30 08:07:07,178 [INFO] [???/???] Scheduler: Sending due task Index new Proxies (safe_transaction_service.history.tasks.index_new_proxies_task)
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-30 08:07:07,183 [INFO] [384c1dd3/index_new_proxies_task] Start indexing of new proxies
safe-infrastructure-txs-scheduler-1                      | 2023-01-30 08:07:07,192 [INFO] [???/???] Scheduler: Sending due task Index Safe events (L2) (safe_transaction_service.history.tasks.index_safe_events_task)
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-30 08:07:07,197 [INFO] [386f8553/index_safe_events_task] Start indexing of Safe events
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-30 08:07:07,468 [INFO] [386f8553/index_safe_events_task] Find Safe events processed 0 events
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-30 08:07:07,474 [INFO] [386f8553/index_safe_events_task] Task safe_transaction_service.history.tasks.index_safe_events_task[386f8553-e566-4caf-98b5-1ed4093fb8cb] succeeded in 0.27902203499979805s: 0
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-30 08:07:07,686 [INFO] [384c1dd3/index_new_proxies_task] Proxy indexing found 0 proxies
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-30 08:07:07,694 [INFO] [384c1dd3/index_new_proxies_task] Task safe_transaction_service.history.tasks.index_new_proxies_task[384c1dd3-9c49-49e6-bfd4-e44ef2b361dd] succeeded in 0.5122188529999221s: 0
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-30 08:07:12,214 [INFO] [0f9714de/index_safe_events_task] Start indexing of Safe events
safe-infrastructure-txs-scheduler-1                      | 2023-01-30 08:07:12,211 [INFO] [???/???] Scheduler: Sending due task Index Safe events (L2) (safe_transaction_service.history.tasks.index_safe_events_task)
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-30 08:07:12,882 [INFO] [0f9714de/index_safe_events_task] Find Safe events processed 0 events
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-30 08:07:12,890 [INFO] [0f9714de/index_safe_events_task] Task safe_transaction_service.history.tasks.index_safe_events_task[0f9714de-a95f-4c7d-83bc-2c90ac7f3699] succeeded in 0.6759370150002724s: 0
safe-infrastructure-txs-scheduler-1                      | 2023-01-30 08:07:17,212 [INFO] [???/???] Scheduler: Sending due task Index Safe events (L2) (safe_transaction_service.history.tasks.index_safe_events_task)
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-30 08:07:17,217 [INFO] [9a5fb258/index_safe_events_task] Start indexing of Safe events
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-30 08:07:17,479 [INFO] [9a5fb258/index_safe_events_task] Find Safe events processed 0 events
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-30 08:07:17,486 [INFO] [9a5fb258/index_safe_events_task] Task safe_transaction_service.history.tasks.index_safe_events_task[9a5fb258-241b-4364-817d-abced5871aba] succeeded in 0.27043013399998017s: 0
safe-infrastructure-txs-scheduler-1                      | 2023-01-30 08:07:20,183 [INFO] [???/???] Scheduler: Sending due task Index ERC20/721 Events (safe_transaction_service.history.tasks.index_erc20_events_task)
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-30 08:07:20,188 [INFO] [181af6dd/index_erc20_events_task] Start indexing of erc20/721 events
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-30 08:07:20,890 [INFO] [181af6dd/index_erc20_events_task] Indexing of erc20/721 events task processed 0 events
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-30 08:07:20,897 [INFO] [181af6dd/index_erc20_events_task] Task safe_transaction_service.history.tasks.index_erc20_events_task[181af6dd-0611-45e8-ba47-833a25e0b27c] succeeded in 0.7097884130002967s: 0
safe-infrastructure-txs-scheduler-1                      | 2023-01-30 08:07:22,178 [INFO] [???/???] Scheduler: Sending due task Index new Proxies (safe_transaction_service.history.tasks.index_new_proxies_task)
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-30 08:07:22,181 [INFO] [67bf8598/index_new_proxies_task] Start indexing of new proxies
safe-infrastructure-txs-scheduler-1                      | 2023-01-30 08:07:22,212 [INFO] [???/???] Scheduler: Sending due task Index Safe events (L2) (safe_transaction_service.history.tasks.index_safe_events_task)
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-30 08:07:22,216 [INFO] [5ce8a515/index_safe_events_task] Start indexing of Safe events
safe-infrastructure-txs-worker-indexer-1                 | 2023-01-30 08:07:22,444 [INFO] [67bf8598/index_new_proxies_task] Proxy indexing found 0 proxies
moisses89 commented 1 year ago

@gzliudan the PR that you mention was merged. Could you get correctly the safe information?

gzliudan commented 1 year ago

The below PRs about xdc blockchain are all merged now:

I‘m waiting the docker for safe-transaction-service v4.15.0 . I will try to test again when it is out.

gzliudan commented 1 year ago

I tested safe-infrastructure again with below configuration:

REVERSE_PROXY_PORT=8000
REVERSE_PROXY_UI_PORT=8080

# latest tag does not support safe-eth-py 5.0.0, only staging tag support safe-eth-py 5.0.0,
CFG_VERSION=staging
CGW_VERSION=latest
TXS_VERSION=latest
UI_VERSION=latest

RPC_NODE_URL=https://erpc.apothem.network

The old problem disappeared, I can create safe in web brower successfully now. But I found the containers of safe-infrastructure-txs-worker-contracts-tokens-1 and safe-infrastructure-txs-worker-notifications-webhooks-1 exited with code 1. Would you please look at my log file: all-1.log ? BTW, how to verify if safe with a new network is running OK ?

moisses89 commented 1 year ago

I tested safe-infrastructure again with below configuration:

REVERSE_PROXY_PORT=8000
REVERSE_PROXY_UI_PORT=8080

# latest tag does not support safe-eth-py 5.0.0, only staging tag support safe-eth-py 5.0.0,
CFG_VERSION=staging
CGW_VERSION=latest
TXS_VERSION=latest
UI_VERSION=latest

RPC_NODE_URL=https://erpc.apothem.network

The old problem disappeared, I can create safe in web brower successfully now. But I found the containers of safe-infrastructure-txs-worker-contracts-tokens-1 and safe-infrastructure-txs-worker-notifications-webhooks-1 exited with code 1. Would you please look at my log file: all-1.log ? BTW, how to verify if safe with a new network is running OK ?

Could you paste only the error message instead the all log?

gzliudan commented 1 year ago

Below are messages before safe-infrastructure-txs-worker-contracts-tokens-1 and safe-infrastructure-txs-worker-notifications-webhooks-1 exited with code 1:

safe-infrastructure-txs-worker-notifications-webhooks-1  | 2023-02-10 05:37:58,963 [WARNING] [MainProcess] Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f846449e800>: Failed to establish a new connection: [Errno 111] Connection refused')': /
safe-infrastructure-txs-worker-notifications-webhooks-1  | 2023-02-10 05:37:58,963 [WARNING] [MainProcess] Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f846449e4d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /
safe-infrastructure-txs-worker-notifications-webhooks-1  | 2023-02-10 05:37:58,963 [WARNING] [MainProcess] Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f84647df190>: Failed to establish a new connection: [Errno 111] Connection refused')': /
safe-infrastructure-txs-worker-notifications-webhooks-1  | Traceback (most recent call last):
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/urllib3/connection.py", line 174, in _new_conn
safe-infrastructure-txs-worker-notifications-webhooks-1  |     conn = connection.create_connection(
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/urllib3/util/connection.py", line 95, in create_connection
safe-infrastructure-txs-worker-notifications-webhooks-1  |     raise err
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/urllib3/util/connection.py", line 85, in create_connection
safe-infrastructure-txs-worker-notifications-webhooks-1  |     sock.connect(sa)
safe-infrastructure-txs-worker-notifications-webhooks-1  | ConnectionRefusedError: [Errno 111] Connection refused
safe-infrastructure-txs-worker-notifications-webhooks-1  | 
safe-infrastructure-txs-worker-notifications-webhooks-1  | During handling of the above exception, another exception occurred:
safe-infrastructure-txs-worker-notifications-webhooks-1  | 
safe-infrastructure-txs-worker-notifications-webhooks-1  | Traceback (most recent call last):
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 703, in urlopen
safe-infrastructure-txs-worker-notifications-webhooks-1  |     httplib_response = self._make_request(
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 398, in _make_request
safe-infrastructure-txs-worker-notifications-webhooks-1  |     conn.request(method, url, **httplib_request_kw)
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/urllib3/connection.py", line 239, in request
safe-infrastructure-txs-worker-notifications-webhooks-1  |     super(HTTPConnection, self).request(method, url, body=body, headers=headers)
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/http/client.py", line 1282, in request
safe-infrastructure-txs-worker-notifications-webhooks-1  |     self._send_request(method, url, body, headers, encode_chunked)
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/http/client.py", line 1328, in _send_request
safe-infrastructure-txs-worker-notifications-webhooks-1  |     self.endheaders(body, encode_chunked=encode_chunked)
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/http/client.py", line 1277, in endheaders
safe-infrastructure-txs-worker-notifications-webhooks-1  |     self._send_output(message_body, encode_chunked=encode_chunked)
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/http/client.py", line 1037, in _send_output
safe-infrastructure-txs-worker-notifications-webhooks-1  |     self.send(msg)
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/http/client.py", line 975, in send
safe-infrastructure-txs-worker-notifications-webhooks-1  |     self.connect()
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/urllib3/connection.py", line 205, in connect
safe-infrastructure-txs-worker-notifications-webhooks-1  |     conn = self._new_conn()
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/urllib3/connection.py", line 186, in _new_conn
safe-infrastructure-txs-worker-notifications-webhooks-1  |     raise NewConnectionError(
safe-infrastructure-txs-worker-notifications-webhooks-1  | urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7f84647dc490>: Failed to establish a new connection: [Errno 111] Connection refused
safe-infrastructure-txs-worker-notifications-webhooks-1  | 
safe-infrastructure-txs-worker-notifications-webhooks-1  | During handling of the above exception, another exception occurred:
safe-infrastructure-txs-worker-notifications-webhooks-1  | 
safe-infrastructure-txs-worker-notifications-webhooks-1  | Traceback (most recent call last):
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/requests/adapters.py", line 489, in send
safe-infrastructure-txs-worker-notifications-webhooks-1  |     resp = conn.urlopen(
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 815, in urlopen
safe-infrastructure-txs-worker-notifications-webhooks-1  |     return self.urlopen(
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 815, in urlopen
safe-infrastructure-txs-worker-notifications-webhooks-1  |     return self.urlopen(
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 815, in urlopen
safe-infrastructure-txs-worker-notifications-webhooks-1  |     return self.urlopen(
safe-infrastructure-txs-worker-notifications-webhooks-1  |   [Previous line repeated 57 more times]
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 787, in urlopen
safe-infrastructure-txs-worker-notifications-webhooks-1  |     retries = retries.increment(
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/urllib3/util/retry.py", line 592, in increment
safe-infrastructure-txs-worker-notifications-webhooks-1  |     raise MaxRetryError(_pool, url, error or ResponseError(cause))
safe-infrastructure-txs-worker-notifications-webhooks-1  | urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', port=8545): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f84647dc490>: Failed to establish a new connection: [Errno 111] Connection refused'))
safe-infrastructure-txs-worker-notifications-webhooks-1  | 
safe-infrastructure-txs-worker-notifications-webhooks-1  | During handling of the above exception, another exception occurred:
safe-infrastructure-txs-worker-notifications-webhooks-1  | 
safe-infrastructure-txs-worker-notifications-webhooks-1  | Traceback (most recent call last):
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/app/manage.py", line 30, in <module>
safe-infrastructure-txs-worker-notifications-webhooks-1  |     execute_from_command_line(sys.argv)
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/django/core/management/__init__.py", line 446, in execute_from_command_line
safe-infrastructure-txs-worker-notifications-webhooks-1  |     utility.execute()
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/django/core/management/__init__.py", line 440, in execute
safe-infrastructure-txs-worker-notifications-webhooks-1  |     self.fetch_command(subcommand).run_from_argv(self.argv)
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/django/core/management/base.py", line 402, in run_from_argv
safe-infrastructure-txs-worker-notifications-webhooks-1  |     self.execute(*args, **cmd_options)
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/django/core/management/base.py", line 448, in execute
safe-infrastructure-txs-worker-notifications-webhooks-1  |     output = self.handle(*args, **options)
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/app/safe_transaction_service/history/management/commands/check_chainid_matches.py", line 12, in handle
safe-infrastructure-txs-worker-notifications-webhooks-1  |     ethereum_network = get_ethereum_network()
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/app/safe_transaction_service/utils/ethereum.py", line 8, in get_ethereum_network
safe-infrastructure-txs-worker-notifications-webhooks-1  |     return EthereumClientProvider().get_network()
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/gnosis/eth/ethereum_client.py", line 1415, in get_network
safe-infrastructure-txs-worker-notifications-webhooks-1  |     return EthereumNetwork(self.get_chain_id())
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/gnosis/eth/ethereum_client.py", line 1399, in get_chain_id
safe-infrastructure-txs-worker-notifications-webhooks-1  |     return int(self.w3.eth.chain_id)
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/web3/eth.py", line 632, in chain_id
safe-infrastructure-txs-worker-notifications-webhooks-1  |     return self._chain_id()
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/web3/module.py", line 57, in caller
safe-infrastructure-txs-worker-notifications-webhooks-1  |     result = w3.manager.request_blocking(method_str,
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/web3/manager.py", line 197, in request_blocking
safe-infrastructure-txs-worker-notifications-webhooks-1  |     response = self._make_request(method, params)
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/web3/manager.py", line 150, in _make_request
safe-infrastructure-txs-worker-notifications-webhooks-1  |     return request_func(method, params)
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/web3/middleware/cache.py", line 134, in middleware
safe-infrastructure-txs-worker-notifications-webhooks-1  |     response = make_request(method, params)
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/web3/middleware/formatting.py", line 94, in middleware
safe-infrastructure-txs-worker-notifications-webhooks-1  |     response = make_request(method, params)
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/web3/middleware/gas_price_strategy.py", line 90, in middleware
safe-infrastructure-txs-worker-notifications-webhooks-1  |     return make_request(method, params)
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/web3/middleware/formatting.py", line 94, in middleware
safe-infrastructure-txs-worker-notifications-webhooks-1  |     response = make_request(method, params)
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/web3/middleware/attrdict.py", line 33, in middleware
safe-infrastructure-txs-worker-notifications-webhooks-1  |     response = make_request(method, params)
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/web3/middleware/formatting.py", line 94, in middleware
safe-infrastructure-txs-worker-notifications-webhooks-1  |     response = make_request(method, params)
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/web3/middleware/formatting.py", line 94, in middleware
safe-infrastructure-txs-worker-notifications-webhooks-1  |     response = make_request(method, params)
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/web3/middleware/formatting.py", line 94, in middleware
safe-infrastructure-txs-worker-notifications-webhooks-1  |     response = make_request(method, params)
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/web3/middleware/buffered_gas_estimate.py", line 40, in middleware
safe-infrastructure-txs-worker-notifications-webhooks-1  |     return make_request(method, params)
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/web3/middleware/formatting.py", line 94, in middleware
safe-infrastructure-txs-worker-notifications-webhooks-1  |     response = make_request(method, params)
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/web3/middleware/exception_retry_request.py", line 114, in middleware
safe-infrastructure-txs-worker-notifications-webhooks-1  |     return make_request(method, params)
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/web3/providers/rpc.py", line 88, in make_request
safe-infrastructure-txs-worker-notifications-webhooks-1  |     raw_response = make_post_request(
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/web3/_utils/request.py", line 112, in make_post_request
safe-infrastructure-txs-worker-notifications-webhooks-1  |     response = session.post(endpoint_uri, data=data, *args, **kwargs)  # type: ignore
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 635, in post
safe-infrastructure-txs-worker-notifications-webhooks-1  |     return self.request("POST", url, data=data, json=json, **kwargs)
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 587, in request
safe-infrastructure-txs-worker-notifications-webhooks-1  |     resp = self.send(prep, **send_kwargs)
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 701, in send
safe-infrastructure-txs-worker-notifications-webhooks-1  |     r = adapter.send(request, **kwargs)
safe-infrastructure-txs-worker-notifications-webhooks-1  |   File "/usr/local/lib/python3.10/site-packages/requests/adapters.py", line 565, in send
safe-infrastructure-txs-worker-notifications-webhooks-1  |     raise ConnectionError(e, request=request)
safe-infrastructure-txs-worker-notifications-webhooks-1  | requests.exceptions.ConnectionError: HTTPConnectionPool(host='localhost', port=8545): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f84647dc490>: Failed to establish a new connection: [Errno 111] Connection refused'))
safe-infrastructure-txs-worker-contracts-tokens-1 exited with code 1
safe-infrastructure-nginx-1                              | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
safe-infrastructure-nginx-1                              | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
safe-infrastructure-nginx-1                              | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
safe-infrastructure-nginx-1                              | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
safe-infrastructure-txs-worker-indexer-1                 | ==> 05:37:59 ==> Setting up service... 
safe-infrastructure-nginx-1                              | 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
safe-infrastructure-nginx-1                              | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
safe-infrastructure-nginx-1                              | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
safe-infrastructure-nginx-1                              | /docker-entrypoint.sh: Configuration complete; ready for start up
safe-infrastructure-cfg-web-1                            | Operations to perform:
safe-infrastructure-cfg-web-1                            |   Apply all migrations: admin, auth, chains, contenttypes, safe_apps, sessions
safe-infrastructure-cfg-web-1                            | Running migrations:
safe-infrastructure-cfg-web-1                            |   No migrations to apply.
safe-infrastructure-cfg-web-1                            | ==> 05:37:59 ==> Running Gunicorn...
safe-infrastructure-cfg-web-1                            | [2023-02-10 05:38:00 +0000] [7] [INFO] Starting gunicorn 20.1.0
safe-infrastructure-cfg-web-1                            | [2023-02-10 05:38:00 +0000] [7] [INFO] Listening at: unix:/nginx/gunicorn.socket,http://0.0.0.0:8001 (7)
safe-infrastructure-cfg-web-1                            | [2023-02-10 05:38:00 +0000] [7] [INFO] Using worker: sync
safe-infrastructure-cfg-web-1                            | [2023-02-10 05:38:00 +0000] [17] [INFO] Booting worker with pid: 17
safe-infrastructure-cfg-web-1                            | [2023-02-10 05:38:00 +0000] [18] [INFO] Booting worker with pid: 18
safe-infrastructure-txs-worker-notifications-webhooks-1 exited with code 1
gzliudan commented 1 year ago

This issue is solved. I will open an issue for the new problem.

comverser commented 1 year ago

t seems that safe-transaction-service does not support xdc blockchain now: https://github.com/safe-global/safe-transaction-service/pull/1260 .

Hello @gzliudan @moisses89, want to deploy the Safe web app on the WEMIX3.0 network. Do I need to follow the same procedure you used? I was under the impression that I wouldn't need to submit a pull request to the safe-transaction-service repository, as not all networks listed in the safe-deployments repository (such as this example) submited the pull request.

Would you please answer my questions?

Thank you for for reading this!

gzliudan commented 1 year ago

@comverser To support new network, you must submit PR to below repositories:

comverser commented 1 year ago

@gzliudan,

  1. What about "https://github.com/safe-global/safe-singleton-factory". As far as i know, this repo is needed to get pre-determined contract addresses.
  2. How do you know that we must submit PRs to the repositories? I got this doc from official support, but it does not provide any clarification on the matter.
  3. My objective is to deploy the Safe app on a custom EVM-compatible network using this repository. In other words, I do not intend for the custom network to be listed alongside officially supported networks such as Polygon, Arbitrum, Volta, and Goerli. Despite this, do I still need to submit all the pull request to the repositories you mentioned?
gzliudan commented 1 year ago
  1. What about "https://github.com/safe-global/safe-singleton-factory". As far as i know, this repo is needed to get pre-determined contract addresses.

I do not know this repository.


  1. How do you know that we must submit PRs to the repositories? I got this doc from official support, but it does not provide any clarification on the matter.

You must deploy safe contracts on your chain first. Then submit a PR to https://github.com/safe-global/safe-deployments/. For other repositories, you can wait safe staff to update.


  1. My objective is to deploy the Safe app on a custom EVM-compatible network using this repository. In other words, I do not intend for the custom network to be listed alongside officially supported networks such as Polygon, Arbitrum, Volta, and Goerli. Despite this, do I still need to submit all the pull request to the repositories you mentioned?

Yes.

comverser commented 1 year ago
  1. What about "https://github.com/safe-global/safe-singleton-factory". As far as i know, this repo is needed to get pre-determined contract addresses.

I do not know this repository.

@gzliudan, I need to know it because (1) the error message as shown below gives me direct instruction, and (2) it is mentioned in the "Replay protection" section of the "safe-contracts" repository.

Is there a way to solve the error without having to make changes to the "safe-singleton-factory" repository?

cf. When I try to deploy the "Safe-contracts" using the yarn deploy-all custom command, this is the message that appears indicating an error.

Error: ERROR processing /Users/comverser/dev/test/safe-contracts/src/deploy/deploy_accessors.ts:
Error: 
Safe factory not found for network 1112. You can request a new deployment at https://github.com/safe-global/safe-singleton-factory.
For more information, see https://github.com/safe-global/safe-contracts#replay-protection-eip-155
comverser commented 1 year ago
  1. My objective is to deploy the Safe app on a custom EVM-compatible network using this repository. In other words, I do not intend for the custom network to be listed alongside officially supported networks such as Polygon, Arbitrum, Volta, and Goerli. Despite this, do I still need to submit all the pull request to the repositories you mentioned?

Yes.

And can you please explain why some networks listed in the "safe-deployments" repository (such as the one mentioned in this issue) have not submitted pull requests to the repositories you listed?

For example, I searched for pull requests that include the network names "xdc", "apothem", and "IoTeX" in the "web-core" repository, but I didn't find any results.

Even when I searched using your nickname "gzliudan", this is the only result I found in the repository that is not related to adding a new network. (cf. I saw that you added new network of "xdc apothem".)

Thank you in advance for your help.

gzliudan commented 1 year ago

XDC chain is supported in safe-deployments from v1.18.0. I submitted a PR to https://github.com/safe-global/web-core. It's merged and can be find in commits lists on Jan 10, 2023. So web-core use safe-deployments v1.18.0 from v1.3.0. Then web-core support XDC chain from v1.3.0.

gzliudan commented 1 year ago

All repositories which depend on safe-deployments should be updated. The safe team will do these tasks later. You can do it by yourself also if in urgent case.

comverser commented 1 year ago

Can you check that this schematic diagram below is correct?

flowchart TD
    A[safe-singleton-factory] -->|Replay protection EIP-155| B(safe-deployments)
    B -->|version upgrade of safe-deployments| D[safe-core-sdk]
    B -->|version upgrade of safe-deployments| E[web-core]
    B -->|version upgrade of safe-deployments| F[safe-eth-py]
    B -->|version upgrade of safe-deployments| G[safe-config-service]
    B -->|version upgrade of safe-deployments| H[safe-transaction-service]
gzliudan commented 1 year ago

The safe-eth-py does not depends on safe-deployments. And safe-core-sdk is depend by many repositories, such as web-core. Ony when both of safe-core-sdk and safe-deployments in web-core are upgraded, then web-core can support your new chain.

gzliudan commented 1 year ago

The safe-eth-py is depended by safe-transaction-service and safe-config-service.

comverser commented 1 year ago

@gzliudan I appreciate you sharing your knowledge with me! I am able to draw a diagram as shown below due to your information even if the diagram is not accurate. (Modified after receiving the new comment)

flowchart TD
    A(User wanting to use Safe web app on the custom network) -->|Deploy contracts on the custom network| C[safe-contracts]
    A -->|PR to add the custom network| D[safe-deployments]
    C --> D[safe-deployments]
    D --> E[web-core]
    D --> G[safe-config-service]
    D --> H[safe-transaction-service]
    E --> I[safe-core-sdk]
    H --> F[safe-eth-py]
    G --> F[safe-eth-py]
    I --> Y[safe-infrastructure]
    F --> Y
    Y -->|Run the docker container| Z(Finally, Safe web app works on the custom network!)
gzliudan commented 1 year ago

My first step is deploy safe-contracts on network, the second step is submit PR to safe-deployments using the outputs of the first step.