-
Notifications
You must be signed in to change notification settings - Fork 85
fix: enable jumbo transaction feature #4419
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
base: main
Are you sure you want to change the base?
Conversation
Test Results 20 files + 2 265 suites +27 20m 58s ⏱️ - 5m 6s Results for commit f6a29e5. ± Comparison against base commit 2d3dc80. This pull request removes 1 and adds 41 tests. Note that renamed tests count towards both.
♻️ This comment has been updated with latest results. |
8e5c998
to
3913616
Compare
19d7bc1
to
a9f2339
Compare
Signed-off-by: Logan Nguyen <[email protected]>
Signed-off-by: Logan Nguyen <[email protected]>
Signed-off-by: Logan Nguyen <[email protected]>
…umbo TX Signed-off-by: Logan Nguyen <[email protected]>
Signed-off-by: Logan Nguyen <[email protected]>
a9f2339
to
b377797
Compare
Signed-off-by: Logan Nguyen <[email protected]>
Signed-off-by: Logan Nguyen <[email protected]>
Signed-off-by: Logan Nguyen <[email protected]>
b377797
to
0ff4709
Compare
Signed-off-by: Logan Nguyen <[email protected]>
714882b
to
f6a29e5
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## main #4419 +/- ##
==========================================
+ Coverage 96.13% 96.25% +0.12%
==========================================
Files 121 121
Lines 19941 19941
Branches 1743 1754 +11
==========================================
+ Hits 19170 19194 +24
+ Misses 751 728 -23
+ Partials 20 19 -1
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
|
||
const contractFactory = new ethers.ContractFactory(contractArtifact.abi, contractArtifact.bytecode, wallet); | ||
const contract = await contractFactory.deploy({ gasLimit: 1_000_000 }); | ||
const contract = await contractFactory.deploy(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
*Notes for Reviewers: The charges for contract deployment transactions have increased on CN and MN, respectively. Therefore, the customized gasLimit has been removed to allow automatic gas estimation.
}); | ||
const contract = await greeter.send({ | ||
from: wallet[0].address, | ||
gas: 300000, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
*Notes for Reviewers: The charges for contract deployment transactions have increased on CN and MN, respectively. Therefore, the customized gasLimit has been removed to allow automatic gas estimation.
data: '0x' + '22'.repeat(13000), | ||
}); | ||
const expectedTxHash = Utils.computeTransactionHash(Buffer.from(signed.replace('0x', ''), 'hex')); | ||
withOverriddenEnvsInMochaTest({ JUMBO_TX_ENABLED: false }, () => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
*Notes for Reviewers: Run this test only when JUMBO_TX_ENABLE is set to false ensuring HFS is utilized.
) | ||
.once() | ||
.returns(true); | ||
withOverriddenEnvsInMochaTest({ JUMBO_TX_ENABLED: false }, () => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
*Notes for Reviewers: Run these tests only when JUMBO_TX_ENABLE is set to false ensuring HFS is utilized.
## wildcard: result | ||
|
||
>> {"jsonrpc":"2.0","id":1,"method":"eth_call","params":[{"from":"0x14e46043e63d0e3cdcf2530519f4cfaf35058cb2","gas":"0xea60","input":"0x333435","maxFeePerGas":"0x44103f3","maxPriorityFeePerGas":"0xb","to":"0x2f2a392b4d7d2c2d3134e199295818a02535ef0a","value":"0x17"},"latest"]} | ||
>> {"jsonrpc":"2.0","id":1,"method":"eth_call","params":[{"from":"0x67d8d32e9bf1a9968a5ff53b87d777aa8ebbee69","gas":"0xea60","input":"0x333435","maxFeePerGas":"0x44103f3","maxPriorityFeePerGas":"0xb","to":"0x05fba803be258049a27b820088bab1cad2058871","value":"0x17"},"latest"]} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
*Notes for Reviewers: With the modularized Mirror Node, a “sender not found” exception is now thrown when an account does not exist. This has been updated to use actual auto-created accounts on the local network.
// addresses used in the request below are auto-created accounts from hedera-local network | ||
|
||
>> {"jsonrpc":"2.0","id":1,"method":"eth_estimateGas","params":[{"from":"0xaa00000000000000000000000000000000000000","to":"0x0100000000000000000000000000000000000000"}]} | ||
>> {"jsonrpc":"2.0","id":1,"method":"eth_estimateGas","params":[{"from":"0x67d8d32e9bf1a9968a5ff53b87d777aa8ebbee69","to":"0x05fba803be258049a27b820088bab1cad2058871"}]} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
*Notes for Reviewers: With the modularized Mirror Node, a “sender not found” exception is now thrown when an account does not exist. This has been updated to use actual auto-created accounts on the local network.
}, planId=${hbarSpendingPlan.id}`, | ||
); | ||
isTimeOut = true; | ||
break; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Notes for Reviewers: Added a break timeout during polling for updated spending amounts to prevent potential indefinite hangs. This adjustment addresses rare synchronization delays observed when HIP-1084 is enabled.
expect(res.ed25519).to.eq(EMPTY_HEX); | ||
expect(res.ECDSA_secp256k1).to.eq(EMPTY_HEX); | ||
expect(res.delegatableContractId).to.eq(ZERO_HEX); | ||
await expect(htsImpl.getTokenKeyPublic.staticCall(tokenAddress, keyTypes['ADMIN'])).to.be.rejectedWith( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Notes for Reviewers: Tests in this suite now throw exceptions because the CN returns KEY_NOT_PROVIDED when no key is set, and the MN has been updated to return the same response accordingly.*
- name: Run hedera local | ||
run: npx hedera restart -d --verbose=trace --network-tag=${{ inputs.networkTag }} --mirror-tag=${{ inputs.mirrorTag }} | ||
# run: npx hedera restart -d --verbose=trace --network-tag=${{ inputs.networkTag }} --mirror-tag=${{ inputs.mirrorTag }} | ||
run: npx hedera restart -d --verbose=trace --network-tag=0.65.1 --mirror-tag=0.140.0-rc1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
*Notes for Reviewers: These changes on how to run hedera-local will be reverted once Mirror Node releases version 0.140.0 GA and @hashgraph/hedera-local upgrades to that version.
Description
This PR enables Jumbo Transaction support by upgrading
@hashgraph/hedera-local
from2.32.5
to2.38.0
, which brings [email protected] and [email protected]. This major version jump introduces breaking changes that required extensive test updates and fixes to accommodate new network behaviors, including HIP-1084: Zero Cost EthereumTransaction on Success, HIP-1086: Jumbo EthereumTransaction and Mirror Node Modularized ServiceKey Changes:
@hashgraph/hedera-local
2.32.5 → 2.38.0 ([email protected], [email protected])JUMBO_TX_ENABLED=false
flag from all test environmentsRelated issue(s)
Fixes #3769
Changes from original design
JUMBO_TX_ENABLED=false
flag from test environments as Jumbo Transaction is now enabled by defaulteth_call
andeth_estimateGas
to match new gas behaviorJUMBO_TX_ENABLED
for specific tests incompatible with Jumbo transactions (via test override)Additional work needed (optional)
This PR will be opened for review once Mirror Node releases version 0.140.0 GA and
@hashgraph/hedera-local
upgrades to that version.N/A
Checklist