From fb3467929f95f51547f2b7d2e8a51dffb52f4a15 Mon Sep 17 00:00:00 2001 From: Roger Barker Date: Fri, 20 Dec 2024 22:06:29 -0600 Subject: [PATCH] chore: Update hedera-services to rename develop as main (#17091) Signed-off-by: Roger Barker Signed-off-by: Jendrik Johannes Co-authored-by: Jendrik Johannes Co-authored-by: Andrew Brandt --- .../workflows/flow-artifact-determinism.yaml | 2 +- .../node-flow-build-application.yaml | 3 +- .../node-flow-deploy-release-artifact.yaml | 8 ++--- .../node-zxcron-develop-fsts-regression.yaml | 2 +- .github/workflows/node-zxf-snyk-monitor.yaml | 2 +- ...latform-zxcron-develop-jrs-regression.yaml | 2 +- .github/workflows/zxc-jrs-regression.yaml | 4 +-- .../workflows/zxcron-extended-test-suite.yaml | 12 ++++---- .../zxcron-promote-build-candidate.yaml | 6 ++-- .../workflows/zxf-collect-workflow-logs.yaml | 2 +- .../zxf-prepare-extended-test-suite.yaml | 6 ++-- docs/branch-naming-conventions.md | 9 +++--- ...continuous-integration-testing-overview.md | 8 ++--- docs/glossary.md | 4 +-- docs/maintainers-guide.md | 29 +++++++++---------- gradle/development-branch.txt | 1 - hedera-node/docs/design/app/workflows.md | 14 ++++----- .../cancun-fork-support.md | 2 +- .../contract-accounts-nonces.md | 10 +++---- hedera-node/docs/dev/JRS-GettingStarted.md | 4 +-- platform-sdk/README.md | 2 +- platform-sdk/description.txt | 2 +- .../docs/core/address-book-management.md | 2 +- platform-sdk/docs/core/wiring-diagram.svg | 2 +- platform-sdk/docs/proposals/README.md | 2 +- .../docs/proposals/metric-labels/README.md | 2 +- .../model/diagram/HyperlinkBuilder.java | 8 ++--- .../cli/JrsTestReaderReportCommand.java | 4 +-- 28 files changed, 75 insertions(+), 79 deletions(-) delete mode 100644 gradle/development-branch.txt diff --git a/.github/workflows/flow-artifact-determinism.yaml b/.github/workflows/flow-artifact-determinism.yaml index f638b1c915bd..7c6c71f9ff49 100644 --- a/.github/workflows/flow-artifact-determinism.yaml +++ b/.github/workflows/flow-artifact-determinism.yaml @@ -35,7 +35,7 @@ on: default: "21.0.4" push: branches: - - develop + - main - 'release/**' tags: - 'v*.*.*' diff --git a/.github/workflows/node-flow-build-application.yaml b/.github/workflows/node-flow-build-application.yaml index 8630c2aa0358..befc83899548 100644 --- a/.github/workflows/node-flow-build-application.yaml +++ b/.github/workflows/node-flow-build-application.yaml @@ -50,7 +50,6 @@ on: default: "temurin" push: branches: - - develop - main - 'release/*' @@ -124,7 +123,7 @@ jobs: with: workflow: .github/workflows/node-flow-deploy-release-artifact.yaml repo: hashgraph/hedera-services # ensure we are executing in the hashgraph org - ref: develop # ensure we are always using the workflow definition from the develop branch + ref: main # ensure we are always using the workflow definition from the main branch token: ${{ secrets.GH_ACCESS_TOKEN }} inputs: '{ "ref": "${{ steps.workflow-inputs.outputs.input-ref }}", diff --git a/.github/workflows/node-flow-deploy-release-artifact.yaml b/.github/workflows/node-flow-deploy-release-artifact.yaml index 50e13ca7da0d..9f6e09aa930e 100644 --- a/.github/workflows/node-flow-deploy-release-artifact.yaml +++ b/.github/workflows/node-flow-deploy-release-artifact.yaml @@ -150,7 +150,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: fetch-depth: '0' - ref: develop + ref: main token: ${{ secrets.GH_ACCESS_TOKEN }} - name: Trigger ZXF Prepare Extended Test Suite @@ -159,7 +159,7 @@ jobs: with: workflow: .github/workflows/zxf-prepare-extended-test-suite.yaml repo: hashgraph/hedera-services # ensure we are executing in the hashgraph org - ref: develop # ensure we are always using the workflow definition from the develop branch + ref: main # ensure we are always using the workflow definition from the main branch token: ${{ secrets.GH_ACCESS_TOKEN }} inputs: '{ "ref": "${{ inputs.ref }}" }' @@ -171,7 +171,7 @@ jobs: with: workflow: .github/workflows/node-zxf-deploy-integration.yaml repo: hashgraph/hedera-services # ensure we are executing in the hashgraph org - ref: develop # ensure we are always using the workflow definition from the develop branch + ref: main # ensure we are always using the workflow definition from the main branch token: ${{ secrets.GH_ACCESS_TOKEN }} inputs: '{ "ref": "${{ inputs.ref }}", @@ -195,7 +195,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: token: ${{ secrets.GH_ACCESS_TOKEN }} - ref: develop + ref: main fetch-depth: '0' - name: Checkout Hedera Protobufs Code diff --git a/.github/workflows/node-zxcron-develop-fsts-regression.yaml b/.github/workflows/node-zxcron-develop-fsts-regression.yaml index df2b6a3d7352..ff7b86573758 100644 --- a/.github/workflows/node-zxcron-develop-fsts-regression.yaml +++ b/.github/workflows/node-zxcron-develop-fsts-regression.yaml @@ -14,7 +14,7 @@ # limitations under the License. ## -name: "ZXCron: [Node] Develop JRS Tests" +name: "ZXCron: [Node] Main JRS Tests" on: workflow_dispatch: diff --git a/.github/workflows/node-zxf-snyk-monitor.yaml b/.github/workflows/node-zxf-snyk-monitor.yaml index aa2f0f628ba2..a86e0d52f997 100644 --- a/.github/workflows/node-zxf-snyk-monitor.yaml +++ b/.github/workflows/node-zxf-snyk-monitor.yaml @@ -19,7 +19,7 @@ name: "ZXF: Snyk Monitor" on: push: branches: - - develop + - main workflow_dispatch: permissions: diff --git a/.github/workflows/platform-zxcron-develop-jrs-regression.yaml b/.github/workflows/platform-zxcron-develop-jrs-regression.yaml index 6cfc2218a2c0..82de7cc2dde5 100644 --- a/.github/workflows/platform-zxcron-develop-jrs-regression.yaml +++ b/.github/workflows/platform-zxcron-develop-jrs-regression.yaml @@ -14,7 +14,7 @@ # limitations under the License. ## -name: "ZXCron: [Platform] Develop JRS Regression" +name: "ZXCron: [Platform] Main JRS Regression" on: schedule: - cron: '30 5 * * *' diff --git a/.github/workflows/zxc-jrs-regression.yaml b/.github/workflows/zxc-jrs-regression.yaml index ae3e455af617..e42b76a6046d 100644 --- a/.github/workflows/zxc-jrs-regression.yaml +++ b/.github/workflows/zxc-jrs-regression.yaml @@ -486,8 +486,8 @@ jobs: fi if [[ -n "${HEDERA_TESTS_ENABLED}" && "${HEDERA_TESTS_ENABLED}" = true ]]; then - # Override for the develop branch - if [[ "${SLACK_BRANCH}" != "develop" ]]; then + # Override for the main branch + if [[ "${SLACK_BRANCH}" != "main" ]]; then SLACK_SUMMARY="hedera-gcp-${SLACK_BRANCH}-summary" SLACK_RESULTS="hedera-gcp-${SLACK_BRANCH}-regression" else diff --git a/.github/workflows/zxcron-extended-test-suite.yaml b/.github/workflows/zxcron-extended-test-suite.yaml index 53b467047dfa..49be04128ab8 100644 --- a/.github/workflows/zxcron-extended-test-suite.yaml +++ b/.github/workflows/zxcron-extended-test-suite.yaml @@ -57,12 +57,12 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: fetch-depth: '0' - ref: develop + ref: main token: ${{ secrets.GH_ACCESS_TOKEN }} # Check if the xts-candidate tag exists # the command git branch --contains xts-tag-commit | grep --quiet - # will return an exit code of 1 if the tagged commit is not found on the develop + # will return an exit code of 1 if the tagged commit is not found on the main # branch. - name: Check for tags id: check-tags-exist @@ -93,9 +93,9 @@ jobs: gh run cancel ${{ github.run_id }} fi - # Check if the tag exists on the develop branch + # Check if the tag exists on the main branch set +e - git branch --contains "${XTS_COMMIT}" | grep --quiet develop >/dev/null 2>&1 + git branch --contains "${XTS_COMMIT}" | grep --quiet main >/dev/null 2>&1 BRANCH_ON_DEVELOP="${?}" set -e @@ -103,7 +103,7 @@ jobs: AUTHOR_NAME=$(git log -1 --format='%an' "${XTS_COMMIT}") AUTHOR_EMAIL=$(git log -1 --format='%ae' "${XTS_COMMIT}") - # If the tag exists on the Develop Branch set the output variables as appropriate + # If the tag exists on the Main Branch set the output variables as appropriate # Otherwise cancel out if [[ "${BRANCH_ON_DEVELOP}" -eq 0 ]]; then echo "xts-tag-exists=true" >> $GITHUB_OUTPUT @@ -260,7 +260,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: fetch-depth: '0' - ref: develop + ref: main token: ${{ secrets.GH_ACCESS_TOKEN }} - name: Collect run logs in a log file diff --git a/.github/workflows/zxcron-promote-build-candidate.yaml b/.github/workflows/zxcron-promote-build-candidate.yaml index 7976fe9bf686..8cbf7e23598d 100644 --- a/.github/workflows/zxcron-promote-build-candidate.yaml +++ b/.github/workflows/zxcron-promote-build-candidate.yaml @@ -52,7 +52,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: fetch-depth: '0' - ref: develop + ref: main token: ${{ secrets.GH_ACCESS_TOKEN }} - name: Find Build Candidates @@ -74,8 +74,8 @@ jobs: gh run cancel ${{ github.run_id }} fi - # Verify the commit is on develop and continue - if git branch --contains "${CANDIDATE_COMMIT}" | grep --quiet develop >/dev/null 2>&1; then + # Verify the commit is on main and continue + if git branch --contains "${CANDIDATE_COMMIT}" | grep --quiet main >/dev/null 2>&1; then git push --delete origin $(git tag --list "${TAG_PATTERN}") git tag --delete $(git tag --list "${TAG_PATTERN}") echo "build-candidate-exists=true" >> "${GITHUB_OUTPUT}" diff --git a/.github/workflows/zxf-collect-workflow-logs.yaml b/.github/workflows/zxf-collect-workflow-logs.yaml index 14d12a8e4a35..113fe7f82c35 100644 --- a/.github/workflows/zxf-collect-workflow-logs.yaml +++ b/.github/workflows/zxf-collect-workflow-logs.yaml @@ -50,7 +50,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: fetch-depth: '0' - ref: develop + ref: main token: ${{ secrets.GH_ACCESS_TOKEN }} - name: Get run logs diff --git a/.github/workflows/zxf-prepare-extended-test-suite.yaml b/.github/workflows/zxf-prepare-extended-test-suite.yaml index e3f021b98eb5..d0dce64f6081 100644 --- a/.github/workflows/zxf-prepare-extended-test-suite.yaml +++ b/.github/workflows/zxf-prepare-extended-test-suite.yaml @@ -50,7 +50,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: fetch-depth: '0' - ref: 'develop' + ref: 'main' token: ${{ secrets.GH_ACCESS_TOKEN }} - name: Validate Input Ref @@ -58,10 +58,10 @@ jobs: env: COMMIT_ID: ${{ inputs.ref }} run: | - if git merge-base --is-ancestor "${COMMIT_ID}" develop >/dev/null 2>&1; then + if git merge-base --is-ancestor "${COMMIT_ID}" main >/dev/null 2>&1; then echo "commit_on_dev=true" >> $GITHUB_OUTPUT else - echo "::error title=Branch Alignment::The provided commit (${COMMIT_ID}) is not present on the develop branch." + echo "::error title=Branch Alignment::The provided commit (${COMMIT_ID}) is not present on the main branch." exit 1 fi diff --git a/docs/branch-naming-conventions.md b/docs/branch-naming-conventions.md index c77ccb33ac26..841bc329a4d8 100644 --- a/docs/branch-naming-conventions.md +++ b/docs/branch-naming-conventions.md @@ -20,18 +20,19 @@ naming standard. ### Permanent & Default Branches -The repository will contain two permanent branches as per the GitFlow Workflow `main` and `develop` -branches. +The repository will contain one permanent branch, `main`, per the Hashgraph Continuous Integration +Test and Release workflow **Default Branches** -The default branch for a repository will be `develop` as per the branching workflow. +The default branch for a repository will be `main` as per the Hashgraph Continuous Integration +Test and Release workflow. ### Branch to Issue Relationship Aside from the permanent or release branches, no short-lived (feature, hotfix, bugfix) branch should be created without being associated to an issue number. No short-lived branch should be merged into -`develop` or `main` without an associated and approved pull request. +`main` without an associated and approved pull request. ### Feature Branch Naming diff --git a/docs/continuous-integration-testing-overview.md b/docs/continuous-integration-testing-overview.md index 036a82d983de..6afc43f6e52c 100644 --- a/docs/continuous-integration-testing-overview.md +++ b/docs/continuous-integration-testing-overview.md @@ -20,11 +20,11 @@ two major components of CITR: MATS and XTS. MATS is the Minimal Acceptable Test Suite; this suite of tests is run against every pull request (PR) that is opened in the `hashgraph/hedera-services` repository. -XTS is the eXtended Test Suite; this suite of tests is run against the latest commit on the develop branch every three +XTS is the eXtended Test Suite; this suite of tests is run against the latest commit on the main branch every three hours (provided there is a new commit to run against). MATS tests are inclusive of a series of unit tests and performance tests that must be executed against a PR branch prior -to merging into develop. The MATS tests are intended to complete within a 30-minute time window to provide developers +to merging into main. The MATS tests are intended to complete within a 30-minute time window to provide developers with valuable insight of the impact of new code on the default branch. XTS tests are run against the default branch once every three hours. These cover test cases that are unable to complete @@ -38,14 +38,14 @@ There is an additional workflow: `ZXF: Extended Test Suite - Dry Run` which is a `hashgraph/hedera-services` repository. The XTS Dry-Run workflow runs a provided commit on any branch through the same XTS tests that would be run against the -latest on develop every three hours. This workflow is run with a manual trigger and will execute in parallel to any +latest on main every three hours. This workflow is run with a manual trigger and will execute in parallel to any other actions ongoing in the `hashgraph/hedera-services` repository. A developer can manually trigger a run using the parameters in the web UI: ```text Use Workflow From - Branch: develop # this should always be `develop` + Branch: main # this should always be `main` The commit sha to check out The branch name, for JRS Panel output diff --git a/docs/glossary.md b/docs/glossary.md index 929f3be8a125..b83eb5cc03c6 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -193,9 +193,9 @@ This file contains the address book to use when starting from genesis. **Congestion Pricing**: A mechanism designed to manage network congestion by dynamically adjusting transaction fees based on network demand. The primary goal of congestion pricing is to discourage excessive network usage during peak times. Refer to -[Congestion Pricing](https://github.com/hashgraph/hedera-services/blob/develop/hedera-node/docs/fees/automated-congestion-pricing.md) +[Congestion Pricing](https://github.com/hashgraph/hedera-services/blob/main/hedera-node/docs/fees/automated-congestion-pricing.md) and -[Fees](https://github.com/hashgraph/hedera-services/blob/develop/hedera-node/docs/design/app/fees.md). +[Fees](https://github.com/hashgraph/hedera-services/blob/main/hedera-node/docs/design/app/fees.md). ## Consensus Time diff --git a/docs/maintainers-guide.md b/docs/maintainers-guide.md index 755796a0bfa3..34502f5d0319 100644 --- a/docs/maintainers-guide.md +++ b/docs/maintainers-guide.md @@ -58,12 +58,10 @@ pattern for the development life cycle. ![gitflow-branching-model](./assets/gitflow-branching-model.png) -Note especially the roles of the `main` and `develop` branches: +Note especially the roles of the `main` branch: -- `develop` is the default branch, the target of active development, and should at all times +- `main` is the default branch, the target of active development, and should at all times should be a viable candidate for the next release. -- `main` is a tightly-controlled branch that release engineering uses for final tags deployed to - production. ### Creating issues on GitHub @@ -92,35 +90,34 @@ with 0.30 milestone on it. ![labels-on-issue](./assets/labels-on-issue.png) -### Release Engineering Responsibilities +### DevOps-CI Responsibilities -The release engineering team will handle the following: +The DevOps-CI team will handle the following: -- Create a release branch from `develop` branch at the end of first sprint in the release cycle -- Will merge the release branch for current deploying release into `main` - Will provide automated release processes and coordinate release schedules - Will handle production releases +- Note: no release branch will be created ### User Stories #### As a developer, I would like to create a branch to work on the feature for the upcoming release -As per the development model, every developer should create a feature branch from `develop` branch +As per the development model, every developer should create a feature branch from `main` branch for working on a change targeted for the current release. The created branch should follow [naming conventions](branch-naming-conventions.md). -The `develop` branch should be up-to-date with all the features going into the next release. +The `main` branch should be up-to-date with all the features going into the next release. #### As a developer, I would like to create a branch to work on the feature NOT targeted for upcoming release -As per the development model, every developer should create a feature branch to work from `develop` +As per the development model, every developer should create a feature branch to work from `main` branch. The created branch should follow [naming conventions](branch-naming-conventions.md). But, -the feature branch should NOT be merged into `develop` until the decision is made if the feature is +the feature branch should NOT be merged into `main` until the decision is made if the feature is going into upcoming release. #### As a developer, I would like to merge my feature branch or bug fix for the upcoming release -Open a pull request (PR) from the feature branch to `develop` branch and add +Open a pull request (PR) from the feature branch to `main` branch and add `hashgraph/hedera-services-team` as reviewers. Also add the following labels on the PR : @@ -134,7 +131,7 @@ PR should be merged after an approving review and all the checks are passed. NOTE: 1. Any feature that is not going into the upcoming release should stay in the feature branch and - should not be merged to `develop`. + should not be merged to `main`. 2. Please use either the Gradle command line `./gradlew qualityGate` or the [Google Java Format IntelliJ Plugin](https://github.com/google/google-java-format#intellij-android-studio-and-other-jetbrains-ides) to format your code to avoid failing checks in CI pipeline. @@ -146,14 +143,14 @@ Once the release branch is created, only bugfixes or hotfixes should be merged i To do that, create a `hotfix` from the `release` branch. The created branch should follow [naming conventions](branch-naming-conventions.md). Once the fix is in the branch, open a PR to the release branch. Once the fix is merged into `release` branch, it should be cherry-picked into the -`develop` branch. +`main` branch. #### As a developer, I would like to merge a bugfix/hotfix from the production code To fix a bug from one of the previous releases(production code), create a hotfix branch from `main`. Once the fix is in the branch, create a PR targeting to `main`. Once bugfix is merged into `main`and it should be cherry-picked back into the current `release` branch(if the release branch is still -open), and also into `develop`. +open). ### DCO Sign Off diff --git a/gradle/development-branch.txt b/gradle/development-branch.txt deleted file mode 100644 index ce57f6456319..000000000000 --- a/gradle/development-branch.txt +++ /dev/null @@ -1 +0,0 @@ -develop \ No newline at end of file diff --git a/hedera-node/docs/design/app/workflows.md b/hedera-node/docs/design/app/workflows.md index bab72146b5d2..b1532d5b6439 100644 --- a/hedera-node/docs/design/app/workflows.md +++ b/hedera-node/docs/design/app/workflows.md @@ -118,18 +118,18 @@ All the objects used while handling the transaction belong to one of the followi Examples include the `NodeInfo` and `WorkingStateAccessor`. - **UserTxnScope** - Objects that are created once for platform transaction. Examples include the `Configuration`, `RecordListBuilder` and `TokenContext`. -Dagger provides all the objects that can be constructed in this scope [here](https://github.com/hashgraph/hedera-services/tree/develop/hedera-node/hedera-app/src/main/java/com/hedera/node/app/workflows/handle/flow/txn/modules) -and [UserTxnComponent](https://github.com/hashgraph/hedera-services/blob/develop/hedera-node/hedera-app/src/main/java/com/hedera/node/app/workflows/handle/flow/txn/UserTransactionComponent.java) +Dagger provides all the objects that can be constructed in this scope [here](https://github.com/hashgraph/hedera-services/tree/main/hedera-node/hedera-app/src/main/java/com/hedera/node/app/workflows/handle/flow/txn/modules) +and [UserTxnComponent](https://github.com/hashgraph/hedera-services/blob/main/hedera-node/hedera-app/src/main/java/com/hedera/node/app/workflows/handle/flow/txn/UserTransactionComponent.java) takes all the inputs that are needed to execute the user transaction. - **UserDispatchScope** - Objects that are created once for each user transaction that will be dispatched. Examples include the `SingleTransactionRecordBuilder` for user transaction and `FeeContext`. -Dagger provides all the objects that can be constructed in this scope in [UserDispatchModule](https://github.com/hashgraph/hedera-services/blob/develop/hedera-node/hedera-app/src/main/java/com/hedera/node/app/workflows/handle/flow/dispatch/user/modules/UserDispatchModule.java) and `UserDispatchComponent`. -and [UserDispatchComponent](https://github.com/hashgraph/hedera-services/blob/develop/hedera-node/hedera-app/src/main/java/com/hedera/node/app/workflows/handle/flow/dispatch/user/UserDispatchComponent.java) +Dagger provides all the objects that can be constructed in this scope in [UserDispatchModule](https://github.com/hashgraph/hedera-services/blob/main/hedera-node/hedera-app/src/main/java/com/hedera/node/app/workflows/handle/flow/dispatch/user/modules/UserDispatchModule.java) and `UserDispatchComponent`. +and [UserDispatchComponent](https://github.com/hashgraph/hedera-services/blob/main/hedera-node/hedera-app/src/main/java/com/hedera/node/app/workflows/handle/flow/dispatch/user/UserDispatchComponent.java) takes all the inputs that are needed to create the user dispatch. - **ChildDispatchScope** - Objects that are created once for each child transaction dispatch. Examples include the `ReadableStoreFactory` and `ChildFeeContext`. -Dagger provides all the objects that can be constructed in the [ChildDispatchModule](https://github.com/hashgraph/hedera-services/blob/develop/hedera-node/hedera-app/src/main/java/com/hedera/node/app/workflows/handle/flow/dispatch/child/modules/ChildDispatchModule.java) -and [ChildDispatchComponent](https://github.com/hashgraph/hedera-services/blob/develop/hedera-node/hedera-app/src/main/java/com/hedera/node/app/workflows/handle/flow/dispatch/child/ChildDispatchComponent.java) +Dagger provides all the objects that can be constructed in the [ChildDispatchModule](https://github.com/hashgraph/hedera-services/blob/main/hedera-node/hedera-app/src/main/java/com/hedera/node/app/workflows/handle/flow/dispatch/child/modules/ChildDispatchModule.java) +and [ChildDispatchComponent](https://github.com/hashgraph/hedera-services/blob/main/hedera-node/hedera-app/src/main/java/com/hedera/node/app/workflows/handle/flow/dispatch/child/ChildDispatchComponent.java) takes all the inputs that are needed to create the child dispatch. #### HandleWorkflow overview: @@ -169,7 +169,7 @@ The overall high level steps are as follows: The `DispatchProcessor.processDispatch` will be called for user and child dispatches. This avoids duplicating any logic between user and child transactions, since both are treated as dispatches. -For the child transactions, when a service calls one of the [dispatchXXXTransaction](https://github.com/hashgraph/hedera-services/blob/develop/hedera-node/hedera-app/src/main/java/com/hedera/node/app/workflows/handle/flow/DispatchHandleContext.java#L459) +For the child transactions, when a service calls one of the [dispatchXXXTransaction](https://github.com/hashgraph/hedera-services/blob/main/hedera-node/hedera-app/src/main/java/com/hedera/node/app/workflows/handle/flow/DispatchHandleContext.java#L459) methods in `DispatchHandleContext`, a new child dispatch is created and `DispatchProcessor.processDispatch` is called. 1. **Error Validation:** Checks if there is any error by node or user by re-assessing preHandleResult. It validates the following: diff --git a/hedera-node/docs/design/services/smart-contract-service/cancun-fork-support.md b/hedera-node/docs/design/services/smart-contract-service/cancun-fork-support.md index ddb829613f3a..6c546aceebf2 100644 --- a/hedera-node/docs/design/services/smart-contract-service/cancun-fork-support.md +++ b/hedera-node/docs/design/services/smart-contract-service/cancun-fork-support.md @@ -36,7 +36,7 @@ Generally speaking there are four strategies that will be used: specifications change (e.g., `SELFDESTRUCT`) * As a Hedera developer, I want to preserve maximum future design space to adopt, or not adopt, blobs. * As an end user, I want prompt and accurate failures if I attempt to use Blob features in Hedera. - * And as a smart contract develop I want attempts to _use_ internal blob-support features (e.g., + * And as a smart contract developer I want attempts to _use_ internal blob-support features (e.g., opcodes `VERSIONEDHASH` and `BLOBBASEFEE`) to behave in a predictable manner ## Goals diff --git a/hedera-node/docs/design/services/smart-contract-service/contract-accounts-nonces.md b/hedera-node/docs/design/services/smart-contract-service/contract-accounts-nonces.md index 311a0b10e552..ae65ca89e953 100644 --- a/hedera-node/docs/design/services/smart-contract-service/contract-accounts-nonces.md +++ b/hedera-node/docs/design/services/smart-contract-service/contract-accounts-nonces.md @@ -28,13 +28,13 @@ The following is a table with general use cases and behavior for Ethereum and He | Contract transaction resulting in `CREATE/CREATE2` (`ContractCall` or `ContractCreate`) | - | initial contract nonce value is 1; nonce is incremented for each contract creation initiated by an account, updates are not externalized to Mirror Node | initial contract nonce value is 1; nonce is incremented for each contract creation initiated by an account, updates are externalized to Mirror Node | ### Contract Nonce Externalization -- We keep a `ContractId -> nonce` tree map inside [HederaWorldState](https://github.com/hashgraph/hedera-services/blob/develop/hedera-node/hedera-mono-service/src/main/java/com/hedera/node/app/service/mono/store/contracts/HederaWorldState.java#L79), it is updated on each call of `commit()` (using newly added method `trackContractNonces()`). -- Method `trackContractNonces` in [HederaWorldState](https://github.com/hashgraph/hedera-services/blob/develop/hedera-node/hedera-mono-service/src/main/java/com/hedera/node/app/service/mono/store/contracts/HederaWorldState.java#L393) follows the pattern of `trackNewlyCreatedAccounts`. +- We keep a `ContractId -> nonce` tree map inside [HederaWorldState](https://github.com/hashgraph/hedera-services/blob/main/hedera-node/hedera-mono-service/src/main/java/com/hedera/node/app/service/mono/store/contracts/HederaWorldState.java#L79), it is updated on each call of `commit()` (using newly added method `trackContractNonces()`). +- Method `trackContractNonces` in [HederaWorldState](https://github.com/hashgraph/hedera-services/blob/main/hedera-node/hedera-mono-service/src/main/java/com/hedera/node/app/service/mono/store/contracts/HederaWorldState.java#L393) follows the pattern of `trackNewlyCreatedAccounts`. - Checks if an account is a new smart contract and externalizes its nonce. - Checks if an existing smart contract's nonce is updated and externalizes it. -- Added a `ContractId -> nonce` tree map inside [TransactionProcessingResult](https://github.com/hashgraph/hedera-services/blob/develop/hedera-node/hedera-mono-service/src/main/java/com/hedera/node/app/service/mono/contracts/execution/TransactionProcessingResult.java#L45). -- Persists account contract nonces into state in [ContractCreateTransitionLogic](https://github.com/hashgraph/hedera-services/blob/develop/hedera-node/hedera-mono-service/src/main/java/com/hedera/node/app/service/mono/txns/contract/ContractCreateTransitionLogic.java#L209) and [ContractCallTransitionLogic](https://github.com/hashgraph/hedera-services/blob/develop/hedera-node/hedera-mono-service/src/main/java/com/hedera/node/app/service/mono/txns/contract/ContractCallTransitionLogic.java#L148) using `setContractNonces` from `TransactionProcessingResult`. -- Created new [ContractNonceInfo](https://github.com/hashgraph/hedera-services/blob/develop/hedera-node/hedera-mono-service/src/main/java/com/hedera/node/app/service/mono/state/submerkle/ContractNonceInfo.java) submerkle class with two main entities - `contractId` and `nonce` +- Added a `ContractId -> nonce` tree map inside [TransactionProcessingResult](https://github.com/hashgraph/hedera-services/blob/main/hedera-node/hedera-mono-service/src/main/java/com/hedera/node/app/service/mono/contracts/execution/TransactionProcessingResult.java#L45). +- Persists account contract nonces into state in [ContractCreateTransitionLogic](https://github.com/hashgraph/hedera-services/blob/main/hedera-node/hedera-mono-service/src/main/java/com/hedera/node/app/service/mono/txns/contract/ContractCreateTransitionLogic.java#L209) and [ContractCallTransitionLogic](https://github.com/hashgraph/hedera-services/blob/main/hedera-node/hedera-mono-service/src/main/java/com/hedera/node/app/service/mono/txns/contract/ContractCallTransitionLogic.java#L148) using `setContractNonces` from `TransactionProcessingResult`. +- Created new [ContractNonceInfo](https://github.com/hashgraph/hedera-services/blob/main/hedera-node/hedera-mono-service/src/main/java/com/hedera/node/app/service/mono/state/submerkle/ContractNonceInfo.java) submerkle class with two main entities - `contractId` and `nonce` - Added new method `serializableContractNoncesFrom` in [EvmFnResult](https://github.com/hashgraph/hedera-services/blob/96a85f0e08f82582bbf25328d14ca90fc630c5ef/hedera-node/hedera-mono-service/src/main/java/com/hedera/node/app/service/mono/state/submerkle/EvmFnResult.java) that builds `List` (submerkle) from `Map` - Added new verison `7` (`RELEASE_0400_VERSION`) and externalized logic for `serialize` and `deserialize` of `contractNonces` in `EvmFnResult` diff --git a/hedera-node/docs/dev/JRS-GettingStarted.md b/hedera-node/docs/dev/JRS-GettingStarted.md index 9a4d8c604994..3fb9ec19dc4d 100644 --- a/hedera-node/docs/dev/JRS-GettingStarted.md +++ b/hedera-node/docs/dev/JRS-GettingStarted.md @@ -127,7 +127,7 @@ Providing very long `name` will cause failure to create instances. ## **Naming Conventions for the JSONs** -Naming conventions described in [file](https://github.com/swirlds/swirlds-platform-regression/blob/develop/docs/regression-test-naming-standards.md) are required to be followed for both types of configuration JSONs. +Naming conventions described in [file](https://github.com/swirlds/swirlds-platform-regression/blob/main/docs/regression-test-naming-standards.md) are required to be followed for both types of configuration JSONs. Any new naming conventions need to be added to the file if required, after seeking approval from the code owners in `swirlds-platform-regression` repository. @@ -167,7 +167,7 @@ Current Services nightly regression runs the following tests based on the cron t All the above tests are under the following path `swirlds-platform/regression/configs/services/suites` under `daily` or `weekly` with appropriate names. -**NOTE** : To validate the regression results follow steps defined in [regression-validation-checklist.md](https://github.com/swirlds/swirlds-platform-regression/blob/develop/docs/regression-validation-checklist.md). +**NOTE** : To validate the regression results follow steps defined in [regression-validation-checklist.md](https://github.com/swirlds/swirlds-platform-regression/blob/main/docs/regression-validation-checklist.md). diff --git a/platform-sdk/README.md b/platform-sdk/README.md index 55ae640891fb..52919c105e2a 100644 --- a/platform-sdk/README.md +++ b/platform-sdk/README.md @@ -46,7 +46,7 @@ Portions of this Hedera Hashgraph, LLC Software may utilize the following copyri use of which is hereby acknowledged. The full list of acknowledgements is available at -[https://github.com/hashgraph/hedera-services/raw/develop/platform-sdk/sdk/docs/acknowledgments.html](sdk/docs/acknowledgments.html) +[https://github.com/hashgraph/hedera-services/raw/main/platform-sdk/sdk/docs/acknowledgments.html](sdk/docs/acknowledgments.html) ## License diff --git a/platform-sdk/description.txt b/platform-sdk/description.txt index 90ec8bd24256..c8bb0806c141 100644 --- a/platform-sdk/description.txt +++ b/platform-sdk/description.txt @@ -1,3 +1,3 @@ -Swirlds is a software platform designed to build fully-distributed applications that harness the power of the cloud +Hedera Hashgraph is a software platform designed to build fully-distributed applications that harness the power of the cloud without servers. Now you can develop applications with fairness in decision making, speed, trust and reliability, at a fraction of the cost of traditional server-based platforms. diff --git a/platform-sdk/docs/core/address-book-management.md b/platform-sdk/docs/core/address-book-management.md index c0f70b980a71..08acda44ffed 100644 --- a/platform-sdk/docs/core/address-book-management.md +++ b/platform-sdk/docs/core/address-book-management.md @@ -3,7 +3,7 @@ ## WIP The address book management pipeline is currently a work in progress. -This document reflects the address book pipeline as we want it to be, not necessarily as it is in `develop` today. +This document reflects the address book pipeline as we want it to be, not necessarily as it is in `main` today. ## Summary diff --git a/platform-sdk/docs/core/wiring-diagram.svg b/platform-sdk/docs/core/wiring-diagram.svg index 1e314abde54d..098ffc251b92 100644 --- a/platform-sdk/docs/core/wiring-diagram.svg +++ b/platform-sdk/docs/core/wiring-diagram.svg @@ -1 +1 @@ -
Transaction Handling
State Verification
State Signature Collection
State File Management
Preconsensus Event Stream
PCES Replay
Miscellaneous
Event Intake
Event Creation
Consensus
AppNotifier
❔💢💥🚦
Branch Detection
❔🌀
Consensus Engine
❔🚦
🌀
🚽
EventCreationManager
❔❤️🌀🏥🚦
TransactionPool
♻️❔🏥🖋️🚦
♻️
⚰️
PostHashCollector
Mystery Input
❤️
🏥
💨
🚦
PcesWriter
✅❔🌀📀🚽
💾
📀
State Signature Collector
❔🔰
💢
ISS Detector
💀
💥
🖋️
Transaction Handler
💨🔮
gossip
❔🌀🏥📬🚦
🍎
📝
📬
🔮
🔰
consensus events
rounds
rounds
event window
flush request
future hash
self events
get transactions
GossipEvent
GossipEvent
unordered events
health info
check system health
checkSignedStates
evaluate status
heartbeat
PlatformStatusAction
IssNotification
non-deduplicated events
mystery data
checkForBranches
GossipEvent
unsequenced event
GossipEvent
GossipEvent
events to gossip
preconsensus signatures
GossipEvent
events to write
durable event info
non-validated events
handleConsensusRound
hash override
self events
stale events
publishStaleEvent
non-validated events
hashed states
handleStateAndRound
consensus events
hashed states
signState
complete state
states
complete state notification
state written notification
PlatformStatusAction
minimum identifier to store
submit transaction
PlatformStatus
setState
unhashed state and round
registerState
submit transaction
futures
unhashed event
unhashed event
done streaming pces
\ No newline at end of file +
Transaction Handling
State Verification
State Signature Collection
State File Management
Preconsensus Event Stream
PCES Replay
Miscellaneous
Event Intake
Event Creation
Consensus
AppNotifier
❔💢💥🚦
Branch Detection
❔🌀
Consensus Engine
❔🚦
🌀
🚽
EventCreationManager
❔❤️🌀🏥🚦
TransactionPool
♻️❔🏥🖋️🚦
♻️
⚰️
PostHashCollector
Mystery Input
❤️
🏥
💨
🚦
PcesWriter
✅❔🌀📀🚽
💾
📀
State Signature Collector
❔🔰
💢
ISS Detector
💀
💥
🖋️
Transaction Handler
💨🔮
gossip
❔🌀🏥📬🚦
🍎
📝
📬
🔮
🔰
consensus events
rounds
rounds
event window
flush request
future hash
self events
get transactions
GossipEvent
GossipEvent
unordered events
health info
check system health
checkSignedStates
evaluate status
heartbeat
PlatformStatusAction
IssNotification
non-deduplicated events
mystery data
checkForBranches
GossipEvent
unsequenced event
GossipEvent
GossipEvent
events to gossip
preconsensus signatures
GossipEvent
events to write
durable event info
non-validated events
handleConsensusRound
hash override
self events
stale events
publishStaleEvent
non-validated events
hashed states
handleStateAndRound
consensus events
hashed states
signState
complete state
states
complete state notification
state written notification
PlatformStatusAction
minimum identifier to store
submit transaction
PlatformStatus
setState
unhashed state and round
registerState
submit transaction
futures
unhashed event
unhashed event
done streaming pces
\ No newline at end of file diff --git a/platform-sdk/docs/proposals/README.md b/platform-sdk/docs/proposals/README.md index a11874f047ab..f421e5e234a2 100644 --- a/platform-sdk/docs/proposals/README.md +++ b/platform-sdk/docs/proposals/README.md @@ -128,7 +128,7 @@ to `Withdrawn` and closed. ## Delivery of A Proposal -Once an accepted proposal has been completely implemented, tested, the code merged into `develop`, and the feature is +Once an accepted proposal has been completely implemented, tested, the code merged into `main`, and the feature is planned to be enabled for production, the proposal's content should be merged with the documentation of the platform in `platform-sdk/docs` (or other relevant location such as `module-info.java`), as applicable, and removed from `platform-sdk/docs/proposals`. Once the feature is live on mainnet, the status of the proposal PR in the proposal diff --git a/platform-sdk/docs/proposals/metric-labels/README.md b/platform-sdk/docs/proposals/metric-labels/README.md index b61074586088..f27b61e7e460 100644 --- a/platform-sdk/docs/proposals/metric-labels/README.md +++ b/platform-sdk/docs/proposals/metric-labels/README.md @@ -227,7 +227,7 @@ interface MetricsFactory { } ``` -The definition of the api should follow our rules regarding services as defined at https://github.com/hashgraph/hedera-services/blob/develop/platform-sdk/docs/base/service-architecture/service-architecture.md +The definition of the api should follow our rules regarding services as defined at https://github.com/hashgraph/hedera-services/blob/main/platform-sdk/docs/base/service-architecture/service-architecture.md ##### Examples diff --git a/platform-sdk/swirlds-common/src/main/java/com/swirlds/common/wiring/model/diagram/HyperlinkBuilder.java b/platform-sdk/swirlds-common/src/main/java/com/swirlds/common/wiring/model/diagram/HyperlinkBuilder.java index 73f6afa65374..20b74254b1d9 100644 --- a/platform-sdk/swirlds-common/src/main/java/com/swirlds/common/wiring/model/diagram/HyperlinkBuilder.java +++ b/platform-sdk/swirlds-common/src/main/java/com/swirlds/common/wiring/model/diagram/HyperlinkBuilder.java @@ -19,15 +19,15 @@ import edu.umd.cs.findbugs.annotations.NonNull; /** - * Given a class, derive a hyperlink to the github for that class's source code (in develop). + * Given a class, derive a hyperlink to the github for that class's source code (in main). */ public final class HyperlinkBuilder { - public static final String PLATFORM_CORE_ROOT = "https://github.com/hashgraph/hedera-services/blob/develop/" + public static final String PLATFORM_CORE_ROOT = "https://github.com/hashgraph/hedera-services/blob/main/" + "platform-sdk/swirlds-platform-core/src/main/java"; public static final String PLATFORM_COMMON_ROOT = - "https://github.com/hashgraph/hedera-services/blob/develop/platform-sdk/swirlds-common/src/main/java"; + "https://github.com/hashgraph/hedera-services/blob/main/platform-sdk/swirlds-common/src/main/java"; /** * Build a hyperlink to the platform core source code for the given class. Only works for things in the core @@ -52,7 +52,7 @@ public static String platformCommonHyperlink(@NonNull final Class clazz) { } /** - * Get a github hyperlink to this class (in develop). + * Get a github hyperlink to this class (in main). * * @param clazz the class * @return the hyperlink diff --git a/platform-sdk/swirlds-platform-core/src/main/java/com/swirlds/platform/cli/JrsTestReaderReportCommand.java b/platform-sdk/swirlds-platform-core/src/main/java/com/swirlds/platform/cli/JrsTestReaderReportCommand.java index d1aa66743ff4..a3e96840f9dc 100644 --- a/platform-sdk/swirlds-platform-core/src/main/java/com/swirlds/platform/cli/JrsTestReaderReportCommand.java +++ b/platform-sdk/swirlds-platform-core/src/main/java/com/swirlds/platform/cli/JrsTestReaderReportCommand.java @@ -185,9 +185,9 @@ private static Path autoGenerateOutputDirectoryName(@NonNull final String target @Override public Integer call() { - // if no targets were specified, then default to the develop branch + // if no targets were specified, then default to the main branch if (targets == null) { - targets = List.of("develop"); + targets = List.of("main"); } final Map metadata = JtrUtils.getTestMetadata(metadataFile);