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

Deployment Failure: multisig_wallet.scilla Contract from ZRC-4 on ZQ2 v0.3.1-215-g615768e-dirty #1862

Open
PurrProof opened this issue Nov 20, 2024 · 5 comments
Assignees
Labels
bug Something isn't working

Comments

@PurrProof
Copy link

Issue Description

The multisig_wallet.scilla contract (referenced in ZRC-4) cannot be deployed on Zilliqa version v0.3.1-215-g615768e-dirty. The deployment consistently fails with the following warning:

Partial Error Log

2024-11-20T15:31:58.394846Z  WARN zilliqa::consensus: 913: transaction failed to execute hash=7bc4c5388a0ecf27b913adfa7d24e3195057871ebb86eed7ebe0138a18048581 error=data did not match any variant of untagged enum OutputOrError

Stack backtrace:
   0: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from
             at ./usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/anyhow-1.0.93/src/backtrace.rs:27:14
   1: <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual
             at ./rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/core/src/result.rs:1989:27
   2: zilliqa::scilla::Scilla::check_contract
             at ./zilliqa/zilliqa/src/scilla.rs:342:15
   3: zilliqa::exec::scilla_create
             at ./zilliqa/zilliqa/src/exec.rs:1396:15

Zilliqa Version

  • Commit: 615768eaae7b28c6152003ca484dee4da2ae0ee1
  • Version: v0.3.1-215-g615768e-dirty

References

Steps to Reproduce

  1. Attempt to deploy the multisig_wallet.scilla contract using the Zilliqa JSON-RPC API.
  2. Observe the failure with the provided error.

Expected Behavior

The contract should deploy successfully, as described in ZRC-4.

Actual Behavior

The deployment fails with the above error.

Additional Information

The complete log and additional details can be provided if necessary.

@PurrProof
Copy link
Author

multisig.txt

@PurrProof
Copy link
Author

With another multisig implementation I'm getting even worse situation:

2024-11-19T19:11:30.947214Z  INFO zilliqa::exec: 1650: output=InvokeOutput { accepted: false, messages: [], events: [], gas_remaining: ScillaGas(39585) }
2024-11-19T19:11:33.151764Z  INFO zilliqa::node: 416: seen new txn Zilliqa { tx: TxZilliqa { chain_id: 700, nonce: 42, gas_price: ZilAmount(2000000016), gas_limit: ScillaGas(40000), to_addr: 0x54456113078c9fe9de02d76a031ef238559399f6, amount: ZilAmount(0), code: "", data: "{\"_tag\":\"SubmitUpdateReceivingAddrTransaction\",\"params\":[{\"vname\":\"calleeContract\",\"type\":\"ByStr20\",\"value\":\"0xab90261cd957c1041ebd63ed74fe8dc16242f615\"},{\"vname\":\"new_addr\",\"type\":\"ByStr20\",\"value\":\"0x8905ae7f0a80c2295347c67e3d95e1b133b61672\"}]}" }, key: PublicKey { point: AffinePoint { x: FieldElement(FieldElementImpl { value: FieldElement5x52([546542052194041, 1222893046007904, 2424776026304968, 3431595440928863, 273986869105240]), magnitude: 1, normalized: true }), y: FieldElement(FieldElementImpl { value: FieldElement5x52([2811955970106994, 2695229990876875, 2876268033147049, 4082765816626786, 62188896084781]), magnitude: 1, normalized: true }), infinity: 0 } }, sig: ecdsa::Signature<Secp256k1>(92BB956352A4E4AFD6AC81BE7972065C391F51CD76AB48EAE344249F5C117BF794223F5B8DCD9837D0A4DFE6ABB82A44CFEB6FFF67F1E22A88106F32CD5AD421) } hash=4a9386c15dcb5f6515d37e1a0dd2f7740c48c0587b9eee5b420f4d05197bbe74
2024-11-19T19:11:34.784021Z  INFO zilliqa::exec: 569: executing txn hash=4a9386c15dcb5f6515d37e1a0dd2f7740c48c0587b9eee5b420f4d05197bbe74 txn=VerifiedTransaction { tx: Zilliqa { tx: TxZilliqa { chain_id: 700, nonce: 42, gas_price: ZilAmount(2000000016), gas_limit: ScillaGas(40000), to_addr: 0x54456113078c9fe9de02d76a031ef238559399f6, amount: ZilAmount(0), code: "", data: "{\"_tag\":\"SubmitUpdateReceivingAddrTransaction\",\"params\":[{\"vname\":\"calleeContract\",\"type\":\"ByStr20\",\"value\":\"0xab90261cd957c1041ebd63ed74fe8dc16242f615\"},{\"vname\":\"new_addr\",\"type\":\"ByStr20\",\"value\":\"0x8905ae7f0a80c2295347c67e3d95e1b133b61672\"}]}" }, key: PublicKey { point: AffinePoint { x: FieldElement(FieldElementImpl { value: FieldElement5x52([546542052194041, 1222893046007904, 2424776026304968, 3431595440928863, 273986869105240]), magnitude: 1, normalized: true }), y: FieldElement(FieldElementImpl { value: FieldElement5x52([2811955970106994, 2695229990876875, 2876268033147049, 4082765816626786, 62188896084781]), magnitude: 1, normalized: true }), infinity: 0 } }, sig: ecdsa::Signature<Secp256k1>(92BB956352A4E4AFD6AC81BE7972065C391F51CD76AB48EAE344249F5C117BF794223F5B8DCD9837D0A4DFE6ABB82A44CFEB6FFF67F1E22A88106F32CD5AD421) }, signer: 0x9cb422d2fabe9622ed706ad5d9d3ffd2cdd1c001, hash: 4a9386c15dcb5f6515d37e1a0dd2f7740c48c0587b9eee5b420f4d05197bbe74 }
2024-11-19T19:11:34.817910Z  INFO zilliqa::exec: 1650: output=InvokeOutput { accepted: false, messages: [], events: [ScillaEvent { event_name: "Transaction created", params: [ParamValue { name: "transactionId", value: String("0"), ty: "Uint32" }] }, ScillaEvent { event_name: "Transaction signed", params: [ParamValue { name: "transactionId", value: String("0"), ty: "Uint32" }] }], gas_remaining: ScillaGas(39621) }
2024-11-19T19:11:34.825569Z  INFO zilliqa::consensus: 3051: applied transaction TransactionReceipt { block_hash: 0000000000000000000000000000000000000000000000000000000000000000, index: 0, tx_hash: 4a9386c15dcb5f6515d37e1a0dd2f7740c48c0587b9eee5b420f4d05197bbe74, success: true, gas_used: EvmGas(159180), cumulative_gas_used: EvmGas(159180), contract_address: None, logs: [Scilla(ScillaLog { address: 0x54456113078c9fe9de02d76a031ef238559399f6, event_name: "Transaction created", params: [ParamValue { name: "transactionId", value: String("0"), ty: "Uint32" }] }), Scilla(ScillaLog { address: 0x54456113078c9fe9de02d76a031ef238559399f6, event_name: "Transaction signed", params: [ParamValue { name: "transactionId", value: String("0"), ty: "Uint32" }] })], transitions: [], accepted: Some(false), errors: {}, exceptions: [] } receipt=TransactionReceipt { block_hash: 0000000000000000000000000000000000000000000000000000000000000000, index: 0, tx_hash: 4a9386c15dcb5f6515d37e1a0dd2f7740c48c0587b9eee5b420f4d05197bbe74, success: true, gas_used: EvmGas(159180), cumulative_gas_used: EvmGas(159180), contract_address: None, logs: [Scilla(ScillaLog { address: 0x54456113078c9fe9de02d76a031ef238559399f6, event_name: "Transaction created", params: [ParamValue { name: "transactionId", value: String("0"), ty: "Uint32" }] }), Scilla(ScillaLog { address: 0x54456113078c9fe9de02d76a031ef238559399f6, event_name: "Transaction signed", params: [ParamValue { name: "transactionId", value: String("0"), ty: "Uint32" }] })], transitions: [], accepted: Some(false), errors: {}, exceptions: [] }
2024-11-19T19:11:36.371901Z  INFO zilliqa::node: 416: seen new txn Zilliqa { tx: TxZilliqa { chain_id: 700, nonce: 43, gas_price: ZilAmount(2000000016), gas_limit: ScillaGas(40000), to_addr: 0x54456113078c9fe9de02d76a031ef238559399f6, amount: ZilAmount(0), code: "", data: "{\"_tag\":\"ExecuteTransaction\",\"params\":[{\"vname\":\"transactionId\",\"type\":\"Uint32\",\"value\":\"0\"}]}" }, key: PublicKey { point: AffinePoint { x: FieldElement(FieldElementImpl { value: FieldElement5x52([546542052194041, 1222893046007904, 2424776026304968, 3431595440928863, 273986869105240]), magnitude: 1, normalized: true }), y: FieldElement(FieldElementImpl { value: FieldElement5x52([2811955970106994, 2695229990876875, 2876268033147049, 4082765816626786, 62188896084781]), magnitude: 1, normalized: true }), infinity: 0 } }, sig: ecdsa::Signature<Secp256k1>(85BC0176E9B2988F561EABA1AA0F6B0BCDCD866B198A6A6B138C79000D251C3EBE680D42EE9A55CD9464D5076812F93E2C8222B089E286947943696F7D000C09) } hash=6a11a6ff7225cf5604262f6f7411b2dbc3101763d891df3f6e0f079119c7cdb1
2024-11-19T19:11:41.391777Z  INFO zilliqa::consensus: 545: ***** TIMEOUT: View is now 2634 -> 2635. Next view change in 10000ms
2024-11-19T19:11:51.733360Z  INFO zilliqa::consensus: 545: ***** TIMEOUT: View is now 2635 -> 2636. Next view change in 20000ms
2024-11-19T19:12:11.846325Z  INFO zilliqa::consensus: 545: ***** TIMEOUT: View is now 2636 -> 2637. Next view change in 40000ms
2024-11-19T19:12:52.140309Z  INFO zilliqa::consensus: 545: ***** TIMEOUT: View is now 2637 -> 2638. Next view change in 80000ms
2024-11-19T19:14:12.431603Z  INFO zilliqa::consensus: 545: ***** TIMEOUT: View is now 2638 -> 2639. Next view change in 160000ms
2024-11-19T19:16:52.902921Z  INFO zilliqa::consensus: 545: ***** TIMEOUT: View is now 2639 -> 2640. Next view change in 320000ms

After that ZilliqaNode0 doesn't work at all, so I have to restart docker containers.

@DrZoltanFazekas DrZoltanFazekas added the bug Something isn't working label Nov 22, 2024
@DrZoltanFazekas DrZoltanFazekas added the Aventurine Required for proto-mainnet launch label Nov 25, 2024
@saeed-zil
Copy link
Contributor

@PurrProof Hey! :) I wasn't able to reproduce your issue. Here's the transaction details on zq2 prototestnet. It would be great if you could share more information or your JSON-RPC requests.

@PurrProof
Copy link
Author

I start zilliqa via docker compose up -d from the root zq2 folder:

CONTAINER ID   IMAGE                                                                          COMMAND                  CREATED         STATUS          PORTS                              NAMES
6f57233a0d93   asia-docker.pkg.dev/prj-p-devops-services-tvwmrf63/zilliqa/eth-spout:v1.3.72   "/eth-spout"             5 minutes ago   Up 5 minutes    0.0.0.0:5200->80/tcp               zq2-faucet-1
0e7018bb3eaa   grafana/grafana-oss:latest                                                     "/run.sh"                5 minutes ago   Up 5 minutes    0.0.0.0:3000->3000/tcp             zq2-grafana-1
8f4e3c1fee65   zilliqa/otterscan:develop                                                      "/docker-entrypoint.…"   5 minutes ago   Up 5 minutes    0.0.0.0:5100->80/tcp               zq2-otterscan-1
b9ca6bcb5d3d   grafana/mimir:latest                                                           "/bin/mimir ./mimir …"   5 minutes ago   Up 5 minutes    8080/tcp, 0.0.0.0:9009->9009/tcp   zq2-mimir-1
d56144627c7e   zq2-node0                                                                      "/run.sh db670cbff28…"   5 minutes ago   Up 5 minutes                                       zilliqanode3
bbbe9ebef4c5   zq2-node0                                                                      "/run.sh 65d7f4da9be…"   5 minutes ago   Up 5 minutes    0.0.0.0:4201->4201/tcp             zilliqanode0
7a2903aa5ef7   zq2-node0                                                                      "/run.sh 56d7a450d75…"   5 minutes ago   Up 5 minutes                                       zilliqanode2
0ec11fa2429a   zq2-node0                                                                      "/run.sh 62070b1a3b5…"   5 minutes ago   Up 5 minutes                                       zilliqanode1
eabdfd39b8f5   otel/opentelemetry-collector:latest                                            "/otelcol --config=/…"   5 minutes ago   Up 5 minutes    4317-4318/tcp, 55678-55679/tcp     zq2-otel-collector-1

ZQ2 version is:

    "id": "1",
    "jsonrpc": "2.0",
    "method": "GetVersion",
    "params": [""]
}' -H "Content-Type: application/json" -X POST "http://127.0.0.1:4201"
{"jsonrpc":"2.0","id":"1","result":{"Commit":"615768eaae7b28c6152003ca484dee4da2ae0ee1","Version":"v0.3.1-215-g615768e-dirty"}}

Mitm flow in raw format: mitm_flow_raw.txt
Complete Node0 log: node0.txt

I'll try with the latest pulled/rebuilt ZQ2, and come back here then.

@PurrProof
Copy link
Author

Yes, I've reproduced the problem with the latest ZQ2:

$ docker compose up -d
[+] Running 1/1
 ✔ otterscan Pulled                                                                                                                                                                      6.8s 
[+] Running 7/7
 ✔ Network zq2_testnet        Created                                                                                                                                                    0.1s 
 ✔ Container zilliqanode1     Started                                                                                                                                                    0.6s 
 ✔ Container zilliqanode3     Started                                                                                                                                                    0.8s 
 ✔ Container zq2-otterscan-1  Started                                                                                                                                                    0.9s 
 ✔ Container zilliqanode0     Started                                                                                                                                                    0.7s 
 ✔ Container zilliqanode2     Started                                                                                                                                                    0.7s 
 ✔ Container zq2-faucet-1     Started  
$ curl -d '{                          
    "id": "1",
    "jsonrpc": "2.0",
    "method": "GetVersion",
    "params": [""]
}' -H "Content-Type: application/json" -X POST "http://127.0.0.1:4201"
{"jsonrpc":"2.0","id":"1","result":{"Commit":"e4a1097b14580ce63f04e968090c51b76b7070ac","Version":"v0.3.1-255-ge4a1097-dirty"}}

mitm_flow_raw.txt
node0.txt

@DrZoltanFazekas DrZoltanFazekas removed the Aventurine Required for proto-mainnet launch label Dec 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants