Skip to content

Pectra Hiero tests#71

Open
0x-ds wants to merge 126 commits intomainfrom
denys/run-pectra-tests-with-hh
Open

Pectra Hiero tests#71
0x-ds wants to merge 126 commits intomainfrom
denys/run-pectra-tests-with-hh

Conversation

@0x-ds
Copy link
Contributor

@0x-ds 0x-ds commented Feb 20, 2026

Description:

This branch expands HIP-1340/EIP-7702 functional coverage, adds Hiero-specific delegation tests, and improves CI runtime by sharding solo-network test execution. It also refactors shared test utilities and updates contract references/helpers to align with current Hedera behavior.

Key Changes:
Added comprehensive HIP-1340 test coverage:

  • New hiero.test.js suite for Hiero-specific delegation scenarios.
  • Added new HIP-1340 test utilities:
    • test/hip-1340/utils/hts.js
    • test/hip-1340/utils/setup.js
    • Updated test/hip-1340/utils/web3.js.
    • Added evm-functional-testing/contracts/hip-1340/HasFacadeSelectors.sol to mimic behavior of HAS facade
      CI optimization in .github/workflows/evm-functional-testing.yaml:
  • Sharded evm-functional-regression into parallel solo-network buckets (HIP-1215, HIP-632, HTS transfer events, HIP-1340 baseline/hiero/eip7702).
  • Added matrix-driven test selection and more reliable cleanup (if: always() for cluster teardown).

Related issue(s):

Fixes #

Checklist

  • Documented (Code comments, README, etc.)
  • Tested (unit, integration, etc.)

Signed-off-by: Luis Mastrangelo <luis@swirldslabs.com>
Signed-off-by: Luis Mastrangelo <luis@swirldslabs.com>
Signed-off-by: Luis Mastrangelo <luis@swirldslabs.com>
Signed-off-by: Luis Mastrangelo <luis@swirldslabs.com>
Signed-off-by: Luis Mastrangelo <luis@swirldslabs.com>
Signed-off-by: Luis Mastrangelo <luis@swirldslabs.com>
Signed-off-by: Luis Mastrangelo <luis@swirldslabs.com>
Signed-off-by: Luis Mastrangelo <luis@swirldslabs.com>
Signed-off-by: Luis Mastrangelo <luis@swirldslabs.com>
Signed-off-by: Luis Mastrangelo <luis@swirldslabs.com>
Signed-off-by: Luis Mastrangelo <luis@swirldslabs.com>
Signed-off-by: Luis Mastrangelo <luis@swirldslabs.com>
Signed-off-by: Luis Mastrangelo <luis@swirldslabs.com>
Signed-off-by: Luis Mastrangelo <luis@swirldslabs.com>
Signed-off-by: Luis Mastrangelo <luis@swirldslabs.com>
Signed-off-by: Luis Mastrangelo <luis@swirldslabs.com>
Signed-off-by: Luis Mastrangelo <luis@swirldslabs.com>
Signed-off-by: Luis Mastrangelo <luis@swirldslabs.com>
Signed-off-by: Luis Mastrangelo <luis@swirldslabs.com>
@0x-ds 0x-ds force-pushed the denys/run-pectra-tests-with-hh branch 2 times, most recently from 7d43d86 to 13c68e4 Compare February 20, 2026 00:56
…n an HTS token is created' test

Signed-off-by: Denys Sinyakov <denys.sinyakov@swirldslabs.com>
…to the same Smart Wallet and send self-sponsored transactions

Signed-off-by: Denys Sinyakov <denys.sinyakov@swirldslabs.com>
Signed-off-by: Denys Sinyakov <denys.sinyakov@swirldslabs.com>
Signed-off-by: Denys Sinyakov <denys.sinyakov@swirldslabs.com>
Signed-off-by: Denys Sinyakov <denys.sinyakov@swirldslabs.com>
Signed-off-by: Denys Sinyakov <denys.sinyakov@swirldslabs.com>
Signed-off-by: Denys Sinyakov <denys.sinyakov@swirldslabs.com>
Signed-off-by: Denys Sinyakov <denys.sinyakov@swirldslabs.com>
Signed-off-by: Denys Sinyakov <denys.sinyakov@swirldslabs.com>
@0x-ds 0x-ds requested a review from a team as a code owner March 10, 2026 18:26
@0x-ds 0x-ds requested a review from rbarker-dev March 10, 2026 18:26
0x-ds added 7 commits March 11, 2026 15:20
Signed-off-by: Denys Sinyakov <denys.sinyakov@swirldslabs.com>
Signed-off-by: Denys Sinyakov <denys.sinyakov@swirldslabs.com>
Signed-off-by: Denys Sinyakov <denys.sinyakov@swirldslabs.com>
Signed-off-by: Denys Sinyakov <denys.sinyakov@swirldslabs.com>
Signed-off-by: Denys Sinyakov <denys.sinyakov@swirldslabs.com>
Signed-off-by: Denys Sinyakov <denys.sinyakov@swirldslabs.com>
Signed-off-by: Denys Sinyakov <denys.sinyakov@swirldslabs.com>
gkozyryatskyy
gkozyryatskyy previously approved these changes Mar 12, 2026
name: Standard
name: Standard (${{ matrix.shard }})
runs-on: smart-contracts-linux-medium
strategy:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this looks like the same changes we have at https://github.com/hashgraph/hedera-evm-testing/pull/69/changes . We need to merge this branches and resolve conficts

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I have made those changes yesterday (to speed up CI?CD) along with many others as part of review comments. In process of merging right now

*/
async function associateHtsToken(eoa, tokenAddress, nonce, gasLimit = 1_500_000) {
const network = await eoa.provider.getNetwork();
const receipt = await eoa.sendTransaction({
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another way how you can work with HTS is the follows:

  1. create ethers.Interface from HTS artifact like this
  2. create ethers.Contract with HTS_ADDRESS like this
  3. Than you can put resulted htsContract to some test context and use any function from it directly

This can be applied to any contract calls that we are using.

Really Im ok with both approaches but highlighting for visibility.

0x-ds added 12 commits March 12, 2026 09:09
Signed-off-by: Denys Sinyakov <denys.sinyakov@swirldslabs.com>
Signed-off-by: Denys Sinyakov <denys.sinyakov@swirldslabs.com>
Signed-off-by: Denys Sinyakov <denys.sinyakov@swirldslabs.com>
Signed-off-by: Denys Sinyakov <denys.sinyakov@swirldslabs.com>
Signed-off-by: Denys Sinyakov <denys.sinyakov@swirldslabs.com>
Signed-off-by: Denys Sinyakov <denys.sinyakov@swirldslabs.com>
Signed-off-by: Denys Sinyakov <denys.sinyakov@swirldslabs.com>
Signed-off-by: Denys Sinyakov <denys.sinyakov@swirldslabs.com>
…a-evm-testing into denys/run-pectra-tests-with-hh
Signed-off-by: Denys Sinyakov <denys.sinyakov@swirldslabs.com>
Signed-off-by: Denys Sinyakov <denys.sinyakov@swirldslabs.com>
Base automatically changed from run-pectra-tests-with-hh to main March 12, 2026 22:10
@0x-ds 0x-ds dismissed gkozyryatskyy’s stale review March 12, 2026 22:10

The base branch was changed.

Signed-off-by: Denys Sinyakov <denys.sinyakov@swirldslabs.com>
Copy link

@lukasz-hashgraph lukasz-hashgraph left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a minor comments. Looks good, thanks!

* }} params
* @returns {Promise<import('ethers').TransactionReceipt | null>}
*/
async function sendDelegation({

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this just a specialized version of sendDelegationCreationTx with to and value set o 0?
Also, looks like we're hardcoding nonce to 0. If this method is intended to be used with fresh accounts only we should specify that in the doc.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will remove once we have the builder for delegation tx

* }} params
* @returns {Promise<import('ethers').TransactionReceipt | null>}
*/
async function executeBatchViaDelegation({

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you think it makes sense to extract some of the logic from those
execute/send txn methods to reusable pieces? Perhaps using the builder pattern?

TransactionBuilder()
   .from(sender)
   .withProviderNonce()
   .addAuthorization(eoa, nonce, targetAddress) // can also set type to 4
   .callData(TestSmartWallet.prepareExecuteBatchCallData([target, value, data]))
// etc

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Absolutely, great idea! that would also allow to eliminate the other custom function you mentioned.

0x-ds added 2 commits March 19, 2026 09:22
Signed-off-by: Denys Sinyakov <denys.sinyakov@swirldslabs.com>
Copy link
Contributor

@gkozyryatskyy gkozyryatskyy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reapprove. Thank you @0x-ds !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants