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

Extend ethereum consensus test to include Shanghai #706

Closed
stephenpdeos opened this issue Apr 30, 2024 · 1 comment · Fixed by #709
Closed

Extend ethereum consensus test to include Shanghai #706

stephenpdeos opened this issue Apr 30, 2024 · 1 comment · Fixed by #709
Assignees

Comments

@stephenpdeos
Copy link
Member

stephenpdeos commented Apr 30, 2024

Test to verify this work is needed first.

@stephenpdeos stephenpdeos converted this from a draft issue Apr 30, 2024
@elmato
Copy link
Contributor

elmato commented May 2, 2024

➜  build git:(main) ✗ ./unit_test --report_level=detailed --color_output --run_test=evm_runtime_tests
Random number generator seeded to 1714683063
Running 2 test cases...
CreateOOGafterMaxCodesize_d4g0v0_Shanghai ...................................... Skipped
CREATE_FirstByte_loop_d0g0v0_Shanghai .......................................... Skipped
Storage size mismatch for 0x095e7baea6a6c7c4c2dfeb977efac326af552d87:
0 != 2
randomStatetest466_d0g0v0_Shanghai .............................................  Failed
Balance mismatch for 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b:
de0b6b3a75a2346 != "0x0de0b6b3a753465c"
randomStatetest627_d0g0v0_Shanghai .............................................  Failed
Storage size mismatch for 0x095e7baea6a6c7c4c2dfeb977efac326af552d87:
0 != 1
randomStatetest577_d0g0v0_Shanghai .............................................  Failed
Balance mismatch for 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b:
de0b6b3a75ed7ba != "0x0de0b6b3a756f518"
randomStatetest632_d0g0v0_Shanghai .............................................  Failed
Missing account 0xffffffffffffffffffffffffffffffffffffffff
randomStatetest581_d0g0v0_Shanghai .............................................  Failed
Balance mismatch for 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b:
de0b6b3a75eda4e != "0x0de0b6b3a756f7ac"
randomStatetest417_d0g0v0_Shanghai .............................................  Failed
recursiveCreateReturnValue_d0g0v0_Shanghai ..................................... Skipped
Create2Recursive_d0g0v0_Shanghai ............................................... Skipped
Create2Recursive_d0g2v0_Shanghai ............................................... Skipped
CREATE2_FirstByte_loop_d0g0v0_Shanghai ......................................... Skipped
underflowTest_d0g0v0_Shanghai .................................................. Skipped
underflowTest_d100g0v0_Shanghai ................................................ Skipped
underflowTest_d101g0v0_Shanghai ................................................ Skipped
underflowTest_d102g0v0_Shanghai ................................................ Skipped
underflowTest_d103g0v0_Shanghai ................................................ Skipped
underflowTest_d104g0v0_Shanghai ................................................ Skipped
underflowTest_d105g0v0_Shanghai ................................................ Skipped
underflowTest_d106g0v0_Shanghai ................................................ Skipped
underflowTest_d107g0v0_Shanghai ................................................ Skipped
underflowTest_d108g0v0_Shanghai ................................................ Skipped
underflowTest_d109g0v0_Shanghai ................................................ Skipped
underflowTest_d10g0v0_Shanghai ................................................. Skipped
underflowTest_d110g0v0_Shanghai ................................................ Skipped
underflowTest_d111g0v0_Shanghai ................................................ Skipped
underflowTest_d112g0v0_Shanghai ................................................ Skipped
underflowTest_d113g0v0_Shanghai ................................................ Skipped
underflowTest_d114g0v0_Shanghai ................................................ Skipped
underflowTest_d115g0v0_Shanghai ................................................ Skipped
underflowTest_d116g0v0_Shanghai ................................................ Skipped
underflowTest_d117g0v0_Shanghai ................................................ Skipped
underflowTest_d118g0v0_Shanghai ................................................ Skipped
underflowTest_d119g0v0_Shanghai ................................................ Skipped
underflowTest_d11g0v0_Shanghai ................................................. Skipped
underflowTest_d120g0v0_Shanghai ................................................ Skipped
underflowTest_d121g0v0_Shanghai ................................................ Skipped
underflowTest_d122g0v0_Shanghai ................................................ Skipped
underflowTest_d123g0v0_Shanghai ................................................ Skipped
underflowTest_d124g0v0_Shanghai ................................................ Skipped
underflowTest_d125g0v0_Shanghai ................................................ Skipped
underflowTest_d126g0v0_Shanghai ................................................ Skipped
underflowTest_d127g0v0_Shanghai ................................................ Skipped
underflowTest_d128g0v0_Shanghai ................................................ Skipped
underflowTest_d129g0v0_Shanghai ................................................ Skipped
underflowTest_d12g0v0_Shanghai ................................................. Skipped
underflowTest_d130g0v0_Shanghai ................................................ Skipped
underflowTest_d131g0v0_Shanghai ................................................ Skipped
underflowTest_d132g0v0_Shanghai ................................................ Skipped
underflowTest_d133g0v0_Shanghai ................................................ Skipped
underflowTest_d134g0v0_Shanghai ................................................ Skipped
underflowTest_d135g0v0_Shanghai ................................................ Skipped
underflowTest_d136g0v0_Shanghai ................................................ Skipped
underflowTest_d137g0v0_Shanghai ................................................ Skipped
underflowTest_d138g0v0_Shanghai ................................................ Skipped
underflowTest_d139g0v0_Shanghai ................................................ Skipped
underflowTest_d13g0v0_Shanghai ................................................. Skipped
underflowTest_d140g0v0_Shanghai ................................................ Skipped
underflowTest_d141g0v0_Shanghai ................................................ Skipped
underflowTest_d142g0v0_Shanghai ................................................ Skipped
underflowTest_d143g0v0_Shanghai ................................................ Skipped
underflowTest_d144g0v0_Shanghai ................................................ Skipped
underflowTest_d145g0v0_Shanghai ................................................ Skipped
underflowTest_d146g0v0_Shanghai ................................................ Skipped
underflowTest_d147g0v0_Shanghai ................................................ Skipped
underflowTest_d148g0v0_Shanghai ................................................ Skipped
underflowTest_d149g0v0_Shanghai ................................................ Skipped
underflowTest_d14g0v0_Shanghai ................................................. Skipped
underflowTest_d150g0v0_Shanghai ................................................ Skipped
underflowTest_d151g0v0_Shanghai ................................................ Skipped
underflowTest_d152g0v0_Shanghai ................................................ Skipped
underflowTest_d153g0v0_Shanghai ................................................ Skipped
underflowTest_d154g0v0_Shanghai ................................................ Skipped
underflowTest_d155g0v0_Shanghai ................................................ Skipped
underflowTest_d156g0v0_Shanghai ................................................ Skipped
underflowTest_d157g0v0_Shanghai ................................................ Skipped
underflowTest_d158g0v0_Shanghai ................................................ Skipped
underflowTest_d159g0v0_Shanghai ................................................ Skipped
underflowTest_d15g0v0_Shanghai ................................................. Skipped
underflowTest_d160g0v0_Shanghai ................................................ Skipped
underflowTest_d161g0v0_Shanghai ................................................ Skipped
underflowTest_d162g0v0_Shanghai ................................................ Skipped
underflowTest_d163g0v0_Shanghai ................................................ Skipped
underflowTest_d164g0v0_Shanghai ................................................ Skipped
underflowTest_d165g0v0_Shanghai ................................................ Skipped
underflowTest_d16g0v0_Shanghai ................................................. Skipped
underflowTest_d17g0v0_Shanghai ................................................. Skipped
underflowTest_d18g0v0_Shanghai ................................................. Skipped
underflowTest_d19g0v0_Shanghai ................................................. Skipped
underflowTest_d1g0v0_Shanghai .................................................. Skipped
underflowTest_d20g0v0_Shanghai ................................................. Skipped
underflowTest_d21g0v0_Shanghai ................................................. Skipped
underflowTest_d22g0v0_Shanghai ................................................. Skipped
underflowTest_d23g0v0_Shanghai ................................................. Skipped
underflowTest_d24g0v0_Shanghai ................................................. Skipped
underflowTest_d25g0v0_Shanghai ................................................. Skipped
underflowTest_d26g0v0_Shanghai ................................................. Skipped
underflowTest_d27g0v0_Shanghai ................................................. Skipped
underflowTest_d28g0v0_Shanghai ................................................. Skipped
underflowTest_d29g0v0_Shanghai ................................................. Skipped
underflowTest_d2g0v0_Shanghai .................................................. Skipped
underflowTest_d30g0v0_Shanghai ................................................. Skipped
underflowTest_d31g0v0_Shanghai ................................................. Skipped
underflowTest_d32g0v0_Shanghai ................................................. Skipped
underflowTest_d33g0v0_Shanghai ................................................. Skipped
underflowTest_d34g0v0_Shanghai ................................................. Skipped
underflowTest_d35g0v0_Shanghai ................................................. Skipped
underflowTest_d36g0v0_Shanghai ................................................. Skipped
underflowTest_d37g0v0_Shanghai ................................................. Skipped
underflowTest_d38g0v0_Shanghai ................................................. Skipped
underflowTest_d39g0v0_Shanghai ................................................. Skipped
underflowTest_d3g0v0_Shanghai .................................................. Skipped
underflowTest_d40g0v0_Shanghai ................................................. Skipped
underflowTest_d41g0v0_Shanghai ................................................. Skipped
underflowTest_d42g0v0_Shanghai ................................................. Skipped
underflowTest_d43g0v0_Shanghai ................................................. Skipped
underflowTest_d44g0v0_Shanghai ................................................. Skipped
underflowTest_d45g0v0_Shanghai ................................................. Skipped
underflowTest_d46g0v0_Shanghai ................................................. Skipped
underflowTest_d47g0v0_Shanghai ................................................. Skipped
underflowTest_d48g0v0_Shanghai ................................................. Skipped
underflowTest_d49g0v0_Shanghai ................................................. Skipped
underflowTest_d4g0v0_Shanghai .................................................. Skipped
underflowTest_d50g0v0_Shanghai ................................................. Skipped
underflowTest_d51g0v0_Shanghai ................................................. Skipped
underflowTest_d52g0v0_Shanghai ................................................. Skipped
underflowTest_d53g0v0_Shanghai ................................................. Skipped
underflowTest_d54g0v0_Shanghai ................................................. Skipped
underflowTest_d55g0v0_Shanghai ................................................. Skipped
underflowTest_d56g0v0_Shanghai ................................................. Skipped
underflowTest_d57g0v0_Shanghai ................................................. Skipped
underflowTest_d58g0v0_Shanghai ................................................. Skipped
underflowTest_d59g0v0_Shanghai ................................................. Skipped
underflowTest_d5g0v0_Shanghai .................................................. Skipped
underflowTest_d60g0v0_Shanghai ................................................. Skipped
underflowTest_d61g0v0_Shanghai ................................................. Skipped
underflowTest_d62g0v0_Shanghai ................................................. Skipped
underflowTest_d63g0v0_Shanghai ................................................. Skipped
underflowTest_d64g0v0_Shanghai ................................................. Skipped
underflowTest_d65g0v0_Shanghai ................................................. Skipped
underflowTest_d66g0v0_Shanghai ................................................. Skipped
underflowTest_d67g0v0_Shanghai ................................................. Skipped
underflowTest_d68g0v0_Shanghai ................................................. Skipped
underflowTest_d69g0v0_Shanghai ................................................. Skipped
underflowTest_d6g0v0_Shanghai .................................................. Skipped
underflowTest_d70g0v0_Shanghai ................................................. Skipped
underflowTest_d71g0v0_Shanghai ................................................. Skipped
underflowTest_d72g0v0_Shanghai ................................................. Skipped
underflowTest_d73g0v0_Shanghai ................................................. Skipped
underflowTest_d74g0v0_Shanghai ................................................. Skipped
underflowTest_d75g0v0_Shanghai ................................................. Skipped
underflowTest_d76g0v0_Shanghai ................................................. Skipped
underflowTest_d77g0v0_Shanghai ................................................. Skipped
underflowTest_d78g0v0_Shanghai ................................................. Skipped
underflowTest_d79g0v0_Shanghai ................................................. Skipped
underflowTest_d7g0v0_Shanghai .................................................. Skipped
underflowTest_d80g0v0_Shanghai ................................................. Skipped
underflowTest_d81g0v0_Shanghai ................................................. Skipped
underflowTest_d82g0v0_Shanghai ................................................. Skipped
underflowTest_d83g0v0_Shanghai ................................................. Skipped
underflowTest_d84g0v0_Shanghai ................................................. Skipped
underflowTest_d85g0v0_Shanghai ................................................. Skipped
underflowTest_d86g0v0_Shanghai ................................................. Skipped
underflowTest_d87g0v0_Shanghai ................................................. Skipped
underflowTest_d88g0v0_Shanghai ................................................. Skipped
underflowTest_d89g0v0_Shanghai ................................................. Skipped
underflowTest_d8g0v0_Shanghai .................................................. Skipped
underflowTest_d90g0v0_Shanghai ................................................. Skipped
underflowTest_d91g0v0_Shanghai ................................................. Skipped
underflowTest_d92g0v0_Shanghai ................................................. Skipped
underflowTest_d93g0v0_Shanghai ................................................. Skipped
underflowTest_d94g0v0_Shanghai ................................................. Skipped
underflowTest_d95g0v0_Shanghai ................................................. Skipped
underflowTest_d96g0v0_Shanghai ................................................. Skipped
underflowTest_d97g0v0_Shanghai ................................................. Skipped
underflowTest_d98g0v0_Shanghai ................................................. Skipped
underflowTest_d99g0v0_Shanghai ................................................. Skipped
underflowTest_d9g0v0_Shanghai .................................................. Skipped
Create1000Shnghai_d0g1v0_Shanghai .............................................. Skipped
Storage mismatch for 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 at 0xe03b:
0000000000000000000000000000000000000000000000000000000000000000 != 03e8
randomStatetest246_d0g0v0_Shanghai .............................................  Failed
Missing account 0x0000000000000000000000000000000000020000
randomStatetest138_d0g0v0_Shanghai .............................................  Failed
Storage size mismatch for 0x095e7baea6a6c7c4c2dfeb977efac326af552d87:
0 != 1
randomStatetest153_d0g0v0_Shanghai .............................................  Failed
Balance mismatch for 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b:
de0b6b3a75ed7ba != "0x0de0b6b3a756f518"
randomStatetest146_d0g0v0_Shanghai .............................................  Failed
Balance mismatch for 0x095e7baea6a6c7c4c2dfeb977efac326af552d87:
377df0d4 != "0x00"
randomStatetest303_d0g0v0_Shanghai .............................................  Failed
Storage size mismatch for 0x095e7baea6a6c7c4c2dfeb977efac326af552d87:
0 != 1
randomStatetest139_d0g0v0_Shanghai .............................................  Failed
Storage mismatch for 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 at 0x2e:
0000000000000000000000000000000000000000000000000000000000000000 != 03e8
randomStatetest26_d0g0v0_Shanghai ..............................................  Failed
Storage mismatch for 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 at 0x020000:
0000000000000000000000000000000000000000000000000000000000000000 != 01
randomStatetest100_d0g0v0_Shanghai .............................................  Failed
Storage mismatch for 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 at 0x7a5959339f3342838b55600051:
0000000000000000000000000000000000000000000000000000000000000001 != 880ad67c991058b3847ec9f491f7a8d6ecbb1dff5c2326e7e8e9eb560ca29ecd
randomStatetest367_d0g0v0_Shanghai .............................................  Failed
Storage size mismatch for 0x0000000000000000000000000000000000000101:
0 != 1
blockInfo_d1g0v0_Shanghai ......................................................  Failed
jumpToPush_d0g0v0_Shanghai ..................................................... Skipped
jumpToPush_d10g0v0_Shanghai .................................................... Skipped
jumpToPush_d11g0v0_Shanghai .................................................... Skipped
jumpToPush_d12g0v0_Shanghai .................................................... Skipped
jumpToPush_d13g0v0_Shanghai .................................................... Skipped
jumpToPush_d14g0v0_Shanghai .................................................... Skipped
jumpToPush_d15g0v0_Shanghai .................................................... Skipped
jumpToPush_d16g0v0_Shanghai .................................................... Skipped
jumpToPush_d17g0v0_Shanghai .................................................... Skipped
jumpToPush_d18g0v0_Shanghai .................................................... Skipped
jumpToPush_d19g0v0_Shanghai .................................................... Skipped
jumpToPush_d1g0v0_Shanghai ..................................................... Skipped
jumpToPush_d20g0v0_Shanghai .................................................... Skipped
jumpToPush_d21g0v0_Shanghai .................................................... Skipped
jumpToPush_d22g0v0_Shanghai .................................................... Skipped
jumpToPush_d23g0v0_Shanghai .................................................... Skipped
jumpToPush_d24g0v0_Shanghai .................................................... Skipped
jumpToPush_d25g0v0_Shanghai .................................................... Skipped
jumpToPush_d26g0v0_Shanghai .................................................... Skipped
jumpToPush_d27g0v0_Shanghai .................................................... Skipped
jumpToPush_d28g0v0_Shanghai .................................................... Skipped
jumpToPush_d29g0v0_Shanghai .................................................... Skipped
jumpToPush_d2g0v0_Shanghai ..................................................... Skipped
jumpToPush_d30g0v0_Shanghai .................................................... Skipped
jumpToPush_d31g0v0_Shanghai .................................................... Skipped
jumpToPush_d32g0v0_Shanghai .................................................... Skipped
jumpToPush_d33g0v0_Shanghai .................................................... Skipped
jumpToPush_d34g0v0_Shanghai .................................................... Skipped
jumpToPush_d35g0v0_Shanghai .................................................... Skipped
jumpToPush_d36g0v0_Shanghai .................................................... Skipped
jumpToPush_d37g0v0_Shanghai .................................................... Skipped
jumpToPush_d38g0v0_Shanghai .................................................... Skipped
jumpToPush_d39g0v0_Shanghai .................................................... Skipped
jumpToPush_d3g0v0_Shanghai ..................................................... Skipped
jumpToPush_d40g0v0_Shanghai .................................................... Skipped
jumpToPush_d41g0v0_Shanghai .................................................... Skipped
jumpToPush_d42g0v0_Shanghai .................................................... Skipped
jumpToPush_d43g0v0_Shanghai .................................................... Skipped
jumpToPush_d44g0v0_Shanghai .................................................... Skipped
jumpToPush_d45g0v0_Shanghai .................................................... Skipped
jumpToPush_d46g0v0_Shanghai .................................................... Skipped
jumpToPush_d47g0v0_Shanghai .................................................... Skipped
jumpToPush_d48g0v0_Shanghai .................................................... Skipped
jumpToPush_d49g0v0_Shanghai .................................................... Skipped
jumpToPush_d4g0v0_Shanghai ..................................................... Skipped
jumpToPush_d50g0v0_Shanghai .................................................... Skipped
jumpToPush_d51g0v0_Shanghai .................................................... Skipped
jumpToPush_d52g0v0_Shanghai .................................................... Skipped
jumpToPush_d53g0v0_Shanghai .................................................... Skipped
jumpToPush_d54g0v0_Shanghai .................................................... Skipped
jumpToPush_d55g0v0_Shanghai .................................................... Skipped
jumpToPush_d56g0v0_Shanghai .................................................... Skipped
jumpToPush_d57g0v0_Shanghai .................................................... Skipped
jumpToPush_d58g0v0_Shanghai .................................................... Skipped
jumpToPush_d59g0v0_Shanghai .................................................... Skipped
jumpToPush_d5g0v0_Shanghai ..................................................... Skipped
jumpToPush_d60g0v0_Shanghai .................................................... Skipped
jumpToPush_d61g0v0_Shanghai .................................................... Skipped
jumpToPush_d62g0v0_Shanghai .................................................... Skipped
jumpToPush_d63g0v0_Shanghai .................................................... Skipped
jumpToPush_d64g0v0_Shanghai .................................................... Skipped
jumpToPush_d65g0v0_Shanghai .................................................... Skipped
jumpToPush_d66g0v0_Shanghai .................................................... Skipped
jumpToPush_d67g0v0_Shanghai .................................................... Skipped
jumpToPush_d68g0v0_Shanghai .................................................... Skipped
jumpToPush_d69g0v0_Shanghai .................................................... Skipped
jumpToPush_d6g0v0_Shanghai ..................................................... Skipped
jumpToPush_d70g0v0_Shanghai .................................................... Skipped
jumpToPush_d71g0v0_Shanghai .................................................... Skipped
jumpToPush_d72g0v0_Shanghai .................................................... Skipped
jumpToPush_d73g0v0_Shanghai .................................................... Skipped
jumpToPush_d74g0v0_Shanghai .................................................... Skipped
jumpToPush_d75g0v0_Shanghai .................................................... Skipped
jumpToPush_d76g0v0_Shanghai .................................................... Skipped
jumpToPush_d77g0v0_Shanghai .................................................... Skipped
jumpToPush_d7g0v0_Shanghai ..................................................... Skipped
jumpToPush_d8g0v0_Shanghai ..................................................... Skipped
jumpToPush_d9g0v0_Shanghai ..................................................... Skipped
undefinedOpcodeFirstByte_d0g0v0_Shanghai ....................................... Skipped

ERR:mod_exp restriction: exponent bit size cannot exceed bit size of either base or modulus
Validation error kInvalidOmmerHeader
modexp_d27g0v0_Shanghai ........................................................  Failed
ERR:mod_exp restriction: exponent bit size cannot exceed bit size of either base or modulus
Validation error kInvalidOmmerHeader
modexp_d27g1v0_Shanghai ........................................................  Failed
ERR:mod_exp restriction: exponent bit size cannot exceed bit size of either base or modulus
Validation error kInvalidOmmerHeader
modexp_d27g2v0_Shanghai ........................................................  Failed
ERR:mod_exp restriction: exponent bit size cannot exceed bit size of either base or modulus
Validation error kInvalidOmmerHeader
modexp_d27g3v0_Shanghai ........................................................  Failed
Balance mismatch for 0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba:
a97ae != "0x0da106"
mergeTest_d0g0v0_Shanghai ......................................................  Failed
14139 tests passed, 21 failed, 254 skipped in 1h 39m 59s
tests/evm_runtime_tests.cpp(1255): fatal error: in "evm_runtime_tests/GeneralStateTests": critical check t.total_failed == 0u has failed [21 != 0]
0 exception: unspecified
rethrow
    {}
    unit_test  evm_runtime_tests.cpp:1257 test_method

unknown location(0): fatal error: in "evm_runtime_tests/GeneralStateTests": std::runtime_error: Caught Unexpected Exception
tests/evm_runtime_tests.cpp(1255): last checkpoint

Test module "Master Test Suite" has failed with:
  1 test case out of 66 passed
  1 test case out of 66 failed
  64 test cases out of 66 skipped
  1 test case out of 66 aborted
  1909770 assertions out of 1909772 passed
  2 assertions out of 1909772 failed

  Test suite "evm_runtime_tests" has failed with:
    1 test case out of 2 passed
    1 test case out of 2 failed
    1 test case out of 2 aborted
    1909770 assertions out of 1909772 passed
    2 assertions out of 1909772 failed

    Test case "evm_runtime_tests/GeneralStateTests" was aborted with:
      1909745 assertions out of 1909747 passed
      2 assertions out of 1909747 failed

    Test case "evm_runtime_tests/balance_and_dust_tests" has passed with:
      25 assertions out of 25 passed

@elmato elmato moved this from Todo to In Progress in EOS EVM May 2, 2024
@elmato elmato linked a pull request May 3, 2024 that will close this issue
@elmato elmato moved this from In Progress to Awaiting Review in EOS EVM May 3, 2024
@github-project-automation github-project-automation bot moved this from Awaiting Review to Done in EOS EVM May 9, 2024
@stephenpdeos stephenpdeos added this to the EVM Contract 1.0.0-rc1 milestone Jun 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants