Skip to content

Commit 94280c1

Browse files
committed
Update call_tracer test data such that tests pass
1 parent a1a4023 commit 94280c1

13 files changed

+83
-47
lines changed

eth/tracers/testdata/call_tracer/create.json

+6-5
Large diffs are not rendered by default.

eth/tracers/testdata/call_tracer/deep_calls.json

+7-12
Large diffs are not rendered by default.

eth/tracers/testdata/call_tracer/delegatecall.json

+7-7
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
"nonce": "1",
2929
"storage": {}
3030
},
31-
"0xa94f5374Fce5edBC8E2a8697C15331677e6EbF0B": {
31+
"0xa529806c67cc6486d4d62024471772f47f6fd672": {
3232
"balance": "0x67820e39ac8fe9800",
3333
"code": "0x",
3434
"nonce": "68",
@@ -43,7 +43,8 @@
4343
"eip150Hash": "0x41941023680923e0fe4d74a34bdac8141f2540e3ae90623718e47d66d1ca4a2d",
4444
"eip155Block": 10,
4545
"eip158Block": 10,
46-
"homesteadBlock": 0
46+
"homesteadBlock": 0,
47+
"donutBlock": 0
4748
},
4849
"extraData": "0xd783010502846765746887676f312e372e33856c696e7578",
4950
"hash": "0x0855914bdc581bccdc62591fd438498386ffb59ea4d5361ed5c3702e26e2c72f",
@@ -54,7 +55,7 @@
5455
"timestamp": "1479735912",
5556
"totalDifficulty": "90744064339"
5657
},
57-
"input": "0xf88a448504a817c800832dc6c08094269296dddce321a6bcbaa2f0181127593d732cba80a47065cb480000000000000000000000001523e55a1ca4efbae03355775ae89f8d7699ad9e2aa06abe4fd776b91cb479599b946e0a813be4fed0787c4f6cca12b3a8b64f996c7aa075e77565fccca9e28c79f4656d6da115d3bd358f0cd1b25d39ef6d7accdbfa2d",
58+
"input": "0xf889448504a817c800832dc6c094269296dddce321a6bcbaa2f0181127593d732cba80a47065cb480000000000000000000000001523e55a1ca4efbae03355775ae89f8d7699ad9e29a080ed81e4c5e9971a730efab4885566e2c868cd80bd4166d0ed8c287fdf181650a069d7c49215e3d4416ad239cd09dbb71b9f04c16b33b385d14f40b618a7a65115",
5859
"result": {
5960
"calls": [
6061
{
@@ -63,7 +64,7 @@
6364
"from": "0x13204f5d64c28326fd7bd05fd4ea855302d7f2ff",
6465
"gas": "0x2bf459",
6566
"gasUsed": "0x2aa",
66-
"input": "0x7d65837a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a94f5374Fce5edBC8E2a8697C15331677e6EbF0B",
67+
"input": "0x7d65837a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a529806c67cc6486d4d62024471772f47f6fd672",
6768
"output": "0x0000000000000000000000000000000000000000000000000000000000000001",
6869
"to": "0x42b02b5deeb78f34cd5ac896473b63e6c99a71a2",
6970
"type": "DELEGATECALL"
@@ -72,18 +73,17 @@
7273
"from": "0x269296dddce321a6bcbaa2f0181127593d732cba",
7374
"gas": "0x2cae73",
7475
"gasUsed": "0xa9d",
75-
"input": "0x5dbe47e8000000000000000000000000a94f5374Fce5edBC8E2a8697C15331677e6EbF0B",
76+
"input": "0x5dbe47e8000000000000000000000000a529806c67cc6486d4d62024471772f47f6fd672",
7677
"output": "0x0000000000000000000000000000000000000000000000000000000000000001",
7778
"to": "0x13204f5d64c28326fd7bd05fd4ea855302d7f2ff",
7879
"type": "CALL",
7980
"value": "0x0"
8081
}
8182
],
82-
"from": "0xa94f5374Fce5edBC8E2a8697C15331677e6EbF0B",
83+
"from": "0xa529806c67cc6486d4d62024471772f47f6fd672",
8384
"gas": "0x2d6e28",
8485
"gasUsed": "0x64bd",
8586
"input": "0x7065cb480000000000000000000000001523e55a1ca4efbae03355775ae89f8d7699ad9e",
86-
"output": "0x",
8787
"to": "0x269296dddce321a6bcbaa2f0181127593d732cba",
8888
"type": "CALL",
8989
"value": "0x0"

eth/tracers/testdata/call_tracer/inner_create_oog_outer_throw.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@
3838
"eip155Block": 10,
3939
"eip158Block": 10,
4040
"ethash": {},
41-
"homesteadBlock": 0
41+
"homesteadBlock": 0,
42+
"donutBlock": 0
4243
},
4344
"difficulty": "3451177886",
4445
"extraData": "0x4554482e45544846414e532e4f52472d4641313738394444",

eth/tracers/testdata/call_tracer/inner_instafail.json

+1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
"config": {
2929
"chainId": 3,
3030
"homesteadBlock": 0,
31+
"donutBlock": 0,
3132
"daoForkSupport": true,
3233
"eip150Block": 0,
3334
"eip150Hash": "0x41941023680923e0fe4d74a34bdac8141f2540e3ae90623718e47d66d1ca4a2d",

eth/tracers/testdata/call_tracer/inner_throw_outer_revert.json

+6-5
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"0x0000000000000000000000000000000000000000000000000000000000000008": "0x000000000000000000000000000000000000000000000000000000005a3b38e6"
1818
}
1919
},
20-
"0xa94f5374Fce5edBC8E2a8697C15331677e6EbF0B": {
20+
"0xd4fcab9f0a6dc0493af47c864f6f17a8a5e2e826": {
2121
"balance": "0x2a2dd979a35cf000",
2222
"code": "0x",
2323
"nonce": "0",
@@ -38,7 +38,8 @@
3838
"eip150Hash": "0x41941023680923e0fe4d74a34bdac8141f2540e3ae90623718e47d66d1ca4a2d",
3939
"eip155Block": 10,
4040
"eip158Block": 10,
41-
"homesteadBlock": 0
41+
"homesteadBlock": 0,
42+
"donutBlock": 0
4243
},
4344
"extraData": "0x566961425443",
4445
"hash": "0x6f37eb930a25da673ea1bb80fd9e32ddac19cdf7cd4bb2eac62cc13598624077",
@@ -49,22 +50,22 @@
4950
"timestamp": "1513681246",
5051
"totalDifficulty": "7162347056825919"
5152
},
52-
"input": "0xf86e808504e3b292008307dfa6809433056b5dcac09a9b4becad0e1dcf92c19bd0af76880e92596fd6290000802aa02984625ecd92a9c9b0e64e11354ac402fe46be84e76b0cb321daaf017c562169a01a6d683dec97fc72bf90b220281c963af825e1b103dfe4176ac87393847b5aa4",
53+
"input": "0xf86d808504e3b292008307dfa69433056b5dcac09a9b4becad0e1dcf92c19bd0af76880e92596fd62900008029a0e5f27bb66431f7081bb7f1f242003056d7f3f35414c352cd3d1848b52716dac2a07d0be78980edb0bd2a0678fc53aa90ea9558ce346b0d947967216918ac74ccea",
5354
"result": {
5455
"calls": [
5556
{
5657
"error": "invalid opcode: opcode 0xfe not defined",
5758
"from": "0x33056b5dcac09a9b4becad0e1dcf92c19bd0af76",
5859
"gas": "0x75fe3",
5960
"gasUsed": "0x75fe3",
60-
"input": "0xa9059cbb000000000000000000000000a94f5374Fce5edBC8E2a8697C15331677e6EbF0B00000000000000000000000000000000000000000000000000000000000002f4",
61+
"input": "0xa9059cbb000000000000000000000000d4fcab9f0a6dc0493af47c864f6f17a8a5e2e82600000000000000000000000000000000000000000000000000000000000002f4",
6162
"to": "0xe819f024b41358d2c08e3a868a5c5dd0566078d4",
6263
"type": "CALL",
6364
"value": "0x0"
6465
}
6566
],
6667
"error": "execution reverted",
67-
"from": "0xa94f5374Fce5edBC8E2a8697C15331677e6EbF0B",
68+
"from": "0xd4fcab9f0a6dc0493af47c864f6f17a8a5e2e826",
6869
"gas": "0x78d9e",
6970
"gasUsed": "0x76fc0",
7071
"input": "0x",

eth/tracers/testdata/call_tracer/oog.json

+5-4
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"0x296b66049cc4f9c8bf3d4f14752add261d1a980b39bdd194a7897baf39ac7579": "0x0000000000000000000000000000000000000000033b2e3c9fc9653f9e72b1e0"
1515
}
1616
},
17-
"0xa94f5374Fce5edBC8E2a8697C15331677e6EbF0B": {
17+
"0x94194bc2aaf494501d7880b61274a169f6502a54": {
1818
"balance": "0xea8c39a876d19888d",
1919
"code": "0x",
2020
"nonce": "265",
@@ -29,7 +29,8 @@
2929
"eip150Hash": "0x41941023680923e0fe4d74a34bdac8141f2540e3ae90623718e47d66d1ca4a2d",
3030
"eip155Block": 10,
3131
"eip158Block": 10,
32-
"homesteadBlock": 0
32+
"homesteadBlock": 0,
33+
"donutBlock": 0
3334
},
3435
"extraData": "0x4554482e45544846414e532e4f52472d4641313738394444",
3536
"hash": "0x03a0f62a8106793dafcfae7b75fd2654322062d585a19cea568314d7205790dc",
@@ -40,10 +41,10 @@
4041
"timestamp": "1513675347",
4142
"totalDifficulty": "7160543502214733"
4243
},
43-
"input": "0xf8ac820109855d21dba00082ca1d809443064693d3d38ad6a7cb579e0d6d9718c8aa6b6280b844a9059cbb000000000000000000000000e77b1ac803616503510bed0086e3a7be2627a69900000000000000000000000000000000000000000000000000000009502f90002aa0484a5afb71cdbc5c9430658ce75cd5020beb704312edd40a426222a3179bfa69a063323c4addf3df546cf5b4738cc3c1560ac280d949dabfacd521417e45a8af2f",
44+
"input": "0xf8ab820109855d21dba00082ca1d9443064693d3d38ad6a7cb579e0d6d9718c8aa6b6280b844a9059cbb000000000000000000000000e77b1ac803616503510bed0086e3a7be2627a69900000000000000000000000000000000000000000000000000000009502f90001ba0ce3ad83f5530136467b7c2bb225f406bd170f4ad59c254e5103c34eeabb5bd69a0455154527224a42ab405cacf0fe92918a75641ce4152f8db292019a5527aa956",
4445
"result": {
4546
"error": "out of gas",
46-
"from": "0xa94f5374Fce5edBC8E2a8697C15331677e6EbF0B",
47+
"from": "0x94194bc2aaf494501d7880b61274a169f6502a54",
4748
"gas": "0x7045",
4849
"gasUsed": "0x7045",
4950
"input": "0xa9059cbb000000000000000000000000e77b1ac803616503510bed0086e3a7be2627a69900000000000000000000000000000000000000000000000000000009502f9000",

eth/tracers/testdata/call_tracer/revert.json

+5-4
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
},
77
"genesis": {
88
"alloc": {
9-
"0xa94f5374Fce5edBC8E2a8697C15331677e6EbF0B": {
9+
"0x0f6cef2b7fbb504782e35aa82a2207e816a2b7a9": {
1010
"balance": "0x2a3fc32bcc019283",
1111
"code": "0x",
1212
"nonce": "10",
@@ -27,7 +27,8 @@
2727
"eip150Hash": "0x41941023680923e0fe4d74a34bdac8141f2540e3ae90623718e47d66d1ca4a2d",
2828
"eip155Block": 10,
2929
"eip158Block": 10,
30-
"homesteadBlock": 0
30+
"homesteadBlock": 0,
31+
"donutBlock": 0
3132
},
3233
"extraData": "0x4554482e45544846414e532e4f52472d4641313738394444",
3334
"hash": "0xa07b3d6c6bf63f5f981016db9f2d1d93033833f2c17e8bf7209e85f1faf08076",
@@ -38,10 +39,10 @@
3839
"timestamp": "1513673552",
3940
"totalDifficulty": "7160066586979149"
4041
},
41-
"input": "0xf9018c0a8505d21dba00832dc6c08094abbcd5b340c80b5f1c0545c04c987b87310296ae80b9012473b40a5c000000000000000000000000400de2e016bda6577407dfc379faba9899bc73ef0000000000000000000000002cc31912b2b0f3075a87b3640923d45a26cef3ee000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064d79d8e6c7265636f76657279416464726573730000000000000000000000000000000000000000000000000000000000383e3ec32dc0f66d8fe60dbdc2f6815bdf73a988383e3ec32dc0f66d8fe60dbdc2f6815bdf73a9880000000000000000000000000000000000000000000000000000000000000000000000000000000029a0f73975fdfee7eefd964700992ff4c084980ab08c7f425f8e0786ba168505ec90a01f6aa24088453a5762e4281af7bf111be5b62cb64f58e6aaa85dc5137a50e6a4",
42+
"input": "0xf9018b0a8505d21dba00832dc6c094abbcd5b340c80b5f1c0545c04c987b87310296ae80b9012473b40a5c000000000000000000000000400de2e016bda6577407dfc379faba9899bc73ef0000000000000000000000002cc31912b2b0f3075a87b3640923d45a26cef3ee000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064d79d8e6c7265636f76657279416464726573730000000000000000000000000000000000000000000000000000000000383e3ec32dc0f66d8fe60dbdc2f6815bdf73a988383e3ec32dc0f66d8fe60dbdc2f6815bdf73a988000000000000000000000000000000000000000000000000000000000000000000000000000000001ba0fd659d76a4edbd2a823e324c93f78ad6803b30ff4a9c8bce71ba82798975c70ca06571eecc0b765688ec6c78942c5ee8b585e00988c0141b518287e9be919bc48a",
4243
"result": {
4344
"error": "execution reverted",
44-
"from": "0xa94f5374Fce5edBC8E2a8697C15331677e6EbF0B",
45+
"from": "0x0f6cef2b7fbb504782e35aa82a2207e816a2b7a9",
4546
"gas": "0x2d55e8",
4647
"gasUsed": "0xc3",
4748
"input": "0x73b40a5c000000000000000000000000400de2e016bda6577407dfc379faba9899bc73ef0000000000000000000000002cc31912b2b0f3075a87b3640923d45a26cef3ee000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064d79d8e6c7265636f76657279416464726573730000000000000000000000000000000000000000000000000000000000383e3ec32dc0f66d8fe60dbdc2f6815bdf73a988383e3ec32dc0f66d8fe60dbdc2f6815bdf73a98800000000000000000000000000000000000000000000000000000000000000000000000000000000",

eth/tracers/testdata/call_tracer/revert_reason.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@
3535
"eip155Block": 10,
3636
"eip158Block": 10,
3737
"ethash": {},
38-
"homesteadBlock": 0
38+
"homesteadBlock": 0,
39+
"donutBlock": 0
3940
},
4041
"difficulty": "3509749784",
4142
"extraData": "0x4554482e45544846414e532e4f52472d4641313738394444",
@@ -54,7 +55,7 @@
5455
"error": "execution reverted",
5556
"from": "0xf7579c3d8a669c89d5ed246a22eb6db8f6fedbf1",
5657
"gas": "0x2d7308",
57-
"gasUsed": "0x588",
58+
"gasUsed": "0x330",
5859
"input": "0x5c19a95c000000000000000000000000f7579c3d8a669c89d5ed246a22eb6db8f6fedbf1",
5960
"to": "0xf58833cf0c791881b494eb79d461e08a1f043f52",
6061
"type": "CALL",

eth/tracers/testdata/call_tracer/selfdestruct.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@
3636
"eip155Block": 10,
3737
"eip158Block": 10,
3838
"ethash": {},
39-
"homesteadBlock": 0
39+
"homesteadBlock": 0,
40+
"donutBlock": 0
4041
},
4142
"difficulty": "3509749784",
4243
"extraData": "0x4554482e45544846414e532e4f52472d4641313738394444",

eth/tracers/testdata/call_tracer/simple.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@
4141
"eip155Block": 10,
4242
"eip158Block": 10,
4343
"ethash": {},
44-
"homesteadBlock": 0
44+
"homesteadBlock": 0,
45+
"donutBlock": 0
4546
},
4647
"difficulty": "3509749784",
4748
"extraData": "0x4554482e45544846414e532e4f52472d4641313738394444",

eth/tracers/testdata/call_tracer/throw.json

+5-4
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
},
77
"genesis": {
88
"alloc": {
9-
"0xa94f5374Fce5edBC8E2a8697C15331677e6EbF0B": {
9+
"0x70c9217d814985faef62b124420f8dfbddd96433": {
1010
"balance": "0x4ecd70668f5d854a",
1111
"code": "0x",
1212
"nonce": "1638",
@@ -19,7 +19,7 @@
1919
"storage": {
2020
"0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000002cccf5e0538493c235d1c5ef6580f77d99e91396",
2121
"0x0000000000000000000000000000000000000000000000000000000000000002": "0x00000000000000000000000000000000000000000000000000000000000061a9",
22-
"0x0000000000000000000000000000000000000000000000000000000000000005": "0x000000000000000000000000a94f5374Fce5edBC8E2a8697C15331677e6EbF0B"
22+
"0x0000000000000000000000000000000000000000000000000000000000000005": "0x00000000000000000000000070c9217d814985faef62b124420f8dfbddd96433"
2323
}
2424
}
2525
},
@@ -31,7 +31,8 @@
3131
"eip150Hash": "0x41941023680923e0fe4d74a34bdac8141f2540e3ae90623718e47d66d1ca4a2d",
3232
"eip155Block": 10,
3333
"eip158Block": 10,
34-
"homesteadBlock": 0
34+
"homesteadBlock": 0,
35+
"donutBlock": 0
3536
},
3637
"extraData": "0xd783010502846765746887676f312e372e33856c696e7578",
3738
"hash": "0xe23e8d4562a1045b70cbc99fefb20c101a8f0fc8559a80d65fea8896e2f1d46e",
@@ -41,7 +42,7 @@
4142
"timestamp": "1479891641",
4243
"totalDifficulty": "1896347038589"
4344
},
44-
"input": "f88c8206668504a817c8008303d0908094c212e03b9e060e36facad5fd8f4435412ca22e6b80a451a34eb8000000000000000000000000000000000000000000000027fad02094277c000029a0c6eaa9538e3b268ded218604fc7d54cd27a9d83236aad7b7527fffff9407a37ba002e6c5dd5e86ed2e432116c62af4ae7d4300f1c63d0b053ea2747849bf4d2ccb",
45+
"input": "0xf88b8206668504a817c8008303d09094c212e03b9e060e36facad5fd8f4435412ca22e6b80a451a34eb8000000000000000000000000000000000000000000000027fad02094277c000029a0692a3b4e7b2842f8dd7832e712c21e09f451f416c8976d5b8d02e8c0c2b4bea9a07645e90fc421b63dd755767fd93d3c03b4ec0c4d8fafa059558d08cf11d59750",
4546
"result": {
4647
"error": "invalid jump destination",
4748
"from": "0x70c9217d814985faef62b124420f8dfbddd96433",

eth/tracers/tracers_test.go

+32-1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import (
2020
"crypto/rand"
2121
"encoding/json"
2222

23+
// "fmt"
2324
"io/ioutil"
2425
"math/big"
2526
"path/filepath"
@@ -238,7 +239,25 @@ func testCallTracer(tracer string, dirPath string, t *testing.T) {
238239
if err := rlp.DecodeBytes(common.FromHex(test.Input), tx); err != nil {
239240
t.Fatalf("failed to parse testcase input: %v", err)
240241
}
241-
242+
// fmt.Printf("tx: %+v\n", tx)
243+
// fmt.Printf("tx.Protected():\n %t", tx.Protected())
244+
// fmt.Printf("tx.Type(): %d\n", tx.Type())
245+
// fmt.Printf("tx.ChainId(): %s\n", tx.ChainId())
246+
// fmt.Printf("tx.FeeCurrency(): %s\n", tx.FeeCurrency())
247+
// fmt.Printf("tx.GatewayFeeRecipient(): %s\n", tx.GatewayFeeRecipient())
248+
// fmt.Printf("tx.GatewayFee(): %s\n", tx.GatewayFee())
249+
// fmt.Printf("tx.EthCompatible(): %t\n", tx.EthCompatible())
250+
// fmt.Printf("tx.Fee(): %s\n", tx.Fee())
251+
// // fmt.Printf("tx.Data(): %s\n", tx.Data())
252+
// fmt.Printf("tx.AccessList(): %s\n", tx.AccessList())
253+
// fmt.Printf("tx.Gas(): %d\n", tx.Gas())
254+
// fmt.Printf("tx.GasPrice(): %s\n", tx.GasPrice())
255+
// fmt.Printf("tx.GasTipCap(): %s\n", tx.GasTipCap())
256+
// fmt.Printf("tx.GasFeeCap(): %s\n", tx.GasFeeCap())
257+
// fmt.Printf("tx.Value(): %s\n", tx.Value())
258+
// fmt.Printf("tx.Nonce(): %d\n", tx.Nonce())
259+
// fmt.Printf("tx.To(): %s\n", tx.To())
260+
// fmt.Printf("tx.Cost(): %s\n", tx.Cost())
242261
signer := types.MakeSigner(test.Genesis.Config, new(big.Int).SetUint64(uint64(test.Context.Number)))
243262
origin, _ := signer.Sender(tx)
244263
txContext := vm.TxContext{
@@ -252,7 +271,18 @@ func testCallTracer(tracer string, dirPath string, t *testing.T) {
252271
BlockNumber: new(big.Int).SetUint64(uint64(test.Context.Number)),
253272

254273
Time: new(big.Int).SetUint64(uint64(test.Context.Time)),
274+
// GasLimit: uint64(test.Context.GasLimit),
275+
// GetRegisteredAddress: contracts.GetRegisteredAddress,
255276
}
277+
// context := vm.BlockContext{
278+
// CanTransfer: vmcontext.CanTransfer,
279+
// Transfer: vmcontext.TobinTransfer,
280+
// Coinbase: test.Context.Miner,
281+
// BlockNumber: new(big.Int).SetUint64(uint64(test.Context.Number)),
282+
// Time: new(big.Int).SetUint64(uint64(test.Context.Time)),
283+
// GasLimit: uint64(test.Context.GasLimit),
284+
// GetRegisteredAddress: contracts.GetRegisteredAddress,
285+
// }
256286
_, statedb := tests.MakePreState(rawdb.NewMemoryDatabase(), test.Genesis.Alloc, false)
257287

258288
// Create the tracer, the EVM environment and run it
@@ -266,6 +296,7 @@ func testCallTracer(tracer string, dirPath string, t *testing.T) {
266296
if err != nil {
267297
t.Fatalf("failed to prepare transaction for tracing: %v", err)
268298
}
299+
// st := core.NewStateTransition(evm, msg, new(core.GasPool).AddGas(tx.Gas()), nil)
269300
st := core.NewStateTransition(evm, msg, new(core.GasPool).AddGas(tx.Gas()), celoMock.Runner, nil)
270301
if _, err = st.TransitionDb(); err != nil {
271302
t.Fatalf("failed to execute transaction: %v", err)

0 commit comments

Comments
 (0)