diff --git a/.cicd/platforms/asan.Dockerfile b/.cicd/platforms/asan.Dockerfile index 23ac698b14..1244873096 100644 --- a/.cicd/platforms/asan.Dockerfile +++ b/.cicd/platforms/asan.Dockerfile @@ -21,10 +21,10 @@ RUN apt-get update && apt-get upgrade -y && \ RUN yes | bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" llvm.sh 18 -#make sure no confusion on what llvm library leap's cmake should pick up on +#make sure no confusion on what llvm library spring's cmake should pick up on RUN rm -rf /usr/lib/llvm-18/lib/cmake -ENV LEAP_PLATFORM_HAS_EXTRAS_CMAKE=1 +ENV SPRING_PLATFORM_HAS_EXTRAS_CMAKE=1 COPY <<-EOF /extras.cmake set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "" FORCE) diff --git a/.cicd/platforms/asserton.Dockerfile b/.cicd/platforms/asserton.Dockerfile index a80cfc417f..1a10480b30 100644 --- a/.cicd/platforms/asserton.Dockerfile +++ b/.cicd/platforms/asserton.Dockerfile @@ -17,7 +17,7 @@ RUN apt-get update && apt-get upgrade -y && \ zlib1g-dev \ zstd -ENV LEAP_PLATFORM_HAS_EXTRAS_CMAKE=1 +ENV SPRING_PLATFORM_HAS_EXTRAS_CMAKE=1 COPY <<-EOF /extras.cmake # reset the build type to empty to disable any cmake default flags set(CMAKE_BUILD_TYPE "" CACHE STRING "" FORCE) @@ -25,5 +25,5 @@ COPY <<-EOF /extras.cmake set(CMAKE_C_FLAGS "-O3" CACHE STRING "") set(CMAKE_CXX_FLAGS "-O3" CACHE STRING "") - set(LEAP_ENABLE_RELEASE_BUILD_TEST "Off" CACHE BOOL "") + set(SPRING_ENABLE_RELEASE_BUILD_TEST "Off" CACHE BOOL "") EOF diff --git a/.cicd/platforms/ubsan.Dockerfile b/.cicd/platforms/ubsan.Dockerfile index bf7720b5e6..9e837d9b7b 100644 --- a/.cicd/platforms/ubsan.Dockerfile +++ b/.cicd/platforms/ubsan.Dockerfile @@ -21,7 +21,7 @@ RUN apt-get update && apt-get upgrade -y && \ RUN yes | bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" llvm.sh 18 -#make sure no confusion on what llvm library leap's cmake should pick up on +#make sure no confusion on what llvm library spring's cmake should pick up on RUN rm -rf /usr/lib/llvm-18/lib/cmake COPY <<-EOF /ubsan.supp @@ -29,7 +29,7 @@ COPY <<-EOF /ubsan.supp vptr:wasm_eosio_injection.hpp EOF -ENV LEAP_PLATFORM_HAS_EXTRAS_CMAKE=1 +ENV SPRING_PLATFORM_HAS_EXTRAS_CMAKE=1 COPY <<-EOF /extras.cmake set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "" FORCE) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 7f42f51044..297c5f529a 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -101,12 +101,12 @@ jobs: zstdcat build.tar.zst | tar x cd build cpack - ../tools/tweak-deb.sh leap_*.deb + ../tools/tweak-deb.sh spring_*.deb - name: Install dev package if: matrix.platform != 'reproducible' run: | apt-get update && apt-get upgrade -y - apt-get install -y ./build/leap_*.deb ./build/leap-dev*.deb + apt-get install -y ./build/spring_*.deb ./build/spring-dev*.deb - name: Test using TestHarness if: matrix.platform != 'reproducible' run: | @@ -115,15 +115,15 @@ jobs: uses: actions/upload-artifact@v4 if: matrix.platform != 'reproducible' with: - name: leap-dev-${{matrix.platform}}-amd64 - path: build/leap-dev*.deb + name: spring-dev-${{matrix.platform}}-amd64 + path: build/spring-dev*.deb compression-level: 0 - - name: Upload leap package + - name: Upload spring package uses: actions/upload-artifact@v4 if: matrix.platform == 'reproducible' with: - name: leap-deb-amd64 - path: build/leap_*.deb + name: spring-deb-amd64 + path: build/spring_*.deb compression-level: 0 tests: @@ -192,7 +192,7 @@ jobs: uses: ./.github/actions/parallel-ctest-containers with: container: ${{fromJSON(needs.platform-cache.outputs.platforms)[matrix.cfg.base].image}} - error-log-paths: '["build/etc", "build/var", "build/leap-ignition-wd", "build/TestLogs"]' + error-log-paths: '["build/etc", "build/var", "build/spring-ignition-wd", "build/TestLogs"]' log-tarball-prefix: ${{matrix.cfg.name}} tests-label: nonparallelizable_tests test-timeout: 420 @@ -233,7 +233,7 @@ jobs: uses: ./.github/actions/parallel-ctest-containers with: container: ${{fromJSON(needs.platform-cache.outputs.platforms)[matrix.cfg.base].image}} - error-log-paths: '["build/etc", "build/var", "build/leap-ignition-wd", "build/TestLogs"]' + error-log-paths: '["build/etc", "build/var", "build/spring-ignition-wd", "build/TestLogs"]' log-tarball-prefix: ${{matrix.cfg.name}} tests-label: long_running_tests test-timeout: 1800 @@ -269,19 +269,19 @@ jobs: apt-get update apt-get upgrade -y - # LEAP + # spring - if: ${{ matrix.test != 'deb-install' }} - name: Clone leap + name: Clone spring uses: actions/checkout@v4 with: submodules: recursive - if: ${{ matrix.test != 'deb-install' }} - name: Download leap builddir + name: Download spring builddir uses: actions/download-artifact@v4 with: name: ${{matrix.platform}}-build - if: ${{ matrix.test != 'deb-install' }} - name: Extract leap build + name: Extract spring build run: | zstdcat build.tar.zst | tar x - if: ${{ matrix.test == 'build-tree' }} @@ -289,21 +289,21 @@ jobs: run: | echo "leap_DIR=$PWD/build/lib/cmake/leap" >> "$GITHUB_ENV" - if: ${{ matrix.test == 'make-dev-install' }} - name: leap dev-install + name: spring dev-install run: | cmake --install build cmake --install build --component dev - if: ${{ matrix.test == 'make-dev-install' }} - name: Delete leap artifacts + name: Delete spring artifacts run: | rm -r * - if: ${{ matrix.test == 'deb-install' }} - name: Download leap-dev + name: Download spring-dev uses: actions/download-artifact@v4 with: - name: leap-dev-${{matrix.platform}}-amd64 + name: spring-dev-${{matrix.platform}}-amd64 - if: ${{ matrix.test == 'deb-install' }} - name: Install leap-dev Package + name: Install spring-dev Package run: | apt-get install -y ./*.deb rm ./*.deb diff --git a/.github/workflows/build_base.yaml b/.github/workflows/build_base.yaml index ce885e22ad..49c8e2fd06 100644 --- a/.github/workflows/build_base.yaml +++ b/.github/workflows/build_base.yaml @@ -1,4 +1,4 @@ -name: "Build leap" +name: "Build spring" on: workflow_call: @@ -22,7 +22,7 @@ defaults: jobs: Build: - name: Build leap + name: Build spring strategy: fail-fast: false matrix: @@ -38,7 +38,7 @@ jobs: run: | # https://github.com/actions/runner/issues/2033 chown -R $(id -u):$(id -g) $PWD - cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DENABLE_LEAP_DEV_DEB=On ${LEAP_PLATFORM_HAS_EXTRAS_CMAKE:+-C /extras.cmake} -GNinja + cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DENABLE_SPRING_DEV_DEB=On ${SPRING_PLATFORM_HAS_EXTRAS_CMAKE:+-C /extras.cmake} -GNinja cmake --build build tar -pc --exclude "*.o" build | zstd --long -T0 -9 > build.tar.zst - name: Upload builddir diff --git a/.github/workflows/performance_harness_run.yaml b/.github/workflows/performance_harness_run.yaml index ce037555a7..6651710ccb 100644 --- a/.github/workflows/performance_harness_run.yaml +++ b/.github/workflows/performance_harness_run.yaml @@ -12,12 +12,12 @@ on: override-test-params: description: 'Override perf harness params' type: string - override-leap: - description: Override leap target + override-spring: + description: Override spring target type: string - override-leap-prerelease: + override-spring-prerelease: type: choice - description: Override leap prelease + description: Override spring prelease options: - default - true @@ -38,24 +38,24 @@ jobs: runs-on: ubuntu-latest outputs: test-params: ${{steps.overrides.outputs.test-params}} - leap-target: ${{steps.overrides.outputs.leap-target}} - leap-prerelease: ${{steps.overrides.outputs.leap-prerelease}} + spring-target: ${{steps.overrides.outputs.spring-target}} + spring-prerelease: ${{steps.overrides.outputs.spring-prerelease}} steps: - name: Setup Input Params id: overrides run: | echo test-params=findMax testBpOpMode >> $GITHUB_OUTPUT - echo leap-target="DEFAULT" >> $GITHUB_OUTPUT - echo leap-prerelease="false" >> $GITHUB_OUTPUT + echo spring-target="DEFAULT" >> $GITHUB_OUTPUT + echo spring-prerelease="false" >> $GITHUB_OUTPUT if [[ "${{inputs.override-test-params}}" != "" ]]; then echo test-params=${{inputs.override-test-params}} >> $GITHUB_OUTPUT fi - if [[ "${{inputs.override-leap}}" != "" ]]; then - echo leap-target=${{inputs.override-leap}} >> $GITHUB_OUTPUT + if [[ "${{inputs.override-spring}}" != "" ]]; then + echo spring-target=${{inputs.override-spring}} >> $GITHUB_OUTPUT fi - if [[ "${{inputs.override-leap-prerelease}}" == +(true|false) ]]; then - echo leap-prerelease=${{inputs.override-leap-prerelease}} >> $GITHUB_OUTPUT + if [[ "${{inputs.override-spring-prerelease}}" == +(true|false) ]]; then + echo spring-prerelease=${{inputs.override-spring-prerelease}} >> $GITHUB_OUTPUT fi platform-cache: @@ -69,7 +69,7 @@ jobs: platform-files: .cicd/platforms reuse-build: - name: Reuse leap build + name: Reuse spring build needs: [v] runs-on: ubuntu-latest outputs: @@ -80,7 +80,7 @@ jobs: uses: AntelopeIO/asset-artifact-download-action@v3 with: owner: AntelopeIO - repo: leap + repo: spring file: build.tar.zst target: ${{github.sha}} artifact-name: ${{github.event.inputs.platform-choice}}-build @@ -117,20 +117,20 @@ jobs: - name: Extract Build Directory run: | zstdcat build.tar.zst | tar x - - if: ${{ needs.v.outputs.leap-target != 'DEFAULT' }} - name: Download Prev Leap Version + - if: ${{ needs.v.outputs.spring-target != 'DEFAULT' }} + name: Download Prev Spring Version uses: AntelopeIO/asset-artifact-download-action@v3 with: owner: AntelopeIO - repo: leap - target: '${{needs.v.outputs.leap-target}}' - prereleases: ${{fromJSON(needs.v.outputs.leap-prerelease)}} - file: 'leap.*${{github.event.inputs.platform-choice}}.*(x86_64|amd64).deb' - - if: ${{ needs.v.outputs.leap-target != 'DEFAULT' }} - name: Install leap & replace binaries for PH use + repo: spring + target: '${{needs.v.outputs.spring-target}}' + prereleases: ${{fromJSON(needs.v.outputs.spring-prerelease)}} + file: 'spring.*${{github.event.inputs.platform-choice}}.*(x86_64|amd64).deb' + - if: ${{ needs.v.outputs.spring-target != 'DEFAULT' }} + name: Install spring & replace binaries for PH use run: | apt-get update - apt-get install -y ./leap*.deb + apt-get install -y ./spring*.deb rm build/bin/nodeos rm build/bin/cleos cp /usr/bin/nodeos build/bin diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 29a1824821..e37fe13aae 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -13,29 +13,29 @@ jobs: packages: write actions: read steps: - - name: Get ubuntu20 leap-dev.deb + - name: Get ubuntu20 spring-dev.deb uses: AntelopeIO/asset-artifact-download-action@v3 with: owner: ${{github.repository_owner}} repo: ${{github.event.repository.name}} - file: 'leap-dev.*amd64.deb' + file: 'spring-dev.*amd64.deb' target: ${{github.sha}} - artifact-name: leap-dev-ubuntu20-amd64 + artifact-name: spring-dev-ubuntu20-amd64 wait-for-exact-target: true - - name: Get ubuntu22 leap-dev.deb + - name: Get ubuntu22 spring-dev.deb uses: AntelopeIO/asset-artifact-download-action@v3 with: owner: ${{github.repository_owner}} repo: ${{github.event.repository.name}} - file: 'leap-dev.*amd64.deb' + file: 'spring-dev.*amd64.deb' target: ${{github.sha}} - artifact-name: leap-dev-ubuntu22-amd64 + artifact-name: spring-dev-ubuntu22-amd64 wait-for-exact-target: true - name: Create Dockerfile run: | cat < Dockerfile FROM scratch - LABEL org.opencontainers.image.description="A collection of experimental Leap binary packages" + LABEL org.opencontainers.image.description="A collection of experimental Leap and Spring binary packages" COPY *.deb / EOF - name: Login to ghcr diff --git a/CMakeLists.txt b/CMakeLists.txt index 8ae187bcdd..8a86853358 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required( VERSION 3.16 ) -project( leap ) +project( spring ) include(CTest) # suppresses DartConfiguration.tcl error enable_testing() @@ -13,8 +13,8 @@ set( CMAKE_CXX_STANDARD 20 ) set( CMAKE_CXX_EXTENSIONS ON ) set( CXX_STANDARD_REQUIRED ON) -set(VERSION_MAJOR 5) -set(VERSION_MINOR 1) +set(VERSION_MAJOR 1) +set(VERSION_MINOR 0) set(VERSION_PATCH 0) set(VERSION_SUFFIX dev) @@ -33,7 +33,7 @@ option(ENABLE_WEXTRA "Enable `-Wextra` compilation flag." Off) set( CLI_CLIENT_EXECUTABLE_NAME cleos ) set( NODE_EXECUTABLE_NAME nodeos ) set( KEY_STORE_EXECUTABLE_NAME keosd ) -set( LEAP_UTIL_EXECUTABLE_NAME leap-util ) +set( SPRING_UTIL_EXECUTABLE_NAME spring-util ) # http://stackoverflow.com/a/18369825 if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") @@ -66,7 +66,7 @@ if(ENABLE_OC AND CMAKE_SIZEOF_VOID_P EQUAL 8 AND NOT WIN32) # can be created with the exact version found find_package(LLVM REQUIRED CONFIG) if(LLVM_VERSION_MAJOR VERSION_LESS 7 OR LLVM_VERSION_MAJOR VERSION_GREATER_EQUAL 12) - message(FATAL_ERROR "Leap requires an LLVM version 7 through 11") + message(FATAL_ERROR "Spring requires an LLVM version 7 through 11") endif() endif() endif() @@ -94,12 +94,12 @@ endif() if( APPLE AND UNIX ) # Apple Specific Options Here - message( STATUS "Configuring Leap on macOS" ) + message( STATUS "Configuring Spring on macOS" ) set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wno-deprecated-declarations" ) set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-deprecated-declarations" ) else() # Linux Specific Options Here - message( STATUS "Configuring Leap on Linux" ) + message( STATUS "Configuring Spring on Linux" ) set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall" ) set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall" ) if ( FULL_STATIC_BUILD ) @@ -123,13 +123,13 @@ if(ENABLE_WEXTRA) endif() -option(EOSIO_ENABLE_DEVELOPER_OPTIONS "enable developer options for Leap" OFF) +option(EOSIO_ENABLE_DEVELOPER_OPTIONS "enable developer options for Spring" OFF) # based on http://www.delorie.com/gnu/docs/gdb/gdb_70.html # uncomment this line to tell GDB about macros (slows compile times) # set( CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -gdwarf-2 -g3" ) -set(ENABLE_COVERAGE_TESTING FALSE CACHE BOOL "Build Leap for code coverage analysis") +set(ENABLE_COVERAGE_TESTING FALSE CACHE BOOL "Build Spring for code coverage analysis") if(ENABLE_COVERAGE_TESTING) SET(CMAKE_C_FLAGS "--coverage ${CMAKE_C_FLAGS}") @@ -162,7 +162,7 @@ message( STATUS "Using '${EOSIO_ROOT_KEY}' as public key for 'eosio' account" ) option(ENABLE_TCMALLOC "use tcmalloc (requires gperftools)" OFF) if( ENABLE_TCMALLOC ) find_package( Gperftools REQUIRED ) - message( STATUS "Compiling Leap with TCMalloc") + message( STATUS "Compiling Spring with TCMalloc") #if doing this by the book, simply link_libraries( ${GPERFTOOLS_TCMALLOC} ) here. That will #give the performance benefits of tcmalloc but since it won't be linked last #the heap profiler & checker may not be accurate. This here is rather undocumented behavior @@ -171,7 +171,7 @@ if( ENABLE_TCMALLOC ) set(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} ${GPERFTOOLS_TCMALLOC}") endif() -# leap includes a bundled BoringSSL which conflicts with OpenSSL. Make sure any other bundled libraries (such as boost) +# spring includes a bundled BoringSSL which conflicts with OpenSSL. Make sure any other bundled libraries (such as boost) # do not attempt to use an external OpenSSL in any manner set(CMAKE_DISABLE_FIND_PACKAGE_OpenSSL On) @@ -198,10 +198,14 @@ set(EOS_ROOT_DIR "${CMAKE_BINARY_DIR}/lib") configure_file(${CMAKE_SOURCE_DIR}/CMakeModules/eosio-config.cmake.in ${CMAKE_BINARY_DIR}/lib/cmake/eosio/eosio-config.cmake @ONLY) configure_file(${CMAKE_SOURCE_DIR}/CMakeModules/EosioTesterBuild.cmake.in ${CMAKE_BINARY_DIR}/lib/cmake/eosio/EosioTester.cmake @ONLY) configure_file(${CMAKE_SOURCE_DIR}/CMakeModules/EosioCheckVersion.cmake ${CMAKE_BINARY_DIR}/lib/cmake/eosio/EosioCheckVersion.cmake COPYONLY) -# new leap CMake files +# legacy leap CMake files configure_file(${CMAKE_SOURCE_DIR}/CMakeModules/leap-config.cmake.in ${CMAKE_BINARY_DIR}/lib/cmake/leap/leap-config.cmake @ONLY) configure_file(${CMAKE_SOURCE_DIR}/CMakeModules/EosioTesterBuild.cmake.in ${CMAKE_BINARY_DIR}/lib/cmake/leap/EosioTester.cmake @ONLY) configure_file(${CMAKE_SOURCE_DIR}/CMakeModules/EosioCheckVersion.cmake ${CMAKE_BINARY_DIR}/lib/cmake/leap/EosioCheckVersion.cmake COPYONLY) +# spring CMake files +configure_file(${CMAKE_SOURCE_DIR}/CMakeModules/spring-config.cmake.in ${CMAKE_BINARY_DIR}/lib/cmake/spring/spring-config.cmake @ONLY) +configure_file(${CMAKE_SOURCE_DIR}/CMakeModules/EosioTesterBuild.cmake.in ${CMAKE_BINARY_DIR}/lib/cmake/spring/EosioTester.cmake @ONLY) +configure_file(${CMAKE_SOURCE_DIR}/CMakeModules/EosioCheckVersion.cmake ${CMAKE_BINARY_DIR}/lib/cmake/spring/EosioCheckVersion.cmake COPYONLY) set(EOS_ROOT_DIR "${CMAKE_INSTALL_FULL_LIBDIR}") configure_file(${CMAKE_SOURCE_DIR}/CMakeModules/EosioTester.cmake.in ${CMAKE_BINARY_DIR}/modules/EosioTester.cmake @ONLY) @@ -210,34 +214,39 @@ configure_file(${CMAKE_SOURCE_DIR}/CMakeModules/eosio-config.cmake.in ${CMAKE_BI install(FILES ${CMAKE_BINARY_DIR}/modules/eosio-config.cmake DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/cmake/eosio COMPONENT dev EXCLUDE_FROM_ALL) install(FILES ${CMAKE_BINARY_DIR}/modules/EosioTester.cmake DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/cmake/eosio COMPONENT dev EXCLUDE_FROM_ALL) install(FILES ${CMAKE_SOURCE_DIR}/CMakeModules/EosioCheckVersion.cmake DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/cmake/eosio COMPONENT dev EXCLUDE_FROM_ALL) -# new leap CMake files +# legacy leap CMake files configure_file(${CMAKE_SOURCE_DIR}/CMakeModules/leap-config.cmake.in ${CMAKE_BINARY_DIR}/modules/leap-config.cmake @ONLY) install(FILES ${CMAKE_BINARY_DIR}/modules/leap-config.cmake DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/cmake/leap COMPONENT dev EXCLUDE_FROM_ALL) install(FILES ${CMAKE_BINARY_DIR}/modules/EosioTester.cmake DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/cmake/leap COMPONENT dev EXCLUDE_FROM_ALL) install(FILES ${CMAKE_SOURCE_DIR}/CMakeModules/EosioCheckVersion.cmake DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/cmake/leap COMPONENT dev EXCLUDE_FROM_ALL) - -configure_file(LICENSE licenses/leap/LICENSE COPYONLY) -configure_file(libraries/softfloat/COPYING.txt licenses/leap/LICENSE.softfloat COPYONLY) -configure_file(libraries/wasm-jit/LICENSE licenses/leap/LICENSE.wavm COPYONLY) -configure_file(libraries/libfc/secp256k1/secp256k1/COPYING licenses/leap/LICENSE.secp256k1 COPYONLY) -configure_file(libraries/libfc/include/fc/crypto/webauthn_json/license.txt licenses/leap/LICENSE.rapidjson COPYONLY) -configure_file(libraries/eos-vm/LICENSE licenses/leap/LICENSE.eos-vm COPYONLY) -configure_file(libraries/prometheus/prometheus-cpp/LICENSE licenses/leap/LICENSE.prom COPYONLY) -configure_file(programs/cleos/LICENSE.CLI11 licenses/leap/LICENSE.CLI11 COPYONLY) -configure_file(libraries/libfc/libraries/bls12-381/LICENSE licenses/leap/LICENSE.bls12-381 COPYONLY) -configure_file(libraries/libfc/libraries/boringssl/boringssl/src/LICENSE licenses/leap/LICENSE.boringssl COPYONLY) - -install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/licenses/leap" DESTINATION "${CMAKE_INSTALL_FULL_DATAROOTDIR}/licenses/" COMPONENT base) - -install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/libraries/testing/contracts DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/leap_testing/libraries/testing COMPONENT dev EXCLUDE_FROM_ALL +# spring CMake files +configure_file(${CMAKE_SOURCE_DIR}/CMakeModules/spring-config.cmake.in ${CMAKE_BINARY_DIR}/modules/spring-config.cmake @ONLY) +install(FILES ${CMAKE_BINARY_DIR}/modules/spring-config.cmake DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/cmake/spring COMPONENT dev EXCLUDE_FROM_ALL) +install(FILES ${CMAKE_BINARY_DIR}/modules/EosioTester.cmake DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/cmake/spring COMPONENT dev EXCLUDE_FROM_ALL) +install(FILES ${CMAKE_SOURCE_DIR}/CMakeModules/EosioCheckVersion.cmake DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/cmake/spring COMPONENT dev EXCLUDE_FROM_ALL) + +configure_file(LICENSE licenses/spring/LICENSE COPYONLY) +configure_file(libraries/softfloat/COPYING.txt licenses/spring/LICENSE.softfloat COPYONLY) +configure_file(libraries/wasm-jit/LICENSE licenses/spring/LICENSE.wavm COPYONLY) +configure_file(libraries/libfc/secp256k1/secp256k1/COPYING licenses/spring/LICENSE.secp256k1 COPYONLY) +configure_file(libraries/libfc/include/fc/crypto/webauthn_json/license.txt licenses/spring/LICENSE.rapidjson COPYONLY) +configure_file(libraries/eos-vm/LICENSE licenses/spring/LICENSE.eos-vm COPYONLY) +configure_file(libraries/prometheus/prometheus-cpp/LICENSE licenses/spring/LICENSE.prom COPYONLY) +configure_file(programs/cleos/LICENSE.CLI11 licenses/spring/LICENSE.CLI11 COPYONLY) +configure_file(libraries/libfc/libraries/bls12-381/LICENSE licenses/spring/LICENSE.bls12-381 COPYONLY) +configure_file(libraries/libfc/libraries/boringssl/boringssl/src/LICENSE licenses/spring/LICENSE.boringssl COPYONLY) + +install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/licenses/spring" DESTINATION "${CMAKE_INSTALL_FULL_DATAROOTDIR}/licenses/" COMPONENT base) + +install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/libraries/testing/contracts DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/spring_testing/libraries/testing COMPONENT dev EXCLUDE_FROM_ALL PATTERN "CMakeFiles" EXCLUDE PATTERN "*.cmake" EXCLUDE PATTERN "Makefile" EXCLUDE) -install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/unittests/contracts DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/leap_testing/unittests COMPONENT dev EXCLUDE_FROM_ALL +install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/unittests/contracts DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/spring_testing/unittests COMPONENT dev EXCLUDE_FROM_ALL PATTERN "CMakeFiles" EXCLUDE PATTERN "*.cmake" EXCLUDE PATTERN "Makefile" EXCLUDE) -install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/tests/TestHarness DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/leap_testing/tests COMPONENT dev EXCLUDE_FROM_ALL +install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/tests/TestHarness DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/spring_testing/tests COMPONENT dev EXCLUDE_FROM_ALL FILES_MATCHING PATTERN "*.py" PATTERN "*.json" @@ -252,12 +261,12 @@ if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.21) add_custom_target(link_target ALL COMMAND ${CMAKE_COMMAND} -E make_directory lib/python3/dist-packages - COMMAND ${CMAKE_COMMAND} -E create_symlink ../../../share/leap_testing/tests/TestHarness lib/python3/dist-packages/TestHarness - COMMAND ${CMAKE_COMMAND} -E make_directory share/leap_testing - COMMAND ${CMAKE_COMMAND} -E create_symlink ../../bin share/leap_testing/bin) + COMMAND ${CMAKE_COMMAND} -E create_symlink ../../../share/spring_testing/tests/TestHarness lib/python3/dist-packages/TestHarness + COMMAND ${CMAKE_COMMAND} -E make_directory share/spring_testing + COMMAND ${CMAKE_COMMAND} -E create_symlink ../../bin share/spring_testing/bin) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/lib/python3/dist-packages/TestHarness DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/python3/dist-packages COMPONENT dev EXCLUDE_FROM_ALL) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/share/leap_testing/bin DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/leap_testing COMPONENT dev EXCLUDE_FROM_ALL) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/share/spring_testing/bin DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/spring_testing COMPONENT dev EXCLUDE_FROM_ALL) else() # The following install(SCRIPT ...) steps are necessary for `make dev-install` to work on cmake versions < 3.21. install(SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/scripts/install_testharness_symlinks.cmake COMPONENT dev EXCLUDE_FROM_ALL) @@ -265,17 +274,17 @@ else() # The `make package` installation of symlinks happens via the `postinst` script installed in cmake.package via the line below endif() -configure_file(${CMAKE_SOURCE_DIR}/libraries/cli11/bash-completion/completions/leap-util - ${CMAKE_BINARY_DIR}/programs/leap-util/bash-completion/completions/leap-util COPYONLY) +configure_file(${CMAKE_SOURCE_DIR}/libraries/cli11/bash-completion/completions/spring-util + ${CMAKE_BINARY_DIR}/programs/spring-util/bash-completion/completions/spring-util COPYONLY) configure_file(${CMAKE_SOURCE_DIR}/libraries/cli11/bash-completion/completions/cleos ${CMAKE_BINARY_DIR}/programs/cleos/bash-completion/completions/cleos COPYONLY) -install(FILES libraries/cli11/bash-completion/completions/leap-util DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/bash-completion/completions COMPONENT base) +install(FILES libraries/cli11/bash-completion/completions/spring-util DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/bash-completion/completions COMPONENT base) install(FILES libraries/cli11/bash-completion/completions/cleos DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/bash-completion/completions COMPONENT base) # Add the boost submodule we used to build to our install package, so headers can be found for libtester install(DIRECTORY "${CMAKE_SOURCE_DIR}/libraries/boost/" - DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/leap_boost + DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/spring_boost COMPONENT dev EXCLUDE_FROM_ALL PATTERN ".git/*" EXCLUDE PATTERN "example/*" EXCLUDE @@ -294,7 +303,7 @@ add_custom_target(dev-install include(doxygen) -option(ENABLE_LEAP_DEV_DEB "Enable building the leap-dev .deb package" OFF) +option(ENABLE_SPRING_DEV_DEB "Enable building the spring-dev .deb package" OFF) include(package.cmake) include(CPack) diff --git a/CMakeModules/EosioTester.cmake.in b/CMakeModules/EosioTester.cmake.in index 155819b03f..df96c0a496 100644 --- a/CMakeModules/EosioTester.cmake.in +++ b/CMakeModules/EosioTester.cmake.in @@ -39,7 +39,7 @@ set( Boost_USE_MULTITHREADED ON ) set( Boost_USE_STATIC_LIBS ON CACHE STRING "ON or OFF" ) set( BOOST_EXCLUDE_LIBRARIES "mysql" ) -add_subdirectory( @CMAKE_INSTALL_FULL_DATAROOTDIR@/leap_boost ${PROJECT_BINARY_DIR}/libraries/boost EXCLUDE_FROM_ALL) +add_subdirectory( @CMAKE_INSTALL_FULL_DATAROOTDIR@/spring_boost ${PROJECT_BINARY_DIR}/libraries/boost EXCLUDE_FROM_ALL) find_library(libtester eosio_testing @CMAKE_INSTALL_FULL_LIBDIR@ NO_DEFAULT_PATH) find_library(libchain eosio_chain @CMAKE_INSTALL_FULL_LIBDIR@ NO_DEFAULT_PATH) @@ -112,7 +112,7 @@ target_include_directories(EosioChain INTERFACE @CMAKE_INSTALL_PREFIX@ @CMAKE_INSTALL_FULL_INCLUDEDIR@ @CMAKE_INSTALL_FULL_INCLUDEDIR@/wasm-jit - @CMAKE_INSTALL_FULL_INCLUDEDIR@/leapboringssl + @CMAKE_INSTALL_FULL_INCLUDEDIR@/springboringssl @CMAKE_INSTALL_FULL_INCLUDEDIR@/softfloat ) #adds -ltr. Ubuntu eosio.contracts build breaks without this diff --git a/CMakeModules/spring-config.cmake.in b/CMakeModules/spring-config.cmake.in new file mode 100644 index 0000000000..3428d4cb0b --- /dev/null +++ b/CMakeModules/spring-config.cmake.in @@ -0,0 +1,3 @@ +list(APPEND CMAKE_MODULE_PATH @EOS_ROOT_DIR@/cmake/spring) +include(EosioTester) +include(EosioCheckVersion) \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 405c9b9bc2..0000000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,148 +0,0 @@ -# Contributing to Leap - -Interested in contributing? That's awesome! Here are some guidelines to get started quickly and easily: - -- [Reporting An Issue](#reporting-an-issue) - - [Bug Reports](#bug-reports) - - [Feature Requests](#feature-requests) - - [Change Requests](#change-requests) -- [Working on Leap](#working-on-leap) - - [Feature Branches](#feature-branches) - - [Submitting Pull Requests](#submitting-pull-requests) - - [Testing and Quality Assurance](#testing-and-quality-assurance) -- [Conduct](#conduct) -- [Contributor License & Acknowledgments](#contributor-license--acknowledgments) -- [References](#references) - -## Reporting An Issue - -If you're about to raise an issue because you think you've found a problem with Leap, or you'd like to make a request for a new feature in the codebase, or any other reason… please read this first. - -The GitHub issue tracker is the preferred channel for [bug reports](#bug-reports), [feature requests](#feature-requests), and [submitting pull requests](#submitting-pull-requests), but please respect the following restrictions: - -* Please **search for existing issues**. Help us keep duplicate issues to a minimum by checking to see if someone has already reported your problem or requested your idea. - -* Please **be civil**. Keep the discussion on topic and respect the opinions of others. See also our [Contributor Code of Conduct](#conduct). - -### Bug Reports - -A bug is a _demonstrable problem_ that is caused by the code in the repository. Good bug reports are extremely helpful - thank you! - -Guidelines for bug reports: - -1. **Use the GitHub issue search** — check if the issue has already been - reported. - -1. **Check if the issue has been fixed** — look for [closed issues in the - current milestone](https://github.com/AntelopeIO/leap/issues?q=is%3Aissue+is%3Aclosed) or try to reproduce it - using the latest `main` branch. - -A good bug report shouldn't leave others needing to chase you up for more information. Be sure to include the details of your environment and relevant tests that demonstrate the failure. - -[Report a bug](https://github.com/AntelopeIO/leap/issues/new?title=Bug%3A) - -### Feature Requests - -Feature requests are welcome. Before you submit one be sure to have: - -1. **Use the GitHub search** and check the feature hasn't already been requested. -1. Take a moment to think about whether your idea fits with the scope and aims of the project. -1. Remember, it's up to *you* to make a strong case to convince the project's leaders of the merits of this feature. Please provide as much detail and context as possible, this means explaining the use case and why it is likely to be common. - -### Change Requests - -Change requests cover both architectural and functional changes to how Leap works. If you have an idea for a new or different dependency, a refactor, or an improvement to a feature, etc - please be sure to: - -1. **Use the GitHub search** and check someone else didn't get there first -1. Take a moment to think about the best way to make a case for, and explain what you're thinking. Are you sure this shouldn't really be - a [bug report](#bug-reports) or a [feature request](#feature-requests)? Is it really one idea or is it many? What's the context? What problem are you solving? Why is what you are suggesting better than what's already there? - -## Working on Leap - -Code contributions are welcome and encouraged! If you are looking for a good place to start, check out the [good first issue](https://github.com/AntelopeIO/leap/labels/good%20first%20issue) label in GitHub issues. - -Also, please follow these guidelines when submitting code: - -### Feature Branches - -To get it out of the way: - -- **[main](https://github.com/AntelopeIO/leap/tree/main)** is the development branch. All work on the next release happens here so you should generally branch off `main`. Do **NOT** use this branch for a production site. -- **release/** branches contain stable releases of Leap. Some of these branches may be obsolete, a prerelease (release candidate), or designated as stable and ready for use in production. Generally do **NOT** use these branches to work on Leap's source unless you are working on a defect or change that would apply to a current stable release or release candidate. If in doubt, branch off of `main` and a Leap maintainer will chime in if you should switch to a release branch. - -### Submitting Pull Requests - -Pull requests are awesome. If you're looking to raise a PR for something which doesn't have an open issue, please think carefully about [raising an issue](#reporting-an-issue) which your PR can close, especially if you're fixing a bug. This makes it more likely that there will be enough information available for your PR to be properly tested and merged. - -### Testing and Quality Assurance - -Never underestimate just how useful quality assurance is. If you're looking to get involved with the code base and don't know where to start, checking out and testing a pull request is one of the most useful things you could do. - -Essentially, [check out the main branch](#working-on-leap), take it for a spin, and if you find anything odd, please follow the [bug report guidelines](#bug-reports) and let us know! - -## Conduct - -While contributing, please be respectful and constructive, so that participation in our project is a positive experience for everyone. - -Examples of behavior that contributes to creating a positive environment include: -- Using welcoming and inclusive language -- Being respectful of differing viewpoints and experiences -- Gracefully accepting constructive criticism -- Focusing on what is best for the community -- Showing empathy towards other community members - -Examples of unacceptable behavior include: -- The use of sexualized language or imagery and unwelcome sexual attention or advances -- Trolling, insulting/derogatory comments, and personal or political attacks -- Public or private harassment -- Publishing others’ private information, such as a physical or electronic address, without explicit permission -- Other conduct which could reasonably be considered inappropriate in a professional setting - -## Contributor License & Acknowledgments - -Whenever you make a contribution to this project, you license your contribution under the same terms as set out in [LICENSE](./LICENSE), and you represent and warrant that you have the right to license your contribution under those terms. Whenever you make a contribution to this project, you also certify in the terms of the Developer’s Certificate of Origin set out below: - -``` -Developer Certificate of Origin -Version 1.1 - -Copyright (C) 2004, 2006 The Linux Foundation and its contributors. -1 Letterman Drive -Suite D4700 -San Francisco, CA, 94129 - -Everyone is permitted to copy and distribute verbatim copies of this -license document, but changing it is not allowed. - - -Developer's Certificate of Origin 1.1 - -By making a contribution to this project, I certify that: - -(a) The contribution was created in whole or in part by me and I - have the right to submit it under the open source license - indicated in the file; or - -(b) The contribution is based upon previous work that, to the best - of my knowledge, is covered under an appropriate open source - license and I have the right under that license to submit that - work with modifications, whether created in whole or in part - by me, under the same open source license (unless I am - permitted to submit under a different license), as indicated - in the file; or - -(c) The contribution was provided directly to me by some other - person who certified (a), (b) or (c) and I have not modified - it. - -(d) I understand and agree that this project and the contribution - are public and that a record of the contribution (including all - personal information I submit with it, including my sign-off) is - maintained indefinitely and may be redistributed consistent with - this project or the open source license(s) involved. -``` - -## References - -* Overall CONTRIB adapted from https://github.com/mathjax/MathJax/blob/master/CONTRIBUTING.md -* Conduct section adapted from the Contributor Covenant, version 1.4, available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html diff --git a/README.md b/README.md index bb71157b19..e9490780f2 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Leap +# Spring 1. [Branches](#branches) 2. [Supported Operating Systems](#supported-operating-systems) @@ -6,10 +6,10 @@ 4. [Build and Install from Source](#build-and-install-from-source) 5. [Bash Autocomplete](#bash-autocomplete) -Leap is a C++ implementation of the [Antelope](https://github.com/AntelopeIO) protocol. It contains blockchain node software and supporting tools for developers and node operators. +Spring is a C++ implementation of the [Antelope](https://github.com/AntelopeIO) protocol with support for Savanna consensus. It contains blockchain node software and supporting tools for developers and node operators. ## Branches -The `main` branch is the development branch; do not use it for production. Refer to the [release page](https://github.com/AntelopeIO/leap/releases) for current information on releases, pre-releases, and obsolete releases, as well as the corresponding tags for those releases. +The `main` branch is the development branch; do not use it for production. Refer to the [release page](https://github.com/AntelopeIO/spring/releases) for current information on releases, pre-releases, and obsolete releases, as well as the corresponding tags for those releases. ## Supported Operating Systems We currently support the following operating systems. @@ -25,16 +25,16 @@ cat /etc/upstream-release/lsb-release Your best bet is to follow the instructions for your Ubuntu base, but we make no guarantees. ## Binary Installation -This is the fastest way to get started. From the [latest release](https://github.com/AntelopeIO/leap/releases/latest) page, download a binary for one of our [supported operating systems](#supported-operating-systems), or visit the [release tags](https://github.com/AntelopeIO/leap/releases) page to download a binary for a specific version of Leap. +This is the fastest way to get started. From the [latest release](https://github.com/AntelopeIO/spring/releases/latest) page, download a binary for one of our [supported operating systems](#supported-operating-systems), or visit the [release tags](https://github.com/AntelopeIO/spring/releases) page to download a binary for a specific version of Spring. Once you have a `*.deb` file downloaded for your version of Ubuntu, you can install it as follows: ```bash sudo apt-get update -sudo apt-get install -y ~/Downloads/leap*.deb +sudo apt-get install -y ~/Downloads/spring*.deb ``` Your download path may vary. If you are in an Ubuntu docker container, omit `sudo` because you run as `root` by default. -Finally, verify Leap was installed correctly: +Finally, verify Spring was installed correctly: ```bash nodeos --full-version ``` @@ -44,7 +44,7 @@ v3.1.2-0b64f879e3ebe2e4df09d2e62f1fc164cc1125d1 ``` ## Build and Install from Source -You can also build and install Leap from source. +You can also build and install Spring from source. ### Prerequisites You will need to build on a [supported operating system](#supported-operating-systems). @@ -62,29 +62,29 @@ Requirements to build: - zlib ### Step 1 - Clone -If you don't have the Leap repo cloned to your computer yet, [open a terminal](https://itsfoss.com/open-terminal-ubuntu) and navigate to the folder where you want to clone the Leap repository: +If you don't have the Spring repo cloned to your computer yet, [open a terminal](https://itsfoss.com/open-terminal-ubuntu) and navigate to the folder where you want to clone the Spring repository: ```bash cd ~/Downloads ``` -Clone Leap using either HTTPS... +Clone Spring using either HTTPS... ```bash -git clone --recursive https://github.com/AntelopeIO/leap.git +git clone --recursive https://github.com/AntelopeIO/spring.git ``` ...or SSH: ```bash -git clone --recursive git@github.com:AntelopeIO/leap.git +git clone --recursive git@github.com:AntelopeIO/spring.git ``` > ℹ️ **HTTPS vs. SSH Clone** ℹ️ -Both an HTTPS or SSH git clone will yield the same result - a folder named `leap` containing our source code. It doesn't matter which type you use. +Both an HTTPS or SSH git clone will yield the same result - a folder named `spring` containing our source code. It doesn't matter which type you use. Navigate into that folder: ```bash -cd leap +cd spring ``` ### Step 2 - Checkout Release Tag or Branch -Choose which [release](https://github.com/AntelopeIO/leap/releases) or [branch](#branches) you would like to build, then check it out. If you are not sure, use the [latest release](https://github.com/AntelopeIO/leap/releases/latest). For example, if you want to build release 3.1.2 then you would check it out using its tag, `v3.1.2`. In the example below, replace `v0.0.0` with your selected release tag accordingly: +Choose which [release](https://github.com/AntelopeIO/spring/releases) or [branch](#branches) you would like to build, then check it out. If you are not sure, use the [latest release](https://github.com/AntelopeIO/spring/releases/latest). For example, if you want to build release 3.1.2 then you would check it out using its tag, `v3.1.2`. In the example below, replace `v0.0.0` with your selected release tag accordingly: ```bash git fetch --all --tags git checkout v0.0.0 @@ -100,22 +100,22 @@ git submodule update --init --recursive Select build instructions below for a [pinned build](#pinned-build) (preferred) or an [unpinned build](#unpinned-build). > ℹ️ **Pinned vs. Unpinned Build** ℹ️ -We have two types of builds for Leap: "pinned" and "unpinned." A pinned build is a reproducible build with the build environment and dependency versions fixed by the development team. In contrast, unpinned builds use the dependency versions provided by the build platform. Unpinned builds tend to be quicker because the pinned build environment must be built from scratch. Pinned builds, in addition to being reproducible, ensure the compiler remains the same between builds of different Leap major versions. Leap requires the compiler version to remain the same, otherwise its state might need to be recovered from a portable snapshot or the chain needs to be replayed. +We have two types of builds for Spring: "pinned" and "unpinned." A pinned build is a reproducible build with the build environment and dependency versions fixed by the development team. In contrast, unpinned builds use the dependency versions provided by the build platform. Unpinned builds tend to be quicker because the pinned build environment must be built from scratch. Pinned builds, in addition to being reproducible, ensure the compiler remains the same between builds of different Spring major versions. Spring requires the compiler version to remain the same, otherwise its state might need to be recovered from a portable snapshot or the chain needs to be replayed. > ⚠️ **A Warning On Parallel Compilation Jobs (`-j` flag)** ⚠️ -When building C/C++ software, often the build is performed in parallel via a command such as `make -j "$(nproc)"` which uses all available CPU threads. However, be aware that some compilation units (`*.cpp` files) in Leap will consume nearly 4GB of memory. Failures due to memory exhaustion will typically, but not always, manifest as compiler crashes. Using all available CPU threads may also prevent you from doing other things on your computer during compilation. For these reasons, consider reducing this value. +When building C/C++ software, often the build is performed in parallel via a command such as `make -j "$(nproc)"` which uses all available CPU threads. However, be aware that some compilation units (`*.cpp` files) in Spring will consume nearly 4GB of memory. Failures due to memory exhaustion will typically, but not always, manifest as compiler crashes. Using all available CPU threads may also prevent you from doing other things on your computer during compilation. For these reasons, consider reducing this value. > 🐋 **Docker and `sudo`** 🐋 If you are in an Ubuntu docker container, omit `sudo` from all commands because you run as `root` by default. Most other docker containers also exclude `sudo`, especially Debian-family containers. If your shell prompt is a hash tag (`#`), omit `sudo`. #### Pinned Reproducible Build -The pinned reproducible build requires Docker. Make sure you are in the root of the `leap` repo and then run +The pinned reproducible build requires Docker. Make sure you are in the root of the `spring` repo and then run ```bash DOCKER_BUILDKIT=1 docker build -f tools/reproducible.Dockerfile -o . . ``` This command will take a substantial amount of time because a toolchain is built from scratch. Upon completion, the current directory will contain a built `.deb` and `.tar.gz` (you can change the `-o .` argument to place the output in a different directory). If needing to reduce the number of parallel jobs as warned above, run the command as, ```bash -DOCKER_BUILDKIT=1 docker build --build-arg LEAP_BUILD_JOBS=4 -f tools/reproducible.Dockerfile -o . . +DOCKER_BUILDKIT=1 docker build --build-arg SPRING_BUILD_JOBS=4 -f tools/reproducible.Dockerfile -o . . ``` #### Unpinned Build @@ -141,7 +141,7 @@ On Ubuntu 20.04, install gcc-10 which has C++20 support: sudo apt-get install -y g++-10 ``` -To build, make sure you are in the root of the `leap` repo, then run the following command: +To build, make sure you are in the root of the `spring` repo, then run the following command: ```bash mkdir -p build cd build @@ -158,7 +158,7 @@ make -j "$(nproc)" package Now you can optionally [test](#step-4---test) your build, or [install](#step-5---install) the `*.deb` binary packages, which will be in the root of your build directory. ### Step 4 - Test -Leap supports the following test suites: +Spring supports the following test suites: Test Suite | Test Type | [Test Size](https://testing.googleblog.com/2010/12/test-sizes.html) | Notes ---|:---:|:---:|--- @@ -172,7 +172,7 @@ When building from source, we recommended running at least the [parallelizable t #### Parallelizable Tests This test suite consists of any test that does not require shared resources, such as file descriptors, specific folders, or ports, and can therefore be run concurrently in different threads without side effects (hence, easily parallelized). These are mostly unit tests and [small tests](https://testing.googleblog.com/2010/12/test-sizes.html) which complete in a short amount of time. -You can invoke them by running `ctest` from a terminal in your Leap build directory and specifying the following arguments: +You can invoke them by running `ctest` from a terminal in your Spring build directory and specifying the following arguments: ```bash ctest -j "$(nproc)" -LE _tests ``` @@ -180,7 +180,7 @@ ctest -j "$(nproc)" -LE _tests #### WASM Spec Tests The WASM spec tests verify that our WASM execution engine is compliant with the web assembly standard. These are very [small](https://testing.googleblog.com/2010/12/test-sizes.html), very fast unit tests. However, there are over a thousand of them so the suite can take a little time to run. These tests are extremely CPU-intensive. -You can invoke them by running `ctest` from a terminal in your Leap build directory and specifying the following arguments: +You can invoke them by running `ctest` from a terminal in your Spring build directory and specifying the following arguments: ```bash ctest -j "$(nproc)" -L wasm_spec_tests ``` @@ -189,7 +189,7 @@ We have observed severe performance issues when multiple virtual machines are ru #### Serial Tests The serial test suite consists of [medium](https://testing.googleblog.com/2010/12/test-sizes.html) component or integration tests that use specific paths, ports, rely on process names, or similar, and cannot be run concurrently with other tests. Serial tests can be sensitive to other software running on the same host and they may `SIGKILL` other `nodeos` processes. These tests take a moderate amount of time to complete, but we recommend running them. -You can invoke them by running `ctest` from a terminal in your Leap build directory and specifying the following arguments: +You can invoke them by running `ctest` from a terminal in your Spring build directory and specifying the following arguments: ```bash ctest -L "nonparallelizable_tests" ``` @@ -197,18 +197,18 @@ ctest -L "nonparallelizable_tests" #### Long-Running Tests The long-running tests are [medium-to-large](https://testing.googleblog.com/2010/12/test-sizes.html) integration tests that rely on shared resources and take a very long time to run. -You can invoke them by running `ctest` from a terminal in your Leap build directory and specifying the following arguments: +You can invoke them by running `ctest` from a terminal in your Spring build directory and specifying the following arguments: ```bash ctest -L "long_running_tests" ``` ### Step 5 - Install -Once you have [built](#step-3---build-the-source-code) Leap and [tested](#step-4---test) your build, you can install Leap on your system. Don't forget to omit `sudo` if you are running in a docker container. +Once you have [built](#step-3---build-the-source-code) Spring and [tested](#step-4---test) your build, you can install Spring on your system. Don't forget to omit `sudo` if you are running in a docker container. -We recommend installing the binary package you just built. Navigate to your Leap build directory in a terminal and run this command: +We recommend installing the binary package you just built. Navigate to your Spring build directory in a terminal and run this command: ```bash sudo apt-get update -sudo apt-get install -y ./leap[-_][0-9]*.deb +sudo apt-get install -y ./spring_*.deb ``` It is also possible to install using `make` instead: @@ -217,8 +217,8 @@ sudo make install ``` ## Bash Autocomplete -`cleos` and `leap-util` offer a substantial amount of functionality. Consider using bash's autocompletion support which makes it easier to discover all their various options. +`cleos` and `spring-util` offer a substantial amount of functionality. Consider using bash's autocompletion support which makes it easier to discover all their various options. For our provided `.deb` packages simply install Ubuntu's `bash-completion` package: `apt-get install bash-completion` (you may need to log out/in after installing). -If building from source install the `build/programs/cleos/bash-completion/completions/cleos` and `build/programs/leap-util/bash-completion/completions/leap-util` files to your bash-completion directory. Refer to [bash-completion's documentation](https://github.com/scop/bash-completion#faq) on the possible install locations. +If building from source install the `build/programs/cleos/bash-completion/completions/cleos` and `build/programs/spring-util/bash-completion/completions/spring-util` files to your bash-completion directory. Refer to [bash-completion's documentation](https://github.com/scop/bash-completion#faq) on the possible install locations. diff --git a/docs/00_install/01_build-from-source/00_build-unsupported-os.md b/docs/00_install/01_build-from-source/00_build-unsupported-os.md index 555b07d802..3171fff613 100644 --- a/docs/00_install/01_build-from-source/00_build-unsupported-os.md +++ b/docs/00_install/01_build-from-source/00_build-unsupported-os.md @@ -4,9 +4,9 @@ content_title: Build Antelope from Source on Other Unix-based OS **Please keep in mind that instructions for building from source on other unsupported operating systems provided here should be considered experimental and provided AS-IS on a best-effort basis and may not be fully featured.** -**A Warning On Parallel Compilation Jobs (`-j` flag)**: When building C/C++ software often the build is performed in parallel via a command such as `make -j $(nproc)` which uses the number of CPU cores as the number of compilation jobs to perform simultaneously. However, be aware that some compilation units (.cpp files) in leap are extremely complex and will consume nearly 4GB of memory to compile. You may need to reduce the level of parallelization depending on the amount of memory on your build host. e.g. instead of `make -j $(nproc)` run `make -j2`. Failures due to memory exhaustion will typically but not always manifest as compiler crashes. +**A Warning On Parallel Compilation Jobs (`-j` flag)**: When building C/C++ software often the build is performed in parallel via a command such as `make -j $(nproc)` which uses the number of CPU cores as the number of compilation jobs to perform simultaneously. However, be aware that some compilation units (.cpp files) in Spring are extremely complex and will consume nearly 4GB of memory to compile. You may need to reduce the level of parallelization depending on the amount of memory on your build host. e.g. instead of `make -j $(nproc)` run `make -j2`. Failures due to memory exhaustion will typically but not always manifest as compiler crashes. -Generally we recommend performing what we refer to as a "pinned build" which ensures the compiler and boost version remain the same between builds of different leap versions (leap requires these versions remain the same otherwise its state needs to be repopulated from a portable snapshot). +Generally we recommend performing what we refer to as a "pinned build" which ensures the compiler and boost version remain the same between builds of different Spring versions (Spring requires these versions remain the same otherwise its state needs to be repopulated from a portable snapshot).
FreeBSD 13.1 Build Instructions diff --git a/docs/00_install/01_build-from-source/index.md b/docs/00_install/01_build-from-source/index.md index fc5c2885e7..5db846978f 100644 --- a/docs/00_install/01_build-from-source/index.md +++ b/docs/00_install/01_build-from-source/index.md @@ -2,19 +2,19 @@ content_title: Build Antelope from Source --- -The shell scripts previously recommended for building the software have been removed in favor of a build process entirely driven by CMake. Those wishing to build from source are now responsible for installing the necessary dependencies. The list of dependencies and the recommended build procedure are in the [`README.md`](https://github.com/AntelopeIO/leap/blob/main/README.md) file. Instructions are also included for efficiently running the tests. +The shell scripts previously recommended for building the software have been removed in favor of a build process entirely driven by CMake. Those wishing to build from source are now responsible for installing the necessary dependencies. The list of dependencies and the recommended build procedure are in the [`README.md`](https://github.com/AntelopeIO/spring/blob/main/README.md) file. Instructions are also included for efficiently running the tests. ### Using DUNE As an alternative to building from source, try [Docker Utilities for Node Execution](https://github.com/AntelopeIO/DUNE) for the easiest way to get started and for multi-platform support. ### Building From Source -You can also build and install Leap from source. Instructions for that currently live [here](https://github.com/AntelopeIO/leap/blob/main/README.md#build-and-install-from-source). +You can also build and install Spring from source. Instructions for that currently live [here](https://github.com/AntelopeIO/spring/blob/main/README.md#build-and-install-from-source). #### Building Pinned Build Binary Packages -The pinned build instructions have moved [here](https://github.com/AntelopeIO/leap/blob/main/README.md#pinned-build). You may want to look at the [prerequisites](https://github.com/AntelopeIO/leap/blob/main/README.md#prerequisites) and our warning on parallelization using the `-j` jobs flag [here](https://github.com/AntelopeIO/leap/blob/main/README.md#step-3---build) before you build. +The pinned build instructions have moved [here](https://github.com/AntelopeIO/spring/blob/main/README.md#pinned-build). You may want to look at the [prerequisites](https://github.com/AntelopeIO/spring/blob/main/README.md#prerequisites) and our warning on parallelization using the `-j` jobs flag [here](https://github.com/AntelopeIO/spring/blob/main/README.md#step-3---build) before you build. #### Manual (non "pinned") Build Instructions -The unpinned build instructions have moved [here](https://github.com/AntelopeIO/leap/blob/main/README.md#unpinned-build). You may want to look at the [prerequisites](https://github.com/AntelopeIO/leap/blob/main/README.md#prerequisites) and our warning on parallelization using the `-j` jobs flag [here](https://github.com/AntelopeIO/leap/blob/main/README.md#step-3---build) before you build. +The unpinned build instructions have moved [here](https://github.com/AntelopeIO/spring/blob/main/README.md#unpinned-build). You may want to look at the [prerequisites](https://github.com/AntelopeIO/spring/blob/main/README.md#prerequisites) and our warning on parallelization using the `-j` jobs flag [here](https://github.com/AntelopeIO/spring/blob/main/README.md#step-3---build) before you build. ### Running Tests -Documentation on available test suites and how to run them has moved [here](https://github.com/AntelopeIO/leap/blob/main/README.md#test). +Documentation on available test suites and how to run them has moved [here](https://github.com/AntelopeIO/spring/blob/main/README.md#test). diff --git a/docs/01_nodeos/03_plugins/chain_api_plugin/api-reference/index.md b/docs/01_nodeos/03_plugins/chain_api_plugin/api-reference/index.md index f49aa2c390..da217fc35b 100644 --- a/docs/01_nodeos/03_plugins/chain_api_plugin/api-reference/index.md +++ b/docs/01_nodeos/03_plugins/chain_api_plugin/api-reference/index.md @@ -1 +1 @@ -[Chain API Reference](https://docs.eosnetwork.com/leap-plugins/latest/chain.api/) +[Chain API Reference](https://docs.eosnetwork.com/spring-plugins/latest/chain.api/) diff --git a/docs/01_nodeos/03_plugins/db_size_api_plugin/api-reference/index.md b/docs/01_nodeos/03_plugins/db_size_api_plugin/api-reference/index.md index 7b7810fe72..76867a64dc 100644 --- a/docs/01_nodeos/03_plugins/db_size_api_plugin/api-reference/index.md +++ b/docs/01_nodeos/03_plugins/db_size_api_plugin/api-reference/index.md @@ -1 +1 @@ -[DB Size API Reference](https://docs.eosnetwork.com/leap-plugins/latest/db_size.api/) +[DB Size API Reference](https://docs.eosnetwork.com/spring-plugins/latest/db_size.api/) diff --git a/docs/01_nodeos/03_plugins/net_api_plugin/api-reference/index.md b/docs/01_nodeos/03_plugins/net_api_plugin/api-reference/index.md index 842ba652eb..877979f450 100644 --- a/docs/01_nodeos/03_plugins/net_api_plugin/api-reference/index.md +++ b/docs/01_nodeos/03_plugins/net_api_plugin/api-reference/index.md @@ -1 +1 @@ -[Net API Reference](https://docs.eosnetwork.com/leap-plugins/latest/net.api/) +[Net API Reference](https://docs.eosnetwork.com/spring-plugins/latest/net.api/) diff --git a/docs/01_nodeos/03_plugins/net_api_plugin/index.md b/docs/01_nodeos/03_plugins/net_api_plugin/index.md index af16d5c918..7aa7f9f065 100644 --- a/docs/01_nodeos/03_plugins/net_api_plugin/index.md +++ b/docs/01_nodeos/03_plugins/net_api_plugin/index.md @@ -8,7 +8,7 @@ The `net_api_plugin` provides four RPC API endpoints: * connections * status -See [Net API Reference Documentation](https://docs.eosnetwork.com/leap-plugins/latest/net.api/). +See [Net API Reference Documentation](https://docs.eosnetwork.com/spring-plugins/latest/net.api/). [[caution | Caution]] | This plugin exposes endpoints that allow management of p2p connections. Running this plugin on a publicly accessible node is not recommended as it can be exploited. diff --git a/docs/01_nodeos/03_plugins/producer_api_plugin/api-reference/index.md b/docs/01_nodeos/03_plugins/producer_api_plugin/api-reference/index.md index 80bcc0b7fd..6cbb587be8 100644 --- a/docs/01_nodeos/03_plugins/producer_api_plugin/api-reference/index.md +++ b/docs/01_nodeos/03_plugins/producer_api_plugin/api-reference/index.md @@ -1 +1 @@ -[Producer API Reference](https://docs.eosnetwork.com/leap-plugins/latest/producer.api/) +[Producer API Reference](https://docs.eosnetwork.com/spring-plugins/latest/producer.api/) diff --git a/docs/01_nodeos/03_plugins/producer_plugin/10_block-producing-explained.md b/docs/01_nodeos/03_plugins/producer_plugin/10_block-producing-explained.md index 454a2fb613..2b8a1be1af 100644 --- a/docs/01_nodeos/03_plugins/producer_plugin/10_block-producing-explained.md +++ b/docs/01_nodeos/03_plugins/producer_plugin/10_block-producing-explained.md @@ -36,9 +36,9 @@ Please notice that the time of `bt 7` minus `.5` equals the time of `bt 6.5` the A block is produced and sent when either it reaches `m` or `u` or `p`. -Starting in Leap 4.0, blocks are propagated after block header validation. This means instead of `BP-A Peer` & `BP-B Peer` taking `m` time to validate and forward a block it only takes a small number of milliseconds to verify the block header and then forward the block. +Starting in Leap 4.0 (a predecessor of Spring 1.0), blocks are propagated after block header validation. This means instead of `BP-A Peer` & `BP-B Peer` taking `m` time to validate and forward a block it only takes a small number of milliseconds to verify the block header and then forward the block. -Starting in Leap 5.0, blocks in a round are started immediately after the completion of the previous block. Before 5.0, blocks were always started on `w` intervals and a node would "sleep" between blocks if needed. In 5.0, the "sleeps" are all moved to the end of the block production round. +Starting in Leap 5.0 (a predecessor of Spring 1.0), blocks in a round are started immediately after the completion of the previous block. Before 5.0, blocks were always started on `w` intervals and a node would "sleep" between blocks if needed. In 5.0, the "sleeps" are all moved to the end of the block production round. ## Example 1: block arrives 110ms early * Assuming zero network latency between all nodes. diff --git a/docs/01_nodeos/03_plugins/trace_api_plugin/api-reference/index.md b/docs/01_nodeos/03_plugins/trace_api_plugin/api-reference/index.md index 07a171ca7d..371aa55672 100644 --- a/docs/01_nodeos/03_plugins/trace_api_plugin/api-reference/index.md +++ b/docs/01_nodeos/03_plugins/trace_api_plugin/api-reference/index.md @@ -1 +1 @@ -[Trace API Reference](https://docs.eosnetwork.com/leap-plugins/latest/trace.api/) +[Trace API Reference](https://docs.eosnetwork.com/spring-plugins/latest/trace.api/) diff --git a/docs/01_nodeos/index.md b/docs/01_nodeos/index.md index 51d749230e..960fe29e49 100644 --- a/docs/01_nodeos/index.md +++ b/docs/01_nodeos/index.md @@ -8,7 +8,7 @@ content_title: Nodeos ## Installation -`nodeos` is distributed as part of the [Antelope software suite](https://github.com/AntelopeIO/leap). To install `nodeos`, visit the [Antelope Software Installation](../00_install/index.md) section. +`nodeos` is distributed as part of the [Antelope software suite](https://github.com/AntelopeIO/spring). To install `nodeos`, visit the [Antelope Software Installation](../00_install/index.md) section. ## Explore diff --git a/docs/02_cleos/index.md b/docs/02_cleos/index.md index e779146036..b5fd21b7cb 100644 --- a/docs/02_cleos/index.md +++ b/docs/02_cleos/index.md @@ -8,7 +8,7 @@ content_title: Cleos ## Installation -`cleos` is distributed as part of the [Antelope software suite](https://github.com/AntelopeIO/leap). To install `cleos` just visit the [Antelope Software Installation](../00_install/index.md) section. +`cleos` is distributed as part of the [Antelope software suite](https://github.com/AntelopeIO/spring). To install `cleos` just visit the [Antelope Software Installation](../00_install/index.md) section. ## Using Cleos diff --git a/docs/03_keosd/index.md b/docs/03_keosd/index.md index 69bcdcd487..9ce6650308 100644 --- a/docs/03_keosd/index.md +++ b/docs/03_keosd/index.md @@ -8,7 +8,7 @@ content_title: Keosd ## Installation -`keosd` is distributed as part of the [Antelope software suite](https://github.com/AntelopeIO/leap). To install `keosd` just visit the [Antelope Software Installation](../00_install/index.md) section. +`keosd` is distributed as part of the [Antelope software suite](https://github.com/AntelopeIO/spring). To install `keosd` just visit the [Antelope Software Installation](../00_install/index.md) section. ## Operation diff --git a/docs/index.md b/docs/index.md index 471dceeb60..799fc939a3 100644 --- a/docs/index.md +++ b/docs/index.md @@ -10,7 +10,7 @@ Antelope is the next-generation blockchain platform for creating and deploying s The basic relationship between these components is illustrated in the diagram below. -![Antelope components](leap_components.png) +![Antelope components](spring_components.png) Additional Antelope Resources: * [Antelope Utilities](10_utilities/index.md) - Utilities that complement the Antelope software. diff --git a/docs/leap_components.png b/docs/spring_components.png similarity index 100% rename from docs/leap_components.png rename to docs/spring_components.png diff --git a/eos.doxygen.in b/eos.doxygen.in index 64be554751..b740e413da 100644 --- a/eos.doxygen.in +++ b/eos.doxygen.in @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- DOXYFILE_ENCODING = UTF-8 -PROJECT_NAME = "LEAP" +PROJECT_NAME = "SPRING" PROJECT_NUMBER = "${DOXY_EOS_VERSION}" PROJECT_BRIEF = PROJECT_LOGO = eos-logo.png diff --git a/libraries/chain/block_log.cpp b/libraries/chain/block_log.cpp index b97008a9df..af887c8a59 100644 --- a/libraries/chain/block_log.cpp +++ b/libraries/chain/block_log.cpp @@ -670,10 +670,10 @@ namespace eosio { namespace chain { ilog("Log has ${n} blocks", ("n", number_of_blocks)); EOS_ASSERT(index_size || number_of_blocks == 0, block_log_exception, - "${index_file} file is empty, please use leap-util to fix the problem.", + "${index_file} file is empty, please use spring-util to fix the problem.", ("index_file", index_file.get_file_path().string())); EOS_ASSERT(index_size % sizeof(uint64_t) == 0, block_log_exception, - "${index_file} file is invalid, please use leap-util to reconstruct the index.", + "${index_file} file is invalid, please use spring-util to reconstruct the index.", ("index_file", index_file.get_file_path().string())); if (index_size) { @@ -684,7 +684,7 @@ namespace eosio { namespace chain { EOS_ASSERT(last_block_pos == last_index_pos, block_log_exception, "The last block position from ${block_file} is at ${block_pos} " "which does not match the last block postion ${index_pos} from ${index_file}, please use " - "leap-util to fix the inconsistency.", + "spring-util to fix the inconsistency.", ("block_pos", last_block_pos)("index_pos", last_index_pos) ("block_file", block_file.get_file_path().string()) ("index_file", index_file.get_file_path().string())); diff --git a/libraries/chain/deep_mind.cpp b/libraries/chain/deep_mind.cpp index 7d740235cd..360cc705c9 100644 --- a/libraries/chain/deep_mind.cpp +++ b/libraries/chain/deep_mind.cpp @@ -49,7 +49,7 @@ namespace eosio::chain { void deep_mind_handler::on_startup(chainbase::database& db, uint32_t head_block_num) { // FIXME: We should probably feed that from CMake directly somehow ... - fc_dlog(_logger, "DEEP_MIND_VERSION leap 13 0"); + fc_dlog(_logger, "DEEP_MIND_VERSION spring 13 0"); fc_dlog(_logger, "ABIDUMP START ${block_num} ${global_sequence_num}", ("block_num", head_block_num) diff --git a/libraries/chain/include/eosio/chain/kv_config.hpp b/libraries/chain/include/eosio/chain/kv_config.hpp index e19070da99..fef0a23e77 100644 --- a/libraries/chain/include/eosio/chain/kv_config.hpp +++ b/libraries/chain/include/eosio/chain/kv_config.hpp @@ -6,7 +6,7 @@ namespace eosio { namespace chain { /** - * @brief limits for a kv database: NOT IN USE for leap + * @brief limits for a kv database: NOT IN USE for spring * * Each database (ram or disk, currently) has its own limits for these parameters. * The key and value limits apply when adding or modifying elements. They may be reduced diff --git a/libraries/cli11/CMakeLists.txt b/libraries/cli11/CMakeLists.txt index a4d1b257f1..103dad0f98 100644 --- a/libraries/cli11/CMakeLists.txt +++ b/libraries/cli11/CMakeLists.txt @@ -1,7 +1,7 @@ -add_library(leap-cli11 INTERFACE) +add_library(spring-cli11 INTERFACE) set(CLI11_TESTING OFF) add_subdirectory(cli11) mark_as_advanced(CLI_CXX_STD CLI_EXAMPLES CLI_SINGLE_FILE CLI_SINGLE_FILE_TESTS CLI_TESTING) -target_link_libraries(leap-cli11 INTERFACE CLI11::CLI11) +target_link_libraries(spring-cli11 INTERFACE CLI11::CLI11) diff --git a/libraries/cli11/README.md b/libraries/cli11/README.md index 4bf7d7a786..3d35660a23 100644 --- a/libraries/cli11/README.md +++ b/libraries/cli11/README.md @@ -1,7 +1,7 @@ -## instructions for building custom leap-cli11 library +## instructions for building custom spring-cli11 library -leap-cli11 interface only library created in order to simplify integration of modified version of command line parsing library cli11 +spring-cli11 interface only library created in order to simplify integration of modified version of command line parsing library cli11 to update included in this library include/cli11/CLI11.hpp file it needs to be (re)geenerated from repository containing forked/modified version of it, in particular: @@ -21,6 +21,6 @@ Resulting single-header will be located in: build/include/CLI11.hpp ``` -And is ready to be copied to include/cli11/CLI11.hpp of leap-cli11 library +And is ready to be copied to include/cli11/CLI11.hpp of spring-cli11 library Automated CLI11 subproject build / import of CLI11.hpp header will be added in future versions. diff --git a/libraries/cli11/bash-completion/completions/leap-util b/libraries/cli11/bash-completion/completions/spring-util similarity index 92% rename from libraries/cli11/bash-completion/completions/leap-util rename to libraries/cli11/bash-completion/completions/spring-util index 0e242be638..ab2f7f9fa0 100644 --- a/libraries/cli11/bash-completion/completions/leap-util +++ b/libraries/cli11/bash-completion/completions/spring-util @@ -1,6 +1,6 @@ #/usr/bin/env bash -_leap_complete() +_spring_complete() { # Get cmdline while ignoring the last word cmdline=${COMP_LINE} @@ -23,4 +23,4 @@ _leap_complete() COMPREPLY=($(compgen -W "${words}" -- "${COMP_WORDS[${COMP_CWORD}]}")) } -complete -F _leap_complete leap-util \ No newline at end of file +complete -F _spring_complete spring-util \ No newline at end of file diff --git a/libraries/libfc/libraries/boringssl/CMakeLists.txt b/libraries/libfc/libraries/boringssl/CMakeLists.txt index b67bc6c1f6..c55ca70ddb 100644 --- a/libraries/libfc/libraries/boringssl/CMakeLists.txt +++ b/libraries/libfc/libraries/boringssl/CMakeLists.txt @@ -25,4 +25,4 @@ install( TARGETS decrepit ARCHIVE DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR} COMPONENT dev EXCLUDE_FROM_ALL ) -install( DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/boringssl/src/include/" DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}/leapboringssl" COMPONENT dev EXCLUDE_FROM_ALL ) +install( DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/boringssl/src/include/" DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}/springboringssl" COMPONENT dev EXCLUDE_FROM_ALL ) diff --git a/package.cmake b/package.cmake index 00bbffeddb..09365100a4 100644 --- a/package.cmake +++ b/package.cmake @@ -39,23 +39,23 @@ string(APPEND CPACK_PACKAGE_FILE_NAME "-${CMAKE_SYSTEM_PROCESSOR}") set(CPACK_PACKAGE_CONTACT "EOS Network Foundation") set(CPACK_PACKAGE_VENDOR "EOS Network Foundation") -set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "C++ implementation of the Antelope protocol") +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "C++ implementation of the Antelope protocol with Savanna consensus") set(CPACK_COMPONENT_BASE_DESCRIPTION "daemon and CLI tools including ${NODE_EXECUTABLE_NAME}, ${CLI_CLIENT_EXECUTABLE_NAME}, and ${KEY_STORE_EXECUTABLE_NAME}") set(CPACK_COMPONENT_DEV_DESCRIPTION "headers and libraries for native contract unit testing") -set(CPACK_PACKAGE_HOMEPAGE_URL "https://github.com/AntelopeIO/leap") +set(CPACK_PACKAGE_HOMEPAGE_URL "https://github.com/AntelopeIO/spring") set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) set(CPACK_DEBIAN_BASE_PACKAGE_SECTION "utils") -set(CPACK_DEBIAN_PACKAGE_CONFLICTS "eosio, mandel") -set(CPACK_RPM_PACKAGE_CONFLICTS "eosio, mandel") +set(CPACK_DEBIAN_PACKAGE_CONFLICTS "eosio, mandel, leap") +set(CPACK_RPM_PACKAGE_CONFLICTS "eosio, mandel, leap") set(CPACK_COMPONENTS_ALL "base") -if(ENABLE_LEAP_DEV_DEB) +if(ENABLE_SPRING_DEV_DEB) list(APPEND CPACK_COMPONENTS_ALL "dev") endif() -#enable per component packages for .deb; ensure main package is just "leap", not "leap-base", and make the dev package have "leap-dev" at the front not the back +#enable per component packages for .deb; ensure main package is just "spring", not "spring-base", and make the dev package have "spring-dev" at the front not the back set(CPACK_DEB_COMPONENT_INSTALL ON) set(CPACK_DEBIAN_BASE_PACKAGE_NAME "${CMAKE_PROJECT_NAME}") set(CPACK_DEBIAN_BASE_FILE_NAME "${CPACK_DEBIAN_FILE_NAME}.deb") diff --git a/plugins/producer_api_plugin/producer.swagger.yaml b/plugins/producer_api_plugin/producer.swagger.yaml index 25c7b70e90..b63d0d529b 100644 --- a/plugins/producer_api_plugin/producer.swagger.yaml +++ b/plugins/producer_api_plugin/producer.swagger.yaml @@ -10,7 +10,7 @@ info: url: https://antelope.io tags: - name: Protocol Version 4.0 - description: The release tag for Leap binaries is also the protocol version + description: The release tag for Spring binaries is also the protocol version servers: - url: "{protocol}://{host}:{port}/v1" variables: diff --git a/programs/CMakeLists.txt b/programs/CMakeLists.txt index 9dda023946..5622573527 100644 --- a/programs/CMakeLists.txt +++ b/programs/CMakeLists.txt @@ -1,4 +1,4 @@ add_subdirectory( nodeos ) add_subdirectory( cleos ) add_subdirectory( keosd ) -add_subdirectory( leap-util ) +add_subdirectory( spring-util ) diff --git a/programs/cleos/CMakeLists.txt b/programs/cleos/CMakeLists.txt index 71b9d6c866..bd45b9bc01 100644 --- a/programs/cleos/CMakeLists.txt +++ b/programs/cleos/CMakeLists.txt @@ -13,7 +13,7 @@ set(LOCALEDOMAIN ${CLI_CLIENT_EXECUTABLE_NAME}) target_include_directories(${CLI_CLIENT_EXECUTABLE_NAME} PUBLIC ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) target_link_libraries( ${CLI_CLIENT_EXECUTABLE_NAME} - PRIVATE appbase version leap-cli11 chain_api_plugin producer_plugin chain_plugin http_plugin eosio_chain fc ${CMAKE_DL_LIBS} ${PLATFORM_SPECIFIC_LIBS} Boost::process Boost::dll ) + PRIVATE appbase version spring-cli11 chain_api_plugin producer_plugin chain_plugin http_plugin eosio_chain fc ${CMAKE_DL_LIBS} ${PLATFORM_SPECIFIC_LIBS} Boost::process Boost::dll ) if (CURL_FOUND) target_sources(${CLI_CLIENT_EXECUTABLE_NAME} PRIVATE do_http_post_libcurl.cpp) diff --git a/programs/leap-util/CMakeLists.txt b/programs/leap-util/CMakeLists.txt deleted file mode 100644 index af28a0d930..0000000000 --- a/programs/leap-util/CMakeLists.txt +++ /dev/null @@ -1,16 +0,0 @@ -add_executable( ${LEAP_UTIL_EXECUTABLE_NAME} main.cpp actions/subcommand.cpp actions/generic.cpp actions/blocklog.cpp actions/snapshot.cpp actions/chain.cpp) - -if( UNIX AND NOT APPLE ) - set(rt_library rt ) -endif() - -target_include_directories(${LEAP_UTIL_EXECUTABLE_NAME} PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) - -target_link_libraries( ${LEAP_UTIL_EXECUTABLE_NAME} - PRIVATE appbase version - PRIVATE eosio_chain chain_plugin fc leap-cli11 producer_plugin ${CMAKE_DL_LIBS} ${PLATFORM_SPECIFIC_LIBS} ) - -copy_bin( ${LEAP_UTIL_EXECUTABLE_NAME} ) -install( TARGETS - ${LEAP_UTIL_EXECUTABLE_NAME} RUNTIME DESTINATION ${CMAKE_INSTALL_FULL_BINDIR} COMPONENT base -) diff --git a/programs/spring-util/CMakeLists.txt b/programs/spring-util/CMakeLists.txt new file mode 100644 index 0000000000..9a4a94f43d --- /dev/null +++ b/programs/spring-util/CMakeLists.txt @@ -0,0 +1,16 @@ +add_executable( ${SPRING_UTIL_EXECUTABLE_NAME} main.cpp actions/subcommand.cpp actions/generic.cpp actions/blocklog.cpp actions/snapshot.cpp actions/chain.cpp) + +if( UNIX AND NOT APPLE ) + set(rt_library rt ) +endif() + +target_include_directories(${SPRING_UTIL_EXECUTABLE_NAME} PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) + +target_link_libraries( ${SPRING_UTIL_EXECUTABLE_NAME} + PRIVATE appbase version + PRIVATE eosio_chain chain_plugin fc spring-cli11 producer_plugin ${CMAKE_DL_LIBS} ${PLATFORM_SPECIFIC_LIBS} ) + +copy_bin( ${SPRING_UTIL_EXECUTABLE_NAME} ) +install( TARGETS + ${SPRING_UTIL_EXECUTABLE_NAME} RUNTIME DESTINATION ${CMAKE_INSTALL_FULL_BINDIR} COMPONENT base +) diff --git a/programs/leap-util/actions/blocklog.cpp b/programs/spring-util/actions/blocklog.cpp similarity index 99% rename from programs/leap-util/actions/blocklog.cpp rename to programs/spring-util/actions/blocklog.cpp index eee37e87df..89a5689739 100644 --- a/programs/leap-util/actions/blocklog.cpp +++ b/programs/spring-util/actions/blocklog.cpp @@ -35,7 +35,7 @@ struct report_time { void report() { const auto duration = std::chrono::duration_cast(std::chrono::high_resolution_clock::now() - _start).count() / 1000; - ilog("leap-util - ${desc} took ${t} msec", ("desc", _desc)("t", duration)); + ilog("spring-util - ${desc} took ${t} msec", ("desc", _desc)("t", duration)); } const std::chrono::high_resolution_clock::time_point _start; diff --git a/programs/leap-util/actions/blocklog.hpp b/programs/spring-util/actions/blocklog.hpp similarity index 100% rename from programs/leap-util/actions/blocklog.hpp rename to programs/spring-util/actions/blocklog.hpp diff --git a/programs/leap-util/actions/chain.cpp b/programs/spring-util/actions/chain.cpp similarity index 100% rename from programs/leap-util/actions/chain.cpp rename to programs/spring-util/actions/chain.cpp diff --git a/programs/leap-util/actions/chain.hpp b/programs/spring-util/actions/chain.hpp similarity index 100% rename from programs/leap-util/actions/chain.hpp rename to programs/spring-util/actions/chain.hpp diff --git a/programs/leap-util/actions/generic.cpp b/programs/spring-util/actions/generic.cpp similarity index 100% rename from programs/leap-util/actions/generic.cpp rename to programs/spring-util/actions/generic.cpp diff --git a/programs/leap-util/actions/generic.hpp b/programs/spring-util/actions/generic.hpp similarity index 100% rename from programs/leap-util/actions/generic.hpp rename to programs/spring-util/actions/generic.hpp diff --git a/programs/leap-util/actions/snapshot.cpp b/programs/spring-util/actions/snapshot.cpp similarity index 100% rename from programs/leap-util/actions/snapshot.cpp rename to programs/spring-util/actions/snapshot.cpp diff --git a/programs/leap-util/actions/snapshot.hpp b/programs/spring-util/actions/snapshot.hpp similarity index 100% rename from programs/leap-util/actions/snapshot.hpp rename to programs/spring-util/actions/snapshot.hpp diff --git a/programs/leap-util/actions/subcommand.cpp b/programs/spring-util/actions/subcommand.cpp similarity index 90% rename from programs/leap-util/actions/subcommand.cpp rename to programs/spring-util/actions/subcommand.cpp index 28a4d80132..483ab05c60 100644 --- a/programs/leap-util/actions/subcommand.cpp +++ b/programs/spring-util/actions/subcommand.cpp @@ -3,7 +3,7 @@ #include #include -void leap_util_exception_handler::print_exception() noexcept { +void spring_util_exception_handler::print_exception() noexcept { try { throw; } catch(const fc::exception& e) { diff --git a/programs/leap-util/actions/subcommand.hpp b/programs/spring-util/actions/subcommand.hpp similarity index 69% rename from programs/leap-util/actions/subcommand.hpp rename to programs/spring-util/actions/subcommand.hpp index a84ecc4144..8f31b1848f 100644 --- a/programs/leap-util/actions/subcommand.hpp +++ b/programs/spring-util/actions/subcommand.hpp @@ -3,14 +3,14 @@ #include #include -class leap_util_exception_handler { +class spring_util_exception_handler { public: - leap_util_exception_handler() {} - ~leap_util_exception_handler() {} + spring_util_exception_handler() {} + ~spring_util_exception_handler() {} void print_exception() noexcept; }; -template +template class sub_command { protected: std::shared_ptr opt; diff --git a/programs/leap-util/main.cpp b/programs/spring-util/main.cpp similarity index 96% rename from programs/leap-util/main.cpp rename to programs/spring-util/main.cpp index 908a760cb3..c16b4ba734 100644 --- a/programs/leap-util/main.cpp +++ b/programs/spring-util/main.cpp @@ -15,7 +15,7 @@ int main(int argc, char** argv) { fc::logger::get(DEFAULT_LOGGER).set_log_level(fc::log_level::debug); - CLI::App app{"Leap Command Line Utility"}; + CLI::App app{"Spring Command Line Utility"}; // custom leap formatter auto fmt = std::make_shared(); diff --git a/scripts/install_testharness_symlinks.cmake b/scripts/install_testharness_symlinks.cmake index 568828db4f..a8096930d6 100644 --- a/scripts/install_testharness_symlinks.cmake +++ b/scripts/install_testharness_symlinks.cmake @@ -1,5 +1,5 @@ execute_process( COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_INSTALL_FULL_LIBDIR}/python3/dist-packages ERROR_QUIET RESULT_VARIABLE ret) if(ret EQUAL "0") - execute_process( COMMAND ${CMAKE_COMMAND} -E create_symlink ../../../share/leap_testing/tests/TestHarness ${CMAKE_INSTALL_FULL_LIBDIR}/python3/dist-packages/TestHarness) - execute_process( COMMAND ${CMAKE_COMMAND} -E create_symlink ../../bin ${CMAKE_INSTALL_FULL_DATAROOTDIR}/leap_testing/bin) + execute_process( COMMAND ${CMAKE_COMMAND} -E create_symlink ../../../share/spring_testing/tests/TestHarness ${CMAKE_INSTALL_FULL_LIBDIR}/python3/dist-packages/TestHarness) + execute_process( COMMAND ${CMAKE_COMMAND} -E create_symlink ../../bin ${CMAKE_INSTALL_FULL_DATAROOTDIR}/spring_testing/bin) endif() diff --git a/scripts/postinst b/scripts/postinst index 2496f70229..5a16987fb3 100644 --- a/scripts/postinst +++ b/scripts/postinst @@ -3,10 +3,10 @@ set -e Python_SITELIB=$(python3 -c "from distutils import sysconfig;print(sysconfig.get_python_lib(plat_specific=False,standard_lib=False))") mkdir -p $Python_SITELIB -ln -sf @CMAKE_INSTALL_FULL_DATAROOTDIR@/leap_testing/tests/TestHarness $Python_SITELIB/TestHarness +ln -sf @CMAKE_INSTALL_FULL_DATAROOTDIR@/spring_testing/tests/TestHarness $Python_SITELIB/TestHarness -# leap_testing is part of the package so should already exist by the time postinst runs -if [ ! -L @CMAKE_INSTALL_FULL_DATAROOTDIR@/leap_testing/bin ]; then - ln -s ../../bin @CMAKE_INSTALL_FULL_DATAROOTDIR@/leap_testing/bin +# spring_testing is part of the package so should already exist by the time postinst runs +if [ ! -L @CMAKE_INSTALL_FULL_DATAROOTDIR@/spring_testing/bin ]; then + ln -s ../../bin @CMAKE_INSTALL_FULL_DATAROOTDIR@/spring_testing/bin fi \ No newline at end of file diff --git a/scripts/prerm b/scripts/prerm index 146c43271e..1ad923bf32 100644 --- a/scripts/prerm +++ b/scripts/prerm @@ -3,4 +3,4 @@ # Cleanup symbolic links created during postinst Python_SITELIB=$(python3 -c "from distutils import sysconfig;print(sysconfig.get_python_lib(plat_specific=False,standard_lib=False))") rm -f $Python_SITELIB/TestHarness -rm -f @CMAKE_INSTALL_FULL_DATAROOTDIR@/leap_testing/bin +rm -f @CMAKE_INSTALL_FULL_DATAROOTDIR@/spring_testing/bin diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 12cfc0821f..96a5300f6f 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -80,8 +80,8 @@ else() set(UNSHARE "") endif() -option(LEAP_ENABLE_RELEASE_BUILD_TEST "Enables a test that verifies nodeos was compiled with compiler options typical for a release build" On) -if(LEAP_ENABLE_RELEASE_BUILD_TEST) +option(SPRING_ENABLE_RELEASE_BUILD_TEST "Enables a test that verifies nodeos was compiled with compiler options typical for a release build" On) +if(SPRING_ENABLE_RELEASE_BUILD_TEST) add_test(NAME release-build-test COMMAND tests/release-build.sh WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) endif() diff --git a/tests/PerformanceHarness/README.md b/tests/PerformanceHarness/README.md index 0b54191863..69c16b0cf8 100644 --- a/tests/PerformanceHarness/README.md +++ b/tests/PerformanceHarness/README.md @@ -15,11 +15,11 @@ The `log_reader.py` support script is used primarily to analyze `nodeos` log fil # Getting Started ## Prerequisites -Please refer to [Leap: Build and Install from Source](https://github.com/AntelopeIO/leap/#build-and-install-from-source) for a full list of prerequisites. +Please refer to [Spring: Build and Install from Source](https://github.com/AntelopeIO/spring/#build-and-install-from-source) for a full list of prerequisites. ## Steps -1. Build Leap. For complete instructions on building from source please refer to [Leap: Build and Install from Source](https://github.com/AntelopeIO/leap/#build-and-install-from-source) For older compatible nodeos versions, such as 2.X, the following binaries need to be replaced with the older version: `build/programs/nodeos/nodeos`, `build/programs/cleos/cleos`, `bin/nodeos`, and `bin/cleos`. +1. Build Spring. For complete instructions on building from source please refer to [Spring: Build and Install from Source](https://github.com/AntelopeIO/spring/#build-and-install-from-source) For older compatible nodeos versions, such as 2.X, the following binaries need to be replaced with the older version: `build/programs/nodeos/nodeos`, `build/programs/cleos/cleos`, `bin/nodeos`, and `bin/cleos`. 2. Run Performance Tests 1. Full Performance Harness Test Run (Standard): ``` bash diff --git a/tests/PerformanceHarness/performance_test_basic.py b/tests/PerformanceHarness/performance_test_basic.py index 6ff6345b5f..bc581dbb22 100755 --- a/tests/PerformanceHarness/performance_test_basic.py +++ b/tests/PerformanceHarness/performance_test_basic.py @@ -151,7 +151,6 @@ def configureApiNodes(): if self.apiNodeCount > 0: configureApiNodes() - assert "v1" not in self.nodeosVers and "v0" not in self.nodeosVers, f"nodeos version {Utils.getNodeosVersion()} is unsupported by performance test" if "v2" in self.nodeosVers: self.writeTrx = lambda trxDataFile, blockNum, trx: [trxDataFile.write(f"{trx['trx']['id']},{blockNum},{trx['cpu_usage_us']},{trx['net_usage_words']}\n")] self.createBlockData = lambda block, blockTransactionTotal, blockNetTotal, blockCpuTotal: blockData(blockId=block["payload"]["id"], blockNum=block['payload']['block_num'], transactions=blockTransactionTotal, net=blockNetTotal, cpu=blockCpuTotal, producer=block["payload"]["producer"], status=block["payload"]["confirmed"], _timestamp=block["payload"]["timestamp"]) diff --git a/tests/TestHarness/Cluster.py b/tests/TestHarness/Cluster.py index 87ab5eab23..086861309f 100644 --- a/tests/TestHarness/Cluster.py +++ b/tests/TestHarness/Cluster.py @@ -54,7 +54,7 @@ class Cluster(object): __BiosHost="localhost" __BiosPort=8788 __LauncherCmdArr=[] - __bootlog="leap-ignition-wd/bootlog.txt" + __bootlog="spring-ignition-wd/bootlog.txt" # pylint: disable=too-many-arguments def __init__(self, localCluster=True, host="localhost", port=8888, walletHost="localhost", walletPort=9899 diff --git a/tests/TestHarness/testUtils.py b/tests/TestHarness/testUtils.py index 3894d00268..bbb45aac4a 100644 --- a/tests/TestHarness/testUtils.py +++ b/tests/TestHarness/testUtils.py @@ -61,7 +61,7 @@ class Utils: EosClientPath=str(testBinPath / "cleos") MiscEosClientArgs="--no-auto-keosd" - LeapClientPath=str(testBinPath / "leap-util") + SpringClientPath=str(testBinPath / "spring-util") EosWalletName="keosd" EosWalletPath=str(testBinPath / EosWalletName) @@ -336,8 +336,8 @@ def runCmdReturnJson(cmd, trace=False, silentErrors=False): return Utils.runCmdArrReturnJson(cmdArr, trace=trace, silentErrors=silentErrors) @staticmethod - def processLeapUtilCmd(cmd, cmdDesc, silentErrors=True, exitOnError=False, exitMsg=None): - cmd="%s %s" % (Utils.LeapClientPath, cmd) + def processSpringUtilCmd(cmd, cmdDesc, silentErrors=True, exitOnError=False, exitMsg=None): + cmd="%s %s" % (Utils.SpringClientPath, cmd) if Utils.Debug: Utils.Print("cmd: %s" % (cmd)) if exitMsg is not None: exitMsg="Context: " + exitMsg @@ -433,7 +433,7 @@ def getBlockLog(blockLogLocation, blockLogAction=BlockLogAction.return_blocks, o else: unhandledEnumType(blockLogAction) - cmd="%s block-log %s --blocks-dir %s %s%s%s" % (Utils.LeapClientPath, blockLogActionStr, blockLogLocation, outputFileStr, firstStr, lastStr) + cmd="%s block-log %s --blocks-dir %s %s%s%s" % (Utils.SpringClientPath, blockLogActionStr, blockLogLocation, outputFileStr, firstStr, lastStr) if Utils.Debug: Utils.Print("cmd: %s" % (cmd)) rtn=None try: diff --git a/tests/block_log_util_test.py b/tests/block_log_util_test.py index 042e1467aa..83ba739375 100755 --- a/tests/block_log_util_test.py +++ b/tests/block_log_util_test.py @@ -21,7 +21,7 @@ def verifyBlockLog(expected_block_num, trimmedBlockLog): firstBlockNum = expected_block_num for block in trimmedBlockLog: - assert 'block_num' in block, print("ERROR: leap-util didn't return block output") + assert 'block_num' in block, print("ERROR: spring-util didn't return block output") block_num = block['block_num'] assert block_num == expected_block_num expected_block_num += 1 diff --git a/tests/nodeos_snapshot_diff_test.py b/tests/nodeos_snapshot_diff_test.py index 4e0624030c..1a17d89bc1 100755 --- a/tests/nodeos_snapshot_diff_test.py +++ b/tests/nodeos_snapshot_diff_test.py @@ -165,7 +165,7 @@ def waitForBlock(node, blockNum, blockType=BlockType.head, timeout=None, reportI Print("Convert snapshot to JSON") snapshotFile = getLatestSnapshot(snapshotNodeId) - Utils.processLeapUtilCmd("snapshot to-json --input-file {}".format(snapshotFile), "snapshot to-json", silentErrors=False) + Utils.processSpringUtilCmd("snapshot to-json --input-file {}".format(snapshotFile), "snapshot to-json", silentErrors=False) snapshotFile = snapshotFile + ".json" Print("Trim programmable blocklog to snapshot head block num and relaunch programmable node") @@ -188,7 +188,7 @@ def waitForBlock(node, blockNum, blockType=BlockType.head, timeout=None, reportI Print("Convert snapshot to JSON") progSnapshotFile = getLatestSnapshot(progNodeId) - Utils.processLeapUtilCmd("snapshot to-json --input-file {}".format(progSnapshotFile), "snapshot to-json", silentErrors=False) + Utils.processSpringUtilCmd("snapshot to-json --input-file {}".format(progSnapshotFile), "snapshot to-json", silentErrors=False) progSnapshotFile = progSnapshotFile + ".json" Print("Trim irreversible blocklog to snapshot head block num") @@ -214,7 +214,7 @@ def waitForBlock(node, blockNum, blockType=BlockType.head, timeout=None, reportI Print("Convert snapshot to JSON") irrSnapshotFile = getLatestSnapshot(irrNodeId) - Utils.processLeapUtilCmd("snapshot to-json --input-file {}".format(irrSnapshotFile), "snapshot to-json", silentErrors=False) + Utils.processSpringUtilCmd("snapshot to-json --input-file {}".format(irrSnapshotFile), "snapshot to-json", silentErrors=False) irrSnapshotFile = irrSnapshotFile + ".json" assert Utils.compareFiles(snapshotFile, irrSnapshotFile), f"Snapshot files differ {snapshotFile} != {irrSnapshotFile}" diff --git a/tools/reproducible.Dockerfile b/tools/reproducible.Dockerfile index 59a19f9d51..1c72608f55 100644 --- a/tools/reproducible.Dockerfile +++ b/tools/reproducible.Dockerfile @@ -28,17 +28,17 @@ RUN apt-get update && apt-get -y upgrade && DEBIAN_FRONTEND=noninteractive apt-g zstd \ ; -ARG _LEAP_CLANG_VERSION=17.0.2 -ARG _LEAP_LLVM_VERSION=11.1.0 -ARG _LEAP_CMAKE_VERSION=3.27.6 - -ADD https://github.com/llvm/llvm-project/releases/download/llvmorg-${_LEAP_CLANG_VERSION}/llvm-project-${_LEAP_CLANG_VERSION}.src.tar.xz \ - https://github.com/llvm/llvm-project/releases/download/llvmorg-${_LEAP_CLANG_VERSION}/llvm-project-${_LEAP_CLANG_VERSION}.src.tar.xz.sig \ - https://github.com/llvm/llvm-project/releases/download/llvmorg-${_LEAP_LLVM_VERSION}/llvm-project-${_LEAP_LLVM_VERSION}.src.tar.xz \ - https://github.com/llvm/llvm-project/releases/download/llvmorg-${_LEAP_LLVM_VERSION}/llvm-project-${_LEAP_LLVM_VERSION}.src.tar.xz.sig \ - https://github.com/Kitware/CMake/releases/download/v${_LEAP_CMAKE_VERSION}/cmake-${_LEAP_CMAKE_VERSION}.tar.gz \ - https://github.com/Kitware/CMake/releases/download/v${_LEAP_CMAKE_VERSION}/cmake-${_LEAP_CMAKE_VERSION}-SHA-256.txt \ - https://github.com/Kitware/CMake/releases/download/v${_LEAP_CMAKE_VERSION}/cmake-${_LEAP_CMAKE_VERSION}-SHA-256.txt.asc \ +ARG _SPRING_CLANG_VERSION=17.0.2 +ARG _SPRING_LLVM_VERSION=11.1.0 +ARG _SPRING_CMAKE_VERSION=3.27.6 + +ADD https://github.com/llvm/llvm-project/releases/download/llvmorg-${_SPRING_CLANG_VERSION}/llvm-project-${_SPRING_CLANG_VERSION}.src.tar.xz \ + https://github.com/llvm/llvm-project/releases/download/llvmorg-${_SPRING_CLANG_VERSION}/llvm-project-${_SPRING_CLANG_VERSION}.src.tar.xz.sig \ + https://github.com/llvm/llvm-project/releases/download/llvmorg-${_SPRING_LLVM_VERSION}/llvm-project-${_SPRING_LLVM_VERSION}.src.tar.xz \ + https://github.com/llvm/llvm-project/releases/download/llvmorg-${_SPRING_LLVM_VERSION}/llvm-project-${_SPRING_LLVM_VERSION}.src.tar.xz.sig \ + https://github.com/Kitware/CMake/releases/download/v${_SPRING_CMAKE_VERSION}/cmake-${_SPRING_CMAKE_VERSION}.tar.gz \ + https://github.com/Kitware/CMake/releases/download/v${_SPRING_CMAKE_VERSION}/cmake-${_SPRING_CMAKE_VERSION}-SHA-256.txt \ + https://github.com/Kitware/CMake/releases/download/v${_SPRING_CMAKE_VERSION}/cmake-${_SPRING_CMAKE_VERSION}-SHA-256.txt.asc \ / # CBA23971357C2E6590D9EFD3EC8FEF3A7BFB4EDA - Brad King (cmake) @@ -54,12 +54,12 @@ RUN ls *.sig *.asc | xargs -n 1 gpg --verify && \ RUN tar xf cmake-*.tar.gz && \ cd cmake*[0-9] && \ - echo 'set(CMAKE_USE_OPENSSL OFF CACHE BOOL "" FORCE)' > leap-init.cmake && \ - ./bootstrap --parallel=$(nproc) --init=leap-init.cmake --generator=Ninja && \ + echo 'set(CMAKE_USE_OPENSSL OFF CACHE BOOL "" FORCE)' > spring-init.cmake && \ + ./bootstrap --parallel=$(nproc) --init=spring-init.cmake --generator=Ninja && \ ninja install -RUN tar xf llvm-project-${_LEAP_CLANG_VERSION}.src.tar.xz && \ - cmake -S llvm-project-${_LEAP_CLANG_VERSION}.src/llvm -B build-toolchain -GNinja -DLLVM_INCLUDE_DOCS=Off -DLLVM_TARGETS_TO_BUILD=host -DCMAKE_BUILD_TYPE=Release \ +RUN tar xf llvm-project-${_SPRING_CLANG_VERSION}.src.tar.xz && \ + cmake -S llvm-project-${_SPRING_CLANG_VERSION}.src/llvm -B build-toolchain -GNinja -DLLVM_INCLUDE_DOCS=Off -DLLVM_TARGETS_TO_BUILD=host -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/pinnedtoolchain \ -DCOMPILER_RT_BUILD_SANITIZERS=Off \ -DLLVM_ENABLE_PROJECTS='lld;clang;clang-tools-extra' \ @@ -85,8 +85,8 @@ COPY <<-"EOF" /pinnedtoolchain/pinnedtoolchain.cmake EOF ENV CMAKE_TOOLCHAIN_FILE=/pinnedtoolchain/pinnedtoolchain.cmake -RUN tar xf llvm-project-${_LEAP_LLVM_VERSION}.src.tar.xz && \ - cmake -S llvm-project-${_LEAP_LLVM_VERSION}.src/llvm -B build-pinllvm -GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=host -DLLVM_BUILD_TOOLS=Off \ +RUN tar xf llvm-project-${_SPRING_LLVM_VERSION}.src.tar.xz && \ + cmake -S llvm-project-${_SPRING_LLVM_VERSION}.src/llvm -B build-pinllvm -GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=host -DLLVM_BUILD_TOOLS=Off \ -DLLVM_ENABLE_RTTI=On -DLLVM_ENABLE_TERMINFO=Off -DLLVM_ENABLE_PIC=Off \ -DCMAKE_INSTALL_PREFIX=/pinnedtoolchain/pinllvm && \ cmake --build build-pinllvm -t install @@ -95,14 +95,14 @@ RUN rm -rf llvm* build* cmake* FROM builder AS build -ARG LEAP_BUILD_JOBS +ARG SPRING_BUILD_JOBS -# Yuck: This places the source at the same location as leap's CI (build.yaml, build_base.yaml). Unfortunately this location only matches -# when build.yaml etc are being run from a repository named leap. -COPY / /__w/leap/leap -RUN cmake -S /__w/leap/leap -B build -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -GNinja && \ - cmake --build build -t package -- ${LEAP_BUILD_JOBS:+-j$LEAP_BUILD_JOBS} && \ - /__w/leap/leap/tools/tweak-deb.sh build/leap_*.deb +# Yuck: This places the source at the same location as spring's CI (build.yaml, build_base.yaml). Unfortunately this location only matches +# when build.yaml etc are being run from a repository named spring. +COPY / /__w/spring/spring +RUN cmake -S /__w/spring/spring -B build -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -GNinja && \ + cmake --build build -t package -- ${SPRING_BUILD_JOBS:+-j$SPRING_BUILD_JOBS} && \ + /__w/spring/spring/tools/tweak-deb.sh build/spring_*.deb FROM scratch AS exporter COPY --from=build /build/*.deb /build/*.tar.* / diff --git a/tutorials/bios-boot-tutorial/README.md b/tutorials/bios-boot-tutorial/README.md index 428db4b742..0d9627a585 100644 --- a/tutorials/bios-boot-tutorial/README.md +++ b/tutorials/bios-boot-tutorial/README.md @@ -12,7 +12,7 @@ The `bios-boot-tutorial.py` script simulates the bios boot sequence. ## Steps -1. Install the latest [Leap binaries](https://github.com/AntelopeIO/leap/releases) by following the steps provided in the README. +1. Install the latest [Spring binaries](https://github.com/AntelopeIO/spring/releases) by following the steps provided in the README. 2. Install the latest [CDT binaries](https://github.com/AntelopeIO/cdt/releases) by following the steps provided in the README. @@ -39,7 +39,7 @@ The last command in the previous step printed the contracts directory. Make note ```bash $ pip install numpy $ cd ~ -$ git clone -b release/*latest* https://github.com/AntelopeIO/leap -$ cd ./leap/tutorials/bios-boot-tutorial/ +$ git clone -b release/*latest* https://github.com/AntelopeIO/spring +$ cd ./spring/tutorials/bios-boot-tutorial/ $ python3 bios-boot-tutorial.py --cleos=cleos --nodeos=nodeos --keosd=keosd --contracts-dir="${CONTRACTS_DIRECTORY}" -w -a ``` diff --git a/unittests/deep-mind/deep-mind.log b/unittests/deep-mind/deep-mind.log index 83af237cad..b538ea0683 100644 --- a/unittests/deep-mind/deep-mind.log +++ b/unittests/deep-mind/deep-mind.log @@ -17,7 +17,7 @@ DMLOG RLIMIT_OP ACCOUNT_USAGE INS {"owner":"eosio.prods","net_usage":{"last_ordi DMLOG RAM_OP 0 eosio.prods account add newaccount eosio.prods 2656 2656 DMLOG PERM_OP INS 0 7 {"usage_id":6,"parent":6,"owner":"eosio.prods","name":"prod.major","last_updated":"2020-01-01T00:00:00.000","auth":{"threshold":1,"keys":[],"accounts":[{"permission":{"actor":"eosio","permission":"active"},"weight":1}],"waits":[]}} DMLOG PERM_OP INS 0 8 {"usage_id":7,"parent":7,"owner":"eosio.prods","name":"prod.minor","last_updated":"2020-01-01T00:00:00.000","auth":{"threshold":1,"keys":[],"accounts":[{"permission":{"actor":"eosio","permission":"active"},"weight":1}],"waits":[]}} -DMLOG DEEP_MIND_VERSION leap 13 0 +DMLOG DEEP_MIND_VERSION spring 13 0 DMLOG ABIDUMP START 1 0 DMLOG ABIDUMP ABI eosio DmVvc2lvOjphYmkvMS4wBwxhY2NvdW50X25hbWUEbmFtZQ9wZXJtaXNzaW9uX25hbWUEbmFtZQthY3Rpb25fbmFtZQRuYW1lCnRhYmxlX25hbWUEbmFtZRN0cmFuc2FjdGlvbl9pZF90eXBlC2NoZWNrc3VtMjU2DWJsb2NrX2lkX3R5cGULY2hlY2tzdW0yNTYLd2VpZ2h0X3R5cGUGdWludDE2FhBwZXJtaXNzaW9uX2xldmVsAAIFYWN0b3IMYWNjb3VudF9uYW1lCnBlcm1pc3Npb24PcGVybWlzc2lvbl9uYW1lBmFjdGlvbgAEB2FjY291bnQMYWNjb3VudF9uYW1lBG5hbWULYWN0aW9uX25hbWUNYXV0aG9yaXphdGlvbhJwZXJtaXNzaW9uX2xldmVsW10EZGF0YQVieXRlcwlleHRlbnNpb24AAgR0eXBlBnVpbnQxNgRkYXRhBWJ5dGVzEnRyYW5zYWN0aW9uX2hlYWRlcgAGCmV4cGlyYXRpb24OdGltZV9wb2ludF9zZWMNcmVmX2Jsb2NrX251bQZ1aW50MTYQcmVmX2Jsb2NrX3ByZWZpeAZ1aW50MzITbWF4X25ldF91c2FnZV93b3Jkcwl2YXJ1aW50MzIQbWF4X2NwdV91c2FnZV9tcwV1aW50OAlkZWxheV9zZWMJdmFydWludDMyC3RyYW5zYWN0aW9uEnRyYW5zYWN0aW9uX2hlYWRlcgMUY29udGV4dF9mcmVlX2FjdGlvbnMIYWN0aW9uW10HYWN0aW9ucwhhY3Rpb25bXRZ0cmFuc2FjdGlvbl9leHRlbnNpb25zC2V4dGVuc2lvbltdDHByb2R1Y2VyX2tleQACDXByb2R1Y2VyX25hbWUMYWNjb3VudF9uYW1lEWJsb2NrX3NpZ25pbmdfa2V5CnB1YmxpY19rZXkRcHJvZHVjZXJfc2NoZWR1bGUAAgd2ZXJzaW9uBnVpbnQzMglwcm9kdWNlcnMOcHJvZHVjZXJfa2V5W10MYmxvY2tfaGVhZGVyAAkJdGltZXN0YW1wBnVpbnQzMghwcm9kdWNlcgxhY2NvdW50X25hbWUJY29uZmlybWVkBnVpbnQxNghwcmV2aW91cw1ibG9ja19pZF90eXBlEXRyYW5zYWN0aW9uX21yb290C2NoZWNrc3VtMjU2DGFjdGlvbl9tcm9vdAtjaGVja3N1bTI1NhBzY2hlZHVsZV92ZXJzaW9uBnVpbnQzMg1uZXdfcHJvZHVjZXJzEnByb2R1Y2VyX3NjaGVkdWxlPxFoZWFkZXJfZXh0ZW5zaW9ucwtleHRlbnNpb25bXQprZXlfd2VpZ2h0AAIDa2V5CnB1YmxpY19rZXkGd2VpZ2h0C3dlaWdodF90eXBlF3Blcm1pc3Npb25fbGV2ZWxfd2VpZ2h0AAIKcGVybWlzc2lvbhBwZXJtaXNzaW9uX2xldmVsBndlaWdodAt3ZWlnaHRfdHlwZQt3YWl0X3dlaWdodAACCHdhaXRfc2VjBnVpbnQzMgZ3ZWlnaHQLd2VpZ2h0X3R5cGUJYXV0aG9yaXR5AAQJdGhyZXNob2xkBnVpbnQzMgRrZXlzDGtleV93ZWlnaHRbXQhhY2NvdW50cxlwZXJtaXNzaW9uX2xldmVsX3dlaWdodFtdBXdhaXRzDXdhaXRfd2VpZ2h0W10KbmV3YWNjb3VudAAEB2NyZWF0b3IMYWNjb3VudF9uYW1lBG5hbWUMYWNjb3VudF9uYW1lBW93bmVyCWF1dGhvcml0eQZhY3RpdmUJYXV0aG9yaXR5B3NldGNvZGUABAdhY2NvdW50DGFjY291bnRfbmFtZQZ2bXR5cGUFdWludDgJdm12ZXJzaW9uBXVpbnQ4BGNvZGUFYnl0ZXMGc2V0YWJpAAIHYWNjb3VudAxhY2NvdW50X25hbWUDYWJpBWJ5dGVzCnVwZGF0ZWF1dGgABAdhY2NvdW50DGFjY291bnRfbmFtZQpwZXJtaXNzaW9uD3Blcm1pc3Npb25fbmFtZQZwYXJlbnQPcGVybWlzc2lvbl9uYW1lBGF1dGgJYXV0aG9yaXR5CmRlbGV0ZWF1dGgAAgdhY2NvdW50DGFjY291bnRfbmFtZQpwZXJtaXNzaW9uD3Blcm1pc3Npb25fbmFtZQhsaW5rYXV0aAAEB2FjY291bnQMYWNjb3VudF9uYW1lBGNvZGUMYWNjb3VudF9uYW1lBHR5cGULYWN0aW9uX25hbWULcmVxdWlyZW1lbnQPcGVybWlzc2lvbl9uYW1lCnVubGlua2F1dGgAAwdhY2NvdW50DGFjY291bnRfbmFtZQRjb2RlDGFjY291bnRfbmFtZQR0eXBlC2FjdGlvbl9uYW1lC2NhbmNlbGRlbGF5AAIOY2FuY2VsaW5nX2F1dGgQcGVybWlzc2lvbl9sZXZlbAZ0cnhfaWQTdHJhbnNhY3Rpb25faWRfdHlwZQdvbmVycm9yAAIJc2VuZGVyX2lkB3VpbnQxMjgIc2VudF90cngFYnl0ZXMHb25ibG9jawABBmhlYWRlcgxibG9ja19oZWFkZXIKAECemiJkuJoKbmV3YWNjb3VudAAAAABAJYqywgdzZXRjb2RlAAAAAAC4Y7LCBnNldGFiaQAAQMvaqGxS1Qp1cGRhdGVhdXRoAABAy9qorKJKCmRlbGV0ZWF1dGgAAAAALWsDp4sIbGlua2F1dGgAAEDL2sDp4tQKdW5saW5rYXV0aAAAvIkqRYWmQQtjYW5jZWxkZWxheQAAAADg0nvVpAdvbmVycm9yAAAAAAAiGs+kB29uYmxvY2sAAAAAAAA= DMLOG ABIDUMP END diff --git a/unittests/wasm-spec-tests/README.md b/unittests/wasm-spec-tests/README.md index 9c378c6ec6..53d3eb9d31 100644 --- a/unittests/wasm-spec-tests/README.md +++ b/unittests/wasm-spec-tests/README.md @@ -18,7 +18,7 @@ WebAssembly spec. - The imports and apply functions (and any helper functions) from the generated wasm are combined with the test function definitions from the spec test wasm. - Any necessary shifting of type/import/function/call/exports numbers is done. - This is where the generated map from above is used. -6. The newly created merged wasms and unit test C++ files are copied into the appropriate directory in the Leap repo. +6. The newly created merged wasms and unit test C++ files are copied into the appropriate directory in the Spring repo. ### How tests are split up