Compare commits

...

3292 Commits

Author SHA1 Message Date
Alex Ant 3406fd525f fix(chain): lazy-init builtin registries — global static crashed leap-util (#10)
The genesis registry was a namespace-scope static whose initializer parses
public_key_type values; fc's own static state is not guaranteed to exist at
that point, and every leap-util invocation (even 'version client') aborted
with fc::assert_exception before main() — classic static init order fiasco.
nodeos was unaffected only because the linker never pulls the unused object
file out of the static library.

Both builtin registries (genesis, historical exceptions) now use function-
local statics built on first use.

Co-authored-by: coopops <coopos@coopenomics.world>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-11 00:41:08 +05:00
Alex Ant 82e399a2ca feat(leap-util): built-in genesis registry — 'genesis print/list' subcommands (#9)
Bootstrapping a fresh node used to require an externally hosted genesis.json;
lose the file and you cannot sync. The canonical genesis states of known
Coopenomics chains (mainnet, testnet) are now compiled into the binary and
reproducible from the package alone:

  leap-util genesis list                      # names + chain ids
  leap-util genesis print mainnet > genesis.json

Each entry only overrides initial_key — the production initial_timestamp and
chain_config values are already the compile-time defaults of genesis_state.
The default EOSIO_ROOT_KEY is intentionally untouched, so dev forks and the
docker-hub harness keep their well-known dev key; one build serves mainnet,
testnet and dev (a config-time root key change would have forked every dev
setup, and shipping per-network builds was rejected outright).

Unit test pins both registry chain ids to the canonical values, proving every
hashed genesis field is correct, and pins the dev default to NOT equal any
production genesis.

Co-authored-by: coopops <coopos@coopenomics.world>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-10 22:17:26 +05:00
Alex Ant 2ef58997e1 fix(chain): extend mainnet exception windows through setcode block 113275717 (#8)
Empirical full replay on 2026-06-10 proved the incident model wrong in one
detail: onblock on the buggy build THREW on every block (it did not merely
skip receipt recording), and recovery happened in-band — block 113275717
carries the eosio::setcode that replaced the system contract, produced 0.5s
after the last zero-mroot block with no BP restart. Onblock was still failing
while 113275717 itself was produced, so its canonical action_mroot covers
only the setcode receipt; a replay that runs onblock there computes a
two-receipt mroot and fails "Block ID does not match".

Extend both builtin windows (action_mroot bypass + onblock skip) from
113275716 to 113275717 inclusive. The 2395 in-window blocks replay
bit-identical to the canonical chain (zero mroot, matching block ids — the
mroot bypass never even fires); user transactions inside the window execute
normally.

Co-authored-by: coopops <coopos@coopenomics.world>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-10 15:11:49 +05:00
Alex Ant b94c791b10 feat(chain): v5.3.1 — onblock skip + non-zero mroot bypass + builtin registry (#7)
Three coupled mechanisms in chain_historical_exceptions so archival nodes can
replay coopenomics mainnet past the 2026-05-11 v5.2.0-dev incident:

- chain_historical_exceptions gains onblock_skip_windows and
  suppressed_activations vectors; both are optional in the JSON form so v5.3.0
  files keep parsing.
- apply_block bypass no longer requires action_mroot == 0 inside a window —
  any divergent mroot is accepted when every other header field matches.
  Needed because a sound replay computes a non-zero mroot in the dirty window
  (onblock works) while the canonical chain stored zero.
- start_block skips the implicit onblock transaction inside any configured
  window. Without this the chainbase (block_summary_object etc.) mutated by
  onblock diverges from canonical state and every later block fails to
  validate, defeating the mroot bypass.
- trigger_activation_handler can be suppressed per feature_digest via the
  registry — guards against future incidents where a marked-activated feature
  must not run its handler during replay.
- New chain_exceptions_builtin.cpp ships a compiled-in registry keyed by
  chain_id; for coopenomics mainnet it carries action_mroot + onblock-skip
  windows [113273322..113275716]. Operators no longer need to distribute a
  separate JSON file; the .deb is self-contained. File option still wins
  per-node when set.

Co-authored-by: coopops <coopos@coopenomics.world>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-04 10:12:24 +05:00
Alex Ant c7cd80af29 Merge pull request #6 from coopenomics/chore/bump-version-5.3.0
chore(release): bump CMake VERSION to 5.3.0
2026-06-03 15:32:57 +05:00
coopops 1586a2e0e0 chore(release): bump CMake VERSION to 5.3.0
CMakeLists.txt still hardcoded 5.2.0, so v5.3.0 tag produced
coopos_5.2.0-*.deb. dpkg -i over installed 5.2.0 would no-op.
Bump VERSION_MINOR=3 so artifact matches tag.
2026-06-03 10:32:35 +00:00
Alex Ant 31fd09ba00 Merge pull request #5 from coopenomics/fix/test-json-to-string-signature
fix(unittests): drop json_roundtrip — fc::json::to_string template requires deadline
2026-06-03 13:04:31 +05:00
coopops 1ab8b51a21 fix(unittests): drop json_roundtrip test, fc::json::to_string requires deadline
The template overload fc::json::to_string<T>(...) in this fork takes the
deadline argument without a default (only the variant overload has a
default), so the one-arg call inside json_roundtrip would not compile:

  error: no matching function for call to
    'fc::json::to_string(eosio::chain::chain_historical_exceptions&)'
  note: candidate expects 4 arguments, 1 provided

JSON round-trip is already exercised indirectly by every remaining test
case — each writes the file via fc::json::to_pretty_string (template
overload with deadline default) and the controller reads it back via
fc::json::from_file<T>() in the loader.
2026-06-03 08:04:14 +00:00
Alex Ant ad0458c5b2 Merge pull request #4 from coopenomics/fix/chain-exceptions-default-ctor
fix(chain): default-construct chain_id in chain_historical_exceptions
2026-06-03 12:26:17 +05:00
coopops 8790ed487c fix(chain): default-construct chain_id in chain_historical_exceptions
chain_id_type has a private default constructor (only friend classes like
controller_impl and fc::variant::as can default-construct one). Relying on
the implicit default ctor in chain_historical_exceptions therefore made it
not default-constructible, which broke both the controller_impl member init
and fc::variant::as<chain_historical_exceptions>() in the JSON loader:

  error: use of deleted function
    'eosio::chain::chain_historical_exceptions::chain_historical_exceptions()'
  note: 'eosio::chain::chain_id_type::chain_id_type()' is private

Provide an explicit default ctor that initialises chain_id via the public
empty_chain_id() factory. Loader then overwrites it with the value parsed
from the JSON file and asserts equality with self.get_chain_id().
2026-06-03 07:26:02 +00:00
Alex Ant e912250950 Merge pull request #3 from coopenomics/release/5.3.0
feat(chain): chain-historical-exceptions registry for v5.2.0 dirty window
2026-06-03 11:20:34 +05:00
coopops de24cd822e feat(chain): chain-historical-exceptions registry for action_mroot bypass
Adds a generic per-chain exception mechanism that lets a controller skip
the producer_block_id != ab._id assert in apply_block when the only
header divergence is a known historical action_mroot=0 inside a declared
block-number window for the matching chain_id.

Motivation: on 2026-05-11 the mainnet Коопеномикс BP briefly ran a dev
build (v5.2.0-dev-294edf3b8) that did not register the on_activation
handler for ASSERT_RECOVER_KEY_ACCOUNT (id=24). For ~20 minutes (blocks
113273322..113275716) onblock did not register intrinsics,
_action_receipt_digests was empty and finalized action_mroot was the
zero digest. The window is now permanently irreversible. Any current
binary refuses to replay past block 113273322 with
block_validate_exception, so new full-history archive nodes / fresh BPs
/ --hard-replay-blockchain on mainnet are blocked.

Design (see exception-notes.md):
- New struct chain_historical_exceptions { chain_id, windows[] }
  loaded from a JSON file path supplied via the new config option
  chain-historical-exceptions. Absent / empty file => no change in
  behavior, strict upstream Antelope validation. Forks and subnets
  reusing this codebase without supplying a file are unaffected.
- Loader fires from controller_impl::init() right after
  protocol_features.init(db) (where self.get_chain_id() is valid) and
  EOS_ASSERTs that the file's chain_id matches the running chain — so
  the mainnet exception file cannot accidentally be applied to a
  different chain.
- Bypass site is the existing producer_block_id != ab._id branch in
  apply_block. Bypass fires only when all three hold: block_num is
  inside a declared window, b->action_mroot is strictly the zero
  digest, and a new other_header_fields_match helper confirms every
  other header field (timestamp, producer, confirmed, previous,
  transaction_mroot, schedule_version, new_producers,
  header_extensions) matches the locally-assembled block. Any other
  header divergence still throws block_validate_exception as before.
- Every bypass application is logged via wlog with the configured
  reason for forensics.

The data file for mainnet Коопеномикс is shipped separately (lives in
the playbooks repo, deployed to /etc/coopos/exceptions/) so the data
never leaks into forks that simply pull this codebase.

Unit tests cover JSON round-trip, chain_id mismatch -> startup refusal,
in-window action_mroot=0 -> bypass accepts, out-of-window -> rejected,
and in-window-but-other-field-altered -> rejected.

Refs: incident 2026-05-11, coopos commit 2c23b8108 (root-cause fix that
arrived too late for the dirty window).
2026-06-03 06:19:06 +00:00
coopops fa8502eccc chore: add CLAUDE.md with project-scoped agent notes
Перенёс из общей auto-memory в репо: миграции версий, snapshot-vs-full-resync, Dockerfile.publish target. Часть реорганизации памяти агента по проектам.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-19 16:25:34 +00:00
coopops 2c23b81082 fix(protocol_feature): register on_activation handler for ASSERT_RECOVER_KEY_ACCOUNT
Previous commit declared template specialization but missed
set_activation_handler<>() call in controller_impl ctor — so the handler
was never inserted into protocol_feature_activation_handlers map and
trigger_activation_handler() returned silently on feature activation.

Result: feature got marked activated in state, but assert_recover_key_account
was not added to whitelisted_intrinsics. Existing chains with the old build
must re-init from a pre-activation snapshot to get the handler to run during
replay.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 14:13:17 +00:00
coopops ed23103d79 feat(protocol_feature): ASSERT_RECOVER_KEY_ACCOUNT builtin (id=24)
Adds new builtin protocol feature that whitelists assert_recover_key_account
intrinsic on activation. Required for existing chains (testnet/mainnet) where
this intrinsic is not in whitelisted_intrinsics state — they cannot accept
WASM that imports env.assert_recover_key_account until the feature is
preactivated + activated via eosio::activate.

on_activation handler is idempotent: на свежем genesis intrinsic уже
добавлен через genesis_intrinsics, на действующих цепочках добавляется
здесь.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 12:20:52 +00:00
coopops 71cd13cae1 docs(README): production genesis.json + инструкция запуска ноды на mainnet
Добавлен новый раздел "Запуск ноды на основной сети Кооперативной Экономики":
- embedded production genesis.json с initial_key EOS7Tjq... (mainnet chain_id 6e37f9ac...);
- объяснение почему дефолтный EOSIO_ROOT_KEY из бинарника не подходит и нужен явный --genesis-json при первом запуске на пустой data-dir;
- пошаговая процедура полного ресинка через --genesis-json (stop → wipe data → подложить genesis → флаг в unit → start → снять флаг);
- альтернативная процедура быстрого старта через --snapshot.

TOC обновлён (пункт 5).
2026-05-11 11:45:19 +00:00
coopops 111696cc77 build: убрать хардкод VERSION_SUFFIX=dev
Раньше каждая сборка получала имя `coopos_5.2.0-dev-...deb` и
`coopos-dev_5.2.0-dev-...deb` — слово «dev» в имени файла означало
одновременно (а) pre-release-суффикс версии и (б) component-имя
второго пакета. Это путало: «у одного dev в начале, у другого
в конце».

VERSION_SUFFIX переведён в CACHE STRING с пустым default. Релизный
билд даёт чистое `5.2.0`. При необходимости pre-release —
`cmake -DVERSION_SUFFIX=rc1 …`.

Имена пакетов после правки:
  - coopos_5.2.0-ubuntu22.04_amd64.deb       (runtime)
  - coopos-dev_5.2.0-ubuntu22.04_amd64.deb   (headers, EosioTester)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 07:55:55 +00:00
coopops 5bb051f9ad fix(intrinsics): переместить assert_recover_key_account в конец таблиц — ABI compat
Вставка нового intrinsic в середину intrinsic_mapping/genesis_intrinsics/eos-vm
регистраций сдвинула индексы всех последующих host functions на 1. Старые wasm
(включая eosio.system, скомпилированный до v5.2.0) по импортам "env.X" попадают
на новые индексы, и context-aware вызов из onblock приземляется на
context-free-only assert_recover_key_account → REJECT каждого блока с
"this API may only be called from context_free apply".

Перенос в конец всех трёх таблиц восстанавливает порядок индексов для ранее
существовавших intrinsics. Сам метод остаётся доступным с новым (большим)
индексом — будущие wasm-сборки увидят его как обычно.
2026-05-11 07:53:19 +00:00
coopops 68339a64f5 fix(ci): publish runtime stage explicitly, not scratch deb stage
Без `target: runtime` buildx публиковал последнюю стадию `deb`
(scratch с .deb файлами), а не runnable runtime. Из-за этого
dicoop/blockchain:latest и :v5.2.0 на Hub были неисполнимым
dist-артефактом.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 17:22:53 +00:00
coopops 0d7d6c135b feat(leap-util): add 'snapshot from-json' subcommand
Симметричный аналог 'snapshot to-json': читает JSON-снапшот через
istream_json_snapshot_reader (уже реализован в libraries/chain/snapshot.cpp,
строки 343-433) и пишет binary через ostream_snapshot_writer.

Pipeline для форка прод-ноды:
  leap-util snapshot to-json -i snapshot.bin -o s.json
  jq '<подмена ключей и producer schedule>' s.json > s.patched.json
  leap-util snapshot from-json -i s.patched.json -o snapshot-fork.bin
  nodeos --snapshot snapshot-fork.bin
2026-05-05 10:53:11 +00:00
coopops 4427bdf235 fix(ci): drop tweak-deb.sh — incompatible with modern dpkg
cpack on Ubuntu 22.04 produces control.tar.zst, but the leap-era
tools/tweak-deb.sh hardcodes 'ar x control.tar.gz', which fails with
'tar: Unexpected EOF in archive'.

The tweak is only a cosmetic libc-dep cleanup; without it the .deb
files are still valid. Drop the call.
2026-05-02 05:44:23 +00:00
coopops d38a945269 fix(ci): keep LICENSE/README/docs in build context
CMakeLists.txt reads LICENSE via configure_file at line 219; excluding
it from .dockerignore caused the build to fail with:
  CMake Error: File /blockchain/LICENSE does not exist.

Be conservative — only exclude things definitely unused by cmake:
build artefacts, logs, CI configs, and images/ (logos).
2026-05-01 17:04:52 +00:00
coopops 7172b51e75 ci(docker): split cpack into separate RUN for cache stability
Keeps the heavy blockchain build cached even when cpack/tweak logic
changes. The split is at the RUN boundary, no functional difference.
2026-05-01 16:54:02 +00:00
coopops 33b1179e39 feat(ci): build & publish .deb packages to GitHub Release
Adds DEB packaging to the same docker-publish workflow:

Builder stage (Dockerfile.publish):
- Pass -DENABLE_LEAP_DEV_DEB=ON to cmake. This activates component-based
  install rules and lets cpack -G DEB produce two debs:
    * coopos_<ver>-ubuntu22.04_amd64.deb       (runtime: nodeos/cleos/...)
    * coopos-dev_<ver>-ubuntu22.04_amd64.deb   (headers, libs, cmake
      config — required to build smart contracts and run mono tests
      that depend on find_package(leap))
- Run cpack -G DEB after make install
- Apply tools/tweak-deb.sh to fix overly-strict libc deps in control
- Stage debs at /out/deb/ for the next stage to export

New 'deb' stage (FROM scratch):
- Exports only the .deb files. Used by CI to extract packages without
  pulling the full builder image.

Workflow:
- New step runs buildx with --target deb --output type=local to pull
  the .deb files onto the runner. This reuses the same GHA cache scope
  as the runtime image, so on a tag with cache-hit it adds only minutes.
- On tag pushes, .deb files are attached to the GitHub Release via
  softprops/action-gh-release@v2 (tag is created if missing).
- Always upload .deb as a workflow artifact too (30 days retention),
  so manual runs still produce downloadable packages.
- permissions: contents: write — needed to write to releases.
2026-05-01 16:53:30 +00:00
coopops d156742a38 ci(docker): cache stability — add .dockerignore + shared GHA scope
- .dockerignore excludes .cicd/, .github/, docs/, tutorials/, images/,
  README.md, CONTRIBUTING.md, LICENSE from the coopos build-context.
  Changes to CI/docs no longer invalidate the heavy COPY --from=coopos
  layer, so subsequent builds become true cache-hits.

- cache-from/to now use scope=docker-publish (instead of default per-ref
  scope). GHA cache is reused across different tags (v5.2.0, v5.2.1, …)
  and across branches, so a new tag is no longer a cold rebuild.
2026-05-01 15:26:09 +00:00
Alex Ant 17278c2dcd chore(ci): remove legacy AntelopeIO/leap workflows and infra (#2)
These workflows depended on AntelopeIO infrastructure that is not
available to coopenomics:
- self-hosted runners enf-x86-{beefy,hightier,midtier,lowtier}
  and Leap-Perf-* (build.yaml, build_base.yaml, perf workflows)
- AntelopeIO/platform-cache-workflow + .cicd/platforms images
- AntelopeIO/issue-project-labeler-workflow + ENFCIBOT secrets
  (label_new_issues.yaml)
- ENF Jira instance (jiraIssueCreator.yml)
- artifacts produced by build.yaml (release.yaml depended on them)

Removed:
- .github/workflows/build.yaml
- .github/workflows/build_base.yaml
- .github/workflows/release.yaml          (replaced by docker-publish)
- .github/workflows/pinned_build.yaml     (was a stub)
- .github/workflows/performance_harness_run.yaml
- .github/workflows/ph_backward_compatibility.yaml
- .github/workflows/jiraIssueCreator.yml
- .github/workflows/label_new_issues.yaml
- .cicd/platforms/                        (only used by removed workflows)
- .cicd/defaults.json                     (only read by build.yaml)
- tools/reproducible.Dockerfile           (only used by build.yaml)
- .github/actions/parallel-ctest-containers/

Kept and active:
- .github/workflows/docker-publish.yaml   (slim Docker Hub publish)
- .github/workflows/docs-updater.yaml     (triggers docs deploy)
- .github/workflows/submod.yaml           (cheap submodule sanity check)
- .cicd/Dockerfile.publish                (used by docker-publish)
- tools/tweak-deb.sh                      (kept for upcoming .deb packaging)

Co-authored-by: coopops <coopos@coopenomics.world>
2026-05-01 20:22:37 +05:00
coopops 716ee56446 fix(ci): mkdir -p /cdt before symlink in runtime stage
Previous commit dropped the mkdir, breaking the runtime build:
  ln: failed to create symbolic link '/cdt/build': No such file or directory
2026-05-01 13:47:02 +00:00
coopops 21a91e58b3 ci(docker): add gcc/g++/libz3-4 to runtime, symlink /cdt/build
- mono contracts CMakeLists.txt does project(coopenomics) without
  LANGUAGES, requiring host C/CXX compilers; install gcc + g++
- cdt-cpp depends on libz3.so.4 at runtime (Z3 solver in clang-9)
- CDTWasmToolchain.cmake hardcodes /cdt/build/{bin,include,lib} from
  the source build directory, replace narrow lib/cmake symlink with
  /cdt/build -> /usr/local/cdt covering all needed subpaths

Verified locally: components/contracts test contract builds to
test.wasm + test.abi inside a clean slim image.
2026-05-01 12:03:00 +00:00
Alex Ant 9ad300c68f ci: Docker Hub build & publish for dicoop/blockchain (#1)
* ci: add multi-stage Dockerfile.publish for Docker Hub image

Multi-stage Dockerfile that builds blockchain (coopos) and CDT in a
builder stage, then copies only /usr/local into a slim runtime stage.

Will be used by docker-publish workflow to publish
dicoop/blockchain:<tag> on every v* tag.

* ci: add docker-publish workflow

Triggers on v* tags and via workflow_dispatch (cdt-ref/version-tag/
push-latest inputs). Builds with .cicd/Dockerfile.publish on
ubuntu-latest with BuildKit GHA cache, pushes to Docker Hub as
dicoop/blockchain:<tag> and :latest.

---------

Co-authored-by: coopops <coopos@coopenomics.world>
2026-05-01 14:41:44 +05:00
Alex Ant 294edf3b84 каллибровка config.hpp для выхода на изначальные параметры запуска 2025-10-23 18:59:05 +05:00
Alex Ant 8fd34abdd8 change default genesis timestamp to 2024-07-01T10:00:00 2025-10-23 18:06:54 +05:00
Alex Ant a2692003d5 bump version 2025-10-15 21:50:44 +05:00
Alex Ant 20eca25f91 метод assert_recover_key_account для проверки принадлежности подписи к аккаунту на контрактах 2025-10-15 01:25:58 +05:00
Alex Ant 4b3a71cf0a update README 2025-10-10 17:44:20 +05:00
Alex Ant b04a251cdd LICENCE 2025-10-10 17:41:04 +05:00
Alex Ant 44f1a76d98 LEAP -> COOPOS rebranding 2025-10-10 17:40:42 +05:00
Alex Ant 26e43fbc85 workflow and api specification change 2025-08-27 14:26:05 +05:00
Alex Ant a6ccb8b183 rent RAM temporary 2025-08-27 13:25:55 +05:00
Areg Hayrapetian 92b6fec5e9 Merge pull request #2414 from AntelopeIO/unsupported_message
Add note to README that Leap is no longer supported
2024-11-13 11:08:48 -08:00
Areg Hayrapetian b0efd9f782 Add note to README that Leap is no longer supported. 2024-11-13 10:26:35 -08:00
Matt Witherspoon 99ee7a7aff Merge pull request #2390 from AntelopeIO/submod_token
use github provided token for git in submodule regression check
2024-04-10 12:02:17 -04:00
Dark Sun b7dd04e2eb update genesis_intrinsics 2024-04-10 18:34:37 +03:00
Dark Sun c1925d6934 update CMakeLists and Dockerfile 2024-04-10 16:30:25 +03:00
Dark Sun 873dac1e64 Dockerfile update #2 2024-04-10 16:23:13 +03:00
Dark Sun b470caa066 update Dockerfile #1 2024-04-10 16:15:36 +03:00
Dark Sun f7cc61dd31 Dockerfile 2024-04-10 16:14:00 +03:00
Matt Witherspoon 9924b77166 use github provided token for submodule check 2024-04-09 23:40:32 -04:00
Dark Sun 9c39eec6da add get_account_ram_usage method 2024-04-09 18:10:44 +03:00
Matt Witherspoon eabddaebeb Merge pull request #2382 from AntelopeIO/remove_lots_execbit
remove executable bit from a lot of files
2024-04-05 10:42:18 -04:00
Kevin Heifner 3dee3557aa Merge pull request #2377 from AntelopeIO/trace-api-no-sync
TraceAPI: Remove sync() to improve performance
2024-04-04 21:40:47 -05:00
Matt Witherspoon 7826f5044c remove executable bit from a lot of files 2024-04-04 22:32:31 -04:00
Kevin Heifner a7b948afea Remove sync() call to improve performance 2024-04-04 09:44:02 -05:00
Gregory Popovitch 5d56c4b4d6 Merge pull request #2373 from AntelopeIO/bls_update_60
[5.0 -> main] Update to latest version of BLS12 submodule with clearer conversion parameters
2024-04-03 09:05:53 -04:00
greg7mdp 3753fc7342 Merge remote-tracking branch 'origin/release/5.0' into bls_update_60 2024-04-03 08:14:25 -04:00
Gregory Popovitch ac407149b8 Merge pull request #2372 from AntelopeIO/bls_update_50
[5.0] Update to latest version of BLS12 submodule with clearer conversion parameters
2024-04-03 08:05:16 -04:00
greg7mdp 3a3fe8c050 Update to latest bls12 commit. 2024-04-02 20:39:48 -04:00
greg7mdp 6563ea9c98 Update for new version of bls library with change in to/fromBytes params. 2024-04-02 20:30:08 -04:00
Matt Witherspoon e29e3eac70 Merge pull request #2347 from AntelopeIO/asan_ci
add ASAN CI "platform"
2024-03-28 12:20:58 -04:00
Matt Witherspoon 8fe51c68ac Merge pull request #2346 from AntelopeIO/chainbase_mlock_asan_war
fix `db_modes_test` when nodeos built with ASAN
2024-03-27 22:05:49 -04:00
Matt Witherspoon 23d3315b58 bump chainbase submodule to main HEAD w/ mlock2() workaround 2024-03-27 19:57:08 -04:00
Matt Witherspoon 4729bf3aa3 add ASAN CI "platform" 2024-03-27 16:54:34 -04:00
Matt Witherspoon d76bcbace4 bump chainbase submodule with mlock2() workaround 2024-03-27 16:21:26 -04:00
Kevin Heifner cf67b13dff Merge pull request #2342 from AntelopeIO/fix-warning
Avoid unused warning
2024-03-27 15:01:10 -05:00
Kevin Heifner 0eb578e421 Avoid unused http variable by accessing it where needed. 2024-03-27 13:01:15 -05:00
Kevin Heifner 82d8961dc1 GH-2334 Avoid unused warning 2024-03-27 12:13:24 -05:00
Matt Witherspoon 4973afcbda Merge pull request #2336 from AntelopeIO/papip_stack_usage
[5.0 -> main] avoid using a stack variable after return
2024-03-25 11:20:24 -04:00
Matt Witherspoon 94e08f7d83 Merge remote-tracking branch 'origin/release/5.0' into HEAD 2024-03-22 23:24:49 -04:00
Matt Witherspoon f882aec06e Merge pull request #2309 from AntelopeIO/papip_stack_usage_50
[5.0] avoid using a stack variable after return
2024-03-22 23:24:32 -04:00
Matt Witherspoon d80b1437b6 explicit capture list 2024-03-22 22:47:33 -04:00
Matt Witherspoon 421c45af62 Merge pull request #2322 from AntelopeIO/eosvm_limit_signal_handler
make EOS VM signal handler less greedy: only handle signals from expected memory range
2024-03-22 11:48:19 -04:00
Matt Witherspoon 98940c1a3d bump eos-vm submodule to main head w/ less greedy signal handler 2024-03-22 11:03:30 -04:00
Gregory Popovitch 13b1c03c29 Merge pull request #2327 from AntelopeIO/avoid_linear_resize
Perf issue: avoid vector copy at each insertion.
2024-03-20 13:46:05 -04:00
greg7mdp 365ef4852f Update comment. 2024-03-20 07:50:10 -04:00
greg7mdp 307b47a912 Avoid vector copy at each insertion. 2024-03-20 07:40:46 -04:00
Matt Witherspoon 7ab231b761 bump eos-vm submodule to grab another <span> include 2024-03-18 21:46:42 -04:00
Gregory Popovitch 3868b80ca0 Merge pull request #2320 from AntelopeIO/incr_merkle
Replace hacky version of `calculate_max_depth` with simpler one.
2024-03-18 17:54:21 -04:00
Matt Witherspoon 45ceb2c90d bump EOS VM submodule to pick up <span> include 2024-03-18 16:59:38 -04:00
Matt Witherspoon 4f4560fac6 bump EOS VM submodule to branch w/ less greedy signal handler 2024-03-18 16:38:37 -04:00
greg7mdp c365b9c0bb Use improved version from Matt. 2024-03-18 16:06:01 -04:00
greg7mdp dce42d13eb Update comment. 2024-03-18 13:53:11 -04:00
greg7mdp cdb766b10a Use Matt's non-floating point implementation of calculate_max_depth. 2024-03-18 13:48:04 -04:00
greg7mdp 1918155b13 Replace hacky version of calculate_max_depth with simpler one. 2024-03-18 11:31:51 -04:00
Matt Witherspoon a08ec3e658 Merge pull request #2305 from AntelopeIO/gelf_localhost
[5.0 -> main] fix IPv4 vs IPv6 mismatch in `gelf_test`
2024-03-15 13:14:05 -04:00
Matt Witherspoon 484115e636 fix usage of stack variable after return 2024-03-12 23:45:14 -04:00
Matt Witherspoon 8f843ff2f0 Merge pull request #2304 from AntelopeIO/ubsan_ci
add CI "platform" running UBSAN
2024-03-12 15:53:30 -04:00
Matt Witherspoon 514269157a Merge remote-tracking branch 'origin/release/5.0' into HEAD 2024-03-12 12:49:24 -04:00
Matt Witherspoon c301152420 Merge pull request #2288 from AntelopeIO/gelf_localhost_50
[5.0] fix IPv4 vs IPv6 mismatch in `gelf_test`
2024-03-12 12:49:03 -04:00
Matt Witherspoon 07c0c8cfc5 Merge pull request #2302 from AntelopeIO/cb_environment_ub
custom `chainbase::environment` `to_variant()` to workaround invalid unaligned access
2024-03-12 12:48:41 -04:00
Matt Witherspoon 96fb8a40cc Merge pull request #2300 from AntelopeIO/net_plugin_dtor_order
fix `net_plugin_impl` destruction order: destroy thread_pool's executor after users of it
2024-03-12 12:48:30 -04:00
Matt Witherspoon 22114b42bd Merge pull request #2298 from AntelopeIO/ub_grab_bag
grab bag of small UB fixes
2024-03-12 12:48:13 -04:00
Matt Witherspoon 3bbc61d404 ubsan platform for CI 2024-03-11 21:52:57 -04:00
Matt Witherspoon 4074b15a76 specialized to_variant() for chainbase::environment's packedness 2024-03-11 21:23:03 -04:00
Matt Witherspoon b47a64c742 fix net_plugin_impl dtor order 2024-03-11 14:56:54 -04:00
Matt Witherspoon 62e95b342d bump abieos, appbase, bn256 & eos-vm to their main HEAD w/ UB fixes 2024-03-11 13:52:03 -04:00
Matt Witherspoon a0b41fca24 don't enable EOS VM OC's vm_limit when ASAN or UBSAN is enabled 2024-03-11 13:49:40 -04:00
Kevin Heifner 968a0fa0d0 Merge pull request #2295 from AntelopeIO/GH-2293-snapshot-error-main
[5.0 -> main] Better error reporting on snapshot load exceptions
2024-03-08 15:48:56 -06:00
Matt Witherspoon f2111dbef3 avoid pointer arithmetic overflow 2024-03-08 16:33:38 -05:00
Matt Witherspoon c241ae5257 guard against calling memcpy() with NULL src 2024-03-08 16:33:08 -05:00
Kevin Heifner 270fb70435 Merge remote-tracking branch 'origin/release/5.0' into GH-2293-snapshot-error-main 2024-03-08 10:27:38 -06:00
Kevin Heifner b4dc3b6d07 Merge pull request #2294 from AntelopeIO/GH-2293-snapshot-error
[5.0] Better error reporting on snapshot load exceptions
2024-03-08 10:27:02 -06:00
Kevin Heifner 5d270fd649 GH-2293 Use FC_LOG_AND_RETHROW to provide better error reporting. 2024-03-08 07:40:30 -06:00
Matt Witherspoon aef4329efa use 127.0.0.1 for gelf_test's logging.json endpoint 2024-03-06 15:53:29 -05:00
Matt Witherspoon 7382d88d49 Merge pull request #2279 from AntelopeIO/assert_ci
add a CI "platform" with `assert()`s enabled (`NDEBUG` not defined)
2024-03-05 17:53:19 +00:00
Matt Witherspoon 301d7cb1f3 add a CI platform with assert()s enabled (NDEBUG not defined) 2024-03-04 22:59:12 -05:00
Matt Witherspoon 006583a068 Merge pull request #2276 from AntelopeIO/set_new_handler_war_llvm
don't do `set_new_handler()` workaround for LLVM 9+ where it's unnecessary
2024-03-03 03:12:21 +00:00
Matt Witherspoon bbc092a11c don't do set_new_handler() workaround for LLVM 9+ 2024-03-02 17:12:29 -05:00
Matt Witherspoon 35c8563d74 Merge pull request #2262 from AntelopeIO/libsecp256k1-v041
upgrade libsecp256k1 to 0.4.1
2024-02-26 21:51:09 +00:00
Matt Witherspoon 05eca9f48e update libsecp256k1 to 0.4.1 2024-02-26 15:53:16 -05:00
Eric Passmore 6d188675ac Merge pull request #2254 from AntelopeIO/ehp/main-gh-2250-bump-version
[5.0 -> MAIN] Bump Versions to fix binary to variant issue
2024-02-20 19:26:09 -08:00
Eric Passmore 0b886180cc Merge remote-tracking branch 'origin/release/5.0' into ehp/main-gh-2250-bump-version 2024-02-20 17:47:54 -08:00
Eric Passmore 7cd03d6c12 Merge pull request #2253 from AntelopeIO/ehp/5.0-gh-2250-bump-version
[4.0 -> 5.0] Bump release to fix binary to variant issue
2024-02-20 17:46:41 -08:00
Eric Passmore fba54da277 Merge remote-tracking branch 'origin/release/4.0' into ehp/5.0-gh-2250-bump-version 2024-02-20 16:36:04 -08:00
Eric Passmore 01dab51ac0 Merge pull request #2252 from AntelopeIO/ehp/4.0-gh-2250-bump-version
[3.2 -> 4.0] Bump release to fix binary to variant issue
2024-02-20 16:31:30 -08:00
Eric Passmore 2821e912ce Merge remote-tracking branch 'origin/release/3.2' into ehp/4.0-gh-2250-bump-version 2024-02-20 15:56:15 -08:00
Eric Passmore a7a50a8986 Merge pull request #2251 from AntelopeIO/ehp/gh-2250-bump-version
[3.2] Bump version for binary to variant bug fix
2024-02-20 15:54:49 -08:00
Eric Passmore 0a03bae037 merge bump version changes from 3.2 4.0 and 5.0 2024-02-20 14:38:48 -08:00
Eric Passmore d6b573b4c3 bump version for binary to variant bug fix 2024-02-20 14:34:20 -08:00
Eric Passmore b132dd7224 bump version for binary to variant bug fix 2024-02-20 14:32:16 -08:00
Eric Passmore 76306f8f3b bump version for binary to variant bug fix 2024-02-20 14:25:35 -08:00
Kevin Heifner cc8a4d2087 Merge pull request #2249 from AntelopeIO/GH-2228-return-value-main
[5.0 -> main] TraceAPI: Correctly convert return value via ABI
2024-02-20 15:26:16 -06:00
Kevin Heifner 998135e3e9 Merge remote-tracking branch 'origin/release/5.0' into GH-2228-return-value-main 2024-02-20 14:32:14 -06:00
Kevin Heifner 0590e024d9 Merge pull request #2248 from AntelopeIO/GH-2228-return-value-5.0-merge
[4.0 -> 5.0] TraceAPI: Correctly convert return value via ABI
2024-02-20 14:29:25 -06:00
Kevin Heifner 0a74525b3e GH-2228 Fix merge issue 2024-02-20 13:48:36 -06:00
Kevin Heifner 20281737ee Merge remote-tracking branch 'origin/release/4.0' into GH-2228-return-value-5.0-merge 2024-02-20 13:48:00 -06:00
Kevin Heifner 3864468206 Merge pull request #2247 from AntelopeIO/GH-2228-return-value-4.0
[3.2 -> 4.0] TraceAPI: Correctly convert return value via ABI
2024-02-20 13:46:32 -06:00
Kevin Heifner 3c957c1bb5 Merge remote-tracking branch 'origin/release/3.2' into GH-2228-return-value-4.0 2024-02-20 13:09:27 -06:00
Kevin Heifner 9fbdda0b5b Merge pull request #2246 from AntelopeIO/GH-2228-return-value-3.2
[3.2] TraceAPI: Correctly convert return value via ABI
2024-02-20 13:08:40 -06:00
Kevin Heifner 5e34f3e78a Fix merge 2024-02-20 11:56:50 -06:00
Kevin Heifner 2a10c5d0db GH-2228 Correctly handle action return value conversion by ABI 2024-02-20 11:48:04 -06:00
Gregory Popovitch 910fe0583c Merge pull request #2238 from AntelopeIO/gh_2232
Remove broken `large-lib-test.py`
2024-02-15 18:33:43 -05:00
greg7mdp ac88b89a23 Remove broken large-lib-test.py 2024-02-15 17:56:24 -05:00
Matt Witherspoon 5f5462d91b Merge pull request #2231 from AntelopeIO/http_ut_ports
[5.0 -> main] improve reliability of `http_plugin_unit_tests` via port workaround
2024-02-09 17:04:18 +00:00
Matt Witherspoon c37b99e6ed Merge remote-tracking branch 'origin/release/5.0' into HEAD 2024-02-08 23:23:02 -05:00
Matt Witherspoon cafe5a31ad Merge pull request #2229 from AntelopeIO/http_ut_ports_50
[5.0] improve reliability of `http_plugin_unit_tests` via port workaround
2024-02-09 00:09:57 +00:00
Matt Witherspoon a89b860338 use discrete ports for each test case to workaround defect 2024-02-08 13:48:40 -05:00
Eric Passmore cf7a961219 Merge pull request #2227 from AntelopeIO/ehp/gh-2225-sync-version-bump
[5.0->Main] Sync Version Bump while Preserving Existing Version
2024-02-08 08:51:03 -08:00
Eric Passmore 7b1764f9f5 merge and reset version in one pr 2024-02-08 08:04:56 -08:00
Eric Passmore 21a3017d75 Merge pull request #2226 from AntelopeIO/ehp/gh-2225-version-bump
[5.0] Bump Leap Version to 5.0.1
2024-02-08 08:01:02 -08:00
Eric Passmore 39c8b2b85b bump to 5.0.1 2024-02-08 06:55:06 -08:00
Kevin Heifner 02da2839ea Merge pull request #2220 from AntelopeIO/GH-2215-lib-sync-main
P2P: Reset syncing on unlinkable blocks
2024-02-07 09:21:36 -06:00
Kevin Heifner 9b38e96e76 GH-2215 Add needed shape file for test 2024-02-07 08:04:19 -06:00
Kevin Heifner 8f8242749d GH-2215 Remove --activate-if for main 2024-02-07 07:26:33 -06:00
Kevin Heifner 1ec3662f16 GH-2215 Start after lib 2024-02-06 20:19:18 -06:00
Kevin Heifner cc75dbcca0 GH-2215 Reset syncing on unlinkable blocks 2024-02-06 20:19:03 -06:00
Matt Witherspoon e6e7ecd062 Merge pull request #2219 from AntelopeIO/nptests
[5.0 -> main] move some tests that open localhost sockets to NP tests
2024-02-06 16:40:02 +00:00
Matt Witherspoon d0a449e5cc Merge remote-tracking branch 'origin/release/5.0' into HEAD 2024-02-06 10:48:47 -05:00
Matt Witherspoon f67a842573 Merge pull request #2214 from AntelopeIO/nptests_50
[5.0] move some tests that open localhost sockets to NP tests
2024-02-06 15:20:11 +00:00
Matt Witherspoon bcc6b04d16 Merge pull request #2212 from AntelopeIO/http_max_in_flight_tests_main
[5.0 -> main] add tests for http's `max-*-in-flight` configs
2024-02-06 04:14:06 +00:00
Matt Witherspoon 6e063a612a move some tests that open localhost sockets to NP tests 2024-02-05 23:11:31 -05:00
Matt Witherspoon 3f51727da3 Merge remote-tracking branch 'origin/release/5.0' into HEAD 2024-02-05 21:35:31 -05:00
Matt Witherspoon e417a836f8 Merge pull request #2207 from AntelopeIO/http_max_in_flight_tests
[5.0] add tests for http's `max-*-in-flight` configs
2024-02-06 02:31:48 +00:00
Matt Witherspoon d77bcd560f improve test reliablity 2024-02-05 19:02:21 -05:00
Matt Witherspoon 29f90ffda9 Merge pull request #2211 from AntelopeIO/max-requests_fix
[5.0 -> main] fix crash/UB when exceeding `http-max-requests-in-flight`
2024-02-05 23:51:23 +00:00
Matt Witherspoon bb07d0b149 Merge remote-tracking branch 'origin/release/5.0' into HEAD 2024-02-05 18:11:17 -05:00
Matt Witherspoon 0d8325af88 don't require keep alive for non-200 responses 2024-02-05 18:10:58 -05:00
Matt Witherspoon 861519da54 Merge remote-tracking branch 'origin/release/5.0' into HEAD 2024-02-05 18:02:44 -05:00
Matt Witherspoon 6e3c378fb0 Merge pull request #2209 from AntelopeIO/max-requests_fix_50
[5.0] fix crash/UB when exceeding `http-max-requests-in-flight`
2024-02-05 22:20:59 +00:00
Matt Witherspoon 37cf729947 Merge pull request #2210 from AntelopeIO/http_max_429to503_main
[5.0 -> main] change HTTP code on exceeding `http-max-bytes-in-flight-mb` or `http-max-in-flight-requests` to 503
2024-02-05 22:18:46 +00:00
Matt Witherspoon 345bd73658 Merge remote-tracking branch 'origin/release/5.0' into HEAD 2024-02-05 16:34:56 -05:00
Matt Witherspoon 874b80ea2d fix crash/UB when exceeding max-requests-in-flight 2024-02-05 15:39:44 -05:00
Matt Witherspoon 3394e0be5c Merge pull request #2206 from AntelopeIO/http_max_429to503_50
[4.0 -> 5.0] change HTTP code on exceeding `http-max-bytes-in-flight-mb` or `http-max-in-flight-requests` to 503
2024-02-05 19:21:54 +00:00
Matt Witherspoon c61d7cb96f Merge pull request #2204 from AntelopeIO/rot_defaults_help
[5.0 -> main] make `read-only-threads` defaults clearer in help text
2024-02-05 18:40:28 +00:00
Matt Witherspoon b8441f2caf some tests for max-*-in-flight 2024-02-05 13:33:06 -05:00
Kevin Heifner bb536e9d36 always update max_bytes_in_flight in http_response_handler 2024-02-05 12:37:17 -05:00
Matt Witherspoon c101747e49 Merge pull request #2203 from AntelopeIO/cb_bigpriv_testfix_main
[5.0 -> main] bump chainbase submodule to main head w/ fix for large mapped private tests
2024-02-05 16:33:44 +00:00
Matt Witherspoon ba04659f7c Merge remote-tracking branch 'origin/release/4.0' into HEAD 2024-02-05 10:25:32 -05:00
Matt Witherspoon 5984addb58 Merge pull request #2205 from AntelopeIO/http_max_429to503_40
[3.2 -> 4.0] change HTTP code on exceeding`http-max-bytes-in-flight-mb` or `http-max-in-flight-requests` to 503
2024-02-05 15:23:35 +00:00
Matt Witherspoon 8a0388ff16 Merge remote-tracking branch 'origin/release/3.2' into HEAD 2024-02-05 10:06:33 -05:00
Matt Witherspoon 5b0eba2892 Merge pull request #2199 from AntelopeIO/http_max_429to503_32
[3.2] change HTTP code on exceeding `http-max-bytes-in-flight-mb` or `http-max-in-flight-requests` to 503
2024-02-05 15:02:35 +00:00
Matt Witherspoon 66f2f2739f Merge remote-tracking branch 'origin/release/5.0' into HEAD 2024-02-05 10:00:54 -05:00
Matt Witherspoon e7df935612 Merge pull request #2200 from AntelopeIO/rot_defaults_help_50
[5.0] make `read-only-threads` defaults clearer in help text
2024-02-05 15:00:13 +00:00
Matt Witherspoon 30628626bc Merge remote-tracking branch 'origin/release/5.0' into HEAD 2024-02-05 09:58:26 -05:00
Matt Witherspoon df9ee99497 Merge pull request #2198 from AntelopeIO/cb_bigpriv_testfix
[5.0] bump chainbase submodule to leap-5.0 head w/ fix for large mapped private tests
2024-02-05 14:57:54 +00:00
Matt Witherspoon 67c1f3259b make read-only-threads defaults clearer in help text 2024-02-04 23:27:24 -05:00
Matt Witherspoon a82f152658 change max inflight bytes/requests from 429 to 503 2024-02-04 22:54:03 -05:00
Matt Witherspoon dbbc631f07 bump chainbase submodule to leap-5.0 head w/ test fix 2024-02-04 22:45:19 -05:00
Kevin Heifner 6fb3fe67d2 Merge pull request #2192 from AntelopeIO/GH-2165-cluster-shutdown
Tests: Explicit shutdown since atexit not called on error
2024-02-03 12:34:28 -06:00
Kevin Heifner de910b95be GH-2165 Explicit shutdown since atexit not called on error 2024-02-02 10:01:42 -06:00
Matt Witherspoon a131719637 Merge pull request #2183 from AntelopeIO/large_row_tests
additional tests for state history plugin and snapshots
2024-02-02 00:59:28 +00:00
Matt Witherspoon 161cb28dc0 tests for ship & snapshots with jumbo rows 2024-02-01 16:29:30 -05:00
Kevin Heifner 3f8e6453bc Merge pull request #2178 from AntelopeIO/snapshot-rename-info-main
[5.0 -> main] Report snapshot rename location on failure
2024-02-01 08:28:03 -06:00
Kevin Heifner 1a79773ffd Merge remote-tracking branch 'origin/release/5.0' into snapshot-rename-info-main 2024-01-31 18:40:56 -06:00
Kevin Heifner cfface3e00 Merge pull request #2177 from AntelopeIO/snapshot-rename-info
[5.0] Report snapshot rename location on failure
2024-01-31 18:40:34 -06:00
Kevin Heifner c52b7d8172 Add additional info to assert message to inform user of file that can't be renamed. 2024-01-31 17:38:23 -06:00
Matt Witherspoon efac04cebf Merge pull request #2170 from AntelopeIO/oc_blocking_socket
[5.0 -> main] always set OC's sandbox socket to blocking mode fixing random OC errors seen in CI & maybe elsewhere
2024-01-31 04:15:48 +00:00
Matt Witherspoon 0fe460297c Merge remote-tracking branch 'origin/release/5.0' into HEAD 2024-01-30 22:30:34 -05:00
Matt Witherspoon b010e7ecf7 Merge pull request #2163 from AntelopeIO/oc_blocking_socket_50
[5.0] always set OC's sandbox socket to blocking mode fixing random OC errors seen in CI & maybe elsewhere
2024-01-31 03:17:11 +00:00
Matt Witherspoon f8e685d442 always set socket to blocking mode before read_message_with_fds's recvmsg() 2024-01-29 21:18:41 -05:00
Kevin Heifner e5d45ce9ed Merge pull request #2157 from AntelopeIO/GH-2104-find-chain_api_plugin-main
[5.0 -> main] More robust `chain_api_plugin` check in `producer_plugin`; take 2
2024-01-29 14:40:14 -06:00
Kevin Heifner 91fcc5ee47 Merge remote-tracking branch 'origin/release/5.0' into GH-2104-find-chain_api_plugin-main 2024-01-29 13:55:36 -06:00
Kevin Heifner 2be655882a Merge pull request #2152 from AntelopeIO/GH-2104-find-chain_api_plugin-5.0
[5.0] More robust `chain_api_plugin` check in `producer_plugin`; take 2
2024-01-29 13:55:11 -06:00
Areg Hayrapetian 556e93c69d Merge pull request #2155 from AntelopeIO/cb_undo_index_test_fix
[5.0 -> main] bump chainbase submodule to main head with undo_index test fix
2024-01-29 11:06:04 -08:00
Areg Hayrapetian 92967bb2d9 Merge pull request #2151 from AntelopeIO/report-read-only-error-main
[5.0 -> main] Report read-only API not enabled to caller
2024-01-29 11:05:55 -08:00
Matt Witherspoon eb529b98af Merge remote-tracking branch 'origin/release/5.0' into HEAD 2024-01-29 12:21:10 -05:00
Kevin Heifner d9c1647b95 Merge branch 'release/5.0' into GH-2104-find-chain_api_plugin-5.0 2024-01-29 10:58:07 -06:00
Matt Witherspoon 502ccac36d Merge pull request #2153 from AntelopeIO/cb_undo_index_test_fix_50
[5.0] bump chainbase submodule to leap5 head with undo_index test fix
2024-01-29 16:55:03 +00:00
Matt Witherspoon 107aa53ff3 bump chainbase to leap5 head w/ undo_index test fix 2024-01-29 11:08:27 -05:00
Kevin Heifner 7a5076319b GH-2104 Search options instead of querying appbase as initialization order is not guaranteed 2024-01-29 07:28:27 -06:00
Kevin Heifner 3539b718e4 Merge remote-tracking branch 'origin/release/5.0' into report-read-only-error-main 2024-01-29 07:09:50 -06:00
Kevin Heifner ffb2ec1334 Merge pull request #2148 from AntelopeIO/report-read-only-error-5.0
[5.0] Report read-only API not enabled to caller
2024-01-29 07:08:10 -06:00
Kevin Heifner 1a6e19bac6 Report error to next 2024-01-27 10:42:50 -06:00
Kevin Heifner 008500ea8b Report the response body which contains error details. 2024-01-27 10:40:20 -06:00
Kevin Heifner c723c2d0b7 Report error before callback in case callback throws 2024-01-27 10:39:47 -06:00
Kevin Heifner fbae89664f Add missing } 2024-01-27 10:38:49 -06:00
Matt Witherspoon 6282a08af3 Merge pull request #2140 from AntelopeIO/uav4
upgrade to `actions/upload-artifact@v4`
2024-01-25 20:51:47 +00:00
Matt Witherspoon e0c41e259f migrate to actions/upload-artifact@v4 2024-01-25 13:56:35 -05:00
Kevin Heifner 3491a2da21 Merge pull request #2138 from AntelopeIO/net-lib-catchup-main
[5.0 -> main] Also need to switch to lib_catchup if in head_catchup when starting to sync
2024-01-25 10:55:14 -06:00
Kevin Heifner eda7e1c7eb Merge remote-tracking branch 'origin/release/5.0' into net-lib-catchup-main 2024-01-25 07:00:23 -06:00
Kevin Heifner 3ca55ec48c Merge pull request #2133 from AntelopeIO/net-lib-catchup
[5.0] Also need to switch to lib_catchup if in head_catchup when starting to sync
2024-01-25 06:59:29 -06:00
Matt Witherspoon e6952a6bbe Merge pull request #2134 from AntelopeIO/reset_dirty_mapped_private
[5.0 -> main] clear the DB dirty bit if `pinnable_mapped_file` fails to fully start
2024-01-24 21:33:23 +00:00
Matt Witherspoon e96f49517d Merge remote-tracking branch 'origin/release/5.0' into HEAD 2024-01-24 15:39:42 -05:00
Matt Witherspoon 2c006cd349 Merge pull request #2132 from AntelopeIO/reset_dirty_mapped_private_50
[5.0] clear the DB dirty bit if `pinnable_mapped_file` fails to fully start
2024-01-24 20:38:58 +00:00
Kevin Heifner 5a46157f94 Also need to switch to lib_catchup if in head_catchup; not just when in_sync. 2024-01-24 12:54:14 -06:00
Matt Witherspoon fd14eb7484 bump chainbase submodule to leap5 head w/ mapped_private dirty bit fix 2024-01-24 13:43:58 -05:00
Matt Witherspoon cf09e01336 Merge pull request #2117 from AntelopeIO/no_except_missing_perm
improve `authority_checker`'s performance: don't use exceptions as flow control for non-existing permissions
2024-01-23 18:49:53 +00:00
Matt Witherspoon 7ab4d4c10c no longer need the forward here 2024-01-22 11:39:40 -05:00
Matt Witherspoon 8a9fa7689a Merge pull request #2115 from AntelopeIO/chain_api_plugin_check
[5.0 -> main] more robust `chain_api_plugin` check in `producer_plugin`
2024-01-20 01:05:49 +00:00
Matt Witherspoon af57b8e835 don't use exceptions to indicate a missing permission in auth checker 2024-01-19 18:38:37 -05:00
Matt Witherspoon 89592865d1 Merge pull request #2114 from AntelopeIO/memfd_cleanups
minor cleanups to `memfd_create()`
2024-01-19 23:20:45 +00:00
Matt Witherspoon eee73128e5 Merge remote-tracking branch 'origin/release/5.0' into HEAD 2024-01-19 18:18:01 -05:00
Matt Witherspoon b0ce27edd7 Merge pull request #2106 from AntelopeIO/chain_api_plugin_check_50
[5.0] more robust `chain_api_plugin` check in `producer_plugin`
2024-01-19 23:17:47 +00:00
Matt Witherspoon bb8400db4d don't assume chain_api_plugin is linked 2024-01-18 16:37:57 -05:00
Matt Witherspoon 576984b093 different approach to detecting if chain_api_plugin enabled 2024-01-18 12:16:04 -05:00
Matt Witherspoon 4531e9751a Merge pull request #2099 from AntelopeIO/cb_warn_fix
bump chainbase submodule to pick up warning fixes
2024-01-18 00:04:49 +00:00
Matt Witherspoon 04cd956e6c bump chainbase submodule to main head w/ warning fixes 2024-01-17 14:18:27 -05:00
Matt Witherspoon 8d99a7fa03 Merge pull request #2064 from AntelopeIO/fix_eosvmoc_subtests
[5.0 -> main] fix disabling EOS VM OC subjective limits in tests
2024-01-17 17:44:43 +00:00
Matt Witherspoon 4985686909 MFD_NOEXEC_SEAL memfd 2024-01-16 22:45:14 -05:00
Matt Witherspoon 07f105e6bb use glibc's memfd_create() 2024-01-16 21:59:19 -05:00
Matt Witherspoon eae6f23517 Merge pull request #2088 from AntelopeIO/http_plugin_state_life
[5.0 -> main] extend life of `http_plugin_state` to ensure no invalid memory accesses during nodeos shutdown
2024-01-16 19:17:38 +00:00
Matt Witherspoon f7d7d2ff18 Merge pull request #2089 from AntelopeIO/cb_sm_end_addr
bump chainbase submodule to fix globally registered segment manager end address
2024-01-16 18:00:48 +00:00
Matt Witherspoon 77b3990c66 bump chainbase submodule to main head w/ segment manager end fix 2024-01-16 10:42:09 -05:00
Matt Witherspoon a95464957c Merge remote-tracking branch 'origin/release/5.0' into HEAD 2024-01-16 10:41:06 -05:00
Matt Witherspoon 76c3b635ea Merge pull request #2042 from AntelopeIO/http_plugin_state_life_50
[5.0] extend life of `http_plugin_state` to ensure no invalid memory accesses during nodeos shutdown
2024-01-16 15:36:41 +00:00
Matt Witherspoon 89fb0163b8 avoid a copy on a shared_ptr in the ctor initializer list 2024-01-12 17:45:04 -05:00
Matt Witherspoon 21f0873551 Merge pull request #2063 from AntelopeIO/chainbase_bump_iterator
avoid invalid iterator dereference in chainbase's `get_allocator()`
2024-01-10 15:38:13 +00:00
Matt Witherspoon 066d6ab555 Merge remote-tracking branch 'origin/release/5.0' into HEAD 2024-01-09 22:33:23 -05:00
Matt Witherspoon cff0c4f0cd bump chainbase submod to head w/ iterator fix 2024-01-09 22:30:41 -05:00
Matt Witherspoon 4bfb636bc4 Merge pull request #2055 from AntelopeIO/fix_eosvmoc_subtests_50
[5.0] fix disabling EOS VM OC subjective limits in tests
2024-01-08 22:13:04 +00:00
Matt Witherspoon 1b8d31a598 fix disabling EOS VM OC subjective limits in tests 2024-01-08 14:55:55 -05:00
Matt Witherspoon ecbcf94bf7 Merge pull request #2053 from AntelopeIO/bls12-381_warn_bump
bump bls12-381 submodule to fix some signedness warnings
2024-01-08 18:18:24 +00:00
Matt Witherspoon cb13027695 bump bls12-381 submodule to head w/ warning fix 2024-01-08 11:35:53 -05:00
Matt Witherspoon 5fcf5b4954 hold a shared_ptr reference to http_plugin_state in beast_http_session 2024-01-04 22:50:34 -05:00
Kevin Heifner 9696543409 Merge pull request #2040 from AntelopeIO/GH-2021-snapshot-ram-fix
[5.0 -> main] P2P: Pause net_plugin during snapshot write
2024-01-04 13:55:26 -06:00
Matt Witherspoon 8182092d61 Merge pull request #2039 from AntelopeIO/prom_handler_fix
[5.0 -> main] only register prometheus handlers when `prometheus_plugin` enabled; fixing memory leak
2024-01-04 19:43:47 +00:00
Kevin Heifner a6249b5ef3 Merge remote-tracking branch 'origin/release/5.0' into GH-2021-snapshot-ram-fix 2024-01-04 13:01:05 -06:00
Kevin Heifner 04774eb772 Merge pull request #2029 from AntelopeIO/GH-2021-snapshot-ram-5.0
[5.0] P2P: Pause net_plugin during snapshot write
2024-01-04 12:58:58 -06:00
Matt Witherspoon 832e02ed61 Merge remote-tracking branch 'origin/release/5.0' into HEAD 2024-01-04 13:56:50 -05:00
Matt Witherspoon 31f7bc45a4 Merge pull request #2038 from AntelopeIO/prom_handler_fix_50
[5.0] only register prometheus handlers when `prometheus_plugin` enabled; fixing memory leak
2024-01-04 18:54:58 +00:00
Matt Witherspoon 3cbf05f0ae only run the stats timer when metrics are enabled 2024-01-03 22:41:16 -05:00
Matt Witherspoon f5acb9eb86 tweak syntax for clang 2024-01-03 22:38:48 -05:00
Matt Witherspoon 26737308e0 only register prometheus handlers when prometheus plugin enabled 2024-01-03 21:08:41 -05:00
Eric Passmore feede8c0ee Merge pull request #2037 from AntelopeIO/ehp/release-5-stable-commit-hist
[5.0 -> main] 5.0.0 stable version bump
2024-01-03 16:26:40 -08:00
Eric Passmore f8f5d50a3d add leap 5 stable version bump commit 2024-01-03 15:37:00 -08:00
Eric Passmore e2fda3bac4 Merge pull request #2036 from AntelopeIO/ehp/release-5-stable-version-bump
[5.0] Version to Bump 5.0.0 stable
2024-01-03 15:32:18 -08:00
Eric Passmore 8059ea9c7e comment out suffix 2024-01-03 14:51:34 -08:00
Matt Witherspoon 1ad5f1a228 Merge pull request #2031 from AntelopeIO/remove_perrow_tellp
[5.0 -> main] remove per-row `tellp()` during snapshot creation boosting performance
2024-01-03 20:38:33 +00:00
Kevin Heifner 8fe4f3c6c5 GH-2021 Add const 2024-01-03 13:48:28 -06:00
Matt Witherspoon 2ab702eaad Merge remote-tracking branch 'origin/release/5.0' into HEAD 2024-01-03 14:47:30 -05:00
Kevin Heifner c4ed79a859 GH-2021 Simplify pause implementation. 2024-01-03 13:37:55 -06:00
Kevin Heifner 6d5248659b GH-2021 Pause net_plugin during snapshot write 2024-01-03 11:22:02 -06:00
Matt Witherspoon 91dea834da Merge pull request #2026 from AntelopeIO/remove_perrow_tellp_5x
[5.0] remove per-row `tellp()` during snapshot creation boosting performance
2024-01-02 21:51:04 +00:00
Matt Witherspoon 53130ef96f remove per-row tellp() 2024-01-02 12:06:48 -05:00
Matt Witherspoon 86aaf516cf Merge pull request #2018 from AntelopeIO/use_ref_contracts
switch to using reference-contracts in libtester tests
2023-12-22 15:12:21 +00:00
Matt Witherspoon 46c575e9f7 Merge pull request #2017 from AntelopeIO/cb_alloc_delete_free_fix
[5.0 -> main] (chainbase) use free() -- not delete -- for aligned_alloc() pointer
2023-12-22 02:44:32 +00:00
Matt Witherspoon 3fdc35407f switch to using reference-contracts in libtester tests 2023-12-21 20:38:25 -05:00
Matt Witherspoon 638d4343de Merge remote-tracking branch 'origin/release/5.0' into HEAD 2023-12-21 20:18:22 -05:00
Matt Witherspoon 574f430c59 Merge pull request #1978 from AntelopeIO/cb_alloc_delete_free_fix_5x
[5.0] (chainbase) use `free()` -- not `delete` -- for `aligned_alloc()` pointer
2023-12-22 01:17:13 +00:00
Kevin Heifner 1f118d3558 Merge pull request #2014 from AntelopeIO/GH-2006-test-no-block-log-sync-main
[5.0 -> main] Test: Check for unlinkable blocks while syncing
2023-12-21 09:48:01 -06:00
Kevin Heifner c8920c39ea Merge remote-tracking branch 'origin/release/5.0' into GH-2006-test-no-block-log-sync-main 2023-12-21 08:36:43 -06:00
Kevin Heifner debef7f383 Merge pull request #2015 from AntelopeIO/GH-2006-fix-test-5.0
[5.0] Test: Check for unlinkable blocks while syncing - 2
2023-12-21 08:30:45 -06:00
Kevin Heifner fddc8ede7c GH-2006 Search for more precise error and provide a bit more tolerance 2023-12-20 21:41:23 -06:00
Kevin Heifner 54633f0326 Merge remote-tracking branch 'origin/release/5.0' into GH-2006-test-no-block-log-sync-main 2023-12-20 17:07:57 -06:00
Kevin Heifner 4becdd5d9f Merge pull request #2008 from AntelopeIO/GH-2006-test-no-block-log-sync
[5.0] Test: Check for unlinkable blocks while syncing
2023-12-20 17:07:45 -06:00
Kevin Heifner 952aedf977 Merge pull request #2009 from AntelopeIO/GH-2006-unlinkable-blocks-main
[5.0 -> main] Fix unlinkable block exceptions when block-log-retain-blocks = 0
2023-12-20 10:48:34 -06:00
Kevin Heifner 0fb49ec83a Merge remote-tracking branch 'origin/release/5.0' into GH-2006-unlinkable-blocks-main 2023-12-20 09:32:38 -06:00
Kevin Heifner 0941a882d0 Merge branch 'release/5.0' into GH-2006-test-no-block-log-sync 2023-12-20 08:37:52 -06:00
Kevin Heifner 89e2db14d0 Merge pull request #2007 from AntelopeIO/GH-2006-unlinkable-blocks-5.0
[5.0] Fix unlinkable block exceptions when block-log-retain-blocks = 0
2023-12-20 08:37:38 -06:00
Kevin Heifner 65392710e3 GH-2006 Check for unlinkable blocks while syncing 2023-12-20 07:54:36 -06:00
Kevin Heifner 028bd49756 Merge pull request #2002 from AntelopeIO/trx-generator-core-main
[5.0 -> main] Test: Fix trx_generator handling of connection lost
2023-12-19 21:29:38 -06:00
Kevin Heifner 468aad6132 GH-2006 Do not attempt to apply blocks <= LIB 2023-12-19 20:43:34 -06:00
Lin Huang 992415297c Merge pull request #1996 from AntelopeIO/clean_up_controller_signalling
Clean up controller signals to improve
2023-12-19 12:10:48 -05:00
Lin Huang 4938640911 remove unnecessary static_cast<signed_block_header> 2023-12-19 11:31:33 -05:00
Lin Huang 5a7714a4e4 remove more unneeded block_num parameter 2023-12-19 10:45:19 -05:00
Lin Huang f777c8f0cb hanlde potential null signed block in send_update 2023-12-19 09:08:29 -05:00
Kevin Heifner a469b69637 Merge pull request #2000 from AntelopeIO/trx-generator-core-5.0
[5.0] Test: Fix trx_generator handling of connection lost
2023-12-19 07:34:39 -06:00
Kevin Heifner af1cd34ff2 Merge remote-tracking branch 'origin/release/5.0' into trx-generator-core-main 2023-12-19 07:34:39 -06:00
Kevin Heifner 9658bd19e7 Merge pull request #2001 from AntelopeIO/tutorial-bls2-main
[5.0 -> main] Add BLS_PRIMITIVES2 to bios-boot-tutorial.py
2023-12-19 07:22:05 -06:00
Matt Witherspoon 4cf19e5aa1 Merge pull request #1999 from AntelopeIO/libtester_tests_u22only
only run libtester tests on ubuntu22
2023-12-19 03:10:34 +00:00
Lin Huang 6f186ceeb4 remove block_num as paramter in more places 2023-12-18 21:06:03 -05:00
Lin Huang f8a82b086a change on_irreversible_block to use block as parameter only 2023-12-18 20:20:56 -05:00
Kevin Heifner 091bd34468 Merge pull request #1986 from AntelopeIO/tutorial-bls2-5.0
[5.0] Add BLS_PRIMITIVES2 to bios-boot-tutorial.py
2023-12-18 19:00:30 -06:00
Lin Huang c0ee17320c change commit_block related functions to use signed_block_ptr as parameter only 2023-12-18 17:56:48 -05:00
Matt Witherspoon 734b569c7c only run libtester tests on ubuntu22 2023-12-18 16:42:49 -05:00
Lin Huang 8a2fc752b0 use const block_signal_params& 2023-12-18 16:39:45 -05:00
Lin Huang 22ca26954d remove leftover code for accepted_transaction signal 2023-12-18 13:44:36 -05:00
Lin Huang 7c4ca8a5df do not emit signed_block_header and block_num; use a single block_signal_params type 2023-12-18 13:34:46 -05:00
Kevin Heifner 4223dd057b Merge pull request #1995 from AntelopeIO/update-bls-main
[5.0 -> main] Update to bls12-381 with `fp::operator==()`
2023-12-18 06:56:43 -06:00
Lin Huang 7a018f6a51 update comments 2023-12-17 16:01:17 -05:00
Lin Huang 22cec2c3bf restore commented out first_block->verify_signee in forked_tests 2023-12-17 14:41:40 -05:00
Lin Huang 0799e673ab remove signed_block_header from irreversible_block signal 2023-12-17 14:23:06 -05:00
Lin Huang 93499d7d77 refine accepted_block_header signal 2023-12-17 14:00:56 -05:00
Lin Huang 87e3906c8a use structured binding for applied_transaction_connection 2023-12-17 13:14:07 -05:00
Lin Huang 28dccf939a remove unneeded block_state_legacy.hpp includes 2023-12-17 11:30:52 -05:00
Lin Huang e7a87172a9 change irreversible_block to signal only required information 2023-12-17 09:57:16 -05:00
Kevin Heifner 7fc5a73248 Merge remote-tracking branch 'origin/release/5.0' into tutorial-bls2-main 2023-12-17 04:36:50 -06:00
Kevin Heifner d874bdaf4b Add an on_except so named_thread_pool does not terminate 2023-12-17 04:27:43 -06:00
Kevin Heifner fd6ac6462b Merge pull request #1994 from AntelopeIO/update-bls-5.0
[5.0] Update to bls12-381 with `fp::operator==()`
2023-12-16 21:13:23 -06:00
Kevin Heifner c05efc1f53 Merge remote-tracking branch 'origin/release/5.0' into update-bls-main 2023-12-16 21:13:23 -06:00
Lin Huang 360f3ba90e make accepted_blocks signal information only needed 2023-12-16 21:43:27 -05:00
Kevin Heifner 443a7b31cf Update to bls12-381 with fp::operator== 2023-12-16 08:24:01 -06:00
Kevin Heifner 846a418b04 Merge pull request #1988 from AntelopeIO/extra-logging-main
[5.0 -> main] Extra info level logging
2023-12-14 11:44:33 -06:00
Kevin Heifner 513b3fbeca Merge remote-tracking branch 'origin/release/5.0' into extra-logging-main 2023-12-14 10:39:37 -06:00
Kevin Heifner 85d9b727d3 Merge pull request #1984 from AntelopeIO/extra-logging-5.0
[5.0] Extra info level logging
2023-12-14 10:39:31 -06:00
Lin Huang 32448e2b3e remove unused pre_accepted_block, bad_alloc, and accepted_transaction signals; remove previously commented signals 2023-12-13 22:25:36 -05:00
Lin Huang d59dfb151b change accepted_block_header signal from block_state_legacy_ptr to std::tuple<signed_block_ptr, block_id_type, account_name> 2023-12-13 21:32:12 -05:00
Matt Witherspoon 4624f25132 bump chainbase submod to leap-5.0 HEAD w/ alloc/delete/free fix 2023-12-13 15:30:10 -05:00
Kevin Heifner 61a1c14e2c Add BLS_PRIMITIVES2 to bios-boot-tutorial.py 2023-12-13 13:19:00 -06:00
Matt Witherspoon 13351089f4 Merge pull request #1977 from AntelopeIO/lower_org_release_yaml_main
[5.0 -> main] fix `experimental-binaries` creation on releases: lowercase org name in image tag
2023-12-13 16:37:09 +00:00
Kevin Heifner b94338b991 Add removed and applied block ids to successfully switched fork log message. 2023-12-12 08:58:24 -06:00
Kevin Heifner a6327c59b0 Add this block id to pushing result log entry. 2023-12-12 08:57:51 -06:00
Lin Huang e797f9dec0 Merge pull request #1983 from AntelopeIO/renaming_pending_block_header_state
Rename pending_block_header_state to pending_block_header_state_legacy
2023-12-12 09:47:17 -05:00
Lin Huang 423c1d20e0 rename pending_block_header_state to pending_block_header_state_legacy 2023-12-12 08:29:31 -05:00
Matt Witherspoon 3c6c13a45e bump chainbase submod to alloc/delete/free fix 2023-12-11 13:27:25 -05:00
Matt Witherspoon b4bbc9c68e Merge pull request #1976 from AntelopeIO/abieos_submod_bump
bump abieos submodule
2023-12-11 18:07:32 +00:00
Matt Witherspoon 815f898519 Merge remote-tracking branch 'origin/release/5.0' into HEAD 2023-12-11 12:10:28 -05:00
Matt Witherspoon b3e5c6ba24 Merge pull request #1972 from AntelopeIO/lower_org_release_yaml_50
[5.0] fix `experimental-binaries` creation on releases: lowercase org name in image tag
2023-12-11 17:10:12 +00:00
Matt Witherspoon f2fb76a254 bump abieos submodule to HEAD 2023-12-11 12:02:51 -05:00
Matt Witherspoon c6668598be Merge pull request #1971 from AntelopeIO/new_webauthn_tests
add some addtional webauthn tests
2023-12-08 15:09:56 +00:00
Matt Witherspoon cf5f31345f lowercase org for experimental-binaries tag in release workflow 2023-12-07 23:06:37 -05:00
Matt Witherspoon 3a5b6b4b20 add some addtional webauthn tests 2023-12-07 14:27:26 -05:00
Matt Witherspoon b418cfd617 Merge pull request #1969 from AntelopeIO/mergeup_dec2023_version_bumps
[5.0 -> main] merge up 3.2.5/4.0.5/5.0.0rc3 version bumps
2023-12-07 18:21:21 +00:00
Matt Witherspoon 4759a7fb47 Merge pull request #1968 from AntelopeIO/dec2023_security_main
[5.0 -> main] consolidated security fixes from 3.2.5/4.0.5/5.0.0rc3 to main
2023-12-07 18:21:16 +00:00
Matt Witherspoon a2d7c8c0c9 Merge remote-tracking branch 'origin/release/5.0' into HEAD 2023-12-07 12:01:45 -05:00
Matt Witherspoon f649f68a06 Merge pull request #1967 from AntelopeIO/bump_500rc3
[5.0] bump version to 5.0.0-rc3
2023-12-07 17:01:18 +00:00
Matt Witherspoon c083fcb271 Merge remote-tracking branch 'origin/release/5.0' into HEAD 2023-12-07 11:58:42 -05:00
Matt Witherspoon 52523d6811 Merge pull request #1966 from AntelopeIO/dec2023_security_50
[4.0 -> 5.0] consolidated security fixes for 5.0.0-rc3
2023-12-07 16:53:03 +00:00
Matt Witherspoon 3c2e3c987b Merge pull request #1963 from AntelopeIO/stub_pinned_workflow
add a stub `pinned_build.yaml` on main so the pinned build can be performed in CI for 3.x/4.0
2023-12-07 16:13:45 +00:00
Matt Witherspoon 7247c58843 Merge commit '6f872d9' into HEAD; bump version to 5.0.0-rc3 2023-12-07 11:11:54 -05:00
Matt Witherspoon 3a61aa469d Merge commit '82ad13a' into HEAD 2023-12-07 11:10:01 -05:00
Matt Witherspoon 6f872d97fc Merge pull request #1965 from AntelopeIO/bump_405
[4.0] bump version to 4.0.5
2023-12-07 16:08:31 +00:00
Matt Witherspoon 82ad13aa31 Merge pull request #1964 from AntelopeIO/dec2023_security_4x
[3.2 -> 4.0] consolidated security fixes for 4.0.5
2023-12-07 16:08:23 +00:00
Matt Witherspoon 0ba3395e86 Merge commit '7eaec71' into HEAD; bump version to 4.0.5 2023-12-07 10:43:17 -05:00
Matt Witherspoon 1ee94df9aa Merge commit '1af6e38' into HEAD 2023-12-07 10:40:14 -05:00
Matt Witherspoon 7eaec71fc5 Merge pull request #1962 from AntelopeIO/bump_325
[3.2] bump version to 3.2.5
2023-12-07 15:37:15 +00:00
Matt Witherspoon 1af6e38b00 Merge pull request #1961 from AntelopeIO/dec2023_security_3x
[3.2] consolidated security fixes for 3.2.5
2023-12-07 15:37:00 +00:00
Matt Witherspoon 34c9b72496 stub pinned_build.yaml 2023-12-07 10:32:20 -05:00
Matt Witherspoon 5489e8ece4 bump version to 3.2.5 2023-12-07 10:09:42 -05:00
Matt Witherspoon bb726bfde3 security updates 2023-12-07 10:08:20 -05:00
Lin Huang 85c9c922ef Merge pull request #1951 from AntelopeIO/rename_block_state
Rename block_header_state and block_state to block_header_state_legacy and block_state_legacy in preparation for Instant Fininality
2023-12-06 13:56:25 -05:00
Lin Huang 9e4e7b440e Merge branch 'main' into rename_block_state 2023-12-06 13:15:51 -05:00
Kevin Heifner 7f5ea575ea Merge pull request #1956 from AntelopeIO/GH-1953-bls-n0-main
[5.0 -> main] Return error for num == 0 for bls_g1_weighted_sum, bls_g2_weighted_sum and bls_pairing
2023-12-06 12:14:48 -06:00
Kevin Heifner 78c92dfb68 Merge remote-tracking branch 'origin/release/5.0' into GH-1953-bls-n0-main 2023-12-06 11:21:53 -06:00
Kevin Heifner 1a029ea162 Merge pull request #1954 from AntelopeIO/GH-1953-bls-n0-5.0
[5.0] Return error for num == 0 for bls_g1_weighted_sum, bls_g2_weighted_sum and bls_pairing
2023-12-06 11:21:25 -06:00
Kevin Heifner c10e7c0c72 GH-1953 Update test for n==0 is an error 2023-12-06 08:31:15 -06:00
Kevin Heifner 06d8564273 GH-1953 return failure when n==0 2023-12-06 07:25:07 -06:00
Lin Huang 1a889b6b48 fix indentation 2023-12-05 20:41:36 -05:00
Lin Huang 8747278434 update snapshot reading section and writing section 2023-12-05 16:42:09 -05:00
Lin Huang 14287b0ca1 rename block_state to block_state_legacy and block_header_state to block_header_state_legacy 2023-12-05 16:35:37 -05:00
Kevin Heifner fb47a3289a Merge pull request #1949 from AntelopeIO/bls-update
[5.0 -> main] Update bls12-381 lib with affine non-montgomery public key proof of possession
2023-12-05 11:20:45 -06:00
Kevin Heifner a12289bf2f Merge remote-tracking branch 'origin/release/5.0' into bls-update 2023-12-05 09:56:12 -06:00
Kevin Heifner 1ec73cfa96 Merge pull request #1948 from AntelopeIO/bls-update-5.0
[5.0] Update bls12-381 lib with affine non-montgomery public key proof of possession
2023-12-05 09:55:26 -06:00
Kevin Heifner 2d1f43b349 Update bls12-381 lib to main with affine non-montgomery public key proof of possession 2023-12-05 09:16:55 -06:00
Lin Huang abb0e0d9b3 rename block_header_state.{hpp,cpp} to block_header_state_legacy.{hpp, cpp} and rename block_state.{hpp,cpp} to block_state_legacy.{hpp,cpp} 2023-12-04 21:59:19 -05:00
Kevin Heifner 291b6dfda4 Merge pull request #1939 from AntelopeIO/bls12-381-update-main
[5.0 -> main] Adapt to changes in bls12-381 lib and add tests
2023-11-30 15:43:59 -06:00
Kevin Heifner 9c8f8c67e9 Merge remote-tracking branch 'origin/release/5.0' into bls12-381-update-main 2023-11-30 14:10:48 -06:00
Kevin Heifner 3d45167400 Merge pull request #1938 from AntelopeIO/GH-1701-docs
[5.0] Update BLS host function doxygen comments
2023-11-30 14:09:24 -06:00
Matt Witherspoon 3389ca00f1 Merge pull request #1041 from AntelopeIO/docs/ToC_for_readme
Table of Contents proposal
2023-11-30 19:20:50 +00:00
Matt Witherspoon f69ebb8567 Merge pull request #898 from AntelopeIO/autocomplete_readme
add some hints on how to use bash-complete in README
2023-11-30 19:20:29 +00:00
Kevin Heifner c315531eaf Merge remote-tracking branch 'origin/release/5.0' into bls12-381-update-main 2023-11-30 10:06:48 -06:00
Kevin Heifner c584cdb649 Merge pull request #1882 from AntelopeIO/yarkin/update_bls
[5.0] Adapt to changes in bls12-381 lib and add tests
2023-11-30 10:03:53 -06:00
Kevin Heifner 67c801774a Update to main 2023-11-30 10:01:01 -06:00
Kevin Heifner cd9015ad6f Update bls12-381 with warnings fix 2023-11-30 07:53:04 -06:00
Kevin Heifner da4f0c32ec GH-1701 Be explicit about affine and little-endian 2023-11-30 07:52:23 -06:00
greg7mdp 804e415ea0 Update bls12 submodule to tip of main branch. 2023-11-29 18:55:20 -05:00
greg7mdp 87738aaeec remove (multi-exponentiation) from comments. 2023-11-29 18:53:15 -05:00
yarkin 3c5c56671a Merge branch 'release/5.0' into yarkin/update_bls 2023-11-30 07:24:12 +08:00
yarkin 11640bf143 Update to latest bls lib. 2023-11-30 01:52:24 +08:00
yarkin 1269951979 Update feature manager, fix deep-mind.log accordinglly. 2023-11-30 01:51:46 +08:00
Gregory Popovitch 1879cbf429 Merge pull request #1925 from AntelopeIO/abi_serializer_perf_fix_main
[5.0 -> main] Fix two small performance issues in abi_serializer.
2023-11-21 17:31:50 -05:00
greg7mdp ab49ad38a8 Merge branch 'release/5.0' of github.com:AntelopeIO/leap into abi_serializer_perf_fix_main 2023-11-21 16:54:53 -05:00
Gregory Popovitch f77423b749 Merge pull request #1922 from AntelopeIO/abi_serializer_perf_fix
[5.0] Fix two small performance issues in abi_serializer.
2023-11-21 16:52:51 -05:00
yarkin cb4ceaa530 Update feature signature. 2023-11-21 21:15:30 +08:00
greg7mdp b67c2f007b Fix two small performance issues in abi_serializer. 2023-11-21 07:39:19 -05:00
Gregory Popovitch c5ac2d60aa Merge pull request #1917 from AntelopeIO/pack_fix
Fix a couple perf issues in `fc::raw::pack` and add tuple support.
2023-11-17 15:04:59 -05:00
greg7mdp 9c6f10d447 Add test for variadic pack/unpack 2023-11-17 13:33:10 -05:00
greg7mdp 1203afb9cc Add variadic unpack. 2023-11-17 13:25:04 -05:00
greg7mdp 1580c474cc Add unpack for tuple, add test, and fix pack for tuple. 2023-11-17 13:19:06 -05:00
greg7mdp 5e14ca7d83 Fix a couple perf issues in fc::raw::pack and add tuple support. 2023-11-17 12:07:38 -05:00
Lin Huang 1abf709aa5 Merge pull request #1915 from AntelopeIO/merge_setcode_fix_to_main
[5.0 -> main] Fix non-working cleos set code and set abi commands, and add tests
2023-11-17 09:16:11 -05:00
Lin Huang 81e73407b5 Merge remote-tracking branch 'origin/release/5.0' into merge_setcode_fix_to_main 2023-11-17 08:29:29 -05:00
Lin Huang 1dba643148 Merge pull request #1909 from AntelopeIO/merge_setcode_fix_to_5_0
[4.0 -> 5.0] Fix non-working cleos set code and set abi commands, and add tests
2023-11-17 08:15:27 -05:00
Lin Huang 490fdf790c use cluster.eosioAccount.ownerPublicKey instead of hardcoded key 2023-11-16 19:16:12 -05:00
Lin Huang cc9bba8894 Merge pull request #1904 from AntelopeIO/more_bls_benchmark
BLS: add benchmarking for Affine form host functions
2023-11-16 19:09:52 -05:00
Lin Huang f46ff2f4d3 move set code and set abi tests to nodeos_run_test.py 2023-11-16 17:36:23 -05:00
Lin Huang 6a9a8b1d24 use std::array instead of std::vector to simply conversion to eosio::chain::span 2023-11-16 10:38:13 -05:00
Lin Huang c39e930491 remove _mont* functions 2023-11-16 09:59:34 -05:00
Lin Huang 65b54ab2ee resolve merge conflicts 2023-11-16 09:29:43 -05:00
Lin Huang 36eafc73c7 Merge remote-tracking branch 'origin/yarkin/update_bls' into more_bls_benchmark 2023-11-16 09:28:18 -05:00
yarkin d9e59b8d62 Delete unused benchmark. 2023-11-16 13:38:27 +08:00
yarkin e1f67e9374 Update comments. 2023-11-16 13:34:15 +08:00
yarkin dfb05c5abc Remove _mont functions. 2023-11-16 11:15:52 +08:00
Lin Huang 84bd6c0d71 add tests for set code and set abi 2023-11-15 19:19:15 -05:00
Lin Huang b1313a6514 fix merge conflicts 2023-11-15 19:09:17 -05:00
Lin Huang 6dd962c985 merge cleos set code and set abi fix from release/4.0 to release/5.0 2023-11-15 15:56:56 -05:00
Kevin Heifner 40cc421f18 Merge pull request #1908 from AntelopeIO/net-cleanup-main
[5.0 -> main] Test: net_plugin test cleanup
2023-11-15 12:41:52 -06:00
Lin Huang f280d5ee16 add const& to std::string parameters in all _impl methods 2023-11-15 13:29:19 -05:00
Lin Huang 8819030169 fix weighted sum montgomery form flag 2023-11-15 12:12:03 -05:00
Kevin Heifner f8001a2081 Merge remote-tracking branch 'origin/release/5.0' into net-cleanup-main 2023-11-15 10:57:07 -06:00
Kevin Heifner c7e7b9fb28 Merge pull request #1905 from AntelopeIO/net-cleanup-5.0
[5.0] Test: net_plugin test cleanup
2023-11-15 10:56:33 -06:00
Kevin Heifner a997831652 Merge pull request #1907 from AntelopeIO/GH-1743-add-context-to-contract-exceptions-main
[5.0 -> main] Add context to contract exceptions
2023-11-15 10:56:19 -06:00
Kevin Heifner 228bfb90dc Merge remote-tracking branch 'origin/release/5.0' into GH-1743-add-context-to-contract-exceptions-main 2023-11-15 10:00:10 -06:00
Kevin Heifner 9239502552 Merge pull request #1903 from YaroShkvorets/GH-1743-add-context-to-contract-exceptions
[5.0] Add context to contract exceptions
2023-11-15 09:59:31 -06:00
Kevin Heifner 5695958f68 Merge pull request #1906 from AntelopeIO/rm-mandel-main
[5.0 -> main] Change remaining references of mandel to leap
2023-11-15 09:58:37 -06:00
Kevin Heifner 2b7162a6c6 test => tests 2023-11-15 09:35:18 -06:00
Kevin Heifner 4dfa599b1f Merge remote-tracking branch 'origin/release/5.0' into rm-mandel-main 2023-11-15 09:17:21 -06:00
Kevin Heifner 5af9e14a16 Merge pull request #1901 from AntelopeIO/rm-mandel-5.0
[5.0] Change remaining references of mandel to leap
2023-11-15 09:16:47 -06:00
Kevin Heifner 0c6c2b5a96 net_plugin test cleanup 2023-11-15 09:13:49 -06:00
Gregory Popovitch 537c642edb Merge pull request #1851 from AntelopeIO/gh_1652
Remove per-instance allocator and empty allocations from chainbase containers. Add `cow` vector.
2023-11-15 07:53:01 -05:00
yarkin 4255d62daa Add more test case and update submodule (only contains test updates). 2023-11-15 16:34:39 +08:00
yarkin 9d35e5a328 Add tests for fp_mod, fp_exp, fp_mul 2023-11-15 15:36:27 +08:00
Lin Huang 2a85796cd9 add benchmarking for Montgomery form host functions 2023-11-14 20:43:51 -05:00
greg7mdp 02d7546b49 Merge branch 'main' of github.com:AntelopeIO/leap into gh_1652 2023-11-14 16:54:40 -05:00
YaroShkvorets 95c4b03e38 Add context to contract exceptions
ref https://github.com/AntelopeIO/leap/issues/1743
2023-11-14 16:50:52 -05:00
Kevin Heifner 5d665bb2fe Merge pull request #1898 from AntelopeIO/GH-1461-base64-main
[5.0 -> main] Benchmark BLS host functions, Do not require trailing = for base64 encoded strings
2023-11-14 15:30:32 -06:00
Kevin Heifner 7b9e7bae40 Change remaining references of mandel to leap 2023-11-14 15:07:32 -06:00
greg7mdp f96f3cfe58 Change std::string_view constructor for c++17 compatibility. 2023-11-14 14:34:51 -05:00
greg7mdp 417fc05528 Fix compilation issue. 2023-11-14 12:59:27 -05:00
greg7mdp c5dfef611c Merge branch 'main' of github.com:AntelopeIO/leap into gh_1652 2023-11-14 12:59:07 -05:00
greg7mdp 94f38e817c Operators << and >> on stream are enough to serialize shared_* classes. 2023-11-14 12:15:05 -05:00
Lin Huang 9109365f96 Merge pull request #1900 from AntelopeIO/merge_set_code_abi_fix_to_4_0
[3.2 -> 4.0] Fix non-working cleos set code and set abi commands
2023-11-14 11:22:35 -05:00
Lin Huang ce89c5619f resolve merge conflicts in programs/cleos/main.cpp 2023-11-14 10:45:35 -05:00
Lin Huang b4753f7ead Merge pull request #1897 from AntelopeIO/fix_set_code_set_abi_3_2
[3.2] Fix non-working cleos set code and set abi commands
2023-11-14 10:09:42 -05:00
yarkin 4e40590d66 Fix benchmark 2023-11-14 22:14:41 +08:00
yarkin fa5f81e731 Merge branch 'release/5.0' into yarkin/update_bls 2023-11-14 21:44:23 +08:00
Kevin Heifner 1b8e184718 Merge remote-tracking branch 'origin/release/5.0' into GH-1461-base64-main 2023-11-14 07:30:50 -06:00
Kevin Heifner f1919a0570 Merge pull request #1894 from AntelopeIO/GH-1461-base64-5.0
[4.0 -> 5.0] Do not require trailing = for base64 encoded strings
2023-11-14 07:30:05 -06:00
Lin Huang b65ffd554c simplify checking the existence of contract direcetory 2023-11-14 08:06:00 -05:00
greg7mdp 3ff0b4e506 Update chainbase to tip of main branch 2023-11-14 07:55:53 -05:00
yarkin 49d17e30bd Update to use affine form instead of jacobian form for data
serialization.
2023-11-14 15:55:17 +08:00
Areg Hayrapetian 65cc325b42 Merge pull request #1884 from AntelopeIO/bls_host_funcs_benchmark
[5.0] Benchmark BLS host functions
2023-11-13 19:44:10 -08:00
Gregory Popovitch ea18a6da43 Merge pull request #1896 from AntelopeIO/gh_1878_main
[5.0 -> main] Add dynamic check for pagemap support
2023-11-13 20:46:14 -05:00
Lin Huang 3560d26adc fix non-working cleos set code and set abi commands 2023-11-13 19:45:30 -05:00
greg7mdp ada88195d4 Merge branch 'release/5.0' of github.com:AntelopeIO/leap into gh_1878_main 2023-11-13 18:30:22 -05:00
Kevin Heifner f4b7ace8f7 Merge pull request #1893 from AntelopeIO/GH-1461-base64-pad-main
[5.0 -> main] Fix base64 encoding - take 2
2023-11-13 17:29:26 -06:00
Kevin Heifner b40b13f80b GH-1461 Simplify tests 2023-11-13 16:54:41 -06:00
Gregory Popovitch 228eb6ae1e Merge pull request #1895 from AntelopeIO/gh_1878
[5.0] Add dynamic check for pagemap support
2023-11-13 17:48:51 -05:00
greg7mdp dc55e309cf Merge branch 'release/5.0' of github.com:AntelopeIO/leap into gh_1878 2023-11-13 17:04:50 -05:00
greg7mdp f7c449f23f Update chainbase to tip of main branch 2023-11-13 16:53:51 -05:00
greg7mdp 6e50f2dd22 Add dynamic check for pagemap support 2023-11-13 16:50:22 -05:00
Kevin Heifner 92ba6d413c Merge remote-tracking branch 'origin/release/4.0' into GH-1461-base64-5.0 2023-11-13 15:43:02 -06:00
Kevin Heifner e41fbb7db9 Merge pull request #1892 from AntelopeIO/GH-1461-base64-4.0
[3.2 -> 4.0] Do not require trailing `=` for base64 encoded strings
2023-11-13 15:41:36 -06:00
Kevin Heifner 9c7ca30e39 Merge remote-tracking branch 'origin/release/5.0' into GH-1461-base64-pad-main 2023-11-13 15:36:05 -06:00
greg7mdp 474d9f8bd7 Merge branch 'main' of github.com:AntelopeIO/leap into gh_1652 2023-11-13 16:35:52 -05:00
Kevin Heifner 87e4db24a3 Merge pull request #1888 from AntelopeIO/GH-1461-base64-pad-5.0
[5.0] Fix base64 encoding - take 2
2023-11-13 15:35:27 -06:00
Kevin Heifner 680780d4eb Merge pull request #1891 from AntelopeIO/GH-1883-base64-rm-main
[5.0 -> main] Revert "Fix base64 encoding"
2023-11-13 15:34:32 -06:00
Kevin Heifner 78181c41f5 Merge remote-tracking branch 'origin/release/3.2' into GH-1461-base64-4.0 2023-11-13 12:32:34 -06:00
Kevin Heifner 8a9d8410b2 Merge pull request #1889 from AntelopeIO/GH-1461-base64-3.2
[3.2] Do not require trailing `=` for base64 encoded strings
2023-11-13 12:32:15 -06:00
Kevin Heifner 72101c4bf1 Merge remote-tracking branch 'origin/release/5.0' into GH-1883-base64-rm-main 2023-11-13 12:29:03 -06:00
Kevin Heifner de71459d18 Merge pull request #1886 from AntelopeIO/GH-1883-base64-rm-5.0
[5.0] Revert "Fix base64 encoding"
2023-11-13 12:28:26 -06:00
Kevin Heifner 3ccf0235e5 GH-1461 Removed unneeded explicit type 2023-11-13 12:19:30 -06:00
Kevin Heifner 88e175919b Merge pull request #1890 from AntelopeIO/GH-1878-mapped_private_test-main
[5.0 -> main] Add additional tests for mapped_private
2023-11-13 10:55:47 -06:00
Kevin Heifner 8793e5e4ab Merge remote-tracking branch 'origin/release/5.0' into GH-1878-mapped_private_test-main 2023-11-13 09:08:43 -06:00
Kevin Heifner b8b20cc470 Merge pull request #1887 from AntelopeIO/GH-1878-mapped_private_test-5.0
[5.0] Add additional tests for mapped_private
2023-11-13 09:07:50 -06:00
Kevin Heifner bce1b0b19d GH-1461 Do not require trailing = for base64 encoded strings to support non-fc valid base64 encodings 2023-11-13 08:34:28 -06:00
Kevin Heifner 7b43a4a46e GH-1461 Optimize base64_decode for our use cases
- Use string_view and return vector<char> instead of string
2023-11-13 08:14:23 -06:00
Kevin Heifner 00b2f993f3 GH-1461 Remove addition of invalid = character 2023-11-13 08:13:36 -06:00
Kevin Heifner 09e7fc2bd5 GH-1461 Make WalletMgr honor --leave-running & --keep-logs 2023-11-13 08:11:54 -06:00
yarkin 9c42d4248e Fix comile. 2023-11-13 20:34:44 +08:00
yarkin 77f2be49a7 Merge branch 'release/5.0' into yarkin/update_bls 2023-11-13 17:09:46 +08:00
yarkin 35f375c9b0 Update unit tests. 2023-11-13 17:07:34 +08:00
Lin Huang f0ae9293f5 Merge branch 'release/5.0' into bls_host_funcs_benchmark 2023-11-10 13:42:02 -05:00
yarkin d8dc3603c7 Add bls_fp_mod and bls_fp_exp 2023-11-11 00:20:28 +08:00
yarkin fa5989107f Refactor bls_gx calls. 2023-11-10 23:30:05 +08:00
Kevin Heifner b0c12963b2 Revert "GH-1461 Do not add or expect = at end of base64 encoded strings."
This reverts commit 5c2f5077f5.
2023-11-10 07:14:54 -06:00
Kevin Heifner 0ad72734d5 Revert "GH-1461 Update base64 from upstream"
This reverts commit 0842972b1e.
2023-11-10 06:49:01 -06:00
greg7mdp 41063083b7 Merge branch 'main' of github.com:AntelopeIO/leap into gh_1652 2023-11-09 20:18:00 -05:00
Lin Huang a96d6dea49 improve and add more comments 2023-11-09 18:19:27 -05:00
greg7mdp 224e6b1bbe Update chainbase branch to tip. 2023-11-09 17:56:56 -05:00
Lin Huang f54724fb29 revert benchmarked function specific limit of number of runs changes, as they are not needed 2023-11-09 17:22:08 -05:00
Lin Huang a53e6fc929 set max block and transaction cpu to 999'999'999 such that expensive functions will never reach deadline 2023-11-09 16:58:23 -05:00
Lin Huang ec1e594c7c remove little used control as a member of interface_in_benchmark, use chain->control.get() directly instead 2023-11-09 16:43:36 -05:00
Lin Huang 4b65a4f14f use a single eosio::benchmark for BLS while still being a friend of eosio::chain::transaction_context 2023-11-09 16:22:19 -05:00
Gregory Popovitch 581cd2b605 Merge pull request #1885 from AntelopeIO/gh_1875_main
[5.0 -> main] Fix chainbase issue when shrinking the database size.
2023-11-09 14:14:32 -05:00
Lin Huang 181d242590 print number of runs right aligned since now the numbers can be different between benchmarked functions 2023-11-09 14:08:04 -05:00
greg7mdp f8e8ce2fd5 Merge branch 'release/5.0' of github.com:AntelopeIO/leap into gh_1875_main 2023-11-09 13:26:55 -05:00
Gregory Popovitch d516466ce6 Merge pull request #1877 from AntelopeIO/gh_1875_5.0
[5.0] Fix chainbase issue when shrinking the database size.
2023-11-09 13:05:11 -05:00
Lin Huang 63b90eb908 benchmark bls_g1_map, bls_g2_map, and bls_fp_mod 2023-11-09 12:38:58 -05:00
Lin Huang b2e214dc3b benchmark bls_pairing, bls_g1_exp, bls_g2_exp 2023-11-09 12:24:22 -05:00
Lin Huang 6f3b7debda support benchmarked function specific limit of number of runs 2023-11-09 11:34:13 -05:00
Lin Huang be7dcc0866 benchmark bls_g1_add, bls_g2_add, bls_g1_mul, bls_g2_mul 2023-11-09 10:47:06 -05:00
Lin Huang c2951f3747 plumbing a webassembly::interface object for benchmarking BLS host functions directly 2023-11-09 10:21:51 -05:00
greg7mdp e776e792d4 Update chainbase to tip. 2023-11-09 08:50:45 -05:00
yarkin 3d188c7b53 Merge branch 'release/5.0' into yarkin/update_bls 2023-11-09 15:34:29 +08:00
yarkin eea0ea3110 Refactor some interfaces, compiling, not tested yet. 2023-11-09 15:28:27 +08:00
yarkin 71a9319438 Make code compile with refactored bls12-381. 2023-11-09 11:14:30 +08:00
Kevin Heifner a6c4f9bc57 Merge pull request #1880 from AntelopeIO/GH-1871-prometheus-main
[5.0 -> main] Prometheus: Ensure valid unique_conn_node_id
2023-11-08 16:09:51 -06:00
Kevin Heifner a9cad71e0b Merge remote-tracking branch 'origin/release/5.0' into GH-1871-prometheus-main 2023-11-08 14:52:44 -06:00
Kevin Heifner 88eb2fec06 Merge pull request #1879 from AntelopeIO/GH-1871-prometheus-5.0
[5.0] Prometheus: Ensure valid unique_conn_node_id
2023-11-08 14:52:12 -06:00
Kevin Heifner ccf7356a4a GH-1878 Update test condition now that id can't be empty 2023-11-08 13:42:28 -06:00
Kevin Heifner 781c361285 GH-1878 Add test cases for mapped_private 2023-11-08 12:30:38 -06:00
Kevin Heifner 11df1245ae GH-1871 Make sure a unique_conn_node_id is always provided to prometheus 2023-11-08 12:13:47 -06:00
greg7mdp 96fc5334dd Update chainbase submodule to tip of main branch (including chainbase #29) 2023-11-08 10:38:33 -05:00
greg7mdp f98dcce373 [5.0] Fix chainbase issue when shrinking the database size. 2023-11-08 08:50:16 -05:00
greg7mdp 5b8ea89c40 Merge branch 'main' of github.com:AntelopeIO/leap into gh_1652 2023-11-08 08:39:59 -05:00
greg7mdp 8b87b612fe Better support of pack/unpack size limits. Specialize pack/unpack for shared_vector<char> 2023-11-07 18:28:52 -05:00
Lin Huang 299f80a1f4 Merge pull request #1874 from AntelopeIO/disable_oc_subj_limits_main
[5.0 -> main] Disable EOS VM OC's subjective compilation limits in unit tests
2023-11-07 18:13:59 -05:00
Lin Huang 47aab38365 Merge remote-tracking branch 'origin/release/5.0' into disable_oc_subj_limits_main 2023-11-07 17:25:47 -05:00
Lin Huang 42034e3b39 Merge pull request #1843 from AntelopeIO/disable_oc_subj_limits_5_0
[5.0] Disable EOS VM OC's subjective compilation limits in unit tests
2023-11-07 17:13:29 -05:00
greg7mdp 4b011f3aa0 Better check for MAX_SIZE_OF_BYTE_ARRAYS. 2023-11-07 16:51:03 -05:00
Lin Huang 56328b1144 Merge branch 'release/5.0' into disable_oc_subj_limits_5_0 2023-11-07 16:18:08 -05:00
greg7mdp c97084e626 Replace clear_and_construct with emplace_back. 2023-11-07 16:12:30 -05:00
greg7mdp aeb64c31a9 Move test_chainbase_types.cpp from chain_plugin/test -> unittests 2023-11-07 16:02:22 -05:00
Lin Huang 9f94a40f23 remove unused FC_REFLECT for rlimit 2023-11-07 15:59:44 -05:00
greg7mdp 9c61082fc5 use fc::temp_directory and simplify test. 2023-11-07 14:57:06 -05:00
greg7mdp c8c909560e Move serialization function for shared types to database_utils.hpp. 2023-11-07 14:21:38 -05:00
greg7mdp 66165e758f Remove unused shared_set type. 2023-11-07 14:15:58 -05:00
Lin Huang 1b0cebae0a use tester's default_config, use std::optional for limits. remove hard/soft cpu and vm limits 2023-11-07 13:59:13 -05:00
Kevin Heifner 30eebb68d0 Merge pull request #1873 from AntelopeIO/GH-1858-test-main
[5.0 -> main] PH: Improve error handling and use one strand
2023-11-07 11:28:05 -06:00
Kevin Heifner 3e174cb632 Merge remote-tracking branch 'origin/release/5.0' into GH-1858-test-main 2023-11-07 10:04:45 -06:00
Kevin Heifner 3e3d4d461d Merge pull request #1866 from AntelopeIO/GH-1858-test-5.0
[5.0] PH: Improve error handling and use one strand
2023-11-07 10:04:09 -06:00
Matt Witherspoon 4824d8bb93 Merge pull request #1869 from AntelopeIO/fix_release_yaml
[5.0 -> main] fix release workflow's artifact download to `wait-for-exact-target` not `wait-for-exact-target-workflow`
2023-11-07 09:27:14 -05:00
Matt Witherspoon 7ec7c3aaa1 Merge remote-tracking branch 'origin/release/5.0' into HEAD 2023-11-07 08:31:09 -05:00
Matt Witherspoon 7da8f9d824 Merge pull request #1867 from AntelopeIO/fix_release_yaml_5x
[5.0] fix release workflow's artifact download to `wait-for-exact-target` not `wait-for-exact-target-workflow`
2023-11-07 08:30:35 -05:00
Kevin Heifner 161265052b Merge pull request #1859 from AntelopeIO/GH-1690-performance
Remove thread hop to producer thread for trx signature recovery
2023-11-07 07:03:42 -06:00
Matt Witherspoon 6c671fd54d wait-for-exact-target not wait-for-exact-target-workflow 2023-11-06 16:42:26 -05:00
Kevin Heifner eecd4c5dfb GH-1858 Use one strand 2023-11-06 11:53:37 -06:00
Kevin Heifner 5bb7313ae3 GH-1858 Add better error handling 2023-11-06 11:53:11 -06:00
Kevin Heifner c5bb9417fb Merge remote-tracking branch 'origin/main' into GH-1690-performance 2023-11-06 10:20:47 -06:00
Kevin Heifner 8d428ebfd5 GH-1690 Cleanup to be more readable 2023-11-06 10:19:30 -06:00
Kevin Heifner 3bbc463068 Merge pull request #1864 from AntelopeIO/GH-1690-performance-main
[5.0 -> main] Recover keys in chain thread pool
2023-11-06 09:03:30 -06:00
Kevin Heifner acf9e9588d GH-1690 Remove this-> syntax 2023-11-06 08:01:22 -06:00
Kevin Heifner 3a1edf1d5b Merge remote-tracking branch 'origin/release/5.0' into GH-1690-performance-main 2023-11-06 07:51:24 -06:00
Kevin Heifner 836ca1aa4b Merge pull request #1846 from AntelopeIO/GH-1690-performance-5.0
[5.0] Recover keys in chain thread pool
2023-11-06 07:50:53 -06:00
greg7mdp a43dc59ecc Update chainbase to branch tip, and minor cleanup in types.hpp 2023-11-03 17:55:52 -04:00
greg7mdp 4c9f1056dd Cleanup new test program. 2023-11-03 17:32:53 -04:00
greg7mdp d540bb2b61 Add new test for pack/unpack of shared objects.
Test also verifies that the objects use the expected allocator.
2023-11-03 16:44:55 -04:00
greg7mdp 539b4cf5be Fix mistake in shared_vector unpack identified with new test. 2023-11-03 16:43:48 -04:00
greg7mdp e7d62af98c Support rename data() -> mutable_data(). 2023-11-03 08:08:07 -04:00
greg7mdp 8726c0e62e Fix unpack(shared_vector) which was using wrong API.
Need to write a test for this.
2023-11-03 07:53:20 -04:00
greg7mdp b3e11ac6b8 Merge branch 'main' of github.com:AntelopeIO/leap into gh_1652 2023-11-03 07:52:46 -04:00
greg7mdp 1eeab6f3cc Add assignment operators to some shared classes to avoid copies. 2023-11-02 19:17:19 -04:00
greg7mdp 873c7811e7 Remove unnecessary explicit qualifier on default constructor. 2023-11-02 18:46:12 -04:00
greg7mdp 4cccbb6e43 Add assignment operator so we don't construct and copy the shared_blob. 2023-11-02 18:24:38 -04:00
greg7mdp 5b87bc5660 Fix issue with commit b1e4029 (was constructing wrong object)
That's why we would be better off if we could use c++20's std::construct_at.
2023-11-02 18:12:27 -04:00
greg7mdp d5123bc14f Make default constructors explicit. 2023-11-02 17:38:50 -04:00
greg7mdp b1e4029510 Make shared_blob(std::string_view s) constructor explicit. 2023-11-02 16:54:51 -04:00
greg7mdp e36862e9da Fix stream operator<<() and >>() for shared_string/vector 2023-11-02 16:35:56 -04:00
Kevin Heifner 32256ab5f4 GH-1690 Fix GCC compiler error 2023-11-02 15:16:44 -05:00
Kevin Heifner 3096b0056e GH-1690 Remove --producer-threads option 2023-11-02 14:38:57 -05:00
Kevin Heifner d1ab313a14 GH-1690 Remove thread hop to producer thread pool and go straight to app thread 2023-11-02 14:29:01 -05:00
Matt Witherspoon 87e34cb7fa Merge pull request #1855 from AntelopeIO/ci_core
[5.0 -> main] backport: upload core dumps from failed tests in CI
2023-11-02 15:02:59 -04:00
Kevin Heifner c092011da5 Merge pull request #1852 from AntelopeIO/GH-1690-perf-main
[5.0 -> main] PH: Reliability improvements
2023-11-02 14:02:23 -05:00
greg7mdp 25df926c68 Cleanup shared_blob class and simplify from_variant(variant, shared_blob) 2023-11-02 14:11:09 -04:00
greg7mdp 1c7a99844b Pack public key directly into the shared_string. 2023-11-02 13:58:45 -04:00
Matt Witherspoon b7d1bd8062 Merge remote-tracking branch 'origin/release/5.0' into GH-1690-perf-main 2023-11-02 13:33:50 -04:00
Matt Witherspoon 9ebab2299b Merge pull request #1853 from AntelopeIO/ci_core_5x
[5.0] backport: upload core dumps from failed tests in CI
2023-11-02 13:33:24 -04:00
Matt Witherspoon 492c7bd22b upload core files from failed tests 2023-11-02 12:14:49 -04:00
Matt Witherspoon f2ba2481a7 upgrade parallel-ctest-containers action to node20 2023-11-02 12:14:39 -04:00
Matt Witherspoon 6286f84bd5 upgrade to actions/checkout@v4 2023-11-02 12:14:30 -04:00
Matt Witherspoon 0e090f0103 globally --catch_system_errors=no 2023-11-02 12:14:10 -04:00
Kevin Heifner 06965dd15b Merge remote-tracking branch 'origin/release/5.0' into GH-1690-perf-main 2023-11-02 11:12:28 -05:00
Kevin Heifner dafd7406c3 Merge pull request #1814 from AntelopeIO/GH-1690-perf-5.0
[5.0] PH: Reliability improvements
2023-11-02 11:11:56 -05:00
Kevin Heifner b0f567d4be GH-1690 Add better description 2023-11-02 10:29:24 -05:00
Kevin Heifner db817f794e GH-1690 Remove unneeded include 2023-11-02 10:29:02 -05:00
greg7mdp a5dd61d9f6 For libtester building with gcc 9.4, don't use c++20 features. 2023-11-02 09:13:25 -04:00
Matt Witherspoon 0b5a37b843 Merge pull request #1850 from AntelopeIO/ci_core_5x
upload core dumps from failed tests in CI
2023-11-01 22:49:08 -04:00
Lin Huang e4df534c67 incorporate review comments 2023-11-01 19:51:47 -04:00
greg7mdp 130536a348 Merge branch 'main' of github.com:AntelopeIO/leap into gh_1652 2023-11-01 19:02:59 -04:00
greg7mdp 08479df817 More cleanups thanks to updated chainbase APIs. 2023-11-01 18:59:31 -04:00
greg7mdp 203a3b6a99 Cleanup the code using updated chainbase APIs. 2023-11-01 18:49:15 -04:00
greg7mdp 34d0d47e3b Update chainbase to branch tip. 2023-11-01 18:09:23 -04:00
Matt Witherspoon 4443736626 Merge pull request #1848 from AntelopeIO/no_zstd_deb
[5.0 -> main] revert usage of zstd for .deb packages
2023-11-01 16:57:16 -04:00
Matt Witherspoon 14544ecfb6 Merge pull request #1849 from AntelopeIO/cse=no_5x
[5.0] globally (effectively) `--catch_system_errors=no` all boost-test based unit tests
2023-11-01 16:57:04 -04:00
Matt Witherspoon 72e0e0d075 upload core files from failed tests 2023-11-01 16:42:01 -04:00
Matt Witherspoon ec227851ea upgrade parallel-ctest-containers action to node20 2023-11-01 13:56:32 -04:00
Matt Witherspoon c56dfa5f49 upgrade to actions/checkout@v4 2023-11-01 13:56:29 -04:00
Matt Witherspoon 6e38e042ec Merge remote-tracking branch 'origin/release/5.0' into HEAD 2023-11-01 13:44:24 -04:00
Matt Witherspoon c68eec8369 Merge pull request #1831 from AntelopeIO/no_zstd_deb_5x
[5.0] revert usage of zstd for .deb packages
2023-11-01 13:44:12 -04:00
Matt Witherspoon 2717d0a135 globally --catch_system_errors=no 2023-11-01 13:42:16 -04:00
Kevin Heifner bed5a26bac GH-1690 Report values used in comparison 2023-11-01 10:52:19 -05:00
Kevin Heifner cda3e6c353 Merge pull request #1847 from AntelopeIO/GH-1837-start-block-main
[5.0 -> main] Minimize abort/start block for speculative blocks
2023-11-01 10:37:24 -05:00
Kevin Heifner 40c32d4f28 Merge remote-tracking branch 'origin/release/5.0' into GH-1837-start-block-main 2023-11-01 09:41:35 -05:00
Kevin Heifner a993c02405 Merge pull request #1845 from AntelopeIO/GH-1837-start-block-5.0
[5.0] Minimize abort/start block for speculative blocks
2023-11-01 09:41:05 -05:00
greg7mdp 69265aa1a7 Update chainbase branch to tip. 2023-11-01 09:57:10 -04:00
greg7mdp f38991b4b6 Merge branch 'main' of github.com:AntelopeIO/leap into gh_1652 2023-11-01 09:56:09 -04:00
Kevin Heifner 7e34c67241 GH-1837 Cleanup 2023-11-01 08:49:35 -05:00
Kevin Heifner c47a6a5800 GH-1837 Add comments 2023-11-01 08:49:10 -05:00
greg7mdp 917ebee2d6 Code update for shared_vector api change. 2023-11-01 09:22:42 -04:00
Kevin Heifner 6e275cd8ec GH-1690 Recover keys on the chain thread pool 2023-11-01 07:40:18 -05:00
Kevin Heifner 87260ae815 GH-1837 Fix spelling 2023-11-01 07:02:08 -05:00
Kevin Heifner 35372f6dda Merge branch 'release/5.0' into GH-1690-perf-5.0 2023-10-31 19:40:50 -05:00
greg7mdp 342c640a33 Update chainbase branch to tip 2023-10-31 17:47:11 -04:00
Kevin Heifner 5682bd4c09 GH-1837 Verify wake time is in the future 2023-10-31 15:59:29 -05:00
greg7mdp 893906518c remove unused (and wrong) shared_blob stream operators. 2023-10-31 16:53:37 -04:00
greg7mdp 0d8a47260c Fix compilation issue with new updated chainbase tip.
Tests now pass except for `plugin_test`.
2023-10-31 16:36:00 -04:00
Kevin Heifner 79dccc525d GH-1837 Allow a couple of start blocks per block as forks cause multiple 2023-10-31 15:14:43 -05:00
Kevin Heifner 1dac3fb540 GH-1837 Use full cpu effort for calculated wake up time for producer 2023-10-31 13:43:29 -05:00
Lin Huang c012b14671 add eosvmoc limits tests 2023-10-31 13:27:20 -04:00
Lin Huang b6fd7e16ef disable eosvmoc subjective limits in unit tests 2023-10-31 13:26:35 -04:00
Kevin Heifner 4a9dd03485 GH-1837 Do not start a speculative block that will immediately be restarted 2023-10-31 10:30:10 -05:00
Kevin Heifner 4fb6c11f18 GH-1837 Add test to verify only one start block per block unless interrupted 2023-10-30 21:22:08 -05:00
Kevin Heifner 2bc2081682 GH-1837 Add and revise tests for calculate_producing_block_deadline 2023-10-30 21:21:37 -05:00
Kevin Heifner e531f8b1a5 GH-1837 Simplify calculate_producing_block_deadline to a simple calculation not based on now 2023-10-30 21:20:28 -05:00
greg7mdp 13e396934d Update shared objects to always be constructed in-place 2023-10-30 21:46:07 -04:00
Kevin Heifner 9d8bbca5f0 Merge pull request #1841 from AntelopeIO/GH-1837-bp-time-main
[5.0 -> main] Normalize speculative & producer block intervals
2023-10-30 07:07:32 -05:00
greg7mdp 173d1619f1 Update chainbase to branch tip 2023-10-29 08:40:28 -04:00
greg7mdp 3400b2e604 Use new shared_cow_vector from chainbase. 2023-10-28 18:16:08 -04:00
Kevin Heifner a34b16bbb3 Merge remote-tracking branch 'origin/release/5.0' into GH-1837-bp-time-main 2023-10-28 15:27:56 -05:00
Kevin Heifner 71d4022abd Merge pull request #1840 from AntelopeIO/GH-1837-bp-time-5.0
[5.0] Normalize speculative & producer block intervals
2023-10-28 15:27:07 -05:00
Lin Huang 89c93f5c8c Merge pull request #1839 from AntelopeIO/fix_warnings_main
[5.0 -> main] fix new signedness warnings to have a clean build for rc3
2023-10-27 15:07:09 -04:00
Kevin Heifner 6e4b215bc5 GH-1837 Use calculated deadline for speculative blocks as well as produced blocks 2023-10-27 13:46:54 -05:00
Lin Huang 5247f2ab75 Merge remote-tracking branch 'origin/release/5.0' into fix_warnings_main 2023-10-27 14:08:59 -04:00
Lin Huang 9d121b7048 Merge pull request #1836 from AntelopeIO/fix_warnings_5_0
[5.0] fix new signedness warnings to have a clean build for rc3
2023-10-27 13:56:48 -04:00
Eric Passmore 4500d8125c Merge pull request #1834 from AntelopeIO/ehp/gh-1722-main-update-tutorial
[5.0 -> main] Update Tutorial Readme
2023-10-27 10:26:57 -07:00
Kevin Heifner c9691996ce Merge remote-tracking branch 'origin/release/5.0' into ehp/gh-1722-main-update-tutorial 2023-10-27 10:45:07 -05:00
Eric Passmore 335e890065 Merge remote-tracking branch release/5.0 into ehp/gh-1722-main-update-tutorial 2023-10-27 08:22:07 -07:00
Lin Huang 5aca7577d9 fix signedness warnings 2023-10-27 10:10:22 -04:00
Kevin Heifner b79d98dd91 GH-1690 Not allowed to write to socket until previous write completes. 2023-10-27 08:54:03 -05:00
Eric Passmore d591c0bc1c Merge pull request #1810 from AntelopeIO/ehp/gh-1722-update-tutorial
[5.0] Update Tutorial Readme
2023-10-26 15:22:43 -07:00
Gregory Popovitch db254c5b33 Merge pull request #1833 from AntelopeIO/gh_1764_main
[5.0 -> main] Undo the temporary switch to mapped mode when loading a snapshot in mapped_private mode
2023-10-26 16:51:44 -04:00
greg7mdp 9cd4c888bf Merge branch 'main' of github.com:AntelopeIO/leap into gh_1764_main 2023-10-26 16:03:44 -04:00
Lin Huang 452f3ead29 Merge pull request #1832 from AntelopeIO/increase_max_transaction_time_readony_tests_main
[5.0 -> main] Increase max-transaction-time for read_only_trx unit tests
2023-10-26 15:59:26 -04:00
greg7mdp 7b698a4306 Merge remote-tracking branch 'origin/release/5.0' into gh_1764_main 2023-10-26 15:21:55 -04:00
Gregory Popovitch 200bfa9c41 Merge pull request #1825 from AntelopeIO/gh_1764
[5.0] Undo the temporary switch to `mapped` mode when loading a snapshot in `mapped_private` mode.
2023-10-26 15:20:01 -04:00
Lin Huang f52353713c Merge remote-tracking branch 'origin/release/5.0' into increase_max_transaction_time_readony_tests_main 2023-10-26 15:10:57 -04:00
Matt Witherspoon 6788f441ca don't use zstd for .deb packages yet 2023-10-26 15:06:26 -04:00
Lin Huang 75ce11e493 Merge pull request #1819 from AntelopeIO/increase_max_transaction_time_readony_tests_5_0
[5.0] Increase max-transaction-time for read_only_trx unit tests
2023-10-26 14:55:23 -04:00
Matt Witherspoon 9fe0a722f4 Merge pull request #1830 from AntelopeIO/oc_monitor_skip_cb_on_dtor
[5.0 -> main] don't run EOS VM OC's monitor compile task callback when socket being dtored
2023-10-26 14:44:58 -04:00
Lin Huang ed1312f97d Merge branch 'release/5.0' into increase_max_transaction_time_readony_tests_5_0 2023-10-26 14:16:20 -04:00
Lin Huang cc9993c07a Merge pull request #1828 from AntelopeIO/resmon_deterministic_tests_main
[5.0 -> main] make resource monitor plugin tests deterministic by using fixed fc::temp_directory instead of dynamic /tmp
2023-10-26 14:06:31 -04:00
Matt Witherspoon 075b7ae790 Merge remote-tracking branch 'origin/release/5.0' into HEAD 2023-10-26 14:04:33 -04:00
Matt Witherspoon f371af55bf Merge pull request #1827 from AntelopeIO/oc_monitor_skip_cb_on_dtor_5x
[5.0] don't run EOS VM OC's monitor compile task callback when socket being dtored
2023-10-26 14:04:22 -04:00
greg7mdp 9b2a9818a6 Merge branch 'release/5.0' of github.com:AntelopeIO/leap into gh_1764 2023-10-26 13:36:36 -04:00
greg7mdp 1e695684d2 Update chainbase to tip (removal of unused member functions) 2023-10-26 13:34:13 -04:00
Lin Huang f3f5890877 Merge remote-tracking branch 'origin/release/5.0' into resmon_deterministic_tests_main 2023-10-26 13:17:22 -04:00
Lin Huang fcb6525ed5 Merge pull request #1826 from AntelopeIO/resmon_deterministic_tests
[5.0] make resource monitor plugin tests deterministic by using fixed fc::temp_directory instead of dynamic /tmp
2023-10-26 13:01:18 -04:00
Matt Witherspoon 62ec0b10d4 don't run compile task callback when socket being dtored 2023-10-26 12:27:19 -04:00
Lin Huang de0f6f5693 make resource monitor plugin tests deterministic by using fixed
fc::temp_directory instead of dynamic /tmp
2023-10-26 10:27:08 -04:00
greg7mdp fa7d5ea28f Undo the temporary switch to mapped mode when loading a snapshot in mapped_private mode. 2023-10-26 09:05:49 -04:00
Kevin Heifner c59625d91b Merge remote-tracking branch 'origin/release/5.0' into GH-1690-perf-5.0 2023-10-25 12:19:52 -05:00
Kevin Heifner bfe2a4c939 GH-1690 Add backwards compatibility for --produce-block-offset-ms 0 for performance harness 2023-10-25 12:19:34 -05:00
Lin Huang f80545a256 make write-window-time as big as max-transaction-time 2023-10-25 12:20:33 -04:00
Matt Witherspoon 5fe528f092 Merge pull request #1822 from AntelopeIO/snapschedthreads
[5.0 -> main] refactor threading of snapshot_scheduler_test
2023-10-25 10:20:09 -04:00
Lin Huang bb1a66e4a9 Merge branch 'release/5.0' into increase_max_transaction_time_readony_tests_5_0 2023-10-25 09:47:14 -04:00
Matt Witherspoon 8c4babc994 Merge remote-tracking branch 'origin/release/5.0' into HEAD 2023-10-25 09:16:52 -04:00
Matt Witherspoon 81a9d5cfe9 Merge pull request #1821 from AntelopeIO/snapschedthreads_5x
[5.0] refactor threading of `snapshot_scheduler_test`
2023-10-25 09:14:49 -04:00
Matt Witherspoon 841d5476bc refactor threading of snapshot_scheduler_test 2023-10-24 20:08:03 -04:00
Kevin Heifner a9fa4dc539 Merge pull request #1820 from AntelopeIO/GH-1815-test-stuck-main
[5.0 -> main] Test Fix: Avoid deadlock on app_thread
2023-10-24 18:09:44 -05:00
Kevin Heifner 38e68e6fab Merge branch 'main' into GH-1815-test-stuck-main 2023-10-24 16:16:51 -05:00
Matt Witherspoon a427cc2cf4 Merge pull request #1817 from AntelopeIO/repro_ci_main
[5.0 -> main] integrate reproducible build with CI Build & Test workflow
2023-10-24 17:16:09 -04:00
Lin Huang 9911549422 Merge branch 'release/5.0' into increase_max_transaction_time_readony_tests_5_0 2023-10-24 17:14:04 -04:00
Kevin Heifner 9e097810e0 Merge remote-tracking branch 'origin/release/5.0' into GH-1815-test-stuck-main 2023-10-24 16:12:23 -05:00
Kevin Heifner 42e7679c27 Merge pull request #1818 from AntelopeIO/GH-1815-test-stuck-5.0
[5.0] Test Fix: Avoid deadlock on app_thread
2023-10-24 16:11:52 -05:00
Lin Huang 181474b721 read_only_trx unit tests improvements
* Increase max-transaction-time for setting bios contract
* Refactor tests to use common command line arguments
2023-10-24 15:48:57 -04:00
Kevin Heifner 894648dc52 GH-1815 Call app->quit() before app_thread.join() 2023-10-24 14:46:44 -05:00
Kevin Heifner a4e9df1e4c GH-1815 Avoid deadlock on app_thread 2023-10-24 14:38:49 -05:00
Matt Witherspoon ef5d41bd82 Merge remote-tracking branch 'origin/release/5.0' into HEAD 2023-10-24 15:25:40 -04:00
Matt Witherspoon 0501a7e5ba Merge pull request #1710 from AntelopeIO/repro_ci
[5.0] integrate reproducible build with CI Build & Test workflow
2023-10-24 15:25:15 -04:00
Eric Passmore 07a2376878 validated tutorial run from clean docker 2023-10-24 12:17:34 -07:00
Kevin Heifner 339f542465 GH-1690 Changed waitForTransactionsInBlockRange to use a start/end instead of start/offset. Pass in the start of empty blocks as the end of the range. 2023-10-24 13:28:21 -05:00
Eric Passmore 4a8e0daca9 general instructions, no specific versions 2023-10-24 10:34:47 -07:00
Kevin Heifner 82e214634c GH-1690 Need to wait over time of run, so offset from startBlock. Make --print-missing-transactions=True the default as it is useful when there are missing trxs. 2023-10-24 11:54:00 -05:00
Kevin Heifner db98dbc581 GH-1690 Socket should only be accessed from thread-pool thread. Use async_write instead of send. Wait for all write callbacks to finish before exit. 2023-10-24 11:52:39 -05:00
Matt Witherspoon 4ed36f9ecb fix tweak missed during merge 2023-10-24 11:43:14 -04:00
Kevin Heifner 3a519f6ea2 Merge pull request #1812 from AntelopeIO/GH-1808-sync-main
[5.0 -> main] P2P: Throttle over sync window
2023-10-24 10:13:49 -05:00
Matt Witherspoon 121ce77a2f Merge remote-tracking branch 'origin/release/5.0' into HEAD 2023-10-24 10:12:23 -04:00
Kevin Heifner 3deef78d51 Merge remote-tracking branch 'origin/release/5.0' into GH-1808-sync-main 2023-10-24 09:11:43 -05:00
Kevin Heifner def143240c Merge pull request #1811 from AntelopeIO/GH-1808-sync-5.0
[5.0] P2P: Throttle over sync window
2023-10-24 09:11:19 -05:00
Kevin Heifner 4b5d4e7047 GH-1808 Renamed variables and added comment 2023-10-24 07:25:57 -05:00
Kevin Heifner 64a9266f9d GH-1808 Reset block_sync_send variables on close 2023-10-23 17:56:24 -05:00
Matt Witherspoon bae31f4c10 Merge pull request #1809 from AntelopeIO/eb
[5.0 -> main] automatically create `experimental-binaries` package on release
2023-10-23 17:53:02 -04:00
Kevin Heifner 7dc3fbffd1 GH-1808 Update throttle to work over enqueue sync window instead of from time of connection.
Updated test to use more reasonable values.
2023-10-23 16:50:17 -05:00
Eric Passmore 69fa357520 updated tutorial readme for Leap 5.0 2023-10-23 14:36:28 -07:00
Gregory Popovitch 59bf674d20 Merge pull request #1807 from AntelopeIO/c++17_isolate
Avoid including `eos-vm-oc.hpp` which includes `types.hpp`, so the c++17 compilation doesn't propagate throughout
2023-10-23 17:24:41 -04:00
Matt Witherspoon 0f19c39506 Merge remote-tracking branch 'origin/release/5.0' into HEAD 2023-10-23 16:58:08 -04:00
Matt Witherspoon 5871209111 Merge pull request #1797 from AntelopeIO/eb_5x
[5.0] automatically create `experimental-binaries` package on release
2023-10-23 16:57:03 -04:00
greg7mdp 87cbe092a0 define using control_block in eos-vm-oc.h instead of two separate files 2023-10-23 16:41:11 -04:00
greg7mdp 6dbb6c24f6 Simplify change. 2023-10-23 11:34:48 -04:00
greg7mdp 085a472b11 Avoid including eos-vm-oc.hpp which includes types.hpp, so the c++17 compilation doesn't
propagate throughout
2023-10-23 11:31:07 -04:00
Matt Witherspoon e63034b438 Merge remote-tracking branch 'origin/release/5.0' into HEAD 2023-10-23 10:24:40 -04:00
Matt Witherspoon fcda655121 remove unneeded (x86_64|amd64) since this will always be current version 2023-10-23 09:54:27 -04:00
Matt Witherspoon df121a2e3f move Dockerfile creation step to after download of .deb files 2023-10-23 09:53:33 -04:00
Kevin Heifner de3756a416 Merge pull request #1805 from AntelopeIO/GH-1784-cpu-effort-main
[5.0 -> main] Replaced `cpu-effort-percent` with `produce-block-offset-ms`
2023-10-23 07:21:56 -05:00
Kevin Heifner d76783c7a6 Merge remote-tracking branch 'origin/release/5.0' into GH-1784-cpu-effort-main 2023-10-21 09:56:51 -05:00
Kevin Heifner 03a16be1d7 Merge pull request #1800 from AntelopeIO/GH-1784-cpu-effort-5.0
[5.0] Replaced `cpu-effort-percent` with `produce-block-offset-ms`
2023-10-21 09:55:25 -05:00
Kevin Heifner 015fc81a16 GH-1784 Calculate in microseconds as to not lose precision 2023-10-20 15:26:55 -05:00
Kevin Heifner 440d33a65d GH-1784 Use ceil to take the most conservative approach to the user provided offset 2023-10-20 15:00:59 -05:00
Kevin Heifner a336ef25a3 GH-1784 Renamed _produce_block_cpu_effort_us to _produce_block_cpu_effort 2023-10-20 14:06:55 -05:00
Kevin Heifner 1cc8b3d752 GH-1784 Added comment 2023-10-20 14:06:30 -05:00
Kevin Heifner 54e42bc198 GH-1784 Update produce-block-offset-ms description 2023-10-20 13:38:19 -05:00
Kevin Heifner 17266b189e GH-1784 Rename cpu_effort_us to cpu_effort 2023-10-20 13:31:28 -05:00
Kevin Heifner 48422bf0d5 GH-1784 Additinal clarification and a fix 2023-10-20 12:30:45 -05:00
Kevin Heifner fbc83d1a41 GH-1784 n was used for two different variables 2023-10-20 11:06:51 -05:00
Kevin Heifner 694b88463d GH-1784 Add in network latency 2023-10-20 10:20:13 -05:00
Kevin Heifner 7bd9850289 GH-1784 Add example with full blocks 2023-10-20 10:15:36 -05:00
Kevin Heifner 5ca96dbb9e GH-1784 Update block producing doc 2023-10-20 07:42:09 -05:00
Kevin Heifner d7caa21171 Merge pull request #1802 from AntelopeIO/GH-1677-ship-main
[5.0 -> main] SHiP: Fixes: Stack overflow, invalid index, split file access
2023-10-20 07:10:04 -05:00
Kevin Heifner ffbcbd966f Merge remote-tracking branch 'origin/release/5.0' into GH-1784-cpu-effort-5.0 2023-10-19 16:33:03 -05:00
Kevin Heifner 8281aa3179 Merge remote-tracking branch 'origin/release/5.0' into GH-1677-ship-main 2023-10-19 16:00:09 -05:00
Kevin Heifner 944226b1de Merge pull request #1798 from AntelopeIO/GH-1677-ship-5.0
[4.0 -> 5.0] SHiP: Fixes: Stack overflow, invalid index, split file access
2023-10-19 15:59:46 -05:00
Kevin Heifner c88a3d597a Merge remote-tracking branch 'origin/release/4.0' into GH-1677-ship-5.0 2023-10-19 14:48:39 -05:00
Kevin Heifner dd4217f111 Merge pull request #1801 from AntelopeIO/GH-1677-ship-fix-4.0
[4.0] SHiP: Make sure we append to index file
2023-10-19 14:48:18 -05:00
Kevin Heifner aee1c1d59f GH-1677 Make sure we append to index file 2023-10-19 13:59:59 -05:00
Matt Witherspoon f06b2f9488 don't change PH workflows for now 2023-10-19 13:58:53 -04:00
Kevin Heifner 0c5ff7e739 GH-1784 Rename cpu-effort-percent to produce-block-offset-ms and change meaning to be over complete round 2023-10-19 08:29:04 -05:00
Kevin Heifner c03809e415 Merge remote-tracking branch 'origin/release/4.0' into GH-1677-ship-5.0 2023-10-19 07:37:50 -05:00
Kevin Heifner 39327d8066 Merge pull request #1779 from AntelopeIO/GH-1677-ship-4.0
[4.0] SHiP: Fixes: Stack overflow, invalid index, split file access
2023-10-19 07:32:15 -05:00
Matt Witherspoon ce2b8eaa1f fix leap-dev.deb filename regex 2023-10-18 21:52:17 -04:00
Matt Witherspoon 9048c9e6e7 create experimental-binaries package on release 2023-10-18 21:30:04 -04:00
Matt Witherspoon c5820968be Merge pull request #1796 from AntelopeIO/ocenable_rotrx
[5.0 -> main] only use `--eos-vm-oc-enable` option in tests when OC is available, and tweak/fix location of its usage
2023-10-18 19:03:23 -04:00
Matt Witherspoon 33370eb020 Merge remote-tracking branch 'origin/release/5.0' into HEAD 2023-10-18 17:15:04 -04:00
Matt Witherspoon 6d42f3fc2e Merge pull request #1792 from AntelopeIO/ocenable_rotrx_5x
[5.0] only use `--eos-vm-oc-enable` option in tests when OC is available, and tweak/fix location of its usage
2023-10-18 17:14:40 -04:00
Kevin Heifner 1cb6a9dd07 GH-1677 Use EOS_ASSERT instead of elog/assert 2023-10-18 10:45:18 -05:00
Kevin Heifner a396da9c2c GH-1677 Simplify split_log function as the protection against out of file descriptors seems like overkill and is difficult to follow/verify is correct. 2023-10-18 10:33:16 -05:00
Kevin Heifner 13e1fe416c Merge pull request #1793 from AntelopeIO/GH-1776-throttle-fix-main
[5.0 -> main] P2P: Fix: Throttling of last block of request caused lost block
2023-10-18 09:07:31 -05:00
Kevin Heifner 7be4d65c77 Merge remote-tracking branch 'origin/release/5.0' into GH-1776-throttle-fix-main 2023-10-18 07:45:42 -05:00
Kevin Heifner f65b06c965 Merge pull request #1791 from AntelopeIO/GH-1776-throttle-fix-5.0
[5.0] P2P: Fix: Throttling of last block of request caused lost block
2023-10-18 07:45:26 -05:00
Matt Witherspoon 8954bdb978 only use --eos-vm-oc-enable option when OC is available & fix location 2023-10-17 22:00:27 -04:00
Gregory Popovitch 24cf62375f Merge pull request #1790 from AntelopeIO/gh_1771_m
[5.0 -> main] Chainbase performance improvement
2023-10-17 16:15:26 -04:00
Kevin Heifner 59031ab71d GH-1776 Fix for throttling the last block of a peer_requested dropping the last block and not sending it later 2023-10-17 13:55:26 -05:00
greg7mdp dd677f226a Merge branch 'release/5.0' of github.com:AntelopeIO/leap into gh_1771_m 2023-10-17 14:39:19 -04:00
Kevin Heifner d930774f02 Merge pull request #1788 from AntelopeIO/GH-1406-code-cache-main
[5.0 -> main] Recreate EOS VM OC code cache if corrupt
2023-10-17 13:10:46 -05:00
Gregory Popovitch ec79fa2a31 Merge pull request #1772 from AntelopeIO/gh_1771
[5.0] Chainbase performance improvement
2023-10-17 13:21:55 -04:00
Kevin Heifner 957edad859 Merge remote-tracking branch 'origin/release/5.0' into GH-1406-code-cache-main 2023-10-17 11:51:26 -05:00
Kevin Heifner c03e46072e Merge pull request #1787 from AntelopeIO/GH-1406-code-cache-5.0
[4.0 -> 5.0] Recreate EOS VM OC code cache if corrupt
2023-10-17 11:50:54 -05:00
Kevin Heifner 34e097f354 Merge remote-tracking branch 'origin/release/4.0' into GH-1406-code-cache-5.0 2023-10-17 11:07:17 -05:00
Kevin Heifner 7087694337 Merge pull request #1780 from AntelopeIO/GH-1406-code-cache-4.0
[4.0] Recreate EOS VM OC code cache if corrupt
2023-10-17 11:03:35 -05:00
Kevin Heifner f5b5e64dd6 GH-1677 Add additional tests 2023-10-17 10:42:03 -05:00
Lin Huang 4485e4f0c9 Merge pull request #1786 from AntelopeIO/merge_resmon_fix_from_5_0_to_main
[5.0 -> main] hardening resource monitor manager plugin shutdown handling
2023-10-17 11:16:05 -04:00
Lin Huang 16b6bbd6ea Merge remote-tracking branch 'origin/release/5.0' into merge_resmon_fix_from_5_0_to_main
Merge resource monitor plugin shutdown fixes from release/5.0 to main
2023-10-17 10:27:28 -04:00
Lin Huang 92fa2642b3 Merge pull request #1783 from AntelopeIO/merge_resmon_fix_to_5_0
[4.0 -> 5.0] hardening resource monitor manager plugin shutdown handling
2023-10-17 10:02:09 -04:00
Kevin Heifner 76f1c7a033 GH-1406 Remove while loop and use lambda instead 2023-10-17 07:43:02 -05:00
Lin Huang 88b97fadde Merge remote-tracking branch 'origin/release/4.0' into merge_resmon_fix_to_5_0
Resolved merge conflicts
2023-10-16 22:12:18 -04:00
Lin Huang 79fc096c40 Merge pull request #1774 from AntelopeIO/resmon_plugin_shutdown_hardening
[4.0] hardening resource monitor manager plugin shutdown handling
2023-10-16 17:44:45 -04:00
Kevin Heifner 0544e2c3fd Merge pull request #1778 from AntelopeIO/GH-1694-ship-head-main
[5.0 -> main] Signal accepted_block after it is marked valid
2023-10-16 12:51:09 -05:00
Kevin Heifner d6882ddf1c GH-1406 Re-create code cache on startup if it is corrupt 2023-10-16 12:46:13 -05:00
Kevin Heifner 6cb1237e71 GH-1406 code_cache not likely to be useful for replay, remove all state files for replay 2023-10-16 12:45:41 -05:00
Lin Huang d4c417c11b simplify use of thread pool
* no need to call cancel timer explicitly.
* no need to use mutex for timer as when timer is used on the main
  thread, resource monitor thread has already stopped.
2023-10-16 13:39:36 -04:00
Kevin Heifner b50250a406 Merge remote-tracking branch 'origin/release/5.0' into GH-1694-ship-head-main 2023-10-16 10:34:06 -05:00
Kevin Heifner a7090e0131 Merge pull request #1777 from AntelopeIO/GH-1694-ship-head-5.0
[4.0 -> 5.0] Signal accepted_block after it is marked valid
2023-10-16 10:33:44 -05:00
Kevin Heifner b795fee068 GH-1677 Add assert and error message 2023-10-16 10:33:04 -05:00
Kevin Heifner 5723fa9279 GH-1677 Close files as rename/swap was not working 2023-10-16 10:16:44 -05:00
Kevin Heifner fc7b07a411 Merge pull request #1775 from AntelopeIO/GH-1660-consensus-params-main
[5.0 -> main] Only return wasm config settings if configurable wasm limits enabled
2023-10-16 08:04:21 -05:00
Kevin Heifner 231f6aa359 Merge remote-tracking branch 'origin/release/4.0' into GH-1694-ship-head-5.0 2023-10-16 08:00:41 -05:00
Kevin Heifner bef5b639b7 Merge pull request #1769 from AntelopeIO/GH-1694-ship-head-4.0
[4.0] Signal accepted_block after it is marked valid
2023-10-16 07:53:14 -05:00
Lin Huang dc87f58939 update resource monitor plugin integration tests
* removes unnecessary check of info logging "Creating and st
arting monitor thread"
* reduces time to wait for nodeos startup from 120 seconds to 10 seconds
2023-10-15 17:22:39 -04:00
Lin Huang 599b01d4ec Remove unnecessary unit tests
Those tests were intended to verify the duration of space_monitor_loop.
In essence they tested Boost's expires_from_noa, which was not
necessary.
The tests themselves were hacky and took uncessary 50 seconds.
2023-10-15 15:23:16 -04:00
Lin Huang 7052a94e11 use named_thread_pool to streamline thread management in resource monitor plugin 2023-10-15 15:14:45 -04:00
Kevin Heifner 2a323390a2 Merge remote-tracking branch 'origin/release/5.0' into GH-1660-consensus-params-main 2023-10-13 16:09:11 -05:00
Kevin Heifner dc1ff3e465 Merge pull request #1773 from AntelopeIO/GH-1660-consensus-params-5.0
[4.0 -> 5.0] Only return wasm config settings if configurable wasm limits enabled
2023-10-13 16:09:00 -05:00
Kevin Heifner 1705e35b79 GH-1677 Update index_begin_block on log split otherwise next lookup in index is at the wrong offset 2023-10-13 15:24:44 -05:00
Kevin Heifner fa5ff2f966 GH-1677 Avoid stack overflow by posting to ship io_context on recursive send() 2023-10-13 15:23:22 -05:00
Lin Huang ad44032faa hardening resource manager plugin shutdown 2023-10-13 16:01:29 -04:00
Kevin Heifner 6403b4d553 Merge remote-tracking branch 'origin/release/4.0' into GH-1660-consensus-params-5.0 2023-10-13 10:23:56 -05:00
Kevin Heifner 3345300cb6 Merge pull request #1770 from AntelopeIO/GH-1660-consensus-params-4.0
[4.0] Only return wasm config settings if configurable wasm limits enabled
2023-10-13 10:20:30 -05:00
greg7mdp 641feefc01 avoid unnecessarily creating dirty pages when rebalancing chainbase rbtrees. 2023-10-13 10:46:54 -04:00
Kevin Heifner b99bc55bd0 GH-1660 Update test to verify wasm_config not returned before protocol feature is activated. 2023-10-13 09:41:16 -05:00
Kevin Heifner dc1b8910fc GH-1660 Only return wasm config settings if configurable wasm limits enabled 2023-10-13 08:44:56 -05:00
Kevin Heifner c561ba8128 GH-1694 Verify produced block matches validated block and accepted block 2023-10-13 08:38:01 -05:00
Kevin Heifner 03d53b78f0 GH-1275 Signal accepted_block after it is marked valid 2023-10-13 07:44:06 -05:00
Kevin Heifner f8caf6629e Merge pull request #1767 from AntelopeIO/GH-1736-test-main
[5.0 -> main] Test: read-only trxs should only be posted to read_exclusive queue
2023-10-12 16:04:26 -05:00
Kevin Heifner 76d686e542 Merge remote-tracking branch 'origin/release/5.0' into GH-1736-test-main 2023-10-12 14:57:38 -05:00
Kevin Heifner e842cb22d4 Merge pull request #1766 from AntelopeIO/GH-1736-test-5.0
[5.0] Test: read-only trxs should only be posted to read_exclusive queue
2023-10-12 14:57:14 -05:00
Kevin Heifner 846ebc60f0 GH-1736 read-only trxs should only be posted to read_exclusive queue 2023-10-12 14:01:58 -05:00
Kevin Heifner 2e1d7a3ae5 Merge pull request #1765 from AntelopeIO/GH-1683-stable-id-main
[5.0 -> main] Prometheus: Add stable identifier for P2P connections
2023-10-12 13:36:08 -05:00
Kevin Heifner 860544e7df Merge remote-tracking branch 'origin/release/5.0' into GH-1683-stable-id-main 2023-10-12 11:59:16 -05:00
Kevin Heifner b317322cc9 Merge pull request #1750 from AntelopeIO/GH-1683-stable-id-5.0
[5.0] Prometheus: Add stable identifier for P2P connections
2023-10-12 11:58:45 -05:00
Kevin Heifner 0fc4c2c6ee Merge pull request #1761 from AntelopeIO/fix-warn-main
[5.0 -> main] Fix compiler warning
2023-10-12 10:28:05 -05:00
Kevin Heifner 7b37480919 Merge remote-tracking branch 'origin/release/5.0' into fix-warn-main 2023-10-12 09:26:34 -05:00
Kevin Heifner 6c24a3d339 Merge pull request #1752 from AntelopeIO/fix-warn-5.0
[5.0] Fix compiler warning
2023-10-12 09:26:12 -05:00
Matt Witherspoon e7675038ec Merge pull request #1755 from AntelopeIO/all-passing
[5.0 -> main] fix "All Required Tests Passed" CI Branch Protection
2023-10-12 10:00:26 -04:00
Matt Witherspoon 58073cf566 Merge remote-tracking branch 'origin/release/5.0' into HEAD 2023-10-11 22:55:58 -04:00
Matt Witherspoon 504689fe78 Merge pull request #1753 from AntelopeIO/all-passing_50x
[5.0] fix "All Required Tests Passed" CI Branch Protection
2023-10-11 22:55:40 -04:00
Matt Witherspoon 4d936590fe restore all-passing 'if' checks 2023-10-11 16:24:20 -04:00
Kevin Heifner 292df502ae GH-1683 Add const 2023-10-11 14:42:33 -05:00
Kevin Heifner e66ff7427c GH-1683 Update throttle test for new prometheus format 2023-10-11 14:40:59 -05:00
Lin Huang 4066215368 Merge pull request #1751 from AntelopeIO/merge_5_0_0_rc_2_version_bump
[5.0 -> main] merge release/5.0.0-rc2 version bumping from release/5.0 to main
2023-10-11 13:53:16 -04:00
Kevin Heifner 60a3e3eb3f Fix: warning: lambda capture 'return_failure_traces' is not used 2023-10-11 12:11:48 -05:00
Lin Huang 3f861b308b merge release/5.0.0-rc2 version bumping from release/5.0 to main 2023-10-11 13:02:44 -04:00
Kevin Heifner c5fc681ed2 Merge remote-tracking branch 'origin/release/5.0' into GH-1683-stable-id-5.0 2023-10-11 11:57:35 -05:00
Lin Huang 3231de17b9 Merge pull request #1749 from AntelopeIO/release_5_0_rc_2
bump Leap version to release/5.0.0-rc2
2023-10-11 12:12:17 -04:00
Kevin Heifner 14d8bfe21c Merge pull request #1748 from AntelopeIO/GH-1501-slow-cicd-main
[5.0 -> main] Test: larger timeout of set contract
2023-10-11 11:06:44 -05:00
Kevin Heifner 50ca986c1e GH-1683 Use stable id for connections 2023-10-11 11:02:11 -05:00
Kevin Heifner d913a2ee5f GH-1683 Add prometheus plugin for easier manual testing of prometheus. Add mapped_private database-map-mode since none of the tests currently use it. 2023-10-11 11:01:40 -05:00
Lin Huang ef21be9e72 bump Leap version to 5.0.0 rc2 2023-10-11 11:29:29 -04:00
Kevin Heifner 8cba80dbbc Merge remote-tracking branch 'origin/release/5.0' into GH-1501-slow-cicd-main 2023-10-11 10:20:09 -05:00
Kevin Heifner c42f4bf451 Merge pull request #1747 from AntelopeIO/GH-1501-slow-cicd-5.0
[5.0] Test: larger timeout of set contract
2023-10-11 10:19:33 -05:00
Lin Huang e6d1624504 Merge pull request #1746 from AntelopeIO/unlinked_block_fix_5_0_to_main
[5.0 -> main] Fix unlinked blocks caused by deferred trx removal
2023-10-11 10:56:45 -04:00
Kevin Heifner a49aaf6864 GH-1501 Need a larger timeout since 5 seconds was too small allowing set contract to work but not seeing it yet. 2023-10-11 09:39:15 -05:00
Lin Huang c6ef52ca7d Merge remote-tracking branch 'origin/release/5.0' into unlinked_block_fix_5_0_to_main 2023-10-11 09:13:16 -04:00
Kevin Heifner f43996f262 Merge pull request #1745 from AntelopeIO/GH-1507-bad-block-log-main
[5.0 -> main] P2P: Modify log level for message to avoid confusion
2023-10-11 08:11:12 -05:00
Kevin Heifner a1a3029637 Merge pull request #1744 from YaroShkvorets/GH-1743-add-context-to-exceptions
Add action context to contract error message
2023-10-11 07:35:01 -05:00
Lin Huang f9bce766b4 Merge pull request #1734 from AntelopeIO/unlinked_block
[5.0] Fix unlinked blocks caused by deferred trx removal
2023-10-11 08:31:58 -04:00
Kevin Heifner 97f65e045f Merge remote-tracking branch 'origin/release/5.0' into GH-1507-bad-block-log-main 2023-10-11 07:26:29 -05:00
Kevin Heifner 6ae2f11143 Merge pull request #1732 from AntelopeIO/GH-1507-bad-block-log-5.0
[5.0] P2P: Modify log level for message to avoid confusion
2023-10-11 07:25:34 -05:00
YaroShkvorets e6dc6da8d2 change error message format 2023-10-10 23:24:30 -04:00
Kevin Heifner 985e2326ea Merge branch 'release/5.0' into GH-1507-bad-block-log-5.0 2023-10-10 20:08:45 -05:00
Lin Huang 5834fde500 add a test for blocking incoming delayed trxs by producer_plugin 2023-10-10 20:24:23 -04:00
jgiszczak 1e020fead9 Merge pull request #1742 from AntelopeIO/p2p-peer-throttle-main
[5.0 -> main] Support throttling block syncing to peers
2023-10-10 17:05:22 -05:00
YaroShkvorets 23bda8ec12 add action context to exception
ref #1743
2023-10-10 17:33:06 -04:00
Kevin Heifner 1db67f763b Merge remote-tracking branch 'origin/release/5.0' into p2p-peer-throttle-main 2023-10-10 16:20:17 -05:00
Lin Huang 7f50c71aa6 remove modify_gto_for_canceldelay_test, restore canceldelay_test, and update disable_deferred_trxs_stage_1_no_op_test 2023-10-10 17:18:00 -04:00
jgiszczak 1498a04268 Merge pull request #1741 from AntelopeIO/p2p-peer-throttle-5.0
[5.0] Support throttling block syncing to peers
2023-10-10 16:16:13 -05:00
Jonathan Giszczak b067bca4e6 Address a couple more review comments. 2023-10-10 14:58:29 -05:00
Jonathan Giszczak e3d4870ac4 Address peer review comments. 2023-10-10 14:40:09 -05:00
Jonathan Giszczak 8a5dfeb2b1 Revert "Add comment."
This reverts commit caa703d32a.
2023-10-10 14:35:23 -05:00
Jonathan Giszczak caa703d32a Add comment. 2023-10-10 14:04:17 -05:00
Lin Huang c87d87f369 add a block validation test before DISABLE_DEFERRED_TRXS_STAGE_1 is activated 2023-10-10 13:18:21 -04:00
Kevin Heifner 34704584d3 Merge pull request #1740 from AntelopeIO/GH-1501-retry-retry-main
[5.0 -> main] Test: Pass in exitOnError so that a retry is allowed
2023-10-10 09:47:40 -05:00
Kevin Heifner ca109d6458 Merge remote-tracking branch 'origin/release/5.0' into GH-1501-retry-retry-main 2023-10-10 08:00:27 -05:00
Kevin Heifner ac6c70fcb8 Merge pull request #1739 from AntelopeIO/GH-1501-retry-retry-5.0
[5.0] Test: Pass in exitOnError so that a retry is allowed
2023-10-10 08:00:07 -05:00
Lin Huang 7d8445fee5 add a test to invlidate blocks containing deferred trxs after disable_deferred_trxs_stage_1 is activated 2023-10-09 16:47:52 -04:00
Lin Huang e8e0b436b4 update api_tests' deferred_cfa_failed 2023-10-09 16:31:15 -04:00
Lin Huang 6f9b0b7e0e changed to not validate a block containing deferred trxs after DISABLE_DEFERRED_TRXS_STAGE_1 instead of DISABLE_DEFERRED_TRXS_STAGE_2 2023-10-09 15:58:10 -04:00
Lin Huang d85e86fb10 do not validate a block containing delayed transactions after DISABLE_DEFERRED_TRXS_STAGE_2 is activated 2023-10-09 15:19:29 -04:00
Kevin Heifner f4de00b1e0 GH-1501 Pass in exitOnError so that a retry is allowed 2023-10-09 11:37:58 -05:00
Kevin Heifner 6bd77cec9a Merge pull request #1738 from AntelopeIO/GH-1688-cleos-err-main
[5.0 -> main] Improve cleos error messages
2023-10-09 10:43:01 -05:00
Kevin Heifner 6e96184de3 Merge remote-tracking branch 'origin/release/5.0' into GH-1688-cleos-err-main 2023-10-09 09:36:49 -05:00
Kevin Heifner 7077e8905f Merge pull request #1733 from AntelopeIO/GH-1688-cleos-err-5.0
[5.0] Improve cleos error messages
2023-10-09 09:36:19 -05:00
Kevin Heifner 6ffebbaa9c Merge pull request #1737 from AntelopeIO/GH-1501-retry-main
[5.0 -> main] Test: Retry set contract on failure
2023-10-09 09:34:32 -05:00
Kevin Heifner 992357b4b8 Merge remote-tracking branch 'origin/release/5.0' into GH-1501-retry-main 2023-10-09 08:55:04 -05:00
Kevin Heifner caeac9617d Merge pull request #1728 from AntelopeIO/GH-1501-retry-5.0
[5.0] Test: Retry set contract on failure
2023-10-09 08:54:39 -05:00
Kevin Heifner 9e5ac5c78e GH-1688 Clearer error message 2023-10-09 08:53:01 -05:00
Kevin Heifner ea4abcd20f GH-1501 Move trans=None outside loop to avoid not defined error 2023-10-09 08:13:25 -05:00
Kevin Heifner bcf73fc7c6 GH-1688 Add example to exception message. Also update history_api_plugin message. 2023-10-09 07:57:28 -05:00
Kevin Heifner cf09c8a23a GH-1501 Fix spelling 2023-10-09 07:27:56 -05:00
Kevin Heifner 09bebdfcd5 Merge pull request #1731 from AntelopeIO/GH-1716-GH-1490-main-fixes-main
[5.0 -> main] Fix possible segfault switching between read/write windows
2023-10-06 22:51:32 -05:00
Jonathan Giszczak 6db4ad8aa5 Customize plugin_config_exception handling in net_plugin. 2023-10-06 18:33:30 -05:00
Lin Huang 222e2d2aa3 do not trigger generated_transaction_object (for delayed trxs) in nodeos_chainbase_allocation_test.py 2023-10-06 18:18:43 -04:00
Jonathan Giszczak db34bbf35f Revise for better repeatability. 2023-10-06 16:38:05 -05:00
Lin Huang 170c1a55d9 update delay_tests 2023-10-06 17:22:45 -04:00
Lin Huang 13369e263b block incoming delayed trxs in producer_plugin 2023-10-06 17:21:59 -04:00
Lin Huang d5045179cc restore delayed trx processing in transaction_context 2023-10-06 17:20:58 -04:00
Lin Huang 962f30982a restore api_tests' deferred_cfa_not_allowed and deferred_cfa_success 2023-10-06 17:00:53 -04:00
Jonathan Giszczak 1e5b4275d1 Add throttling flag to Prometheus peer data and use it in sync test.
Remove dependency on python requests package.
Remove locale-aware parsing of sync throttle rate.
Prevent transmitting peer from throttling while not in sync mode.
Add timeouts to throttle sync test.
2023-10-06 14:59:21 -05:00
Kevin Heifner 91ae03b9d9 GH-1688 Improve cleos error messages 2023-10-06 14:15:24 -05:00
Lin Huang f5a98fe453 Merge pull request #1727 from AntelopeIO/merge_5_0_0_rc_1
[5.0 -> main] Merge release/5.0.0-rc1 to main and make main branch version to 5.1.0-dev
2023-10-06 14:11:08 -04:00
Kevin Heifner 03cfc26bb3 GH-1507 Use error log for truly error conditions that require node operator intervention 2023-10-06 12:09:29 -05:00
Kevin Heifner 806815a6f5 Merge pull request #1729 from AntelopeIO/GH-1716-GH-1490-main-fixes-5.0
[4.0 -> 5.0] Fix possible segfault switching between read/write windows
2023-10-06 08:45:29 -05:00
Kevin Heifner 8888f24a54 GH-1501 Add back support for waitForTransBlock = False 2023-10-06 08:28:25 -05:00
Kevin Heifner 9b9b977a0f Merge remote-tracking branch 'origin/release/4.0' into GH-1716-GH-1490-main-fixes-5.0 2023-10-06 07:38:38 -05:00
Kevin Heifner e3f11c489c Merge pull request #1719 from AntelopeIO/GH-1716-GH-1490-main-fixes-4.0
[4.0] Fix possible segfault switching between read/write windows
2023-10-06 07:34:01 -05:00
Kevin Heifner 093dae5f49 GH-1501 No need to spawn 8 producers for this test 2023-10-06 07:27:39 -05:00
Kevin Heifner 71212c4951 GH-1501 Retry set contract on failure 2023-10-06 07:23:23 -05:00
Lin Huang dfdd0911cb merge 5.0.0-rc-1 and correct Leap version 2023-10-05 22:01:48 -04:00
jgiszczak d1ad2cf712 Merge branch 'main' into p2p-peer-throttle 2023-10-05 17:33:55 -05:00
Lin Huang 0439428950 Merge pull request #1726 from AntelopeIO/create_release_5_0_rc_1
create release/5.0 branch and bump Leap version to 5.0.0 rc1
2023-10-05 17:30:36 -04:00
Lin Huang 6be4c2d108 create release/5.0 branch and bump Leap version to 5.0.0 rc1 2023-10-05 16:48:09 -04:00
Eric Passmore 13880d4e6f Merge pull request #1724 from AntelopeIO/ehp/add-deferred-tran-protocal
Add protocol features to disallow deferred transaction
2023-10-05 12:14:11 -07:00
Eric Passmore 6a6d101722 updated to feature digest hash 2023-10-05 11:27:20 -07:00
Eric Passmore c7a99ea2f6 added actual issue names 2023-10-05 11:02:46 -07:00
Eric Passmore a41823e8b7 added protocol featrues to disallow deferred transactions 2023-10-05 10:50:13 -07:00
Kevin Heifner adc24ae6e6 Reuse same ec 2023-10-05 07:31:47 -05:00
Gregory Popovitch 2a0e9c9145 Merge pull request #1691 from AntelopeIO/gh_1650
Improve chainbase mapped and heap behavior
2023-10-05 00:24:01 -04:00
greg7mdp d8fb38c307 Merge branch 'main' of github.com:AntelopeIO/leap into gh_1650 2023-10-04 23:48:01 -04:00
greg7mdp f427935669 Update to chainbase tip (main branch) 2023-10-04 23:44:43 -04:00
Kevin Heifner c94682fad2 Fix merge issue 2023-10-04 17:26:30 -05:00
Kevin Heifner 38545553ec GH-1716 pop before execute as the executed lambda can switch to read-only mode and spawn threads that access the queue. 2023-10-04 17:24:28 -05:00
Kevin Heifner 42cf4b01b5 Merge pull request #1718 from AntelopeIO/GH-1716-core
Fix: segfault switching between read/write windows
2023-10-04 17:22:38 -05:00
Kevin Heifner 6af28bb0f9 GH-1639 Fix producer_plugin shutdown of read only threads to prevent SEGFAULT and deadlock. 2023-10-04 17:16:36 -05:00
greg7mdp e023358528 Merge branch 'main' of github.com:AntelopeIO/leap into gh_1650 2023-10-04 17:52:09 -04:00
greg7mdp eefda261a5 Add mapped_private description to --help and docs. 2023-10-04 17:50:44 -04:00
Kevin Heifner 672c212cb4 Merge pull request #1709 from AntelopeIO/ph-no-p2p-trx
PH: Disable p2p trx execution on validation and api nodes
2023-10-04 16:46:01 -05:00
greg7mdp 5c9ebe7a63 Address PR comment (remove unneeded line) 2023-10-04 15:47:15 -04:00
Kevin Heifner bb23fbe5a1 GH-1716 pop before execute as the executed lambda can switch to read-only mode and spawn threads that access the queue. 2023-10-04 14:23:21 -05:00
Kevin Heifner 18add6b391 GH-1716 Improve read_only_trx_test.py so it can be run without debug logging and report specific information when it does fail. Update the test to run without debug in ci/cd so that it can run faster and put more load on nodeos. 2023-10-04 14:22:04 -05:00
Matt Witherspoon 7ba7d144fe Merge pull request #1686 from AntelopeIO/repro
Replace pinned builds with reproducible pinned builds
2023-10-04 14:40:06 -04:00
Kevin Heifner 77b46e77bb Merge pull request #1702 from AntelopeIO/GH-1662-thread-hops
Reduce the number of thread hops for read-only trxs
2023-10-04 12:14:09 -05:00
Matt Witherspoon f5e368e213 Merge pull request #1714 from AntelopeIO/cpack_zst
generate `.tar.zst` out of `cpack` instead of `.tar.gz`
2023-10-04 13:12:30 -04:00
Matt Witherspoon d09a8e5469 generate .tar.zst out of cpack instead of .tar.gz 2023-10-04 11:33:18 -04:00
greg7mdp 958bc0184d Merge branch 'main' of github.com:AntelopeIO/leap into gh_1650 2023-10-04 11:28:02 -04:00
greg7mdp 6f0782d824 Add snapshot load time to info log 2023-10-04 11:26:35 -04:00
Matt Witherspoon 39ae21c6df place 'manual' reproducible source dir in same location as CI 2023-10-04 11:26:13 -04:00
Peter Oschwald a6ed57de41 Merge branch 'main' into p2p-peer-throttle 2023-10-04 08:07:04 -05:00
Peter Oschwald 6b2fe63969 Add requests module for test. 2023-10-04 08:03:20 -05:00
Jonathan Giszczak ff7a8a1c1e Add block sync bytes received metric and use it in sync throttle test. 2023-10-04 00:05:13 -05:00
Matt Witherspoon a51ae8c40b rename reproducible.Dockerfile in the README too 2023-10-03 23:58:27 -04:00
Lin Huang 7efa226ef3 Merge pull request #1697 from AntelopeIO/disable_deferred_trxs_prot_features
Implement DISABLE_DEFERRED_TRXS_STAGE_1 and DISABLE_DEFERRED_TRXS_STAGE_2 protocol features
2023-10-03 22:51:23 -04:00
Lin Huang eb232a7c21 Merge branch 'main' into disable_deferred_trxs_prot_features 2023-10-03 22:03:37 -04:00
Kevin Heifner 6a44da599c Merge branch 'main' into GH-1662-thread-hops 2023-10-03 20:54:23 -05:00
Kevin Heifner a5b95298c6 GH-1662 call send_busy_response from http thread 2023-10-03 20:53:48 -05:00
Lin Huang 4c38e86980 make api_tests::transaction_tests for before and after disable_trxs_protocol_features are activated 2023-10-03 21:12:44 -04:00
Kevin Heifner 2856e13344 GH-1662 Assume application created from the main thread. Rework tests so that application is created on the main thread. 2023-10-03 19:16:53 -05:00
greg7mdp b02fa00ea2 Call check_memory_and_flush_if_needed() only in write window as Matt pointed out. 2023-10-03 19:45:55 -04:00
Lin Huang da6ad0a6bd consistently activating protocol features in the same order 2023-10-03 19:12:15 -04:00
greg7mdp 43006e2948 Make the new mode non-default; rename it mapped_private. 2023-10-03 17:58:51 -04:00
Lin Huang 058ed3951b make sure all protocol features are activated in the same order such that block_id is the same (needed for deep-mind test) 2023-10-03 17:48:49 -04:00
Matt Witherspoon 0d56a95ea7 integrate reproducible build with CI Build & Test workflow 2023-10-03 17:04:05 -04:00
Lin Huang 28e9d3e9cc revert to use full protococol features for currency_tests not involved in deferred trxs 2023-10-03 17:01:47 -04:00
Kevin Heifner d96a163e93 p2p trx slow api and validation nodes down, not needed. 2023-10-03 15:16:39 -05:00
dimas1185 19f78f9b9a Merge pull request #1704 from AntelopeIO/block_log_fix
extend leap-util logs for smoke test
2023-10-03 15:40:39 -04:00
Matt Witherspoon 2930e56ae5 upgrade from clang 17.0.1 to 17.0.2 2023-10-03 15:40:27 -04:00
Matt Witherspoon d015c626be rename Dockerfile.reproducible to reproducible.Dockerfile
As needed by platform-cache-workflow change
2023-10-03 15:39:07 -04:00
Matt Witherspoon cef0a4e255 zstd will be needed during CI (to compress builddir before upload) 2023-10-03 15:38:30 -04:00
Matt Witherspoon ffb49a0efe Merge remote-tracking branch 'origin/main' into HEAD 2023-10-03 15:36:51 -04:00
Lin Huang cf15dd85fb refactor preactivate_builtin_protocol_features and revert back to original full policy for deep-mind test and update deep-mind log 2023-10-03 15:12:04 -04:00
greg7mdp fc421a9cb6 Address PR comments (log info message in controller, naming) 2023-10-03 15:11:41 -04:00
greg7mdp bb86cf08dd Call chainbase API to give the opportunity to flush some dirty pages. 2023-10-03 13:51:11 -04:00
Lin Huang 7b3a7c580e fix typos in deferrd instances (should be deferred) 2023-10-03 12:28:38 -04:00
Matt Witherspoon 19aea6f0e9 Merge pull request #1703 from AntelopeIO/platform-cache-workflow
migrate to new `platform-cache-workflow` to manage Dockerfile caching in CI
2023-10-03 12:21:57 -04:00
Kevin Heifner f239a633c7 Merge pull request #1699 from AntelopeIO/GH-1662-close
Improve trx_generator http client
2023-10-03 10:52:09 -05:00
Kevin Heifner 4c45ac0170 Revert "GH-1662 Remove do_eof() as not needed"
This reverts commit 4f4f5d3350.
2023-10-03 09:43:41 -05:00
Kevin Heifner ba88d0ab34 Merge pull request #1706 from AntelopeIO/GH-1705-drop-trx
P2P: Advance read pointer when dropping trx
2023-10-03 09:25:19 -05:00
Lin Huang 51bea7b088 improve prototol features descriptions and update feature digests accordingly 2023-10-03 09:57:03 -04:00
Kevin Heifner 447813121e GH-1705 Advance read pointer when dropping trx. Also log at debug as nothing wrong. 2023-10-03 08:22:47 -05:00
Lin Huang b344239181 remove non-needed activation handler for disable_deferred_trxs_stage_1 and improve comments about disable_deferred_trxs_stage_1 rules 2023-10-03 09:14:34 -04:00
greg7mdp 5618bd1534 Update chainbase to branch tip. 2023-10-03 08:46:43 -04:00
Lin Huang 779108a590 use eos-system-contracts release/3.2 branch 2023-10-03 08:45:09 -04:00
Matt Witherspoon 381b3ed0e9 fix platform-list in PHBC workflow 2023-10-02 23:28:26 -04:00
Matt Witherspoon 844513763c remove reference to reproducible.Dockerfile that isn't on this branch yet 2023-10-02 22:59:12 -04:00
Lin Huang 391a992017 add tests for cancel_deferred host function before and after disable_deferred_trxs_stage_1 activation 2023-10-02 20:56:11 -04:00
Lin Huang db52566887 add cancelcall action to deferred_test contract to exercise cancel_deferred host function 2023-10-02 20:38:37 -04:00
Lin Huang a5150337a7 move is_builtin_activated( builtin_protocol_feature_t::disable_deferred_trxs_stage_1) outside of while loop 2023-10-02 19:43:05 -04:00
Dmytro Sydorchenko a56cf349db extended leap-util logs for smoke test 2023-10-02 19:39:16 -04:00
Kevin Heifner 4f4f5d3350 GH-1662 Remove do_eof() as not needed 2023-10-02 18:17:55 -05:00
Kevin Heifner 7cddb45381 GH-1662 Switch to debug level log message 2023-10-02 18:09:02 -05:00
Lin Huang 4e8e1a9c98 use system-contracts from main instead of release/3.1 2023-10-02 17:45:23 -04:00
Kevin Heifner c078636d51 Merge pull request #1698 from AntelopeIO/GH-1681-rm-option
Remove prometheus-exporter-address option
2023-10-02 16:33:39 -05:00
Matt Witherspoon efc48d638c migrate to new platform-cache-workflow 2023-10-02 16:47:56 -04:00
Lin Huang 49bff9b4e9 enfore deferred trx retirement rule correctly and add a test for it 2023-10-02 16:24:13 -04:00
Kevin Heifner 7acac0c604 Misc cleanups 2023-10-02 12:52:40 -05:00
greg7mdp ca9b6a946c If mapped mode was requested, revert to it after loading snapshot. 2023-10-02 13:43:10 -04:00
jgiszczak 2ef3a6c440 Merge branch 'main' into p2p-peer-throttle 2023-10-02 11:25:22 -05:00
greg7mdp 797f0452bd Update appbase to branch tip. 2023-10-02 11:48:14 -04:00
Kevin Heifner 17110a17d8 GH-1662 Add comment 2023-10-02 10:28:37 -05:00
greg7mdp 811192f6dc Update chainbase to tip. 2023-10-02 11:01:38 -04:00
Lin Huang efb067ad54 add missing disable_deferred_trxs_stage_2's dependency to its definition, revert unnecessary eosio_assert in its activation, and update the test 2023-10-02 10:34:59 -04:00
Kevin Heifner 70421b7d6a GH-1662 Minor cleanup 2023-10-02 07:37:07 -05:00
Jonathan Giszczak a6f7761433 Revise connection_monitor for thread safety. 2023-10-01 23:51:00 -05:00
Lin Huang 3a3e059cce add a disable_deferred_trxs_stage_2 dependency test 2023-10-01 22:20:43 -04:00
Lin Huang 3a11565c7f enfore the rule of disable_deferred_trxs_stage_2 dependency on disable_deferred_trxs_stage_1 programmably 2023-10-01 21:46:00 -04:00
Lin Huang 015ff42af8 use tester_no_disable_deferrd_trx instead of validating_tester_no_disable_deferrd_trx 2023-10-01 19:42:18 -04:00
Lin Huang 5d61a8ab58 add tests for disable_deferred_trxs_stage_2 2023-09-30 20:40:55 -04:00
Lin Huang 28ef3caaeb add tests for disable_deferred_trxs_stage_1 protocol feature 2023-09-30 17:40:59 -04:00
Lin Huang bdb607d113 use centralized testers for setup_policy::full_but_disable_deferrd_trx 2023-09-30 12:58:29 -04:00
Kevin Heifner ac4684a9ac GH-1662 Reduce the number of thread hops 2023-09-30 10:47:16 -05:00
greg7mdp 418a570b20 Update chainbase to tip:
- test both `mapped` and `mapped_shared` modes
- don't try to use the `pagemap` feature on platforms where it is not available
2023-09-30 09:45:21 -04:00
Lin Huang 83a7cd66b0 use a new setup_policy::full_but_disable_deferrd_trx for tests which cannot have disable_deferred_trx protocol features activated 2023-09-29 21:54:29 -04:00
Jonathan Giszczak 669ed0facc Revert mutex and lock type changes. 2023-09-29 18:23:47 -05:00
Kevin Heifner 5158ccd65d GH-1681 Remove prometheus-exporter-address option as it is ignored. Misc cleanup. 2023-09-29 15:54:36 -05:00
Kevin Heifner 25bb1572f2 Set keep_alive false and indicate close on reply.
Also add better error handling for ec
2023-09-29 15:38:50 -05:00
Kevin Heifner 5de8cf538b On a eof shutdown both and close for good measure. 2023-09-29 15:37:56 -05:00
Lin Huang 648b0164d3 Exclude DISABLE_DEFERRED_TRXS_STAGE_1 and DISABLE_DEFERRED_TRXS_STAGE_2 from full protocol feature activation in tests 2023-09-29 14:18:40 -04:00
greg7mdp 8140958a9f Update to appbase branch tip. 2023-09-29 12:52:17 -04:00
greg7mdp 7da7862877 Merge branch 'main' of github.com:AntelopeIO/leap into gh_1650 2023-09-29 12:04:13 -04:00
greg7mdp 73a6d22b77 Load snapshot in mapped_shared in leap-util, and revert to new mode as default. 2023-09-29 11:54:14 -04:00
Lin Huang cb966dda61 enforce deferred trxs retirement rules after disable_deferred_trxs_stage_1 and disable_deferred_trxs_stage_2 are activated 2023-09-29 11:11:36 -04:00
Gregory Popovitch 017eb43346 Merge pull request #1695 from AntelopeIO/gh_1570
Chainbase should balk on 3.1-4.0 chainbases
2023-09-29 09:50:38 -04:00
Lin Huang d8f975a6c2 make send_deferred, cancel_deferred and canceldelay no-op after DISABLE_DEFERRED_TRXS_STAGE_1 is activated 2023-09-29 09:47:35 -04:00
Lin Huang 5523fd5541 implement DISABLE_DEFERRED_TRXS_STAGE_1 and DISABLE_DEFERRED_TRXS_STAGE_2 protocol features 2023-09-29 09:05:41 -04:00
greg7mdp 4f2f8419db Update appbase to tip (branch main) 2023-09-29 08:49:52 -04:00
Lin Huang 133b33b617 Merge pull request #1643 from AntelopeIO/remove_defer_trx_config
Remove defer transaction configuration options
2023-09-28 21:47:42 -04:00
greg7mdp 63e6befcc8 Try making the new mode not the default one (renaming new mode mapped_private 2023-09-28 20:38:46 -04:00
Jonathan Giszczak 7e37de11f4 Convert connections mutex to resursive_mutex and update locks.
Split prometheus statistics out of connection_monitor into
connection_statistics_monitor.
2023-09-28 17:53:08 -05:00
Lin Huang 35321c95bf add missing permission delay back to link_delay_direct_parent_permission_test and minor refactoring 2023-09-28 18:22:58 -04:00
Peter Oschwald 78453357fc Merge pull request #1692 from AntelopeIO/oschwaldp/ph-fix
[PH] Trx Generator - Use default exception handler.
2023-09-28 16:21:14 -05:00
Matt Witherspoon 238471381e Merge pull request #1599 from AntelopeIO/boringssl
Replace OpenSSL dependency with pinned BoringSSL
2023-09-28 17:18:50 -04:00
greg7mdp 2914f4618b Use mapped_shared mode for chainbase when loading snapshot. 2023-09-28 14:55:51 -04:00
Peter Oschwald c24f6ff829 Use default excpetion handler.
The non-default exception handler was masking the issue and not terminating the process which was causing misleading errors downstream. With default exception handler there is a better exception message as well as termination of the process. This provides better handling upstream in the performance harness.
2023-09-28 13:42:50 -05:00
greg7mdp 121b0f7b7e Update chainbase to branch tip. 2023-09-28 14:15:25 -04:00
greg7mdp a0989466d2 Use Chainbase's branch with mapped mode updates. 2023-09-28 11:17:44 -04:00
Matt Witherspoon 705fd14c5b use fc::rand_bytes 2023-09-28 10:03:38 -04:00
Jonathan Giszczak 8d2c1c2426 Remove some unused machine-generated variables from custom shape file. 2023-09-27 16:30:32 -05:00
Jonathan Giszczak 4baec727ab Accept suggested refactoring. 2023-09-27 16:29:30 -05:00
Jonathan Giszczak 3708418ae1 Restore lock of connections mutex when connecting configured peers. 2023-09-27 16:19:35 -05:00
Jonathan Giszczak 4d136e33a2 Revert "Restore lock of connections mutex when connecting configured peers."
This reverts commit df6d948acb.
2023-09-27 16:00:48 -05:00
Jonathan Giszczak 7019b657a7 Thread safety. 2023-09-27 15:53:45 -05:00
Jonathan Giszczak 2f80663a23 Break encapsulation less.
Delegate reconnecting back to connections_manager rather than have
connection try to do it itself.
2023-09-27 15:49:19 -05:00
Jonathan Giszczak ed69238896 Renamed method. 2023-09-27 15:33:19 -05:00
Jonathan Giszczak 733849b51c Don't pass around iterators that may be invalidated by an erase. 2023-09-27 15:27:11 -05:00
Jonathan Giszczak df6d948acb Restore lock of connections mutex when connecting configured peers. 2023-09-27 14:46:34 -05:00
Jonathan Giszczak b16184aa25 Tolerate node running with no listen endpoints.
Add mock_connection constructor required by clang14.
2023-09-27 14:42:24 -05:00
Lin Huang 907d54df33 move modify_gto_for_canceldelay_test out of controller to delay_test 2023-09-27 14:43:39 -04:00
Lin Huang 2d7811d3f2 incorporate review comments for producer_plugin.cpp 2023-09-27 13:48:54 -04:00
Kevin Heifner cecfcf46da Merge pull request #1685 from AntelopeIO/GH-1662-ph
PH: Add a longer running read-only trx for tests
2023-09-27 12:03:10 -05:00
Kevin Heifner 4d3f090820 Use the doitslow trx action for testing perf harness 2023-09-27 11:25:34 -05:00
Kevin Heifner 82be471222 Fix is_prime to not always return true.
Verify that doitslow action runs for at least 100us
2023-09-27 11:04:47 -05:00
Matt Witherspoon dda0ff8b31 reproducible pinned builds 2023-09-27 11:21:36 -04:00
Lin Huang c07caf2770 minor refactoring 2023-09-27 10:16:08 -04:00
Kevin Heifner 9d55f8f464 Add in a slower read-only trx 2023-09-27 09:15:10 -05:00
Kevin Heifner a4661ef8ee Move logging template to TestHarness and remove gelf config 2023-09-27 08:24:21 -05:00
Lin Huang 0ef0175764 update max_transaction_delay_execute 2023-09-27 08:58:36 -04:00
Lin Huang c7032c5707 restore max_transaction_delay_create 2023-09-27 08:47:10 -04:00
Kevin Heifner 945438d035 Add a more time consuming read-only trx 2023-09-27 07:42:05 -05:00
Lin Huang 604b0e1a1d rewrite canceldelay_test2 2023-09-26 21:37:17 -04:00
Jonathan Giszczak 99f02c0641 Add rate limit parse unittest. 2023-09-26 19:27:34 -05:00
Lin Huang a4d2c5d3db rewrite canceldelay_test 2023-09-26 19:25:50 -04:00
Peter Oschwald 89b697da9c Merge pull request #1679 from AntelopeIO/oschwaldp/perf-harness-del-state
[PH] Delete state dirs in test logs.
2023-09-26 14:46:08 -05:00
Peter Oschwald 6348e9ac25 Narrow state dir deletion to the state dirs inside the node log dirs. 2023-09-26 14:06:32 -05:00
Peter Oschwald 33a577d6d2 Merge branch 'main' into oschwaldp/perf-harness-del-state 2023-09-26 13:04:24 -05:00
Peter Oschwald 61b8464ce5 Fix warning message. 2023-09-26 13:03:05 -05:00
Peter Oschwald 8632227ea5 Delete state dirs in test logs.
Log dirs were saving blockchain state which was causing log artifacts to be extremely large.  Remove state unless specifically configured to retain.

Fix location not passing delPerfLogs through.
2023-09-26 12:56:41 -05:00
Matt Witherspoon 3ca8b49af0 Merge pull request #1674 from AntelopeIO/custom_appbase_tests_signess_warns
fix some different signedness warnings in `custom_appbase_tests`
2023-09-25 21:27:34 -04:00
Lin Huang 43a50826e2 restore and adapt link_delay_link_change_heirarchy_test 2023-09-25 18:26:14 -04:00
Lin Huang 7c78c44d43 restore and adapt link_delay_unlink_test 2023-09-25 17:40:39 -04:00
Lin Huang 41ceb75a1a restore and adapt link_delay_link_change_test 2023-09-25 16:14:21 -04:00
Lin Huang b2418c95d0 restore and adapt link_delay_permission_change_with_delay_heirarchy_test 2023-09-25 15:30:08 -04:00
Lin Huang de5e3c7ab8 restore and adapt link_delay_permission_change_test 2023-09-25 15:15:11 -04:00
Lin Huang 508397df4f restore and adpat link_delay_direct_walk_parent_permissions_test 2023-09-25 14:09:15 -04:00
Lin Huang 41a5c3bfbb move generated_transaction_multi_index size checks to delayed_trx_blocked and delayed_action_blocked 2023-09-25 13:05:40 -04:00
Lin Huang 0b47abed68 restore link_delay_direct_test and link_delay_direct_parent_permission_test using msig contracts 2023-09-25 11:39:11 -04:00
Lin Huang 55c51c8952 simplify delayed_action_blocked and minor refactor 2023-09-25 11:35:53 -04:00
Matt Witherspoon 349da4ce9a Merge pull request #1673 from AntelopeIO/ATOMIC_VAR_INIT_bgone
remove usage of deprecated `ATOMIC_VAR_INIT` from eos-vm
2023-09-25 10:35:54 -04:00
Lin Huang 218f933fce move delete_auth from delay_tests.cpp to auth_tests.cpp 2023-09-25 08:34:04 -04:00
Matt Witherspoon 51e9358631 bump eos-vm submodule to main HEAD with ATOMIC_VAR_INIT removal 2023-09-24 17:17:24 -04:00
Matt Witherspoon 9ac6d2af83 fix some different signedness warnings in custom_appbase_tests 2023-09-24 14:27:54 -04:00
Matt Witherspoon 3257ee4884 bump eos-vm submodule to branch with ATOMIC_VAR_INIT removal 2023-09-24 14:25:03 -04:00
Lin Huang 0310c57001 adapt protocol_feature_tests/no_duplicate_deferred_id_test for delay_sec removal instead of removing it outright 2023-09-23 13:43:24 -04:00
Lin Huang 54c9384b60 Merge branch 'main' into remove_defer_trx_config 2023-09-23 13:29:49 -04:00
Matt Witherspoon c609ce746f Merge pull request #1671 from AntelopeIO/sec256k1_random_ctx
randomize secp256k1 context used for signing
2023-09-23 10:37:24 -04:00
Matt Witherspoon 41a1c02689 Merge pull request #1670 from AntelopeIO/secp256k1_bump
bump libsecp256k1 to v0.4.0
2023-09-23 10:31:15 -04:00
Jonathan Giszczak 453bfcfe2e Tolerate duplicate (empty) peer addresses in connection manager. 2023-09-22 20:11:31 -05:00
Jonathan Giszczak fb740ef572 Change language in p2p_multiple_listen_test for clarity. 2023-09-22 20:10:38 -05:00
Matt Witherspoon 33efa80fd2 randomize secp256k1 context used for signing 2023-09-22 17:46:35 -04:00
Matt Witherspoon c263d57e68 deprecated SECP256K1_CONTEXT_VERIFY/SIGN to SECP256K1_CONTEXT_NONE 2023-09-22 17:46:33 -04:00
Matt Witherspoon 48dcf3ce8d update to libsecp256k1 0.4.0 2023-09-22 17:46:23 -04:00
Kevin Heifner a44813512b Merge pull request #1667 from AntelopeIO/oschwaldp/perf-harness-updates
[PH] Performance Harness Updates
2023-09-22 13:48:18 -05:00
Peter Oschwald 90cbd5ef5e Use new github large runner for performance harness runs. 2023-09-22 11:40:00 -05:00
Peter Oschwald 131f705401 Need to use testUtil's log path here for nodeos logs. 2023-09-22 11:39:36 -05:00
Peter Oschwald 590fd51ba6 Fix name in workflow logs dir naming. 2023-09-22 11:03:36 -05:00
Peter Oschwald cafef7eabe Merge branch 'main' into oschwaldp/perf-harness-updates 2023-09-22 10:50:40 -05:00
Peter Oschwald 1be11b9115 Shorten logs directory naming. 2023-09-22 10:49:50 -05:00
Kevin Heifner f16f24b247 Merge pull request #1655 from AntelopeIO/GH-1639-max-trx-time-default
Change default max-transaction-time
2023-09-22 10:28:58 -05:00
Peter Oschwald 3ed0b74dc8 Try running on self-hosted runner. 2023-09-22 10:12:17 -05:00
Kevin Heifner b012cce7f5 GH-1639 Add init_read_threads 2023-09-22 09:21:43 -05:00
Kevin Heifner b077dc3e2a GH-1639 Update max-transaction-time help description 2023-09-22 09:19:51 -05:00
Peter Oschwald defc8a1874 Revert addition of defaults for read and write window configuration in testApiOpMode as it breaks backward compatibility. 2023-09-21 22:15:01 -05:00
Matt Witherspoon 9979695228 replace committed boringssl files with boringssl-build submodule 2023-09-21 22:37:18 -04:00
Peter Oschwald 8b52848d1d Merge branch 'main' into oschwaldp/perf-harness-updates 2023-09-21 21:01:19 -05:00
Peter Oschwald 1dcf366fa3 Fix ph_backward_compatibility workflow to use version full subcommand structure for cleos version. 2023-09-21 20:55:26 -05:00
Peter Oschwald d20903fc6b Fix cleos version full subcommand structure. 2023-09-21 20:37:26 -05:00
Peter Oschwald 207abdc6df Set default to false. 2023-09-21 20:25:10 -05:00
Peter Oschwald 264d4684b5 Add configurable leap-target override.
Allows the workflow to be run on a specific branch to get a specific version of the Performance Harness while allowing the tester to override which version of nodeos and cleos should be tested.
2023-09-21 20:05:47 -05:00
Peter Oschwald da223ca18f Use nodeos --full-version for better traceability. 2023-09-21 20:01:37 -05:00
Lin Huang 8ad615a23b Merge branch 'main' into remove_defer_trx_config 2023-09-21 18:04:55 -04:00
Peter Oschwald e26f0a29d7 Add command line config parameters for read-only-write-window-time-us and read-only-read-window-time-us.
Make default write window smaller and read window larger during read only tests (testApiOpMode).
2023-09-21 16:00:03 -05:00
Kevin Heifner b4c28265b7 Merge pull request #1666 from AntelopeIO/full-version
PH: Include full version in performance harness reports
2023-09-21 15:56:30 -05:00
Kevin Heifner aec57dcff2 Include full version in perf harness reports 2023-09-21 15:06:15 -05:00
Peter Oschwald a316f3219f Move increment of acknowledged to after logging of ack data. 2023-09-21 15:04:34 -05:00
Kevin Heifner 6a4d3e36f2 Merge pull request #1665 from AntelopeIO/GH-1661-conn-reset-main
[4.0 -> main] HTTP: Check for connection_reset
2023-09-21 14:57:45 -05:00
Lin Huang 5b1f7f2070 Merge branch 'main' into remove_defer_trx_config 2023-09-21 14:45:33 -04:00
Kevin Heifner 042979658c Merge remote-tracking branch 'origin/release/4.0' into GH-1661-conn-reset-main 2023-09-21 13:13:06 -05:00
Kevin Heifner cdfe867651 Merge pull request #1663 from AntelopeIO/GH-1661-conn-reset-4.0
[4.0] HTTP: Check for connection_reset
2023-09-21 13:10:50 -05:00
Lin Huang d99579178e remove final trx.delay_sec left behind in transaction_context.cpp 2023-09-21 13:18:18 -04:00
Lin Huang 4603c86449 remove delay member from transaction_context class 2023-09-21 12:47:59 -04:00
Lin Huang fe45fc4473 add and update tests for blocking delayed transactions 2023-09-21 08:13:56 -04:00
Kevin Heifner a6465e6509 GH-1639 Additional test 2023-09-20 20:54:14 -05:00
Kevin Heifner 3f88e96c2a GH-1661 Check for connection_reset similar to on_read 2023-09-20 19:40:13 -05:00
Jonathan Giszczak ffee0df209 Use std::any_of when finding supplied peers to unlimit a connection. 2023-09-20 18:00:49 -05:00
Jonathan Giszczak 97591fe467 Use reconnect method as intended, and avoid threading issue. 2023-09-20 15:49:25 -05:00
Kevin Heifner e6bbaafceb GH-1639 fix gcc warning 2023-09-20 14:13:01 -05:00
Kevin Heifner 24f4aad3e1 GH-1295 Project index to default iterator 2023-09-20 11:39:01 -05:00
jgiszczak f8763ae9ab Merge branch 'main' into p2p-peer-throttle 2023-09-20 11:20:51 -05:00
Kevin Heifner ae2424d685 GH-1639 More simplification 2023-09-20 11:14:32 -05:00
Kevin Heifner 8d221a777c GH-1639 Modify exec_pri_queue to manage the 3 priority queues instead of three_queue_executor.
Simplifies logic fixes issues with previous approach.
Also add some poll() calls to make sure queues have latest tasks to execute.
2023-09-20 10:21:29 -05:00
Jonathan Giszczak 05be825d46 Update netApi connect test. 2023-09-19 21:28:06 -05:00
Kevin Heifner e6b8493916 GH-1639 Use same ec for both cancel calls 2023-09-19 14:53:25 -05:00
Kevin Heifner 6394011dfc GH-1639 Revert using of spaceship operator as it appears to not work on GCC 10.5 2023-09-19 13:44:47 -05:00
Kevin Heifner d2cd84c72f GH-1639 Use canonical spaceship operator 2023-09-19 12:57:30 -05:00
Kevin Heifner 36be3f79d4 GH-1639 Favor this over rhs for queue comparison. Also use C++20 spaceship comparison. 2023-09-19 11:53:02 -05:00
Matt Witherspoon 01b128e819 Merge pull request #1654 from AntelopeIO/no_nullptr_arith
do not perform arithmetic on `nullptr` inside WAVM serialization
2023-09-19 09:49:29 -04:00
Matt Witherspoon 9ae44920fc Merge pull request #1653 from AntelopeIO/oc_misalign_cc_writeout
resolve misaligned access in OC code cache write out
2023-09-19 09:49:11 -04:00
Matt Witherspoon 0234a4129a do not perform arithmetic on nullptr 2023-09-18 22:15:37 -04:00
Lin Huang 840c05b811 block delayed transactions 2023-09-18 22:14:40 -04:00
Matt Witherspoon 7ca665761a resolve misaligned access in OC code cache write out 2023-09-18 22:06:46 -04:00
Lin Huang 076e18af15 changedeferred_trxs_deadline to 10ms 2023-09-18 21:38:28 -04:00
Matt Witherspoon f409cc79f6 Merge remote-tracking branch 'origin/main' into HEAD
required minor fixup to tester.cmakes
2023-09-18 21:30:31 -04:00
Kevin Heifner 11df9d14bf GH-1639 Decrease read-only-threads from 128 to 16 since ci/cd was timing out 2023-09-18 19:48:49 -05:00
Jonathan Giszczak e88c259022 Merge branch 'p2p-peer-throttle' of github.com:AntelopeIO/leap into p2p-peer-throttle 2023-09-18 17:07:23 -05:00
Kevin Heifner 777c8d8953 Remove stacktrace additions 2023-09-18 17:05:08 -05:00
Matt Witherspoon 7be27dce8a Merge pull request #1649 from AntelopeIO/no_nullptr_memcpy_getactiondata
avoid possible memcpy with nullptr when action data size is 0
2023-09-18 17:36:17 -04:00
Jonathan Giszczak ec2d36dcbe Restored connection reconnect method. WIP 2023-09-18 16:15:49 -05:00
Matt Witherspoon 0e1d5fac9b Update libraries/chain/webassembly/action.cpp
Co-authored-by: Gregory Popovitch <greg7mdp@gmail.com>
2023-09-18 17:04:38 -04:00
Kevin Heifner 1368ecd0b7 GH-1639 Fix producer_plugin shutdown of read only threads to prevent SEGFAULT and deadlock. 2023-09-18 15:48:56 -05:00
Kevin Heifner 7a7aa583d4 GH-1639 Remove unneeded dependency on producer_plugin 2023-09-18 15:47:48 -05:00
Lin Huang 191d07f9d7 Merge branch 'remove_defer_trx_config' of https://github.com/AntelopeIO/leap into remove_defer_trx_config 2023-09-18 16:42:46 -04:00
Lin Huang eeea80de41 add back missing num_processed++; 2023-09-18 16:41:22 -04:00
Lin Huang 8067ad239d Merge branch 'main' into remove_defer_trx_config 2023-09-18 16:14:33 -04:00
Lin Huang c495ab1045 use >= for expiration check and logging improvement 2023-09-18 16:13:54 -04:00
Kevin Heifner 1a6631a0b1 GH-1639 read-only trxs only allowed when read-only-threads > 0 2023-09-18 14:02:35 -05:00
Matt Witherspoon 62cce64e56 avoid possible memcpy with nullptr when action data size is 0 2023-09-18 14:33:06 -04:00
Kevin Heifner 3e40394a2f GH-1639 Revert changes to test 2023-09-18 12:19:13 -05:00
Kevin Heifner f038d65543 GH-1639 Enable contracts-console on all nodes 2023-09-18 12:00:05 -05:00
Kevin Heifner 274925604c GH-1639 Add <optional> include 2023-09-18 10:56:37 -05:00
Kevin Heifner fd232b21eb GH-1639 Add <optional> include 2023-09-18 10:47:33 -05:00
Kevin Heifner 494fbae3f5 GH-1639 Execute read-only trxs only on read-only threads 2023-09-18 10:33:08 -05:00
Matt Witherspoon cf0d9f43ae Merge pull request #1648 from AntelopeIO/wavm_unaligned_fix
avoid unaligned accesses to types casted from byte stream in WAVM's wasm parser
2023-09-18 11:23:43 -04:00
Matt Witherspoon 281dcd3ce6 avoid unaligned accesses to types casted from byte stream 2023-09-18 10:35:08 -04:00
Peter Oschwald 7c9313022c Merge pull request #1638 from AntelopeIO/update_add_eosio_test_executable_deps
Refactor adding EosioChain INTERFACE library for use in  add_eosio_test_executable macro and by itself.
2023-09-18 09:34:02 -05:00
Matt Witherspoon 0fa4f7e9ec Merge pull request #1647 from AntelopeIO/bls_primitives_bios_boot_tut
add `BLS_PRIMITIVES` to bios boot tutorial script
2023-09-18 10:15:02 -04:00
Lin Huang 013b20ff4b retire expired deferred transactions 2023-09-17 23:12:11 -04:00
Matt Witherspoon de8d1cc3f0 add BLS_PRIMITIVES to bios boot tutorial script 2023-09-17 10:44:19 -04:00
Lin Huang 2578ead588 remove _blacklisted_transactions, remove_expired_blacklisted_trxs, and blacklisted_transactions_total 2023-09-16 16:31:29 -04:00
Lin Huang d233ed604b Merge branch 'main' into remove_defer_trx_config 2023-09-15 17:15:45 -04:00
Peter Oschwald ec54d364d9 Merge branch 'main' into update_add_eosio_test_executable_deps 2023-09-15 15:13:23 -05:00
Peter Oschwald b1addd9b94 Order matters for EosioTester linked libraries.
Some cleanup as well.
2023-09-15 15:11:59 -05:00
Kevin Heifner 595838505a Merge pull request #1645 from AntelopeIO/GH-1614-rm-max-non-privileged-inline-action-size
Remove max-nonprivileged-inline-action-size option
2023-09-15 15:03:13 -05:00
Kevin Heifner d8f99d50d8 GH-1614 Cleanup inline action tests 2023-09-15 14:08:30 -05:00
Kevin Heifner 3e3f8d0d20 GH-1614 remove unused config_max_nonprivileged_inline_action_size option 2023-09-15 13:57:52 -05:00
Kevin Heifner ae1a89cf55 GH-1639 Change default max-transaction-time from 30 to 499 2023-09-15 13:55:08 -05:00
Peter Oschwald 64e414fb34 Create EosioTester INTERFACE library.
Fix target_include_directories for EosioTesterBuild.cmake.in
2023-09-15 13:23:52 -05:00
Kevin Heifner 1a7e37ac48 GH-1614 Remove max-nonprivileged-inline-action-size from docs 2023-09-15 12:43:59 -05:00
Kevin Heifner 509c11f3be GH-1614 Fix tests for removal of subjective max_nonprivileged_inline_action_size limit and add new test for 512k limit 2023-09-15 12:13:28 -05:00
Kevin Heifner 4057c4bd9a GH-1614 Remove subjective max_nonprivileged_inline_action_size limit 2023-09-15 12:10:06 -05:00
Peter Oschwald 3e22bd1988 Create EosioChain interface library. 2023-09-15 12:05:54 -05:00
Jonathan Giszczak e59451dbfb Remove encapsulation violation.
Address peer review comments.
2023-09-15 11:00:53 -05:00
Lin Huang c69b589879 Remove defer transaction options --max-scheduled-transaction-time-per-block-ms and --incoming-defer-ratio 2023-09-15 09:03:09 -04:00
Peter Oschwald 4b346ed9bb Add a couple boost deps to add_eosio_test_executable macro
These dependencies allow for additional use of add_eosio_test_executable outside of leap for executables loosely defined as test artifacts.  For example, compiling a transaction generator in another repository.
2023-09-14 12:50:17 -05:00
Peter Oschwald 76a104590c Merge pull request #1637 from AntelopeIO/perf_harness_read_only_trx_reporting_fix
[PH] Fix issues with processing read-only transactions.
2023-09-14 12:46:54 -05:00
Peter Oschwald 347f6e8f0a Fix issues with processing read-only transactions.
Read only transactions are not logged in trace for cpu usage since they are not billed as such, thus use the elapsed time for the transaction processing to get the cpu usage overall.

Because read only transactions don't make it into blocks in the block log, need to add the transactions from the log file into the data block transaction counter for use in tps stats calculations in performance harness.
2023-09-14 11:42:20 -05:00
Lin Huang 511d5aa5d9 Merge pull request #1633 from AntelopeIO/mem_map_test
Add a test for memory mappings
2023-09-14 09:20:40 -04:00
Lin Huang cfab778b56 Merge branch 'main' into mem_map_test 2023-09-14 08:45:38 -04:00
Matt Witherspoon d755b727ef Merge remote-tracking branch 'origin/main' into HEAD 2023-09-13 22:57:05 -04:00
Matt Witherspoon 85280f510e Merge pull request #1635 from AntelopeIO/moar_modexp_benchmarking
add some additional test cases in modexp benchmark
2023-09-13 22:55:35 -04:00
Matt Witherspoon d3275c209f check that MSB of modulus is not 0
otherwise B<M case may not be true by setting MSB of base to 0
2023-09-13 22:13:42 -04:00
Matt Witherspoon e2be85a296 prevent anything from find_package(OpenSSL)ing 2023-09-13 16:37:55 -04:00
Matt Witherspoon aee9599ebf add some additional test cases in modexp benchmark 2023-09-13 16:27:14 -04:00
Matt Witherspoon d5e08145dd Merge pull request #1630 from AntelopeIO/abieos_rapidjson_c++20
bump abieos submodule to newer rapidjson submodule to fix c++20 warnings
2023-09-13 14:44:30 -04:00
Lin Huang 38250a501b Add a test for memory mapping 2023-09-13 14:18:06 -04:00
Matt Witherspoon 62ed7337a0 bump abieos submodule to main w/ rapidjson c++20 warn fix 2023-09-13 14:06:44 -04:00
Peter Oschwald 540e371de5 Merge pull request #1624 from AntelopeIO/trx_gen_cleaup_deps
Cleanup unnecessary dependency on chain_plugin by trx_generator.
2023-09-13 12:45:45 -05:00
Matt Witherspoon fe55f6d106 Merge pull request #1629 from AntelopeIO/remove_macos_iostream_war
remove now unneeded macOS z/bz2/lzma/zstd boost iostreams workaround
2023-09-13 12:18:29 -04:00
Matt Witherspoon 17df65b789 Merge pull request #1628 from AntelopeIO/eosvm_typename
add a needed `typename` for newer clang compilers
2023-09-13 12:10:27 -04:00
Matt Witherspoon 872cfc94b7 Merge pull request #1627 from AntelopeIO/se_wallet_yield
fix build on macOS: add yield for Secure Enclave wallet's `to_string()` call
2023-09-13 12:10:11 -04:00
Matt Witherspoon 57335b8c98 bump abieos submodule to branch with rapidjson c++20 fix 2023-09-13 11:53:43 -04:00
Matt Witherspoon c9a40f6e2a remove now unneeded macOS z/bz2/lzma/zstd iostreams workaround 2023-09-13 11:40:38 -04:00
Matt Witherspoon a3a7cea1d8 add typename needed for some clang compilers here 2023-09-13 11:36:32 -04:00
Matt Witherspoon 4fbc551203 add yield for Secure Enclave wallet's to_string() call 2023-09-13 11:32:27 -04:00
Peter Oschwald fc64e0f7fd Add Boost::program_options to target_link_libraries for trx_generator_tests as well.
Move include from hpp into cpp.

Remove find_package.
2023-09-12 15:23:18 -05:00
Peter Oschwald 785e5afe43 Add find_package. 2023-09-12 14:32:28 -05:00
Peter Oschwald bae566b878 Merge branch 'main' into trx_gen_cleaup_deps 2023-09-12 13:34:07 -05:00
Peter Oschwald 79f742af5c Cleanup unnecessary dependency on chain_plugin. 2023-09-12 13:32:57 -05:00
Lin Huang fc604dc505 Merge pull request #1619 from AntelopeIO/smarter_lib_head_catchup_on_main
Prevent unnecessary lib<->head catchup transition changes
2023-09-12 09:26:51 -04:00
Lin Huang 3869235888 revert the change for my head vs peer lib check 2023-09-11 20:18:39 -04:00
Jonathan Giszczak 3f67034a59 Update supplied_peers only once per configured peer and once per API call. 2023-09-11 19:08:09 -05:00
Jonathan Giszczak b24f8e3b84 Fix bare numeric value for peer throttle. 2023-09-11 16:25:33 -05:00
Jonathan Giszczak 92e402213e Fix build error. Lambda captures by value are const.
Update connections_manager::add method.
Clean up cruft and rename connection data structure back to
'connections'.
2023-09-11 15:53:19 -05:00
Lin Huang 0b3cd1f6e5 prevent unnecessary lib<->head catchup transition changes 2023-09-11 15:04:29 -04:00
Jonathan Giszczak e998cc6ecd Debug commit, doesn't build. 2023-09-11 11:27:26 -05:00
Lin Huang b73c28d51e Merge pull request #1611 from AntelopeIO/read_only_threads_128
Increase maximum supported number of read-only threads to 128
2023-09-08 16:13:44 -04:00
Lin Huang 920f325d03 Add comments explaining why max supported number of read-only threads can be increased 2023-09-08 11:02:30 -04:00
Lin Huang 8a571d88d8 Increase maximum allowed number of read-only threads to 128 2023-09-08 09:17:33 -04:00
Lin Huang 185a13567c Merge pull request #1549 from AntelopeIO/leap_single_wasmif
Use a single WASM interface per nodeos (instead of per thread) to save WASM compile time and cache
2023-09-07 22:41:31 -04:00
Lin Huang ff2160e5cc Merge branch 'main' into leap_single_wasmif 2023-09-07 22:07:06 -04:00
Lin Huang 0eebbac98b bump eos-vm to the head of main 2023-09-07 21:30:18 -04:00
jgiszczak 1983d90bc9 Merge branch 'main' into p2p-peer-throttle 2023-09-07 11:06:52 -05:00
Matt Witherspoon 061e79d5dd Merge pull request #1604 from AntelopeIO/modexp_boringssl_test_vectors
add 100+ modexp test vectors from boringssl
2023-09-07 10:21:34 -04:00
Matt Witherspoon 8ee6fee9ca add modexp tests from boringssl 2023-09-06 18:33:41 -04:00
Matt Witherspoon b832c7ede3 use data_size() for sha256 length 2023-09-05 21:46:11 -04:00
Matt Witherspoon fffa8f91dc add generated boringssl files 2023-09-05 21:29:04 -04:00
Matt Witherspoon 636117f523 warning fixes 2023-09-05 21:29:02 -04:00
Matt Witherspoon 2ff2b9c7ac replace openssl with boringssl
Co-authored-by: 766C6164 <valterdaw@gmail.com>
2023-09-05 21:28:53 -04:00
Matt Witherspoon 409eb5960c Merge pull request #1592 from AntelopeIO/cfile_warn_be_gone
wrap `cfile`'s `fclose()` to avoid warning on latest glibc
2023-09-05 14:39:21 -04:00
Matt Witherspoon 3b29ca4e8e and noexcept it 2023-09-05 11:29:06 -04:00
Matt Witherspoon 1b0ecccf44 use inline instead of static here 2023-09-05 10:56:35 -04:00
Matt Witherspoon 62de747499 wrap fclose() to avoid warning on latest glibc 2023-09-05 10:20:06 -04:00
Matt Witherspoon 1adff8e7bb Merge pull request #1591 from AntelopeIO/switch_include_property
switch out `COMPILE_FLAGS` for `INCLUDE_DIRECTORIES` in fc's rapidjson cmake
2023-09-05 10:04:55 -04:00
Matt Witherspoon df98be0f80 switch out COMPILE_FLAGS for INCLUDE_DIRECTORIES 2023-09-04 18:34:44 -04:00
jgiszczak 1eb1e44a56 Merge branch 'main' into p2p-peer-throttle 2023-09-01 10:57:20 -05:00
Lin Huang 494738563d bump eos-vm to the latest of eos_vm_single_wasmif (prevent invalid sharing of compiled mod in backend) 2023-08-31 21:25:32 -04:00
Peter Oschwald 5018093f4e Merge pull request #1579 from AntelopeIO/configurable-trx-generator
Make transaction generator a configurable option to TransactionGeneratorsLauncher.
2023-08-31 16:29:27 -05:00
Lin Huang 5212bcb011 Merge branch 'main' into leap_single_wasmif 2023-08-31 12:14:22 -04:00
Lin Huang 28aa452326 incorporate review comments 2023-08-31 11:39:38 -04:00
Lin Huang 828b47e961 update to use backend's share method 2023-08-31 08:55:02 -04:00
Jonathan Giszczak 28bb38d2e5 Added throttle exception for configured p2p-peer-addresses.
Added additional code comments.
Addressed peer review comment.
2023-08-30 16:05:40 -05:00
Peter Oschwald 9068d3aff5 Merge branch 'main' into configurable-trx-generator 2023-08-30 16:00:37 -05:00
Gregory Popovitch b7471261c2 Merge pull request #1577 from AntelopeIO/update_bls_tip
Update bls12 submodule to tip
2023-08-30 16:28:42 -04:00
Peter Oschwald 599fda8982 Update documentation. 2023-08-30 14:41:20 -05:00
Peter Oschwald 9f32850ac3 Rename and refactor launch_transactions_generator to TransactionGeneratorsLauncher. 2023-08-30 13:50:16 -05:00
Peter Oschwald d26a930fb8 Some cleanup from being included in TestHarness module. 2023-08-30 13:35:13 -05:00
Peter Oschwald 6a49cbc94d Make transaction generator a configurable option to PerformanceHarness. 2023-08-30 13:16:01 -05:00
greg7mdp ee50489dcd Update bls12 submodule to tip 2023-08-30 00:10:11 -04:00
Kevin Heifner 3534201bae Merge pull request #1563 from AntelopeIO/rm-operators
Remove some conversion operators
2023-08-29 20:54:35 -05:00
Kevin Heifner fe0b68929a Removed unneeded operator!= 2023-08-29 20:15:47 -05:00
Jonathan Giszczak 92e4e7cefd Require IPv6 addresses to be in square bracket format.
Fix parsing and overflow problems and address peer review comments.
Extend throttle test to add another throttle prefix.
2023-08-29 19:24:26 -05:00
Gregory Popovitch 82fc678740 Merge pull request #1575 from AntelopeIO/update_chainbase_tip
Update chainbase to tip (reduce memory usage)
2023-08-29 20:17:28 -04:00
greg7mdp c7c9169bd5 Expressly refer to chain-state-db-size-mb for user-friendliness. 2023-08-29 18:15:28 -04:00
greg7mdp 97d45f09bc Fix possible mistake in error message in test. 2023-08-29 16:11:40 -04:00
greg7mdp cde44e1356 Check that configured state db size doesn't exceed chainbase's maximum of 8TiB 2023-08-29 16:08:47 -04:00
greg7mdp cf39c5d413 Update test to account for chainbase increased capacity. 2023-08-29 15:45:56 -04:00
greg7mdp 094308a54f Update chainbase to tip (reduce memory usage) 2023-08-29 14:05:46 -04:00
Peter Oschwald efae4eea6b Merge pull request #1535 from AntelopeIO/create-performance-harness-module
Create performance harness module
2023-08-28 15:44:17 -05:00
Peter Oschwald 76c8abb326 Merge branch 'main' into create-performance-harness-module 2023-08-28 15:11:06 -05:00
Peter Oschwald 874e81696b Couple minor verbiage tweaks and clarifications. 2023-08-28 15:09:29 -05:00
Gregory Popovitch 6ea65556af Merge pull request #1564 from AntelopeIO/update_bls12_tip
Update `bls12-381` submodule to tip (comparison operators)
2023-08-26 21:53:53 -04:00
Kevin Heifner cc4fc962c8 Merge pull request #1567 from YaroShkvorets/patch-1
Fix `http_port` in boot script
2023-08-26 15:46:17 -05:00
Yaro Shkvorets fad34b60fb Update bios-boot-tutorial.py 2023-08-26 14:39:48 -04:00
Lin Huang bed6fbcb87 bump eos-vm to head of eos_vm_single_wasmif 2023-08-26 12:07:30 -04:00
Kevin Heifner 54a05d34b4 Restore tests to echo public_key now that operator<< has been restored 2023-08-25 21:23:44 -05:00
Kevin Heifner f1d66d4bf9 Restore tests to echo public_key now that operator<< has been restored 2023-08-25 21:21:59 -05:00
Kevin Heifner 3aab7c7384 Add back in operator<< 2023-08-25 18:28:28 -05:00
Kevin Heifner b16c5f5a23 Fix deepmind logging. Also attempt to fix libtester. 2023-08-25 17:49:06 -05:00
Jonathan Giszczak e1c1d42920 Move block sync rate limit parsing to plugin initialize. 2023-08-25 17:09:51 -05:00
greg7mdp 33c98f1d38 Update bls12-381 submodule to tip (comparison operators) 2023-08-25 18:05:37 -04:00
Kevin Heifner e69109cf4d Remove operator<< from public_key. Remove some conversion operators. Add some operator== for performance. 2023-08-25 16:27:49 -05:00
Jonathan Giszczak 3a508641e8 Move block sync throttling to the correct layer in the call stack.
Remove exponential backoff in throttle and utilize existing retry
mechanism.
2023-08-25 15:23:32 -05:00
Jonathan Giszczak dc54d46bde Further tweak the sync throttle test for machines faster than mine. 2023-08-24 16:56:33 -05:00
Jonathan Giszczak b92d84cae9 Address review comments in net_plugin.
Clarify variable names in p2p throttled sync test and tweak numbers.
Fix p2p throttled test to actually function (waitForBlock has a hidden
default timeout).
Bump up timeout in block_log_util_test.
2023-08-24 16:14:16 -05:00
Jonathan Giszczak 70b530bb4a Experiment: How many tests fail if waitForObj default times out 2023-08-24 14:07:58 -05:00
Lin Huang 47e0372ab2 Merge branch 'main' into leap_single_wasmif 2023-08-23 13:27:27 -04:00
Lin Huang fd7d561602 bump eos-vm to the head of eos_vm_single_wasmif 2023-08-23 12:17:20 -04:00
Lin Huang bec7ce87f7 lock wasm_instantiation_cache only when read only threads are processing transactions 2023-08-23 11:16:49 -04:00
jgiszczak 3789d175e1 Merge branch 'main' into p2p-peer-throttle 2023-08-23 01:15:22 -05:00
Jonathan Giszczak 303c3d6256 Add exponential backoff to throttle. Fix wretched math.
Add necessary custom topology for p2p_sync_throttle_test.
2023-08-22 19:52:36 -05:00
Lin Huang 2773c50364 add a mutex to wasm_instantiation_cache 2023-08-22 19:14:30 -04:00
Lin Huang 1451b6c1c9 simplify get_instantiated_module() and make common case faster 2023-08-22 18:12:29 -04:00
Matt Witherspoon 1ac060552d Merge pull request #1526 from AntelopeIO/negate_after
negate after converting to unsigned to avoid UB on minimum signed value
2023-08-22 11:45:11 -04:00
Jonathan Giszczak e68743ab5b Support throttling block syncing to peers. WIP 2023-08-22 03:16:45 -05:00
Matt Witherspoon ff528b688e remove now redundant signed cast 2023-08-21 22:06:32 -04:00
Matt Witherspoon f68377f934 two more negations that should go after unsigned conversion 2023-08-21 11:44:18 -04:00
Matt Witherspoon 614b005f6c add a comment on negating after conversion to unsigned 2023-08-21 11:42:45 -04:00
Lin Huang 7eff62bf7b use single wasm_interface; remove wasm_interface_collection.hpp and wasm_interface_collection.cpp; simplify multi-threading wasm_interface code significantly 2023-08-18 21:37:31 -04:00
Peter Oschwald 938fefedce Merge branch 'main' into create-performance-harness-module 2023-08-18 15:58:47 -05:00
Peter Oschwald 8da051aae6 Remove commented out import. 2023-08-18 15:57:51 -05:00
Peter Oschwald c6f9387742 Refactor PerformanceHarness into python module.
Added PerformanceHarnessScenarioRunner to import PerformanceHarness module and allow configuring and running test scenarios previously directly accessible through performance_test.py and performance_test_basic.py which are now contained in the module.
2023-08-18 15:50:13 -05:00
Peter Oschwald 43a5c1a257 Rename performance_tests to PerformanceHarness.
Performance Harness is being moved into a python module, this is the first prep step.
2023-08-18 15:18:22 -05:00
Gregory Popovitch fb9a0e7ffe Merge pull request #1530 from AntelopeIO/gcc_version
Update gcc version check in CMakeLists.txt.
2023-08-18 16:18:01 -04:00
greg7mdp 4127a5c083 Allow gcc 10.2 to support debian distrib. 2023-08-18 14:44:22 -04:00
greg7mdp 1ae864b799 Update gcc version check in CMakeLists.txt 2023-08-18 12:27:27 -04:00
Kevin Heifner a640639158 Merge pull request #1502 from AntelopeIO/GH-1359-prometheus
Prometheus: Add speculative block metrics
2023-08-18 07:08:42 -04:00
Lin Huang 00619bf9cf use single backend per thread 2023-08-17 18:52:44 -04:00
Matt Witherspoon 6132e3be22 Merge pull request #1524 from AntelopeIO/chainbase_c++operatorwarn
add `const` to `operator==` & `operator!=` to avoid c++20 warning in chainbase
2023-08-17 18:35:25 -04:00
Matt Witherspoon 743951658e negate after converting to unsigned to avoid UB on min value 2023-08-17 18:21:33 -04:00
Matt Witherspoon 70d840a6d1 bump chainbase to HEAD w/ c++20 warning fix 2023-08-17 17:16:55 -04:00
Matt Witherspoon 21fd1f9823 bump chainbase w/ c++20 warning fix for operator==/!= 2023-08-17 16:15:06 -04:00
Kevin Heifner fbad37f3ab GH-1359 Renamed num_blocks, block_num 2023-08-17 13:40:56 -05:00
Lin Huang a78b8a9b0d Merge pull request #1484 from AntelopeIO/leap_decouple_exec_ctx
The companion Leap PR for using a single execution context per wasm interface
2023-08-16 21:24:46 -04:00
Lin Huang d73fe1b460 fix a bad merge from main which missed is_exec_ctx_created_by_backend parameter 2023-08-16 20:46:41 -04:00
Lin Huang 4f17572478 bump eos-vm to the head 2023-08-16 18:25:35 -04:00
Lin Huang d56e7f6325 Merge branch 'main' into leap_decouple_exec_ctx 2023-08-16 18:12:35 -04:00
Kevin Heifner 79dec0c869 GH-1359 Add nodeos_ prefix 2023-08-16 14:25:46 -05:00
Kevin Heifner cd82cd5dbe Merge remote-tracking branch 'origin/main' into GH-1359-prometheus 2023-08-16 13:37:12 -05:00
Lin Huang 949c7c4515 Merge pull request #1498 from AntelopeIO/oc_tier_ro_thread_mem_fonfig
Set specific sliced pages for read-only threads in EOS VM OC Tierup
2023-08-16 14:00:31 -04:00
jgiszczak c3c59ed78f Merge pull request #1477 from AntelopeIO/prometheus-peer-statistics
Add per peer prometheus metrics and a TUI to view them.
2023-08-16 12:35:05 -05:00
Lin Huang 8891fffcbc Merge branch 'main' into oc_tier_ro_thread_mem_fonfig 2023-08-16 12:36:27 -04:00
Lin Huang 75c5ebb476 skip OC test if platform is not Linux 2023-08-16 12:35:52 -04:00
Matt Witherspoon 4ea8154f1c Merge pull request #1486 from AntelopeIO/bls_integration
BLS host functions; integration branch -> main merge
2023-08-16 10:52:46 -04:00
Matt Witherspoon 26542ab790 Merge pull request #1499 from AntelopeIO/leaky_oc_exec_mapping
fix leaky EOS VM OC executor code mapping
2023-08-16 10:52:34 -04:00
Kevin Heifner 5148c87b40 GH-1359 Fix spelling 2023-08-16 09:47:24 -05:00
Kevin Heifner 86cca17b07 GH-1359 Reduce code duplication by using a struct 2023-08-16 09:47:07 -05:00
Gregory Popovitch 4b8fe6ad10 Merge pull request #1500 from AntelopeIO/greg_nodiscard
Add some `[[nodiscard]]` attributes and remove unused type
2023-08-16 09:50:13 -04:00
Kevin Heifner d20ad1688c GH-1359 Add speculative block metrics to prometheus 2023-08-16 07:28:28 -05:00
Lin Huang 1923622ff8 Add a test to verify virtual memory taking by OC does not grow by TBs as the number of read-only threads increases 2023-08-15 20:58:34 -04:00
greg7mdp ea25c900e3 Merge branch 'main' of github.com:AntelopeIO/leap into greg_nodiscard 2023-08-15 20:26:01 -04:00
greg7mdp 948d258846 Add some [[nodiscard]] attributes and remove unused type 2023-08-15 20:24:07 -04:00
Matt Witherspoon e9ace457e4 fix leaky EOS VM OC executor code mapping 2023-08-15 17:58:32 -04:00
jgiszczak a0b3985697 Merge branch 'main' into prometheus-peer-statistics 2023-08-15 15:59:31 -05:00
Jonathan Giszczak 1f1ea007b3 Update help preamble to better describe net-util's current capabilities. 2023-08-15 15:59:03 -05:00
Matt Witherspoon 2ce7b22a6a Merge pull request #1495 from AntelopeIO/fix_arm_no_jit
fix compilation on ARM -- ifdef out an EOS VM JIT piece when not supported
2023-08-15 15:54:26 -04:00
Lin Huang 0352ec5a55 Keep original 529 sliced pages for main thread OC tierup; make sure tierup and OC runtime do not create slices at the same time 2023-08-15 15:43:15 -04:00
Matt Witherspoon 460eefb1bb ifdef out EOS VM JIT when not supported 2023-08-15 13:46:45 -04:00
Matt Witherspoon 44046f5359 Merge pull request #1493 from AntelopeIO/boost-1.83
upgrade to boost 1.83
2023-08-15 12:18:28 -04:00
Matt Witherspoon 72026c4a1d Merge pull request #1492 from AntelopeIO/dry_run_sign_compare
fix sign-compare warning in dry_run_trx_tests
2023-08-15 12:18:18 -04:00
jgiszczak e0deb0733e Merge branch 'main' into prometheus-peer-statistics 2023-08-15 11:00:12 -05:00
Lin Huang d175de698d Use sliced_pages_for_ro_thread EOS VM OC Tierup 2023-08-15 10:58:28 -04:00
Kevin Heifner 5e11e4b065 GH-1359 Add total_time, total_elapsed_time, and incoming block latency to prometheus 2023-08-15 08:12:25 -05:00
Kevin Heifner a5d8f721eb Merge pull request #1481 from AntelopeIO/GH-1432-spec-block
Smarter block deadlines for speculative blocks
2023-08-15 07:29:37 -04:00
Kevin Heifner e3adab4f63 GH-1432 Fix comment 2023-08-14 16:56:34 -05:00
Matt Witherspoon df31833101 fix sign-compare warning in dry_run_trx_tests 2023-08-14 16:37:36 -04:00
Matt Witherspoon 667a31f401 upgrade to boost 1.83 2023-08-14 16:31:20 -04:00
Lin Huang 295bb7cf2e Merge branch 'main' into leap_decouple_exec_ctx 2023-08-14 16:01:56 -04:00
jgiszczak 8914850195 Merge branch 'main' into prometheus-peer-statistics 2023-08-14 14:59:24 -05:00
Matt Witherspoon 062e7f1d1e Merge pull request #1491 from AntelopeIO/resource_limits_sign_compare
fix a couple sign-compare warnings in resource_limits_test
2023-08-14 15:59:13 -04:00
Jonathan Giszczak e4aa07ee6c Adjust peer list column weightings. 2023-08-14 14:58:32 -05:00
jgiszczak af76bb023e Merge branch 'main' into prometheus-peer-statistics 2023-08-14 14:41:58 -05:00
Jonathan Giszczak 09ea0cc135 Change over bandwidth field tracking to connection ID from IP. 2023-08-14 14:41:12 -05:00
Jonathan Giszczak 6b6ea382b4 Use fc::unique_lock on an fc::mutex. 2023-08-14 14:34:50 -05:00
Lin Huang 8c769a1f5b Merge pull request #1488 from AntelopeIO/OC_RO_thread_mem_config
Set EOS VM OC max mirroring pages to a small number for read-only threads
2023-08-14 15:30:01 -04:00
Jonathan Giszczak ef44bfb421 Add logging when remote endpoint can't be retrieved.
For traceability when Prometheus data is missing the address.
2023-08-14 14:25:34 -05:00
Jonathan Giszczak 2754f026cb Remove unnecessary retention of pointers to Prometheus gauges. 2023-08-14 14:24:18 -05:00
Matt Witherspoon 73ee943e63 fix a couple sign-compare warnings 2023-08-14 14:32:35 -04:00
Lin Huang 0946808e12 Merge branch 'main' into OC_RO_thread_mem_config 2023-08-14 14:05:48 -04:00
Kevin Heifner ccf2bfa1a6 Merge pull request #1489 from AntelopeIO/GH-1083-dry-run-tests
Require dry-run trxs to have authorization and add tests
2023-08-14 13:56:28 -04:00
Lin Huang e8533b97d1 change memory::memory(uint64_t max_pages) parameter max_pages to sliced_pages and delete unused memory::reset(uint64_t max_pages) 2023-08-14 13:51:20 -04:00
Kevin Heifner 74c672b47e GH-1083 Minor cleanup 2023-08-14 12:05:05 -05:00
Kevin Heifner 1eb4fcce13 GH-1432 Fix comment 2023-08-14 11:38:24 -05:00
Kevin Heifner bf0231911d GH-1432 Also restart speculative blocks every block interval when configured with producers 2023-08-14 10:53:01 -05:00
Kevin Heifner fffbbf38b0 GH-1432 Allow speculative blocks unless we are syncing 2023-08-14 10:31:01 -05:00
Kevin Heifner 1fa2c1756a GH-1083 Add dry-run tests 2023-08-14 08:44:23 -05:00
Kevin Heifner 8b308b6ac0 GH-1083 Cleanup #includes 2023-08-14 08:43:57 -05:00
Jonathan Giszczak 6abba1a1ba Use connection ID as per peer Prometheus metric key.
Remove some unused and commented code.
WIP multicolumned list in net-util.
2023-08-13 18:55:23 -05:00
Lin Huang 571fccfcf8 delete unneeded complicated code for calculating number of threads allowed for EOS VM OC 2023-08-13 18:07:08 -04:00
Lin Huang 064d8310a7 set max mirroring pages for read-only threads to 10 to save virtual memory 2023-08-13 18:04:51 -04:00
Jonathan Giszczak 9ff857c274 Move accounting of bytes written to peer to async_write's completion token. 2023-08-11 14:00:30 -05:00
Matt Witherspoon 4c07b3e369 Merge pull request #1473 from AntelopeIO/bls_n=0
add BLS unit test for host functions taking variable number of inputs and `n=0`
2023-08-11 14:36:49 -04:00
Matt Witherspoon 1c05c9c851 Merge pull request #1472 from AntelopeIO/antelope_bls
migrate to AntelopeIO's bls12-381 repo; minor additional bls12-381 usage tweaks
2023-08-11 14:36:29 -04:00
Kevin Heifner 2da2eacf7c Merge remote-tracking branch 'origin/main' into GH-1083-dry-run-tests 2023-08-11 13:20:27 -05:00
Kevin Heifner c7bca0e33f GH-1432 Add additional comments 2023-08-11 12:20:02 -05:00
Kevin Heifner c34ae35882 GH-1432 Set speculative deadline of 5secs instead of maximum to correspond to existing limit of 5secs on speculative execution on stale state. 2023-08-11 10:26:29 -05:00
Kevin Heifner 3510074827 GH-1432 Refactor calculate_next_block_slot to not require active_schedule 2023-08-11 10:05:42 -05:00
Jonathan Giszczak 639faf2605 Relocate net-util to tools. 2023-08-10 17:30:18 -05:00
Jonathan Giszczak ae874273ae Retain chrono nanoseconds until the last possible moment.
Collect Prometheus metrics for each peer only if the update method
exists.
Rename a method for consistency.
Rename a variable for cosmetic reasons.
2023-08-10 16:52:14 -05:00
jgiszczak 9ec5410b25 Merge branch 'main' into prometheus-peer-statistics 2023-08-10 15:51:34 -05:00
Jonathan Giszczak 690d12e7ce Thread safety and collect connection time for inbound connections 2023-08-10 15:51:19 -05:00
Matt Witherspoon a90602c34f bump bls12-381 submod to main HEAD 2023-08-10 15:59:47 -04:00
Jonathan Giszczak 98e1e39974 Default initialization and const correctness. 2023-08-10 14:56:55 -05:00
Lin Huang dd70b9fccb Merge branch 'main' into leap_decouple_exec_ctx 2023-08-10 14:39:55 -04:00
Lin Huang fc048917aa update to the latest eos-vm origin/decouple_exec_ctx branch 2023-08-10 14:36:13 -04:00
Matt Witherspoon 5655425208 Merge pull request #1132 from AntelopeIO/check_cpu_cicd
check for existance of BMI2 & ADX instructions on CI workers
2023-08-10 09:44:27 -04:00
Kevin Heifner a164f16e8e WIP create test file 2023-08-10 08:16:35 -05:00
Kevin Heifner 4cb55b697f Merge pull request #1482 from AntelopeIO/GH-1461-base64
Fix base64 encoding
2023-08-10 07:59:40 -04:00
jgiszczak e1dacb9454 Merge branch 'main' into prometheus-peer-statistics 2023-08-09 18:47:21 -05:00
Jonathan Giszczak fb00ebc013 Convert peer metrics from struct of vectors to vector of structs. 2023-08-09 18:46:53 -05:00
Lin Huang 36c537fd30 Use single execution context per wasm interface 2023-08-08 18:02:13 -04:00
Jonathan Giszczak 7c8ebe474e Support IPv6 addresses.
Add support for node info overlay showing all identifying information.
Add missing reversed attribute for focus in some peer list columns.
2023-08-08 16:07:45 -05:00
Kevin Heifner 0842972b1e GH-1461 Update base64 from upstream 2023-08-08 10:56:39 -05:00
Kevin Heifner 5c2f5077f5 GH-1461 Do not add or expect = at end of base64 encoded strings. 2023-08-08 10:55:37 -05:00
Lin Huang 24914184fc Merge pull request #1455 from AntelopeIO/leap_parsing_wasm_once_for_jit
Update Leap to parse WASM code only once for JIT
2023-08-07 17:37:46 -04:00
Lin Huang 7ec713f509 update eos-vm to merged version on the main branch for parse WASM code only once for JIT 2023-08-07 16:55:57 -04:00
Lin Huang 6beb43f6d4 Merge branch 'main' into leap_parsing_wasm_once_for_jit 2023-08-07 16:41:15 -04:00
Kevin Heifner 6dcb96ebd3 GH-1432 Wake up time is start block time already. 2023-08-07 11:12:36 -05:00
Kevin Heifner e2247daa53 GH-1432 Add additional tests including watermark 2023-08-07 11:11:50 -05:00
Kevin Heifner 7a3801ada8 GH-1432 Set _pending_block_deadline according to if we are producing or can produce. 2023-08-05 13:20:12 -05:00
Kevin Heifner 2bb1e0d0b5 GH-1432 Add some initial tests for calculate_producer_wake_up_time 2023-08-05 13:19:06 -05:00
Kevin Heifner dc4adfaed0 GH-1432 Refactor producer_watermarks, calculate_producer_wake_up_time, calculate_next_block_slot into block_timing_util 2023-08-05 13:18:18 -05:00
Jonathan Giszczak df3554d375 Add support for last data received and sent timestamps on peers.
Remove obsolete comment regarding IPv6.
2023-08-04 19:25:47 -05:00
Jonathan Giszczak 2774deac68 Add refresh interval argument and default to the max possible.
Add error overlay when there's a problem connecting.
Also log errors to the log file.
2023-08-04 17:27:55 -05:00
Matt Witherspoon c33ea2e92b restore const for what was previously const 2023-08-04 17:44:23 -04:00
Matt Witherspoon 47db35353c Merge pull request #1478 from AntelopeIO/abi_tester_nonnullterm
return `string` from test contract's `_abi()` call instead of `vector` to avoid non-null terminated `char*` access
2023-08-03 23:52:43 -04:00
Jonathan Giszczak 7420c726b2 Add reported p2p_address to Prometheus metrics per peer. 2023-08-03 17:04:44 -05:00
Kevin Heifner 5b6226b978 Merge pull request #1476 from AntelopeIO/GH-1111-tests
Tests: Add back old commented out unittests
2023-08-03 16:54:34 -05:00
Matt Witherspoon 78136f2800 Merge pull request #1479 from AntelopeIO/skip_badalloc_asan
skip `bad_alloc_test` when ASAN enabled
2023-08-03 17:49:12 -04:00
Jonathan Giszczak 850a336aab Check for non-200 status codes rather than only 404. 2023-08-03 16:10:14 -05:00
Matt Witherspoon f83cbf5245 skip bad_alloc test when ASAN enabled 2023-08-03 17:07:27 -04:00
Jonathan Giszczak 1e14aa0a4e Change default host from localhost to 127.0.0.1. 2023-08-03 16:02:02 -05:00
Matt Witherspoon 6e9d776532 test contracts' _abi() return string instead of vector 2023-08-03 16:24:19 -04:00
Jonathan Giszczak 507efb7a4c Rename late_initialize to update_prometheus_info.
Remove stray debug log statement.
2023-08-03 15:03:51 -05:00
Jonathan Giszczak ef80f6907c Reserve enough space only for current connection count. 2023-08-03 15:00:12 -05:00
Jonathan Giszczak d511095e7e Make prometheus endpoint URL a variable at the top of the script.
Remove redundant logging level setup.
Fix typo.
2023-08-03 14:54:54 -05:00
Jonathan Giszczak 51c5f15366 Rename construction_time to connection_time and update every connect 2023-08-03 14:53:48 -05:00
Jonathan Giszczak a30d7c71a5 Count unique received blocks in process_signed_block
Update endpoints in both constructors and when a connection is
established.
2023-08-03 14:46:44 -05:00
Jonathan Giszczak ed9eee6ef8 Make p2p_per_connection_metrics constructor explicit. 2023-08-03 14:44:07 -05:00
Matt Witherspoon 439dd73d0d Revert "even simpler awk one-liner for checking CPU features"
that is gawk specific, and doesn't work with ubuntu's default mawk
2023-08-03 14:26:48 -04:00
Kevin Heifner ac8c349335 GH-1111 Remove unneeded is_schedule_equal 2023-08-03 12:00:14 -05:00
Kevin Heifner af4f0467d4 GH-1111 Minor cleanup 2023-08-03 11:52:28 -05:00
Jonathan Giszczak 86c6ced9b1 Update prometheus metric names in plugin_http_api_test. 2023-08-02 19:41:01 -05:00
Jonathan Giszczak fbb0cec9b1 Add net-util command line support for host and port.
Add custom logging level TRACE via the mechanism provided rather than
reaching into the library's internal data structures.
Actually use the logging level command line argument.
2023-08-02 18:36:08 -05:00
Jonathan Giszczak 727a0c5520 Remove debug log statement. 2023-08-02 17:42:34 -05:00
jgiszczak d13dfa5cc0 Merge branch 'main' into prometheus-peer-statistics 2023-08-02 17:35:45 -05:00
Jonathan Giszczak 79c981718a Add per peer prometheus metrics and a TUI to view them. 2023-08-02 17:03:39 -05:00
Gregory Popovitch 339d98eed1 Merge pull request #1475 from AntelopeIO/appbase_tip
Update chainbase to tip.
2023-08-02 15:05:14 -04:00
Peter Oschwald 1e632c9ebd Merge pull request #1378 from AntelopeIO/ph-manual-workflow
[PH] Create workflow for manually dispatching performance harness runs
2023-08-02 13:57:57 -05:00
Kevin Heifner 2fdf095b00 GH-1111 Re-enable commented out tests 2023-08-02 13:33:27 -05:00
Peter Oschwald b710831ef6 Merge branch 'main' into ph-manual-workflow 2023-08-02 13:20:24 -05:00
Peter Oschwald d50381b037 Remove unnecessary token input. 2023-08-02 13:19:05 -05:00
greg7mdp 589c7b8ded Update chainbase to tip. 2023-08-02 14:17:02 -04:00
Kevin Heifner 2677b89d27 GH-1111 Add back in weighted cpu/net tests 2023-08-02 12:24:12 -05:00
Gregory Popovitch 36ffebc02c Merge pull request #1471 from AntelopeIO/compilation_warnings
Fix `-Wsign-compare` warnings
2023-08-02 13:04:24 -04:00
Kevin Heifner 6cb08b6793 GH-1111 Add back in commented out producer schedule tests. 2023-08-02 11:09:27 -05:00
Peter Oschwald cd872b3b27 Remove debugging step and unnecessary echo. 2023-08-02 11:04:42 -05:00
Peter Oschwald 8c47cce233 Address peer review comments. 2023-08-02 10:20:15 -05:00
Gregory Popovitch 2d19874ee4 Merge pull request #1474 from AntelopeIO/bn256_tip
Update `bn256` submodule to tip.
2023-08-02 10:53:18 -04:00
greg7mdp efc9cdc9be Correct fix for disabling warnings when building assembly file. 2023-08-02 08:13:52 -04:00
greg7mdp b0bd2fc976 Update bn256 submodule to tip. 2023-08-02 07:56:51 -04:00
Matt Witherspoon 9fa13cd8b6 add BLS unit test for host functions with n=0 2023-08-01 21:36:15 -04:00
Matt Witherspoon 429e311be1 install bls12-381 LICENSE 2023-08-01 21:33:42 -04:00
Matt Witherspoon 181c182dd8 update bls12-381 to Antelope fork; fix libtester install 2023-08-01 21:33:28 -04:00
Matt Witherspoon 73f5b5c64d Merge remote-tracking branch 'origin/main' into HEAD 2023-08-01 21:31:28 -04:00
greg7mdp 5310436d20 Fix -Wsign-compare warnings 2023-08-01 18:55:03 -04:00
Lin Huang 214d4a8075 update eos-vm to pick up reversed == operator fix 2023-08-01 16:16:20 -04:00
Kevin Heifner b5a044f006 GH-1111 privileged tests exist in protocol_feature_tests.cpp. Revive set_producers_legacy test case. 2023-07-31 17:37:46 -05:00
Lin Huang 408d16ae3a Merge branch 'main' into leap_parsing_wasm_once_for_jit 2023-07-31 17:27:12 -04:00
Lin Huang 20c96c99df update to lates eos-vm 2023-07-31 16:17:31 -04:00
Kevin Heifner ad264242f5 Merge pull request #1469 from AntelopeIO/GH-1433-trace-api-main
[4.0 -> main] Modify trace_api_plugin to report serialization errors to user
2023-07-31 15:09:43 -05:00
Kevin Heifner 72ccfd5bbe Merge pull request #1467 from AntelopeIO/GH-1403-ship-opt
SHiP: Auto disable-replay-opts instead of exiting with error
2023-07-31 14:55:25 -05:00
Matt Witherspoon 342456a254 even simpler awk one-liner for checking CPU features 2023-07-31 12:11:14 -04:00
Kevin Heifner 38323386a9 GH-1403 Use derivation instead of composition 2023-07-31 10:25:45 -05:00
Kevin Heifner a72ed7df34 GH-1403 Rename disable_replay_opts() to set_disable_replay_opts(bool v) 2023-07-31 10:25:05 -05:00
Kevin Heifner f0f7ebe171 GH-1433 Update comment 2023-07-31 09:39:40 -05:00
Peter Oschwald bf95111e01 Remove override input as build will always use the full platforms.json input. 2023-07-31 09:35:29 -05:00
Kevin Heifner a752b48c99 GH-1433 get_info can't fail do to deadline, so relaunch does not indicate failure 2023-07-31 09:16:53 -05:00
Kevin Heifner 579facd100 GH-1433 trace_api_plugin can't fail due to timeout. Remove unneeded tests. 2023-07-31 08:45:39 -05:00
Kevin Heifner 1186b830b8 Merge remote-tracking branch 'origin/release/4.0' into GH-1433-trace-api-main 2023-07-31 06:54:37 -05:00
Kevin Heifner 4973f635b7 Merge pull request #1468 from AntelopeIO/GH-1433-trace-api-4.0
[3.2 -> 4.0] Modify trace_api_plugin to report serialization errors to user
2023-07-31 06:51:40 -05:00
Kevin Heifner 4857c06e71 GH-1403 Normalize indentation 2023-07-29 09:11:39 -05:00
Kevin Heifner 38196b8d7a GH-1433 Use new processUrllibRequest 2023-07-28 16:31:40 -05:00
Kevin Heifner e17bc3148b GH-1433 Fix merge issue 2023-07-28 14:35:12 -05:00
Kevin Heifner c4e0ad19ee Merge remote-tracking branch 'origin/release/3.2' into GH-1433-trace-api-4.0 2023-07-28 14:04:10 -05:00
Kevin Heifner 27f6bdf4b4 Merge pull request #1449 from AntelopeIO/GH-1433-trace-api-3.2
[3.2] Modify trace_api_plugin to report serialization errors to user
2023-07-28 14:02:08 -05:00
Gregory Popovitch 47d20a41ea Merge pull request #1460 from AntelopeIO/gitignore_cleanup
`.gitignore` cleanup - mostly stop ignoring `*.cmake` files.
2023-07-28 14:10:28 -04:00
Kevin Heifner cc3e8680a6 GH-1403 Remove disable-replay-opts from tests as no longer required. 2023-07-28 12:54:33 -05:00
Kevin Heifner 461ea9cd3c GH-1403 Remove disable-replay-opts from docs as no longer required. 2023-07-28 12:54:03 -05:00
Kevin Heifner 9cc01d8a9c GH-1403 Only disable-replay-opts if chain-state-history is enabled as not actually needed for trace data. 2023-07-28 12:34:14 -05:00
Kevin Heifner 5510a7821e GH-1403 No need for chainbase if not actually logging delta data 2023-07-28 12:27:47 -05:00
greg7mdp c1b086bda5 Merge branch 'main' of github.com:AntelopeIO/leap into gitignore_cleanup 2023-07-28 10:46:05 -04:00
Gregory Popovitch 4b9eaa843f Merge pull request #1458 from AntelopeIO/c++20_at_last
Update C++ standard to C++20
2023-07-28 10:09:46 -04:00
greg7mdp b8397b9c03 Use more generic cmake-build-*/ exclusion 2023-07-28 08:58:52 -04:00
Peter Oschwald 45b6c77ff1 Get the output directly from the step output. 2023-07-28 07:55:56 -05:00
Kevin Heifner 5b05c194db GH-1433 Add missing BOOST_CHECK 2023-07-28 07:23:55 -05:00
Peter Oschwald 4cb312e902 Try using something other than empty string. 2023-07-27 21:48:55 -05:00
Peter Oschwald b30be9ccb5 Merge branch 'main' into ph-manual-workflow 2023-07-27 20:45:32 -05:00
Gregory Popovitch 2971a61f90 Merge pull request #1370 from AntelopeIO/gh-17
Make sure all exceptions are caught when executing code in http_plugin's thread pool, so Leap doesn't crash when processing APIs.
2023-07-27 21:27:17 -04:00
greg7mdp 8b172f53da Simplify dependencies as suggested in code review. 2023-07-27 18:22:31 -04:00
greg7mdp 1e1644d1ef Merge branch 'main' of github.com:AntelopeIO/leap into c++20_at_last 2023-07-27 18:20:26 -04:00
greg7mdp c4eb5154c2 Ignore generated snapshots directories 2023-07-27 18:16:31 -04:00
greg7mdp f164249588 Merge branch 'main' of github.com:AntelopeIO/leap into gitignore_cleanup 2023-07-27 18:03:41 -04:00
greg7mdp 2cc2533940 Add clangd .cache directory to .gitignore 2023-07-27 18:01:22 -04:00
greg7mdp 296e771a7e Another unneeded rule 2023-07-27 17:56:30 -04:00
greg7mdp 1ed4278610 No need to have *.cmake in our .gitignore file. 2023-07-27 17:52:57 -04:00
Kevin Heifner bf128544a0 Merge pull request #1459 from AntelopeIO/GH-1457-gitignore
Remove *.s from .gitignore
2023-07-27 16:49:42 -05:00
Kevin Heifner 4fd572c84b Merge pull request #1454 from AntelopeIO/GH-1418-transport-main
[4.0 -> main] Ignore http error on remote_endpoint() causing terminate
2023-07-27 16:29:54 -05:00
Peter Oschwald 78b16c5a4d Fix call to build-base with proper new inputs. 2023-07-27 16:19:55 -05:00
Peter Oschwald 13424e223d Remove workflow_dispatch from reusable workflows.
These reusable workflows are intended to be called from other workflows, not necessarily dispatched individually in their own capacity.
2023-07-27 16:16:50 -05:00
Peter Oschwald 775cce489c Split out platforms workflow into separate reusable workflow.
Use platforms in conjunction with build-base such that platforms can be run separately from build-base.  Together they accomplish the same as build-base used to, but now can separate concerns between discovering and building platform knowledge from doing the actual software build.

Update previous usages of build-base to now use platforms and build-base together.
2023-07-27 16:13:48 -05:00
greg7mdp 8fde60098f Update README.md so we don't suggest making system-wide changes. 2023-07-27 16:31:37 -04:00
Lin Huang de1aa758e3 track eos-vm latest commit 2023-07-27 16:21:34 -04:00
Kevin Heifner bc56f3c18a GH-1403 Automatically set disable-replay-opts when SHiP enabled 2023-07-27 14:48:29 -05:00
greg7mdp ed6fba35bb Update README.md now that we default to pinned boost version. 2023-07-27 14:45:36 -04:00
Kevin Heifner f7981c0d4f GH-1457 Remove *.s 2023-07-27 13:30:55 -05:00
greg7mdp b671764158 Update README.md 2023-07-27 14:30:13 -04:00
greg7mdp 932a1c0f07 Use gcc-10 on ubuntu 20.04 2023-07-27 14:14:16 -04:00
greg7mdp b6d737ddb8 Update C++ standard in EosioTester*.cmake.in 2023-07-27 14:02:48 -04:00
greg7mdp 1f51211475 Update C++ standard to C++20 2023-07-27 13:31:18 -04:00
Matt Witherspoon 6ab7c918ce Merge pull request #1192 from AntelopeIO/oc_llvm_c++17_only
C++20 support - continue to use c++17 on files that use LLVM
2023-07-27 11:20:12 -04:00
greg7mdp 5d1bb30c6d Update comment in new abi file 2023-07-27 10:50:06 -04:00
Lin Huang 98c5a81469 Update Leap to parse WASM code only once for JIT 2023-07-27 10:40:26 -04:00
greg7mdp 2149f20463 Merge branch 'main' of github.com:AntelopeIO/leap into gh-17 2023-07-27 10:39:30 -04:00
greg7mdp 9792b2fa0b Add section in tests/nodeos_run_test.py to verify that exceptions in http_plugin are caught. 2023-07-27 10:32:33 -04:00
Lin Huang 854fbd21c4 Merge pull request #1414 from AntelopeIO/make_wasm_globals_threaded_safe
update eos-vm version to make wasm globals thread safe
2023-07-26 19:54:15 -04:00
Lin Huang 7cd3448718 Merge branch 'main' into make_wasm_globals_threaded_safe 2023-07-26 17:46:37 -04:00
Lin Huang a150f0b415 Bump eos-vm to the merged commit for making wasm globals threaded safe 2023-07-26 17:45:26 -04:00
Peter Oschwald 1a968507d7 Fix file name in asset-artifact-download-action 2023-07-26 14:58:31 -05:00
Kevin Heifner daaf684bcf Merge remote-tracking branch 'origin/release/4.0' into GH-1418-transport-main 2023-07-26 14:32:07 -05:00
Kevin Heifner 9b202b2189 Merge pull request #1453 from AntelopeIO/GH-1418-transport-4.0
[3.2 -> 4.0] Ignore http error on remote_endpoint() causing terminate
2023-07-26 14:31:22 -05:00
Peter Oschwald e5139d6d7a Try using asset-artifact-download-action@v3 to pull down past build if available. 2023-07-26 14:19:28 -05:00
Kevin Heifner b3ad8bf7ec Merge remote-tracking branch 'origin/release/3.2' into GH-1418-transport-4.0 2023-07-26 13:59:57 -05:00
greg7mdp 3196fd7d9f Remove duplicate test. 2023-07-26 14:58:37 -04:00
Kevin Heifner e0ee8abe43 Merge pull request #1452 from AntelopeIO/GH-1418-transport-3.2
[3.2] Ignore http error on remote_endpoint() causing terminate
2023-07-26 13:58:26 -05:00
Matt Witherspoon 585a7a3d2f Merge pull request #1445 from AntelopeIO/asset-artifact-download-action-v3
Upgrade to asset-artifact-download-action@v3 in CI workflows
2023-07-26 14:48:18 -04:00
Kevin Heifner 8a3f43cfe9 Merge pull request #1447 from AntelopeIO/GH-1446-nodeos
Do not print version and non-default args for help
2023-07-26 13:46:45 -05:00
Matt Witherspoon 66c304531b Merge remote-tracking branch 'origin/main' into oc_llvm_c++17_only 2023-07-26 14:39:44 -04:00
Kevin Heifner 98733ab3bd Merge pull request #1451 from AntelopeIO/GH-1417-blk-idle-main
[4.0 -> main] Fix block time reporting log statement
2023-07-26 10:53:41 -05:00
Kevin Heifner 7ec90bf63f GH-1418 Ignore error of remote_endpoint 2023-07-26 10:38:04 -05:00
greg7mdp 513d510353 Merge branch 'main' of github.com:AntelopeIO/leap into gh-17 2023-07-26 11:25:14 -04:00
Kevin Heifner 012eda1d81 GH-1417 Remove unneeded line 2023-07-26 09:52:21 -05:00
Kevin Heifner 6e752d80da Merge remote-tracking branch 'origin/release/4.0' into GH-1417-blk-idle-main 2023-07-26 09:07:24 -05:00
Gregory Popovitch ee027a7b6f Merge pull request #1142 from AntelopeIO/boost_submodule
C++20 support - add boost 1.82 as a submodule
2023-07-26 08:48:04 -04:00
Kevin Heifner e82c245f66 Merge pull request #1434 from AntelopeIO/GH-1417-blk-idle-4.0
[4.0] Fix block time reporting log statement
2023-07-26 07:11:38 -05:00
greg7mdp b9ff7990b3 Merge branch 'main' of github.com:AntelopeIO/leap into boost_submodule 2023-07-26 07:18:56 -04:00
Gregory Popovitch a2209af24d Merge pull request #1448 from AntelopeIO/no_leap-dev_default
Disable building leap-dev.deb package by default
2023-07-26 07:17:53 -04:00
Kevin Heifner c3c9ebd3ea GH-1433 Reduce timeout so test runs in allotted time 2023-07-25 15:59:18 -05:00
Kevin Heifner 8698724572 GH-1433 rethrow exception so API can report error to user 2023-07-25 15:16:44 -05:00
Kevin Heifner b16135df95 GH-1433 Update test for failure case of trace_api_plugin not having time to deserialize 2023-07-25 15:16:18 -05:00
Kevin Heifner 61fe0e5983 GH-1433 New tests for yield in abi handler 2023-07-25 15:15:45 -05:00
Kevin Heifner f6a8c43261 GH-1433 Add tests for trace_api get_transaction_trace 2023-07-25 15:15:08 -05:00
Kevin Heifner 9e3516253d GH-1433 Allow errors to be returned from runCmdReturnStr 2023-07-25 15:14:34 -05:00
greg7mdp cf2b9049ad Update appbase and chainbase to tip of main 2023-07-25 16:00:44 -04:00
Matt Witherspoon 553a09d905 don't build leap-dev .deb package by default 2023-07-25 14:30:00 -04:00
jgiszczak 172eb8db24 Merge pull request #1411 from AntelopeIO/p2p-multiple-listen-addresses
Listen on multiple addresses for net_plugin p2p.
2023-07-25 11:12:54 -05:00
Kevin Heifner 506747a41a GH-1446 Do not print version and non-default args when nodeos explicitly asked for help,version,full-version,print-default-config 2023-07-25 10:59:47 -05:00
Kevin Heifner c669aea5d6 GH-1417 Fix spelling in comment 2023-07-25 09:11:08 -05:00
jgiszczak 501056f842 Merge branch 'main' into p2p-multiple-listen-addresses 2023-07-24 21:24:17 -05:00
Jonathan Giszczak 31f38898e7 Extend auto bp peering test to include p2p-server-address args.
Add network topology diagrams to p2p_multiple_listen_test.
2023-07-24 19:40:15 -05:00
Kevin Heifner 1cc213bc9f GH-1417 Explicitly track other time. Add pause/unpause for when in read window. 2023-07-24 17:45:49 -05:00
Kevin Heifner c9f0ff7cfa GH-1417 Add back in counting of trx in start_block missed in the refactor 2023-07-24 15:15:29 -05:00
Matt Witherspoon 0499a9739c update to asset-artifact-download-action@v3 2023-07-24 16:06:08 -04:00
Kevin Heifner 56124be461 GH-1417 Guard against double accounting 2023-07-24 14:14:27 -05:00
greg7mdp f9e6188892 remove file from package.cmake 2023-07-24 14:38:08 -04:00
Kevin Heifner 144f99f57b GH-1417 Refactor block_time_tracker to use RAII for simplify use. 2023-07-24 13:36:59 -05:00
Lin Huang 06ac1ba9f9 Merge branch 'main' into make_wasm_globals_threaded_safe 2023-07-24 12:51:32 -04:00
greg7mdp e6f4e55956 Merge branch 'main' of github.com:AntelopeIO/leap into boost_submodule 2023-07-24 12:22:12 -04:00
Matt Witherspoon 80682527df Merge pull request #1444 from AntelopeIO/libtester_env
set `DEBIAN_FRONTEND` & `TZ` globally during libtester job
2023-07-24 12:08:14 -04:00
greg7mdp f2bf431af3 Merge branch 'main' of github.com:AntelopeIO/leap into boost_submodule 2023-07-24 11:07:24 -04:00
greg7mdp a8b17a2b2c Remove again ubuntu-dev-tools from package.cmake 2023-07-24 11:06:05 -04:00
greg7mdp 8332a802f0 Exclude test directories from boost/tools 2023-07-24 10:57:46 -04:00
Kevin Heifner c114ab1ef5 Merge pull request #1442 from AntelopeIO/GH-1435-test
Test Fix: Controller calls only valid when building a block
2023-07-24 09:53:07 -05:00
Matt Witherspoon b784e141d6 set DEBIAN_FRONTEND & TZ globally during libtester job 2023-07-24 10:46:12 -04:00
Kevin Heifner 632e728d77 GH-1435 Re-indent 2023-07-24 09:19:40 -05:00
Kevin Heifner a3c571d14d GH-1435 Use auto 2023-07-24 09:19:24 -05:00
Kevin Heifner c25789ce00 Merge branch 'main' into GH-1435-test 2023-07-24 09:05:29 -05:00
Kevin Heifner ee7829dd9f GH-1435 Protect against accessing destroyed types 2023-07-24 09:04:33 -05:00
greg7mdp 4977b08add Simplify exclude patterns. 2023-07-24 10:03:15 -04:00
greg7mdp 2f24964035 Add ubuntu-dev-tools back.
otherwise install fails on ubuntu20 with:
`debconf: falling back to frontend: Readline`
2023-07-24 09:59:32 -04:00
Kevin Heifner b114f3bf7d GH-1435 Let scope_exit always do the app_thread join. 2023-07-24 08:50:00 -05:00
Matt Witherspoon 99c6c21dfe Merge pull request #1443 from AntelopeIO/deb_zstd
on cmake 3.22+ compress .deb packages via zstd
2023-07-24 08:59:15 -04:00
greg7mdp 6a51290961 Update package list in package.cmake 2023-07-24 08:50:15 -04:00
greg7mdp 6d64f3063c Merge branch 'main' of github.com:AntelopeIO/leap into boost_submodule 2023-07-24 08:47:27 -04:00
greg7mdp 60eabad15e Update package list in README.md 2023-07-24 08:46:59 -04:00
Matt Witherspoon 3b45daafc1 on cmake 3.22+ compress .deb packages via zstd 2023-07-23 18:18:46 -04:00
Kevin Heifner 06a531405f Merge branch 'main' into GH-1435-test 2023-07-22 10:57:17 -05:00
Kevin Heifner 167baef137 Merge pull request #1436 from AntelopeIO/GH-1416-test
Test Fix: Change default max-transaction-cpu-usage for tests
2023-07-22 10:56:41 -05:00
Jonathan Giszczak 4a4875ecba Add test to verify nodeos can run with p2p disabled. 2023-07-21 21:32:18 -05:00
greg7mdp 2d6aff43d1 Use file as a dependency instead of ubuntu-dev-tools 2023-07-21 19:10:58 -04:00
greg7mdp 8537bd3e71 Update exclude patterns in install() for dev package 2023-07-21 19:06:34 -04:00
Jonathan Giszczak 2f55f154ca Revise net_plugin p2p-listen-endpoint parsing for readability.
Exercise multiple listen endpoints, with overrides, in p2p test.
2023-07-21 17:26:28 -05:00
Kevin Heifner bf824726fc Merge branch 'GH-1416-test' of https://github.com/AntelopeIO/leap into GH-1416-test 2023-07-21 16:56:18 -05:00
Kevin Heifner b3c9eba384 GH-1416 Only update provided genesis.json if explicitly provided with values 2023-07-21 16:56:02 -05:00
Kevin Heifner bc35fb5a1c GH-1435 Only activate protocol features and process trxs when building a block. 2023-07-21 16:28:37 -05:00
Kevin Heifner 6c56e5ecc2 Merge branch 'main' into GH-1416-test 2023-07-21 15:19:56 -05:00
Kevin Heifner 8375094e71 Merge branch 'GH-1435-test' of https://github.com/AntelopeIO/leap into GH-1435-test 2023-07-21 15:05:17 -05:00
Kevin Heifner bf6518b1cb GH-1435 Capture exception on app thread to avoid terminate call 2023-07-21 15:05:02 -05:00
Kevin Heifner 06551438f8 Merge branch 'main' into GH-1435-test 2023-07-21 13:48:29 -05:00
greg7mdp 5780dfef1a Cleanup exclude patterns in CMakeLists.txt. 2023-07-21 14:44:03 -04:00
greg7mdp 6c2040a289 Some more exclude patterns to make the dev install smaller 2023-07-21 14:24:19 -04:00
greg7mdp 6eb19aadb9 Another attempt at filtering testwave 2023-07-21 14:19:56 -04:00
greg7mdp 0323a206c0 Again remove python3-distutils from docker files 2023-07-21 13:28:35 -04:00
greg7mdp 8c63064eb0 Merge branch 'main' of github.com:AntelopeIO/leap into boost_submodule 2023-07-21 13:27:29 -04:00
jgiszczak 374f8a34c6 Merge branch 'main' into p2p-multiple-listen-addresses 2023-07-21 12:15:26 -05:00
Peter Oschwald 68334d5f8a Merge pull request #1438 from AntelopeIO/gh-1437-libtester-test-failures
Test Fix: libtester test failures in CICD
2023-07-21 12:11:22 -05:00
greg7mdp 60ef3a9153 try again to not add testwave to the deb install. 2023-07-21 13:03:56 -04:00
Peter Oschwald be358ce3d5 Add upgrade step back in.
Factor out update and upgrade into own step in libtester-tests job to simplify.
2023-07-21 11:32:24 -05:00
greg7mdp 0e364bee8b Exclude testwave (and other unnecessary files) from boost install 2023-07-21 12:23:40 -04:00
Kevin Heifner 3b2227ec9d GH-1435 Make sure app_thread of test is always joined to avoid terminate 2023-07-21 10:39:47 -05:00
greg7mdp 4c7fb728cf Change checkout action to submodules: recursive 2023-07-21 11:16:58 -04:00
Peter Oschwald 9ff0583b33 Ubuntu documents apt-get install or dpkg -i as acceptable paths for .deb installs.
Use apt-get instead of apt.
2023-07-21 09:51:56 -05:00
Kevin Heifner 17f2b2ae92 GH-1416 Change default max-block-cpu-usage for integration/performance tests to 500ms 2023-07-21 08:25:58 -05:00
greg7mdp 89ff1f49e1 Move boost to boost-1.82.0 tag 2023-07-21 09:15:17 -04:00
greg7mdp feb9b29fe7 Switch to using boost from boostorg instead of AntelopeIO 2023-07-21 09:09:16 -04:00
Kevin Heifner ffc80c53bc GH-1416 Change default max-transaction-cpu-usage for integration/performance tests to 475ms 2023-07-21 07:46:32 -05:00
Lin Huang 066e7853f1 update eos-vm 2023-07-20 21:02:56 -04:00
greg7mdp 0de5ba1e70 Revert last commit. 2023-07-20 20:16:40 -04:00
jgiszczak 1bbb36aa79 Merge branch 'main' into p2p-multiple-listen-addresses 2023-07-20 18:13:08 -05:00
Jonathan Giszczak a4f939990e Expand description of p2p-server-address option and normalize language. 2023-07-20 18:12:15 -05:00
greg7mdp b2b0af01ad Removed python3-distutils from docker images. 2023-07-20 18:41:12 -04:00
greg7mdp 27a8f53fc8 Don't need the IF(EXISTS @CMAKE_SOURCE_DIR@/libraries/boost)
since the two `EosioTester` files are for install or build tree.
2023-07-20 18:37:23 -04:00
Kevin Heifner 8d09101fca GH-1417 Better track trx idle time and block time tracking. Also add producer to Block time report. 2023-07-20 17:00:50 -05:00
greg7mdp 07c9402cc7 Remove unused BOOST_VER variable from scripts/pinned_build.sh 2023-07-20 17:41:54 -04:00
greg7mdp 344c4ff328 use python3-distutils instead of python3-all in package.cmake 2023-07-20 17:40:18 -04:00
greg7mdp 4b7abd0b28 Remove unneeded find_package in libfc 2023-07-20 17:38:44 -04:00
greg7mdp a3ce6d5659 Update readme 2023-07-20 17:32:26 -04:00
greg7mdp 82ba8aa055 Install python3-distutils instread of python3-all in our containers. 2023-07-20 17:30:45 -04:00
greg7mdp ae0d542b5f Use python3-distutils instead of python3-all 2023-07-20 16:45:38 -04:00
Jonathan Giszczak 3c10138c25 Add p2p multiple listen port test and new fields to connections API 2023-07-19 19:50:56 -05:00
greg7mdp dfe1e04164 Merge branch 'main' of github.com:AntelopeIO/leap into boost_submodule 2023-07-19 20:44:12 -04:00
greg7mdp 4483aedd30 Move COMPONENT before PATTERN in install command. 2023-07-19 19:28:00 -04:00
Lin Huang ea6793c7e6 update eos-vm 2023-07-19 18:10:01 -04:00
greg7mdp 877799a998 Cleanup changes and remove .git from boost install. 2023-07-19 17:24:15 -04:00
greg7mdp 0a177a9935 Add missing packages in debian install. 2023-07-19 15:44:45 -04:00
greg7mdp 0910fdc114 Fix names in .in files. 2023-07-19 15:17:56 -04:00
Lin Huang 17f6d07175 update to latest eos-vm 2023-07-19 15:14:27 -04:00
Jonathan Giszczak 4d71d2aa07 Rename connection's p2p_address to listen_address.
Erase undefined elements from p2p_addresses vector after std::unique().
Add assert before std::transform of two vectors.
Const correctness and whitespace cleanup.
2023-07-19 14:02:03 -05:00
greg7mdp 91b96a0b35 Use boost submodule organization always. 2023-07-19 14:58:16 -04:00
greg7mdp b4bc63e67e remove boost version specification 2023-07-19 14:19:22 -04:00
greg7mdp eb0282eb96 Update EosioTester.cmake.in 2023-07-19 13:50:36 -04:00
Peter Oschwald 76706909a4 Merge branch 'main' into ph-manual-workflow 2023-07-19 12:49:09 -05:00
Jonathan Giszczak db93c63a57 Set p2p_address for outgoing connections as well.
Outbound connections are always attributed to the first listen address.
2023-07-19 12:39:08 -05:00
greg7mdp fe1faf8672 Update CMakeModules/EosioTesterBuild.cmake.in to support installed boost 2023-07-19 13:28:35 -04:00
Kevin Heifner 78c1b62a76 Merge pull request #1408 from AntelopeIO/GH-1119-oc-fall-back
Revert back to non-oc execution for read-only trxs
2023-07-19 07:34:25 -05:00
greg7mdp 28a47da370 Add python3-all to .cicd/platforms/ubuntu20.Dockerfile
and remove `python3-distutils` from `.cicd/platforms/ubuntu22.Dockerfile`
2023-07-18 18:46:42 -04:00
greg7mdp 158bd75cd0 Add python3-distutils to .cicd/platforms/ubuntu22.Dockerfile 2023-07-18 18:02:35 -04:00
greg7mdp 3204110e5a Add python3-all to .cicd/platforms/ubuntu22.Dockerfile 2023-07-18 18:00:33 -04:00
greg7mdp 6ce21266aa whitespace change 2023-07-18 17:54:22 -04:00
Kevin Heifner 12528894f4 GH-1119 Add needed include 2023-07-18 16:37:36 -05:00
Kevin Heifner e8ca247286 GH-1119 Fix initialization of wasm interfaces and usage in apply for multiple threads. Also add ability to disable tierup for testing. 2023-07-18 16:16:31 -05:00
Kevin Heifner 9cdae1082c GH-1119 Move test_read_only_trx from producer_plugin/test to tests and update to set bios contract so wasm is used. 2023-07-18 16:15:34 -05:00
Lin Huang 6d5b70b6aa update eos-vm version to make wasm globals thread safe 2023-07-18 17:04:05 -04:00
greg7mdp 53228de8d2 Add python3 to command. 2023-07-18 16:54:41 -04:00
Peter Oschwald c597816e6d Remove attempt to override leap ref for this workflow. 2023-07-18 15:18:56 -05:00
Peter Oschwald f49f8c99f2 Revert "Pipe leap-ref selection/override through workflows."
This reverts commit 6c2758fe94.
2023-07-18 15:16:44 -05:00
Peter Oschwald 4f3c5ef089 Revert "Fix spacing."
This reverts commit 47ddeb6b0e.
2023-07-18 15:16:26 -05:00
Peter Oschwald 47ddeb6b0e Fix spacing. 2023-07-18 14:16:50 -05:00
Areg Hayrapetian 8e63f2c047 Merge pull request #1071 from mschoenebeck/main
BLS12-381 Crypto Primitives
2023-07-18 11:18:08 -07:00
Peter Oschwald 6c2758fe94 Pipe leap-ref selection/override through workflows. 2023-07-18 12:53:30 -05:00
Peter Oschwald 1b9f64af5e Try to make build step optional if build for current commit has already completed. 2023-07-18 12:24:44 -05:00
greg7mdp 3a6fb0ae57 Merge branch 'main' of github.com:AntelopeIO/leap into boost_submodule 2023-07-18 13:14:03 -04:00
greg7mdp b0f0cae797 Merge branch 'boost_submodule' of github.com:AntelopeIO/leap into boost_submodule 2023-07-18 13:13:32 -04:00
Peter Oschwald 6c86da5e3e Cleanup previous jobs now replaced by build-base reusable workflow. 2023-07-18 11:40:15 -05:00
Peter Oschwald a155889c2e Add quotes around input param for if check. 2023-07-18 11:32:42 -05:00
Peter Oschwald 90f0852e73 Replace accidentally removed dependency on job v. 2023-07-18 11:30:52 -05:00
Peter Oschwald 1e562e8727 Make override option into an array for matrix. 2023-07-18 11:20:31 -05:00
Peter Oschwald d1e099ca0d Update workflow for using reusable workflow. 2023-07-18 11:15:48 -05:00
Peter Oschwald b1862f244c Remove surrounding escaped quotes. 2023-07-18 11:11:28 -05:00
Peter Oschwald 7a12930a1d Surround with single quotes to force not escaping internal quotes. 2023-07-18 11:09:39 -05:00
Peter Oschwald 56e7a9dc71 Debugging results. 2023-07-18 10:59:26 -05:00
Peter Oschwald f4b7998a2f Fix syntax. 2023-07-18 10:58:13 -05:00
Peter Oschwald a1bcf4bc54 Try escaping quotes. 2023-07-18 10:55:30 -05:00
Kevin Heifner bd09a11740 Merge remote-tracking branch 'origin/main' into GH-1119-oc-fall-back 2023-07-18 10:51:09 -05:00
Peter Oschwald 41a1824741 Fix syntax. 2023-07-18 10:48:15 -05:00
Peter Oschwald f995e47fb4 Try to debug output 2023-07-18 10:46:54 -05:00
Peter Oschwald d0c1e2c339 Try to debug output 2023-07-18 10:43:48 -05:00
greg7mdp ea71317258 Update appbase 2023-07-18 11:30:23 -04:00
Peter Oschwald fd54f6c5d4 Try this again. 2023-07-18 10:26:46 -05:00
Peter Oschwald 96b3d71ecd Try this again. 2023-07-18 10:22:18 -05:00
Peter Oschwald 2d7e8c4a65 Try this again. 2023-07-18 10:21:01 -05:00
greg7mdp ffcd97e6cf Add boost to install 2023-07-18 11:16:29 -04:00
Peter Oschwald f0277442d2 echo out GITHUB_OUTPUT 2023-07-18 10:14:04 -05:00
Peter Oschwald 4e2ebb0f21 Working to get array 2023-07-18 10:08:51 -05:00
Peter Oschwald f3097a2ead Try fromJSON in output. 2023-07-18 10:06:03 -05:00
Peter Oschwald 03855117cf Remove extra training quote. 2023-07-18 10:03:15 -05:00
Peter Oschwald c7695c03fc Try again. 2023-07-18 10:01:58 -05:00
Peter Oschwald 1de56988f5 Try again. 2023-07-18 09:59:49 -05:00
Peter Oschwald 282cfe0b58 Use fromJSON. 2023-07-18 09:56:58 -05:00
Peter Oschwald ba738b8080 Add input to override build platform matrix. 2023-07-18 09:53:46 -05:00
Peter Oschwald 158ad55a3a Don't needs backslashes to break lines up. 2023-07-18 09:19:45 -05:00
Peter Oschwald a83266b2e5 Debugging output. 2023-07-18 09:17:51 -05:00
Peter Oschwald 3f13595ec5 Try using fromJSON parsing. 2023-07-18 09:10:38 -05:00
Peter Oschwald a414b8cee7 Try quotes. 2023-07-18 09:07:34 -05:00
Peter Oschwald b0075c0925 Put matrix-out into github output for use later. 2023-07-18 09:04:20 -05:00
Peter Oschwald cb73a84f65 Attempt to use constructed platform matrix in build job. 2023-07-18 08:58:38 -05:00
Peter Oschwald 754638dc2d Attempt to fix github variable reference in script. 2023-07-18 08:48:45 -05:00
Peter Oschwald be9452bf5e Attempt to use the json object directly. 2023-07-18 08:46:43 -05:00
Peter Oschwald feffc03541 Try to automatically parse platform matrix in script. 2023-07-18 08:44:57 -05:00
Kevin Heifner 98bbe9d342 Merge pull request #1412 from AntelopeIO/GH-1279-print-options
Print non-default options on startup/shutdown
2023-07-18 07:23:01 -05:00
mschoenebeck 59cc737a42 fixed intrinsic mapping and deep-mind.log errors 2023-07-18 07:09:21 -05:00
Jonathan Giszczak 1c81166570 Restore running nodeos with zero p2p listen ports. 2023-07-17 19:05:47 -05:00
Kevin Heifner 81a3a77398 GH-1279 Use string literals 2023-07-17 18:23:27 -05:00
Kevin Heifner 73e6abea61 GH-1279 Update appbase to main 2023-07-17 18:00:12 -05:00
greg7mdp 9019b7bc50 Merge branch 'main' of github.com:AntelopeIO/leap into boost_submodule 2023-07-17 16:19:48 -04:00
Kevin Heifner 0d514c67a1 GH-1279 Print non-default options 2023-07-17 11:55:42 -05:00
Jonathan Giszczak d5fdd64a0d Move post of timers outside listener post loop. 2023-07-17 11:10:51 -05:00
Peter Oschwald 8919364763 Merge branch 'main' into ph-manual-workflow 2023-07-17 10:01:26 -05:00
mschoenebeck 712b1a0faa updated eos-vm submodule 2023-07-17 09:00:09 -05:00
mschoenebeck 1e5822d3f4 synced with main 2023-07-17 08:55:02 -05:00
mschoenebeck e050376ad6 added test contract for bls primitives 2023-07-17 08:34:44 -05:00
Jonathan Giszczak 3a7c072015 Listen on multiple addresses for net_plugin p2p. 2023-07-15 18:43:37 -05:00
Kevin Heifner 150d817f67 GH-1119 Fix spacing 2023-07-14 18:26:34 -05:00
Peter Oschwald d243f8569d Merge pull request #1356 from AntelopeIO/GH-1156-ph-cicd-nodeos-versions
[PH] Create workflow to test backward compatibility of performance harness
2023-07-14 14:43:02 -05:00
Kevin Heifner 70cd71cb29 GH-1119 Move include to source file 2023-07-14 13:50:21 -05:00
Peter Oschwald bfa1685672 Add names to jobs for better UI experience. 2023-07-14 13:46:12 -05:00
Peter Oschwald b59fede2ba Merge branch 'main' into GH-1156-ph-cicd-nodeos-versions 2023-07-13 16:29:08 -05:00
Peter Oschwald 56c00275db fix permission. 2023-07-13 16:14:55 -05:00
jgiszczak ac55419d8a Merge pull request #1400 from AntelopeIO/launcher-fix-genesis-json-max-cpu
Update max_block_cpu_usage and max_transaction_cpu_usage properly.
2023-07-13 16:11:26 -05:00
Kevin Heifner b7de2af761 GH-1119 Fallback to non-oc when oc not ready for read-only. 2023-07-13 14:24:17 -05:00
Kevin Heifner 13b2db9365 GH-1119 Move impl into cpp file 2023-07-13 14:00:36 -05:00
Kevin Heifner 056b0979f7 GH-1119 Refactor to only have one eosvmoc which lives wasm_interface_collection 2023-07-13 10:34:24 -05:00
Jonathan Giszczak 3807a62fc6 Merge branch 'launcher-fix-genesis-json-max-cpu' of github.com:AntelopeIO/leap into launcher-fix-genesis-json-max-cpu 2023-07-12 16:42:02 -05:00
Jonathan Giszczak a56efcdc1a In the right order. 2023-07-12 16:40:24 -05:00
Peter Oschwald 4e19e36362 Somehow put the wrong permission here. 2023-07-12 16:04:23 -05:00
Peter Oschwald c3db754e89 Merge branch 'main' into GH-1156-ph-cicd-nodeos-versions 2023-07-12 15:46:40 -05:00
jgiszczak c280508b8a Merge branch 'main' into launcher-fix-genesis-json-max-cpu 2023-07-12 15:44:08 -05:00
Lin Huang b338c04525 Merge pull request #1402 from AntelopeIO/merge_version_bump_from_4_0_4_to_main
[4.0 -> main] Merge version bump from 4.0.4 to main
2023-07-12 16:39:32 -04:00
Peter Oschwald 0da3e7b36e Fix path to workflow. 2023-07-12 15:24:44 -05:00
Peter Oschwald 495d6eab30 Try to rework permissions to leave top level read, but pass write to build-base. 2023-07-12 15:20:36 -05:00
Peter Oschwald e0b3caad3d Merge branch 'main' into GH-1156-ph-cicd-nodeos-versions 2023-07-12 15:15:35 -05:00
Peter Oschwald 477f62c857 Remove hardcoded org and repo and ref. 2023-07-12 15:15:14 -05:00
Lin Huang 2f5f521165 merge release/4.0.4 version bump 2023-07-12 15:35:29 -04:00
Kevin Heifner a3b2b77eb5 Merge pull request #1401 from AntelopeIO/GH-1390-perf-test
Test Fix: performance test - use 475ms for max_transaction_cpu_usage
2023-07-12 15:25:32 -04:00
Lin Huang f93b7f7fdd Merge pull request #1398 from AntelopeIO/merge_memory_issue_fix_from_4_0_to_main
[4.0 -> main] Merge memory issue fix from release/4.0 to main
2023-07-12 15:22:08 -04:00
Kevin Heifner 58b2e9e8a8 GH-1390 Use 475ms for max_transaction_cpu_usage to match value used in other integration tests. 2023-07-12 13:49:49 -05:00
Jonathan Giszczak ca4de7c9a2 Update max_block_cpu_usage and max_transaction_cpu_usage properly. 2023-07-12 13:42:53 -05:00
Kevin Heifner 99a712632a GH-1119 Add missing return 2023-07-12 13:22:30 -05:00
Lin Huang 7e1ad13e1e Merge pull request #1399 from AntelopeIO/version_bump_to_4_0_4
[3.2 -> 4.0] Merge 3.2.4 version bump and update version to release/4.0.4
2023-07-12 13:49:23 -04:00
Lin Huang 8aca28965a bump Leap version to 4.0.4 in addition to merging 3.2.4 version bump 2023-07-12 13:09:48 -04:00
Lin Huang 273e378de0 update eos-vm to point to main 2023-07-12 13:00:45 -04:00
Lin Huang 6558f99515 Merge pull request #1397 from AntelopeIO/merge_memory_issue_fix_from_3_2
[3.2 -> 4.0] Merge memory issue fix from release/3.2 to release/4.0
2023-07-12 12:54:18 -04:00
Kevin Heifner d3b775efc4 GH-1119 Factor out get_wasm_interface 2023-07-12 11:46:32 -05:00
Lin Huang 00b045ca2c Merge pull request #1396 from AntelopeIO/version_bump_to_3_2_4
[3.1 -> 3.2] Merge version bump from 3.1.5 and bump to 3.2.4
2023-07-12 12:34:44 -04:00
Lin Huang 3d8c4e345a Merge 3.1.5 version bump and bump to 3.2.4 2023-07-12 11:59:12 -04:00
Lin Huang 2986df849f update eos-vm to point to release/4.0 2023-07-12 11:49:41 -04:00
Kevin Heifner 037efde616 GH-1119 Switch controller wasm_interface to provide composite wasm_interface_collection 2023-07-12 10:38:46 -05:00
Kevin Heifner 7080e1b78e GH-1119 Remove unneeded fast_shutdown 2023-07-12 10:36:24 -05:00
Lin Huang 2bce4e6407 Merge pull request #1395 from AntelopeIO/version_bump_to_3_1_5
[3.1] Version bump to release/3.1.5
2023-07-12 11:34:19 -04:00
Lin Huang 6beea8a61f Merge pull request #1394 from AntelopeIO/merge_memory_issue_fix_from_3_1
[3.1 -> 3.2] Merge memory issue fix from release/3.1
2023-07-12 11:18:00 -04:00
Lin Huang 0821c7f7e6 Bump Leap version to release/3.1.5 2023-07-12 10:59:33 -04:00
Lin Huang 6ec530e2de Merge remote-tracking branch 'origin/release/3.1' into merge_memory_issue_fix_from_3_1 2023-07-12 10:41:27 -04:00
Lin Huang 3e576c5f92 Merge pull request #1393 from AntelopeIO/memory_issue_fix
[3.1] Memory issue fix
2023-07-12 10:36:20 -04:00
Lin Huang c8327b51bb update eos-vm to point to release/3x 2023-07-12 09:57:26 -04:00
Lin Huang 7bcebcaa0f A companion Leap changes for fixing WASM memory exhaustion 2023-07-12 09:54:20 -04:00
Peter Oschwald 8eb51fc2b9 Merge branch 'main' into GH-1156-ph-cicd-nodeos-versions 2023-07-12 07:49:47 -05:00
Kevin Heifner 0dad71d379 Merge pull request #1386 from AntelopeIO/GH-1275-signal
Signal accepted_block after it is marked valid
2023-07-12 08:19:25 -04:00
greg7mdp 14c3441341 Remove outdated libboost-all-dev references. 2023-07-11 18:19:05 -04:00
greg7mdp 4ea421730d Merge branch 'main' of github.com:AntelopeIO/leap into boost_submodule 2023-07-11 17:23:31 -04:00
greg7mdp a93484ee9a move boost add_subdirectory() to the libraries CMakeLists.txt 2023-07-11 17:22:12 -04:00
greg7mdp 352055af34 Merge branch 'main' of github.com:AntelopeIO/leap into boost_submodule 2023-07-11 17:18:57 -04:00
Peter Oschwald d46a16a105 Merge branch 'main' into GH-1156-ph-cicd-nodeos-versions 2023-07-11 16:04:42 -05:00
Peter Oschwald 7be77cd745 Convert build.yaml to use reusable build-base workflow. 2023-07-11 15:24:50 -05:00
Peter Oschwald cf7ae29952 Give packages write permissions. 2023-07-11 14:47:58 -05:00
Peter Oschwald 7df3af711e Provide packages write permission for Build Platforms job. 2023-07-11 14:40:35 -05:00
Peter Oschwald de40f8a4bb Inherit secrets. 2023-07-11 14:38:46 -05:00
Peter Oschwald 8044aa16ba Needs to use this branch's reusable workflow for now, not main 2023-07-11 14:33:07 -05:00
Peter Oschwald 4f158ded97 Try breaking out build steps into reusable workflow.
Make use of reusable workflow in ph_backward_compatibility workflow.
2023-07-11 14:31:15 -05:00
greg7mdp 1ab33ebdd8 whitespace change 2023-07-11 15:06:31 -04:00
Kevin Heifner 08c2b81b51 Merge pull request #1391 from AntelopeIO/GH-1383-ship-test-main
[4.0 -> main] Test: Fix ship test to wait on correct transaction
2023-07-11 15:03:06 -04:00
greg7mdp 127e0465e5 Update boost to tip 2023-07-11 14:38:22 -04:00
Kevin Heifner 925b6421ce Merge remote-tracking branch 'origin/release/4.0' into GH-1383-ship-test-main 2023-07-11 13:08:09 -05:00
Kevin Heifner 49212f098b Merge pull request #1388 from AntelopeIO/GH-1383-ship-test-4.0
[4.0] Test: Fix ship test to wait on correct transaction
2023-07-11 14:06:44 -04:00
Kevin Heifner 9469b56374 Merge pull request #1389 from AntelopeIO/GH-1357-test-main
[4.0 -> main] Test: Reduce load on ci/cd
2023-07-11 14:06:03 -04:00
greg7mdp eae52736b9 Add boost submodule from AntelopeIO 2023-07-11 13:40:06 -04:00
greg7mdp 8b4a134316 remove old boost submodule 2023-07-11 13:36:03 -04:00
greg7mdp e2550cf9d9 Update appbase to tip 2023-07-11 13:30:25 -04:00
greg7mdp 244c7d3e52 point boost to AntelopeIO repo 2023-07-11 13:15:04 -04:00
greg7mdp 11f71f8273 Update appbase to tip 2023-07-11 13:03:58 -04:00
Kevin Heifner 8417aecafa Merge remote-tracking branch 'origin/release/4.0' into GH-1357-test-main 2023-07-11 10:55:07 -05:00
Kevin Heifner ef61b06a22 Merge pull request #1387 from AntelopeIO/GH-1357-test-4.0
[4.0] Test: Reduce load on ci/cd
2023-07-11 11:54:39 -04:00
Kevin Heifner 149f76b6c5 GH-1383 Fix ship test to wait on correct transaction 2023-07-11 10:37:28 -05:00
Kevin Heifner 19d99f5913 GH-1357 Reduced number of generated trxs to reduce load on ci/cd 2023-07-11 10:03:47 -05:00
Kevin Heifner 8b43915f95 Merge pull request #1385 from AntelopeIO/GH-1331-slow-main
[4.0 -> main] SHiP: Improve startup when large number of SHiP logs in retain directory
2023-07-11 09:38:34 -04:00
Kevin Heifner df0791c1d0 GH-1275 Signal accepted_block after it is marked valid 2023-07-11 08:33:24 -05:00
Kevin Heifner 05a5153470 GH-1331 Replace boost filesystem include with std 2023-07-11 08:06:10 -05:00
Kevin Heifner a3a7281846 Merge remote-tracking branch 'origin/release/4.0' into GH-1331-slow-main 2023-07-10 18:47:39 -05:00
Kevin Heifner cf29b356df Merge pull request #1384 from AntelopeIO/GH-1331-slow-4.0
[4.0] SHiP: Improve startup when large number of SHiP logs in retain directory
2023-07-10 19:31:27 -04:00
Peter Oschwald 6b4f745209 Some cleanup. 2023-07-10 14:24:30 -05:00
Peter Oschwald dc92ab506a Merge branch 'main' into ph-manual-workflow 2023-07-10 14:20:53 -05:00
Peter Oschwald 1a3ef7da83 Merge branch 'main' into GH-1156-ph-cicd-nodeos-versions 2023-07-10 14:19:34 -05:00
Peter Oschwald 265ee66b53 Sanity check nodeos version. 2023-07-10 14:15:54 -05:00
Peter Oschwald b2b22ab990 Cleanup. 2023-07-10 14:09:19 -05:00
Peter Oschwald bc46133ef8 Working to fix install of leap deb pkg. 2023-07-10 13:43:08 -05:00
Kevin Heifner 9e55f1ad0b GH-1331 Remove unneeded include 2023-07-10 13:42:40 -05:00
Peter Oschwald b7dea9bfde Install the leap deb package to bring along dependencies and then use those nodeos and cleos versions. 2023-07-10 13:29:38 -05:00
Kevin Heifner 40d6b1f3e2 GH-1331 Use better variable name 2023-07-10 13:23:13 -05:00
Peter Oschwald cb447c579d Try removing workaround, as it shouldn't be necessary here. 2023-07-10 13:11:32 -05:00
Peter Oschwald c63042bb93 Try reducing steps using regex for deb name matching across versions. 2023-07-10 13:10:32 -05:00
Peter Oschwald 800a37e605 Collapse perf tests back into regular expressions to simplifly and reduce future maintenance 2023-07-10 13:03:49 -05:00
Kevin Heifner 776d675715 GH-1331 Use LogIndex for verification of index to log data. Simpler and faster. 2023-07-10 12:27:13 -05:00
Kevin Heifner 8651553d8a GH-1331 Avoid copies for performance 2023-07-10 12:26:21 -05:00
Kevin Heifner bb98e4d78d GH-1331 Use std::map instead of flat_map as flat_map insert perf is terrible for large maps 2023-07-10 12:25:34 -05:00
Peter Oschwald ff1a83761f Shouldn't run read only tests in if < v4.0 2023-07-10 11:33:20 -05:00
Peter Oschwald 8cb771a710 Fix multiple if statements in steps. 2023-07-10 10:54:19 -05:00
Peter Oschwald e6ea54b817 Read only transaction feature support was added in 4.0, remove unsupported command line options in earlier versions. 2023-07-10 10:51:21 -05:00
Peter Oschwald 441f5d308c Read only transaction feature support was added in 4.0, don't test in prior releases. 2023-07-10 10:50:40 -05:00
Peter Oschwald 3a0960e004 Use full nodeosVersion.
cleos time-limit option was added in 3.2 but is not in 3.1 so need to be able to differentiate on minor version number.
2023-07-10 09:00:57 -05:00
greg7mdp 03d957f731 Merge branch 'main' of github.com:AntelopeIO/leap into boost_submodule 2023-07-07 17:06:46 -04:00
Kevin Heifner 1b79caa0b6 Merge pull request #1382 from AntelopeIO/GH-1354-deferred-id-m
[4.0 -> main] Emit correct trace id for deferred trx before replace_deferred protocol feature activation
2023-07-07 16:36:48 -04:00
greg7mdp 5ca2421b75 Add ubuntu-dev-tools to .cicd Dockerfiles 2023-07-07 15:51:14 -04:00
Kevin Heifner 0c18762028 Merge remote-tracking branch 'origin/release/4.0' into GH-1354-deferred-id-m 2023-07-07 14:41:33 -05:00
Kevin Heifner 9cada469c2 Merge pull request #1381 from AntelopeIO/GH-1354-deferred-id-4.0
[3.2 -> 4.0] Emit correct trace id for deferred trx before replace_deferred protocol feature activation
2023-07-07 15:39:46 -04:00
Kevin Heifner 923904f0dd Merge pull request #1380 from AntelopeIO/GH-1354-deferred-id-4.0
[3.2 -> 4.0] Emit correct trace id for deferred trx before replace_deferred protocol feature activation
2023-07-07 15:05:40 -04:00
Kevin Heifner 399ca84c93 Merge remote-tracking branch 'origin/release/3.2' into GH-1354-deferred-id-4.0 2023-07-07 12:57:48 -05:00
Matt Witherspoon 18617a5044 Merge pull request #1363 from AntelopeIO/no_eager_tcmalloc
no longer eagerly use tcmalloc if it's found
2023-07-07 13:56:54 -04:00
Kevin Heifner 4c1226e69c Merge pull request #1379 from AntelopeIO/GH-1354-deferred-id-3.2
[3.2] Emit correct trace id for deferred trx before replace_deferred protocol feature activation
2023-07-07 13:54:24 -04:00
greg7mdp 967e217827 Update appbase to tip 2023-07-07 13:29:26 -04:00
Peter Oschwald e3ae3a3ded Try finding and uploading report via wildcard. 2023-07-07 12:25:20 -05:00
greg7mdp eea5f30a7f Merge branch 'main' of github.com:AntelopeIO/leap into boost_submodule 2023-07-07 13:14:51 -04:00
Peter Oschwald 8f01104cae Use normal upload-artifact action. 2023-07-07 12:00:40 -05:00
Peter Oschwald 947770edc6 Pre-calculate the report location for use in upload step. 2023-07-07 11:49:40 -05:00
Peter Oschwald 975426a377 Add dependency needs. 2023-07-07 11:31:52 -05:00
Kevin Heifner 71ecec44f8 GH-1354 Provide transaction_context trx id for trace since it can differ from provided packed_transaction for deferred trxs before replace_deferred protocol feature is activated. 2023-07-07 11:20:58 -05:00
Peter Oschwald 1f2ca01966 Fix yaml file syntax 'uses' already defined. 2023-07-07 11:19:59 -05:00
Peter Oschwald 7518f7803e Fix yaml file syntax. 2023-07-07 11:18:26 -05:00
Kevin Heifner 97aa4b8031 GH-1354 Add test case for deferred trx id before/after protocol feature replace_deferred 2023-07-07 11:17:05 -05:00
Peter Oschwald 78564fa3b3 Fix yaml file syntax. Minor cleanup. 2023-07-07 11:13:36 -05:00
Peter Oschwald f7f246ac46 Initial attempt of configurable ph run in cicd. 2023-07-07 10:58:35 -05:00
Kevin Heifner 189a6ac955 Merge pull request #1377 from AntelopeIO/GH-1340-ship-main
[4.0 -> main] SHiP: Support snapshot start with full deltas
2023-07-07 08:11:00 -04:00
Kevin Heifner 9570203c98 Merge remote-tracking branch 'origin/release/4.0' into GH-1340-ship-main 2023-07-06 20:06:58 -05:00
Kevin Heifner f3afc81a83 Merge pull request #1375 from AntelopeIO/GH-1340-ship-4.0
[4.0] SHiP: Support snapshot start with full deltas
2023-07-06 20:59:48 -04:00
Kevin Heifner 224ae213fc Merge pull request #1376 from AntelopeIO/GH-1349-p2p-conn-main
[4.0 -> main] Close connection on aysnc_read with a closed socket
2023-07-06 20:58:27 -04:00
Kevin Heifner 446a752dd9 Merge remote-tracking branch 'origin/release/4.0' into GH-1349-p2p-conn-main 2023-07-06 17:38:54 -05:00
Kevin Heifner 16608570ea Merge pull request #1366 from AntelopeIO/GH-1349-p2p-conn-4.0
[4.0] Close connection on aysnc_read with a closed socket
2023-07-06 18:33:45 -04:00
Kevin Heifner 0d7d2fd798 GH-1340 Code cleanup 2023-07-06 15:58:42 -05:00
Gregory Popovitch 507ec6ed37 Merge pull request #1367 from AntelopeIO/greg-gitignore
add `*.gdb_history` to `.gitignore`
2023-07-06 16:34:49 -04:00
Gregory Popovitch 9f194675f4 Merge branch 'main' into greg-gitignore 2023-07-06 15:59:49 -04:00
greg7mdp 0ee195e398 Add package zlib1g-dev to dockerfiles 2023-07-06 15:02:40 -04:00
Kevin Heifner 6c14f56ebe GH-1340 Make SHiP data available after a snapshot load even if no new blocks applied. Also do not repeatable send empty get_blocks_response messages but rather start sending first available block data. 2023-07-06 13:34:09 -05:00
Kevin Heifner 30161af688 GH-1340 Add integration test that verifies ship delta data available immediately after loading a snapshot 2023-07-06 13:26:27 -05:00
Kevin Heifner 633fda695c GH-1340 Correctly handle possibly missing prev_block 2023-07-06 13:23:59 -05:00
greg7mdp f7affe87a4 Update chainbase and appbase to tip 2023-07-06 11:31:27 -04:00
greg7mdp d87819a584 Merge branch 'main' of github.com:AntelopeIO/leap into boost_submodule 2023-07-05 16:57:28 -04:00
greg7mdp a990d74a29 update chainbase 2023-07-05 16:56:35 -04:00
greg7mdp 02011fb527 catchup appbase 2023-07-05 16:27:48 -04:00
greg7mdp d43a7e720e Fix build with boost submodule after catchup with main 2023-07-05 16:22:41 -04:00
Gregory Popovitch d4ed800327 Merge pull request #1374 from AntelopeIO/gh-1189
[4.0 -> main] Fix incorrect serializing of std::optional when value is not provided - (GH #1189)
2023-07-05 15:19:05 -04:00
greg7mdp f7cf3be74f Merge branch 'main' of github.com:AntelopeIO/leap into boost_submodule 2023-07-05 15:15:44 -04:00
greg7mdp 8b7f9f7faf Address PR comment and small cleanup in safe_add(). 2023-07-05 14:16:49 -04:00
greg7mdp 0d486d3020 Merge branch 'release/4.0' of github.com:AntelopeIO/leap into gh-1189 2023-07-05 13:50:11 -04:00
Gregory Popovitch 85c58ade36 Merge pull request #1373 from AntelopeIO/gh-1189-4.0
[3.2 -> 4.0] Fix incorrect serializing of std::optional when value is not provided - (GH #1189)
2023-07-05 13:30:48 -04:00
greg7mdp e5325bf3e7 Merge branch 'release/3.2' of github.com:AntelopeIO/leap into gh-1189-4.0 2023-07-05 13:11:42 -04:00
Gregory Popovitch c456d17833 Merge pull request #1364 from AntelopeIO/gh-1189-3.2
[3.2] Fix incorrect serializing of std::optional when value is not provided - (GH #1189)
2023-07-05 11:14:54 -04:00
greg7mdp f41ca84851 Update comments. 2023-07-05 10:58:08 -04:00
Kevin Heifner 1ba4f2fd05 Merge pull request #1371 from AntelopeIO/GH-980-speculative-main
[4.0 -> main] Removed "deprecated" from help for speculative read-mode
2023-07-05 10:47:37 -04:00
Kevin Heifner 59b0d08749 GH-1349 close mismatched socket 2023-07-05 07:42:17 -05:00
Kevin Heifner e991b9ef0d Merge remote-tracking branch 'origin/release/4.0' into GH-980-speculative-main 2023-07-05 07:22:49 -05:00
Kevin Heifner d45cd96882 Merge pull request #1368 from AntelopeIO/GH-980-speculative-4.0
[4.0] Removed "deprecated" from help for speculative read-mode
2023-07-05 08:22:20 -04:00
greg7mdp 70442b3da9 Catch exceptions when calling http_fwd(); 2023-07-04 13:30:47 -04:00
Kevin Heifner 6dbe74c892 GH-980 Update docs 2023-07-03 21:57:21 -05:00
Kevin Heifner d5d78a6321 GH-980 Removed deprecated from help for speculative mode 2023-07-03 21:52:41 -05:00
Kevin Heifner bd7ff14a61 GH-1349 If socket closed, but close not call, call close 2023-07-03 20:15:08 -05:00
greg7mdp 6dd606d3dc add *.gdb_history to .gitignore 2023-07-03 16:12:04 -04:00
Peter Oschwald 095e6bae35 Merge pull request #1365 from AntelopeIO/ph-manual-workflow-stub
[PH] Create stub workflow for manual dispatch performance harness runs
2023-07-03 13:40:00 -05:00
Peter Oschwald 8ae2447710 Creating a shell of the initial performance harness run workflow to be merged quickly allowing development of actual workflow in follow-on branch.
Need to have workflow file merged before github will allow triggering it in a development branch.
2023-07-03 12:48:51 -05:00
greg7mdp 79885499da Address PR comment (removed change unneeded in backport). 2023-07-03 13:15:15 -04:00
Peter Oschwald ea37b69738 make sure to change to the build dir. 2023-07-03 11:21:14 -05:00
Peter Oschwald 5499dd010e Always run test scenarios. 2023-07-03 10:52:06 -05:00
Peter Oschwald 58b0f32894 Revert "Split test scenarios into separate jobs."
This reverts commit d42f0e784a.
2023-07-03 10:49:56 -05:00
greg7mdp 1111fee4bc Merge branch 'release/3.2' of github.com:AntelopeIO/leap into gh-1189-3.2 2023-07-03 11:38:24 -04:00
Peter Oschwald d42f0e784a Split test scenarios into separate jobs. 2023-07-03 10:34:33 -05:00
Matt Witherspoon a8f35c7355 no longer eagerly use tcmalloc if it's found 2023-07-03 11:27:13 -04:00
Peter Oschwald 91cf4db380 Give tests a little longer to complete. 2023-07-03 10:07:12 -05:00
Kevin Heifner d46d7e903a GH-1349 Cleanup duplicate check 2023-07-03 10:05:23 -05:00
Kevin Heifner 5a3cd673e9 GH-1349 Close on async_read closed socket. Always shutdown socket. 2023-07-03 10:04:57 -05:00
Peter Oschwald 99d23168ba Add regex flag to ctest. 2023-07-03 09:47:35 -05:00
Peter Oschwald 258fefc41d Tests not found - move change dir build into first test. 2023-06-30 17:39:41 -05:00
Peter Oschwald a2aa513e46 Split up tests into individual runs. 2023-06-30 17:23:46 -05:00
Peter Oschwald cd6926567c Use low-tier for longer run time 2023-06-30 14:28:28 -05:00
Peter Oschwald 2e90e39f79 Do not run tests in parallel. 2023-06-30 14:09:41 -05:00
Peter Oschwald 3a720421e0 missed the extract step 2023-06-30 14:01:12 -05:00
Peter Oschwald f848de5bd6 Try to placate different version artifact naming conventions. 2023-06-30 13:52:22 -05:00
Peter Oschwald c42f25b914 Merge branch 'main' into GH-1156-ph-cicd-nodeos-versions 2023-06-30 13:21:19 -05:00
Peter Oschwald 762c074d1c Merge pull request #1355 from AntelopeIO/GH-1156-initial-ph-cicd-workflow
Create stub workflow ph_backward_compatibility.yaml
2023-06-30 13:18:49 -05:00
mschoenebeck 9007161779 Merge branch 'main' of https://github.com/AntelopeIO/leap 2023-06-30 10:37:06 -05:00
Peter Oschwald fe0533236d Create workflow to test backward compatibility of performance harness with prior leap releases. 2023-06-30 09:47:55 -05:00
Peter Oschwald 126b62db68 Creating a shell of the initial ph_backward_compatibility.yaml workflow to be merged quickly allowing development of actual workflow in follow-on branch.
Need to have workflow file merged before github will allow triggering it in a development branch.
2023-06-30 09:44:48 -05:00
mschoenebeck 76e4fd9dd6 added bls lib to EosioTester to make CDT integration tests work 2023-06-30 08:47:09 -05:00
Kevin Heifner aed53c00bc Merge pull request #1342 from AntelopeIO/GH-1251-auto-oc-opt
OC tierup compile in order
2023-06-29 14:18:47 -04:00
Kevin Heifner 91d192bb69 Merge pull request #1322 from AntelopeIO/GH-1251-auto-oc
Add eos-vm-oc-enable auto mode
2023-06-29 14:18:16 -04:00
Kevin Heifner 8c64e08160 Merge pull request #1352 from AntelopeIO/GH-1302-docs-main
[4.0 -> main] Docs: Additional nodeos --help info
2023-06-29 12:04:04 -04:00
Kevin Heifner b27f0a0dae Merge pull request #1351 from AntelopeIO/GH-1289-block-log
Blocklog: Return std::optional for head_id
2023-06-29 08:37:49 -04:00
Kevin Heifner 58deb5b512 Merge pull request #1350 from AntelopeIO/GH-1302-docs-4.0
[4.0] Docs: Additional nodeos --help info
2023-06-29 07:03:40 -04:00
Kevin Heifner 24f251125d Merge pull request #1347 from AntelopeIO/GH-1328-p2p-main
[4.0 -> main] P2P: fix head_num reporting
2023-06-29 06:58:43 -04:00
Kevin Heifner cd744f5052 GH-1251 Fix tests to not destroy temp dir before controller which uses it 2023-06-29 03:22:48 -04:00
Kevin Heifner 7c43e0064a GH-1251 Add comment that log statement used in test 2023-06-29 02:06:34 -04:00
Kevin Heifner 01fc14a013 Merge remote-tracking branch 'origin/release/4.0' into GH-1302-docs-main 2023-06-29 01:43:00 -04:00
Kevin Heifner 46037d5840 GH-1289 Use struct instead of std::pair 2023-06-29 01:35:23 -04:00
Kevin Heifner 9012e7f8f9 GH-1289 Combine head and head_id into one optional 2023-06-28 16:56:27 -04:00
Kevin Heifner 3971ff6159 GH-1289 Return std::optional for head_id to make it clearer when head not available 2023-06-28 15:31:55 -04:00
Kevin Heifner 1d0aef60c0 GH-1302 Add more info to help 2023-06-28 14:23:54 -04:00
Kevin Heifner a8f20cebf4 GH-1251 Restore #ifdef EOSIO_EOS_VM_OC_RUNTIME_ENABLED removed in refactor 2023-06-28 12:06:15 -04:00
Kevin Heifner b260447db5 GH-1251 Remove improper check for vm_type::eos_vm_oc 2023-06-28 11:30:44 -04:00
mschoenebeck 233ae01a92 added unit tests for garbage io 2023-06-28 07:41:58 -05:00
Kevin Heifner 774fd21156 GH-1251 Move setting of eosvmoc_tierup outside of loop 2023-06-28 08:11:43 -04:00
Kevin Heifner 975ad1340c GH-1251 Support case-insensitive options 2023-06-28 08:03:47 -04:00
Kevin Heifner da236cbd46 GH-1251 Update auto description 2023-06-28 07:55:10 -04:00
Kevin Heifner ef910f7953 Merge pull request #1345 from AntelopeIO/GH-1328-p2p-4.0
[4.0] P2P: fix head_num reporting
2023-06-28 07:06:09 -04:00
Kevin Heifner d373b1db52 GH-1251 No need to link to boost unit_test_framework, using header-only 2023-06-28 03:10:43 -04:00
Kevin Heifner 1abee9ae49 GH-1328 fix merge issue 2023-06-28 02:43:17 -04:00
Kevin Heifner fededf193f Merge remote-tracking branch 'origin/release/4.0' into GH-1328-p2p-main 2023-06-28 02:40:56 -04:00
Matthias Schönebeck 3b77508841 Merge pull request #2 from AntelopeIO/bls-regen-dmlog
regenerate deepmind log for new BLS_PRIMITIVES
2023-06-27 18:48:45 -05:00
mschoenebeck 0d3203ba2e added optional return values (instead of throwing exceptions) and enabled checks in 'pairing' and 'map' functions 2023-06-27 18:09:53 -05:00
Kevin Heifner 1a92c80d35 Merge pull request #1346 from AntelopeIO/GH-1176-test
Test: plugin_http_api_test.py
2023-06-27 17:43:01 -04:00
Kevin Heifner e4aeee11cc GH-1176 Add --keep-logs option and do not clean logs on test failure 2023-06-27 13:12:47 -04:00
Kevin Heifner 3bea7339e1 Merge pull request #1344 from AntelopeIO/GH-1246-test
Test fix: large-lib-test
2023-06-27 11:42:16 -04:00
Kevin Heifner 13196783d4 GH-1328 catch_up notice_message has 0 for known_blocks.pending 2023-06-27 05:03:04 -04:00
Kevin Heifner 9d1c673188 GH-1244 Test cluster now uses defproducera as the producer after cluster launch 2023-06-27 01:45:14 -04:00
Kevin Heifner 716e293639 Merge pull request #1343 from AntelopeIO/GH-1244-retry-test
Test fix: nodeos_retry_transaction_test
2023-06-26 18:58:26 -05:00
Kevin Heifner 66b2047686 GH-1244 Verify bios relaunch and add a pause between relaunch of relay nodes for a better test 2023-06-26 16:45:00 -04:00
Kevin Heifner f51599cbfa GH-1251 Remove chain::config use from eos-vm-oc 2023-06-26 15:19:06 -04:00
Kevin Heifner f870aa3ae3 Merge pull request #1218 from AntelopeIO/huangminghuang/ipv6
refactor listener
2023-06-26 13:59:50 -05:00
Kevin Heifner 9cdcef8dcb GH-1251 Remove MRU, just go with FIFO 2023-06-26 14:36:08 -04:00
Kevin Heifner d4fb84efd1 Make members private 2023-06-26 14:27:25 -04:00
Kevin Heifner 168940e3ec Merge remote-tracking branch 'origin/main' into huangminghuang/ipv6 2023-06-26 14:01:18 -04:00
Kevin Heifner 57a1d719e8 GH-1251 Use multiindex, process in order of last used, prioritize eosio.* 2023-06-26 13:37:28 -04:00
Kevin Heifner d53864232f Merge pull request #1341 from AntelopeIO/main-warn
Fix unused warning
2023-06-26 08:13:27 -05:00
Kevin Heifner fec0a7a879 GH-1251 pass by reference 2023-06-26 08:03:44 -05:00
Kevin Heifner 9e2bab5cdf Fix unused warning 2023-06-26 07:39:45 -05:00
Kevin Heifner 0997826de8 GH-1251 Use deque instead of unordered_set to process contracts in order. Prioritize eosio.*. 2023-06-23 23:02:44 -05:00
greg7mdp 05fe45a4e6 Add a couple more test patterns. 2023-06-23 17:28:38 -04:00
greg7mdp f1eb13a02d Add test case for using std::optional in abi type definitions. 2023-06-23 16:47:21 -04:00
greg7mdp 93fe429bbc Update abi_tests.cpp to not enforce deadline in debug mode. 2023-06-23 16:46:43 -04:00
greg7mdp f9e91f19be Use value from numeric_limits rather than hard coded hex value. 2023-06-23 16:45:28 -04:00
greg7mdp 86c38831ff Output flag marking empty std::optional in abi_serializer::_variant_to_binary 2023-06-23 16:43:33 -04:00
jgiszczak 32e546cbf3 Merge pull request #1249 from AntelopeIO/test-harness-retry-num-blocks
Use retry-num-blocks where possible to avoid polling in tests
2023-06-23 14:56:24 -05:00
Kevin Heifner 6008c72892 GH-1251 Use eosio.token as eosio.system contract can not tierup in time to be found in logs on slow ci/cd machine 2023-06-23 13:06:37 -05:00
Kevin Heifner dc00e24c98 GH-1251 Add integration test that verifies auto oc tierup 2023-06-23 11:38:11 -05:00
Kevin Heifner d4ee46b7a1 GH-1251 Add is_applying_block() method 2023-06-23 11:37:10 -05:00
Peter Oschwald 36f16b9455 Merge pull request #1259 from AntelopeIO/libtester-usage-in-ci
test libtester usage as part of CI
2023-06-23 09:06:36 -05:00
Peter Oschwald f1513d8c0e Merge pull request #1339 from AntelopeIO/pinned-builds-workflow-in-ci-main
[4.0 -> main] Pinned Builds manual dispatch workflow in CI
2023-06-23 09:05:04 -05:00
Peter Oschwald 0b28380f40 Merge branch 'main' into libtester-usage-in-ci 2023-06-22 19:21:08 -05:00
Peter Oschwald 933c550ce9 Remove ubuntu18 support in pinned builds. 2023-06-22 19:11:35 -05:00
Peter Oschwald a6743e7efb Merge branch 'release/4.0' into pinned-builds-workflow-in-ci-main 2023-06-22 19:06:43 -05:00
Peter Oschwald 546e37dd38 Merge pull request #1338 from AntelopeIO/pinned-builds-workflow-in-ci-4.0
[3.2 -> 4.0] Pinned Builds manual dispatch workflow in CI
2023-06-22 19:04:40 -05:00
Gregory Popovitch 51902a59ba Merge pull request #1268 from AntelopeIO/gh-1230
Update net_plugin to support clang Thread Safety Analysis features
2023-06-22 18:11:51 -04:00
Peter Oschwald 929f84b9b5 Merge branch 'main' into libtester-usage-in-ci 2023-06-22 16:22:52 -05:00
Peter Oschwald 0861ef660a Update cdt target to version 4.x 2023-06-22 16:22:09 -05:00
greg7mdp 28f6e59b3a Merge branch 'main' of github.com:AntelopeIO/leap into gh-1230 2023-06-22 17:17:15 -04:00
Peter Oschwald 67b43790bb Fix lost quotes in merge. 2023-06-22 16:12:50 -05:00
Peter Oschwald a3b6cfbbd8 Merge branch 'release/3.2' into pinned-builds-workflow-in-ci-4.0 2023-06-22 16:08:19 -05:00
Peter Oschwald 2a13774d66 Merge pull request #1335 from AntelopeIO/pinned-builds-workflow-in-ci-3.2
[3.1 -> 3.2] Pinned Builds manual dispatch workflow in CI
2023-06-22 16:00:09 -05:00
Gregory Popovitch 782ceb1a55 Merge pull request #1337 from AntelopeIO/gh-1247
[4.0 -> main] Report transaction failed if trx was exhausted in non-producing mode (GH 1247)
2023-06-22 15:59:44 -04:00
Kevin Heifner 98e3b81c21 GH-1251 Address peer review comments 2023-06-22 14:50:22 -05:00
greg7mdp ec4918f115 Merge branch 'release/4.0' of github.com:AntelopeIO/leap into gh-1247 2023-06-22 15:20:04 -04:00
Gregory Popovitch f55097a439 Merge pull request #1329 from AntelopeIO/gh-1247-4.0
[3.2 -> 4.0] Report transaction failed if trx was exhausted in non-producing mode (GH 1247)
2023-06-22 14:13:32 -04:00
Peter Oschwald b194862aa2 Skip parallel tests on ubuntu18 (as done in build.yaml). 2023-06-22 13:08:06 -05:00
Peter Oschwald 9e82b160c7 Update artifact name that was changed in 3.2 2023-06-22 11:45:48 -05:00
Peter Oschwald c74fde2a27 Merge branch 'release/3.1' into pinned-builds-workflow-in-ci-3.2 2023-06-22 11:40:23 -05:00
Peter Oschwald ed854f2bbd Merge pull request #1291 from AntelopeIO/pinned-builds-workflow-in-ci
[3.1] Pinned Builds manual dispatch workflow in CI
2023-06-22 11:38:59 -05:00
jgiszczak e3250f9834 Merge pull request #1314 from AntelopeIO/test-harness-cluster-launcher-plugin-support
Add support for '--plugin' to cluster_launcher.py
2023-06-22 11:17:56 -05:00
Peter Oschwald e3976b8dc1 Merge pull request #1310 from AntelopeIO/pinned_build_install_prefix_knob
[3.1] `CMAKE_INSTALL_PREFIX=/usr` for pinned builds in CI
2023-06-22 10:59:43 -05:00
Peter Oschwald 16bbbbea3a Merge pull request #1313 from AntelopeIO/libtester-ci-config-knobs
Add configuration knobs and defaults for cdt and eos-system-contracts
2023-06-22 10:05:05 -05:00
Peter Oschwald efbb4c634f Merge pull request #1312 from AntelopeIO/libtester-ci-matrix
libtester ci matrix
2023-06-22 10:04:50 -05:00
Peter Oschwald 02c43ca656 Use enf-x86-beefy-long runner 2023-06-22 09:30:09 -05:00
Kevin Heifner 870673840b GH-1251 Add additional comments 2023-06-22 08:22:40 -05:00
Kevin Heifner 8fc11f0041 GH-1251 Add additional allowed true/false alternatives 2023-06-22 08:08:58 -05:00
Kevin Heifner 9faefa2629 GH-1251 Increase perf harness genesis to have 150ms max transaction time to match genesis used in other tests. This allows for setcode in slow ci/cd env. 2023-06-22 07:49:12 -05:00
Peter Oschwald 38439b3e69 Use option to diable SYSTEM_ENABLE_LEAP_VERSION_CHECK 2023-06-21 14:29:35 -05:00
greg7mdp 76de72a3a9 Merge branch 'release/3.2' of github.com:AntelopeIO/leap into gh-1247-4.0 2023-06-21 14:32:53 -04:00
Gregory Popovitch 5f763daa4c Merge pull request #1319 from AntelopeIO/gh-1247-3.2
[3.2] Report transaction failed if trx was exhausted in non-producing mode
2023-06-21 14:08:28 -04:00
Peter Oschwald 4c7772f096 Currently eos-system-contracts 3.1 sets a CDT_VERSION_SOFT_MAX to 3, so update to compatible version for default. 2023-06-21 12:11:45 -05:00
Peter Oschwald 41bf136a6e Disable leap version check to allow running with whatever leap is currently at. 2023-06-21 12:10:24 -05:00
greg7mdp c293d332f7 Remove comment as per PR review. 2023-06-21 11:34:38 -04:00
Lin Huang 3e3f8e327c Merge pull request #1327 from AntelopeIO/merge_4_0_3_version_bump
[4.0 -> main] Merge release/4.0.3 version bump
2023-06-21 08:45:25 -04:00
Peter Oschwald 0b56986bba Remove dash from json for jq. 2023-06-20 17:35:20 -05:00
Peter Oschwald a3b84cec5e Add eos-system-contractgs override input. 2023-06-20 17:13:39 -05:00
Lin Huang e53ba8df0f correct version after merging 4.0.3 version bump 2023-06-20 17:49:06 -04:00
Peter Oschwald a44ca9b0cd Add control knob for selecting eos-system-contracts ref. Defaults to release/3.1 2023-06-20 16:47:33 -05:00
Peter Oschwald dc9901203e Update to use eos-system-contracts instead of reference-contracts. 2023-06-20 16:37:20 -05:00
Kevin Heifner 6f4584ce83 Merge pull request #1321 from AntelopeIO/GH-1315-time-main
[4.0 -> main] P2P: Use magnitude safe time types
2023-06-20 16:04:03 -05:00
greg7mdp 2d3e78619c Add in_producing_mode() and in_speculating_mode() members. 2023-06-20 15:53:54 -04:00
greg7mdp 3e11f790c6 name/terminology update according to PR comments 2023-06-20 15:38:00 -04:00
Kevin Heifner f2123eae5b GH-1251 Disable oc on producer when applying blocks 2023-06-20 14:36:25 -05:00
Lin Huang 6e2bc2ee3e Merge pull request #1320 from AntelopeIO/bump_to_4_0_3
[4.0] Bump Leap version to 4.0.3
2023-06-20 15:29:32 -04:00
Kevin Heifner 197d37e92c GH-1315 Fix merge issue 2023-06-20 14:06:57 -05:00
Kevin Heifner c8c6c5e44f Merge remote-tracking branch 'origin/release/4.0' into GH-1315-time-main 2023-06-20 14:00:11 -05:00
Lin Huang a7364dc3b6 Bump Leap version to 4.0.3 2023-06-20 14:49:40 -04:00
Kevin Heifner e9016b0560 Merge pull request #1316 from AntelopeIO/GH-1315-time-4.0
[4.0] P2P: Use magnitude safe time types
2023-06-20 13:43:03 -05:00
Matt Witherspoon 46d7535370 Merge pull request #1318 from AntelopeIO/listener_macos_EINVAL_nonfatal
on macOS do not consider `EINVAL` a fatal accept error in fc's listener; fixing keosd on macOS
2023-06-20 14:13:43 -04:00
greg7mdp 41eaeef80e Report transaction failed if trx was exhausted in non-producing mode
So we restart a speculative block to retry it immediately, instead of waiting to receive a new block
2023-06-20 14:05:53 -04:00
jgiszczak 8327ad6d93 Merge branch 'main' into test-harness-cluster-launcher-plugin-support 2023-06-20 11:02:36 -05:00
Matt Witherspoon 8afd0ae0a5 Merge pull request #1317 from AntelopeIO/remove_getthreadname
remove `FC_USE_PTHREAD_NAME_NP` & `pthread_getname_np()` usage
2023-06-20 10:34:03 -04:00
Matt Witherspoon 0e08cecdac on macOS do not consider EINVAL a fatal accept error 2023-06-20 08:50:31 -04:00
Matt Witherspoon 4cc666efd6 remove FC_USE_PTHREAD_NAME_NP & pthread_getname_np() 2023-06-20 08:31:46 -04:00
Kevin Heifner 025bc22dbf GH-1251 Add initial implementation of should_use_eos_vm_oc() 2023-06-19 18:15:19 -05:00
Kevin Heifner 1cc64a0cc3 GH-1251 Update docs 2023-06-19 18:13:59 -05:00
Kevin Heifner 23f6db5f87 GH-1251 Remove unused 2023-06-19 18:13:36 -05:00
Kevin Heifner 360ffb5d7f GH-1251 Fix test 2023-06-19 18:12:30 -05:00
Kevin Heifner 34fa470be0 GH-1251 Add prefix() method to name 2023-06-19 18:11:45 -05:00
Kevin Heifner e7f1406694 GH-1251 Fix tests to be able to run with default of --eos-vm-oc-enable=auto 2023-06-19 14:48:59 -05:00
Kevin Heifner c1673735cc GH-1251 Fix failing tests 2023-06-19 12:42:41 -05:00
Jonathan Giszczak 326aa03098 extraNodeosArgs should be empty string when not used, not list. 2023-06-19 12:11:21 -05:00
Kevin Heifner 0b3b3b61f9 GH-1315 Completely remove problematic tstamp type. 2023-06-19 10:52:54 -05:00
Kevin Heifner a05077a16b GH-1251 Refactor wasm_interface map into a wasm_interface_collection 2023-06-19 09:45:04 -05:00
Kevin Heifner b221c12fcf GH-1315 Reset latest_msg_time and latest_blk_time so re-connect doesn't trip heartbeat timer 2023-06-19 08:41:30 -05:00
Jonathan Giszczak 4bda591042 Use empty list instead of None for unused extraNodeosArgs. 2023-06-17 15:47:50 -05:00
Jonathan Giszczak 6254908957 cluster_launcher needs to work without a plugin argument. 2023-06-17 11:57:17 -05:00
Kevin Heifner 5dbcdc54c6 GH-1315 Use magnitude safe time types 2023-06-17 09:12:02 -05:00
Jonathan Giszczak 045a7e296a Add support for '--plugin' to cluster_launcher.py
Required completing support for AppArgs 'action'.
2023-06-16 19:16:58 -05:00
Kevin Heifner 9229b349b3 GH-1251 Use enum for eosvmoc_tierup instead of bool. 2023-06-16 16:29:16 -05:00
jgiszczak e3a160c1c8 Merge branch 'main' into test-harness-retry-num-blocks 2023-06-16 15:47:12 -05:00
Jonathan Giszczak 237c235114 Use non-production node for transferring funds in voting test. 2023-06-16 15:46:02 -05:00
Peter Oschwald 8ac0b690d6 Merge branch 'main' into libtester-usage-in-ci 2023-06-16 15:23:32 -05:00
Jonathan Giszczak e865853415 Omit repeatable args from specificNodeosArg replacement. 2023-06-16 14:52:49 -05:00
Peter Oschwald 1ec98976b1 Try newly added self hosted runner for pinned builds. 2023-06-16 14:42:43 -05:00
Peter Oschwald 93833b8e03 Simplify naming and path matching for artifact. 2023-06-16 14:14:55 -05:00
Peter Oschwald c419644df9 Add missing newline at eof. 2023-06-16 14:10:26 -05:00
Peter Oschwald fa5edb27b3 Break version check out into its own job. 2023-06-16 14:08:14 -05:00
Peter Oschwald ec89e07bb4 Fix indentation. 2023-06-16 13:36:41 -05:00
Peter Oschwald 26122578cb Merge branch 'libtester-ci-matrix' into libtester-ci-config-knobs 2023-06-16 13:34:17 -05:00
Peter Oschwald 429589b148 Fix all-passing job dependency list. 2023-06-16 13:33:01 -05:00
Peter Oschwald c106b23188 Fix libtester tests name in all-passing job now that all combined in matrix. 2023-06-16 13:32:08 -05:00
Peter Oschwald 1b78c4ab46 Remove dangling close paren. 2023-06-16 13:30:48 -05:00
Peter Oschwald ddc341a835 Fix use of double and single quotes. 2023-06-16 13:28:03 -05:00
Peter Oschwald fd18f94586 Add configuration knobs and defaults for cdt. 2023-06-16 13:21:36 -05:00
Peter Oschwald 481a958f97 Try to combine 3 libtester test cases into one using matrix. 2023-06-16 12:58:50 -05:00
Lin Huang 6bfdd62a9c Merge pull request #1311 from AntelopeIO/merge_4_0_2_version_bump
[4.0 -> main] Merge release/4.0.2 version bump to main
2023-06-16 12:32:53 -04:00
Peter Oschwald 1939c7c0b1 Merge branch 'main' into libtester-usage-in-ci 2023-06-16 09:58:28 -05:00
Peter Oschwald cb61f1caa8 Bump to midtier. Remove comments. Make libtester tests required for passing.
Trying libtester tests at midtier to see how it affect runtime to judge whether they can be made required.
2023-06-16 09:57:31 -05:00
Lin Huang 189b1b8bcf correct version after merging 4.0.2 version bump 2023-06-16 07:34:20 -04:00
mschoenebeck 1ca23730b0 updated bls lib 2023-06-16 01:27:26 -05:00
mschoenebeck 5f827ac0a5 Merge branch 'main' of https://github.com/AntelopeIO/leap 2023-06-16 01:27:06 -05:00
Matt Witherspoon d6cd2c9a7d LEAP_PINNED_INSTALL_PREFIX knob to set pinned_build.sh CMAKE_INSTALL_PREFIX 2023-06-15 22:37:09 -04:00
Matt Witherspoon 7e51f02b6a Merge pull request #1309 from AntelopeIO/fixup_listener_log
fix error log message in fc network listener
2023-06-15 21:06:51 -04:00
Jonathan Giszczak 5ecdf44471 Allow some specificExtraArgs to override existing nodeos args. 2023-06-15 19:11:16 -05:00
jgiszczak 8e78347f4c Merge branch 'main' into test-harness-retry-num-blocks 2023-06-15 17:23:40 -05:00
Jonathan Giszczak 7f479b7d43 Use non-production node for account creation in forked_chain_test. 2023-06-15 17:22:40 -05:00
Jonathan Giszczak 1ab17d06f3 Use retry node in under_min_avail_ram test. 2023-06-15 16:58:23 -05:00
Matt Witherspoon 10e86a877e fix log message in listener 2023-06-15 17:18:32 -04:00
Peter Oschwald ae2679e164 Cleanup. 2023-06-15 16:13:03 -05:00
Vlad 641ccfefd1 Merge pull request #1308 from AntelopeIO/GH-1286-snap-scheduler-fix
Improve snapshot test reliability
2023-06-15 16:50:28 -04:00
jgiszczak 34d95e58db Merge branch 'main' into test-harness-retry-num-blocks 2023-06-15 15:48:21 -05:00
Jonathan Giszczak 7bc12b1948 Propagate waitForTransBlock through to transferFunds during account creation.
Don't bother to revalidate eosio and producer accounts in subjective
billing tests.
2023-06-15 15:47:53 -05:00
766C6164 49b2763e0c changed to std::abs 2023-06-15 16:28:29 -04:00
Jonathan Giszczak f46e922cc7 Add retry node and remove explicit sleeps from trace_plugin_test. 2023-06-15 15:22:14 -05:00
Jonathan Giszczak d8d46399e1 Use default validation node in startup_catchup test. 2023-06-15 15:07:30 -05:00
Peter Oschwald 0f25eaa33a Remove quotes from path for upload. 2023-06-15 14:13:06 -05:00
766C6164 e310746817 ups 2023-06-15 15:03:26 -04:00
766C6164 8fd91526d6 improve test reliability 2023-06-15 14:57:44 -04:00
Lin Huang 6aca8a47db Merge pull request #1307 from AntelopeIO/bump_to_4_0_2
[4.0] Bump Leap version to 4.0.2
2023-06-15 13:52:23 -04:00
Peter Oschwald b7b4554a18 Fix spelling causing issue with GITHUB_ENV. And trying again to get artifact name correctly. 2023-06-15 12:35:43 -05:00
Lin Huang b90a843acc [4.0] Bump Leap version to 4.0.2 2023-06-15 13:18:18 -04:00
Kevin Heifner d0d53c0620 Merge pull request #1305 from AntelopeIO/GH-1284-log-spam-main
[4.0 -> main] P2P: Do not log small clock skew
2023-06-15 12:12:12 -05:00
Kevin Heifner 3b108de276 Merge remote-tracking branch 'origin/release/4.0' into GH-1284-log-spam-main 2023-06-15 11:14:14 -05:00
Kevin Heifner a3f37d9ecd Merge pull request #1303 from AntelopeIO/GH-1284-log-spam-4.0
[4.0] P2P: Do not log small clock skew
2023-06-15 11:11:44 -05:00
Kevin Heifner 6a44686d25 Merge pull request #1304 from AntelopeIO/GH-1228-empty-blocklog-main
[4.0 -> main] Fix for loading a snapshot with an empty block log but an existing fork database
2023-06-15 11:11:04 -05:00
Peter Oschwald 20e59a92bc Not finding deb packages. check dir structure some more. 2023-06-15 10:49:04 -05:00
Peter Oschwald 969867af86 Merge branch 'main' into libtester-usage-in-ci 2023-06-15 10:42:57 -05:00
Kevin Heifner baccb32d2d Merge remote-tracking branch 'origin/release/4.0' into GH-1228-empty-blocklog-main 2023-06-15 10:38:20 -05:00
Kevin Heifner ce6f2cfb30 Merge pull request #1299 from AntelopeIO/GH-1228-empty-block-log-4.0
[4.0] Fix for loading a snapshot with an empty block log but an existing fork database
2023-06-15 10:37:24 -05:00
Vlad 294997d734 Merge pull request #1283 from AntelopeIO/bsd-13-2-build-fix
Fix for a build on FreeBSD 13.2
2023-06-15 11:37:09 -04:00
Vlad 24ac4cf19e Merge pull request #1301 from AntelopeIO/GH-1197-get-transaction-id-hex-data-main
[4.0 -> main] if actions.data & actions.hex_data provided, use the hex_data in api call get_transaction_id
2023-06-15 11:36:32 -04:00
Kevin Heifner 6991a718b3 GH-1284 Do not log small clock skew 2023-06-15 08:30:40 -05:00
Peter Oschwald 31fd1361aa Something is not matching up with expected dir or file structure. 2023-06-15 08:00:00 -05:00
766C6164 a3dad02c78 Merge branch 'release/4.0' into GH-1197-get-transaction-id-hex-data-main 2023-06-15 08:16:54 -04:00
mschoenebeck 7159dc2934 updated bls module 2023-06-15 02:14:52 -05:00
Jonathan Giszczak 83c0bfc6af Adapt cluster create account to use non-producing node if available.
Add non-producing nodes to several tests to allow transaction retry.
Adjust individual tests to use non-producing nodes for trx retry.
2023-06-14 23:55:47 -05:00
Vlad 88c9d3f089 Merge pull request #1280 from AntelopeIO/GH-1197-get-transaction-id-hex-data
[4.0] if actions.data & actions.hex_data provided, use the hex_data in api call get_transaction_id
2023-06-14 22:17:42 -04:00
Kevin Heifner 308a985ef8 GH-1228 Correctly handle forks 2023-06-14 21:04:07 -05:00
Kevin Heifner 79535c6109 GH-1228 Increase the block_range to include fork 2023-06-14 21:03:42 -05:00
Kevin Heifner 1dca359a8e GH-1228 Log snapshot loaded for both cases 2023-06-14 20:47:39 -05:00
Peter Oschwald 449f37133b Skip wildcards in upload-artifact and capture artifact name with regex grep and store in env variable. 2023-06-14 16:44:42 -05:00
Kevin Heifner 3f196088e4 GH-1228 Include invalid get_blocks_result_v0 in the streamer output for debugging 2023-06-14 15:56:10 -05:00
Matt Witherspoon 81020c3ed7 regenerate deepmind log for new BLS_PRIMITIVES 2023-06-14 16:42:31 -04:00
Peter Oschwald 9c0c1aa906 See if setting leap_DIR just once on GITHUB_ENV will suffice.
Remove LEAP_BUILD_DIR as it is not used any longer.
2023-06-14 15:42:15 -05:00
Peter Oschwald feeee5eb8f Say yes. 2023-06-14 15:37:38 -05:00
Peter Oschwald 32de87b185 Update package lists first. 2023-06-14 15:35:28 -05:00
Peter Oschwald 78dd785035 Need software-properties-common and a apt-get update to get add-apt-repository to work. 2023-06-14 15:34:06 -05:00
Peter Oschwald f4b39ea29e Use single quotes. 2023-06-14 15:30:35 -05:00
Peter Oschwald 20f45e5923 Add conditional step to add updated apt repository for git.
Ubuntu 18.04 installs  git 2.17.1, but need 2.18+ for git submodules to work.
2023-06-14 15:27:18 -05:00
Peter Oschwald 06373d2cfc Merge branch 'main' into libtester-usage-in-ci 2023-06-14 15:12:19 -05:00
Kevin Heifner 804d3a4df4 Merge pull request #1298 from AntelopeIO/GH-1228-empty-block-log-main
[4.0 -> main] Fix for loading snapshot with empty block log
2023-06-14 15:10:12 -05:00
766C6164 e165ba91af Added two more validation exceptions from cleos 2023-06-14 16:09:40 -04:00
Peter Oschwald 12de1d9337 Merge pull request #1297 from AntelopeIO/init-pinned-build-workflow
Create initial workflow file for Pinned Builds.
2023-06-14 15:08:31 -05:00
Kevin Heifner 9599669956 GH-1228 Fix for reading a snapshot without a block log but with a fork database 2023-06-14 14:42:28 -05:00
Kevin Heifner 2a3c0c3da9 GH-1228 Additional tests for empty block log 2023-06-14 14:41:58 -05:00
Kevin Heifner 53d4847c38 Merge remote-tracking branch 'origin/release/4.0' into GH-1228-empty-block-log-main 2023-06-14 14:34:42 -05:00
Kevin Heifner b9c2e739eb Merge pull request #1285 from AntelopeIO/GH-1228-empty-block-log-4.0
[4.0] Fix for loading snapshot with empty block log
2023-06-14 14:32:13 -05:00
Peter Oschwald b016822c57 Not using cached build environments so removing this job. Replace with temp job for now. 2023-06-14 14:18:14 -05:00
Peter Oschwald aa5ef2a668 Try single method of discovering leap dir.
Use environment variable for leap_DIR. Remove use of cache variables.
2023-06-14 14:08:50 -05:00
Peter Oschwald fc2166a46d Merge branch 'init-pinned-builds-workflow-in-ci' into pinned-builds-workflow-in-ci 2023-06-14 13:58:18 -05:00
Peter Oschwald 39a5ba846a Have to have a job for github. Add temp job. 2023-06-14 13:57:00 -05:00
Peter Oschwald e4b28a7854 Remove empty jobs section. 2023-06-14 13:54:13 -05:00
Peter Oschwald e4819c35e1 Merge branch 'init-pinned-builds-workflow-in-ci' into pinned-builds-workflow-in-ci 2023-06-14 13:51:11 -05:00
Peter Oschwald 7b7027cbee Not using cached build environments so removing this job. 2023-06-14 13:49:33 -05:00
Peter Oschwald 74fb1615d8 Add pinned to artifact name and don't upload dev artifact by filtering out in regex. 2023-06-14 13:02:32 -05:00
Peter Oschwald 5523010cfd Fix syntax and forgotten run command. 2023-06-14 13:00:00 -05:00
Peter Oschwald 7c106605cc Not using cached build environments so removing this job. 2023-06-14 12:16:11 -05:00
766C6164 72f87b87a5 use EOS_RETHROW_EXCEPTIONS 2023-06-14 13:13:07 -04:00
Peter Oschwald 9047d1175b For now run on github runner. 2023-06-14 12:05:12 -05:00
Peter Oschwald da6a068639 Script already runs cpack, remove. Break artifact check into own step for easier removal in future. 2023-06-14 12:03:27 -05:00
766C6164 a46b8bbbb5 Merge branch 'GH-1197-get-transaction-id-hex-data' of github.com:AntelopeIO/leap into GH-1197-get-transaction-id-hex-data 2023-06-14 12:56:26 -04:00
766C6164 6446f4a9e4 Updated exceptions 2023-06-14 12:56:17 -04:00
Peter Oschwald a886743005 Initial work to run pinned_build script on base images.
Build package and upload artifacts.
2023-06-14 11:44:53 -05:00
Peter Oschwald 0dbfb1a6ed Creating a shell of the initial pinned_build.yaml workflow to be merged quickly allowing development of actual workflow in follow on branch.
Need to have workflow file merged before github will allow triggering it in a development branch.
2023-06-14 11:26:08 -05:00
Peter Oschwald a8fb85c854 Create initial workflow file for Pinned Builds.
Creating a shell of the initial pinned_build.yaml workflow to be merged quickly into main to allow development of actual workflow in follow on branch.  Need to have workflow file in main before github will allow triggering it in a development branch.
2023-06-14 09:49:50 -05:00
Kevin Heifner 3406b68857 GH-1228 Improve assert message 2023-06-14 09:25:02 -05:00
mschoenebeck 8a0e21f837 renamed bls lib 2023-06-14 09:16:51 -05:00
Peter Oschwald 4ec1aba9a6 Probably doesn't need hightier any longer. Move down to lowtier. 2023-06-14 08:54:21 -05:00
Peter Oschwald f069ef42df Try to install from cmake. 2023-06-14 08:39:32 -05:00
Kevin Heifner 4734d36b55 GH-1228 Fix empty block log to support loading from a snapshot 2023-06-14 06:35:54 -05:00
Kevin Heifner 02dd569d35 GH-1228 Better assertion message 2023-06-14 06:35:31 -05:00
Kevin Heifner 40332eccb7 GH-1228 Add test for reading a snapshot with no block log option. 2023-06-14 06:35:04 -05:00
766C6164 e809eec2bf fc::to_string -> std::to_string 2023-06-13 21:49:49 -04:00
Vlad 40bf6c2d59 Merge branch 'release/4.0' into GH-1197-get-transaction-id-hex-data 2023-06-13 20:06:33 -04:00
766C6164 167820fcd7 Addresing feedback - tests, asserts 2023-06-13 18:52:33 -04:00
Peter Oschwald da2e36fd8d midtier seems to be failing, up it to hightier and try. Fix documentation. 2023-06-13 17:02:00 -05:00
Peter Oschwald 6ef42555d8 Use midtier runner instead of beefy. 2023-06-13 16:18:01 -05:00
Peter Oschwald 86ad348b6a Merge branch 'main' into libtester-usage-in-ci 2023-06-13 14:49:16 -05:00
Vlad 53ac7e8f62 Merge pull request #1274 from AntelopeIO/GH-1273-improve-snapshot-tst
Made snapshot test more robust in case of asap scheduling
2023-06-13 15:39:26 -04:00
Peter Oschwald 1a2f38ded6 Begin cleanup of build.yaml 2023-06-13 14:23:26 -05:00
Peter Oschwald 781bf34868 Up the runner for the dev-install test. 2023-06-13 14:21:49 -05:00
766C6164 53a94a68bc if actions.data & actions.hex_data provided, use the hex_data 2023-06-13 14:41:38 -04:00
Peter Oschwald 4fb6c05667 Set some env variables for install. 2023-06-13 13:35:33 -05:00
Kevin Heifner b951f747a8 Merge pull request #1278 from AntelopeIO/GH-1272-ship-main
[4.0 -> main] SHiP: fix intermittent empty get_block_result
2023-06-13 13:34:32 -05:00
Peter Oschwald cb707a526c Don't upgrade, just update list. 2023-06-13 13:20:30 -05:00
Peter Oschwald 6eeb12b0ca apt reported as not having stable CLI interface. Try using apt-get instead. 2023-06-13 13:00:52 -05:00
Kevin Heifner ea9b988f56 GH-1272 Fix merge 2023-06-13 12:42:54 -05:00
Peter Oschwald 213eff9341 Move apt install step down to reference-contracts where it is required. Also install build-essential. 2023-06-13 12:36:46 -05:00
Kevin Heifner b8d64a5399 Merge remote-tracking branch 'origin/release/4.0' into GH-1272-ship-main 2023-06-13 12:29:41 -05:00
Kevin Heifner 9bba26a2c3 Merge pull request #1276 from AntelopeIO/GH-1272-ship-4.0
[4.0] SHiP: fix intermittent empty get_block_result
2023-06-13 12:27:10 -05:00
Peter Oschwald d5bc51732e Run apt update and upgrade on base images before installing. 2023-06-13 12:14:28 -05:00
Peter Oschwald cb18aea20c Attempt to build up from ubuntu base images to check dependency installation in deb packages. 2023-06-13 11:46:13 -05:00
Peter Oschwald 903a8d71e0 Try with lowtier machines. 2023-06-13 11:18:18 -05:00
Peter Oschwald 1b9a4a1978 Fix path not supported for artifact download action.
Introduce removal of leap artifacts after install.
2023-06-13 10:35:06 -05:00
Peter Oschwald 70d7fa0422 Update dependency now that it is using the artifact. 2023-06-13 10:18:34 -05:00
Peter Oschwald 3d1b726450 Try using clone and builddir combo for dev-install variant. 2023-06-13 08:09:47 -05:00
Peter Oschwald 6265cdbf06 Clone leap to have src avail for build tree test. 2023-06-13 07:46:05 -05:00
766C6164 845a5e4e2f more readable ps_start 2023-06-13 07:43:41 -04:00
Kevin Heifner d4d8839be5 GH-1272 Fix merge issue 2023-06-12 20:06:53 -05:00
Kevin Heifner 93b357dc11 GH-1272 Use block_state if it is current block instead of trying to find the block in forkdb 2023-06-12 19:31:18 -05:00
Kevin Heifner 23c57bf1f2 GH-1272 Add ship and streamer client to verify blocks received over fork 2023-06-12 19:30:30 -05:00
766C6164 9589cbee34 Made test more robust in case of asap scheduling 2023-06-12 18:08:08 -04:00
jgiszczak 5b00e0597f Merge branch 'main' into test-harness-retry-num-blocks 2023-06-12 15:48:54 -05:00
Jonathan Giszczak 4abcae09c9 Support --retry-num-blocks in regression tests.
Enable --transaction-retry-max-storage-size-gb on all non-producer nodes
in regression tests.
2023-06-12 15:48:25 -05:00
greg7mdp a4c07cf27c Merge branch 'main' of github.com:AntelopeIO/leap into gh-1230 2023-06-12 16:38:51 -04:00
Kevin Heifner d86ba3aa41 Merge pull request #1271 from AntelopeIO/GH-1240-net-loop-main
[4.0 -> main] P2P excessive logging caused by message spamming
2023-06-12 14:59:22 -05:00
Peter Oschwald 1e78934af6 Move reference-contracts build into the reference-contracts dir. 2023-06-12 14:36:02 -05:00
Peter Oschwald 6f2ab3c589 Trying if the dir structure has to match that from the leap Build job when using the build archive. 2023-06-12 14:25:03 -05:00
Peter Oschwald 2df6005091 Try adding CMAKE_PREFIX_PATH. 2023-06-12 14:10:44 -05:00
Peter Oschwald d32f1f77cd Try specifying LEAP_BUILD_DIR 2023-06-12 13:59:40 -05:00
Kevin Heifner 45429a3e34 Merge remote-tracking branch 'origin/release/4.0' into GH-1240-net-loop-main 2023-06-12 13:59:18 -05:00
Kevin Heifner bccfa160f8 Merge pull request #1267 from AntelopeIO/GH-1240-net-loop-4.0
[4.0] P2P excessive logging caused by message spamming
2023-06-12 13:55:23 -05:00
jgiszczak 883770575f Merge branch 'main' into test-harness-retry-num-blocks 2023-06-12 13:43:36 -05:00
Peter Oschwald 756d884d61 Instead of bulding cdt from source, for this just install from deb package as well. 2023-06-12 13:36:17 -05:00
Peter Oschwald 0529db6b3d Export the env variable in cdt build. 2023-06-12 13:25:00 -05:00
greg7mdp 45844e019b Fix a couple issues from the previous merge. 2023-06-12 13:40:15 -04:00
greg7mdp 07e2a9b237 Merge branch 'main' of github.com:AntelopeIO/leap into gh-1230 2023-06-12 13:34:37 -04:00
greg7mdp 994b547642 Remove fc::unique_lock copy constructor which I am not sure how to get right 2023-06-12 13:27:16 -04:00
greg7mdp 76129fd10f Revert unnecessary logic changes. 2023-06-12 13:26:34 -04:00
greg7mdp 3a8584cf1e Hold the lock during request_next_chunk method as suggested 2023-06-12 13:23:23 -04:00
Peter Oschwald 72702596d2 Spelling correction. 2023-06-12 12:15:15 -05:00
greg7mdp 30ffccc59b Do not pass the mutex * as suggested in PR comment. 2023-06-12 13:12:29 -04:00
Peter Oschwald 8c73690b01 Use github environment file and variable to pass env variable between steps. 2023-06-12 11:58:31 -05:00
Kevin Heifner 6c5e1564b8 Merge pull request #1269 from AntelopeIO/fix-i256-main
[4.0 -> main] fix i256 key type conversion by initialize buffer before usage
2023-06-12 11:30:08 -05:00
Kevin Heifner de9c8f0c7a Merge remote-tracking branch 'origin/release/4.0' into fix-i256-main 2023-06-12 10:53:19 -05:00
Kevin Heifner 1b14fc9c1d Merge pull request #1266 from AntelopeIO/fix-i256-4.0
[3.2 -> 4.0] fix i256 key type conversion by initialize buffer before usage
2023-06-12 10:52:50 -05:00
greg7mdp 61242561d7 Restore exception safety as discussed with Kevin. 2023-06-12 11:51:07 -04:00
Peter Oschwald 73f326f395 Env variables not carrying over between steps. Reset leap_DIR and cdt_DIR here. 2023-06-12 10:46:33 -05:00
Peter Oschwald ae03420dba Install CDT from deb package instead of src build and install. 2023-06-12 10:46:00 -05:00
Peter Oschwald 61b3d2e494 Still trying to get cdt_DIR and leap_DIR to work. 2023-06-12 09:44:45 -05:00
greg7mdp 28ad1c34e4 Address PR comments 2023-06-12 10:39:06 -04:00
greg7mdp a0a1effbdd Address PR comments 2023-06-12 10:21:18 -04:00
Peter Oschwald d055c409ed Try exporting lead and cdt dir to env variable for use in ref-contracts build. 2023-06-12 09:17:56 -05:00
Peter Oschwald 8df02aa8a3 Try install first then dev-install. 2023-06-12 09:17:25 -05:00
greg7mdp d954698e31 Whitespace cleanup 2023-06-12 10:13:08 -04:00
Peter Oschwald a8d176796b double check dir structure 2023-06-12 08:50:44 -05:00
Peter Oschwald 60d62888db double check dir structure 2023-06-12 08:37:58 -05:00
greg7mdp 6fdb21d79b Add version check for enabling -Wthread-safety (version >= 14) 2023-06-12 09:27:30 -04:00
Peter Oschwald 33a4496105 double check dir structure 2023-06-12 08:18:51 -05:00
Peter Oschwald 4635c6c4a4 Use absolute paths. 2023-06-12 07:54:38 -05:00
Kevin Heifner c2026ced33 Merge pull request #1243 from AntelopeIO/GH-1072-send-time-latency
P2P use round trip of time_message to calculate latency
2023-06-12 07:47:13 -05:00
Kevin Heifner 84fa137298 Merge branch 'main' into GH-1072-send-time-latency 2023-06-12 06:56:42 -05:00
Kevin Heifner d495b4094c Merge remote-tracking branch 'origin/release/3.2' into fix-i256-4.0 2023-06-12 06:32:36 -05:00
Kevin Heifner e06fc98e81 Merge pull request #1264 from AntelopeIO/fix-i256-3.2
[3.2] fix `i256` key type conversion by initialize buffer before usage
2023-06-12 06:31:41 -05:00
Vlad 9cfcbf0b30 Merge pull request #1265 from AntelopeIO/GH-1239-make-output-dir-required-main
[4.0 -> main] Output-dir should be required for block-log subcommands of leap-util
2023-06-11 18:34:43 -04:00
Gregory Popovitch 990d2eacf8 Merge pull request #1253 from AntelopeIO/cleanup_net_plugin_pimpl
Cleanup pimpl idiom for `net_plugin`
2023-06-11 11:41:05 -04:00
766C6164 a3f863fa7b Merge branch 'release/4.0' into GH-1239-make-output-dir-required-main 2023-06-11 11:30:26 -04:00
Vlad 3677c3c80f Merge pull request #1263 from AntelopeIO/GH-1239-make-output-dir-required-40
[3.2 -> 4.0] Output-dir should be required for block-log subcommands of leap-util
2023-06-11 11:27:06 -04:00
learnforpractice db657e5082 fix i256 key type conversion by initialize buffer before usage 2023-06-10 15:30:22 -05:00
Matt Witherspoon f8930f4bc2 Merge pull request #1252 from learnforpractice/main
fix `i256` key type conversion by initialize buffer before usage
2023-06-10 16:22:39 -04:00
greg7mdp 563bbbad1f whitespace 2023-06-10 15:57:26 -04:00
greg7mdp 836856204d Add thread safety directives for conn_mtx 2023-06-10 15:45:10 -04:00
greg7mdp 902fdaa07f Remove explicit template parameters <std::mutex>. 2023-06-10 15:35:32 -04:00
greg7mdp 25bb1554cf Add thread safety directives for queued_buffer class. 2023-06-10 15:31:47 -04:00
greg7mdp 5ec8c2a775 Add thread safety directives to some other mutexes. 2023-06-10 15:27:54 -04:00
greg7mdp 337e96ca84 Add thread safety directives for two other mutexes. 2023-06-10 15:18:51 -04:00
Kevin Heifner 8ffb1b4412 GH-1240 Better handling of close when not syncing 2023-06-10 10:06:09 -05:00
Kevin Heifner affbbd087f GH-1240 get_time is supposed to be nanoseconds 2023-06-10 08:46:45 -05:00
Kevin Heifner 2409db22d8 GH-1027 catch_up message with head was being ignored. This was likely not noticed before because handshake would provide it eventually. 2023-06-10 08:29:58 -05:00
mschoenebeck 06411fa037 added yield() to pairing::calculate and g2::multiExp 2023-06-10 04:35:09 -05:00
mschoenebeck 14d9bdbbdc Merge branch 'main' of https://github.com/AntelopeIO/leap 2023-06-10 04:14:49 -05:00
greg7mdp 1508378ec1 Fix thread safety warnings for sync_mtx 2023-06-09 22:20:42 -04:00
learnforpractice c5f0eae2a4 Merge branch 'main' into main 2023-06-10 07:00:49 +08:00
766C6164 48b3beef41 make output-dir required for leap-util block-log subcommands 2023-06-09 17:37:49 -04:00
766C6164 1b043c75de Merge branch 'release/3.2' into GH-1239-make-output-dir-required-40 2023-06-09 17:34:40 -04:00
greg7mdp 7a8be73f51 Fix one warning 2023-06-09 17:31:54 -04:00
Vlad 4a640d422e Merge pull request #1262 from AntelopeIO/GH-1239-make-output-dir-required-32
[3.2] Output-dir should be required for extract-blocks subcommand of leap-util
2023-06-09 17:30:54 -04:00
Peter Oschwald f21cd85960 update archive listings before trying to install. 2023-06-09 16:25:19 -05:00
Peter Oschwald e32ee2413e This job no longer depends on Build job. 2023-06-09 16:15:32 -05:00
Peter Oschwald 00640d79fd install missing CDT dependencies. 2023-06-09 16:09:57 -05:00
Peter Oschwald d024d9018c Upgrade to beefy machine for these double builds. 2023-06-09 16:07:20 -05:00
Peter Oschwald bde575eccc install missing CDT dependencies. 2023-06-09 16:06:48 -05:00
greg7mdp d897dfeb4f Thread Safety Analysis - wip 2023-06-09 17:04:18 -04:00
Peter Oschwald 3954d1eec6 For make dev-install need to rebuild leap. 2023-06-09 15:43:10 -05:00
Peter Oschwald 36eaa0aef9 Fix expected dir structure for builddir 2023-06-09 15:27:16 -05:00
Peter Oschwald 82d03eeb74 Attempt to make dev-packages for ubunut20 and ubuntu22 and update libtester-deb-install-test to use both images. 2023-06-09 15:14:23 -05:00
Kevin Heifner bb289379eb GH-1240 Prevent infinite loop in net_plugin by not sending back a handshake for a catch_up notice if nothing new to report. 2023-06-09 15:12:52 -05:00
Peter Oschwald 04d9410b9e Update build tool for using leap builddir. Fix/update build tree test. 2023-06-09 15:02:45 -05:00
Peter Oschwald a7d472f3f2 Add libtester-build-tree-test 2023-06-09 14:34:04 -05:00
Peter Oschwald 10d3cdd36a Merge branch 'main' into libtester-usage-in-ci 2023-06-09 14:30:12 -05:00
Peter Oschwald 361d5a68b2 Add libtester-make-dev-install-test 2023-06-09 14:29:37 -05:00
Kevin Heifner b2e7857642 GH-1027 Since we now sync ahead the sync_next_expected_num needs reset if we get an unlinkable block 2023-06-09 14:24:16 -05:00
Peter Oschwald 1b1909af1c Installed cmake doesn't support --test-dir so cd and then run tests. 2023-06-09 13:44:24 -05:00
Peter Oschwald 33c446c708 Use cached base image's already installed cmake. 2023-06-09 13:43:36 -05:00
766C6164 852f1bb285 output-dir should be required for extract-blocks 2023-06-09 13:20:17 -04:00
Kevin Heifner c86ca4726d GH-1027 catch_up message with head was being ignored. This was likely not noticed before because handshake would provide it eventually. 2023-06-09 11:37:57 -05:00
Gregory Popovitch 651d21f2a3 Merge pull request #1234 from AntelopeIO/gh-1057
Remove fc/string.hpp to_string impls
2023-06-09 12:25:21 -04:00
jgiszczak 6e99273ac2 Merge branch 'main' into test-harness-retry-num-blocks 2023-06-09 11:23:34 -05:00
Peter Oschwald 542b4e778e Add -y flag 2023-06-09 09:13:57 -05:00
Kevin Heifner ea230ce353 GH-1027 Simplify time_message logic 2023-06-09 09:07:32 -05:00
Kevin Heifner d74af81c8a GH-1027 Simplify time_message logic 2023-06-09 08:42:57 -05:00
Kevin Heifner 2c43180043 GH-1027 Reduce handshake storm by only sending handshake if head changed or 50ms has passed 2023-06-09 08:03:49 -05:00
Kevin Heifner aa25f11201 GH-1027 Remove notice_message that is a no-op 2023-06-09 07:13:05 -05:00
learnforpractice 0974eac7cf fix i256 key type conversion by initialize buffer before usage 2023-06-09 08:27:57 +08:00
Gregory Popovitch 7c0694b4c9 Merge pull request #1258 from AntelopeIO/gh-1238
Add harden flags to pinned builds
2023-06-08 20:21:22 -04:00
Jonathan Giszczak 8f8da58139 Merge branch 'test-harness-retry-num-blocks' of github.com:AntelopeIO/leap into test-harness-retry-num-blocks 2023-06-08 18:38:50 -05:00
Jonathan Giszczak 607fe06199 Revert attempt to add retry to transactions.py since all are read/write.
Expose silentErrors parameter for some transactions.py calls.
Improve tests to exercise waitForTransBlock on createAccount,
createInitializeAccount, transferFunds, regproducer, and delegatebw.
Add exercising undelegatebw to a regression test (previously only tested
in unit tests).
2023-06-08 18:37:54 -05:00
Kevin Heifner 9fe62d5f1c GH-1027 Reset sync_source when unable to request range 2023-06-08 18:37:38 -05:00
Kevin Heifner 39df8b5a10 GH-1027 Rename net_latency_ns to peer_ping_time_ns 2023-06-08 18:36:50 -05:00
Peter Oschwald 52431b90cc Try without sudo. 2023-06-08 16:36:09 -05:00
Peter Oschwald c9185d623a Fix spelling. 2023-06-08 16:21:36 -05:00
Peter Oschwald 850969e0d1 gh-1104 First attempt to run libtester CI test from dev installs. 2023-06-08 16:19:03 -05:00
greg7mdp 07b0586c32 Add harden flags to pinned builds
see: https://www.redhat.com/en/blog/hardening-elf-binaries-using-relocation-read-only-relro
2023-06-08 16:31:45 -04:00
Kevin Heifner 5b34d53348 GH-1027 If two time_message loops in progress, drop all but the expected one. 2023-06-08 14:15:36 -05:00
Kevin Heifner 438d1251ac GH-1027 Use constants for normalize 2023-06-08 11:23:24 -05:00
Kevin Heifner ef1b486896 GH-1027 No need to normalize msg.org 2023-06-08 10:20:18 -05:00
greg7mdp 62d8543ddc Clean up connection::_close() which doesn't need to be static. 2023-06-08 11:15:28 -04:00
Kevin Heifner 7032cdac99 GH-1027 Prevent infinite time_message loops by making sure only one in progress at a time 2023-06-08 09:52:48 -05:00
greg7mdp c1cb2bc0b6 forgot to remove a try/catch. 2023-06-08 10:38:39 -04:00
greg7mdp 78dc9cddc5 Cleanup net_plugin pimpl idiom. 2023-06-08 10:30:23 -04:00
greg7mdp 6ec9bf3479 Merge branch 'main' of github.com:AntelopeIO/leap into gh-1057 2023-06-08 09:50:53 -04:00
mschoenebeck 76c82ae5fb updated bls12_381::init() 2023-06-08 03:13:43 -05:00
mschoenebeck c4b0e19c8a Merge branch 'main' of https://github.com/AntelopeIO/leap 2023-06-08 01:14:33 -05:00
jgiszczak 3a47111bbb Merge branch 'main' into test-harness-retry-num-blocks 2023-06-07 18:37:35 -05:00
Jonathan Giszczak daaf76d7f9 Use retry-num-blocks where possible to avoid polling in tests. 2023-06-07 18:31:12 -05:00
mschoenebeck 8f7d439f62 update according to Github comments 2023-06-07 18:13:38 -05:00
Kevin Heifner 1c607bd880 Merge pull request #1248 from AntelopeIO/GH-1217-ship-main
[4.0 -> main] SHiP: Fix state-history-log-retain-blocks option handling
2023-06-07 15:32:59 -05:00
Kevin Heifner 3778e33c6e Merge remote-tracking branch 'origin/release/4.0' into GH-1217-ship-main 2023-06-07 14:58:21 -05:00
Kevin Heifner a79f306ec7 Merge pull request #1241 from AntelopeIO/GH-1217-ship-4.0
[4.0] SHiP: Fix state-history-log-retain-blocks option handling
2023-06-07 14:57:45 -05:00
Kevin Heifner 91346b10f2 GH-1027 start_sync will determine if sync needed 2023-06-07 14:54:58 -05:00
Matt Witherspoon 60eb61b7f8 Merge pull request #1242 from AntelopeIO/unlimited_rotrx_thread_start
[4.0 -> main] allow ROtrx threads unlimited time to start
2023-06-07 15:35:58 -04:00
mschoenebeck e920c992ae Merge branch 'main' of https://github.com/AntelopeIO/leap 2023-06-07 13:31:35 -05:00
greg7mdp d399f5d74a Forgot to add symbol.cpp 2023-06-07 14:16:01 -04:00
greg7mdp addef1ff56 Merge branch 'main' of github.com:AntelopeIO/leap into gh-1057 2023-06-07 14:13:54 -04:00
greg7mdp 1c2c0ea8bd Remove trim from fc/string.hpp (use boost trim_copy directly). 2023-06-07 14:04:33 -04:00
Kevin Heifner fa5eeb7b0a GH-1027 Remove unneeded handshake 2023-06-07 11:30:02 -05:00
Kevin Heifner 1600c88124 GH-1027 No need to sync or send handshake if already syncing 2023-06-07 11:24:16 -05:00
Matt Witherspoon 952e4065ed Merge remote-tracking branch 'origin/release/4.0' into unlimited_rotrx_thread_start 2023-06-07 11:58:51 -04:00
Kevin Heifner 27d049b3b1 GH-1217 Fix process of state-history-log-retain-blocks option 2023-06-07 10:52:11 -05:00
Matt Witherspoon ce99dc18ab Merge pull request #1221 from AntelopeIO/unlimited_rotrx_thread_start_40x
[4.0] allow ROtrx threads unlimited time to start
2023-06-07 11:49:24 -04:00
Kevin Heifner fed0e8a363 Merge branch 'main' into GH-1072-latency 2023-06-07 10:30:56 -05:00
Kevin Heifner 73644fd0af GH-1072 Revert: No reason to post if syncing from peer. 2023-06-07 09:54:11 -05:00
Vlad d23cb169ee Merge pull request #1236 from AntelopeIO/snapshot-scheduler-test-fix
Improve robustness of snapshot unit test
2023-06-07 10:28:14 -04:00
Kevin Heifner 2fab062269 GH-1072 Revert check for in sync as we need to always attempt a start sync on a lib notice. 2023-06-06 23:01:20 -05:00
Kevin Heifner 668d2a4aaf GH-1072 Update comments 2023-06-06 21:58:07 -05:00
Kevin Heifner cdd05a8351 GH-1072 Do not print out complete blocklog on failure as it is way too much output for ci/cd. 2023-06-06 16:40:00 -05:00
Peter Oschwald 6ad30814c5 Merge pull request #1229 from AntelopeIO/ph-read-only-trxs
[PH] Read-Only transaction support
2023-06-06 16:25:27 -05:00
Peter Oschwald a8f559cf9f Address peer review comments.
Rename and simplify test naming for clarity.
Rename endpoint api type to simply be endpoint mode for clarity.
2023-06-06 15:27:04 -05:00
Kevin Heifner 1341215ff3 GH-1072 Fix for net_latency_ns not being calculated yet. 2023-06-06 12:46:20 -05:00
Peter Oschwald 85ea6ff296 Merge branch 'main' into ph-read-only-trxs 2023-06-06 11:37:36 -05:00
766C6164 620964759c Desensitize test in case of auto determining start block 2023-06-06 12:26:17 -04:00
jgiszczak ba919c7941 Merge pull request #1232 from AntelopeIO/test-harness-double-kill-fix
Avoid trying to kill a node twice to prevent orphaned processes.
2023-06-06 10:51:36 -05:00
Kevin Heifner 703f8eb322 GH-1072 Use round trip time_message for calculation of latency. 2023-06-06 10:44:24 -05:00
greg7mdp 15ae38669d Removed last to_string() overloads from the fc string.hpp header. 2023-06-06 11:18:30 -04:00
greg7mdp 1c5a555419 replace uses of fc::to_string for integer types with std::to_string 2023-06-06 11:05:45 -04:00
Peter Oschwald ff2d795f8e Merge branch 'main' into ph-read-only-trxs 2023-06-06 09:51:51 -05:00
greg7mdp 5abbc3c811 remove fc::to_string for integer types 2023-06-06 10:38:24 -04:00
Peter Oschwald 776040ac41 Another round of peer review comments addressed. 2023-06-06 09:33:38 -05:00
jgiszczak 3537d22340 Merge branch 'main' into test-harness-double-kill-fix 2023-06-05 19:08:57 -05:00
Jonathan Giszczak 8f865a93ef Avoid trying to kill a node twice to prevent orphaned processes. 2023-06-05 18:07:01 -05:00
Vlad 15c6727954 Merge pull request #1220 from AntelopeIO/GH-1152-zero-values
Extended snapshot scheduler to better handle missing and zero params
2023-06-05 17:43:31 -04:00
Peter Oschwald 566e12fa8d Address peer review comments & move function implementations into cpp files.
Address possibility of optional receipt not having data if a transaction fails.
2023-06-05 16:34:53 -05:00
Peter Oschwald f16786ecb5 Merge branch 'main' into ph-read-only-trxs 2023-06-05 15:26:14 -05:00
Peter Oschwald f9838a118b Address peer review comments. 2023-06-05 15:25:32 -05:00
Peter Oschwald 265ae7f236 Update documentation. 2023-06-05 14:52:19 -05:00
Peter Oschwald edd768beed Make configuration of validation and api nodes condititional. 2023-06-05 14:52:01 -05:00
Kevin Heifner c776ac9412 GH-1072 No reason to post if syncing from peer 2023-06-05 14:34:22 -05:00
Kevin Heifner d04757a8b0 Merge pull request #1225 from AntelopeIO/GH-1072-sync-ahead
P2P sync ahead while applying received blocks
2023-06-05 13:57:04 -05:00
Peter Oschwald ed5333b716 Fix endpointApiType which moved from TpsTrxGensConfig onto the TransactionGeneratorsLauncher itself. 2023-06-05 13:14:23 -05:00
Peter Oschwald f7f487d75b Refactor endpointApiType and apiEndpoint a little. 2023-06-05 12:53:37 -05:00
Kevin Heifner 87564199b5 GH-1072 Simplify logic 2023-06-05 12:47:29 -05:00
Kevin Heifner 644ded8a7f GH-1072 Comment sync_ members 2023-06-05 12:47:09 -05:00
Peter Oschwald a41b2ff2f0 Add performance load test with read-only trxs
Add apiEndpoint and userTrxData to test report for reference.

Simplify createReport argument list.
2023-06-05 11:29:52 -05:00
Peter Oschwald b803af646a Forgot to add test to group. 2023-06-05 11:28:04 -05:00
Peter Oschwald bec972a015 Merge branch 'main' into ph-read-only-trxs 2023-06-05 10:15:14 -05:00
Peter Oschwald 29bdea6adf Add read-only transaction support through user defined transaction config.
Add configuration option for api-endpoint to allow targeting specific http endpoint with transactions.

Configurable number of read-only threads for the api nodes.

Allow for empty authorizations in transaction action for read-only trx support.
2023-06-05 10:14:19 -05:00
Huang-Ming Huang bb9c1c923d address PR comments 2023-06-05 09:14:44 -05:00
Matt Witherspoon c6972500ac Merge pull request #1227 from AntelopeIO/fix_nplr_nonleap
[4.0 -> main] fix NP & LR CI workflow for forked/mirrored repos that are not named leap
2023-06-03 15:15:53 -04:00
Matt Witherspoon 8335c5576e Merge remote-tracking branch 'origin/release/4.0' into fix_nplr_nonleap 2023-06-02 17:29:05 -04:00
Matt Witherspoon 05ce10c375 Merge pull request #1226 from AntelopeIO/fix_nplr_nonleap_40x
[4.0] fix NP & LR CI workflow for forked/mirrored repos that are not named `leap`
2023-06-02 17:20:09 -04:00
Matt Witherspoon 19af68829b don't hardcode leap in parallel-ctest-containers action 2023-06-02 15:33:24 -04:00
Gregory Popovitch 96ab7afd32 Merge pull request #1224 from AntelopeIO/cleanup_ship_pimpl
Cleanup pimpl idiom for ship.
2023-06-02 15:25:01 -04:00
766C6164 f7ebd6c1c5 Addressed feedback 2023-06-02 15:07:58 -04:00
Peter Oschwald 1da6a8373b Erase map entry if resulting locate of key words turns up empty.
Previously it was leaving the empty placeholder in the map which made it trigger the map as non empty and do unnecessary work in the generator.
2023-06-02 13:07:17 -05:00
Peter Oschwald 3902a9e0e1 Rename to include 'type' for the endpoint api to differentiate with upcoming additions including specifying actual api endpoints for use. 2023-06-02 12:59:49 -05:00
Matt Witherspoon be76e1085d catch and handle exceptions from std::thread's ctor 2023-06-02 13:21:37 -04:00
Kevin Heifner ce78703563 GH-1072 Update log message 2023-06-02 12:03:26 -05:00
greg7mdp 61ff2fdafa Fix compilation issue with g++. 2023-06-02 11:26:42 -04:00
greg7mdp d3e7b01aaf Cleanup pimpl idion for ship. 2023-06-02 11:06:25 -04:00
Gregory Popovitch ccd732f322 Merge pull request #1222 from AntelopeIO/cleanup_chain_plugin_pimpl
Cleanup pimpl idiom on chain_plugin
2023-06-02 10:30:04 -04:00
Huang-Ming Huang 26d1869c25 address PR comments 2023-06-02 09:01:11 -05:00
Matt Witherspoon 2389bc1cd7 move blocking start&init to named_thread_pool's start() 2023-06-01 23:07:01 -04:00
Kevin Heifner 90486af748 GH-1072 Sync ahead while processing current range of blocks 2023-06-01 20:17:17 -05:00
greg7mdp 2f82b1e993 Merge branch 'main' of github.com:AntelopeIO/leap into cleanup_chain_plugin_pimpl 2023-06-01 12:47:42 -04:00
greg7mdp c4f997d79a Cleanup pimpl idiom on chain_plugin
Avoid excessive access to `_impl` class through `my->`
2023-06-01 12:12:44 -04:00
Kevin Heifner 645ad8b207 GH-1072 Sync ahead while applying blocks 2023-06-01 08:44:17 -05:00
Matt Witherspoon 618915c30f allow ROtrx threads unlimited time to start 2023-05-31 18:34:02 -04:00
Kevin Heifner 0eba3914b9 Merge remote-tracking branch 'origin/main' into GH-1072-sync-ahead 2023-05-31 16:20:39 -05:00
Kevin Heifner db132c5fd4 Merge pull request #1215 from AntelopeIO/GH-1072-sync
P2P sync improvements
2023-05-31 16:18:06 -05:00
Kevin Heifner 7c7f2eb2ae Merge branch 'GH-1072-sync' into GH-1072-sync-ahead 2023-05-31 15:48:22 -05:00
766C6164 3382c49530 fix 2023-05-31 16:42:36 -04:00
Kevin Heifner 94df7279b9 GH-1072 Need to send handshake when connecting 2023-05-31 15:29:32 -05:00
766C6164 b42df934d7 Added better handling ow zero/empty params 2023-05-31 16:21:11 -04:00
Kevin Heifner c0a0b72e51 GH-1072 Resize list since those outside range are not needed. 2023-05-31 14:50:23 -05:00
Kevin Heifner d99c7daf31 GH-1072 Use a connection_state enum for connection state instead of bool variables. Rename syncing to peer_syncing_from_us. Rename syncing_with_peer() to syncing_from_peer(). 2023-05-31 14:40:34 -05:00
Kevin Heifner f3c57978e1 GH-1072 Add is_transactions_connection and is_blocks_connection to simply logic 2023-05-31 12:22:17 -05:00
Kevin Heifner 04a5143529 GH-1072 simplify 2023-05-31 11:17:18 -05:00
Kevin Heifner 99bf7bc018 GH-1072 += not needed 2023-05-31 11:07:07 -05:00
Gregory Popovitch f53faff7a9 Merge pull request #1213 from AntelopeIO/producer_plugin_cleanup
Cleanup producer_plugin pimpl idiom.
2023-05-30 18:12:30 -04:00
Huang-Ming Huang d11da7cf9c simplify listener 2023-05-30 08:10:22 -05:00
Kevin Heifner df042c2fd3 GH-1072 WIP test of sync ahead 2023-05-27 08:23:59 -05:00
Kevin Heifner 386f00bdc5 GH-1072 Use absolute value latency and improve logging 2023-05-26 13:35:16 -05:00
greg7mdp 626b437b7f More whitespace fix according to PR review. 2023-05-26 13:22:15 -04:00
greg7mdp fa07fd84f7 More whitespace cleanup 2023-05-26 10:29:17 -04:00
greg7mdp cefd98b186 cleanup EOS_ASSERT whitespace 2023-05-26 10:24:18 -04:00
greg7mdp ecedaca967 reduce backslash indentation 2023-05-26 10:12:01 -04:00
greg7mdp ce82a0b882 More whitespace cleanup 2023-05-26 10:09:54 -04:00
greg7mdp dd8a05e36d More whitespace cleanup according to PR comments 2023-05-26 10:07:00 -04:00
greg7mdp 2487ac651e More whitespace cleanup according to PR comments 2023-05-26 10:04:06 -04:00
greg7mdp 6fcf9a9fc9 More whitespace cleanup 2023-05-26 09:48:31 -04:00
greg7mdp a423d40554 run clang-format and do some manual cleanup (mostly fc_dlog) 2023-05-26 09:38:46 -04:00
greg7mdp ceab818352 More whitespace cleanup 2023-05-26 09:23:37 -04:00
greg7mdp eaff6c165e Address PR comments, fix indentation/spacing in plugin_initialize. 2023-05-26 09:05:51 -04:00
Kevin Heifner 851af76905 GH-1072 Move trx sync check 2023-05-26 07:59:26 -05:00
greg7mdp d90f5b6d19 Merge branch 'main' of github.com:AntelopeIO/leap into producer_plugin_cleanup 2023-05-25 17:26:35 -04:00
greg7mdp 04eab3feae More producer_plugin cleanup towards proper pimpl idiom 2023-05-25 16:57:01 -04:00
greg7mdp fd3d54f42a More producer_plugin cleanup towards proper pimpl idiom 2023-05-25 16:49:10 -04:00
greg7mdp f4d067e9d8 Fix incorrect indentation in producer_plugin::plugin_initialize 2023-05-25 16:17:50 -04:00
greg7mdp b3b131f991 cleanup plugin_initialize() 2023-05-25 16:11:29 -04:00
Matt Witherspoon 794066ee2a Merge pull request #1211 from AntelopeIO/stray}
[4.0 -> main] remove innocuous stray `}` in log statement
2023-05-25 15:36:48 -04:00
Kevin Heifner 24f5986eef GH-1072 Drop incoming trx when syncing 2023-05-25 13:15:02 -05:00
Kevin Heifner 7b1e62cd9f GH-1072 Use peer_head_block_num for should_sync_from instead of lib 2023-05-25 13:14:20 -05:00
greg7mdp 2952bfb264 Cleanup use of my-> in plugin_startup() and plugin_shutdown(). 2023-05-25 11:16:26 -04:00
766C6164 3ca72151e4 Removed accidental leftover 2023-05-24 20:39:40 -04:00
766C6164 ee18ab5b88 Make tester consumers built with same boost as leap 2023-05-24 20:34:48 -04:00
Kevin Heifner a632f751a6 GH-1072 milliseconds not microseconds 2023-05-24 19:16:16 -05:00
Kevin Heifner 3ad3b7775c GH-1072 Use latency and peer block range to determine who to sync from 2023-05-24 18:21:50 -05:00
Kevin Heifner 0615a25447 Merge pull request #1209 from AntelopeIO/GH-1173-rm-option
Remove disable-subjective-billing option
2023-05-24 16:03:21 -05:00
Matt Witherspoon 782f5ed66c Merge remote-tracking branch 'origin/release/4.0' into HEAD 2023-05-24 10:15:13 -04:00
Matt Witherspoon 125df80b4e Merge pull request #1207 from AntelopeIO/stray}_40x
[4.0] remove innocuous stray `}` in log statement
2023-05-24 10:13:57 -04:00
mschoenebeck 1a35039889 removed bls typedefs from types.hpp and deleted bls_utils.hpp/cpp 2023-05-24 05:57:47 -05:00
mschoenebeck c931460b54 removed bls types from abi_serializer 2023-05-24 05:18:54 -05:00
mschoenebeck 362c3eaefc updated submodules 2023-05-24 02:42:30 -05:00
mschoenebeck bcbd4a4850 sync with antelope/main 2023-05-24 02:39:23 -05:00
mschoenebeck 89773d7e76 sync with branch 'main' of https://github.com/AntelopeIO/leap 2023-05-24 02:38:31 -05:00
Kevin Heifner 2ebb2be892 GH-1072 Add tracking of latency 2023-05-23 18:52:53 -05:00
Kevin Heifner e49997d939 Merge branch 'GH-1072-sync' of https://github.com/AntelopeIO/leap into GH-1072-sync 2023-05-23 15:18:11 -05:00
Kevin Heifner 5027edaa58 Add sync-peer-limit option 2023-05-23 14:20:31 -05:00
jgiszczak d215122c07 Merge pull request #1210 from AntelopeIO/test-harness-urllib-configurable-limit
Add prettyPrint and printReturnLimit to processUrllibRequest()
2023-05-23 13:41:14 -05:00
Kevin Heifner 3f59cc85af GH-1072 Change default sync_fetch_span from 100 to 1000 2023-05-23 09:23:45 -05:00
Jonathan Giszczak 5d0ee1fb42 Add prettyPrint and printReturnLimit to processUrllibRequest() 2023-05-22 19:18:06 -05:00
Kevin Heifner 552ae0dde0 Merge remote-tracking branch 'origin/main' into GH-1072-sync 2023-05-22 17:17:17 -05:00
Kevin Heifner 2d06cfbcfd Merge pull request #1187 from AntelopeIO/GH-1072-refactor
P2P Refactor connections management
2023-05-22 16:44:44 -05:00
Kevin Heifner bad4bb49eb GH-1173 Remove disable-subjective-billing option 2023-05-22 16:21:15 -05:00
Peter Oschwald ef9c176be7 Merge pull request #1195 from AntelopeIO/ph-perf-test-improvements
[PH] Performance Harness improvements
2023-05-22 16:16:21 -05:00
Peter Oschwald 8d5d04aa0e Merge branch 'main' into ph-perf-test-improvements 2023-05-22 15:44:38 -05:00
jgiszczak a62bbdda76 Merge pull request #1182 from AntelopeIO/test-harness-process-control
Test harness process control
2023-05-22 15:34:47 -05:00
jgiszczak dfc8128912 Merge branch 'main' into test-harness-process-control 2023-05-22 15:02:25 -05:00
Peter Oschwald 4e89f7bef3 Merge branch 'main' into ph-perf-test-improvements 2023-05-22 14:53:12 -05:00
Kevin Heifner 44820e9c9c Merge remote-tracking branch 'origin/main' into GH-1072-refactor 2023-05-22 14:41:51 -05:00
Huang-Ming Huang 605f600cb7 Merge pull request #1203 from AntelopeIO/huangminghuang/ipv6
IPv6 support
2023-05-22 14:29:09 -05:00
Kevin Heifner 0af651b1e2 Merge remote-tracking branch 'origin/main' into GH-1072-refactor 2023-05-22 13:55:56 -05:00
Kevin Heifner 01dae4ef0b GH-1072 Fix any_of_block_connections to verify not transaction only connection 2023-05-22 13:03:36 -05:00
Peter Oschwald e37a1a65b1 Merge branch 'main' into ph-perf-test-improvements 2023-05-22 12:45:17 -05:00
Kevin Heifner 6a5bf21d8d GH-1072 Add any_of_block_connections and change for_each_connection and for_each_block_connection to not short circuit 2023-05-22 12:43:49 -05:00
Huang-Ming Huang 880c9739ea use reference 2023-05-22 11:39:14 -05:00
Huang-Ming Huang 7ae4a97335 Merge branch 'main' into huangminghuang/ipv6 2023-05-22 11:23:47 -05:00
Huang-Ming Huang a342d0d9cd move include header 2023-05-22 11:18:11 -05:00
Kevin Heifner 7470c68b4a GH-1072 Remove unneeded check 2023-05-22 10:51:50 -05:00
Kevin Heifner a6b5259b34 GH-1072 Add any_of_connection and use it for duplicate implementation 2023-05-22 10:48:41 -05:00
Kevin Heifner a80f5bc227 GH-1072 Fix indentation 2023-05-22 10:17:56 -05:00
Peter Oschwald b0d2e602a3 Fix spacing. 2023-05-22 10:17:38 -05:00
Kevin Heifner 30d6fd5b42 GH-1072 Rename _impl methods to _i to distinguish from _impl types. 2023-05-22 10:15:29 -05:00
Kevin Heifner 0efab27e1c GH-1072 Use flat_set and some other misc cleanup 2023-05-22 10:09:02 -05:00
iamveritas 4667a381e0 Merge pull request #1208 from AntelopeIO/4.0_to_main_fix-devrel#248-document-chain-api-endpoints
[4.0 -> main] [docs] fix devrel#248 document chain api endpoints
2023-05-22 16:37:10 +03:00
iamveritas 88d71ccf5d Merge pull request #1204 from AntelopeIO/4.0_fix-devrel#248-document-chain-api-endpoints
[4.0] add docs/yaml content for missing chain api endpoints
2023-05-22 16:18:49 +03:00
Peter Oschwald a29763448a Fix type to timedelta. 2023-05-22 08:01:26 -05:00
iamveritas 3515b83970 correct description for read-only 2023-05-22 15:49:22 +03:00
iamveritas 561da880ef release 4.0 add docs/yaml content for missing chain api endpoints:
/get_code_hash
/get_producer_schedule
/get_transaction_id
/send_read_only_transaction
/push_block
2023-05-22 08:54:01 +03:00
Matt Witherspoon ae7107bde0 remove innocuous stray } in log statement 2023-05-20 18:10:17 -04:00
Huang-Ming Huang 1979f8da16 remove unix socket file on exit 2023-05-19 16:36:15 -05:00
Huang-Ming Huang 8039427e09 log_listening fix 2023-05-19 15:51:09 -05:00
Huang-Ming Huang 1c7ed0d137 fix test 2023-05-19 15:10:46 -05:00
Jonathan Giszczak ed754170ad Remove CMake install of launcher.py. 2023-05-19 14:41:45 -05:00
jgiszczak a9e0a06acd Merge branch 'main' into test-harness-process-control 2023-05-19 14:04:01 -05:00
Jonathan Giszczak 12706fd3f0 Remove unused variables from performance_test_basic ClusterConfig. 2023-05-19 14:02:28 -05:00
Jonathan Giszczak 2ff0243d34 Remove last vestiges of launcher tool, fixing all bridge topology tests. 2023-05-19 14:00:14 -05:00
Jonathan Giszczak d72a52ec68 Fix copy paste redundancy. 2023-05-19 13:54:22 -05:00
Huang-Ming Huang ebe824164e address PR comments 2023-05-19 13:30:31 -05:00
Peter Oschwald 324b99808d Merge branch 'main' into ph-perf-test-improvements 2023-05-19 10:59:37 -05:00
Gregory Popovitch cc523ee3b1 Merge pull request #1199 from AntelopeIO/gh-1025
Improve packed_transaction parsing performance
2023-05-19 11:16:45 -04:00
Peter Oschwald 16a1981e1f Merge branch 'main' into ph-perf-test-improvements 2023-05-19 09:32:46 -05:00
Jonathan Giszczak 687b0bb155 Remove deprecated launcher tool. Add cluster launch smoke test. 2023-05-18 19:18:06 -05:00
Jonathan Giszczak dbbf0bbba3 Fix merge error. 2023-05-18 17:46:46 -05:00
Jonathan Giszczak f345dd395a Revert getTransaction timings, per Kevin. 2023-05-18 17:15:13 -05:00
Jonathan Giszczak b6038dbbae Restore node shutdown in distributed_transactions_test. 2023-05-18 17:13:39 -05:00
Jonathan Giszczak b60eafb1f4 Formatting. 2023-05-18 17:10:40 -05:00
Jonathan Giszczak 59e22df433 Added check of self.popenProc in Node verifyAlive. 2023-05-18 16:57:20 -05:00
Jonathan Giszczak 5f3a8d7d81 Formatting. 2023-05-18 16:40:01 -05:00
Jonathan Giszczak 8b45cf4e3e Fix merge error. 2023-05-18 16:39:20 -05:00
Jonathan Giszczak ae890e8ec0 Restore gelf_test, lost in an unrelated prior merge. 2023-05-18 16:31:37 -05:00
greg7mdp 3ae59db3ed Remove unneeded try/catch. 2023-05-18 17:29:50 -04:00
Jonathan Giszczak 74b9300089 Formatting. 2023-05-18 16:06:56 -05:00
Jonathan Giszczak fddef77964 Remove --clean-run from performance_test documentation. 2023-05-18 16:05:41 -05:00
Jonathan Giszczak 1739c377d5 Relocate dontKill and keepLogs from TestHelperConfig to ClusterConfig
in performance_test_basic's configuration classes.
2023-05-18 16:05:07 -05:00
Jonathan Giszczak e503383c47 Add comment to biosNodeId magic number. 2023-05-18 15:24:34 -05:00
Jonathan Giszczak b839caea68 Replace a string modified with a % operator with an f-string. 2023-05-18 15:24:13 -05:00
Jonathan Giszczak 8f654585dd Give bios node magic number a name.
Remove commented code.
2023-05-18 15:10:28 -05:00
jgiszczak 73588bce69 Merge branch 'main' into test-harness-process-control 2023-05-18 14:53:40 -05:00
Jonathan Giszczak 77a5a260ea Reduce launcher_test to one producer account. 2023-05-18 14:51:16 -05:00
Huang-Ming Huang a873457da5 fix tcp_socket 2023-05-18 14:35:27 -05:00
Lin Huang a1c8806619 Merge pull request #1202 from AntelopeIO/merge_4_0_1_version_bump
[4.0 -> Main] Merge 4.0.1 version bump
2023-05-18 15:30:34 -04:00
greg7mdp 7b4b55ae33 Merge branch 'main' of github.com:AntelopeIO/leap into gh-1025 2023-05-18 14:59:45 -04:00
Huang-Ming Huang 68c69226af Merge remote-tracking branch 'origin/main' into huangminghuang/ipv6
# Conflicts:
#	plugins/state_history_plugin/state_history_plugin.cpp
2023-05-18 13:59:31 -05:00
Huang-Ming Huang b6368138dc ipv6 support 2023-05-18 13:57:03 -05:00
greg7mdp 2fe5079e3e Fix crash. 2023-05-18 14:49:26 -04:00
Kevin Heifner 548692ee5f GH-1072 Use better heuristic for determing who to sync from 2023-05-18 13:39:17 -05:00
Lin Huang 8ea496bcb9 Merge 4.0.1 version bump to Main 2023-05-18 14:25:14 -04:00
Lin Huang 0d8de6cc5d Merge pull request #1201 from AntelopeIO/bump_leap_to_4_0_1
[4.0] Bump Leap to 4.0.1
2023-05-18 13:51:26 -04:00
Lin Huang 8a6e3e68e6 Bump Leap to 4.0.1 2023-05-18 13:16:00 -04:00
Vlad 09470dc06c Merge pull request #1200 from AntelopeIO/GH-1130-replay-memory-consumption-main
[4.0 -> main] Fix for nodeos large memory consumption during a blocks log replay
2023-05-18 12:26:50 -04:00
Huang-Ming Huang 530c9f13a9 Merge pull request #1180 from AntelopeIO/huangminghuang/gelf-test-fix
fix unstable gelf test
2023-05-18 11:05:36 -05:00
766C6164 d657dc2aa7 Merge branch 'release/4.0' into GH-1130-replay-memory-consumption-main 2023-05-18 11:40:21 -04:00
Vlad 9bc44bf9f3 Merge pull request #1191 from AntelopeIO/GH-1130-replay-memory-consumption-40
[4.0] Fix for nodeos large memory consumption during a blocks log replay
2023-05-18 11:36:22 -04:00
Huang-Ming Huang 9fd2706fda grammar fix 2023-05-18 10:25:26 -05:00
766C6164 3dcaf77b75 Added additional comments 2023-05-18 11:00:32 -04:00
greg7mdp 972f8df642 Address PR comments 2023-05-18 10:07:05 -04:00
greg7mdp 92144f5431 Merge branch 'main' of github.com:AntelopeIO/leap into gh-1025 2023-05-18 09:15:26 -04:00
greg7mdp e1add68dd4 Use caching_resolver in more locations where we serialize/deserialize transactions 2023-05-18 09:14:30 -04:00
Peter Oschwald c8313145b0 Merge branch 'main' into ph-perf-test-improvements 2023-05-18 07:54:46 -05:00
Kevin Heifner caf601d6d5 Merge branch 'main' into GH-1072-refactor 2023-05-18 07:52:20 -05:00
greg7mdp ad84e9d757 Add caching_resolver to cache abi_serializers when deserializing transactions. 2023-05-18 08:28:11 -04:00
Gregory Popovitch e9d1b3afad Merge pull request #1188 from AntelopeIO/fix_warning_no_return
Fix compilation warning (does not return a value in all control paths)
2023-05-17 23:45:17 -04:00
Jonathan Giszczak 6119f2f2f9 Fix defect in trx_finality_status_forked_test.
Depending on timing, LIB may not advance far enough the first time after
the bridge node comes back up to fork out the block with the transaction
in it.
2023-05-17 19:46:22 -05:00
Jonathan Giszczak 3508cc488d Remove unused import. 2023-05-17 19:43:35 -05:00
Peter Oschwald 129c3da3f6 Merge branch 'main' into ph-perf-test-improvements 2023-05-17 19:29:25 -05:00
Peter Oschwald 89a97598de Refactor to add test results to PerformanceTestBasic.
Move report creation out of log_reader into the more appropriate performance test basic. Now only parse and analyze logs in log_reader and leave report creation to the test itself.

Add Search Scenarios Summary of results to the performance test report to give a quick overview of the scenarios and success/failure for each.

Consolidate json report creation and exporting into a single location in JsonReportHandler.

Added test duration calculation to report for easy reference.
2023-05-17 19:24:26 -05:00
Areg Hayrapetian 1ce956e1ae Merge pull request #1194 from AntelopeIO/arhag/forward-pr-1193
[4.0 -> main] Revert "Simplify Pinned Build Scripts"
2023-05-17 16:23:38 -07:00
Areg Hayrapetian e02695003a Merge branch 'release/4.0' into arhag/forward-pr-1193 2023-05-17 15:48:49 -07:00
Areg Hayrapetian 5a277b4f99 Merge pull request #1193 from AntelopeIO/revert-857-zach-install-deps
[4.0] Revert "Simplify Pinned Build Scripts"
2023-05-17 15:46:49 -07:00
greg7mdp 04bcbdb6eb Remove boost install from cicd docker files and pinned build 2023-05-17 18:00:12 -04:00
Areg Hayrapetian 70ec11d055 Revert "Simplify Pinned Build Scripts" 2023-05-17 14:17:25 -07:00
766C6164 70276ce275 typo 2023-05-17 17:15:16 -04:00
766C6164 d69cef0cdc Update 2023-05-17 17:04:28 -04:00
766C6164 137c93a998 Do not post any updates if thread pool not started yet 2023-05-17 16:46:16 -04:00
greg7mdp dc917f2f0c Merge branch 'main' of github.com:AntelopeIO/leap into fix_warning_no_return 2023-05-17 16:09:20 -04:00
jgiszczak 197396debe Merge branch 'main' into test-harness-process-control 2023-05-17 14:16:59 -05:00
766C6164 b7a9ff5213 Capture block_state by ref 2023-05-17 14:59:30 -04:00
Huang-Ming Huang 70035268eb Merge pull request #1190 from AntelopeIO/huangminghuang/replay-fix-main
[4.0->main] fix replay for partitioned block log
2023-05-17 13:32:50 -05:00
Peter Oschwald 601548a58d Refactor evaluation of success out of performance_test into performance_test_basic.
This allows knowledge of objective and subjective test scenario success outcomes at the basic test level.

Add reporting of summary of search scenarios for quick reference.

Add test duration calculation to report for quick reference.
2023-05-17 13:10:38 -05:00
Peter Oschwald 04a94567fc Give tests unique test names to allow easier individual running of tests. 2023-05-17 13:00:48 -05:00
greg7mdp a50d82ed70 Add get_serializers_cache() template and use it. 2023-05-17 13:46:45 -04:00
Huang-Ming Huang 29e553f4c5 Merge remote-tracking branch 'origin/release/4.0' into huangminghuang/replay-fix-main 2023-05-17 12:00:24 -05:00
Huang-Ming Huang f36725e1fa Merge pull request #1164 from AntelopeIO/huangminghuang/replay-fix
[4.0] fix replay for partitioned block log
2023-05-17 11:14:47 -05:00
Huang-Ming Huang ef49d306d2 Merge pull request #1184 from AntelopeIO/huangminghuang/update-appbase
update appbase submodule
2023-05-17 11:13:08 -05:00
greg7mdp 40ec0e0220 Fix compilation warning (does not return a value in all control paths)
leap/plugins/http_plugin/http_plugin.cpp:76:4: warning: non-void function does not return a value in all control paths [-Wreturn-type]
2023-05-17 11:21:09 -04:00
Gregory Popovitch 2b216acee6 Merge pull request #1183 from AntelopeIO/gh-1067
Move log line for `onblock` and update saved log file for tests
2023-05-17 10:19:19 -04:00
Huang-Ming Huang 13521b2569 fix typo 2023-05-17 08:16:07 -05:00
Kevin Heifner 4ef2981e05 app->initialize now throws 2023-05-17 07:46:22 -05:00
Kevin Heifner 31983be931 GH-1072 Use uint32_t for max-clients 2023-05-17 07:07:54 -05:00
greg7mdp f3e715657e Fix whitespace. 2023-05-16 22:27:39 -04:00
Kevin Heifner 75ee2e2a79 GH-1072 Refactor connections set into a connections_manager class 2023-05-16 20:00:41 -05:00
greg7mdp a5ef2d23c0 Simplify change as per PR comments. 2023-05-16 16:59:54 -04:00
Jonathan Giszczak 1aed737278 Update gelf_test. 2023-05-16 15:25:58 -05:00
Peter Oschwald e2418be3e9 Add min-tps-to-test option to control floor of search range. 2023-05-16 14:54:25 -05:00
Jonathan Giszczak 4874cc2f1c Update plugin_http_api_test for changes from main. 2023-05-16 14:31:47 -05:00
Huang-Ming Huang 34f4b62e7a update appbase submodule 2023-05-16 14:04:45 -05:00
jgiszczak c6b74a3591 Merge branch 'main' into test-harness-process-control 2023-05-16 13:46:39 -05:00
greg7mdp 20b60c354d Move log line for onblock and update saved log file for tests 2023-05-16 13:54:18 -04:00
Jonathan Giszczak 7fc3fba92d Remove commented code. 2023-05-16 12:02:30 -05:00
Jonathan Giszczak 33443c0123 Also kill bios node in validate-dirty-db. 2023-05-16 11:58:02 -05:00
Peter Oschwald b160a5ef61 remove using. 2023-05-16 10:54:50 -05:00
Peter Oschwald 95c2c1697d Fix warning. 2023-05-16 10:54:31 -05:00
Huang-Ming Huang d49c6a9bdf fix gelf test 2023-05-16 09:05:21 -05:00
Huang-Ming Huang f7d28a492f address PR review 2023-05-16 08:36:53 -05:00
Kevin Heifner 3579eb9dd9 Merge pull request #1178 from AntelopeIO/GH-1170-unlinkable-m
[4.0 -> main] Correctly handle close while syncing
2023-05-16 08:09:56 -05:00
Kevin Heifner feb73c8e88 Merge remote-tracking branch 'origin/release/4.0' into GH-1170-unlinkable-m 2023-05-16 07:03:03 -05:00
Kevin Heifner 7a2285dbda Merge pull request #1177 from AntelopeIO/GH-1149-http-shutdown-main
[4.0 -> main] Ignore http error on remote_endpoint() causing shutdown
2023-05-16 07:01:30 -05:00
Kevin Heifner 8ebac13d22 Merge pull request #1171 from AntelopeIO/GH-1170-unlinkable-4.0
[4.0] Correctly handle close while syncing
2023-05-16 06:59:49 -05:00
Kevin Heifner 203309b88d Merge pull request #1139 from AntelopeIO/GH-1062-time-limits
Update API/serialization time constraints
2023-05-15 19:28:48 -05:00
Jonathan Giszczak eb0d6f1b6e Fix Cluster's list of unstarted nodes to not include the bios node. 2023-05-15 17:48:10 -05:00
Kevin Heifner dd801e37bf Merge remote-tracking branch 'origin/release/4.0' into GH-1149-http-shutdown-main 2023-05-15 14:14:08 -05:00
Kevin Heifner c764d00a6f Merge pull request #1175 from AntelopeIO/GH-1149-http-shutdown-4.0
[4.0] Ignore http error on remote_endpoint() causing shutdown
2023-05-15 14:11:17 -05:00
Kevin Heifner 0465384e31 GH-1062 If time_limit_ms not specified use http-max-response-time-ms instead of 10ms 2023-05-15 12:09:26 -05:00
Kevin Heifner bd896c7a81 GH-1062 Change default http-max-response-time-ms from 30 to 15 2023-05-15 12:08:17 -05:00
Huang-Ming Huang 90a519fcb9 Merge pull request #1145 from AntelopeIO/huangminghuang/gelf-test
add gelf test
2023-05-15 11:29:55 -05:00
Huang-Ming Huang 37b1499b62 Merge branch 'main' into huangminghuang/gelf-test 2023-05-15 10:46:22 -05:00
Kevin Heifner 2df745999f GH-1062 Update test to reflect get_activate_protocol_features ignored limit and time limit 2023-05-15 10:39:13 -05:00
Kevin Heifner 3dc18415b5 GH-1062 Make get_activated_protocol_features atomic 2023-05-15 09:56:42 -05:00
Kevin Heifner 87e598a4ad GH-1062 Simplify deadline calculation. 2023-05-15 09:46:08 -05:00
Kevin Heifner 6d0a06b00f GH-1062 Add back check for correct table 2023-05-15 09:42:13 -05:00
Kevin Heifner 8ade32783d GH-1062 Fix merge issues 2023-05-15 09:35:00 -05:00
Kevin Heifner 079c650f9a Merge remote-tracking branch 'origin/main' into GH-1062-time-limits 2023-05-15 09:27:10 -05:00
Huang-Ming Huang e429ba6024 Merge pull request #1137 from AntelopeIO/huangminghuang/http
Support multiple http endpoints
2023-05-15 09:16:28 -05:00
Huang-Ming Huang eb0f174aaf address PR comments 2023-05-15 08:46:36 -05:00
Kevin Heifner 6489dd2289 GH-1170 Update comment 2023-05-13 13:08:27 -05:00
Jonathan Giszczak cfec0c3b3c Change language of debug message in Cluster parseProducerKeys. 2023-05-13 01:52:46 -05:00
Jonathan Giszczak 1755aef616 Fix bugs in resource_monitor_plugin_test. 2023-05-13 01:41:51 -05:00
Jonathan Giszczak 03c991ce15 Update Node launchUnstarted method. 2023-05-13 01:07:02 -05:00
Kevin Heifner c45d3dfefc GH-1170 Correctly handle close while syncing 2023-05-12 22:07:49 -05:00
Kevin Heifner 07d5a7476a GH-1062 assert on exclusive ownership of variant_object 2023-05-12 19:43:11 -05:00
Jonathan Giszczak 557a855f49 Remove last vestiges of cachePopen arguments. 2023-05-12 19:22:09 -05:00
Jonathan Giszczak faa5f8cbd6 Merge remote-tracking branch 'origin/test-harness-process-control-main' into test-harness-process-control 2023-05-12 18:29:07 -05:00
Jonathan Giszczak 3802203de2 Merge remote-tracking branch 'origin/test-harness-process-control-main' into test-harness-process-control 2023-05-12 17:48:57 -05:00
Jonathan Giszczak 51f8e000c9 Add address and port to net_plugin's listener logging. 2023-05-12 17:48:48 -05:00
Jonathan Giszczak a953a43c1f Include transaction IDs in transaction exception messages. 2023-05-12 17:48:13 -05:00
Jonathan Giszczak 1245c37019 Add explicit wallet and cluster shutdown to performance_test_basic. 2023-05-12 17:45:24 -05:00
Jonathan Giszczak 9791997f1f When constructing a new testnet, reset node class variables.
Required for performance_test binary search mode.
2023-05-12 17:44:28 -05:00
Jonathan Giszczak 3b0645387d Avoid spurious errors during cluster shutdown. 2023-05-12 17:42:36 -05:00
Jonathan Giszczak b02dc1ad04 Make all parent dirs when creating wallet dir.
Required for performance_test binary tree search mode.
2023-05-12 17:42:10 -05:00
Peter Oschwald cc354955fc Merge pull request #1165 from AntelopeIO/ph-feature-api-op-mode-reporting
[PH] Initial reporting updates for API Node and http transaction generator
2023-05-12 16:21:53 -05:00
Kevin Heifner 89729c0cf1 Test only works with a small number of producers, default now is 21. 2023-05-12 16:21:11 -05:00
Huang-Ming Huang 5d29893aee fix grammar 2023-05-12 16:18:20 -05:00
Huang-Ming Huang e73fd5a20a log categories for listening addresses 2023-05-12 16:12:36 -05:00
Huang-Ming Huang fc91ef758d remove unused include 2023-05-12 16:01:10 -05:00
Huang-Ming Huang 7133a66f47 Merge remote-tracking branch 'origin/main' into huangminghuang/http 2023-05-12 15:12:18 -05:00
Huang-Ming Huang 032e6102b4 fix leap util 2023-05-12 15:06:51 -05:00
Huang-Ming Huang 72be7c93c1 refactor extract_chain_context 2023-05-12 14:23:58 -05:00
Kevin Heifner af766dc80e GH-1062 Simplify recursion_depth lambda 2023-05-12 14:19:37 -05:00
Peter Oschwald 3bac4d8f7c Merge pull request #1161 from AntelopeIO/reopen-subprocess-results
Keep `subprocess_results.log` around when test fails
2023-05-12 14:11:08 -05:00
Kevin Heifner 7b1b90f17d Remove unneeded/unused cachePopen 2023-05-12 14:09:06 -05:00
Peter Oschwald 400c5b891a Address peer review comments. 2023-05-12 14:03:04 -05:00
Kevin Heifner c7bf139eba GH-1062 Refactor start_action_serialization into constructor of context 2023-05-12 13:36:04 -05:00
Peter Oschwald 3343f2521c Merge branch 'main' into ph-feature-api-op-mode-reporting 2023-05-12 13:27:59 -05:00
Peter Oschwald e3b2c0cd6e Initial reporting updates for API Node and http transaction generator 2023-05-12 13:12:59 -05:00
Kevin Heifner d2563d4cdb Sleep for 1 sec instead of 3 2023-05-12 12:41:41 -05:00
Kevin Heifner f0a7821cc4 Pause for 250ms instead of 3 seconds 2023-05-12 12:41:29 -05:00
Kevin Heifner 5c999d2bf2 Use block num trx was included in instead of trx ref_block_num 2023-05-12 12:40:59 -05:00
Huang-Ming Huang a206cf1ce8 fix supplied genesis 2023-05-12 09:57:34 -05:00
Huang-Ming Huang 7cde470ad1 address PR comments 2023-05-12 09:22:04 -05:00
Kevin Heifner 090910abbb Fix merge issue 2023-05-12 08:37:49 -05:00
Huang-Ming Huang 399b616a00 fix file permission 2023-05-12 08:03:50 -05:00
Kevin Heifner aae35e1ba6 Merge remote-tracking branch 'origin/main' into test-harness-process-control-main 2023-05-12 07:54:51 -05:00
Huang-Ming Huang 893ae24774 Merge pull request #1163 from AntelopeIO/huangminghuang/retain-files-main
[4.0->main] change max-retained-history-files default
2023-05-12 07:53:18 -05:00
Kevin Heifner 1394cc7512 GH-1149 Ignore error of remote_endpoint 2023-05-12 07:07:17 -05:00
Kevin Heifner d3a00fcc4e GH-1149 Do not allow remote_endpoint() to throw 2023-05-11 19:39:27 -05:00
Huang-Ming Huang 303e1706b7 fix retained_dir not existed 2023-05-11 15:57:48 -05:00
Huang-Ming Huang ab609f2066 address PR comment 2023-05-11 15:43:31 -05:00
Huang-Ming Huang 1c781358b0 fix replay 2023-05-11 15:11:48 -05:00
Peter Oschwald 9a52e330f8 Make directory detection and creation default behavior. 2023-05-11 13:52:00 -05:00
Matt Witherspoon fcfd72f80f force c++17 on files that use LLVM 2023-05-11 14:47:09 -04:00
Huang-Ming Huang 6c765c1337 Merge remote-tracking branch 'origin/release/4.0' into huangminghuang/retain-files-main 2023-05-11 13:20:45 -05:00
Huang-Ming Huang 8a9c4b505a address PR comments 2023-05-11 13:00:42 -05:00
Huang-Ming Huang ab7a120d9e Merge pull request #1141 from AntelopeIO/huangminghuang/retained-file
[4.0] change max-retained-history-files default
2023-05-11 12:51:39 -05:00
Huang-Ming Huang 0880013262 more PR comment fix 2023-05-11 12:47:31 -05:00
Matt Witherspoon 5a685c7331 Merge pull request #1160 from AntelopeIO/bn256_c++20_stdint
bump bn256 to main head with gcc13 + c++20 include fix
2023-05-11 12:47:43 -04:00
Peter Oschwald 92d497e1a4 Reopen checkOutputFilename in case where file may have been deleted, but attr was already set.
Allows for cases where Cluster cleanup is called initially in tests to remove old test data, which should no longer be a problem, however in doing so it now deletes subprocess_results.log while attr for checkOutputFile has already been set.  This allows reopening/recreating the file and continuing to log to it to capture all commands after the initial cleanup.
2023-05-11 11:43:51 -05:00
Kevin Heifner 91ba9e3da0 Merge pull request #1157 from AntelopeIO/virtual-warn
Fix clang warning
2023-05-11 11:29:53 -05:00
Matt Witherspoon ca3ba1fc4f bump bn256 to main head w/ gcc13 + c++20 include fix 2023-05-11 12:18:56 -04:00
Kevin Heifner ffab68b93f Fix clang warning 2023-05-11 10:58:46 -05:00
Vlad 6804cf2b3b Merge pull request #1155 from AntelopeIO/GH-1146-smoke-test-main
[4.0 -> main] Added block log version and num of blocks to output of leap-util block-log smoke-test
2023-05-11 10:15:01 -04:00
Huang-Ming Huang 1d06df34df fix keosd 2023-05-11 08:54:51 -05:00
Kevin Heifner 99f93200ac GH-1062 Use new fc time_point::safe_add 2023-05-10 17:44:07 -05:00
Kevin Heifner e666cd000e GH-1062 Revert unneeded changes to yield call 2023-05-10 17:38:34 -05:00
Kevin Heifner 6096c0bfc1 GH-1062 Refactor abi_serializer to accept a max_action_data_serialization_time which applies only to action data deserialization 2023-05-10 17:31:46 -05:00
Kevin Heifner 724be07d50 GH-1062 Also guard against underflow 2023-05-10 17:21:37 -05:00
Vlad bd75cf0e3b Merge pull request #1059 from AntelopeIO/bsd-stability-issues
Stability issues and improvements on BSD
2023-05-10 17:37:33 -04:00
Huang-Ming Huang 216a96d91a address PR comments 2023-05-10 16:31:39 -05:00
Huang-Ming Huang 0c2fbe9bc8 address PR comments 2023-05-10 15:56:31 -05:00
766C6164 1b885f011f Removed unrelated files from pull request 2023-05-10 16:36:43 -04:00
766C6164 ca4d0e18eb Merge branch 'release/4.0' into GH-1146-smoke-test-main 2023-05-10 16:29:29 -04:00
Vlad b694ae1a88 Merge pull request #1154 from AntelopeIO/GH-1146-smoke-test-40
[4.0] Added block log version and num of blocks to output of leap-util block-log smoke-test
2023-05-10 14:03:35 -04:00
Vlad 6f5ab9bf43 Merge branch 'release/4.0' into GH-1146-smoke-test-40 2023-05-10 12:13:25 -04:00
Vlad 858aad7905 Merge pull request #1147 from AntelopeIO/GH-1042-snapshots-test-coverage
Increase test coverage of snapshot-scheduler
2023-05-10 11:41:45 -04:00
766C6164 9e1edc0601 Added additional logging for smoke-test 2023-05-10 11:36:23 -04:00
greg7mdp 0ae0289621 Update submodules branches to tip 2023-05-10 10:26:33 -04:00
Kevin Heifner 1d33a6885e GH-1062 Add variant_object to the exclude list of universal reference constructor of mutable_variant_object since there is an explicit constructor for it. 2023-05-10 06:57:06 -05:00
Lin Huang 8240816c04 Merge pull request #1148 from AntelopeIO/additional_contract_for_readonly_trx_test
Additional test contract for readonly trx test
2023-05-09 20:27:51 -04:00
Lin Huang 3c0ee240dc reduce excessive read-only-trx-parallel-test time from 640 seconds to 311 seconds 2023-05-09 19:16:34 -04:00
766C6164 353f0f315c appbase::app() -> scoped_app 2023-05-09 18:41:11 -04:00
Lin Huang 8b581156c5 add an additional test contract 2023-05-09 16:46:16 -04:00
Lin Huang dfa8b67b04 restructure test startup 2023-05-09 16:37:19 -04:00
Peter Oschwald fcd721115a Merge pull request #1138 from AntelopeIO/ph-feature-api-op-mode-trx-gen
[PH] Feature API Operational Mode and HTTP Transaction Generator
2023-05-09 13:18:49 -05:00
Peter Oschwald 28e8d55189 Address peer review comments. 2023-05-09 12:50:00 -05:00
766C6164 c68a82e5d4 Merge branch 'main' into bsd-stability-issues 2023-05-09 13:37:21 -04:00
766C6164 180bdd1f31 Added additional corner cases and some cleanup 2023-05-09 13:29:17 -04:00
Huang-Ming Huang 4d30e50b42 address PR comments 2023-05-09 08:49:13 -05:00
Huang-Ming Huang 448cbd137e fix config_dir 2023-05-09 08:05:41 -05:00
mschoenebeck 22656adfac synced submodules 2023-05-08 19:05:32 -05:00
Jonathan Giszczak 5e04d627ad Use new Node name to fix an error message in under_min_avail_ram. 2023-05-08 19:03:15 -05:00
Jonathan Giszczak c9b028ff4a For some inexplicable reason, Nodes didn't know their own name.
Now they do.
2023-05-08 19:02:20 -05:00
mschoenebeck 06ab49e92f synced with antelope/main 2023-05-08 18:46:13 -05:00
mschoenebeck 201a0f7822 updated bls lib 2023-05-08 18:21:09 -05:00
Jonathan Giszczak 79e691b1a5 Don't append empty values in Node relaunch. 2023-05-08 18:15:27 -05:00
Jonathan Giszczak 9839af1fcd Reduce ship streamer runtime and fix logic error. 2023-05-08 16:45:48 -05:00
Jonathan Giszczak 2fecddffb0 Move keosd data directory into the unique per test directory. 2023-05-08 16:44:23 -05:00
Jonathan Giszczak 8ef2129048 In Node relaunch, use a new timestamp for launch time in relaunch. 2023-05-08 16:43:38 -05:00
Jonathan Giszczak d0e5fa009f In Cluster bootstrap, only use first 21 available producer accounts in schedule.
Increase default start delay between nodes from 1s to 2s.
Rework producer schedule command-line to use JSON module instead of
manual punctuation.
2023-05-08 16:41:32 -05:00
Huang-Ming Huang f17380b912 add gelf test 2023-05-08 15:46:13 -05:00
Huang-Ming Huang 841896f873 fix local_address 2023-05-08 15:31:58 -05:00
Kevin Heifner 0eec87e9e6 GH-1062 small optimization 2023-05-08 14:33:46 -05:00
Matt Witherspoon 0f79a5f467 Merge pull request #1143 from AntelopeIO/app&chainbase_ci_bump
bump chainbase & appbase submodules to main w/ CI tweaks
2023-05-08 14:27:16 -04:00
Matt Witherspoon bf1c80e4bf Merge pull request #1140 from 7flash/main
Update ship_client.cpp
2023-05-08 13:36:49 -04:00
Matt Witherspoon 210b88ac07 bump chainbase & appbase submodules to main w/ CI tweaks 2023-05-08 12:54:28 -04:00
Huang-Ming Huang 8b5645ab17 revise host validation 2023-05-08 10:47:53 -05:00
mschoenebeck 53e267d5c8 updated submodule bls12_381 (clang fixes) 2023-05-08 10:05:11 -05:00
greg7mdp 1a3088dd5f Merge branch 'main' of github.com:AntelopeIO/leap into boost_submodule 2023-05-08 10:46:31 -04:00
greg7mdp d22f340ba9 Remove outdated comments. 2023-05-08 10:46:11 -04:00
Kevin Heifner 0ef8b0960b GH-1062 Only reset deadline when explicitly asked to do so. 2023-05-08 09:45:28 -05:00
Kevin Heifner 05ff75236d GH-1062 Need to copy yield function since it is a const& 2023-05-08 09:38:58 -05:00
Kevin Heifner 0966651a9c GH-1062 Fix issue with variant internal variant_object being shared 2023-05-08 09:37:46 -05:00
greg7mdp 1cfbf0a769 Leap builds with boost 1.82 as submodule. 2023-05-08 10:13:39 -04:00
Huang-Ming Huang 4022ed12ae change state-history-stride default 2023-05-08 08:45:16 -05:00
Igor Berlenko 29d97d2a70 Update ship_client.cpp 2023-05-08 19:33:28 +08:00
Kevin Heifner a7c5d3c048 GH-1062 Avoid unneeded copies 2023-05-06 08:17:37 -05:00
Huang-Ming Huang 444edc68cb conditional enable ipv6 test 2023-05-05 16:18:22 -05:00
Zach bb928c9cab Merge pull request #857 from AntelopeIO/zach-install-deps
Simplify Pinned Build Scripts
2023-05-05 16:40:12 -04:00
Peter Oschwald 69748fc993 Cleanup. Use std::variant for connections. 2023-05-05 15:27:57 -05:00
Peter Oschwald 815ac6e55f Fix tests. 2023-05-05 15:00:39 -05:00
Peter Oschwald 2bd0f23cd5 Fixes from peer review. 2023-05-05 14:55:29 -05:00
Peter Oschwald 53a720bc15 Peer review comments. 2023-05-05 14:19:35 -05:00
Huang-Ming Huang cfbd1e5504 fix host header 2023-05-05 14:11:16 -05:00
Peter Oschwald d64ccd7d40 Move elog outside of while loop. 2023-05-05 13:59:44 -05:00
Peter Oschwald 7b41fe2050 Address peer review comment. Missed method removal. 2023-05-05 13:55:24 -05:00
Peter Oschwald f342f5e3ca Address peer review comments. 2023-05-05 13:40:32 -05:00
Kevin Heifner 7e2bd04ef8 GH-1062 Enforce processing on the main thread to http-max-response-time up to a max of 1000 items or http-max-response-time is -1. 2023-05-05 13:30:26 -05:00
Kevin Heifner d480a26815 GH-1062 mutable_variant_object constructor for variant_object now explicit 2023-05-05 13:28:30 -05:00
Kevin Heifner cb1b52de82 GH-1062 Remove deadline since we no longer want to interrupt json creation on the http thread 2023-05-05 13:28:02 -05:00
Kevin Heifner 0e8739efc7 GH-1062 Remove deadline since we no longer want to interrupt json creation on the http thread 2023-05-05 13:26:14 -05:00
Kevin Heifner 086f1fb367 GH-1062 Add a safe_add that does not overflow. 2023-05-05 13:25:08 -05:00
Kevin Heifner 4e176a137c GH-1062 Change default abi_serializer yield function to enforce max_serialization_time per serialization step. 2023-05-05 13:24:11 -05:00
Kevin Heifner 9bcbb44624 GH-1062 Add move constructor for variant_object to mutable_variant_object 2023-05-05 13:22:15 -05:00
Huang-Ming Huang be4d98f0da fix for ubuntu 22.04 2023-05-05 12:14:37 -05:00
Peter Oschwald 77a215ab17 Put new tests in proper test categories. 2023-05-05 11:17:05 -05:00
Peter Oschwald 541cbd2413 Merge branch 'main' into ph-feature-api-op-mode-trx-gen 2023-05-05 09:59:21 -05:00
Peter Oschwald 0c055f3a79 Add API Node and Http Transaction Generator to performance harness. 2023-05-05 09:53:30 -05:00
Huang-Ming Huang 6fb23ca8e4 support multiple http endpoints 2023-05-05 09:31:05 -05:00
Lin Huang 31ae4cbe7a Merge pull request #1134 from AntelopeIO/read_only_trx_config_fix_main
[4.0 -> main] Check read-only trx options only when read-only-thread enabled, and present better error message
2023-05-04 14:03:28 -04:00
Lin Huang 4fc70c3994 Merge remote-tracking branch 'origin/release/4.0' into read_only_trx_config_fix_main 2023-05-04 12:58:50 -04:00
Lin Huang 117f022889 Merge pull request #1129 from AntelopeIO/read_only_trx_config_fix_4_0
[4.0] Check read-only trx options only when read-only-thread enabled, and present better error message
2023-05-04 12:56:23 -04:00
Lin Huang 11ad31e62c log configuration options and other values from the user perspective 2023-05-04 11:40:24 -04:00
Vlad 12543bb366 Merge branch 'main' into bsd-stability-issues 2023-05-04 10:31:24 -05:00
766C6164 459570dd7c Generalized macos specific timer to work on FreeBSD 2023-05-04 11:25:46 -04:00
greg7mdp 9ff1ad4044 Add boost as submodule 2023-05-04 10:57:31 -04:00
Matt Witherspoon c531c9c3e2 check for existance of BMI2 & ADX instructions on CI workers 2023-05-04 10:54:34 -04:00
Lin Huang 2b5095736d use enum instead of bool for better status indication 2023-05-04 10:03:37 -04:00
Lin Huang 4e98b2e9de make sure _ro_max_trx_time_us is always initialized 2023-05-04 09:32:42 -04:00
Kevin Heifner da28bc91e3 Merge remote-tracking branch 'origin/main' into GH-1062-time-limits 2023-05-04 06:18:03 -05:00
Kevin Heifner a36113873e Merge pull request #1125 from AntelopeIO/GH-1062-time-cleanup
Remove time_point implicit conversions
2023-05-04 06:15:50 -05:00
Lin Huang ce0260f810 test case for read-only trx related options not validated if read-only-threads is 0 2023-05-03 21:02:06 -04:00
Lin Huang fe64b22d6b Do not check execution window related configurations if --read-only-threads is not configured; better error message for invalid --read-only-write-window-time-us 2023-05-03 20:58:47 -04:00
766C6164 0af823f49b Bump chainbase to c4718cb 2023-05-03 16:47:59 -04:00
Kevin Heifner 1f60ff9143 GH-1062 Rename time_point to_string to to_iso_string 2023-05-03 13:53:40 -05:00
Kevin Heifner 6b10d8053a GH-1062 Remove possibly confusing arithmetic operators for time_point_sec. Remove implicit conversion from time_point to time_point_sec via operator=. 2023-05-03 13:41:10 -05:00
Kevin Heifner 18190c138a GH-1062 Remove time_point implicit conversions 2023-05-03 11:39:29 -05:00
Peter Oschwald d74d96e7fb Missed one location of Remove parameter in favor of using member variable directly. 2023-05-03 11:08:51 -05:00
Peter Oschwald b7286f7198 Remove duplication. Use port as unsigned short instead of string. 2023-05-03 11:06:36 -05:00
Peter Oschwald b818e68ae6 Simplify. Remove parameter in favor of using member variable directly. 2023-05-03 11:05:24 -05:00
Vlad 206d67adda Merge branch 'main' into bsd-stability-issues 2023-05-03 08:48:39 -04:00
Gregory Popovitch 174e8ff269 Merge pull request #1118 from AntelopeIO/update_pinned_build_dep_versions
Update pinned build versions for boost and llvm-src
2023-05-02 17:21:40 -04:00
Kevin Heifner 8cb572cab0 GH-1062 Add 1000 limit 2023-05-02 15:44:36 -05:00
Kevin Heifner 6c831db8f3 GH-1062 Use maximum() instead of 365 days for max 2023-05-02 15:32:57 -05:00
mschoenebeck 66773fde42 synced with Antelope main 2023-05-02 15:24:53 -05:00
mschoenebeck ff765e041a synced with main 2023-05-02 15:23:49 -05:00
greg7mdp 7b682031eb Merge branch 'main' of github.com:AntelopeIO/leap into update_pinned_build_dep_versions 2023-05-02 15:15:36 -04:00
greg7mdp 8e66a744a7 Remove unneeded #ifdef in chain/types.hpp now that boost >= 1.71 2023-05-02 14:13:41 -04:00
Kevin Heifner 2eb261c592 GH-1062 Enforce http_max_response_time on main thread only and always return at least one. 2023-05-02 13:07:56 -05:00
Kevin Heifner 4692fd819b GH-1062 Remove unused struct 2023-05-02 13:06:32 -05:00
greg7mdp f91fff6cd4 Remove unneeded patch file 2023-05-02 14:02:58 -04:00
greg7mdp 88597fb03b Remove patched suffix 2023-05-02 13:49:46 -04:00
greg7mdp 6e1703dcd6 Get rid of the "patched" postfix 2023-05-02 13:40:38 -04:00
greg7mdp 2dcb42f3ef Update boost version in CMakeLists.txt to 1.71 2023-05-02 13:40:18 -04:00
Kevin Heifner bbeafe9eff GH-1062 Remove deadline from trace_api_plugin 2023-05-02 11:40:43 -05:00
iamveritas 2ad3148e27 Merge pull request #1110 from AntelopeIO/fix-devrel#205-4.0
[main] Update swagger files to include missing documentation
2023-05-02 19:20:39 +03:00
greg7mdp 26fe87e461 Remove typo 2023-05-02 12:16:02 -04:00
greg7mdp 0ca97bb612 Revert back to using clang build for ubuntu 16.04 2023-05-02 12:04:14 -04:00
greg7mdp d7dba628e3 llvm -> 11.0.1, boost -> 1.82 2023-05-02 11:35:54 -04:00
iamveritas 5a0f78f924 Merge pull request #1087 from AntelopeIO/fix-devrel#205-4.0
[4.0] Update swagger files to include missing doc
2023-05-02 10:56:01 +03:00
iamveritas 079935ed4e improvements based on peer review feedback 2023-05-02 10:29:35 +03:00
766C6164 1ab5a22606 Point to updated cb 2023-05-01 23:44:46 -04:00
Vlad 2029ce0d3d Merge branch 'main' into bsd-stability-issues 2023-05-01 20:40:12 -04:00
Vlad 3bdf68effc Merge pull request #1115 from AntelopeIO/GH-586-reorg-tests-plugins
Reorganize tests for plugins
2023-05-01 20:38:09 -04:00
Kevin Heifner 324ff339be Merge pull request #1112 from AntelopeIO/GH-259-test-cleanup
Tests: misc cleanup
2023-05-01 15:14:47 -05:00
Kevin Heifner 32ce2728eb GH-259 Add default case for setup_policy operator<<. 2023-05-01 13:53:31 -05:00
766C6164 f83ea63058 Trace api plugin convert to one test executable 2023-05-01 13:33:26 -04:00
766C6164 baf90e5005 Made chain plugin unit tests single executable 2023-05-01 12:40:18 -04:00
766C6164 d2833e6bca Cleaned up producer_plugin tests 2023-05-01 12:28:40 -04:00
Kevin Heifner 4b85f4ee6d GH-259 Add back TESTER macro since used in all generated tests. 2023-05-01 10:05:06 -05:00
Kevin Heifner 20cea10050 GH-259 Removed unused NON_VALIDATING_TEST 2023-05-01 09:33:27 -05:00
Peter Oschwald 3c261c85b6 remove unused function. 2023-05-01 09:15:03 -05:00
Kevin Heifner 51c71c662d GH-259 Remove old_wasm_tester and add test cases for different protocol featurs enabled. 2023-05-01 07:58:43 -05:00
Kevin Heifner a056b77b18 GH-259 Update tester to allow setup_policy to be used as boost data in tests 2023-05-01 07:58:02 -05:00
mschoenebeck 9b42070807 updated submodule 2023-05-01 07:35:55 -05:00
iamveritas 18d79f4cf3 take out <size> cause is not rendered correctly in final docs 2023-04-30 23:21:55 +03:00
Jonathan Giszczak fc94d3ab7d Update performance_test_basic. 2023-04-28 18:36:04 -05:00
Jonathan Giszczak e84f1479d9 Update restart-scenarios-test. 2023-04-28 17:53:21 -05:00
Jonathan Giszczak f76d4356d8 Rewrite node relaunch command line manipulation. 2023-04-28 16:22:53 -05:00
Kevin Heifner 57d5546b7b Merge pull request #1108 from AntelopeIO/GH-641-escape-opt
Optimization: New escape_str function for sanitizing strings
2023-04-28 13:26:31 -05:00
Kevin Heifner bbeaf9893c Merge pull request #1095 from AntelopeIO/GH-641-libfc-tests
Refactor libfc tests into one executable
2023-04-28 13:25:56 -05:00
Kevin Heifner 44355def2a GH-641 Remove unneeded if check 2023-04-28 12:37:45 -05:00
Gregory Popovitch b8be7391a0 Merge pull request #1103 from AntelopeIO/fix_gcc_10_link_issue
Fix g++-10 link issue when building with -std=c++20.
2023-04-28 13:23:03 -04:00
Kevin Heifner 0cee264774 GH-641 std::string_view instead of const char* 2023-04-28 12:10:12 -05:00
Kevin Heifner 332e22e931 GH-641 Use enum instead of bool 2023-04-28 11:48:01 -05:00
Kevin Heifner 4bbb4910fc GH-641 Add new test file 2023-04-28 11:47:39 -05:00
iamveritas 4f87a1b050 corect ref links 2023-04-28 18:48:55 +03:00
iamveritas c4f383ae2b Update swagger files to include: get_transaction_status, compute_transaction, send_transaction2 2023-04-28 18:48:55 +03:00
Kevin Heifner 122ad36b7d GH-641 Add parens so precedence is clearer 2023-04-28 10:28:19 -05:00
Matt Witherspoon 1bb997d030 Merge pull request #1097 from AntelopeIO/fix_test_container_log_upload
fix parallel-ctest-containers creation of log tarballs on failure
2023-04-28 11:06:16 -04:00
Kevin Heifner 9cbb09d0f5 GH-641 Optimize print_debug 2023-04-28 09:36:50 -05:00
Gregory Popovitch 59b519a103 Merge pull request #1107 from AntelopeIO/libc++_build_issues
`std::result_of` was deprecated in C++17, removed in C++20.
2023-04-28 10:36:46 -04:00
Kevin Heifner 94e7bd0696 GH-641 Use more efficient escape_str instead of format_string 2023-04-28 09:36:15 -05:00
Kevin Heifner 8375d5e634 GH-641 Add escape_str function 2023-04-28 09:35:35 -05:00
Huang-Ming Huang a8c34044f4 Merge pull request #1074 from AntelopeIO/huangminghuang/refactor-prometheus
refactor prometheus plugin
2023-04-28 09:31:24 -05:00
greg7mdp ac2c37c349 std::result_of was deprecated in C++17, removed in C++20. 2023-04-28 10:17:42 -04:00
Eric Passmore b0290bb60e Merge pull request #1105 from AntelopeIO/ehp/GH-1094-fix-swagger-component-path
4.0: Documentation fixed Error path in producer plugin swagger
2023-04-28 06:19:46 -07:00
Kevin Heifner ca7e9b1ae4 GH-641 Add an explicit main 2023-04-28 07:12:00 -05:00
Jonathan Giszczak d9eee885fa Python documentation never mentions FileNotFoundError in subprocess.run 2023-04-27 20:45:45 -05:00
Vlad 09e1b90de7 Merge pull request #1037 from AntelopeIO/snapshot-scheduler-refactoring
Snapshot code refactoring
2023-04-27 21:38:36 -04:00
Jonathan Giszczak 0997737b27 Don't wait for token issue action during bootstrap to be finalized. 2023-04-27 19:02:10 -05:00
Jonathan Giszczak 22c2105b03 Write network topology visualization file to each test directory.
Render network topology to PNG, ignoring if 'dot' tool isn't installed.
2023-04-27 19:00:56 -05:00
greg7mdp e71453641d Move variable declaration from Logging to IR as per PR comment. 2023-04-27 18:32:43 -04:00
greg7mdp d08a6b1202 Merge branch 'main' of github.com:AntelopeIO/leap into fix_gcc_10_link_issue 2023-04-27 18:02:43 -04:00
Eric Passmore 52a7df3d72 fixed rel path to Error 2023-04-27 14:55:38 -07:00
Huang-Ming Huang dff7b524ba Merge remote-tracking branch 'origin/main' into huangminghuang/refactor-prometheus 2023-04-27 16:43:57 -05:00
Gregory Popovitch c5bec2b3a5 Merge pull request #1070 from AntelopeIO/c++20_update
Changes for building with c++20.
2023-04-27 17:37:50 -04:00
Huang-Ming Huang 67edf65502 remove unused parameter 2023-04-27 16:24:14 -05:00
greg7mdp a4681a3c04 Declare WASM::check_limits variable is Logging library to fix g++ issue
Within `libraries/wasm-jit/Source`, `WASM` depends on `IR` and `Logging`, and `IR` depends on
`Logging`.
With the current declaration of `WASM::check_limits` in `WASM`, we have the following g++-10 link
error when building with `-std=c++20`:

```
_64-linux-gnu/libz.so  -ldl  libraries/libfc/secp256k1/libsecp256k1.a  libraries/chainbase/libchainbase.a  -lpthread  libraries/softfloat/libsoftfloat.a && :
/usr/bin/ld: libraries/wasm-jit/Source/IR/libIR.a(DisassemblyNames.cpp.o): warning: relocation against `_ZN4WASM12check_limitsE' in read-only section `.text'
/usr/bin/ld: libraries/wasm-jit/Source/IR/libIR.a(DisassemblyNames.cpp.o): in function `void Serialization::serialize<Serialization::MemoryInputStream>(Serialization::MemoryInputStream&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)':
/home/greg/github/enf/leap/libraries/wasm-jit/Include/Inline/Serialization.h:274: undefined reference to `WASM::check_limits'
/usr/bin/ld: warning: creating DT_TEXTREL in a PIE
collect2: error: ld returned 1 exit status
```

Moving the declaration of `WASM::check_limits` in `Logging` (end leaf of dependency graph) fixes the issue.
2023-04-27 15:36:51 -04:00
Peter Oschwald bcd70c2302 Merge pull request #1093 from AntelopeIO/ph-feature-api-op-mode
[PH] Initial API Node (HTTP Node) Support - Topology definition/configuration
2023-04-27 13:25:58 -05:00
Matt Witherspoon 9023583231 fix parallel-ctest-containers creation of log tarballs on failure 2023-04-27 13:08:46 -04:00
Huang-Ming Huang 22dd72753e address PR comments 2023-04-27 11:33:50 -05:00
Kevin Heifner 8db6fd8654 GH-641 Explicitly list source files to avoid cmake issues with GLOB 2023-04-27 11:32:09 -05:00
Kevin Heifner 72d47e0a21 GH-641 Remove unneeded CMakeLists.txt files 2023-04-27 09:13:39 -05:00
Kevin Heifner c410c7c943 GH-641 Refactor libfc tests into one executable 2023-04-27 09:07:31 -05:00
Jonathan Giszczak b3a9ed2fe6 Update terminate-scenarios-tests.
Includes update of Cluster relaunchEosInstances() method.
Fix bug in Node relaunch when launching a new chain.
2023-04-26 19:10:49 -05:00
greg7mdp 1f741664b6 Merge branch 'main' of github.com:AntelopeIO/leap into c++20_update 2023-04-26 14:03:34 -04:00
Gregory Popovitch 99d196176a Merge pull request #1092 from AntelopeIO/update_chainbase_tip
Update chainbase to tip (-Wfree-nonheap-object warning suppressed for gcc-12)
2023-04-26 14:02:13 -04:00
Peter Oschwald 18fd82fd7e Update README documentation. 2023-04-26 12:13:43 -05:00
Peter Oschwald 22a5aa1f08 Add initial support for configuring and running an API node. 2023-04-26 11:52:56 -05:00
Peter Oschwald ee930e01a7 Encapsulate validation node configuration. 2023-04-26 10:39:59 -05:00
greg7mdp 847fec0f13 Update chainbase to tip (-Wfree-nonheap-object suppressed got gcc-12) 2023-04-26 11:38:25 -04:00
greg7mdp abf1e75713 Merge branch 'main' of github.com:AntelopeIO/leap into c++20_update 2023-04-26 11:30:20 -04:00
Kevin Heifner 3342373d67 Merge pull request #1091 from AntelopeIO/GH-1081-dry-run-auth-check
[4.0 -> main] fix: not fail on signature checks for dry-run txns
2023-04-26 10:20:01 -05:00
Kevin Heifner 224630968a Merge remote-tracking branch 'origin/release/4.0' into GH-1081-dry-run-auth-check 2023-04-26 09:47:42 -05:00
Kevin Heifner b56d4b5400 Merge pull request #1090 from AntelopeIO/GH-1081-dry-run-auth-check-4.0
[3.2 -> 4.0] fix: not fail on signature checks for dry-run txns
2023-04-26 09:47:18 -05:00
Kevin Heifner e33ed69fcb Merge remote-tracking branch 'origin/release/3.2' into GH-1081-dry-run-auth-check-4.0 2023-04-26 09:13:17 -05:00
Kevin Heifner e059d8213e Merge pull request #1089 from AntelopeIO/GH-1081-dry-run-auth-check-3.2
[3.2] fix: not fail on signature checks for dry-run txns
2023-04-26 09:11:45 -05:00
Pinelliaw e07fd0a0c8 Fix not fail on signature checks for dry-run, include the time it takes for checker.all_keys_used() 2023-04-26 07:54:42 -05:00
Matt Witherspoon 6184957f42 Merge pull request #1081 from PinelliaC/main
fix: not fail on signature checks for dry-run txns
2023-04-25 21:56:28 -04:00
PinelliaC e585d0edbc Merge branch 'main' into main 2023-04-26 07:48:48 +08:00
Jonathan Giszczak 41708e6228 Update block_log_util_test. 2023-04-25 18:18:35 -05:00
Jonathan Giszczak fdffa3ed76 Update nodeos_snapshot_diff_test.
Remove rmFromFile used by only one test for config file editing and
replace with rmFromCmd in Node to achieve same.
2023-04-25 18:13:58 -05:00
greg7mdp e88383e409 Merge branch 'main' of github.com:AntelopeIO/leap into c++20_update 2023-04-25 18:37:36 -04:00
Gregory Popovitch 4a4ed579dc Merge pull request #1086 from AntelopeIO/update_submodules_tip
Update submodules to the version building with `-std=c++20`
2023-04-25 18:33:36 -04:00
Peter Oschwald 4f431014f1 Refactor how cluster is configured to give higher level understanding of the node types being configured.
Instead of simply relying on cluster's pnodes and totalnodes specification, add higher level definition of producerNodeCount and validationNodeCount (can be added to as additional node types are supported) that in sum make totalNodes.  Also pre-populate the nodeIds that cluster will configure for each node type.

Remove support for -s (topo) as currently only supporting default of
mesh anyway.
2023-04-25 17:10:20 -05:00
766C6164 d052b65a15 Removed not needed anymore header 2023-04-25 17:41:38 -04:00
766C6164 925ad20690 Addressed merge conflict 2023-04-25 17:39:07 -04:00
Vlad fd7051b6f3 Merge branch 'main' into snapshot-scheduler-refactoring 2023-04-25 17:01:40 -04:00
greg7mdp 5f01a2adac Update submodules to the version building with -std=c++20 2023-04-25 16:59:26 -04:00
Jonathan Giszczak 8816a9560c Update larger_lib_test. 2023-04-25 15:42:14 -05:00
Jonathan Giszczak 52bacf03a4 Update nodeos_chainbase_allocation_test. 2023-04-25 15:38:50 -05:00
greg7mdp 3f5c96f848 Merge branch 'main' of github.com:AntelopeIO/leap into c++20_update 2023-04-25 16:35:29 -04:00
Jonathan Giszczak 7071a350d0 Add missing command-line option to http-plugin-test.
Avoid adding duplicates of http-server-address and http-validate-host to
nodeos command line.  boost doesn't tolerate duplicates from the same
source.
2023-04-25 15:30:21 -05:00
766C6164 ef09502162 Missed one more spot 2023-04-25 15:01:11 -04:00
Kevin Heifner cc4a46df64 Merge pull request #1076 from AntelopeIO/GH-668-circle-dep
Refactor: Move subjective_billing to chain library
2023-04-25 13:12:44 -05:00
greg7mdp 7161fb6016 Merge branch 'main' of github.com:AntelopeIO/leap into c++20_update 2023-04-25 13:24:52 -04:00
greg7mdp 6bf4c8881f remove no longer used noncopyable struct 2023-04-25 13:06:43 -04:00
Pinelliaw a3589123ec refactor: include the time it takes for checker.all_keys_used() 2023-04-26 01:04:02 +08:00
766C6164 79a2f281c5 Removed a separate header related to json db 2023-04-25 12:50:39 -04:00
766C6164 02590a54d7 Addressng feedback 2023-04-25 12:31:48 -04:00
Kevin Heifner d2beec373b Merge branch 'main' into main 2023-04-25 11:17:59 -05:00
Huang-Ming Huang 101f11fa6c Merge pull request #1023 from AntelopeIO/huangminghuang/python-sitelib
use python_DISTLIB
2023-04-25 11:14:21 -05:00
Vlad b064339e91 Merge branch 'main' into snapshot-scheduler-refactoring 2023-04-25 11:39:40 -04:00
Matt Witherspoon 004130086c Merge pull request #1080 from AntelopeIO/ambig_variant_error
fix ambiguous to_variant()s in json tests
2023-04-25 10:37:41 -04:00
Pinelliaw a6b95519d0 fix: not fail on signature checks for read-only txns 2023-04-25 21:26:28 +08:00
Jonathan Giszczak b087d37b23 Revise node verifyAlive and launchUnstarted, fix relaunch (some more)
Update nodeos_read_terminate_at_block_test.
2023-04-24 20:36:24 -05:00
mschoenebeck 10776fcac9 corrected SHA256 hash of BLS_PRIMITIVES protocol feature 2023-04-24 18:57:07 -05:00
Matt Witherspoon 16685ab12d fix ambiguous to_variant()s 2023-04-24 17:31:27 -04:00
Lin Huang 83be35f713 Merge pull request #1078 from AntelopeIO/merge_4_0_0_version_bump
[4.0 -> main] Merge 4.0.0 version bump to main
2023-04-24 17:14:21 -04:00
Lin Huang 889d312468 correct version after merging 4.0.0 version bump 2023-04-24 15:56:46 -04:00
Kevin Heifner c5774f6911 GH-668 Remove space which confuses CMakeLists.txt processing 2023-04-24 14:55:03 -05:00
Lin Huang 48e83f138d Merge pull request #1077 from AntelopeIO/bump_to_4_0_0
[4.0] Bump Leap version to 4.0.0
2023-04-24 15:43:25 -04:00
Lin Huang af8383c34c [4.0] Bump Leap version to 4.0.0 2023-04-24 15:13:50 -04:00
Gregory Popovitch b67d1747dd Merge pull request #1075 from AntelopeIO/fix_abi_test_check
Fix test failure on fast machine (release builds)
2023-04-24 14:44:33 -04:00
Kevin Heifner a7d268df10 GH-668 Move subjective_billing to chain library. Break circular dependency between producer_plugin and chain_plugin. 2023-04-24 13:40:37 -05:00
greg7mdp f5cb026ee1 Lower another timeout which I hit occasionally when running tests. 2023-04-24 14:25:08 -04:00
greg7mdp 663fc516d1 Fix test failure on fast machine (release builds)
When I build in release mode, I have the following tests failing (both gcc-12 and clang-16, no problem in debug)
/home/greg/github/enf/leap/unittests/api_tests.cpp(1078): error: in "api_tests/checktime_pause_max_trx_cpu_extended_test": elapsed 26100us
/home/greg/github/enf/leap/unittests/api_tests.cpp(1136): error: in "api_tests/checktime_pause_max_trx_extended_test": elapsed 26056us

This is the first failure in the code:

      // This assumes that loading the WASM takes at least 1.5 ms
   // If this check fails but duration is >= 24'999 (previous check did not fail), then the check here is likely
   // because WASM took less than 1.5 ms to load.
   BOOST_CHECK_MESSAGE( dur > 26'500, "elapsed " << dur << "us" );
2023-04-24 13:50:14 -04:00
Huang-Ming Huang 5cbdf9bf1c refactor prometheus plugin 2023-04-24 12:30:09 -05:00
Huang-Ming Huang c81ae9a766 revert to use distutils 2023-04-24 09:24:47 -05:00
greg7mdp b40f23f64f Remove #ifdef preserving the nocopy constraint as per PR comment 2023-04-24 10:00:19 -04:00
mschoenebeck ece632eed7 correct bit/byte mistake in comment 2023-04-22 09:25:51 -05:00
mschoenebeck 17eb804a1d added bls12-381 crypto primitives 2023-04-22 08:39:39 -05:00
Jonathan Giszczak 2cfeb99d8d Update cli_test. 2023-04-21 19:01:47 -05:00
Jonathan Giszczak 716665b0a8 Update plugin_http_api_test. 2023-04-21 18:58:09 -05:00
greg7mdp 55319ec01e Merge branch 'main' of github.com:AntelopeIO/leap into c++20_update 2023-04-21 19:27:53 -04:00
Peter Oschwald 6d4a3ac00d Remove duplicate of max_requests_in_flight 2023-04-21 15:55:04 -05:00
Jonathan Giszczak 7fa30714e6 Update protocol feature test.
Fixes to Node kill and relaunch.
Cache config_dir in Node.
2023-04-21 15:17:45 -05:00
greg7mdp fdc3bf6f38 Changes for building with c++20.
With these changes, plus the ones in the PRs opened in the following submodules:

- bn256
- eos-vm
- CLI11
- abieos

Leap builds with clang-16 in c++20 mode.
2023-04-21 15:57:00 -04:00
Peter Oschwald f9ac95cb9b Add command line support for http-max-in-flight-requests. 2023-04-21 14:47:06 -05:00
Peter Oschwald e994655f0d Slight reorg of config items in op modes doc showing associated plugin. 2023-04-21 14:46:34 -05:00
Peter Oschwald f91b9724a5 Factor out TestHelperConfig and ClusterConfig setup from args into one reusable location/helper function. 2023-04-21 14:09:00 -05:00
Gregory Popovitch 48b6a4e27c Merge pull request #1054 from AntelopeIO/gh-743
Move abi serialization of transaction trace off main thread for `chain_plugin: get_table_rows` and `get_account`
2023-04-21 13:45:27 -04:00
Peter Oschwald 3b99d8322e Merge pull request #1052 from AntelopeIO/ph-add-http-client-async
[PH] Add http client async
2023-04-21 12:19:42 -05:00
Peter Oschwald 73383f2710 Merge branch 'main' into ph-add-http-client-async 2023-04-21 11:51:36 -05:00
Peter Oschwald eacc0122f4 Merge pull request #1056 from AntelopeIO/ph-add-api-op-mode-desc
[PH] Update initial API Node Op Mode documentation.
2023-04-21 11:50:16 -05:00
Peter Oschwald f02287e445 Address peer review comments. 2023-04-21 11:06:30 -05:00
Matt Witherspoon 694b11b4a1 Merge pull request #1069 from AntelopeIO/libtester_boost170_cmake
remove boost <1.70 workaround in libtester cmakes
2023-04-21 10:36:37 -04:00
Matt Witherspoon fe16dc2967 Merge pull request #1068 from AntelopeIO/unused_libssl_libtester
remove unused libssl from libtester cmakes
2023-04-21 10:36:26 -04:00
Peter Oschwald 9ff417bc69 Fix comment. 2023-04-21 09:25:43 -05:00
Matt Witherspoon 5c5f550b8c also remove now always empty libosssl variable from link list 2023-04-21 10:22:05 -04:00
Peter Oschwald 575d7596e1 Small updates to config and performance measurement sections. 2023-04-21 09:21:46 -05:00
Matt Witherspoon 380dd917c8 remove boost <1.70 workaround in libtester cmakes 2023-04-20 20:04:38 -04:00
Matt Witherspoon 4594716347 remove unused libssl from libtester cmakes 2023-04-20 20:01:44 -04:00
Jonathan Giszczak eb4098db9f Update relaunch method to always save popen and use cmd array 2023-04-20 18:24:06 -05:00
Jonathan Giszczak b95a8db827 Remove --nodeos-log-path launcher argument and use existing config and data dir arguments
Move config directories into test parent directory with data for same.
2023-04-20 18:22:22 -05:00
766C6164 2215bc4ed5 fixes to merge conflicts 2023-04-20 17:00:19 -04:00
Vlad fc4d60af70 Merge pull request #1058 from AntelopeIO/compile-fix-std
Added missing namespace to logger in case of FC_USE_PTHREAD_NAME_NP not defined
2023-04-20 16:52:36 -04:00
766C6164 94540634be Merge 2023-04-20 15:48:23 -04:00
766C6164 c64783366e Merge branch 'main' into snapshot-scheduler-refactoring 2023-04-20 15:47:52 -04:00
Lin Huang da014a698a Merge pull request #1061 from AntelopeIO/update_chainbase
Update chainbase to include comparison of different signedness warning fix
2023-04-20 15:30:30 -04:00
greg7mdp 6f5254e442 Address PR comments 2023-04-20 15:05:08 -04:00
Lin Huang 57eab29d7a Merge branch 'main' into update_chainbase 2023-04-20 14:31:03 -04:00
Vlad 2b5b3ceedf Merge pull request #1060 from AntelopeIO/stringify-json-fix
Properly stringify both large and small int64's when converting to json
2023-04-20 13:53:00 -04:00
766C6164 c9c84d6175 adjustments 2023-04-20 13:26:28 -04:00
766C6164 876910a81b Merge branch 'stringify-json-fix' of github.com:AntelopeIO/leap into stringify-json-fix 2023-04-20 11:42:48 -04:00
766C6164 d3a36d3214 fix 2023-04-20 11:42:25 -04:00
Vlad 27325ffbfd Merge branch 'main' into stringify-json-fix 2023-04-20 10:30:08 -04:00
766C6164 24f886de91 updated if condition 2023-04-20 10:18:02 -04:00
Lin Huang 0457c48bfb Update chainbase to include comparison of different signedness warning fix 2023-04-20 09:31:07 -04:00
Lin Huang cba6aa8212 Merge pull request #1055 from AntelopeIO/fix_warning
Fix control reaches end of non-void function warning
2023-04-19 22:08:27 -04:00
Jonathan Giszczak 2e832a8150 Fix wrong variable name. 2023-04-19 19:04:50 -05:00
Jonathan Giszczak 5c814dad79 Merge branch 'main' into test-harness-process-control 2023-04-19 18:22:17 -05:00
Jonathan Giszczak 77f321dc09 Manage tracking and lifetime of bios node better. 2023-04-19 18:18:18 -05:00
766C6164 9501ea2b90 Convert small neg values to string as well 2023-04-19 19:00:27 -04:00
greg7mdp 1d19a7d2f1 Merge branch 'main' of github.com:AntelopeIO/leap into gh-743 2023-04-19 16:51:53 -04:00
766C6164 619de63b3d Added missing namespace 2023-04-19 16:45:02 -04:00
766C6164 3846d8653d Added bsd specific kevent-based timer 2023-04-19 16:23:43 -04:00
Kevin Heifner f583e29d76 Merge pull request #1049 from AntelopeIO/fc-cleanup
FC cleanup
2023-04-19 14:28:52 -05:00
Kevin Heifner d658d61081 Added include of optional 2023-04-19 13:58:24 -05:00
Kevin Heifner 202f224991 Remove some additional unused code 2023-04-19 13:44:06 -05:00
Lin Huang 6f8896ecd7 Fix a compile error from last minute change 2023-04-19 14:23:10 -04:00
Peter Oschwald 6a0beee038 Update initial API Node Op Mode documentation. 2023-04-19 13:13:48 -05:00
greg7mdp d75c0421f4 Fix compilation issue. 2023-04-19 14:12:54 -04:00
Lin Huang 8834403ca0 Fix control reaches end of non-void function warning 2023-04-19 14:06:36 -04:00
greg7mdp 1640c382de Update get_account() to serialize off the main thread. 2023-04-19 13:45:04 -04:00
Peter Oschwald b9f2d280a1 Add missing source file to executable in CMakeLists.
minor reformatting of CMakeLists
2023-04-19 10:55:39 -05:00
Peter Oschwald 81504813b7 Switch to callback model instead of promise/future.
Some reformatting of the new code.

Additional test checks
2023-04-19 10:41:39 -05:00
Peter Oschwald 0dbce37fce Make fail function inline. 2023-04-19 09:22:38 -05:00
Peter Oschwald f1b6b770b0 Add missed include 2023-04-19 08:29:50 -05:00
Peter Oschwald bc807a2660 Merge branch 'ph-feature-api-node-op-mode' into ph-add-http-client-async 2023-04-19 08:19:52 -05:00
Peter Oschwald ce33412a09 Add placeholder documentation for API Node Operational Mode 2023-04-19 08:17:57 -05:00
Peter Oschwald 0f1b0a300a Update http_client_async to POST with message body and promise/future to see response.
Add simple unit test to test http_client_async with simple_rest_server implementation.
2023-04-19 08:09:11 -05:00
Peter Oschwald 3b8ad9632c Replace bind with lambda 2023-04-19 07:47:56 -05:00
Kevin Heifner 060dbed7f7 Fix indentation 2023-04-18 17:49:03 -05:00
Kevin Heifner a1cb719176 Remove fc::string alias 2023-04-18 17:45:02 -05:00
Kevin Heifner acb580ad0a Remove unused files 2023-04-18 17:42:51 -05:00
Huang-Ming Huang f394de84ce Merge branch 'main' into huangminghuang/python-sitelib 2023-04-18 14:44:52 -05:00
greg7mdp b2d1d890c1 Update calling convention for get_account() 2023-04-18 15:07:44 -04:00
Huang-Ming Huang d1fd7c14e6 Merge pull request #1039 from AntelopeIO/huangminghuang/unix-path
mitigate unix socket path problem
2023-04-18 14:01:40 -05:00
Huang-Ming Huang 306e9145a3 add test 2023-04-18 13:49:19 -05:00
greg7mdp 41e2e68e3f Update get_table_rows_ex() to serialize off the main thread. 2023-04-18 14:10:28 -04:00
Huang-Ming Huang 11964ff71f Merge branch 'main' into huangminghuang/unix-path 2023-04-18 13:08:36 -05:00
Huang-Ming Huang f74763b8e6 use dist-package 2023-04-18 13:03:26 -05:00
Kevin Heifner a1b1722e47 Merge pull request #1045 from AntelopeIO/GH-452-block-buffer
P2P: Save and retry unlinkable blocks
2023-04-18 12:58:45 -05:00
Huang-Ming Huang 9dbe29ceae fix unix_sock listening path 2023-04-18 12:20:54 -05:00
Kevin Heifner ab84c78135 GH-452 Remove unneeded forward declare 2023-04-18 11:54:17 -05:00
Kevin Heifner b9c6a668c0 GH-452 Untangle unlinkable_block_state_cache and dispatch_manager 2023-04-18 11:40:38 -05:00
Huang-Ming Huang 53f9ca1f2a always use relative path 2023-04-18 11:40:09 -05:00
Huang-Ming Huang f02853063d Merge remote-tracking branch 'origin/main' into huangminghuang/unix-path 2023-04-18 11:19:13 -05:00
Huang-Ming Huang f3b92143f5 Merge pull request #1011 from AntelopeIO/huangminghuang/filesystem
Replace boost/fc filesystem
2023-04-18 11:17:37 -05:00
Kevin Heifner fd5546901c GH-452 Encapsulate unlinkable_block_state_index. 2023-04-18 10:54:28 -05:00
Huang-Ming Huang 88f477a7d5 address PR comments 2023-04-18 10:38:56 -05:00
Huang-Ming Huang de82f95baf Merge remote-tracking branch 'origin/main' into huangminghuang/python-sitelib 2023-04-18 09:32:19 -05:00
Huang-Ming Huang 4b104260ba make sure Python_SITELIB exists 2023-04-18 09:30:00 -05:00
Kevin Heifner 022b6f3d5a GH-452 Some renaming to make code clearer 2023-04-18 08:33:39 -05:00
greg7mdp 078f7b4861 Update get_table_rows_by_seckey() 2023-04-17 17:01:51 -04:00
greg7mdp 193f2cd5f0 Update calling convention for get_table_rows(). 2023-04-17 15:42:33 -04:00
Matt Witherspoon aba8b86be3 Merge pull request #1044 from AntelopeIO/WAST_string_include
add needed `string` include for some newer libc++ versions
2023-04-17 15:27:52 -04:00
Jonathan Giszczak 8993fc2557 Remove obsolete command line argument from performance harness use of TestHarness 2023-04-17 14:26:37 -05:00
Jonathan Giszczak 5b801d4e75 Python backwards compatibility. 2023-04-17 14:26:04 -05:00
Jonathan Giszczak 3ad05471e3 Fix up imports. 2023-04-17 14:14:56 -05:00
Matt Witherspoon fdb0ae65ba add needed string include for some newer libc++ 2023-04-17 14:36:44 -04:00
Kevin Heifner 120d2261d1 GH-452 Remove correct block 2023-04-17 13:18:30 -05:00
Vlad d849c9c67c Merge pull request #914 from AntelopeIO/leaputil-shutdown-state
Added leap-util subcommand to check for a clean shutdown
2023-04-17 14:03:08 -04:00
Kevin Heifner 2a3a784f3f GH-452 Keep and retry unlinkable blocks 2023-04-17 12:28:46 -05:00
iamveritas dbf1c03b7b Table of Contents proposal 2023-04-17 20:21:21 +03:00
766C6164 7200356530 Added graceful shutdown on snapshot execution exception 2023-04-17 11:56:44 -04:00
Kevin Heifner 2ef8789182 Merge pull request #1040 from AntelopeIO/GH-452-block-buffer
P2P: Misc improvements
2023-04-17 10:33:53 -05:00
Kevin Heifner 1ffb230b2b GH-452 Move setting of closing to false at end of close 2023-04-17 07:43:05 -05:00
Kevin Heifner dd045a8949 GH-452 Close immediately on buffer full. 2023-04-15 11:56:51 -05:00
Huang-Ming Huang 429bb3faad Merge remote-tracking branch 'origin/main' into huangminghuang/filesystem 2023-04-14 18:15:59 -05:00
Huang-Ming Huang f20f9382e6 remove more unnecessary generic_string() 2023-04-14 18:01:34 -05:00
Huang-Ming Huang c406945f63 address PR comments 2023-04-14 17:52:10 -05:00
Jonathan Giszczak eedb50a7d6 Fix spelling error. 2023-04-14 17:49:28 -05:00
Jonathan Giszczak 0b9fc5de67 Fix syntax error. 2023-04-14 17:48:40 -05:00
Jonathan Giszczak db779d1068 Fix resurrected Node relaunch() method. 2023-04-14 17:48:22 -05:00
Jonathan Giszczak 7a87c1eb93 Fix merge errors. 2023-04-14 17:47:59 -05:00
Jonathan Giszczak c6503d6e1c Fix merge failures. 2023-04-14 17:39:48 -05:00
Jonathan Giszczak 8f003d68e0 Merge branch 'main' into test-harness-process-control 2023-04-14 17:11:03 -05:00
Jonathan Giszczak e521e9baab Bring nodeos and keosd process control into TestHarness Node/WalletMgr
Use launcher as object in TestHarness rather than external program.
Eliminate --clean-run arguments.  All runs are clean.
Remove killall from Cluster and all scripts.  Tests only terminate their
own processes.
Remove unused scripts.
Remove unused test.
2023-04-14 16:06:49 -05:00
Peter Oschwald bd05872b6b Merge pull request #967 from AntelopeIO/ph-block-producer-op-mode
[PH] block producer op mode
2023-04-14 15:57:23 -05:00
Peter Oschwald 2bf7a1ace2 Make docs easier to update by limiting additional formatting from help messages. 2023-04-14 15:28:17 -05:00
Peter Oschwald 40e776bf29 Finish removing config options no longer supported by producer plugin. 2023-04-14 15:00:43 -05:00
Peter Oschwald 866ed20f35 Merge branch 'main' into ph-block-producer-op-mode 2023-04-14 14:52:12 -05:00
Kevin Heifner 054ddf8648 GH-452 Add alignas(hardware_destructive_interference_size) to avoid cache synchronization. Also removed an unneeded atomic 2023-04-14 13:49:33 -05:00
Huang-Ming Huang 495e417d82 mitigate unix socket path problem 2023-04-14 12:46:56 -05:00
766C6164 fdeb7bee94 Cleanup 2023-04-14 11:41:35 -04:00
Gregory Popovitch daa25c95e7 Merge pull request #1038 from AntelopeIO/abi_serializer
Pass Resolver as `const &` instead of by value.
2023-04-14 10:48:43 -04:00
Kevin Heifner 686bd5680d GH-452 No reason to stop processing a block just because the client has closed the connection 2023-04-14 09:21:50 -05:00
greg7mdp 7e322b3c2b Fix typo 2023-04-14 10:16:38 -04:00
greg7mdp 9f365be4a9 Pass Resolver as const & instead of by value 2023-04-14 09:57:41 -04:00
Kevin Heifner fcbd3da22f GH-452 Encapsulate sync_mtx 2023-04-14 08:01:52 -05:00
Kevin Heifner 509c047323 Merge pull request #958 from AntelopeIO/GH-955-ship-test
Test: Add SHiP forking and have_positions unittest
2023-04-14 07:07:30 -05:00
Huang-Ming Huang 16c437514e update Python_SITELIB 2023-04-14 04:09:24 -05:00
Kevin Heifner 7924cfa099 GH-955 minor perf improvement 2023-04-13 20:56:12 -05:00
Vlad 54a5a0555c Merge branch 'main' into snapshot-scheduler-refactoring 2023-04-13 21:43:28 -04:00
Gregory Popovitch fe9128e60f Merge pull request #1036 from AntelopeIO/sync_abieos
update to latest commit of abieos submodule
2023-04-13 21:43:16 -04:00
Vlad d3dfcbf37b Merge branch 'main' into snapshot-scheduler-refactoring 2023-04-13 21:26:03 -04:00
766C6164 4bb4d65b74 Multiple fixes 2023-04-13 21:02:28 -04:00
Huang-Ming Huang bdc73d43d1 remove unused include 2023-04-13 19:15:40 -05:00
Kevin Heifner 8e29a56cda GH-955 Use unordered_map 2023-04-13 18:15:05 -05:00
766C6164 9c856538a7 Moved snapshot code out of producer plugin 2023-04-13 18:21:27 -04:00
Kevin Heifner c89ee3ea22 Merge pull request #994 from AntelopeIO/small-opt
Small but measurable improvement to executor queue
2023-04-13 16:49:55 -05:00
greg7mdp 35eadc1697 update to latest commit of abieos submodule 2023-04-13 17:26:34 -04:00
Kevin Heifner 2b5915b260 Merge pull request #1022 from AntelopeIO/GH-452-clang-tidy
P2P: clang-tidy fixes
2023-04-13 15:43:28 -05:00
Gregory Popovitch ceeed297af Merge pull request #1027 from AntelopeIO/clang_16_warnings
Fix compilation warnings with clang-16
2023-04-13 14:31:48 -04:00
greg7mdp ae136cf9eb Address PR comment 2023-04-13 13:03:18 -04:00
greg7mdp 39cefd6304 Fix compilation warnings with clang-16 (mostly warning: unqualified call to 'std::forward') 2023-04-13 12:24:07 -04:00
Gregory Popovitch 3b2f6654f8 Merge pull request #999 from AntelopeIO/gh-698-part2
Move abi serialization of transaction trace off main thread
2023-04-13 11:31:57 -04:00
greg7mdp e0edbcdc30 Revert "Keep track of whether the serializer cache contains a setabi action."
This reverts commit 8d830dcef0.
2023-04-13 08:05:58 -04:00
greg7mdp 8d830dcef0 Keep track of whether the serializer cache contains a setabi action. 2023-04-12 21:49:09 -04:00
greg7mdp 380373b6cd Address PR comments (mostly allow parameters to be moved by accepting values) 2023-04-12 21:11:21 -04:00
greg7mdp 6e47c7142a Add comment as suggested in PR review. 2023-04-12 16:58:44 -04:00
Kevin Heifner bd6551947f GH-452 Avoid unnecessary construction of boost::asio::buffer 2023-04-12 15:56:11 -05:00
greg7mdp 0c041509e6 Change abi_cache name as per PR review comment. 2023-04-12 16:54:58 -04:00
Huang-Ming Huang e3583307fd use python_SITELIB 2023-04-12 15:16:55 -05:00
greg7mdp 8fabe5d1b8 Commonize to a single send_transaction function. 2023-04-12 16:08:21 -04:00
Kevin Heifner 4cb969d991 GH-452 Clang-tidy fixes 2023-04-12 14:48:18 -05:00
Kevin Heifner be11e4f2f6 Merge pull request #1020 from AntelopeIO/GH-767-p2p-net-opt
P2P:  Inform peer if not accepting transactions
2023-04-12 13:49:04 -05:00
Kevin Heifner 3e1f05bac9 GH-767 Add log on sending blocks only because of p2p-accept-transactions=false 2023-04-12 12:34:35 -05:00
Kevin Heifner b1c9efa270 GH-767 If configured to not accept transactions, p2p-accept-transactions=false, then inform peer the node is blocks only 2023-04-12 11:17:56 -05:00
Kevin Heifner dec181b6fc Merge pull request #1019 from AntelopeIO/GH-1003-debug-log-spam-main
[4.0 -> main] Reduce producer_plugin debug level log spam
2023-04-12 10:27:55 -05:00
Kevin Heifner 0f3685a4fd Merge remote-tracking branch 'origin/release/4.0' into GH-1003-debug-log-spam-main 2023-04-12 09:57:45 -05:00
Kevin Heifner 23e94d542d Merge pull request #1017 from AntelopeIO/GH-1003-debug-log-spam-4.0
[3.2 -> 4.0] Reduce producer_plugin debug level log spam
2023-04-12 09:57:12 -05:00
Kevin Heifner d7ea2e0c94 Merge pull request #1015 from AntelopeIO/GH-678-http-debug-main
[4.0 -> main] Log all http request/response at debug log level
2023-04-12 09:56:48 -05:00
Huang-Ming Huang 6726ca6ed3 update build.yaml 2023-04-12 09:54:30 -05:00
greg7mdp 52f0a2a954 have send_transaction call send_transaction2 2023-04-12 10:51:24 -04:00
Huang-Ming Huang e54457bcb0 Merge pull request #867 from AntelopeIO/huangminghuang/block_start_time
Optimize block start time
2023-04-12 09:44:38 -05:00
Kevin Heifner 2412691694 Merge remote-tracking branch 'origin/release/3.2' into GH-1003-debug-log-spam-4.0 2023-04-12 09:21:48 -05:00
Kevin Heifner 051a893ca7 Merge pull request #1010 from AntelopeIO/GH-1003-debug-log-spam-3.2
[3.2] Reduce producer_plugin debug level log spam
2023-04-12 09:21:20 -05:00
Huang-Ming Huang 8bd05824ce update cmake 2023-04-12 08:32:26 -05:00
Kevin Heifner c43bf480f6 Merge remote-tracking branch 'origin/release/4.0' into GH-678-http-debug-main 2023-04-12 08:24:28 -05:00
Huang-Ming Huang 5c1ac2ca70 Merge branch 'main' into huangminghuang/block_start_time 2023-04-12 08:19:47 -05:00
Huang-Ming Huang 63a97a63ce Merge pull request #1013 from AntelopeIO/huangminghuang/http-host-main
[4.0->main] response to disallowed host
2023-04-12 08:10:40 -05:00
Kevin Heifner 20b73e2e20 Merge pull request #1009 from AntelopeIO/GH-678-http-debug-4.0
[3.2 -> 4.0] Log all http request/response at debug log level
2023-04-12 07:38:30 -05:00
Gregory Popovitch ff2251d6d9 Merge pull request #1004 from AntelopeIO/get_account_cleanup
cleanup duplicated code blocks in `get_account`
2023-04-11 20:09:23 -04:00
Huang-Ming Huang b61198cbf4 Merge pull request #1008 from AntelopeIO/huangminghuang/http-host-4.0
[3.2->4.0] response to disallowed host
2023-04-11 17:56:15 -05:00
Huang-Ming Huang b9375ba27a Merge branch 'release/4.0' into huangminghuang/http-host-main 2023-04-11 17:43:49 -05:00
greg7mdp 645704057d Merge branch 'main' of github.com:AntelopeIO/leap into gh-698-part2 2023-04-11 17:23:25 -04:00
greg7mdp 03c5d6be9e Merge branch 'main' of github.com:AntelopeIO/leap into get_account_cleanup 2023-04-11 17:21:44 -04:00
greg7mdp 7808e5e993 Address PR comments. 2023-04-11 17:20:14 -04:00
greg7mdp 9aa412b107 Whitespace cleanup 2023-04-11 17:15:40 -04:00
Huang-Ming Huang 69c4e00613 update appbase 2023-04-11 16:01:56 -05:00
Huang-Ming Huang c7873a8a17 update submodules 2023-04-11 14:51:47 -05:00
Huang-Ming Huang 12d7500a69 some format fix 2023-04-11 14:51:47 -05:00
Huang-Ming Huang 67b0fca821 update submodule 2023-04-11 14:51:47 -05:00
Huang-Ming Huang 6df0840474 fix compressed_file 2023-04-11 14:51:47 -05:00
Huang-Ming Huang 29598be699 remove test_filesystem 2023-04-11 14:51:47 -05:00
Huang-Ming Huang d15d16b0be replace boost::filesystem 2023-04-11 14:51:47 -05:00
Kevin Heifner afbcdf240b GH-1003 Reduce producer_plugin debug log spam 2023-04-11 14:45:44 -05:00
Huang-Ming Huang 13d484ca9e Merge pull request #991 from AntelopeIO/huangminghuang/wildcard_linkauth
cleos wildcard linkauth
2023-04-11 14:38:23 -05:00
Kevin Heifner 8c391275e3 Merge branch 'huangminghuang/http-host-4.0' into GH-678-http-debug-4.0 2023-04-11 14:34:11 -05:00
Huang-Ming Huang 604567018f fix test 2023-04-11 13:51:00 -05:00
Kevin Heifner c8b917a884 Merge branch 'huangminghuang/http-host-4.0' into GH-678-http-debug-4.0 2023-04-11 13:38:54 -05:00
Kevin Heifner 29a69b6041 Merge remote-tracking branch 'origin/release/3.2' into GH-678-http-debug-4.0 2023-04-11 13:36:15 -05:00
Kevin Heifner 480374b245 Merge pull request #1000 from AntelopeIO/GH-678-http-debug-3.2
[3.2] Log all http request/response at debug log level
2023-04-11 13:29:36 -05:00
greg7mdp 52e25cdfe3 Avoid unnecessary copies, restore mutable on lambdas capturing the abi cache 2023-04-11 13:46:15 -04:00
Huang-Ming Huang 1c4ae672fa Merge branch 'release/3.2' into huangminghuang/http-host-4.0 2023-04-11 12:04:19 -05:00
Huang-Ming Huang a3f52dbf8e Merge pull request #1006 from AntelopeIO/huangminghuang/prometheus-fix-main
[4.0->main] prometheus fix main
2023-04-11 11:53:43 -05:00
Huang-Ming Huang c716ac5480 Merge pull request #996 from AntelopeIO/huangminghuang/http-host-3.2
[3.2] response to disallowed host
2023-04-11 11:52:08 -05:00
greg7mdp 841a59eb32 remove unnecesary mutable qualifiers. 2023-04-11 12:31:55 -04:00
greg7mdp eb49677485 2nd batch of changes from PR review comments 2023-04-11 12:21:17 -04:00
Huang-Ming Huang f8ce734569 Merge branch 'main' into huangminghuang/prometheus-fix-main 2023-04-11 10:48:32 -05:00
greg7mdp ac8c37c6d5 First batch of changes from PR review comments 2023-04-11 11:45:54 -04:00
Lin Huang 1a8d88f6a6 Merge pull request #1001 from AntelopeIO/merge_4_0_rc3_version_bump_to_main
[4.0 -> main] Merge release 4.0 rc3 version bump to main
2023-04-11 11:32:26 -04:00
Huang-Ming Huang bc101f5785 Merge remote-tracking branch 'origin/release/4.0' into huangminghuang/prometheus-fix-main 2023-04-11 10:28:22 -05:00
Huang-Ming Huang 8dbb9f1bcc Merge pull request #1005 from AntelopeIO/huangminghuang/prometheus-fix
[4.0] fix resource not found bug
2023-04-11 10:22:24 -05:00
Huang-Ming Huang df88471be4 add test 2023-04-11 09:52:33 -05:00
Huang-Ming Huang 208c9160c9 fix resource not found buf 2023-04-11 09:13:46 -05:00
greg7mdp 36d4dd7feb cleanup duplicated code blocks in get_account 2023-04-11 10:02:21 -04:00
Huang-Ming Huang 7efec6a669 add test 2023-04-10 23:47:56 -05:00
Lin Huang dd2b3920c3 restore version after merging 4.0.0 rc3 version bump 2023-04-10 21:39:15 -04:00
Kevin Heifner d4bd548d61 GH-678 Log all http request/response when debug log enabled 2023-04-10 17:21:22 -05:00
Zach Butler 3f76a2e51b Merge branch 'release/4.0' into zach-install-deps
Resolve README.md conflict that GitHub thinks is a conflict but really
wasn't...
2023-04-10 17:39:43 -04:00
greg7mdp 01a0dc5c0c Merge branch 'main' of github.com:AntelopeIO/leap into gh-698-part2 2023-04-10 16:44:03 -04:00
greg7mdp 28b03d2145 Make a few lambdas mutable to avoid copying abi_serializers 2023-04-10 16:29:57 -04:00
Lin Huang 28ffcc841b Merge pull request #998 from AntelopeIO/bump_to_4_0_rc_3
[4.0] Bump Leap version to release 4.0 rc3
2023-04-10 16:24:44 -04:00
Lin Huang 282eee5765 Merge pull request #997 from AntelopeIO/merge_eosvmoc_retry_to_main
[4.0 -> main] Fix ROtrx dispatched to baseline runtime when compiled code not ready
2023-04-10 16:10:57 -04:00
Lin Huang 4966b62311 [4.0] Bump Leap to release 4.0 rc3 2023-04-10 15:55:03 -04:00
greg7mdp 9fd4dfff71 Update get_block() API to use new architecture. 2023-04-10 15:50:19 -04:00
Lin Huang 0d888b84e6 Merge remote-tracking branch 'origin/release/4.0' into merge_eosvmoc_retry_to_main 2023-04-10 15:41:01 -04:00
Matt Witherspoon aad4d4aa39 Merge pull request #995 from AntelopeIO/more_direct_eosio_exit
[4.0 -> main] make eosio_exit impl more direct
2023-04-10 15:34:06 -04:00
Kevin Heifner f08592d2c7 Merge pull request #992 from AntelopeIO/GH-980-restore-read-mode-speculative-main
[4.0 -> main] Restore read-mode=speculative
2023-04-10 14:32:40 -05:00
Peter Oschwald 0dc3a16e31 Add boost beast example http client async vs. 1.7 2023-04-10 13:33:05 -05:00
Lin Huang b9b4b8a035 Merge pull request #984 from AntelopeIO/eosvmoc_retry_4_0
[4.0] Fix ROtrx dispatched to baseline runtime when compiled code not ready
2023-04-10 13:56:51 -04:00
Huang-Ming Huang 0740055506 response to disallowed host 2023-04-10 12:09:32 -05:00
greg7mdp c2aab35c60 correct abi caching, avoid unnecessary serializer copies 2023-04-10 12:04:22 -04:00
Matt Witherspoon 7843090356 Merge pull request #993 from AntelopeIO/more_direct_eosio_exit_40
[4.0] make `eosio_exit` impl more direct
2023-04-10 11:37:34 -04:00
Peter Oschwald 29dd998fae Merge pull request #990 from AntelopeIO/update-leap-boost-version
Update boost version.
2023-04-10 10:06:10 -05:00
Kevin Heifner 708a8eec80 Small but measurable improvement to executor queue. 2023-04-10 09:43:07 -05:00
Peter Oschwald c5a956d05b With increasing min boost version to 1.70, can remove optional behavior for older versions. 2023-04-10 09:34:18 -05:00
Peter Oschwald 5ca44254f6 With increasing min boost version to 1.70, can remove optional behavior for older versions. 2023-04-10 09:18:36 -05:00
Matt Witherspoon 24e34bf8bb Merge remote-tracking branch 'origin/release/4.0' into more_direct_eosio_exit 2023-04-10 04:39:06 -04:00
Kevin Heifner 8ee0f9844b Merge remote-tracking branch 'origin/release/4.0' into GH-980-restore-read-mode-speculative-main 2023-04-08 08:10:29 -05:00
Kevin Heifner de1c1c2c0d Merge pull request #986 from AntelopeIO/GH-980-restore-read-mode-speculative-4.0
[4.0] Restore read-mode=speculative
2023-04-08 08:10:00 -05:00
Lin Huang 32ee290773 Merge branch 'release/4.0' into eosvmoc_retry_4_0 2023-04-08 08:26:05 -04:00
Huang-Ming Huang 8ea26048c4 fix test 2023-04-07 14:50:11 -05:00
Huang-Ming Huang abfbe13624 add type wildcard 2023-04-07 14:07:21 -05:00
Peter Oschwald 455b40b073 Update boost version. 2023-04-07 13:48:51 -05:00
Lin Huang c701194f48 Add missing transient_trx_failed_trace_log for speculative execution 2023-04-07 14:33:46 -04:00
Lin Huang aa892ef784 fix comments and move get_cd_failure into code_cache_base 2023-04-07 12:41:42 -04:00
Lin Huang 706bbb90ec simplify ro_trx_vm_oc_compile_temporary_failure handling 2023-04-07 12:40:47 -04:00
Lin Huang 4f35d9990f Fix the problem of ro_trx_vm_oc_compile exceptions caught prematurally 2023-04-07 12:39:55 -04:00
Lin Huang e58d26fb83 Replace ro_trx_temporary ro_trx_vm_oc_compile_temporary_failure, ro_trx_permanent with ro_trx_vm_oc_compile_permanent_failure, and add better description 2023-04-07 12:36:44 -04:00
Huang-Ming Huang dfe829e7dc Merge pull request #989 from AntelopeIO/huangminghuang/prometheus-port-main
[4.0->main] prometheus on different port
2023-04-07 11:12:53 -05:00
Huang-Ming Huang 7b3c2df592 Merge remote-tracking branch 'origin/release/4.0' into huangminghuang/prometheus-port-main 2023-04-07 10:35:02 -05:00
Huang-Ming Huang 2b60a3919c Merge pull request #939 from AntelopeIO/huangminghuang/prometheus-port
[4.0] prometheus on different port
2023-04-07 10:31:51 -05:00
Kevin Heifner d8168632e5 GH-980 List speculative mode last since it is deprecated 2023-04-07 09:49:00 -05:00
Huang-Ming Huang 1b68dd7f83 address PR comments 2023-04-07 09:30:36 -05:00
Gregory Popovitch f31e5277cd Merge pull request #973 from AntelopeIO/gh-698
Unify definitions of `next_function` and its variant parameter
2023-04-07 09:09:03 -04:00
Kevin Heifner 0895779064 GH-980 Add a version of the distributed transaction test running in read-mode=speculative 2023-04-07 07:58:01 -05:00
greg7mdp e6166495b7 Merge branch 'gh-698' of github.com:AntelopeIO/leap into gh-698-part2 2023-04-07 08:34:35 -04:00
greg7mdp 8f90505d3e remove unnecessary header addition 2023-04-07 08:31:54 -04:00
greg7mdp 66c1731f3f Move serialization off main thread for compute_transaction 2023-04-07 08:27:50 -04:00
Matt Witherspoon 3a3d36ab08 make eosio_exit more direct 2023-04-06 22:03:24 -04:00
Vlad 21ede922f7 Merge pull request #985 from AntelopeIO/multiple-snapshot-fixes-main
[4.0 -> main] Several improvements and fixes for snapshot scheduling
2023-04-06 15:11:32 -04:00
greg7mdp 0b3cc3ddd7 Merge branch 'gh-698' of github.com:AntelopeIO/leap into gh-698-part2 2023-04-06 14:22:40 -04:00
greg7mdp 43f64b36a9 Merge branch 'main' of github.com:AntelopeIO/leap into gh-698 2023-04-06 14:10:14 -04:00
Vlad 49637bebb9 Merge branch 'main' into multiple-snapshot-fixes-main 2023-04-06 14:08:26 -04:00
greg7mdp 71824ff287 Merge branch 'gh-698' of github.com:AntelopeIO/leap into gh-698 2023-04-06 14:08:16 -04:00
Areg Hayrapetian b71ea9ad10 Merge pull request #987 from AntelopeIO/huangminghuang/cmake-fix-main
[4.0->main] fix cpack error message
2023-04-06 11:07:55 -07:00
greg7mdp 51d2b5bab7 Move abi serialization of transaction trace off main thread for send_transaction. 2023-04-06 13:47:52 -04:00
Vlad 2e8f098d7e Merge branch 'main' into multiple-snapshot-fixes-main 2023-04-06 12:01:08 -04:00
Huang-Ming Huang acdd583aaf Merge branch 'main' into huangminghuang/cmake-fix-main 2023-04-06 10:35:06 -05:00
Kevin Heifner 425f6e6105 Merge pull request #983 from AntelopeIO/GH-978-read-only-limit-main
[4.0 -> main] Set an upper limit on read-only-threads of 8
2023-04-06 10:29:31 -05:00
Kevin Heifner d5f8575eda GH-980 Restore read-mode=speculative 2023-04-06 10:09:56 -05:00
766C6164 17fb494060 Merge branch 'release/4.0' into multiple-snapshot-fixes-main 2023-04-06 10:47:33 -04:00
Vlad ae0018b525 Merge pull request #968 from AntelopeIO/make-pending-snapshots-nonopt
[4.0] Several improvements and fixes for snapshot scheduling
2023-04-06 10:43:43 -04:00
Huang-Ming Huang cbef1eca19 Merge branch 'release/4.0' into huangminghuang/cmake-fix-main 2023-04-06 09:25:12 -05:00
Huang-Ming Huang 07b99d386a Merge pull request #972 from AntelopeIO/huangminghuang/cmake-fix
[4.0] fix cpack error message
2023-04-06 09:22:19 -05:00
Peter Oschwald 3459a104ee Merge branch 'main' into ph-block-producer-op-mode 2023-04-06 08:02:16 -05:00
Kevin Heifner 0f316a45b5 Merge remote-tracking branch 'origin/release/4.0' into GH-978-read-only-limit-main 2023-04-06 06:34:37 -05:00
Kevin Heifner 7dac5948b1 Merge pull request #982 from AntelopeIO/GH-978-read-only-limit-4.0
[4.0] Set an upper limit on read-only-threads of 8
2023-04-06 06:34:00 -05:00
Lin Huang 4be7471c56 push_read_only_transaction handles temporary and permanent failure exceptions 2023-04-06 07:23:57 -04:00
Lin Huang 1b3e49b96c get_descriptor_for_code returns failure reason and wasm_interface::apply raises appropriate exceptions 2023-04-06 07:22:06 -04:00
Lin Huang d9cf9336ce add new exceptions for read-only trxs 2023-04-06 07:15:35 -04:00
Matt Witherspoon 54e897094e Merge pull request #927 from AntelopeIO/no_wavm_cxx11
remove WAVM specific c++11 flag
2023-04-05 19:17:17 -07:00
greg7mdp 74575d3404 Fix a couple typos. 2023-04-05 22:13:46 -04:00
greg7mdp 1d039b6749 Update whitespace as per PR comments. 2023-04-05 22:06:56 -04:00
greg7mdp 01b992ce05 Address some PR comments (define types in types.hpp and add comments) 2023-04-05 22:03:26 -04:00
Kevin Heifner 538437b7ad GH-978 Max of 8 read-only threads is allowed 2023-04-05 20:54:08 -05:00
Kevin Heifner 610bd6fba4 GH-978 Set an upper limit on read-only-threads of 8. 2023-04-05 20:10:59 -05:00
Matt Witherspoon 9ee7277ab8 Merge pull request #923 from AntelopeIO/more_wavm_removal
remove more unused WAVM code
2023-04-05 17:48:35 -07:00
Lin Huang ff31742b14 Merge pull request #979 from AntelopeIO/merge_missing_methods
[4.0 -> main] Added missing calls to wasmifs on read-only threads
2023-04-05 19:56:22 -04:00
Lin Huang 18736d61ac Merge remote-tracking branch 'origin/release/4.0' into merge_missing_methods 2023-04-05 19:06:38 -04:00
Lin Huang bc349683e9 Merge pull request #964 from AntelopeIO/wasmif_methods_4_0
[4.0] Added missing calls to wasmifs on read-only threads
2023-04-05 18:37:38 -04:00
766C6164 b2c81cdb4c Multiple updates 2023-04-05 17:42:51 -04:00
Lin Huang 8bce249ff0 Merge pull request #977 from AntelopeIO/merge_remove_check_limits_to_main
[4.0 -> main] Remove global WASM::check_limits and initial memory from instantiate_module
2023-04-05 17:20:56 -04:00
Lin Huang 599f08b649 Merge remote-tracking branch 'origin/release/4.0' into merge_remove_check_limits_to_main 2023-04-05 16:41:05 -04:00
Peter Oschwald b91b4c75c8 Merge branch 'main' into ph-block-producer-op-mode 2023-04-05 15:34:42 -05:00
Vlad 78e15feeaa Merge pull request #976 from AntelopeIO/test-snapshot-scheduler-stability-main
[4.0 -> main] test_snapshot_scheduler stability improvements
2023-04-05 16:30:39 -04:00
Lin Huang 64d06887a5 Merge pull request #975 from AntelopeIO/remove_check_limits_4_0
[4.0] Remove global WASM::check_limits and initial memory from instantiate_module
2023-04-05 16:03:11 -04:00
Peter Oschwald d115fa6e30 Merge branch 'main' into ph-block-producer-op-mode 2023-04-05 15:02:00 -05:00
Peter Oschwald 2bc918fc4d Deconflict shorthand arguments for help.
Cleanup commented out code.
2023-04-05 15:01:31 -05:00
766C6164 3cc4aa2344 Test stability improvements 2023-04-05 15:39:35 -04:00
766C6164 6ddfa97ebc Merge branch 'release/4.0' into test-snapshot-scheduler-stability-main 2023-04-05 15:35:18 -04:00
Peter Oschwald 32a7503e01 Update README for changes to arguments.
Update argument lists to use the direct output from --help to ease updating in future as no additional formatting is necessary.

Remove section on lauch_transaction_generators.py since that script was incorporated into the TestHarness module and is no longer command line executable.

Add infomration on newly broken out sub-commands and the arguments pertaining to those modes or config commands.
2023-04-05 14:16:12 -05:00
Lin Huang 9ddf0f7acf remove unused IR::Module module 2023-04-05 15:12:45 -04:00
Lin Huang 2cb34fea5c remove unneccessary bytes copying 2023-04-05 14:48:58 -04:00
Lin Huang b59c1ad5e7 Remove serialization completely from get_instantiated_module 2023-04-05 14:34:24 -04:00
Matt Witherspoon 160b42759d Merge pull request #961 from AntelopeIO/revert_ctest_test-dir
revert `ctest --test-dir` usage that is cmake 3.20+
2023-04-05 11:22:31 -07:00
Lin Huang 6e8bd9ad27 remove parse_initial_memory 2023-04-05 13:51:26 -04:00
Lin Huang 7e49aa03fc remove WASM::check_limits and initial memory from instantiate_module 2023-04-05 13:41:37 -04:00
Kevin Heifner ee7f5a8034 Merge branch 'release/4.0' into huangminghuang/cmake-fix 2023-04-05 12:28:00 -05:00
Peter Oschwald 80e05c8327 Updating README dir structure and test report outputs. 2023-04-05 12:24:50 -05:00
greg7mdp 3f9f704587 Missed another needed change 2023-04-05 13:14:46 -04:00
greg7mdp a2d676e517 Missed needed change in macros.hpp 2023-04-05 13:04:32 -04:00
greg7mdp be8217f31a unify definitions of next_function and its parameter
So that it is defined in a single location (DRY) and can be easily updated.
2023-04-05 11:35:31 -04:00
Huang-Ming Huang 16354ee6e5 Merge branch 'release/4.0' into huangminghuang/prometheus-port 2023-04-05 08:53:14 -05:00
Huang-Ming Huang 69a741c5ba fix make package 2023-04-04 21:01:10 -05:00
Lin Huang 9a10c803b3 Merge branch 'release/4.0' into wasmif_methods_4_0 2023-04-04 21:02:22 -04:00
766C6164 26e2f658e4 Make pending_snapshot non-optional 2023-04-04 18:32:19 -04:00
Peter Oschwald 088d5c7a30 Merge branch 'main' into ph-block-producer-op-mode 2023-04-04 17:18:00 -05:00
Peter Oschwald d7eb6d7f9f Merge pull request #945 from AntelopeIO/performance_harness_reduce_log_usage
[PH] Reduce log Usage and Other Performance Harness Improvements
2023-04-04 17:16:59 -05:00
Peter Oschwald 16b9d324b7 Add initial note on configuration of the bp operational mode. 2023-04-04 17:06:57 -05:00
Peter Oschwald 8d87497b00 Begin to layout framework for operational modes in performance_test.py.
Initial support for Block Producer Operational Mode provided through sub-command testBpOpMode
Update performance_test integration tests to use the new sub-commands.
2023-04-04 17:05:58 -05:00
Lin Huang 6a97c7bb16 revert the change for get_wasm_interface().exit() 2023-04-04 17:56:09 -04:00
Vlad 7218f25f50 Merge pull request #931 from AntelopeIO/test-snapshot-scheduler-stability
[4.0] Improved test_snapshot_scheduler stability
2023-04-04 17:52:29 -04:00
Peter Oschwald cd87f42a9b Fix logic in isOnBlockTransaction as it was inverted. 2023-04-04 16:44:53 -05:00
766C6164 dee4a153c4 Stop if pending_snapshots do not exist 2023-04-04 17:31:29 -04:00
Peter Oschwald 31273296fe Address peer review comments. 2023-04-04 16:18:39 -05:00
766C6164 a93faeb280 Tightened up test a bit 2023-04-04 15:35:04 -04:00
Lin Huang 1f46ff65ea remove first_block_num_used from wasm_instantiation_cache 2023-04-04 14:42:07 -04:00
Lin Huang 9b38815c56 make sure app wasm interface methods are called on wasmifs on all the read-only threads 2023-04-04 14:38:15 -04:00
Lin Huang 647dd99e44 wait until all read-only threads are started before proceeding in producer_plugin startup 2023-04-04 13:35:15 -04:00
Lin Huang 5b1c8dd644 Replace thread_local with unordered_map for wasmif 2023-04-04 13:25:13 -04:00
Lin Huang 553b834042 Merge pull request #962 from AntelopeIO/merge_oc_main_thread_fix
[4.0 -> main] Use is_write_window in eos-vm-oc main to determine if it is safe to update code cache
2023-04-04 11:09:09 -04:00
Huang-Ming Huang 7b2da964e5 fix calculate_pending_block_time 2023-04-04 09:45:21 -05:00
Huang-Ming Huang 8575d62354 Merge branch 'main' into huangminghuang/block_start_time
# Conflicts:
#	plugins/producer_plugin/producer_plugin.cpp
2023-04-04 09:24:54 -05:00
Huang-Ming Huang bf289ae1bc fix for boost 1.74+ 2023-04-04 08:12:36 -05:00
Lin Huang b31889d0e0 Merge remote-tracking branch 'origin/release/4.0' into merge_oc_main_thread_fix 2023-04-04 08:34:11 -04:00
Lin Huang 299d11f8a8 Merge pull request #960 from AntelopeIO/oc_main_thread_fix
[4.0] Use is_write_window in eos-vm-oc main to determine if it is safe to update code cache
2023-04-04 08:31:57 -04:00
Lin Huang 6f7a948488 Merge pull request #959 from AntelopeIO/merge_3_2_3_version_bump_from_4_0_to_main
[4.0 -> main] Merge 3.2.3 version bump from 4.0 to main
2023-04-04 08:23:21 -04:00
Lin Huang 56c6ad3b7f replace app().executor().is_write_window() with cleaner chain.is_write_window() 2023-04-03 22:16:36 -04:00
Kevin Heifner 50a4728478 Merge pull request #912 from AntelopeIO/GH-591-get-account-http
Return 400 http error for unknown account
2023-04-03 20:21:10 -05:00
Lin Huang 107670145a initialize app_window 2023-04-03 21:11:27 -04:00
Matt Witherspoon 92ee0041ba revert ctest --test-dir usage that is cmake 3.20+ 2023-04-03 20:53:33 -04:00
Lin Huang 49892f5ebb Merge remote-tracking branch 'origin/release/4.0' into merge_3_2_3_version_bump_from_4_0_to_main 2023-04-03 19:34:23 -04:00
Lin Huang 7586219c04 Change to use is_write_window to determine whether it is safe to update eos-vm-oc code cache 2023-04-03 19:22:49 -04:00
Lin Huang 4917ebcf36 Merge pull request #957 from AntelopeIO/merge_3_2_3_version_bump_to_4_0
[3.2 -> 4.0] Merge 3.2.3 version bump to 4.0
2023-04-03 19:20:31 -04:00
Lin Huang 66c23b9de6 Add execution window APIs to controller so chain can access current execution window 2023-04-03 19:19:45 -04:00
Kevin Heifner db54a5c66f Merge branch 'main' into GH-591-get-account-http 2023-04-03 16:01:59 -05:00
Kevin Heifner dd3b23005d Add SHiP forking and have_positions unittest. 2023-04-03 15:43:52 -05:00
Kevin Heifner d278917fcf Merge pull request #955 from AntelopeIO/ship-fork-main
[4.0 -> main] SHiP Fix forking behavior
2023-04-03 15:21:48 -05:00
Lin Huang 4b59a6bd32 restore version to 4.0 after merging 3.2.3 version bump 2023-04-03 16:17:04 -04:00
Huang-Ming Huang d10df32600 avoid std::bind 2023-04-03 15:09:31 -05:00
Kevin Heifner d51a94253a Merge remote-tracking branch 'origin/release/4.0' into ship-fork-main 2023-04-03 14:52:58 -05:00
Kevin Heifner a1e56a3ba9 Merge pull request #952 from AntelopeIO/ship-fork-4.0
[3.2 -> 4.0] SHiP Fix forking behavior
2023-04-03 14:52:43 -05:00
Huang-Ming Huang bd9511dd0e Merge remote-tracking branch 'origin/release/4.0' into huangminghuang/prometheus-port 2023-04-03 14:39:35 -05:00
Huang-Ming Huang 0355c52126 based on boost 1.67 example 2023-04-03 14:30:11 -05:00
Lin Huang d382d71c7e Merge pull request #954 from AntelopeIO/merge_time_summary_fix_to_main
[4.0 -> main] Merge time summary fix to main
2023-04-03 14:23:45 -04:00
Lin Huang 43873e8221 Merge pull request #953 from AntelopeIO/bump_to_3_2_3
[3.2] Bump Leap version to 3.2.3
2023-04-03 13:52:59 -04:00
greg7mdp 3abe789f76 Add generic make_api_entry function which splits processing
between main thread and http thread pool
2023-04-03 13:50:29 -04:00
Kevin Heifner d40be19b02 CORE_SYMBOL is now in TestHarness 2023-04-03 12:40:09 -05:00
Lin Huang 34288c5bba Merge remote-tracking branch 'origin/release/4.0' into merge_time_summary_fix_to_main 2023-04-03 13:33:54 -04:00
Lin Huang f696190c0e Merge pull request #947 from AntelopeIO/time_summary_fix_4_0
[4.0] Correct time summary calculation for transient trxs due to change of read-only trxs windows
2023-04-03 13:28:24 -04:00
Lin Huang adaec7704c Bump Leap version to 3.2.3 2023-04-03 13:23:52 -04:00
Kevin Heifner cb909a8f1a Merge remote-tracking branch 'origin/release/3.2' into ship-fork-4.0 2023-04-03 11:47:47 -05:00
Peter Oschwald 1164893367 Remove log_reader_tests.py and associated test log files.
With rework to no longer rely on parsing a majority of the block and transaction data out of the nodeos log in favor of querying it directly from an active node, the log_reader_tests have lost their usefulness.  Can remove nodeos logs as well which were supporting the testing.
2023-04-03 11:27:54 -05:00
Kevin Heifner 1fa531daf8 Merge pull request #943 from AntelopeIO/ship-fork-3.2
[3.2] SHiP Fix forking behavior
2023-04-03 11:25:51 -05:00
Kevin Heifner fa2b7fece2 Use f-strings 2023-04-03 10:29:25 -05:00
Lin Huang e09d9570cb remove duplicated _ro_in_read_only_mode 2023-04-03 11:03:38 -04:00
Peter Oschwald 621ece03ad Merge branch 'main' into performance_harness_reduce_log_usage 2023-04-03 09:48:42 -05:00
Huang-Ming Huang 1b9c6525da address PR comments 2023-04-03 09:39:43 -05:00
Kevin Heifner bb7fc8d145 Fix spelling 2023-04-03 09:31:33 -05:00
Kevin Heifner c3814b9e59 Use 10 clients for test. Minor cleanups to ship_streamer_test.py 2023-04-03 06:58:58 -05:00
Lin Huang 61f3e7e818 Add missing idle time adjustment while executing read-only trxs and correct a format error 2023-04-02 16:48:20 -04:00
Lin Huang c6d5b13f12 remove unneeded is_on_main_thread from controller.hpp 2023-04-02 13:49:41 -04:00
Lin Huang a87705b4ff Correct transient trx time summary due to read-only trxs can run in both read and write window 2023-04-02 13:30:22 -04:00
Lin Huang 4099678077 Merge pull request #946 from AntelopeIO/merge_read_only_trx_improve_to_main
[4.0 -> main] Small improvements for parallelizing read-only transactions and tasks
2023-04-02 08:00:15 -04:00
Lin Huang 15e73d9bf7 Merge remote-tracking branch 'origin/release/4.0' into merge_read_only_trx_improve_to_main 2023-04-01 20:30:05 -04:00
Kevin Heifner 6f1e67b2b5 Merge pull request #944 from AntelopeIO/GH-596-fork-db-main
[4.0 -> main] forkdb reset in replay since blocks are signaled
2023-04-01 18:03:38 -05:00
Matt Witherspoon 2ec88efcca Merge pull request #920 from AntelopeIO/cmake_3.16_bump
bump minimum cmake requirement to 3.16
2023-04-01 10:52:40 -07:00
Lin Huang ab8202ffbf Merge pull request #933 from AntelopeIO/readonly_improve
[4.0] Small improvements for parallelizing read-only transactions and tasks
2023-03-31 21:50:19 -04:00
Lin Huang 0b3a0a7b8d Merge branch 'release/4.0' into readonly_improve 2023-03-31 21:22:21 -04:00
Kevin Heifner 618c805c7e Merge remote-tracking branch 'origin/release/4.0' into GH-596-fork-db-main 2023-03-31 17:27:50 -05:00
Kevin Heifner 60ebeddf41 Merge pull request #938 from AntelopeIO/GH-596-fork-db-4.0
[3.2 -> 4.0] forkdb reset in replay since blocks are signaled
2023-03-31 17:27:28 -05:00
ClaytonCalabrese 7f5a789406 Merge pull request #942 from AntelopeIO/cleanup_after_logs_release_4_0_to_main
[4.0 -> main] Clean tmp and TestLogs after test runs
2023-03-31 17:26:27 -05:00
Clayton Calabrese a78965bc9d remove accidental newline 2023-03-31 17:03:08 -05:00
Clayton Calabrese 6486facd38 rename chainData::nodes to chainData::numNodes to clarify what it means 2023-03-31 17:00:04 -05:00
Lin Huang 89e3a461c8 fine tuning error message 2023-03-31 17:55:04 -04:00
Lin Huang 1d57375ced Merge branch 'release/4.0' into readonly_improve 2023-03-31 17:51:43 -04:00
Clayton Calabrese 466093fad9 remove pointless return 2023-03-31 16:32:03 -05:00
Clayton Calabrese b1dfcb99f8 rename blockLog in chainData to blockList to better represent what the member actually is 2023-03-31 16:27:22 -05:00
Clayton Calabrese 72c36e0876 put blockDict and trxDict into chainData class 2023-03-31 16:25:05 -05:00
Clayton Calabrese 1fd2e67898 check forked and dropped blocks for each node in a performance test run. Change where updateTotal happens to not double count if blocks fork. 2023-03-31 15:55:57 -05:00
Matt Witherspoon b38adb5171 Merge pull request #941 from AntelopeIO/remove_more_unused_libfc_netstuff
remove more unused libfc network code
2023-03-31 13:02:18 -07:00
Kevin Heifner 6fb28e5f7d ship_streamer_test now the longest running nonparallelizable_tests, so make it long_running_test 2023-03-31 14:59:35 -05:00
Kevin Heifner fa8d025ca8 Make sure SHiP sends new blocks on forks 2023-03-31 14:44:12 -05:00
Lin Huang bcade58c1c Merge branch 'readonly_improve' of https://github.com/AntelopeIO/leap into readonly_improve 2023-03-31 15:39:44 -04:00
Lin Huang a617c5557b better error message 2023-03-31 15:39:11 -04:00
ClaytonCalabrese f3993e1790 Merge pull request #915 from AntelopeIO/clean_log_littering
[4.0] Clean tmp and TestLogs after test runs
2023-03-31 14:13:15 -05:00
Kevin Heifner 12924afa0a Add test for forking in SHiP 2023-03-31 14:10:05 -05:00
Huang-Ming Huang 0e0fdcccd7 Merge pull request #940 from AntelopeIO/huangminghuang/gelf-fix-main
[4.0->main] fix gelf DNS resolves to ipv6 address
2023-03-31 12:27:44 -05:00
Matt Witherspoon 6548567ad7 remove more unused libfc network code 2023-03-31 13:23:40 -04:00
Huang-Ming Huang 3a5c6bca80 Merge remote-tracking branch 'origin/release/4.0' into huangminghuang/prometheus-port 2023-03-31 12:21:24 -05:00
Huang-Ming Huang 4d26ccb983 Merge remote-tracking branch 'origin/release/4.0' into huangminghuang/gelf-fix-main 2023-03-31 11:58:41 -05:00
Kevin Heifner 5d91a7604a Merge pull request #937 from AntelopeIO/GH-596-ship-flush-main
[4.0 -> main] SHiP flush logs on write
2023-03-31 11:49:16 -05:00
Huang-Ming Huang a29c4f8b51 Merge pull request #917 from AntelopeIO/huangminghuang/gelf-fix
[4.0] fix gelf DNS resolves to ipv6 address
2023-03-31 11:30:02 -05:00
Lin Huang 96541108c3 Merge branch 'release/4.0' into readonly_improve 2023-03-31 12:26:05 -04:00
Kevin Heifner f3fcfe952a Merge remote-tracking branch 'origin/release/3.2' into GH-596-fork-db-4.0 2023-03-31 11:18:49 -05:00
Kevin Heifner d9a4772977 Merge pull request #936 from AntelopeIO/GH-596-fork-db-3.2
[3.2] forkdb reset in replay since blocks are signaled
2023-03-31 11:17:38 -05:00
Kevin Heifner 752da16214 Merge remote-tracking branch 'origin/release/4.0' into GH-596-ship-flush-main 2023-03-31 11:16:00 -05:00
Kevin Heifner fc8cd5b6ea Merge pull request #935 from AntelopeIO/GH-596-ship-flush-4
[3.2 -> 4.0] SHiP flush logs on write
2023-03-31 11:15:27 -05:00
Huang-Ming Huang 59a8809f98 prometheus on different port 2023-03-31 11:02:11 -05:00
Huang-Ming Huang b7b374200b remove commented line 2023-03-31 10:49:31 -05:00
Lin Huang d27d4cca72 incorporate review comments 2023-03-31 11:19:45 -04:00
Kevin Heifner 51c4bea20a GH-596 forkdb reset in replay since blocks are signaled 2023-03-31 09:20:27 -05:00
Kevin Heifner 46b223174c Merge remote-tracking branch 'origin/release/3.2' into GH-596-ship-flush-4 2023-03-31 09:08:57 -05:00
Peter Oschwald 5872a08793 Begin documenting operational modes.
First operational mode for the performance harness with be Block Producer mode.
2023-03-31 08:23:00 -05:00
Kevin Heifner 1043b9c054 GH-591 Fix spelling 2023-03-31 07:25:34 -05:00
Kevin Heifner 4359bc06f7 Merge pull request #928 from AntelopeIO/GH-596-ship-flush-3.2
[3.2] SHiP flush logs on write
2023-03-31 06:38:04 -05:00
Lin Huang 1e0aaf9c19 update eos-vm-oc threads limit calculation based on the design 2023-03-30 21:37:44 -04:00
Lin Huang 06595488c4 assert chain.is_building_block 2023-03-30 21:03:51 -04:00
Lin Huang d86a6bbed0 Add more descriptions about read and write timer default values 2023-03-30 20:39:03 -04:00
Lin Huang 89d334cb20 use boost deque which is faster than std:deque 2023-03-30 20:32:11 -04:00
766C6164 7642088732 Improved test stability 2023-03-30 17:40:40 -04:00
766C6164 b837affa1d Moved state_dir option to chain-state subcommand 2023-03-30 15:08:18 -04:00
766C6164 bba172f769 Dropped short argument form 2023-03-30 14:22:25 -04:00
Kevin Heifner 2384df3312 Merge pull request #929 from AntelopeIO/read-safe-multi-thread-main
[4.0 -> main] Execute read only safe tasks on read-only thread pool
2023-03-30 13:21:08 -05:00
Kevin Heifner 9f54fc4026 Merge remote-tracking branch 'origin/release/4.0' into read-safe-multi-thread-main 2023-03-30 11:52:22 -05:00
Kevin Heifner e871f05cfe Merge pull request #901 from AntelopeIO/read-safe-multi-thread-4.0
[4.0] Execute read only safe tasks on read-only thread pool
2023-03-30 11:51:28 -05:00
Matt Witherspoon 5bfb498b45 Merge pull request #924 from AntelopeIO/remove_curl
curl is no longer a required dependency; remove from docs & CI environment
2023-03-30 09:46:37 -07:00
Kevin Heifner 8aab319a2d Resize vector to ensure it is empty 2023-03-30 09:55:56 -05:00
Kevin Heifner bf5746f6cf Remove unneeded call to cancel. 2023-03-30 08:57:59 -05:00
Kevin Heifner efd642b151 GH-596 flush log and index files to make it more likely that a kill-9 or crash leaves valid ship logs. 2023-03-30 07:27:09 -05:00
Matt Witherspoon 735fc8f732 missed cmake version bump in readme's prose section 2023-03-29 23:08:45 -04:00
Kevin Heifner 4465a8bd99 Cleanup window deadline calculation for read-only trxs.
Since repost_exhausted_transactions is called in start_block, check should_interrupt_start_block in while loop.
2023-03-29 21:50:00 -05:00
Matt Witherspoon 8aeb0b5445 remove WAVM specific c++11 flag 2023-03-29 22:28:37 -04:00
jgiszczak 2f46f75970 Merge pull request #926 from AntelopeIO/test-harness-k-argument-support-main
[4.0 -> main] Implement support for -k/--kill in launcher.
2023-03-29 18:57:46 -05:00
jgiszczak e2539791a8 Merge pull request #921 from AntelopeIO/test-harness-k-argument-support
[4.0] Implement support for -k/--kill in launcher.
2023-03-29 18:01:55 -05:00
Kevin Heifner ca4de0e435 Remove unneeded cancel and update read-only-threads help description. 2023-03-29 17:52:01 -05:00
Jonathan Giszczak c708815a25 Suppress spurious error and use signal number on all platforms.
Pass kill signal number to kill for consistency with bounce/down.
2023-03-29 17:34:19 -05:00
Matt Witherspoon 5a39a122dc curl is no longer a required dependency 2023-03-29 18:23:01 -04:00
Clayton Calabrese 82e8ba8b6a change folder for performance_test runs to performance_test from p 2023-03-29 17:17:07 -05:00
Jonathan Giszczak 661515f5a8 Implement support for -k/--kill in launcher. 2023-03-29 16:15:07 -05:00
Huang-Ming Huang d29df5ef70 fix tests 2023-03-29 15:37:12 -05:00
Clayton Calabrese fb249230c1 convert to f string in walletMgr 2023-03-29 15:11:34 -05:00
Clayton Calabrese f07ccdc417 adjust indent 2023-03-29 15:10:44 -05:00
Clayton Calabrese 3ecb150933 Adjust test harness walletMgr to place files inside the wallet dir 2023-03-29 15:10:06 -05:00
Clayton Calabrese 97aa5b02d5 revert change for auto-bp_peering_test that is no longer needed 2023-03-29 14:38:47 -05:00
Clayton Calabrese 07c38c5c86 address PR comments for performance_test_basic and auto_bp_peering_test loggin 2023-03-29 14:28:28 -05:00
Huang-Ming Huang 3191ab295d remove deprecated options 2023-03-29 13:57:21 -05:00
Huang-Ming Huang 59b174029f restore udp non-blocking mode 2023-03-29 13:01:42 -05:00
Clayton Calabrese 82b179ccaa Merge remote-tracking branch 'origin/main' into performance_harness_reduce_log_usage 2023-03-29 12:05:31 -05:00
Kevin Heifner 6a989fd7eb Rename method and honor deadline. 2023-03-29 10:23:49 -05:00
Huang-Ming Huang dce7f418c3 address PR comment 2023-03-29 10:20:27 -05:00
Matt Witherspoon 6f6b5b7565 make use of some newer cmake functionality in CI 2023-03-29 10:29:46 -04:00
Matt Witherspoon 296fbc586f remove unused WAVM TestScript.h 2023-03-29 10:25:58 -04:00
Matt Witherspoon da68bd88ec remove WAVM travis CI 2023-03-29 10:25:54 -04:00
Matt Witherspoon 17201d4a63 remove WAVM Runtime 2023-03-29 10:25:47 -04:00
Matt Witherspoon b310933bb9 remove some unused WAVM headers 2023-03-29 10:25:43 -04:00
Matt Witherspoon a644bb2070 remove commented out cmake rules in WAVM 2023-03-29 10:25:42 -04:00
Matt Witherspoon 391d14e0d2 remove ENABLE_SIMD_PROTOTYPE & ENABLE_THREADING_PROTOTYPE WAVM code 2023-03-29 10:25:39 -04:00
Huang-Ming Huang 3ea7bae19f Merge branch 'main' into huangminghuang/block_start_time
# Conflicts:
#	plugins/producer_plugin/producer_plugin.cpp
2023-03-29 09:03:40 -05:00
Kevin Heifner 6672db333e Remove unneeded check of read-only exhausted trx queue 2023-03-29 07:25:42 -05:00
Kevin Heifner f80a95bf30 Add verification of posted read_only calls 2023-03-29 07:25:08 -05:00
Gregory Popovitch e22629623a Merge pull request #913 from AntelopeIO/optimize_http_api_calls
Replace needless std::map with std::vector, and std::move in capture
2023-03-28 23:21:35 -04:00
Kevin Heifner 81ff398777 Simplify use of exhausted read-only trx queue 2023-03-28 21:41:58 -05:00
Matt Witherspoon 8f36b20ab9 remove now unneeded CMAKE_VERSION checks 2023-03-28 21:23:21 -04:00
Matt Witherspoon cfab568b31 bump cmake minimum to 3.16 2023-03-28 21:22:25 -04:00
Huang-Ming Huang def64d1c6f Merge branch 'release/4.0' into huangminghuang/gelf-fix 2023-03-28 18:26:02 -05:00
Kevin Heifner 2dd1f6768c Remove unneeded _ro_exiting_read_window and simplify read_only_execution_task loop 2023-03-28 18:21:12 -05:00
Huang-Ming Huang e906597c2d fix gelf DNS resolves to ipv6 address 2023-03-28 17:34:45 -05:00
Kevin Heifner fa702aaccc Integrate #904 to prevent exit from read window until all threads are idle. 2023-03-28 17:21:37 -05:00
Clayton Calabrese c6908a45a6 Remove blkData by merging it with blockData and changing some use cases 2023-03-28 17:18:51 -05:00
Clayton Calabrese e0da601c80 fix performance_test and performance_test_basic leaving logs around in TestLogs 2023-03-28 15:50:15 -05:00
766C6164 33334b1b43 Added check for chainbase version 2023-03-28 16:40:07 -04:00
766C6164 f193441289 Added subcommand to check for a clean shutdown 2023-03-28 15:19:12 -04:00
Kevin Heifner 8eaa42ef39 Fix for slow runner hitting abi serialization deadline 2023-03-28 13:48:29 -05:00
greg7mdp abc8c1dcec Replace needless std::map with std::vector, and std::move in capture 2023-03-28 14:30:47 -04:00
Clayton Calabrese d5bbebbb13 fix a number of tests that leave logs in TestLogs even on success. 2023-03-28 12:22:15 -05:00
Kevin Heifner 18cd288c82 Simplify exhausted read-only handling 2023-03-28 10:52:43 -05:00
Clayton Calabrese a7c3431323 prevent snapshot test from creating a bunch of tmp files that aren't cleaned up 2023-03-28 10:06:54 -05:00
Clayton Calabrese 97f02ac1d0 remove unused code 2023-03-28 10:02:34 -05:00
Kevin Heifner ce8c1b70d5 GH-591 fix expected http code 2023-03-28 10:01:38 -05:00
Clayton Calabrese f906cfa686 clean up test wallet littering 2023-03-28 09:59:42 -05:00
Kevin Heifner 138737c414 Default read-only-threads to 3 if not specified when eosio::chain_api_plugin configured and not a producer. 2023-03-28 09:46:08 -05:00
Kevin Heifner 9ec3b79dea GH-591 Return 400 http error for unknown account 2023-03-28 07:42:45 -05:00
Kevin Heifner e8a081c3dc Run everything at the same time test 2023-03-27 19:56:48 -05:00
Kevin Heifner 06637d5221 Add some calls to read-only actions to the test. 2023-03-27 19:36:05 -05:00
Kevin Heifner f999202e94 Check test_mode 2023-03-27 18:22:44 -05:00
Vlad e13e2cf5bd Merge pull request #909 from AntelopeIO/increase-timeout-fork-test-main
[4.0 -> main] Adjusted timeout in tests to give better chance on reaching consensus
2023-03-27 18:55:33 -04:00
766C6164 fa920523c0 Merge branch 'release/4.0' into increase-timeout-fork-test-main 2023-03-27 17:27:14 -04:00
766C6164 6c0ea314a3 Merge branch 'increase-timeout-fork-test-main' of https://github.com/AntelopeIO/leap into increase-timeout-fork-test-main 2023-03-27 17:25:32 -04:00
Vlad 7eaaf66419 Merge branch 'main' into increase-timeout-fork-test-main 2023-03-27 17:25:20 -04:00
766C6164 966dec6f17 Revert "Increased timeout for the network to reach consensus"
This reverts commit d9cde1c924.
2023-03-27 17:24:20 -04:00
Kevin Heifner f07011d828 Minor updates 2023-03-27 16:05:22 -05:00
Kevin Heifner 66aef5b026 Merge remote-tracking branch 'origin/release/4.0' into read-safe-multi-thread-4.0 2023-03-27 15:29:49 -05:00
Kevin Heifner 1c5e133ce6 Merge pull request #910 from AntelopeIO/GH-891-interrupt-start-block-main
[4.0 -> main] Use block_num for interrupt of start_block & Use single timer for read and write windows
2023-03-27 14:38:34 -05:00
Matt Witherspoon 49939fe2f4 Merge pull request #894 from AntelopeIO/bionic_removal
remove ubuntu 18.04 from CI & documentation
2023-03-27 11:47:30 -07:00
Kevin Heifner 23fd711cbc Merge remote-tracking branch 'origin/main' into GH-891-interrupt-start-block-main 2023-03-27 13:40:38 -05:00
Gregory Popovitch 09c6af1659 Merge pull request #904 from AntelopeIO/gh_822_main
[4.0 -> main] Cleanup and prevent thread starvation while in the read window.
2023-03-27 14:31:21 -04:00
766C6164 d9cde1c924 Increased timeout for the network to reach consensus 2023-03-27 14:18:36 -04:00
Vlad fca96e56eb Merge pull request #907 from AntelopeIO/increase-timeout-fork-test
[4.0] Adjusted timeout in tests to give better chance on reaching consensus
2023-03-27 14:14:02 -04:00
Kevin Heifner bb4a277385 Merge remote-tracking branch 'origin/release/4.0' into GH-891-interrupt-start-block-main 2023-03-27 12:19:51 -05:00
Kevin Heifner a329707f22 Merge pull request #908 from AntelopeIO/GH-891-interrupt-start-block-4.0
[3.2 -> 4.0] Use block_num for interrupt of start_block
2023-03-27 12:19:20 -05:00
Lin Huang fed6d11e00 Merge pull request #905 from AntelopeIO/single_timer
[4.0] Use a single timer for read and write windows
2023-03-27 13:12:41 -04:00
Kevin Heifner 9e79e82dea GH-891 Integrate new received block into ro_trx_queue 2023-03-27 10:51:11 -05:00
766C6164 0c448aebee Adjusted timeout to give better chance on reaching consensus 2023-03-27 11:49:57 -04:00
Kevin Heifner 728f9b3861 Merge remote-tracking branch 'origin/release/3.2' into GH-891-interrupt-start-block-4.0 2023-03-27 10:30:27 -05:00
Kevin Heifner f1cc518341 Merge pull request #893 from AntelopeIO/GH-891-interrupt-start-block-3.2
[3.2] Use block_num for interrupt of start_block
2023-03-27 10:23:34 -05:00
Lin Huang d73bf1b0a5 Use a single timer for read and write windows 2023-03-27 10:52:24 -04:00
greg7mdp 90b1e9e5c0 Merge remote-tracking branch 'origin/release/4.0' into gh_822_main 2023-03-27 10:10:27 -04:00
Gregory Popovitch 8de29868c8 Merge pull request #892 from AntelopeIO/gh-822-4.0
[4.0] Cleanup and prevent thread starvation while in the read window.
2023-03-27 09:37:32 -04:00
Matt Witherspoon 89d60a09e7 Merge pull request #895 from AntelopeIO/ci_test_timeouts
set a maximum test time in CI via a ctest argument
2023-03-25 11:16:22 -07:00
Kevin Heifner 376470d685 Encapsulate mtx 2023-03-25 11:52:38 -05:00
Kevin Heifner 780fb3f8f8 Fix includes 2023-03-25 11:29:04 -05:00
Kevin Heifner d106d18f72 Fix rebase merge issue 2023-03-25 11:23:52 -05:00
Kevin Heifner ac234f6547 Add multiple runs to read_only_trx_test.py. Also be explicit about 0 read-only-threads 2023-03-25 10:53:07 -05:00
Kevin Heifner f47d7d23e7 Revert added whitespace 2023-03-25 10:53:07 -05:00
Kevin Heifner 33e1951aa9 Shutdown all read threads when read_only queue is empty 2023-03-25 10:53:06 -05:00
Lin Huang 25c0efcd6e correct version after merging from 4.0.0-rc1 2023-03-25 10:48:22 -05:00
Zach Butler fe74adcfad Restore markdown formatting erroneously deleted in commit 06c9e25327 2023-03-25 10:47:41 -05:00
Zach Butler 320d480be3 Cardinal objects should be in a numbered list 2023-03-25 10:47:41 -05:00
Zach Butler 1655c66786 Pull note about sudo into its own quote block 2023-03-25 10:47:41 -05:00
Zach Butler 2abdaa4f90 Minor pinned build script README changes 2023-03-25 10:47:40 -05:00
Kevin Heifner efa76d349f get_snapshot_requests safe to be parallel in read window 2023-03-25 10:47:40 -05:00
Kevin Heifner ea43426ca2 Fix test configuration 2023-03-25 10:47:40 -05:00
Kevin Heifner d9c9150be9 Enabled read-only thread pool on non-producer nodes by default with 3 threads. 2023-03-25 10:47:39 -05:00
Kevin Heifner 7893eebff5 Add --num-test-runs option and fix get_table_rows to not generate an error 2023-03-25 10:47:39 -05:00
Kevin Heifner 5126601c1e Rename some variables and add some additional comments 2023-03-25 10:47:38 -05:00
Kevin Heifner 73da55059c Rename general queue to read_write queue and read_only_safe queue to read_only queue. 2023-03-25 10:47:38 -05:00
Kevin Heifner d13c056933 net_plugin operations do not have to be on the main thread at all. 2023-03-25 10:47:38 -05:00
Kevin Heifner 709c0a94a9 Fix merge conflicts 2023-03-25 10:47:37 -05:00
Kevin Heifner a913cdbfb6 Use read_only_safe queue for switching. Add comments on why. 2023-03-25 10:47:37 -05:00
Kevin Heifner 366a9bb706 Rename read_only_trx_safe to read_only_safe 2023-03-25 10:47:36 -05:00
Kevin Heifner 44f7429407 Move operations not safe to run in parallel onto general queue 2023-03-25 10:46:11 -05:00
Kevin Heifner 791c2c9ca2 Clean up some comments 2023-03-25 10:44:35 -05:00
Kevin Heifner 8ca774328e Update comments 2023-03-25 10:44:35 -05:00
Kevin Heifner f051bad29f Swith db read mode when executing read-only trx on the main thread 2023-03-25 10:41:55 -05:00
Kevin Heifner d97aaf1a55 Add required thread safety to execution priority queue. 2023-03-25 10:41:55 -05:00
Kevin Heifner 1ff7e7de2e Revert to appbase main branch 2023-03-25 10:41:54 -05:00
Kevin Heifner 052faf630d max-transaction-time is required to be less than read-only-read-window-time-us 2023-03-25 10:41:54 -05:00
Kevin Heifner f53341b98e When running without read only thread pool, execute exhausted read only trxs during start block. 2023-03-25 10:41:53 -05:00
Kevin Heifner 8d8db42f7c Consistently execute read-only trx via process_read_only_transaction() 2023-03-25 10:41:53 -05:00
Kevin Heifner aca29eb87e Cleanup comments 2023-03-25 10:41:53 -05:00
Kevin Heifner 5ac13271ff Cleanup variable names and comments and fix mutex lock around execute_highest_read_only() 2023-03-25 10:41:52 -05:00
Kevin Heifner c10195cddf Update tests for pop() happening before execute() 2023-03-25 10:40:53 -05:00
Kevin Heifner cfa2cc2ec8 Read-only execution can run during write window so set read_window_deadline to allow it. 2023-03-25 10:40:53 -05:00
Kevin Heifner 3239eb7225 Update to appbase with priority queue pop() 2023-03-25 10:38:21 -05:00
Kevin Heifner e2ad3488e8 Execute read safe tasks on read-only thread pool. 2023-03-25 10:38:16 -05:00
Matt Witherspoon fd33c6d95b set a maximum test time in CI via ctest argument 2023-03-24 19:19:43 -04:00
greg7mdp f331ff96be Merge branch 'gh-822-4.0' of github.com:AntelopeIO/leap into gh-822-4.0 2023-03-24 18:52:27 -04:00
greg7mdp e05b737703 Fix hang occuring sometimes in test 2023-03-24 18:51:24 -04:00
Kevin Heifner ebadb713e9 GH-891 Use block_num for interrupt of start_block to handle case of receiving block before beginning of start_block 2023-03-24 14:17:13 -05:00
Gregory Popovitch bda60b521d Merge branch 'release/4.0' into gh-822-4.0 2023-03-24 14:54:04 -04:00
greg7mdp e4c138d490 simplify cond wait - greatly inspired from Kevin's branch 2023-03-24 14:49:14 -04:00
greg7mdp 12c9cdfe04 Fix test issue (uninitialized variables) 2023-03-24 14:49:10 -04:00
greg7mdp 4379207dac Replace option to turn off checking with a static variable. 2023-03-24 14:49:02 -04:00
greg7mdp 1ca223cad6 Address PR comments 2023-03-24 14:48:56 -04:00
greg7mdp ac61ecd816 Add extra test with 1 readonly thread 2023-03-24 14:48:46 -04:00
greg7mdp 30fc086249 Implement code review comments. 2023-03-24 14:48:40 -04:00
greg7mdp d75db84abf Notify condition_variable under the lock.
(see https://github.com/isocpp/CppCoreGuidelines/issues/925#issuecomment-302269850)
2023-03-24 14:48:30 -04:00
greg7mdp 5a76c1b240 Deal with possible spurious wakeups from wait(). 2023-03-24 14:48:24 -04:00
greg7mdp aad1729450 No need to check for option's presence since it has a default value 2023-03-24 14:48:19 -04:00
greg7mdp 77e96f8416 simplify capture list 2023-03-24 14:48:08 -04:00
greg7mdp da8a507642 Add C++ test exercizing readonly transactions in read window. 2023-03-24 14:48:02 -04:00
greg7mdp 0688dc7254 Fix a couple issues - now tests pass! 2023-03-24 14:47:57 -04:00
greg7mdp 8289563b69 Add two assert() checks. 2023-03-24 14:47:53 -04:00
greg7mdp f7822e3277 Small cleanups and comments. 2023-03-24 14:47:49 -04:00
greg7mdp 033ca045e5 Small cleanups. 2023-03-24 14:47:46 -04:00
greg7mdp 2a9653101f Consistent exit when read_window_deadline is reached, and encapsulate exit criteria in ro_trx_queue_t 2023-03-24 14:47:42 -04:00
greg7mdp 7b22be389f Update comment 2023-03-24 14:47:34 -04:00
greg7mdp 81939db6ea Forgot one notify_one call. 2023-03-24 14:47:30 -04:00
greg7mdp 72ea655875 Cleanup and prevent thread starvation while in the read window. 2023-03-24 14:47:23 -04:00
Huang-Ming Huang 2766caf1ba address PR comment 2023-03-24 12:07:52 -05:00
Matt Witherspoon da685c1a70 remove ubuntu 18.04 from CI & documentation 2023-03-23 18:02:02 -04:00
Huang-Ming Huang 7b38f8eeee fix previous commit 2023-03-23 14:57:13 -05:00
Huang-Ming Huang 537e0f056b fix start time for the first block in a round 2023-03-23 14:46:27 -05:00
Huang-Ming Huang 6ee7e1f1bb add missing test in cmake 2023-03-22 13:55:44 -05:00
Clayton Calabrese 1bd16e8a6d some additional improvements to reduce performance test code and wasted effort 2023-03-22 12:21:30 -05:00
Huang-Ming Huang a4ee191185 optimize block start time 2023-03-22 10:51:16 -05:00
Clayton Calabrese 41f5b7fec6 merge from main 2023-03-21 17:46:33 -05:00
Clayton Calabrese e793ed17df commit in progress rework and log reduction to allow merge from main 2023-03-21 17:43:15 -05:00
Zach Butler 229de5aa05 Fix spurious commit 2023-03-21 18:10:23 -04:00
Zach Butler 4381229880 Guard against sudo being missing 2023-03-21 18:07:10 -04:00
Zach Butler 9f523ed7f1 You pass "y", not "-y", lol 2023-03-21 17:54:43 -04:00
Zach Butler 624864f3e0 Apparently the software suite including apt-get is called APT, not aptitude 2023-03-21 17:15:38 -04:00
Zach Butler 429e6e7694 A comment 2023-03-21 17:09:33 -04:00
Zach Butler fcdbe4c938 Do not hide exit status in try() 2023-03-21 16:20:10 -04:00
Zach Butler c21e563b1b Make it easier to debug by printing significant commands before running them in try() 2023-03-21 16:19:15 -04:00
Zach Butler a0a7338118 Add a pinned build example where the [Y/n] prompts from aptitude are suppressed 2023-03-21 16:17:37 -04:00
Zach Butler 0fcb2a152f Add a note about the pinned build script asking for a password 2023-03-21 16:17:37 -04:00
Zach Butler 68bf7febf0 Remove scripts/install_deps.sh from the README.md 2023-03-21 16:17:37 -04:00
Zach Butler 71fe27cfdf Remove the "-y" flag from "apt-get install"
To suppress the prompts from aptitude, run:
echo 'y' | ./scripts/pinned_build.sh /leap/deps /leap/build "$(nproc)"
2023-03-21 16:17:37 -04:00
Zach Butler 41e34c4881 Remove hard-coded timezone
tzdata defaults to UTC anyways, lol
2023-03-21 16:17:36 -04:00
Zach Butler c7545f2cd6 Remove unnecessary MISSING_DEPS var 2023-03-21 16:17:36 -04:00
Zach Butler ddfedd4d88 SC2207 - warning: Prefer mapfile or read -a to split command output (or quote to avoid splitting)
Note: This implementation is backwards-compatible with BASH 3.x for
macOS
2023-03-21 16:17:36 -04:00
Zach Butler 75c5f3bcda SC2086 - note: Double quote to prevent globbing and word splitting 2023-03-21 16:17:31 -04:00
Zach Butler 1deeab7071 Use "dpkg -s" instead of "dpkg -l" 2023-03-21 14:18:16 -04:00
Zach Butler 8b25083310 Write code to by-pass invocation of apt-get (and sudo) if dependencies are already installed 2023-03-21 14:18:15 -04:00
Zach Butler fcb5437882 Use sudo for apt-get commands if we are not root 2023-03-21 14:18:15 -04:00
Zach Butler 8c0465a098 Use try() for apt-get commands 2023-03-21 14:18:15 -04:00
Zach Butler 3ed298c7aa Add a print statement at the beginning and end of package deps installation 2023-03-21 14:18:15 -04:00
Zach Butler dd2d53d480 Add a warning for OSes that do not have aptitude 2023-03-21 14:18:14 -04:00
Zach Butler f67e598ba1 Roll scripts/install_deps.sh into scripts/pinned_build.sh with a guard
for Debian-family OSes
2023-03-21 14:18:14 -04:00
816 changed files with 33703 additions and 26575 deletions
+128
View File
@@ -0,0 +1,128 @@
# syntax=docker/dockerfile:1.7
#
# Multi-stage Dockerfile для публикации образа dicoop/blockchain.
#
# Сборка ожидает два build-context, передаваемых через docker buildx:
# --build-context coopos=<path-to-coopos-checkout>
# --build-context cdt=<path-to-cdt-checkout>
#
# Результат: тонкий runtime-образ, содержащий nodeos/cleos/keosd/leap-util,
# trace_api_util и установленный CDT (cdt-cpp и компания) в /usr/local.
# Сборочные артефакты, исходники и build-зависимости в финальный образ
# не попадают.
# ============================================================
# Stage 1: builder — собирает blockchain (coopos) и CDT
# ============================================================
FROM ubuntu:22.04 AS builder
ENV DEBIAN_FRONTEND=noninteractive
ENV NEEDRESTART_MODE=a
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
clang \
clang-tidy \
cmake \
git \
libcurl4-openssl-dev \
libgmp-dev \
llvm-11-dev \
libxml2-dev \
opam \
ocaml-interp \
python3 \
python3-pip \
time \
file \
zlib1g-dev \
g++-10 \
unzip \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
RUN python3 -m pip install --no-cache-dir pygments
COPY --from=coopos . /blockchain
COPY --from=cdt . /cdt
# Сборка blockchain (coopos). ENABLE_LEAP_DEV_DEB=ON активирует
# component-based install (base + dev) и нужен для cpack -G DEB ниже,
# чтобы получить два deb-пакета: coopos (runtime) и coopos-dev (headers,
# libs, cmake-config — нужны для сборки контрактов и mono-тестов).
RUN cd /blockchain \
&& rm -rf build \
&& mkdir build && cd build \
&& cmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_PREFIX_PATH=/usr/lib/llvm-11 \
-DENABLE_LEAP_DEV_DEB=ON \
.. \
&& make -j"$(nproc)" \
&& make install
# DEB-сборка вынесена в отдельный RUN, чтобы изменения в cpack
# не инвалидировали тяжёлый build выше — он остаётся cache-hit.
# tools/tweak-deb.sh из leap-наследия не запускаем: он cosmetically
# чистит libc deps в control file, но рассчитан на dpkg <22.04
# (control.tar.gz vs новый control.tar.zst) и падает на новых cpack.
RUN cd /blockchain/build \
&& cpack -G DEB \
&& mkdir -p /out/deb \
&& cp /blockchain/build/coopos_*.deb /blockchain/build/coopos-dev_*.deb /out/deb/ \
&& ls -la /out/deb/
# Сборка CDT
RUN cd /cdt \
&& rm -rf build \
&& mkdir build && cd build \
&& cmake .. \
&& make -j"$(nproc)" \
&& make install
# ============================================================
# Stage 2: runtime — тонкий итоговый образ
# ============================================================
FROM ubuntu:22.04 AS runtime
ENV DEBIAN_FRONTEND=noninteractive
ENV NEEDRESTART_MODE=a
# Минимум для запуска nodeos/cleos/keosd и сборки контрактов
# через cdt-cpp внутри контейнера (cmake + make используют mono*).
RUN apt-get update && apt-get install -y --no-install-recommends \
cmake \
make \
gcc \
g++ \
python3 \
python3-pip \
ca-certificates \
libcurl4 \
libgmp10 \
libxml2 \
libllvm11 \
libstdc++6 \
libz3-4 \
zlib1g \
&& python3 -m pip install --no-cache-dir pygments \
&& rm -rf /var/lib/apt/lists/* /root/.cache
COPY --from=builder /usr/local /usr/local
# Совместимость с mono*/components/contracts/CMakeLists.txt и с CDT
# toolchain-файлом: CDTWasmToolchain.cmake жёстко прописывает пути
# /cdt/build/bin/cdt-cc, /cdt/build/include, /cdt/build/lib и т.п.
# Симлинк на установленный prefix /usr/local/cdt делает все эти пути
# валидными внутри slim runtime.
RUN mkdir -p /cdt && ln -s /usr/local/cdt /cdt/build
CMD ["/bin/bash"]
# ============================================================
# Stage 3: deb — экспортирует только .deb файлы наружу
# Используется в CI как `--target deb --output type=local,dest=./deb-out`,
# чтобы выгрузить пакеты на runner для публикации в GitHub Release.
# ============================================================
FROM scratch AS deb
COPY --from=builder /out/deb/ /
-11
View File
@@ -1,11 +0,0 @@
{
"ubuntu18": {
"dockerfile": ".cicd/platforms/ubuntu18.Dockerfile"
},
"ubuntu20": {
"dockerfile": ".cicd/platforms/ubuntu20.Dockerfile"
},
"ubuntu22": {
"dockerfile": ".cicd/platforms/ubuntu22.Dockerfile"
}
}
-40
View File
@@ -1,40 +0,0 @@
FROM ubuntu:bionic
RUN apt-get update && apt-get upgrade -y && \
DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential \
cmake \
curl \
g++-8 \
git \
jq \
libcurl4-openssl-dev \
libgmp-dev \
libssl-dev \
llvm-7-dev \
ninja-build \
python3 \
python3-numpy \
python3-pip \
software-properties-common \
zlib1g-dev \
zstd
RUN python3 -m pip install dataclasses
# GitHub's actions/checkout requires git 2.18+ but Ubuntu 18 only provides 2.17
RUN add-apt-repository ppa:git-core/ppa && apt update && apt install -y git
# Leap requires boost 1.67+ but Ubuntu 18 only provides 1.65
# Probably need 1.70+ to work properly with old cmake provided in Ubuntu 18
RUN curl -L https://boostorg.jfrog.io/artifactory/main/release/1.79.0/source/boost_1_79_0.tar.bz2 | tar jx && \
cd boost_* && \
./bootstrap.sh --prefix=/boost && \
./b2 --with-iostreams --with-date_time --with-filesystem --with-system \
--with-program_options --with-chrono --with-test -j$(nproc) install && \
cd .. && \
rm -rf boost_*
ENV CC=gcc-8
ENV CXX=g++-8
ENV BOOST_ROOT=/boost
ENV LLVM_DIR=/usr/lib/llvm-7/
-16
View File
@@ -1,16 +0,0 @@
FROM ubuntu:focal
RUN apt-get update && apt-get upgrade -y && \
DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential \
cmake \
curl \
git \
jq \
libboost-all-dev \
libcurl4-openssl-dev \
libgmp-dev \
libssl-dev \
llvm-11-dev \
ninja-build \
python3-numpy \
zstd
-16
View File
@@ -1,16 +0,0 @@
FROM ubuntu:jammy
RUN apt-get update && apt-get upgrade -y && \
DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential \
cmake \
curl \
git \
jq \
libboost-all-dev \
libcurl4-openssl-dev \
libgmp-dev \
libssl-dev \
llvm-11-dev \
ninja-build \
python3-numpy \
zstd
+19
View File
@@ -0,0 +1,19 @@
# Применяется и к основному context, и к build-context coopos в CI.
# Цель — не инвалидировать слой `COPY --from=coopos` при изменениях,
# не относящихся к сборке blockchain (CI-конфиги).
#
# КОНСЕРВАТИВНО: исключаем только то, что точно не читается cmake
# или сборкой. README/LICENSE/docs могут быть прочитаны через
# configure_file()/install() — оставляем.
build
*.log
# CI/Docker meta — не читаются cmake. Dockerfile.publish сам в .cicd,
# но он подаётся buildkit-у через `file:`, не через context.
.cicd
.github
.dockerignore
# Только картинки и логотипы — точно не нужны
images
@@ -1,14 +0,0 @@
name: 'Parallel ctest'
description: 'Runs a set of labeled ctests in parallel via multiple docker containers'
inputs:
container:
required: true
error-log-paths:
required: true
log-tarball-prefix:
required: true
tests-label:
required: true
runs:
using: 'node16'
main: 'dist/index.mjs'
File diff suppressed because one or more lines are too long
@@ -1,69 +0,0 @@
import child_process from 'node:child_process';
import process from 'node:process';
import stream from 'node:stream';
import fs from 'node:fs';
import zlib from 'node:zlib';
import tar from 'tar-stream';
import core from '@actions/core'
const container = core.getInput('container', {required: true});
const error_log_paths = JSON.parse(core.getInput('error-log-paths', {required: true}));
const log_tarball_prefix = core.getInput('log-tarball-prefix', {required: true});
const tests_label = core.getInput('tests-label', {required: true});
try {
if(child_process.spawnSync("docker", ["run", "--name", "base", "-v", `${process.cwd()}/build.tar.zst:/build.tar.zst`, "--workdir", "/__w/leap/leap", container, "sh", "-c", "zstdcat /build.tar.zst | tar x"], {stdio:"inherit"}).status)
throw new Error("Failed to create base container");
if(child_process.spawnSync("docker", ["commit", "base", "baseimage"], {stdio:"inherit"}).status)
throw new Error("Failed to create base image");
if(child_process.spawnSync("docker", ["rm", "base"], {stdio:"inherit"}).status)
throw new Error("Failed to remove base container");
// the correct approach is by far "--show-only=json-v1" and then pluck out .tests[].name; but that doesn't work on U18's cmake 3.10 since it lacks json-v1 output
const test_query_result = child_process.spawnSync("docker", ["run", "--rm", "baseimage", "bash", "-e", "-o", "pipefail", "-c", `cd build; ctest -L '${tests_label}' --show-only | head -n -1 | cut -d ':' -f 2 -s | jq -cnR '[inputs | select(length>0)[1:]]'`]);
if(test_query_result.status)
throw new Error("Failed to discover tests with label")
const tests = JSON.parse(test_query_result.stdout);
let subprocesses = [];
tests.forEach(t => {
subprocesses.push(new Promise(resolve => {
child_process.spawn("docker", ["run", "--security-opt", "seccomp=unconfined", "-e", "GITHUB_ACTIONS=True", "--name", t, "--init", "baseimage", "bash", "-c", `cd build; ctest --output-on-failure -R '^${t}$'`], {stdio:"inherit"}).on('close', code => resolve(code));
}));
});
const results = await Promise.all(subprocesses);
for(let i = 0; i < results.length; ++i) {
if(results[i] === 0)
continue;
//failing test
core.setFailed("Some tests failed");
let extractor = tar.extract();
let packer = tar.pack();
extractor.on('entry', (header, stream, next) => {
if(!header.name.startsWith(`__w/leap/leap/build`)) {
stream.on('end', () => next());
stream.resume();
return;
}
header.name = header.name.substring(`__w/leap/leap/`.length);
if(header.name !== "build/" && error_log_paths.filter(p => header.name.startsWith(p)).length === 0) {
stream.on('end', () => next());
stream.resume();
return;
}
stream.pipe(packer.entry(header, next));
}).on('finish', () => {packer.finalize()});
child_process.spawn("docker", ["export", tests[i]]).stdout.pipe(extractor);
stream.promises.pipeline(packer, zlib.createGzip(), fs.createWriteStream(`${log_tarball_prefix}-${tests[i]}-logs.tar.gz`));
}
} catch(e) {
core.setFailed(`Uncaught exception ${e.message}`);
}
@@ -1,351 +0,0 @@
{
"name": "parallel-ctest-containers",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"dependencies": {
"@actions/core": "^1.9.1",
"@vercel/ncc": "^0.34.0",
"tar-stream": "^2.2.0"
}
},
"node_modules/@actions/core": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/@actions/core/-/core-1.9.1.tgz",
"integrity": "sha512-5ad+U2YGrmmiw6du20AQW5XuWo7UKN2052FjSV7MX+Wfjf8sCqcsZe62NfgHys4QI4/Y+vQvLKYL8jWtA1ZBTA==",
"dependencies": {
"@actions/http-client": "^2.0.1",
"uuid": "^8.3.2"
}
},
"node_modules/@actions/http-client": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.0.1.tgz",
"integrity": "sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw==",
"dependencies": {
"tunnel": "^0.0.6"
}
},
"node_modules/@vercel/ncc": {
"version": "0.34.0",
"resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.34.0.tgz",
"integrity": "sha512-G9h5ZLBJ/V57Ou9vz5hI8pda/YQX5HQszCs3AmIus3XzsmRn/0Ptic5otD3xVST8QLKk7AMk7AqpsyQGN7MZ9A==",
"bin": {
"ncc": "dist/ncc/cli.js"
}
},
"node_modules/base64-js": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
]
},
"node_modules/bl": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
"integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
"dependencies": {
"buffer": "^5.5.0",
"inherits": "^2.0.4",
"readable-stream": "^3.4.0"
}
},
"node_modules/buffer": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
],
"dependencies": {
"base64-js": "^1.3.1",
"ieee754": "^1.1.13"
}
},
"node_modules/end-of-stream": {
"version": "1.4.4",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
"integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
"dependencies": {
"once": "^1.4.0"
}
},
"node_modules/fs-constants": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
"integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="
},
"node_modules/ieee754": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
]
},
"node_modules/inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
"dependencies": {
"wrappy": "1"
}
},
"node_modules/readable-stream": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
"dependencies": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
]
},
"node_modules/string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"dependencies": {
"safe-buffer": "~5.2.0"
}
},
"node_modules/tar-stream": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
"integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
"dependencies": {
"bl": "^4.0.3",
"end-of-stream": "^1.4.1",
"fs-constants": "^1.0.0",
"inherits": "^2.0.3",
"readable-stream": "^3.1.1"
},
"engines": {
"node": ">=6"
}
},
"node_modules/tunnel": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
"integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==",
"engines": {
"node": ">=0.6.11 <=0.7.0 || >=0.7.3"
}
},
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
},
"node_modules/uuid": {
"version": "8.3.2",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
"bin": {
"uuid": "dist/bin/uuid"
}
},
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
}
},
"dependencies": {
"@actions/core": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/@actions/core/-/core-1.9.1.tgz",
"integrity": "sha512-5ad+U2YGrmmiw6du20AQW5XuWo7UKN2052FjSV7MX+Wfjf8sCqcsZe62NfgHys4QI4/Y+vQvLKYL8jWtA1ZBTA==",
"requires": {
"@actions/http-client": "^2.0.1",
"uuid": "^8.3.2"
}
},
"@actions/http-client": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.0.1.tgz",
"integrity": "sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw==",
"requires": {
"tunnel": "^0.0.6"
}
},
"@vercel/ncc": {
"version": "0.34.0",
"resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.34.0.tgz",
"integrity": "sha512-G9h5ZLBJ/V57Ou9vz5hI8pda/YQX5HQszCs3AmIus3XzsmRn/0Ptic5otD3xVST8QLKk7AMk7AqpsyQGN7MZ9A=="
},
"base64-js": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
},
"bl": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
"integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
"requires": {
"buffer": "^5.5.0",
"inherits": "^2.0.4",
"readable-stream": "^3.4.0"
}
},
"buffer": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
"requires": {
"base64-js": "^1.3.1",
"ieee754": "^1.1.13"
}
},
"end-of-stream": {
"version": "1.4.4",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
"integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
"requires": {
"once": "^1.4.0"
}
},
"fs-constants": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
"integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="
},
"ieee754": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
},
"inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
"requires": {
"wrappy": "1"
}
},
"readable-stream": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
"requires": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
}
},
"safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
},
"string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"requires": {
"safe-buffer": "~5.2.0"
}
},
"tar-stream": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
"integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
"requires": {
"bl": "^4.0.3",
"end-of-stream": "^1.4.1",
"fs-constants": "^1.0.0",
"inherits": "^2.0.3",
"readable-stream": "^3.1.1"
}
},
"tunnel": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
"integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg=="
},
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
},
"uuid": {
"version": "8.3.2",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
},
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
}
}
}
@@ -1,7 +0,0 @@
{
"dependencies": {
"@actions/core": "^1.9.1",
"@vercel/ncc": "^0.34.0",
"tar-stream": "^2.2.0"
}
}
-208
View File
@@ -1,208 +0,0 @@
name: "Build & Test"
on:
push:
branches:
- main
- "release/*"
pull_request:
workflow_dispatch:
permissions:
packages: read
contents: read
defaults:
run:
shell: bash
jobs:
d:
name: Discover Platforms
runs-on: ubuntu-latest
outputs:
missing-platforms: ${{steps.discover.outputs.missing-platforms}}
p: ${{steps.discover.outputs.platforms}}
steps:
- name: Discover Platforms
id: discover
uses: AntelopeIO/discover-platforms-action@v1
with:
platform-file: .cicd/platforms.json
password: ${{secrets.GITHUB_TOKEN}}
package-name: builders
build-platforms:
name: Build Platforms
needs: d
if: needs.d.outputs.missing-platforms != '[]'
strategy:
fail-fast: false
matrix:
platform: ${{fromJSON(needs.d.outputs.missing-platforms)}}
runs-on: ["self-hosted", "enf-x86-beefy"]
permissions:
packages: write
contents: read
steps:
- name: Login to Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{github.repository_owner}}
password: ${{secrets.GITHUB_TOKEN}}
- name: Build and push
uses: docker/build-push-action@v3
with:
push: true
tags: ${{fromJSON(needs.d.outputs.p)[matrix.platform].image}}
file: ${{fromJSON(needs.d.outputs.p)[matrix.platform].dockerfile}}
Build:
needs: [d, build-platforms]
if: always() && needs.d.result == 'success' && (needs.build-platforms.result == 'success' || needs.build-platforms.result == 'skipped')
strategy:
fail-fast: false
matrix:
platform: [ubuntu18, ubuntu20, ubuntu22]
runs-on: ["self-hosted", "enf-x86-beefy"]
container: ${{fromJSON(needs.d.outputs.p)[matrix.platform].image}}
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Build
id: build
run: |
# https://github.com/actions/runner/issues/2033
chown -R $(id -u):$(id -g) $PWD
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -GNinja ..
ninja
tar -pc -C .. --exclude "*.o" build | zstd --long -T0 -9 > ../build.tar.zst
- name: Upload builddir
uses: AntelopeIO/upload-artifact-large-chunks-action@v1
with:
name: ${{matrix.platform}}-build
path: build.tar.zst
dev-package:
name: Build leap-dev package
needs: [d, Build]
if: always() && needs.Build.result == 'success'
runs-on: ubuntu-latest
container: ${{fromJSON(needs.d.outputs.p)['ubuntu20'].image}}
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Download builddir
uses: actions/download-artifact@v3
with:
name: ubuntu20-build
- name: Build dev package
run: |
zstdcat build.tar.zst | tar x
cd build
cpack
- name: Upload dev package
uses: actions/upload-artifact@v3
with:
name: leap-dev-ubuntu20-amd64
path: build/leap-dev*.deb
tests:
name: Tests
needs: [d, Build]
if: always() && needs.Build.result == 'success'
strategy:
fail-fast: false
matrix:
platform: [ubuntu20, ubuntu22]
runs-on: ["self-hosted", "enf-x86-hightier"]
container:
image: ${{fromJSON(needs.d.outputs.p)[matrix.platform].image}}
options: --security-opt seccomp=unconfined
steps:
- uses: actions/checkout@v3
- name: Download builddir
uses: actions/download-artifact@v3
with:
name: ${{matrix.platform}}-build
- name: Run Parallel Tests
run: |
# https://github.com/actions/runner/issues/2033 -- need this because of full version label test looking at git revs
chown -R $(id -u):$(id -g) $PWD
# jammy's boost 1.74 can stumble on an EXDEV via copy_file_range() it doesn't have a fallback for; re-eval once moving to std::filesystem
export TMPDIR="$PWD/tmp"
mkdir -p $TMPDIR
zstdcat build.tar.zst | tar x
cd build
ctest --output-on-failure -j $(nproc) -LE "(nonparallelizable_tests|long_running_tests)"
np-tests:
name: NP Tests
needs: [d, Build]
if: always() && needs.Build.result == 'success'
strategy:
fail-fast: false
matrix:
platform: [ubuntu18, ubuntu20, ubuntu22]
runs-on: ["self-hosted", "enf-x86-midtier"]
steps:
- uses: actions/checkout@v3
- name: Download builddir
uses: actions/download-artifact@v3
with:
name: ${{matrix.platform}}-build
- name: Run tests in parallel containers
uses: ./.github/actions/parallel-ctest-containers
with:
container: ${{fromJSON(needs.d.outputs.p)[matrix.platform].image}}
error-log-paths: '["build/etc", "build/var", "build/leap-ignition-wd", "build/TestLogs"]'
log-tarball-prefix: ${{matrix.platform}}
tests-label: nonparallelizable_tests
- name: Upload logs from failed tests
uses: actions/upload-artifact@v3
if: failure()
with:
name: ${{matrix.platform}}-np-logs
path: '*-logs.tar.gz'
lr-tests:
name: LR Tests
needs: [d, Build]
if: always() && needs.Build.result == 'success'
strategy:
fail-fast: false
matrix:
platform: [ubuntu18, ubuntu20, ubuntu22]
runs-on: ["self-hosted", "enf-x86-lowtier"]
steps:
- uses: actions/checkout@v3
- name: Download builddir
uses: actions/download-artifact@v3
with:
name: ${{matrix.platform}}-build
- name: Run tests in parallel containers
uses: ./.github/actions/parallel-ctest-containers
with:
container: ${{fromJSON(needs.d.outputs.p)[matrix.platform].image}}
error-log-paths: '["build/etc", "build/var", "build/leap-ignition-wd", "build/TestLogs"]'
log-tarball-prefix: ${{matrix.platform}}
tests-label: long_running_tests
- name: Upload logs from failed tests
uses: actions/upload-artifact@v3
if: failure()
with:
name: ${{matrix.platform}}-lr-logs
path: '*-logs.tar.gz'
all-passing:
name: All Required Tests Passed
needs: [dev-package, tests, np-tests]
if: always()
runs-on: ubuntu-latest
steps:
- if: needs.dev-package.result != 'success' || needs.tests.result != 'success' || needs.np-tests.result != 'success'
run: false
+150
View File
@@ -0,0 +1,150 @@
name: Build & Publish Docker Image
on:
push:
tags:
- 'v*'
workflow_dispatch:
inputs:
cdt-ref:
description: 'CDT git ref (branch/tag/sha) for coopenomics/cdt'
required: false
default: 'v4.2.0'
version-tag:
description: 'Override docker image tag (default: git tag or short sha)'
required: false
push-latest:
description: 'Also push :latest'
type: boolean
default: true
env:
IMAGE_NAME: dicoop/blockchain
CDT_REPO: coopenomics/cdt
permissions:
contents: write # нужен для публикации .deb в GitHub Release
jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 360
steps:
- name: Free disk space on runner
run: |
sudo rm -rf /usr/share/dotnet \
/usr/local/lib/android \
/opt/ghc \
/opt/hostedtoolcache/CodeQL \
/usr/local/share/boost \
"$AGENT_TOOLSDIRECTORY" \
/opt/microsoft || true
docker image prune -af || true
df -h
- name: Checkout coopos
uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
path: coopos
- name: Determine CDT ref
id: cdtref
run: |
REF="${{ inputs.cdt-ref }}"
if [ -z "$REF" ]; then REF="v4.2.0"; fi
echo "ref=$REF" >> "$GITHUB_OUTPUT"
- name: Checkout CDT (${{ steps.cdtref.outputs.ref }})
uses: actions/checkout@v4
with:
repository: ${{ env.CDT_REPO }}
ref: ${{ steps.cdtref.outputs.ref }}
submodules: recursive
fetch-depth: 0
path: cdt
- name: Compute image tags
id: meta
run: |
VERSION="${{ inputs.version-tag }}"
if [ -z "$VERSION" ]; then
if [[ "$GITHUB_REF" == refs/tags/* ]]; then
VERSION="${GITHUB_REF#refs/tags/}"
else
VERSION="${GITHUB_SHA::7}"
fi
fi
TAGS="${IMAGE_NAME}:${VERSION}"
if [[ "${{ inputs.push-latest }}" != "false" ]]; then
TAGS="${TAGS},${IMAGE_NAME}:latest"
fi
echo "tags=${TAGS}" >> "$GITHUB_OUTPUT"
echo "version=${VERSION}" >> "$GITHUB_OUTPUT"
echo "Will publish: ${TAGS}"
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build & Push (${{ steps.meta.outputs.version }})
uses: docker/build-push-action@v6
with:
context: ./coopos
file: ./coopos/.cicd/Dockerfile.publish
target: runtime
build-contexts: |
coopos=./coopos
cdt=./cdt
platforms: linux/amd64
push: true
tags: ${{ steps.meta.outputs.tags }}
cache-from: type=gha,scope=docker-publish
cache-to: type=gha,mode=max,scope=docker-publish
- name: Extract .deb packages from builder
uses: docker/build-push-action@v6
with:
context: ./coopos
file: ./coopos/.cicd/Dockerfile.publish
target: deb
build-contexts: |
coopos=./coopos
cdt=./cdt
platforms: linux/amd64
outputs: type=local,dest=./deb-out
cache-from: type=gha,scope=docker-publish
cache-to: type=gha,mode=max,scope=docker-publish
- name: List extracted .deb files
run: ls -la ./deb-out/
- name: Publish .deb to GitHub Release (only on tag)
if: startsWith(github.ref, 'refs/tags/')
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ steps.meta.outputs.version }}
files: |
./deb-out/coopos_*.deb
./deb-out/coopos-dev_*.deb
fail_on_unmatched_files: true
- name: Upload .deb as workflow artifact (always)
uses: actions/upload-artifact@v4
with:
name: coopos-deb-${{ steps.meta.outputs.version }}
path: ./deb-out/*.deb
retention-days: 30
- name: Image summary
run: |
echo "Published: ${{ steps.meta.outputs.tags }}" >> "$GITHUB_STEP_SUMMARY"
echo "CDT ref: ${{ steps.cdtref.outputs.ref }}" >> "$GITHUB_STEP_SUMMARY"
echo "DEB files extracted:" >> "$GITHUB_STEP_SUMMARY"
(cd deb-out && ls -la) >> "$GITHUB_STEP_SUMMARY"
+18
View File
@@ -0,0 +1,18 @@
# .github/workflows/trigger-coopenomics.yml
name: Trigger Contracts Docs Deploy
on:
push:
branches: [main] # или когда нужно триггерить
jobs:
trigger-coopenomics:
runs-on: ubuntu-latest
steps:
- name: Trigger Coopenomics deployment
uses: peter-evans/repository-dispatch@v2
with:
token: ${{ secrets.COOPENOMICS_PAT }}
repository: coopenomics/coopenomics # укажи правильный owner/repo
event-type: deploy_from_mono
client-payload: '{"repository": "${{ github.repository }}", "sha": "${{ github.sha }}", "ref": "${{ github.ref }}", "actor": "${{ github.actor }}"}'
-42
View File
@@ -1,42 +0,0 @@
name: Jira Issue Creator
on:
issues:
types:
- labeled
jobs:
create-jira-issue:
runs-on: ubuntu-latest
if: github.event.label.name == 'OCI'
steps:
- name: Create json issue file
run: |
cat << EOF > issue.json
{
"fields": {
"project":
{
"key": "$JIRA_PROJECT_KEY"
},
"summary": "$JIRA_ISSUE_SUMMARY",
"description": "$JIRA_ISSUE_DESCRIPTION",
"issuetype": {
"name": "$JIRA_ISSUE_TYPE_NAME"
}
}
}
EOF
env:
JIRA_PROJECT_KEY: ${{ secrets.JIRA_PROJECT_KEY }}
JIRA_ISSUE_SUMMARY: ${{ github.event.issue.title }}
JIRA_ISSUE_DESCRIPTION: "${{ github.event.issue.url }}\\n\\n${{ github.event.issue.html_url }}"
JIRA_ISSUE_TYPE_NAME: "Story"
- name: Check issue json
run: |
cat issue.json
- name: Trigger jira issue creation
run: |
curl -u $JIRA_AUTH -X POST --data @issue.json -H "Content-Type: application/json" --url $JIRA_PROJECT_URL
env:
JIRA_AUTH: ${{ secrets.JIRA_USN_AND_TOKEN }}
JIRA_PROJECT_URL: ${{ secrets.JIRA_PROJECT_URL }}
-18
View File
@@ -1,18 +0,0 @@
name: Label New Issue
on:
issues:
types: opened
jobs:
label_new_issue:
uses: AntelopeIO/issue-project-labeler-workflow/.github/workflows/issue-project-labeler.yaml@v1
with:
issue-id: ${{github.event.issue.node_id}}
label: triage
org-project: 'Team Backlog'
project-field: Status=Todo
skip-if-existing-project: true
secrets:
token: ${{secrets.ENFCIBOT_REPO_AND_PROJECTS}}
+1 -1
View File
@@ -11,7 +11,7 @@ jobs:
steps:
- name: Checkout
run: |
git clone https://github.com/${GITHUB_REPOSITORY} .
git clone https://x-access-token:${{github.token}}@github.com/${GITHUB_REPOSITORY} .
git fetch -v --prune origin +refs/pull/${PR_NUMBER}/merge:refs/remotes/pull/${PR_NUMBER}/merge
git checkout --force --progress refs/remotes/pull/${PR_NUMBER}/merge
git submodule sync --recursive
+7 -8
View File
@@ -5,26 +5,21 @@
*.bc
*.wast
*.wast.hpp
*.s
*.dot
*.abi.hpp
*.cmake
!.cicd
!package.cmake
!CMakeModules/*.cmake
*.ninja
\#*
\.#*
CMakeCache.txt
CMakeFiles
cmake_install.cmake
cmake-build-debug/
cmake-build-release/
cmake-build-*/
Makefile
compile_commands.json
moc_*
*.moc
.cache
genesis.json
hardfork.hpp
@@ -75,6 +70,8 @@ witness_node_data_dir
*.pyc
*.pyo
*.gdb_history
Testing/*
build.tar.gz
[Bb]uild*/*
@@ -93,3 +90,5 @@ CMakeLists.txt.user
node_modules
package-lock.json
snapshots
+9
View File
@@ -31,3 +31,12 @@
[submodule "libraries/cli11/cli11"]
path = libraries/cli11/cli11
url = https://github.com/AntelopeIO/CLI11.git
[submodule "libraries/libfc/libraries/bls12-381"]
path = libraries/libfc/libraries/bls12-381
url = https://github.com/AntelopeIO/bls12-381
[submodule "libraries/boost"]
path = libraries/boost
url = https://github.com/boostorg/boost.git
[submodule "libraries/libfc/libraries/boringssl/boringssl"]
path = libraries/libfc/libraries/boringssl/boringssl
url = https://github.com/AntelopeIO/boringssl-build
+52
View File
@@ -0,0 +1,52 @@
# coopos — рабочие заметки
Репозиторий: `coopenomics/coopos` (форк Antelope/Leap). Сборка → `dicoop/blockchain` (Docker) + `.deb`. Соседи: `~/docker-hub/` (тест-харнесс миграций/снимков), `~/playbooks/` (Ansible для прод-нод).
## Миграции версий (подтверждено 2026-05-05: 5.1.0 → 5.2.0)
Минорный апгрейд бесшовен при одинаковом toolchain:
```
systemctl stop nodeos
dpkg -i coopos_X.Y.Z-…amd64.deb
systemctl start nodeos
```
Без replay, без двух нод. Перед роллаутом — `~/docker-hub/scripts/test-deb-compat.sh` с актуальными .deb на одном data dir.
**Когда replay реально нужен:** правки в `libraries/chain/include/eosio/chain/*_object.hpp` (поля chainbase) или смена major gcc/boost у CI runner'а. Тогда план — snapshot → clean `data/state*` → start `--snapshot`.
**Подвох legacy-образов:** `dicoop/blockchain:v5.1.0-dev` (апрель 2024, старый Dockerfile с .deb от Leap) с современным `latest` несовместим по shared_memory из-за разного build env, не из-за кода. Не использовать pre-built образы старше нескольких месяцев как baseline миграционного теста.
**Why:** `chainbase` (boost::interprocess managed_mapped_file) сериализует структуры через memcpy memory layout — критично совпадение gcc/boost у двух последовательных бинарников.
## Полная нода ≠ snapshot
При диагностике проблемных нод coopos (api prod, moochest:nodeos) **не предлагать snapshot-restart как путь**, даже если на порядки быстрее. Задача именно полный resync через blocks.log; snapshot скрывает проблемы (OOM, форки, застревания), а не диагностирует их.
**How to apply:** варианты восстановления выбирать из множества `{trim+replay, hard-replay, ручной rebuild reversible/state}`. Snapshot — только если пользователь сейчас прямо просит «возьми снапшот».
**Why:** инцидент 2026-05-18 — при анализе сиротского блока 113,273,321 я предложил A) full replay B) snapshot, получил «Snapshot работает, я знаю. У меня нет задачи со Snapshot запускаться. Задача — полную ноду синхронизировать нормально».
Связанные операционные пометки про nodeos (replay OOM, SIGHUP во время startup) — в `~/playbooks/CLAUDE.md` → раздел EOSIO ops.
## Dockerfile.publish — всегда явный target
В `coopos/.cicd/Dockerfile.publish` стадии: `builder → runtime → deb (FROM scratch)`. У `docker/build-push-action` без `target:` публикуется **последняя** стадия — это `deb` (scratch с .deb), не `runtime`. Результат: `dicoop/blockchain:latest` улетает неработающим scratch-артефактом.
**How to apply:** в `coopos/.github/workflows/docker-publish.yaml` у любого шага `docker/build-push-action`, который пушит runtime-образ, **обязателен** `target: runtime`. Нельзя полагаться на «последняя стадия = runnable image» когда после неё есть scratch-export. Любая правка `Dockerfile.publish` со сменой порядка стадий — перепроверять оба build-push шага в workflow.
**Why:** инцидент 2026-05-07 — закоммитил multi-stage с `deb` в конце, в workflow забыл `target: runtime`; commit 9b6cadb3be7 переключился на сломанный `:latest`.
## Заготовка `~/docker-hub/` (тест-харнесс)
- `scripts/start.sh --image <name> --tag <tag> [--from-snapshot --clean --replay --hard-replay --extra "..." --follow]` — параметризуемый запуск через docker compose.
- `scripts/{stop,status,fetch-snapshot,fetch-debs,build-deb-image}.sh` — операции.
- `scripts/test-compat.sh` — снапшот-совместимость двух тегов в Docker Hub.
- `scripts/test-deb-compat.sh` — миграция .deb на одном data dir (главный тест перед прод-апгрейдом).
- `scripts/fork-snapshot.sh` — снапшот → JSON → JQ-патч → бинарь через `leap-util snapshot to-json/from-json` (subcommand `from-json` добавлен в coopos v5.2.0+, см. `programs/leap-util/actions/snapshot.cpp`).
- `scripts/start-fork.sh` — поднимает локальный writable fork (без p2p, eosio продьюсит сам под dev-key). Подтверждено 2026-05-05: `eosio::updateauth` от dev-key принят форкнутой нодой.
- `patches/dev-fork.jq` — точечный патч под coopos-снапшот (single-producer mode).
- `config-fork/config.ini` — конфиг форкнутой ноды.
**Структура снапшота coopos** (подтверждено 2026-05-05): верхний уровень JSON — секции как ключи (не `.sections[]`), формат `{"eosio::chain::permission_object": {rows: [...], num_rows: N}, ...}`. Ключевые секции для патча: `permission_object`, `block_state.rows[0].active_schedule.producers[*].authority[1].keys`, `block_state.rows[0].valid_block_signing_authority[1].keys`. Coopos в single-producer mode — `eosio` единственный продьюсер.
+44 -49
View File
@@ -1,6 +1,6 @@
cmake_minimum_required( VERSION 3.8 )
cmake_minimum_required( VERSION 3.16 )
project( leap )
project( coopos )
include(CTest) # suppresses DartConfiguration.tcl error
enable_testing()
@@ -9,14 +9,14 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules")
include( GNUInstallDirs )
include( MASSigning )
set( CMAKE_CXX_STANDARD 17 )
set( CMAKE_CXX_STANDARD 20 )
set( CMAKE_CXX_EXTENSIONS ON )
set( CXX_STANDARD_REQUIRED ON)
set(VERSION_MAJOR 4)
set(VERSION_MINOR 1)
set(VERSION_PATCH 0)
set(VERSION_SUFFIX dev)
set(VERSION_MAJOR 5)
set(VERSION_MINOR 3)
set(VERSION_PATCH 3)
set(VERSION_SUFFIX "" CACHE STRING "Optional pre-release suffix appended to version (e.g. rc1, beta). Empty = clean release.")
if(VERSION_SUFFIX)
set(VERSION_FULL "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}-${VERSION_SUFFIX}")
@@ -37,12 +37,8 @@ set( LEAP_UTIL_EXECUTABLE_NAME leap-util )
# http://stackoverflow.com/a/18369825
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8.0)
message(FATAL_ERROR "GCC version must be at least 8.0!")
endif()
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0)
message(FATAL_ERROR "Clang version must be at least 5.0!")
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 10.2)
message(FATAL_ERROR "GCC version must be at least 10.2.0!")
endif()
endif()
@@ -58,15 +54,6 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS "ON")
set(BUILD_DOXYGEN FALSE CACHE BOOL "Build doxygen documentation on every make")
set(ENABLE_MULTIVERSION_PROTOCOL_TEST FALSE CACHE BOOL "Enable nodeos multiversion protocol test")
# add defaults for openssl
if(APPLE AND UNIX AND "${OPENSSL_ROOT_DIR}" STREQUAL "")
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64")
set(OPENSSL_ROOT_DIR "/opt/homebrew/opt/openssl@3;/opt/homebrew/opt/openssl@1.1")
else()
set(OPENSSL_ROOT_DIR "/usr/local/opt/openssl@3;/usr/local/opt/openssl@1.1")
endif()
endif()
option(ENABLE_OC "Enable eosvm-oc on supported platforms" ON)
# WASM runtimes to enable. Each runtime in this list will have:
@@ -79,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 "Coopos requires an LLVM version 7 through 11")
endif()
endif()
endif()
@@ -105,12 +92,6 @@ else()
set(no_whole_archive_flag "--no-whole-archive")
endif()
set(Boost_USE_MULTITHREADED ON)
set( Boost_USE_STATIC_LIBS ON CACHE STRING "ON or OFF" )
# Most boost deps get implictly picked up via fc, as just about everything links to fc. In addition we pick up
# the pthread dependency through fc.
find_package(Boost 1.67 REQUIRED COMPONENTS program_options unit_test_framework system)
if( APPLE AND UNIX )
# Apple Specific Options Here
message( STATUS "Configuring Leap on macOS" )
@@ -142,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 Coopos" 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 Coopos for code coverage analysis")
if(ENABLE_COVERAGE_TESTING)
SET(CMAKE_C_FLAGS "--coverage ${CMAKE_C_FLAGS}")
@@ -178,9 +159,10 @@ endif()
message( STATUS "Using '${EOSIO_ROOT_KEY}' as public key for 'eosio' account" )
find_package( Gperftools QUIET )
if( GPERFTOOLS_FOUND )
message( STATUS "Found gperftools; compiling Leap with TCMalloc")
option(ENABLE_TCMALLOC "use tcmalloc (requires gperftools)" OFF)
if( ENABLE_TCMALLOC )
find_package( Gperftools REQUIRED )
message( STATUS "Compiling Coopos 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
@@ -189,6 +171,14 @@ if( GPERFTOOLS_FOUND )
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)
# do not attempt to use an external OpenSSL in any manner
set(CMAKE_DISABLE_FIND_PACKAGE_OpenSSL On)
# many tests require handling of signals themselves and even when they don't we'd like for them to generate a core dump, this
# is effectively --catch_system_errors=no broadly across all tests
add_compile_definitions(BOOST_TEST_DEFAULTS_TO_CORE_DUMP)
add_subdirectory( libraries )
add_subdirectory( plugins )
add_subdirectory( programs )
@@ -208,7 +198,7 @@ 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
# new coopos 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)
@@ -220,7 +210,7 @@ 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
# new coopos 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)
@@ -234,6 +224,8 @@ configure_file(libraries/libfc/include/fc/crypto/webauthn_json/license.txt licen
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)
@@ -251,7 +243,6 @@ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/tests/TestHarness DESTINATION ${CM
PATTERN "*.json"
PATTERN "__pycache__" EXCLUDE
PATTERN "CMakeFiles" EXCLUDE)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/tests/launcher.py DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/leap_testing/tests COMPONENT dev EXCLUDE_FROM_ALL)
if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.21)
# Cmake versions < 3.21 did not support installing symbolic links to a directory via install(FILES ...)
@@ -268,18 +259,8 @@ if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.21)
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)
else()
# The following install(CODE ...) steps are necessary for `make dev-install` to work on cmake versions < 3.21.
# However, it can flag as an error if using `make package` instead of `make dev-install` for installation.
# This is due to those directories and symbolic links being created in the postinit script during the package install instead.
# Note If/when doing `make package`, it is not a true error if you see:
# Error creating directory "/<leap_install_dir>/lib/python3/dist-packages".
# CMake Error: failed to create symbolic link '/<leap_install_dir>/lib/python3/dist-packages/TestHarness': no such file or directory
# CMake Error: failed to create symbolic link '/<leap_install_dir>/share/leap_testing/bin': no such file or directory
install(CODE "execute_process( COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_INSTALL_FULL_LIBDIR}/python3/dist-packages)" COMPONENT dev EXCLUDE_FROM_ALL)
install(CODE "execute_process( COMMAND ${CMAKE_COMMAND} -E create_symlink ../../../share/leap_testing/tests/TestHarness ${CMAKE_INSTALL_FULL_LIBDIR}/python3/dist-packages/TestHarness)" COMPONENT dev EXCLUDE_FROM_ALL)
install(CODE "execute_process( COMMAND ${CMAKE_COMMAND} -E create_symlink ../../bin ${CMAKE_INSTALL_FULL_DATAROOTDIR}/leap_testing/bin)" COMPONENT dev EXCLUDE_FROM_ALL)
# 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)
# The `make package` installation of symlinks happens via the `postinst` script installed in cmake.package via the line below
endif()
@@ -292,6 +273,18 @@ configure_file(${CMAKE_SOURCE_DIR}/libraries/cli11/bash-completion/completions/c
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/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
COMPONENT dev EXCLUDE_FROM_ALL
PATTERN ".git/*" EXCLUDE
PATTERN "example/*" EXCLUDE
PATTERN "bench/*" EXCLUDE
PATTERN "doc/*" EXCLUDE
PATTERN "libs/*/test" EXCLUDE
PATTERN "tools/*/test" EXCLUDE
)
add_custom_target(dev-install
COMMAND "${CMAKE_COMMAND}" --build "${CMAKE_BINARY_DIR}"
COMMAND "${CMAKE_COMMAND}" --install "${CMAKE_BINARY_DIR}"
@@ -301,5 +294,7 @@ add_custom_target(dev-install
include(doxygen)
option(ENABLE_LEAP_DEV_DEB "Enable building the leap-dev .deb package" OFF)
include(package.cmake)
include(CPack)
View File
View File
View File
+69 -64
View File
@@ -14,19 +14,13 @@ if (LLVM_DIR STREQUAL "" OR NOT LLVM_DIR)
set(LLVM_DIR @LLVM_DIR@)
endif()
find_package( Gperftools QUIET )
if( GPERFTOOLS_FOUND )
message( STATUS "Found gperftools; compiling tests with TCMalloc")
list( APPEND PLATFORM_SPECIFIC_LIBS tcmalloc )
endif()
if(NOT "@LLVM_FOUND@" STREQUAL "")
find_package(LLVM @LLVM_VERSION@ EXACT REQUIRED CONFIG)
llvm_map_components_to_libnames(LLVM_LIBS support core passes mcjit native DebugInfoDWARF orcjit)
link_directories(${LLVM_LIBRARY_DIR})
endif()
set( CMAKE_CXX_STANDARD 17 )
set( CMAKE_CXX_STANDARD 20 )
set( CMAKE_CXX_EXTENSIONS ON )
set( CXX_STANDARD_REQUIRED ON )
@@ -41,33 +35,26 @@ else ( APPLE )
set( CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_CXX_FLAGS} -Wall")
endif ( APPLE )
### Remove after Boost 1.70 CMake fixes are in place
set( Boost_NO_BOOST_CMAKE ON CACHE STRING "ON or OFF" )
set( Boost_USE_MULTITHREADED ON )
set( Boost_USE_STATIC_LIBS ON CACHE STRING "ON or OFF" )
find_package(Boost @Boost_MAJOR_VERSION@.@Boost_MINOR_VERSION@ EXACT REQUIRED COMPONENTS
date_time
filesystem
system
chrono
iostreams
unit_test_framework)
set( BOOST_EXCLUDE_LIBRARIES "mysql" )
add_subdirectory( @CMAKE_INSTALL_FULL_DATAROOTDIR@/leap_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)
find_library(libfc fc @CMAKE_INSTALL_FULL_LIBDIR@ NO_DEFAULT_PATH)
find_library(libsecp256k1 secp256k1 @CMAKE_INSTALL_FULL_LIBDIR@ NO_DEFAULT_PATH)
find_library(libbn256 bn256 @CMAKE_INSTALL_FULL_LIBDIR@ NO_DEFAULT_PATH)
find_library(libbls12-381 bls12-381 @CMAKE_INSTALL_FULL_LIBDIR@ NO_DEFAULT_PATH)
find_library(libwasm WASM @CMAKE_INSTALL_FULL_LIBDIR@ NO_DEFAULT_PATH)
find_library(libwast WAST @CMAKE_INSTALL_FULL_LIBDIR@ NO_DEFAULT_PATH)
find_library(libir IR @CMAKE_INSTALL_FULL_LIBDIR@ NO_DEFAULT_PATH)
find_library(liblogging Logging @CMAKE_INSTALL_FULL_LIBDIR@ NO_DEFAULT_PATH)
find_library(libruntime Runtime @CMAKE_INSTALL_FULL_LIBDIR@ NO_DEFAULT_PATH)
find_library(libsoftfloat softfloat @CMAKE_INSTALL_FULL_LIBDIR@ NO_DEFAULT_PATH)
get_filename_component(cryptodir @OPENSSL_CRYPTO_LIBRARY@ DIRECTORY)
find_library(liboscrypto crypto "${cryptodir}" NO_DEFAULT_PATH)
get_filename_component(ssldir @OPENSSL_SSL_LIBRARY@ DIRECTORY)
find_library(libosssl ssl "${ssldir}" NO_DEFAULT_PATH)
find_library(libbscrypto bscrypto @CMAKE_INSTALL_FULL_LIBDIR@ NO_DEFAULT_PATH)
find_library(libdecrepit decrepit @CMAKE_INSTALL_FULL_LIBDIR@ NO_DEFAULT_PATH)
find_library(libchainbase chainbase @CMAKE_INSTALL_FULL_LIBDIR@ NO_DEFAULT_PATH)
find_library(libbuiltins builtins @CMAKE_INSTALL_FULL_LIBDIR@ NO_DEFAULT_PATH)
@@ -81,54 +68,72 @@ if("eos-vm-oc" IN_LIST EOSIO_WASM_RUNTIMES)
set(WRAP_MAIN "-Wl,-wrap=main")
endif()
add_library(EosioChain INTERFACE)
target_link_libraries(EosioChain INTERFACE
${libchain}
${libfc}
${libwast}
${libwasm}
${libir}
${libsoftfloat}
${libbscrypto}
${libdecrepit}
${liblogging}
${libchainbase}
${libbuiltins}
${libsecp256k1}
${libbn256}
${libbls12-381}
@GMP_LIBRARY@
Boost::date_time
Boost::filesystem
Boost::system
Boost::chrono
Boost::multi_index
Boost::multiprecision
Boost::interprocess
Boost::asio
Boost::signals2
Boost::iostreams
"-lz" # Needed by Boost iostreams
${LLVM_LIBS}
${PLATFORM_SPECIFIC_LIBS}
${WRAP_MAIN}
Threads::Threads
)
target_include_directories(EosioChain INTERFACE
@OPENSSL_INCLUDE_DIR@
@CMAKE_INSTALL_PREFIX@
@CMAKE_INSTALL_FULL_INCLUDEDIR@
@CMAKE_INSTALL_FULL_INCLUDEDIR@/wasm-jit
@CMAKE_INSTALL_FULL_INCLUDEDIR@/leapboringssl
@CMAKE_INSTALL_FULL_INCLUDEDIR@/softfloat )
#adds -ltr. Ubuntu eosio.contracts build breaks without this
if(UNIX AND NOT APPLE)
target_link_libraries(EosioChain INTERFACE ${LIBRT})
endif()
add_library(EosioTester INTERFACE)
target_link_libraries(EosioTester INTERFACE
${libtester}
Boost::unit_test_framework
EosioChain
)
macro(add_eosio_test_executable test_name)
add_executable( ${test_name} ${ARGN} )
target_link_libraries( ${test_name}
${libtester}
${libchain}
${libfc}
${libwast}
${libwasm}
${libruntime}
${libir}
${libsoftfloat}
${liboscrypto}
${libosssl}
${liblogging}
${libchainbase}
${libbuiltins}
${libsecp256k1}
${libbn256}
@GMP_LIBRARY@
${Boost_FILESYSTEM_LIBRARY}
${Boost_SYSTEM_LIBRARY}
${Boost_CHRONO_LIBRARY}
${Boost_IOSTREAMS_LIBRARY}
"-lz" # Needed by Boost iostreams
${Boost_DATE_TIME_LIBRARY}
${LLVM_LIBS}
${PLATFORM_SPECIFIC_LIBS}
${WRAP_MAIN}
Threads::Threads
EosioTester
)
#adds -ltr. Ubuntu eosio.contracts build breaks without this
if(UNIX AND NOT APPLE)
target_link_libraries(${test_name} ${LIBRT})
endif()
target_include_directories( ${test_name} PUBLIC
${Boost_INCLUDE_DIRS}
@OPENSSL_INCLUDE_DIR@
@CMAKE_INSTALL_PREFIX@
@CMAKE_INSTALL_FULL_INCLUDEDIR@
@CMAKE_INSTALL_FULL_INCLUDEDIR@/wasm-jit
@CMAKE_INSTALL_FULL_INCLUDEDIR@/softfloat )
endmacro()
macro(add_eosio_test test_name)
+76 -67
View File
@@ -12,19 +12,13 @@ if (LLVM_DIR STREQUAL "" OR NOT LLVM_DIR)
set(LLVM_DIR @LLVM_DIR@)
endif()
find_package( Gperftools QUIET )
if( GPERFTOOLS_FOUND )
message( STATUS "Found gperftools; compiling tests with TCMalloc")
list( APPEND PLATFORM_SPECIFIC_LIBS tcmalloc )
endif()
if(NOT "@LLVM_FOUND@" STREQUAL "")
find_package(LLVM @LLVM_VERSION@ EXACT REQUIRED CONFIG)
llvm_map_components_to_libnames(LLVM_LIBS support core passes mcjit native DebugInfoDWARF orcjit)
link_directories(${LLVM_LIBRARY_DIR})
endif()
set( CMAKE_CXX_STANDARD 17 )
set( CMAKE_CXX_STANDARD 20 )
set( CMAKE_CXX_EXTENSIONS ON )
set( CXX_STANDARD_REQUIRED ON )
@@ -38,33 +32,26 @@ else ( APPLE )
set( CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_CXX_FLAGS} -Wall")
endif ( APPLE )
### Remove after Boost 1.70 CMake fixes are in place
set( Boost_NO_BOOST_CMAKE ON CACHE STRING "ON or OFF" )
set( Boost_USE_MULTITHREADED ON )
set( Boost_USE_STATIC_LIBS ON CACHE STRING "ON or OFF" )
find_package(Boost @Boost_MAJOR_VERSION@.@Boost_MINOR_VERSION@ EXACT REQUIRED COMPONENTS
date_time
filesystem
system
chrono
iostreams
unit_test_framework)
set( BOOST_EXCLUDE_LIBRARIES "mysql" )
add_subdirectory( @CMAKE_SOURCE_DIR@/libraries/boost ${PROJECT_BINARY_DIR}/libraries/boost EXCLUDE_FROM_ALL)
find_library(libtester eosio_testing @CMAKE_BINARY_DIR@/libraries/testing NO_DEFAULT_PATH)
find_library(libchain eosio_chain @CMAKE_BINARY_DIR@/libraries/chain NO_DEFAULT_PATH)
find_library(libfc fc @CMAKE_BINARY_DIR@/libraries/libfc NO_DEFAULT_PATH)
find_library(libsecp256k1 secp256k1 @CMAKE_BINARY_DIR@/libraries/libfc/secp256k1 NO_DEFAULT_PATH)
find_library(libbn256 bn256 @CMAKE_BINARY_DIR@/libraries/libfc/libraries/bn256/src NO_DEFAULT_PATH)
find_library(libbls12-381 bls12-381 @CMAKE_BINARY_DIR@/libraries/libfc/libraries/bls12-381 NO_DEFAULT_PATH)
find_library(libwasm WASM @CMAKE_BINARY_DIR@/libraries/wasm-jit/Source/WASM NO_DEFAULT_PATH)
find_library(libwast WAST @CMAKE_BINARY_DIR@/libraries/wasm-jit/Source/WAST NO_DEFAULT_PATH)
find_library(libir IR @CMAKE_BINARY_DIR@/libraries/wasm-jit/Source/IR NO_DEFAULT_PATH)
find_library(liblogging Logging @CMAKE_BINARY_DIR@/libraries/wasm-jit/Source/Logging NO_DEFAULT_PATH)
find_library(libruntime Runtime @CMAKE_BINARY_DIR@/libraries/wasm-jit/Source/Runtime NO_DEFAULT_PATH)
find_library(libsoftfloat softfloat @CMAKE_BINARY_DIR@/libraries/softfloat NO_DEFAULT_PATH)
get_filename_component(cryptodir @OPENSSL_CRYPTO_LIBRARY@ DIRECTORY)
find_library(liboscrypto crypto "${cryptodir}" NO_DEFAULT_PATH)
get_filename_component(ssldir @OPENSSL_SSL_LIBRARY@ DIRECTORY)
find_library(libosssl ssl "${ssldir}" NO_DEFAULT_PATH)
find_library(libbscrypto bscrypto @CMAKE_BINARY_DIR@/libraries/libfc/libraries/boringssl/boringssl NO_DEFAULT_PATH)
find_library(libdecrepit decrepit @CMAKE_BINARY_DIR@/libraries/libfc/libraries/boringssl/boringssl NO_DEFAULT_PATH)
find_library(libchainbase chainbase @CMAKE_BINARY_DIR@/libraries/chainbase NO_DEFAULT_PATH)
find_library(libbuiltins builtins @CMAKE_BINARY_DIR@/libraries/builtins NO_DEFAULT_PATH)
@@ -78,57 +65,79 @@ if("eos-vm-oc" IN_LIST EOSIO_WASM_RUNTIMES)
set(WRAP_MAIN "-Wl,-wrap=main")
endif()
add_library(EosioChain INTERFACE)
target_link_libraries(EosioChain INTERFACE
${libchain}
${libfc}
${libwast}
${libwasm}
${libir}
${libsoftfloat}
${libbscrypto}
${libdecrepit}
${liblogging}
${libchainbase}
${libbuiltins}
${libsecp256k1}
${libbn256}
${libbls12-381}
@GMP_LIBRARY@
Boost::date_time
Boost::filesystem
Boost::system
Boost::chrono
Boost::multi_index
Boost::multiprecision
Boost::interprocess
Boost::asio
Boost::signals2
Boost::iostreams
"-lz" # Needed by Boost iostreams
${LLVM_LIBS}
${PLATFORM_SPECIFIC_LIBS}
${WRAP_MAIN}
Threads::Threads
)
target_include_directories(EosioChain INTERFACE
@OPENSSL_INCLUDE_DIR@
@CMAKE_SOURCE_DIR@/libraries/chain/include
@CMAKE_BINARY_DIR@/libraries/chain/include
@CMAKE_SOURCE_DIR@/libraries/libfc/include
@CMAKE_SOURCE_DIR@/libraries/libfc/libraries/boringssl/boringssl/src/include
@CMAKE_SOURCE_DIR@/libraries/softfloat/source/include
@CMAKE_SOURCE_DIR@/libraries/appbase/include
@CMAKE_SOURCE_DIR@/libraries/chainbase/include
@CMAKE_SOURCE_DIR@/libraries/wasm-jit/include )
#adds -ltr. Ubuntu eosio.contracts build breaks without this
if(UNIX AND NOT APPLE)
target_link_libraries(EosioChain INTERFACE ${LIBRT})
endif()
add_library(EosioTester INTERFACE)
target_link_libraries(EosioTester INTERFACE
${libtester}
Boost::unit_test_framework
EosioChain
)
target_include_directories(EosioTester INTERFACE
@CMAKE_SOURCE_DIR@/libraries/testing/include )
macro(add_eosio_test_executable test_name)
add_executable( ${test_name} ${ARGN} )
target_link_libraries( ${test_name}
${libtester}
${libchain}
${libfc}
${libwast}
${libwasm}
${libruntime}
${libir}
${libsoftfloat}
${liboscrypto}
${libosssl}
${liblogging}
${libchainbase}
${libbuiltins}
${libsecp256k1}
${libbn256}
@GMP_LIBRARY@
${Boost_FILESYSTEM_LIBRARY}
${Boost_SYSTEM_LIBRARY}
${Boost_CHRONO_LIBRARY}
${Boost_IOSTREAMS_LIBRARY}
"-lz" # Needed by Boost iostreams
${Boost_DATE_TIME_LIBRARY}
${LLVM_LIBS}
${PLATFORM_SPECIFIC_LIBS}
${WRAP_MAIN}
Threads::Threads
EosioTester
)
#adds -ltr. Ubuntu eosio.contracts build breaks without this
if(UNIX AND NOT APPLE)
target_link_libraries(${test_name} ${LIBRT})
endif()
target_include_directories( ${test_name} PUBLIC
${Boost_INCLUDE_DIRS}
@OPENSSL_INCLUDE_DIR@
@CMAKE_SOURCE_DIR@/libraries/chain/include
@CMAKE_BINARY_DIR@/libraries/chain/include
@CMAKE_SOURCE_DIR@/libraries/libfc/include
@CMAKE_SOURCE_DIR@/libraries/softfloat/source/include
@CMAKE_SOURCE_DIR@/libraries/appbase/include
@CMAKE_SOURCE_DIR@/libraries/chainbase/include
@CMAKE_SOURCE_DIR@/libraries/testing/include
@CMAKE_SOURCE_DIR@/libraries/wasm-jit/Include )
endmacro()
macro(add_eosio_test test_name)
+9
View File
@@ -0,0 +1,9 @@
FROM ubuntu:latest
WORKDIR /workdir
COPY build/leap*.deb /workdir/build/
RUN apt-get update && cd build && \
apt-get install -y ./leap*.deb -y && \
rm leap*.deb
+5
View File
@@ -1,3 +1,8 @@
COOPOS/coopos
Copyright (c) 2024-2025 CBS VOSKHOD and its contributors. All rights reserved.
The MIT License
AntelopeIO/leap
Copyright (c) 2021-2022 EOS Network Foundation (ENF) and its contributors. All rights reserved.
This ENF software is based upon:
+334 -147
View File
@@ -1,56 +1,289 @@
# Leap
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.
# Coopos
## 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.
> [!IMPORTANT]
> Coopos - операционная система смарт-контрактов платформы Кооперативной Экономики (https://coopenomics.world).
## Supported Operating Systems
We currently support the following operating systems.
1. [Ветки](#branches)
2. [Быстрый старт с Docker](#docker-quick-start)
3. [Поддерживаемые операционные системы](#supported-operating-systems)
4. [Бинарная установка](#binary-installation)
5. [Запуск ноды на основной сети](#join-mainnet)
6. [Сборка и установка из исходного кода](#build-and-install-from-source)
7. [Bash автодополнение](#bash-autocomplete)
Coopos - это C++ реализация протокола [Antelope](https://github.com/AntelopeIO) с расширениями для кооперативной экономики. Содержит программное обеспечение блокчейн-узла и вспомогательные инструменты для разработчиков и операторов узлов.
## Ветки
Ветка `main` является веткой разработки; не используйте её для продакшена. Обратитесь к [странице релизов](https://github.com/AntelopeIO/leap/releases) для получения актуальной информации о релизах, предварительных релизах и устаревших релизах, а также соответствующих тегах для этих релизов.
## Быстрый старт с Docker
Для быстрого знакомства с Coopos и разработки смарт-контрактов на любой операционной системе (Windows, macOS, Linux) рекомендуется использовать готовый Docker-контейнер.
### Запуск контейнера
```bash
docker run -it --rm \
-v $(pwd)/workspace:/workspace \
-p 8888:8888 \
-p 9876:9876 \
-p 8070:8070 \
dicoop/blockchain_v5.1.1:dev
```
### Что включено в контейнер
Контейнер основан на том же исходном коде Coopos и дополнительно содержит:
- **CDT (Contract Development Toolkit)** - инструменты для компиляции смарт-контрактов
- **eosio-cpp** - компилятор смарт-контрактов
- **cleos** - командная строка для взаимодействия с блокчейном
- **nodeos** - блокчейн-узел
- **leap-util** - дополнительные утилиты
- **Все необходимые зависимости** для разработки и запуска
### Использование
```bash
# В контейнере вы можете сразу начать разработку
cd /workspace
# Создать новый смарт-контракт
eosio-cpp -abigen hello.cpp -o hello.wasm
# Запустить локальный блокчейн-узел с полным набором параметров
nodeos \
# Основные плагины для работы блокчейн-узла
--plugin eosio::chain_plugin \
--plugin eosio::producer_plugin \
--plugin eosio::chain_api_plugin \
--plugin eosio::http_plugin \
--plugin eosio::state_history_plugin \
--plugin eosio::producer_api_plugin \
--plugin eosio::resource_monitor_plugin \
# Настройки производства блоков
--enable-stale-production true \
--read-only-read-window-time-us 120000 \
--producer-name eosio \
--producer-name core \
--signature-provider EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV=KEY:5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3 \
# Сетевые настройки
--net-threads 2 \
--p2p-listen-endpoint 0.0.0.0:9876 \
# HTTP API настройки
--http-server-address 0.0.0.0:8888 \
--access-control-allow-origin "*" \
--access-control-allow-credentials false \
--http-validate-host false \
--verbose-http-errors true \
--http-max-response-time-ms 30000 \
--max-body-size 10485760 \
# Настройки производительности и лимитов
--max-transaction-time 2000 \
--abi-serializer-max-time-ms 200000 \
--max-block-cpu-usage-threshold-us 5000 \
--max-block-net-usage-threshold-bytes 1024 \
# Отладка и история
--contracts-console true \
--chain-state-history true \
--trace-history true \
--state-history-endpoint 0.0.0.0:8070 \
# Мониторинг ресурсов
--resource-monitor-space-threshold 90 \
--resource-monitor-not-shutdown-on-threshold-exceeded true \
# WASM runtime
--wasm-runtime eos-vm
```
### Монтирование рабочей директории
Параметр `-v $(pwd)/workspace:/workspace` монтирует вашу локальную папку `workspace` в контейнер, позволяя работать с файлами на хост-системе.
> ⚠️ **Важно:** Для регулярной стабильной работы и продакшена рекомендуется установка deb-пакета или сборка из исходного кода на нативной системе. Docker-контейнер предназначен для разработки и тестирования.
## Поддерживаемые операционные системы
В настоящее время мы поддерживаем следующие операционные системы:
- Ubuntu 22.04 Jammy
- Ubuntu 20.04 Focal
- Ubuntu 18.04 Bionic
Other Unix derivatives such as macOS are tended to on a best-effort basis and may not be full featured. If you aren't using Ubuntu, please visit the "[Build Unsupported OS](./docs/00_install/01_build-from-source/00_build-unsupported-os.md)" page to explore your options.
Другие Unix-производные, такие как macOS, поддерживаются в режиме best-effort и могут быть не полностью функциональными. Если вы не используете Ubuntu, посетите страницу "[Сборка неподдерживаемой ОС](./docs/00_install/01_build-from-source/00_build-unsupported-os.md)" для изучения ваших вариантов.
If you are running an unsupported Ubuntu derivative, such as Linux Mint, you can find the version of Ubuntu your distribution was based on by using this command:
Если вы используете неподдерживаемую производную Ubuntu, такую как Linux Mint, вы можете узнать версию Ubuntu, на которой она основана, используя эту команду:
```bash
cat /etc/upstream-release/lsb-release
```
Your best bet is to follow the instructions for your Ubuntu base, but we make no guarantees.
Ваш лучший вариант - следовать инструкциям для вашей базовой версии Ubuntu, но мы не даём никаких гарантий.
## 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.
## Бинарная установка
Это самый быстрый способ начать работу. Со [страницы последнего релиза](https://github.com/AntelopeIO/leap/releases/latest) скачайте бинарный файл для одной из наших [поддерживаемых операционных систем](#supported-operating-systems), или посетите [теги релизов](https://github.com/AntelopeIO/leap/releases) для скачивания бинарного файла конкретной версии Coopos.
Once you have a `*.deb` file downloaded for your version of Ubuntu, you can install it as follows:
После того, как вы скачали файл `*.deb` для вашей версии Ubuntu, вы можете установить его следующим образом:
```bash
sudo apt-get update
sudo apt-get install -y ~/Downloads/leap*.deb
sudo apt-get install -y ~/Downloads/coopos*.deb
```
Your download path may vary. If you are in an Ubuntu docker container, omit `sudo` because you run as `root` by default.
Ваш путь загрузки может отличаться. Если вы находитесь в Ubuntu docker контейнере, опустите `sudo`, поскольку вы работаете как `root` по умолчанию.
Finally, verify Leap was installed correctly:
Наконец, проверьте, что Coopos был установлен корректно:
```bash
nodeos --full-version
```
You should see a [semantic version](https://semver.org) string followed by a `git` commit hash with no errors. For example:
Вы должны увидеть строку [семантической версии](https://semver.org), за которой следует git commit hash без ошибок. Например:
```
v3.1.2-0b64f879e3ebe2e4df09d2e62f1fc164cc1125d1
v5.1.0-abc123def456...
```
## Build and Install from Source
You can also build and install Leap from source.
<a id="join-mainnet"></a>
## Запуск ноды на основной сети Кооперативной Экономики
### Prerequisites
You will need to build on a [supported operating system](#supported-operating-systems).
Чтобы свежая нода смогла подключиться к основной сети, ей нужно вычислить тот же `chain_id`, что у работающих пиров. `chain_id` — детерминированный хеш от стартовых параметров (`initial_timestamp`, `initial_key`, `initial_configuration`); при расхождении хотя бы одного бита пир отвечает `go_away_message reason=wrong chain` и закрывает соединение.
Requirements to build:
- C++17 compiler and standard library
- boost 1.67+
- CMake 3.8+
- LLVM 7 - 11 - for Linux only
- newer versions do not work
- openssl 1.1+
- curl
Дефолтное значение `EOSIO_ROOT_KEY` в этой сборке не равно тому, с которым была инициирована основная сеть, поэтому при запуске на пустой `data-dir` нужно явно подать `genesis.json` с правильным `initial_key`.
### Genesis основной сети
Сохраните содержимое ниже в файл `genesis.json` (например, в `~/blockchain/config/genesis.json`):
```json
{
"initial_timestamp": "2024-07-01T10:00:00.000",
"initial_key": "EOS7TjqL5YfQ7tKzzKr3i1Pa1JkTVrcY2BJhMFfyMPajfAiPThjH7",
"initial_configuration": {
"max_block_net_usage": 1048576,
"target_block_net_usage_pct": 1000,
"max_transaction_net_usage": 1048575,
"base_per_transaction_net_usage": 12,
"net_usage_leeway": 500,
"context_free_discount_net_usage_num": 20,
"context_free_discount_net_usage_den": 100,
"max_block_cpu_usage": 200000,
"target_block_cpu_usage_pct": 500,
"max_transaction_cpu_usage": 180000,
"min_transaction_cpu_usage": 100,
"max_transaction_lifetime": 3600,
"deferred_trx_expiration_window": 600,
"max_transaction_delay": 3888000,
"max_inline_action_size": 4096,
"max_inline_action_depth": 4,
"max_authority_depth": 6
},
"initial_chain_id": "0000000000000000000000000000000000000000000000000000000000000000"
}
```
Ожидаемый `chain_id` основной сети: `6e37f9ac0f0ea717bfdbf57d1dd5d7f0e2d773227d9659a63bbf86eec0326c1b`.
### Полный ресинк mainnet — встроенные исторические исключения
Начиная с **v5.3.1** реестр исторических исключений (`chain_historical_exceptions`) поставляется *внутри бинаря* для известных production-цепочек. Для основной сети Кооперативной Экономики (chain_id `6e37f9ac…26c1b`) встроены два окна вокруг инцидента 2026-05-11 (релиз `v5.2.0-dev-294edf3b8`):
- `action_mroot_zero_windows = [113273322 .. 113275717]` — bypass расхождения action_mroot в окне;
- `onblock_skip_windows = [113273322 .. 113275717]` — пропуск implicit-транзакции `onblock`, чтобы state нашего реплея не разъехался с канонической цепью. Окно включает блок 113275717 — в нём `eosio::setcode` восстановил системный контракт, но onblock в момент производства этого блока ещё падал; пользовательские транзакции внутри окна выполняются штатно.
Дополнительно — в `apply_block` снято строгое требование `action_mroot == 0` в bypass'е: внутри окна допускается *любое* расхождение action_mroot при условии полного совпадения остальных полей заголовка.
Никакого внешнего JSON-файла для mainnet больше не требуется. Достаточно установить `.deb` и запустить полный ресинк — bypass применится автоматически по совпадению `chain_id`. Форки и тестнеты с другим chain_id видят пустой реестр и работают идентично апстрим-Antelope.
Для разовой переопределения (например, расследование на одной ноде) ещё работает старая опция `chain-historical-exceptions = /path/to/file.json` — она полностью заменяет встроенную запись на этой ноде. JSON формата v5.3.0 (только `action_mroot_zero_windows`) грузится в v5.3.1 без правок.
### Первый запуск с genesis (полный ресинк с блока 1)
Начиная с **v5.3.3** канонические генезисы известных сетей вшиты в бинарь — внешний genesis.json хранить не нужно, он воспроизводится из пакета одной командой:
```bash
leap-util genesis list # имена и chain_id вшитых генезисов
leap-util genesis print mainnet > genesis.json # канонический genesis основной сети
leap-util genesis print testnet > genesis.json # ... или тестнета
```
`chain_id` печатается в stderr — сверьте его с `get_info` любого пира перед синком. Дев-форки не затронуты: дефолтный genesis (без аргументов nodeos) по-прежнему использует апстримовый `EOSIO_ROOT_KEY`.
`--genesis-json` принимается nodeos **только если `data-dir` пуст** (отсутствуют каталоги `state`, `blocks`, `state-history`, `snapshots`). Поэтому при первом запуске или при намеренном пересинке:
```bash
sudo systemctl stop nodeos
# Полная очистка состояния (история и trace будут переслушаны с пира)
sudo rm -rf ~/blockchain/data/blocks \
~/blockchain/data/state \
~/blockchain/data/state-history \
~/blockchain/data/snapshots
# Подложить genesis (один раз, путь произвольный — главное чтобы совпадал с флагом ниже)
sudo install -m 644 genesis.json ~/blockchain/config/genesis.json
# Подсунуть флаг --genesis-json в systemd unit на один запуск
sudo sed -i 's|^\(ExecStart=/usr/local/bin/nodeos.*\)$|\1 --genesis-json /root/blockchain/config/genesis.json|' \
/etc/systemd/system/nodeos.service
sudo systemctl daemon-reload
sudo systemctl start nodeos
# Удостовериться, что нода ловит блоки от пира — не должно быть "wrong chain"/"go_away"
sudo journalctl -u nodeos -f --since '30 seconds ago'
# Когда увидели "Received block ...", снять флаг из unit, чтобы он не мешал последующим рестартам
sudo sed -i 's| --genesis-json /root/blockchain/config/genesis.json||' /etc/systemd/system/nodeos.service
sudo systemctl daemon-reload
```
При повторных рестартах флаг `--genesis-json` не нужен: nodeos продолжит работу из существующего `state`, дефолтное значение `EOSIO_ROOT_KEY` из бинарника при этом не используется.
### Быстрый старт со снапшота вместо полного ресинка
Полный ресинк восстанавливает всю историю блоков с блока 1 и занимает часы. Если история до текущего состояния не нужна, можно стартовать со снапшота — нода поднимется за минуты, а историю с момента снапшота и далее догонит по p2p:
```bash
sudo systemctl stop nodeos
# Получить снапшот от любой ноды, на которой включён producer_api_plugin:
# curl -X POST http://<peer>:8888/v1/producer/create_snapshot
# Файл будет в /<data-dir>/snapshots/snapshot-<head_block_id>.bin — забрать
# его и положить как /root/blockchain/snapshot.bin на целевой ноде.
sudo rm -rf ~/blockchain/data/blocks \
~/blockchain/data/state \
~/blockchain/data/state-history \
~/blockchain/data/snapshots
sudo sed -i 's|^\(ExecStart=/usr/local/bin/nodeos.*\)$|\1 --snapshot /root/blockchain/snapshot.bin|' \
/etc/systemd/system/nodeos.service
sudo systemctl daemon-reload
sudo systemctl start nodeos
sudo journalctl -u nodeos -f --since '30 seconds ago'
# После старта снять флаг
sudo sed -i 's| --snapshot /root/blockchain/snapshot.bin||' /etc/systemd/system/nodeos.service
sudo systemctl daemon-reload
```
Снапшот несёт в себе `chain_id`, поэтому `--genesis-json` в этом сценарии не нужен.
## Сборка и установка из исходного кода
Вы также можете собрать и установить Coopos из исходного кода.
### Системные требования
#### Требования к сборке
Для успешной сборки Coopos из исходного кода рекомендуется использовать систему с:
- **Процессор**: минимум 4 ядра (рекомендуется 8 ядер)
- **Оперативная память**: минимум 8 GB RAM (рекомендуется 16 GB)
- **Дисковое пространство**: минимум 20 GB для сборки и тестов
При меньших ресурсах сборка может быть невозможна или крайне медленной. Некоторые этапы компиляции требуют значительных ресурсов памяти.
#### Требования к работе
Для работы блокчейн-узла Coopos достаточно:
- **Процессор**: минимум 2 ядра
- **Оперативная память**: минимум 4 GB RAM
- **Дисковое пространство**: зависит от высоты цепочки блоков. На текущий момент для основной сети кооперативной экономики требуется около 20 GB, поэтому минимально рекомендуется 40 GB, оптимально - 160 GB для комфортной работы и хранения истории.
### Предварительные требования
Вам нужно собирать на [поддерживаемой операционной системе](#supported-operating-systems).
Требования для сборки:
- Компилятор C++20 и стандартная библиотека
- CMake 3.16+
- LLVM 7 - 11 - только для Linux
- более новые версии не работают
- libcurl 7.40.0+
- git
- GMP
@@ -58,210 +291,164 @@ Requirements to build:
- python3-numpy
- 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:
### Шаг 1 - Клонирование
Если у вас ещё не клонирован репозиторий Coopos, [откройте терминал](https://itsfoss.com/open-terminal-ubuntu) и перейдите в папку, где хотите клонировать репозиторий Coopos:
```bash
cd ~/Downloads
```
Clone Leap using either HTTPS...
Клонируйте Coopos используя либо HTTPS...
```bash
git clone --recursive https://github.com/AntelopeIO/leap.git
```
...or SSH:
...либо SSH:
```bash
git clone --recursive git@github.com:AntelopeIO/leap.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.
И HTTPS, и SSH клонирование дадут одинаковый результат - папку с именем `leap`, содержащую наш исходный код. Не важно, какой тип вы используете.
Navigate into that folder:
Перейдите в эту папку:
```bash
cd leap
```
### 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:
### Шаг 2 - Переключение на тег релиза или ветку
Выберите, какой [релиз](https://github.com/AntelopeIO/leap/releases) или [ветку](#branches) вы хотите собрать, затем переключитесь на неё. Если вы не уверены, используйте [последний релиз](https://github.com/AntelopeIO/leap/releases/latest). Например, если вы хотите собрать релиз 5.1.0, то переключитесь на его тег `v5.1.0`. В примере ниже замените `v0.0.0` на выбранный вами тег релиза:
```bash
git fetch --all --tags
git checkout v0.0.0
git checkout v5.1.0
```
Once you are on the branch or release tag you want to build, make sure everything is up-to-date:
После того, как вы находитесь на ветке или теге релиза, который хотите собрать, убедитесь, что всё обновлено:
```bash
git pull
git submodule update --init --recursive
```
### Step 3 - Build
Select build instructions below for a [pinned build](#pinned-build) (preferred) or an [unpinned build](#unpinned-build).
### Шаг 3 - Сборка
Выберите инструкции по сборке ниже для [закреплённой сборки](#pinned-build) (предпочтительно) или [незакреплённой сборки](#unpinned-build).
> ️ **Pinned vs. Unpinned Build**
We have two types of builds for Leap: "pinned" and "unpinned." The only difference is that pinned builds use specific versions for some dependencies hand-picked by the Leap engineers - they are "pinned" to those versions. In contrast, unpinned builds use the default dependency versions available on the build system at the time. We recommend performing a "pinned" build to ensure the compiler and boost versions remain the same between builds of different Leap versions. Leap requires these versions to remain the same, otherwise its state might need to be recovered from a portable snapshot or the chain needs to be replayed.
> ️ **Закреплённая vs. Незакреплённая сборка**
У нас есть два типа сборок для Coopos: "закреплённая" и "незакреплённая". Закреплённая сборка - это воспроизводимая сборка с фиксированной средой сборки и версиями зависимостей, установленными командой разработчиков. В отличие от этого, незакреплённые сборки используют версии зависимостей, предоставляемые платформой сборки. Незакреплённые сборки обычно быстрее, потому что закреплённая среда сборки должна быть построена с нуля. Закреплённые сборки, помимо воспроизводимости, обеспечивают, чтобы компилятор оставался тем же между сборками разных основных версий Coopos. Coopos требует, чтобы версия компилятора оставалась той же, иначе его состояние может потребовать восстановления из портативного снимка или цепочка должна быть перезапущена.
> ⚠️ **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.
> ⚠️ **Предупреждение о параллельных задачах компиляции (флаг `-j`)** ⚠️
При сборке программного обеспечения C/C++, часто сборка выполняется параллельно с помощью команды типа `make -j "$(nproc)"`, которая использует все доступные потоки CPU. Однако учтите, что некоторые единицы компиляции (`*.cpp` файлы) в Coopos будут потреблять почти 4GB памяти. Сбои из-за исчерпания памяти обычно, но не всегда, проявляются как сбои компилятора. Использование всех доступных потоков CPU также может помешать вам делать другие вещи на вашем компьютере во время компиляции. По этим причинам рассмотрите возможность уменьшения этого значения.
> 🐋 **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`.
> 🐋 **Docker и `sudo`** 🐋
Если вы находитесь в Ubuntu docker контейнере, опустите `sudo` из всех команд, поскольку вы работаете как `root` по умолчанию. Большинство других docker контейнеров также исключают `sudo`, особенно Debian-семейные контейнеры. Если ваш промпт оболочки - хэш-тег (`#`), опустите `sudo`.
#### Pinned Build
Make sure you are in the root of the `leap` repo, then run the `install_depts.sh` script to install dependencies:
#### Закреплённая воспроизводимая сборка
Закреплённая воспроизводимая сборка требует Docker. Убедитесь, что вы находитесь в корне репозитория `leap`, затем выполните
```bash
sudo scripts/install_deps.sh
DOCKER_BUILDKIT=1 docker build -f tools/reproducible.Dockerfile -o . .
```
Эта команда займёт существенное время, потому что цепочка инструментов собирается с нуля. После завершения текущая директория будет содержать собранные `.deb` и `.tar.gz` файлы (вы можете изменить аргумент `-o .` для размещения вывода в другой директории). Если нужно уменьшить количество параллельных задач, как предупреждалось выше, выполните команду как:
```bash
DOCKER_BUILDKIT=1 docker build --build-arg LEAP_BUILD_JOBS=4 -f tools/reproducible.Dockerfile -o . .
```
Next, run the pinned build script. You have to give it three arguments in the following order:
1. A temporary folder, for all dependencies that need to be built from source.
1. A build folder, where the binaries you need to install will be built to.
1. The number of jobs or CPU cores/threads to use (note the [jobs flag](#step-3---build) warning above).
#### Незакреплённая сборка
Следующие инструкции действительны для этой ветки. Другие ветки релизов могут иметь разные требования, поэтому убедитесь, что следуете указаниям в ветке или релизе, который собираетесь собирать. Если вы находитесь в Ubuntu docker контейнере, опустите `sudo`, поскольку вы работаете как `root` по умолчанию.
> 🔒 You do not need to run this script with `sudo` or as root.
For example, the following command runs the `pinned_build.sh` script, specifies a `deps` and `build` folder in the root of the Leap repo for the first two arguments, then builds the packages using all of your computer's CPU threads:
```bash
scripts/pinned_build.sh deps build "$(nproc)"
```
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.
#### Unpinned Build
The following instructions are valid for this branch. Other release branches may have different requirements, so ensure you follow the directions in the branch or release you intend to build. If you are in an Ubuntu docker container, omit `sudo` because you run as `root` by default.
<details> <summary>Ubuntu 22.04 Jammy & Ubuntu 20.04 Focal</summary>
Install dependencies:
Установите зависимости:
```bash
sudo apt-get update
sudo apt-get install -y \
build-essential \
cmake \
curl \
git \
libboost-all-dev \
libcurl4-openssl-dev \
libgmp-dev \
libssl-dev \
llvm-11-dev \
python3-numpy
```
To build, make sure you are in the root of the `leap` repo, then run the following command:
```bash
mkdir -p build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=/usr/lib/llvm-11 ..
make -j "$(nproc)" package
```
</details>
<details> <summary>Ubuntu 18.04 Bionic</summary>
Install dependencies:
```bash
sudo apt-get update
sudo apt-get install -y \
build-essential \
cmake \
curl \
g++-8 \
git \
libcurl4-openssl-dev \
libgmp-dev \
libssl-dev \
llvm-7-dev \
python3 \
python3-numpy \
python3-pip \
file \
zlib1g-dev
```
python3 -m pip install dataclasses
```
You need to build Boost from source on this distribution:
На Ubuntu 20.04 установите gcc-10, который имеет поддержку C++20:
```bash
curl -fL https://boostorg.jfrog.io/artifactory/main/release/1.79.0/source/boost_1_79_0.tar.bz2 -o ~/Downloads/boost_1_79_0.tar.bz2
tar -jvxf ~/Downloads/boost_1_79_0.tar.bz2 -C ~/Downloads/
pushd ~/Downloads/boost_1_79_0
./bootstrap.sh --prefix="$HOME/boost1.79"
./b2 --with-iostreams --with-date_time --with-filesystem --with-system --with-program_options --with-chrono --with-test -j "$(nproc)" install
popd
sudo apt-get install -y g++-10
```
The Boost `*.tar.bz2` download and `boost_1_79_0` folder can be removed now if you want more space.
```bash
rm -r ~/Downloads/boost_1_79_0.tar.bz2 ~/Downloads/boost_1_79_0
```
From a terminal in the root of the `leap` repo, build.
Для сборки убедитесь, что вы находитесь в корне репозитория `leap`, затем выполните следующую команду:
```bash
mkdir -p build
cd build
cmake -DCMAKE_C_COMPILER=gcc-8 -DCMAKE_CXX_COMPILER=g++-8 -DCMAKE_PREFIX_PATH="$HOME/boost1.79;/usr/lib/llvm-7/" -DCMAKE_BUILD_TYPE=Release ..
## на Ubuntu 20 укажите компилятор gcc-10
cmake -DCMAKE_C_COMPILER=gcc-10 -DCMAKE_CXX_COMPILER=g++-10 -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=/usr/lib/llvm-11 ..
## на Ubuntu 22 версия gcc по умолчанию 11, использование компилятора по умолчанию нормально
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=/usr/lib/llvm-11 ..
make -j "$(nproc)" package
```
After building, you may remove the `~/boost1.79` directory or you may keep it around for your next build.
</details>
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) вашу сборку, или [установить](#step-5---install) бинарные пакеты `*.deb`, которые будут в корне вашей директории сборки.
### Step 4 - Test
Leap supports the following test suites:
### Шаг 4 - Тестирование
Coopos поддерживает следующие наборы тестов:
Test Suite | Test Type | [Test Size](https://testing.googleblog.com/2010/12/test-sizes.html) | Notes
Набор тестов | Тип теста | [Размер теста](https://testing.googleblog.com/2010/12/test-sizes.html) | Примечания
---|:---:|:---:|---
[Parallelizable tests](#parallelizable-tests) | Unit tests | Small
[WASM spec tests](#wasm-spec-tests) | Unit tests | Small | Unit tests for our WASM runtime, each short but _very_ CPU-intensive
[Serial tests](#serial-tests) | Component/Integration | Medium
[Long-running tests](#long-running-tests) | Integration | Medium-to-Large | Tests which take an extraordinarily long amount of time to run
[Параллелизуемые тесты](#parallelizable-tests) | Модульные тесты | Маленький
[WASM spec тесты](#wasm-spec-tests) | Модульные тесты | Маленький | Модульные тесты для нашего WASM runtime, каждый короткий но _очень_ CPU-интенсивный
[Сериальные тесты](#serial-tests) | Компонент/Интеграция | Средний
[Долго выполняемые тесты](#long-running-tests) | Интеграция | Средний-Крупный | Тесты, которые занимают чрезвычайно много времени на выполнение
When building from source, we recommended running at least the [parallelizable tests](#parallelizable-tests).
При сборке из исходного кода мы рекомендуем запускать как минимум [параллелизуемые тесты](#parallelizable-tests).
#### 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.
#### Параллелизуемые тесты
Этот набор тестов состоит из любых тестов, которые не требуют разделяемых ресурсов, таких как файловые дескрипторы, специфические папки или порты, и поэтому могут выполняться параллельно в разных потоках без побочных эффектов (следовательно, легко параллелизуемы). Это в основном модульные тесты и [маленькие тесты](https://testing.googleblog.com/2010/12/test-sizes.html), которые завершаются за короткое время.
You can invoke them by running `ctest` from a terminal in your Leap build directory and specifying the following arguments:
Вы можете запустить их, выполнив `ctest` из терминала в вашей директории сборки Coopos и указав следующие аргументы:
```bash
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.
#### WASM Spec тесты
WASM spec тесты проверяют, что наш движок выполнения WASM соответствует стандарту web assembly. Это очень [маленькие](https://testing.googleblog.com/2010/12/test-sizes.html), очень быстрые модульные тесты. Однако их более тысячи, так что набор может занять немного времени на выполнение. Эти тесты чрезвычайно CPU-интенсивны.
You can invoke them by running `ctest` from a terminal in your Leap build directory and specifying the following arguments:
Вы можете запустить их, выполнив `ctest` из терминала в вашей директории сборки Coopos и указав следующие аргументы:
```bash
ctest -j "$(nproc)" -L wasm_spec_tests
```
We have observed severe performance issues when multiple virtual machines are running this test suite on the same physical host at the same time, for example in a CICD system. This can be resolved by disabling hyperthreading on the host.
Мы наблюдали серьёзные проблемы с производительностью, когда несколько виртуальных машин запускают этот набор тестов на одном физическом хосте одновременно, например в системе CICD. Это можно решить, отключив hyperthreading на хосте.
#### 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.
#### Сериальные тесты
Набор сериальных тестов состоит из [средних](https://testing.googleblog.com/2010/12/test-sizes.html) компонентных или интеграционных тестов, которые используют специфические пути, порты, полагаются на имена процессов или подобное, и не могут выполняться параллельно с другими тестами. Сериальные тесты могут быть чувствительны к другому программному обеспечению, работающему на том же хосте, и они могут отправлять `SIGKILL` другим процессам `nodeos`. Эти тесты занимают умеренное время на завершение, но мы рекомендуем их запускать.
You can invoke them by running `ctest` from a terminal in your Leap build directory and specifying the following arguments:
Вы можете запустить их, выполнив `ctest` из терминала в вашей директории сборки Coopos и указав следующие аргументы:
```bash
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.
#### Долго выполняемые тесты
Долго выполняемые тесты - это [средние-крупные](https://testing.googleblog.com/2010/12/test-sizes.html) интеграционные тесты, которые полагаются на разделяемые ресурсы и занимают очень много времени на выполнение.
You can invoke them by running `ctest` from a terminal in your Leap build directory and specifying the following arguments:
Вы можете запустить их, выполнив `ctest` из терминала в вашей директории сборки Coopos и указав следующие аргументы:
```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.
### Шаг 5 - Установка
После того, как вы [собрали](#step-3---build-the-source-code) Coopos и [протестировали](#step-4---test) вашу сборку, вы можете установить Coopos в вашу систему. Не забудьте опустить `sudo`, если вы работаете в docker контейнере.
We recommend installing the binary package you just built. Navigate to your Leap build directory in a terminal and run this command:
Мы рекомендуем установить бинарный пакет, который вы только что собрали. Перейдите в вашу директорию сборки Coopos в терминале и выполните эту команду:
```bash
sudo apt-get update
sudo apt-get install -y ./leap[-_][0-9]*.deb
```
It is also possible to install using `make` instead:
Также возможно установить используя `make`:
```bash
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.
## Bash автодополнение
`cleos` и `leap-util` предлагают существенный объём функциональности. Рассмотрите использование поддержки автодополнения bash, которая облегчает обнаружение всех их различных опций.
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).
Для наших предоставленных `.deb` пакетов просто установите Ubuntu пакет `bash-completion`: `apt-get install bash-completion` (вам может понадобиться выйти и войти снова после установки).
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.
Если собираете из исходного кода, установите файлы `build/programs/cleos/bash-completion/completions/cleos` и `build/programs/leap-util/bash-completion/completions/leap-util` в вашу директорию bash-completion. Обратитесь к [документации bash-completion](https://github.com/scop/bash-completion#faq) по возможным местам установки.
+2 -1
View File
@@ -1,7 +1,8 @@
file(GLOB BENCHMARK "*.cpp")
add_executable( benchmark ${BENCHMARK} )
target_link_libraries( benchmark fc Boost::program_options bn256)
target_link_libraries( benchmark eosio_testing fc Boost::program_options bn256)
target_include_directories( benchmark PUBLIC
"${CMAKE_CURRENT_SOURCE_DIR}"
"${CMAKE_CURRENT_BINARY_DIR}/../unittests/include"
)
+1 -1
View File
@@ -4,7 +4,7 @@
#include <benchmark.hpp>
namespace benchmark {
namespace eosio::benchmark {
using bytes = std::vector<char>;
using g1g2_pair = std::vector<std::string>;
+8 -5
View File
@@ -5,7 +5,7 @@
#include <benchmark.hpp>
namespace benchmark {
namespace eosio::benchmark {
// update this map when a new feature is supported
// key is the name and value is the function doing benchmarking
@@ -15,10 +15,11 @@ std::map<std::string, std::function<void()>> features {
{ "key", key_benchmarking },
{ "hash", hash_benchmarking },
{ "blake2", blake2_benchmarking },
{ "bls", bls_benchmarking }
};
// values to control cout format
constexpr auto name_width = 28;
constexpr auto name_width = 40;
constexpr auto runs_width = 5;
constexpr auto time_width = 12;
constexpr auto ns_width = 2;
@@ -46,10 +47,10 @@ void print_results(std::string name, uint32_t runs, uint64_t total, uint64_t min
std::cout.imbue(std::locale(""));
std::cout
<< std::setw(name_width) << std::left << name
<< std::setw(runs_width) << runs
// std::fixed for not printing 1234 in 1.234e3.
// setprecision(0) for not printing fractions
<< std::right << std::fixed << std::setprecision(0)
<< std::setw(runs_width) << runs
<< std::setw(time_width) << total/runs << std::setw(ns_width) << " ns"
<< std::setw(time_width) << min << std::setw(ns_width) << " ns"
<< std::setw(time_width) << max << std::setw(ns_width) << " ns"
@@ -62,8 +63,10 @@ bytes to_bytes(const std::string& source) {
return output;
};
void benchmarking(std::string name, const std::function<void()>& func) {
uint64_t total {0}, min {std::numeric_limits<uint64_t>::max()}, max {0};
void benchmarking(const std::string& name, const std::function<void()>& func) {
uint64_t total{0};
uint64_t min{std::numeric_limits<uint64_t>::max()};
uint64_t max{0};
for (auto i = 0U; i < num_runs; ++i) {
auto start_time = std::chrono::high_resolution_clock::now();
+4 -2
View File
@@ -3,10 +3,11 @@
#include <functional>
#include <map>
#include <vector>
#include <limits>
#include <fc/crypto/hex.hpp>
namespace benchmark {
namespace eosio::benchmark {
using bytes = std::vector<char>;
void set_num_runs(uint32_t runs);
@@ -19,7 +20,8 @@ void modexp_benchmarking();
void key_benchmarking();
void hash_benchmarking();
void blake2_benchmarking();
void bls_benchmarking();
void benchmarking(std::string name, const std::function<void()>& func);
void benchmarking(const std::string& name, const std::function<void()>& func);
} // benchmark
+1 -1
View File
@@ -2,7 +2,7 @@
#include <benchmark.hpp>
namespace benchmark {
namespace eosio::benchmark {
void blake2_benchmarking() {
uint32_t _rounds = 0x0C;
+444
View File
@@ -0,0 +1,444 @@
#include <benchmark.hpp>
#include <eosio/chain/apply_context.hpp>
#include <eosio/chain/webassembly/interface.hpp>
#include <eosio/testing/tester.hpp>
#include <test_contracts.hpp>
#include <bls12-381/bls12-381.hpp>
#include <random>
using namespace eosio;
using namespace eosio::chain;
using namespace eosio::testing;
using namespace bls12_381;
// Benchmark BLS host functions without relying on CDT wrappers.
//
// To run a benchmarking session, in the build directory, type
// benchmark/benchmark -f bls
namespace eosio::benchmark {
// To benchmark host functions directly without CDT wrappers,
// we need to contruct an eosio::chain::webassembly::interface object,
// because host functions are implemented in
// eosio::chain::webassembly::interface class.
struct interface_in_benchmark {
interface_in_benchmark() {
// prevent logging from interwined with output benchmark results
fc::logger::get(DEFAULT_LOGGER).set_log_level(fc::log_level::off);
// create a chain
fc::temp_directory tempdir;
auto conf_genesis = tester::default_config( tempdir );
auto& cfg = conf_genesis.second.initial_configuration;
// configure large cpu usgaes so expensive BLS functions like pairing
// can finish within a trasaction time
cfg.max_block_cpu_usage = 999'999'999;
cfg.max_transaction_cpu_usage = 999'999'990;
cfg.min_transaction_cpu_usage = 1;
chain = std::make_unique<tester>(conf_genesis.first, conf_genesis.second);
chain->execute_setup_policy( setup_policy::full );
// create account and deploy contract for a temp transaction
chain->create_accounts( {"payloadless"_n} );
chain->set_code( "payloadless"_n, test_contracts::payloadless_wasm() );
chain->set_abi( "payloadless"_n, test_contracts::payloadless_abi() );
// construct a signed transaction
fc::variant pretty_trx = fc::mutable_variant_object()
("actions", fc::variants({
fc::mutable_variant_object()
("account", name("payloadless"_n))
("name", "doit")
("authorization", fc::variants({
fc::mutable_variant_object()
("actor", name("payloadless"_n))
("permission", name(config::active_name))
}))
("data", fc::mutable_variant_object()
)
})
);
trx = std::make_unique<signed_transaction>();
abi_serializer::from_variant(pretty_trx, *trx, chain->get_resolver(), abi_serializer::create_yield_function( chain->abi_serializer_max_time ));
chain->set_transaction_headers(*trx);
trx->sign( chain->get_private_key( "payloadless"_n, "active" ), chain->control.get()->get_chain_id() );
// construct a packed transaction
ptrx = std::make_unique<packed_transaction>(*trx, eosio::chain::packed_transaction::compression_type::zlib);
// build transaction context from the packed transaction
timer = std::make_unique<platform_timer>();
trx_timer = std::make_unique<transaction_checktime_timer>(*timer);
trx_ctx = std::make_unique<transaction_context>(*chain->control.get(), *ptrx, ptrx->id(), std::move(*trx_timer));
trx_ctx->max_transaction_time_subjective = fc::microseconds::maximum();
trx_ctx->init_for_input_trx( ptrx->get_unprunable_size(), ptrx->get_prunable_size() );
trx_ctx->exec(); // this is required to generate action traces to be used by apply_context constructor
// build apply context from the control and transaction context
apply_ctx = std::make_unique<apply_context>(*chain->control.get(), *trx_ctx, 1);
// finally construct the interface
interface = std::make_unique<webassembly::interface>(*apply_ctx);
}
std::unique_ptr<tester> chain;
std::unique_ptr<signed_transaction> trx;
std::unique_ptr<packed_transaction> ptrx;
std::unique_ptr<platform_timer> timer;
std::unique_ptr<transaction_checktime_timer> trx_timer;
std::unique_ptr<transaction_context> trx_ctx;
std::unique_ptr<apply_context> apply_ctx;
std::unique_ptr<webassembly::interface> interface;
};
// utilility to create a random scalar
std::array<uint64_t, 4> random_scalar()
{
std::random_device rd;
std::mt19937_64 gen(rd());
std::uniform_int_distribution<uint64_t> dis;
return {
dis(gen) % bls12_381::fp::Q[0],
dis(gen) % bls12_381::fp::Q[1],
dis(gen) % bls12_381::fp::Q[2],
dis(gen) % bls12_381::fp::Q[3]
};
}
// utilility to create a random fp
fp random_fe()
{
std::random_device rd;
std::mt19937_64 gen(rd());
std::uniform_int_distribution<uint64_t> dis;
return fp({
dis(gen) % 0xb9feffffffffaaab,
dis(gen) % 0x1eabfffeb153ffff,
dis(gen) % 0x6730d2a0f6b0f624,
dis(gen) % 0x64774b84f38512bf,
dis(gen) % 0x4b1ba7b6434bacd7,
dis(gen) % 0x1a0111ea397fe69a
});
}
// utilility to create a random fp2
fp2 random_fe2()
{
return fp2({
random_fe(),
random_fe()
});
}
// utilility to create a random g1
bls12_381::g1 random_g1()
{
std::array<uint64_t, 4> k = random_scalar();
return bls12_381::g1::one().scale(k);
}
// utilility to create a random g2
bls12_381::g2 random_g2()
{
std::array<uint64_t, 4> k = random_scalar();
return bls12_381::g2::one().scale(k);
}
// bls_g1_add benchmarking
void benchmark_bls_g1_add() {
// prepare g1 operand in Jacobian LE format
g1 p = random_g1();
std::array<char, 96> op;
p.toAffineBytesLE(std::span<uint8_t, 96>((uint8_t*)op.data(), 96), from_mont::yes);
// prepare result operand
std::array<char, 96> result;
// set up bls_g1_add to be benchmarked
interface_in_benchmark interface;
auto benchmarked_func = [&]() {
interface.interface->bls_g1_add(op, op, result);
};
benchmarking("bls_g1_add", benchmarked_func);
}
// bls_g2_add benchmarking
void benchmark_bls_g2_add() {
// prepare g2 operand in Jacobian LE format
g2 p = random_g2();
std::array<char, 192> op;
p.toAffineBytesLE(std::span<uint8_t, 192>((uint8_t*)op.data(), 192), from_mont::yes);
// prepare result operand
std::array<char, 192> result;
// set up bls_g2_add to be benchmarked
interface_in_benchmark interface;
auto benchmarked_func = [&]() {
interface.interface->bls_g2_add(op, op, result);
};
benchmarking("bls_g2_add", benchmarked_func);
}
// bls_g1_weighted_sum benchmarking utility
void benchmark_bls_g1_weighted_sum_impl(const std::string& test_name, uint32_t num_points) {
// prepare g1 points operand
std::vector<char> g1_buf(96*num_points);
for (auto i=0u; i < num_points; ++i) {
g1 p = random_g1();
p.toAffineBytesLE(std::span<uint8_t, 96>((uint8_t*)g1_buf.data() + i * 96, 96), from_mont::yes);
}
chain::span<const char> g1_points(g1_buf.data(), g1_buf.size());
// prepare scalars operand
std::vector<char> scalars_buf(32*num_points);
for (auto i=0u; i < num_points; ++i) {
std::array<uint64_t, 4> s = random_scalar();
scalar::toBytesLE(s, std::span<uint8_t, 32>((uint8_t*)scalars_buf.data() + i*32, 32));
}
chain::span<const char> scalars(scalars_buf.data(), scalars_buf.size());
// prepare result operand
std::array<char, 96> result;
// set up bls_g1_weighted_sum to be benchmarked
interface_in_benchmark interface;
auto benchmarked_func = [&]() {
interface.interface->bls_g1_weighted_sum(g1_points, scalars, num_points, result);
};
benchmarking(test_name, benchmarked_func);
}
// bls_g1_weighted_sum benchmarking with 1 input point
void benchmark_bls_g1_weighted_sum_one_point() {
benchmark_bls_g1_weighted_sum_impl("bls_g1_weighted_sum 1 point", 1);
}
// bls_g1_weighted_sum benchmarking with 3 input points
void benchmark_bls_g1_weighted_sum_three_point() {
benchmark_bls_g1_weighted_sum_impl("bls_g1_weighted_sum 3 points", 3);
}
// bls_g1_weighted_sum benchmarking with 5 input points
void benchmark_bls_g1_weighted_sum_five_point() {
benchmark_bls_g1_weighted_sum_impl("bls_g1_weighted_sum 5 points", 5);
}
// bls_g2_weighted_sum benchmarking utility
void benchmark_bls_g2_weighted_sum_impl(const std::string& test_name, uint32_t num_points) {
// prepare g2 points operand
std::vector<char> g2_buf(192*num_points);
for (auto i=0u; i < num_points; ++i) {
g2 p = random_g2();
p.toAffineBytesLE(std::span<uint8_t, 192>((uint8_t*)g2_buf.data() + i * 192, 192), from_mont::yes);
}
eosio::chain::span<const char> g2_points(g2_buf.data(), g2_buf.size());
// prepare scalars operand
std::vector<char> scalars_buf(32*num_points);
for (auto i=0u; i < num_points; ++i) {
std::array<uint64_t, 4> s = random_scalar();
scalar::toBytesLE(s, std::span<uint8_t, 32>((uint8_t*)scalars_buf.data() + i*32, 32));
}
eosio::chain::span<const char> scalars(scalars_buf.data(), scalars_buf.size());
// prepare result operand
std::array<char, 192> result;
// set up bls_g2_weighted_sum to be benchmarked
interface_in_benchmark interface;
auto benchmarked_func = [&]() {
interface.interface->bls_g2_weighted_sum(g2_points, scalars, num_points, result);
};
benchmarking(test_name, benchmarked_func);
}
// bls_g2_weighted_sum benchmarking with 1 input point
void benchmark_bls_g2_weighted_sum_one_point() {
benchmark_bls_g2_weighted_sum_impl("bls_g2_weighted_sum 1 point", 1);
}
// bls_g2_weighted_sum benchmarking with 3 input points
void benchmark_bls_g2_weighted_sum_three_point() {
benchmark_bls_g2_weighted_sum_impl("bls_g2_weighted_sum 3 points", 3);
}
// bls_g2_weighted_sum benchmarking with 5 input points
void benchmark_bls_g2_weighted_sum_five_point() {
benchmark_bls_g2_weighted_sum_impl("bls_g2_weighted_sum 5 points", 5);
}
// bls_pairing benchmarking utility
void benchmark_bls_pairing_impl(const std::string& test_name, uint32_t num_pairs) {
// prepare g1 operand
std::vector<char> g1_buf(96*num_pairs);
for (auto i=0u; i < num_pairs; ++i) {
g1 p = random_g1();
p.toAffineBytesLE(std::span<uint8_t, 96>((uint8_t*)g1_buf.data() + i * 96, 96), from_mont::yes);
}
eosio::chain::span<const char> g1_points(g1_buf.data(), g1_buf.size());
// prepare g2 operand
std::vector<char> g2_buf(192*num_pairs);
for (auto i=0u; i < num_pairs; ++i) {
g2 p2 = random_g2();
p2.toAffineBytesLE(std::span<uint8_t, (192)>((uint8_t*)g2_buf.data() + i * 192, (192)), from_mont::yes);
}
eosio::chain::span<const char> g2_points(g2_buf.data(), g2_buf.size());
// prepare result operand
std::array<char, 576> result;
// set up bls_pairing to be benchmarked
interface_in_benchmark interface;
auto benchmarked_func = [&]() {
interface.interface->bls_pairing(g1_points, g2_points, num_pairs, result);
};
benchmarking(test_name, benchmarked_func);
}
// bls_pairing benchmarking with 1 input pair
void benchmark_bls_pairing_one_pair() {
benchmark_bls_pairing_impl("bls_pairing 1 pair", 1);
}
// bls_pairing benchmarking with 3 input pairs
void benchmark_bls_pairing_three_pair() {
benchmark_bls_pairing_impl("bls_pairing 3 pairs", 3);
}
// bls_g1_map benchmarking
void benchmark_bls_g1_map() {
// prepare e operand. Must be fp LE.
std::array<char, 48> e;
fp a = random_fe();
a.toBytesLE(std::span<uint8_t, 48>((uint8_t*)e.data(), 48), from_mont::yes);
// prepare result operand
std::array<char, 96> result;
// set up bls_g1_map to be benchmarked
interface_in_benchmark interface;
auto benchmarked_func = [&]() {
interface.interface->bls_g1_map(e, result);
};
benchmarking("bls_g1_map", benchmarked_func);
}
// bls_g2_map benchmarking
void benchmark_bls_g2_map() {
std::array<char, 96> e;
fp2 a = random_fe2();
a.toBytesLE(std::span<uint8_t, 96>((uint8_t*)e.data(), 96), from_mont::yes);
// prepare result operand
std::array<char, 192> result;
// set up bls_g2_map to be benchmarked
interface_in_benchmark interface;
auto benchmarked_func = [&]() {
interface.interface->bls_g2_map(e, result);
};
benchmarking("bls_g2_map", benchmarked_func);
}
// bls_fp_mod benchmarking
void benchmark_bls_fp_mod() {
// prepare scalar operand
std::array<char, 64> scalar;
// random_scalar returns 32 bytes. need to call it twice
for (auto i=0u; i < 2; ++i) {
std::array<uint64_t, 4> s = random_scalar();
scalar::toBytesLE(s, std::span<uint8_t, 32>((uint8_t*)scalar.data() + i*32, 32));
}
// prepare result operand
std::array<char, 48> result;
// set up bls_fp_mod to be benchmarked
interface_in_benchmark interface;
auto benchmarked_func = [&]() {
interface.interface->bls_fp_mod(scalar, result);
};
benchmarking("bls_fp_mod", benchmarked_func);
}
void benchmark_bls_fp_mul() {
// prepare op1
std::array<char, 48> op1;
fp a = random_fe();
a.toBytesLE(std::span<uint8_t, 48>((uint8_t*)op1.data(), 48), from_mont::yes);
// prepare op2
std::array<char, 48> op2;
fp b = random_fe();
b.toBytesLE(std::span<uint8_t, 48>((uint8_t*)op2.data(), 48), from_mont::yes);
// prepare result operand
std::array<char, 48> result;
// set up bls_fp_mul to be benchmarked
interface_in_benchmark interface;
auto benchmarked_func = [&]() {
interface.interface->bls_fp_mul(op1, op2, result);
};
benchmarking("bls_fp_mul", benchmarked_func);
}
void benchmark_bls_fp_exp() {
// prepare base
std::array<char, 48> base;
fp a = random_fe();
a.toBytesLE(std::span<uint8_t, 48>((uint8_t*)base.data(), 48), from_mont::yes);
// prepare exp operand
std::array<char, 64> exp;
// random_scalar returns 32 bytes. need to call it twice
for (auto i=0u; i < 2; ++i) {
std::array<uint64_t, 4> s = random_scalar();
scalar::toBytesLE(s, std::span<uint8_t, 32>((uint8_t*)exp.data() + i*32, 32));
}
// prepare result operand
std::array<char, 48> result;
// set up bls_fp_exp to be benchmarked
interface_in_benchmark interface;
auto benchmarked_func = [&]() {
interface.interface->bls_fp_exp(base, exp, result);
};
benchmarking("bls_fp_exp", benchmarked_func);
}
// register benchmarking functions
void bls_benchmarking() {
benchmark_bls_g1_add();
benchmark_bls_g2_add();
benchmark_bls_pairing_one_pair();
benchmark_bls_pairing_three_pair();
benchmark_bls_g1_weighted_sum_one_point();
benchmark_bls_g1_weighted_sum_three_point();
benchmark_bls_g1_weighted_sum_five_point();
benchmark_bls_g2_weighted_sum_one_point();
benchmark_bls_g2_weighted_sum_three_point();
benchmark_bls_g2_weighted_sum_five_point();
benchmark_bls_g1_map();
benchmark_bls_g2_map();
benchmark_bls_fp_mod();
benchmark_bls_fp_mul();
benchmark_bls_fp_exp();
}
} // namespace benchmark
+1 -1
View File
@@ -10,7 +10,7 @@
using namespace fc;
namespace benchmark {
namespace eosio::benchmark {
void hash_benchmarking() {
std::string small_message = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01";
+1 -1
View File
@@ -9,7 +9,7 @@ using namespace fc::crypto;
using namespace fc;
using namespace std::literals;
namespace benchmark {
namespace eosio::benchmark {
void k1_sign_benchmarking() {
auto payload = "Test Cases";
+3 -3
View File
@@ -12,7 +12,7 @@ int main(int argc, char* argv[]) {
uint32_t num_runs = 1;
std::string feature_name;
auto features = benchmark::get_features();
auto features = eosio::benchmark::get_features();
options_description cli ("benchmark command line options");
cli.add_options()
@@ -61,8 +61,8 @@ int main(int argc, char* argv[]) {
std::cerr << "unknown exception" << std::endl;
}
benchmark::set_num_runs(num_runs);
benchmark::print_header();
eosio::benchmark::set_num_runs(num_runs);
eosio::benchmark::print_header();
if (feature_name.empty()) {
for (auto& [name, f]: features) {
+22 -8
View File
@@ -1,10 +1,11 @@
#include <fc/crypto/modular_arithmetic.hpp>
#include <fc/exception/exception.hpp>
#include <random>
#include <benchmark.hpp>
namespace benchmark {
namespace eosio::benchmark {
void modexp_benchmarking() {
std::mt19937 r(0x11223344);
@@ -24,15 +25,14 @@ void modexp_benchmarking() {
return result;
};
static constexpr unsigned int start_num_bytes = 128; // 64
static constexpr unsigned int end_num_bytes = 256; // 512
static constexpr unsigned int delta_num_bytes = 128; // 64
static constexpr unsigned int start_num_bytes = 8;
static constexpr unsigned int end_num_bytes = 256;
static_assert(start_num_bytes <= end_num_bytes);
static_assert(delta_num_bytes > 0);
static_assert((end_num_bytes - start_num_bytes) % delta_num_bytes == 0);
static_assert((start_num_bytes & (start_num_bytes - 1)) == 0);
static_assert((end_num_bytes & (end_num_bytes - 1)) == 0);
for (unsigned int n = start_num_bytes, slot = 0; n <= end_num_bytes; n += delta_num_bytes, ++slot) {
for (unsigned int n = start_num_bytes; n <= end_num_bytes; n *= 2) {
auto base = generate_random_bytes(r, n);
auto exponent = generate_random_bytes(r, n);
auto modulus = generate_random_bytes(r, n);
@@ -41,7 +41,21 @@ void modexp_benchmarking() {
fc::modexp(base, exponent, modulus);
};
benchmarking(std::to_string(n*8) + " bit width", f);
auto even_and_odd = [&](const std::string& bm) {
//some modexp implementations have drastically different performance characteristics depending on whether the modulus is
// even or odd (this can determine whether Montgomery multiplication is used). So test both cases.
modulus.back() &= ~1;
benchmarking(std::to_string(n*8) + " bit even M, " + bm, f);
modulus.back() |= 1;
benchmarking(std::to_string(n*8) + " bit odd M, " + bm, f);
};
//some modexp implementations need to take a minor different path if base is greater than modulus, try both
FC_ASSERT(modulus[0] != '\xff' && modulus[0] != 0);
base.front() = 0;
even_and_odd("B<M");
base.front() = '\xff';
even_and_odd("B>M");
}
// Running the above benchmark (using commented values for num_trials and *_num_bytes) with a release build on an AMD 3.4 GHz CPU
@@ -4,13 +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.**
### Using DUNE
**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.
For the official multi-platform support try [Docker Utilities for Node Execution](https://github.com/AntelopeIO/DUNE) which runs in an ubuntu image via a docker container.
**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 mandel 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 mandel versions (mandel 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 leap versions (leap requires these versions remain the same otherwise its state needs to be repopulated from a portable snapshot).
<details>
<summary>FreeBSD 13.1 Build Instructions</summary>
@@ -23,7 +19,6 @@ pkg update && pkg install \
curl \
boost-all \
python3 \
openssl \
llvm11 \
pkgconf
```
-1
View File
@@ -12,7 +12,6 @@ Antelope currently supports the following operating systems:
1. Ubuntu 22.04 Jammy
2. Ubuntu 20.04 Focal
3. Ubuntu 18.04 Bionic
[[info | Note]]
| It may be possible to build and install Antelope on other Unix-based operating systems. We gathered helpful information on the following page but please keep in mind that it is experimental and not officially supported.
@@ -29,7 +29,6 @@ nodeos \
--plugin eosio::http_plugin \
--plugin eosio::state_history_plugin \
--contracts-console \
--disable-replay-opts \
--access-control-allow-origin='*' \
--http-validate-host=false \
--verbose-http-errors \
@@ -46,7 +45,7 @@ The above `nodeos` command starts a producing node by:
* setting the blockchain data directory (`--data-dir`)
* setting the `config.ini` directory (`--config-dir`)
* loading plugins `producer_plugin`, `chain_plugin`, `http_plugin`, `state_history_plugin` (`--plugin`)
* passing `chain_plugin` options (`--contracts-console`, `--disable-replay-opts`)
* passing `chain_plugin` options (`--contracts-console`)
* passing `http-plugin` options (`--access-control-allow-origin`, `--http-validate-host`, `--verbose-http-errors`)
* passing `state_history` options (`--state-history-dir`, `--trace-history`, `--chain-state-history`)
* redirecting both `stdout` and `stderr` to the `nodeos.log` file
+32 -13
View File
@@ -120,7 +120,7 @@ Config Options for eosio::chain_plugin:
applied to them (may specify multiple
times)
--read-mode arg (=head) Database read mode ("head",
"irreversible").
"irreversible", "speculative").
In "head" mode: database contains state
changes up to the head block;
transactions received by the node are
@@ -131,7 +131,13 @@ Config Options for eosio::chain_plugin:
received via the P2P network are not
relayed and transactions cannot be
pushed via the chain API.
In "speculative" mode: database
contains state changes by transactions
in the blockchain up to the head block
as well as some transactions not yet
included in the blockchain;
transactions received by the node are
relayed if valid.
--api-accept-transactions arg (=1) Allow API transactions to be evaluated
and relayed if valid.
--validation-mode arg (=full) Chain validation mode ("full" or
@@ -157,10 +163,14 @@ Config Options for eosio::chain_plugin:
headers signed by it will be fully
validated, but transactions in those
validated blocks will be trusted.
--database-map-mode arg (=mapped) Database map mode ("mapped", "heap", or
"locked").
--database-map-mode arg (=mapped) Database map mode ("mapped",
"mapped_private", "heap", or "locked").
In "mapped" mode database is memory
mapped as a file.
In "mapped_private" mode database is
memory mapped as a file using a private
mapping (no disk writeback until
program exit).
In "heap" mode database is preloaded in
to swappable memory and will use huge
pages if available.
@@ -172,26 +182,35 @@ Config Options for eosio::chain_plugin:
code cache
--eos-vm-oc-compile-threads arg (=1) Number of threads to use for EOS VM OC
tier-up
--eos-vm-oc-enable Enable EOS VM OC tier-up runtime
--eos-vm-oc-enable arg (=auto) Enable EOS VM OC tier-up runtime
('auto', 'all', 'none').
'auto' - EOS VM OC tier-up is enabled
for eosio.* accounts, read-only trxs,
and applying blocks.
'all' - EOS VM OC tier-up is enabled
for all contract execution.
'none' - EOS VM OC tier-up is
completely disabled.
--enable-account-queries arg (=0) enable queries to find accounts by
various metadata.
--max-nonprivileged-inline-action-size arg (=4096)
maximum allowed size (in bytes) of an
inline action for a nonprivileged
account
--transaction-retry-max-storage-size-gb arg
Maximum size (in GiB) allowed to be
allocated for the Transaction Retry
feature. Setting above 0 enables this
feature.
--transaction-retry-interval-sec arg (=20)
How often, in seconds, to resend an
incoming transaction to network if not
How often, in seconds, to resend an
incoming transaction to network if not
seen in a block.
Needs to be at least twice as large as
p2p-dedup-cache-expire-time-sec.
--transaction-retry-max-expiration-sec arg (=120)
Maximum allowed transaction expiration
for retry transactions, will retry
Maximum allowed transaction expiration
for retry transactions, will retry
transactions up to this value.
Should be larger than
transaction-retry-interval-sec.
--transaction-finality-status-max-storage-size-gb arg
Maximum size (in GiB) allowed to be
allocated for the Transaction Finality
@@ -4,87 +4,84 @@ content_title: Block Production Explained
For simplicity of the explanation let's consider the following notations:
m = max_block_cpu_usage
* `r` = `producer_repetitions = 12` (hard-coded value)
* `m` = `max_block_cpu_usage` (on-chain consensus value)
* `u` = `max_block_net_usage` (on-chain consensus value)
* `t` = `block-time`
* `e` = `produce-block-offset-ms` (nodeos configuration)
* `w` = `block-time-interval = 500ms` (hard-coded value)
* `a` = `produce-block-early-amount = w - (w - (e / r)) = e / r ms` (how much to release each block of round early by)
* `l` = `produce-block-time = t - a`
* `p` = `produce block time window = w - a` (amount of wall clock time to produce a block)
* `c` = `billed_cpu_in_block = minimum(m, w - a)`
* `n` = `network tcp/ip latency`
* `h` = `block header validation time ms`
t = block-time
Peer validation for similar hardware/version/config will be <= `m`
e = last-block-cpu-effort-percent
**Let's consider the example of the following two BPs and their network topology as depicted in the below diagram**
w = block_time_interval = 500ms
a = produce-block-early-amount = (w - w*e/100) ms
p = produce-block-time; p = t - a
c = billed_cpu_in_block = minimum(m, w - a)
n = network tcp/ip latency
peer validation for similar hardware/eosio-version/config will be <= m
**Let's consider for exemplification the following four BPs and their network topology as depicted in below diagram**
```dot-svg
#p2p_local_chain_prunning.dot - local chain prunning
#
#notes: * to see image copy/paste to https://dreampuf.github.io/GraphvizOnline
# * image will be rendered by gatsby-remark-graphviz plugin in eosio docs.
digraph {
newrank=true #allows ranks inside subgraphs (important!)
compound=true #allows edges connecting nodes with subgraphs
graph [rankdir=LR]
node [style=filled, fillcolor=lightgray, shape=square, fixedsize=true, width=.55, fontsize=10]
edge [dir=both, arrowsize=.6, weight=100]
splines=false
subgraph cluster_chain {
label="Block Producers Peers"; labelloc="b"
graph [color=invis]
b0 [label="...", color=invis, style=""]
b1 [label="BP-A"]; b2 [label="BP-A\nPeer"]; b3 [label="BP-B\nPeer"]; b4 [label="BP-B"]
b5 [label="...", color=invis, style=""]
b0 -> b1 -> b2 -> b3 -> b4 -> b5
} //cluster_chain
} //digraph
```
+------+ +------+ +------+ +------+
-->| BP-A |---->| BP-A |------>| BP-B |---->| BP-B |
+------+ | Peer | | Peer | +------+
+------+ +------+
```
`BP-A` will send block at `p` and,
`BP-B` needs block at time `t` or otherwise will drop it.
`BP-A` will send block at `l` and, `BP-B` needs block at time `t` or otherwise will drop it.
If `BP-A`is producing 12 blocks as follows `b(lock) at t(ime) 1`, `bt 1.5`, `bt 2`, `bt 2.5`, `bt 3`, `bt 3.5`, `bt 4`, `bt 4.5`, `bt 5`, `bt 5.5`, `bt 6`, `bt 6.5` then `BP-B` needs `bt 6.5` by time `6.5` so it has `.5` to produce `bt 7`.
Please notice that the time of `bt 7` minus `.5` equals the time of `bt 6.5` therefore time `t` is the last block time of `BP-A` and when `BP-B` needs to start its first block.
## Example 1
`BP-A` has 50% e, m = 200ms, c = 200ms, n = 0ms, a = 250ms:
`BP-A` sends at (t-250ms) <-> `BP-A-Peer` processes for 200ms and sends at (t - 50ms) <-> `BP-B-Peer` processes for 200ms and sends at (t + 150ms) <-> arrive at `BP-B` 150ms too late.
A block is produced and sent when either it reaches `m` or `u` or `p`.
## Example 2
`BP-A` has 40% e and m = 200ms, c = 200ms, n = 0ms, a = 300ms:
(t-300ms) <-> (+200ms) <-> (+200ms) <-> arrive at `BP-B` 100ms too late.
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.
## Example 3
`BP-A` has 30% e and m = 200ms, c = 150ms, n = 0ms, a = 350ms:
(t-350ms) <-> (+150ms) <-> (+150ms) <-> arrive at `BP-B` with 50ms to spare.
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.
## Example 4
`BP-A` has 25% e and m = 200ms, c = 125ms, n = 0ms, a = 375ms:
(t-375ms) <-> (+125ms) <-> (+125ms) <-> arrive at `BP-B` with 125ms to spare.
## Example 1: block arrives 110ms early
* Assuming zero network latency between all nodes.
* Assuming blocks do not reach `m` and therefore take `w - a` time to produce.
* Assume block completion including signing takes zero time.
* `BP-A` has e = 120, n = 0ms, h = 5ms, a = 10ms
* `BP-A` sends b1 at `t1-10ms` => `BP-A-Peer` processes `h=5ms`, sends at `t-5ms` => `BP-B-Peer` processes `h=5ms`, sends at `t-0ms` => arrives at `BP-B` at `t`.
* `BP-A` starts b2 at `t1-10ms`, sends b2 at `t2-20ms` => `BP-A-Peer` processes `h=5ms`, sends at `t2-15ms` => `BP-B-Peer` processes `h=5ms`, sends at `t2-10ms` => arrives at `BP-B` at `t2-10ms`.
* `BP-A` starts b3 at `t2-20ms`, ...
* `BP-A` starts b12 at `t11-110ms`, sends b12 at `t12-120ms` => `BP-A-Peer` processes `h=5ms`, sends at `t12-115ms` => `BP-B-Peer` processes `h=5ms`, sends at `t12-110ms` => arrives at `BP-B` at `t12-110ms`
## Example 5
`BP-A` has 10% e and m = 200ms, c = 50ms, n = 0ms, a = 450ms:
(t-450ms) <-> (+50ms) <-> (+50ms) <-> arrive at `BP-B` with 350ms to spare.
## Example 2: block arrives 80ms early
* Assuming zero network latency between `BP-A` & `BP-A Peer` and between `BP-B Peer` & `BP-B`.
* Assuming 150ms network latency between `BP-A Peer` & `BP-B Peer`.
* Assuming blocks do not reach `m` and therefore take `w - a` time to produce.
* Assume block completion including signing takes zero time.
* `BP-A` has e = 240, n = 0ms/150ms, h = 5ms, a = 20ms
* `BP-A` sends b1 at `t1-20ms` => `BP-A-Peer` processes `h=5ms`, sends at `t-15ms` =(150ms)> `BP-B-Peer` processes `h=5ms`, sends at `t+140ms` => arrives at `BP-B` at `t+140ms`.
* `BP-A` starts b2 at `t1-20ms`, sends b2 at `t2-40ms` => `BP-A-Peer` processes `h=5ms`, sends at `t2-35ms` =(150ms)> `BP-B-Peer` processes `h=5ms`, sends at `t2+120ms` => arrives at `BP-B` at `t2+120ms`.
* `BP-A` starts b3 at `t2-40ms`, ...
* `BP-A` starts b12 at `t11-220ms`, sends b12 at `t12-240ms` => `BP-A-Peer` processes `h=5ms`, sends at `t12-235ms` =(150ms)> `BP-B-Peer` processes `h=5ms`, sends at `t12-80ms` => arrives at `BP-B` at `t12-80ms`
## Example 6
`BP-A` has 10% e and m = 200ms, c = 50ms, n = 15ms, a = 450ms:
(t-450ms) <- +15ms -> (+50ms) <- +15ms -> (+50ms) <- +15ms -> `BP-B` <-> arrive with 305ms to spare.
## Example 3: block arrives 16ms late and is dropped
* Assuming zero network latency between `BP-A` & `BP-A Peer` and between `BP-B Peer` & `BP-B`.
* Assuming 200ms network latency between `BP-A Peer` & `BP-B Peer`.
* Assuming blocks do not reach `m` and therefore take `w - a` time to produce.
* Assume block completion including signing takes zero time.
* `BP-A` has e = 204, n = 0ms/200ms, h = 10ms, a = 17ms
* `BP-A` sends b1 at `t1-17ms` => `BP-A-Peer` processes `h=10ms`, sends at `t-7ms` =(200ms)> `BP-B-Peer` processes `h=10ms`, sends at `t+203ms` => arrives at `BP-B` at `t+203ms`.
* `BP-A` starts b2 at `t1-17ms`, sends b2 at `t2-34ms` => `BP-A-Peer` processes `h=10ms`, sends at `t2-24ms` =(200ms)> `BP-B-Peer` processes `h=10ms`, sends at `t2+186ms` => arrives at `BP-B` at `t2+186ms`.
* `BP-A` starts b3 at `t2-34ms`, ...
* `BP-A` starts b12 at `t11-187ms`, sends b12 at `t12-204ms` => `BP-A-Peer` processes `h=10ms`, sends at `t12-194ms` =(200ms)> `BP-B-Peer` processes `h=10ms`, sends at `t12+16ms` => arrives at `BP-B` at `t12+16ms`
## Example 4: full blocks are produced early
* Assuming zero network latency between `BP-A` & `BP-A Peer` and between `BP-B Peer` & `BP-B`.
* Assuming 200ms network latency between `BP-A Peer` & `BP-B Peer`.
* Assume all blocks are full as there are enough queued up unapplied transactions ready to fill all blocks.
* Assume a block can be produced with 200ms worth of transactions in 225ms worth of time. There is overhead for producing the block.
* `BP-A` has e = 120, m = 200ms, n = 0ms/200ms, h = 10ms, a = 10ms
* `BP-A` sends b1 at `t1-275s` => `BP-A-Peer` processes `h=10ms`, sends at `t-265ms` =(200ms)> `BP-B-Peer` processes `h=10ms`, sends at `t-55ms` => arrives at `BP-B` at `t-55ms`.
* `BP-A` starts b2 at `t1-275ms`, sends b2 at `t2-550ms (t1-50ms)` => `BP-A-Peer` processes `h=10ms`, sends at `t2-540ms` =(200ms)> `BP-B-Peer` processes `h=10ms`, sends at `t2-330ms` => arrives at `BP-B` at `t2-330ms`.
* `BP-A` starts b3 at `t2-550ms`, ...
* `BP-A` starts b12 at `t11-3025ms`, sends b12 at `t12-3300ms` => `BP-A-Peer` processes `h=10ms`, sends at `t12-3290ms` =(200ms)> `BP-B-Peer` processes `h=10ms`, sends at `t12-3080ms` => arrives at `BP-B` at `t12-3080ms`
## Example 7
Example world-wide network:`BP-A`has 10% e and m = 200ms, c = 50ms, n = 15ms/250ms, a = 450ms:
(t-450ms) <- +15ms -> (+50ms) <- +250ms -> (+50ms) <- +15ms -> `BP-B` <-> arrive with 70ms to spare.
Running wasm-runtime=eos-vm-jit eos-vm-oc-enable on relay node will reduce the validation time.
@@ -27,10 +27,11 @@ Config Options for eosio::producer_plugin:
chain is stale.
-x [ --pause-on-startup ] Start this node in a state where
production is paused
--max-transaction-time arg (=30) Limits the maximum time (in
milliseconds) that is allowed a pushed
transaction's code to execute before
being considered invalid
--max-transaction-time arg (=499) Setting this value (in milliseconds)
will restrict the allowed transaction
execution time to a value potentially
lower than the on-chain consensus
max_transaction_cpu_usage value.
--max-irreversible-block-age arg (=-1)
Limits the maximum age (in seconds) of
the DPOS Irreversible Block for a chain
@@ -71,20 +72,9 @@ Config Options for eosio::producer_plugin:
can extend during low usage (only
enforced subjectively; use 1000 to not
enforce any limit)
--produce-time-offset-us arg (=0) Offset of non last block producing time
in microseconds. Valid range 0 ..
-block_time_interval.
--last-block-time-offset-us arg (=-200000)
Offset of last block producing time in
microseconds. Valid range 0 ..
-block_time_interval.
--cpu-effort-percent arg (=80) Percentage of cpu block production time
used to produce block. Whole number
percentages, e.g. 80 for 80%
--last-block-cpu-effort-percent arg (=80)
Percentage of cpu block production time
used to produce last block. Whole
number percentages, e.g. 80 for 80%
--produce-block-offset-ms arg (=450) The minimum time to reserve at the end
of a production round for blocks to
propagate to the next block producer.
--max-block-cpu-usage-threshold-us arg (=5000)
Threshold of CPU block production to
consider block full; when within
@@ -95,13 +85,6 @@ Config Options for eosio::producer_plugin:
consider block full; when within
threshold of max-block-net-usage block
can be produced immediately
--max-scheduled-transaction-time-per-block-ms arg (=100)
Maximum wall-clock time, in
milliseconds, spent retiring scheduled
transactions (and incoming transactions
according to incoming-defer-ratio) in
any block before returning to normal
transaction processing.
--subjective-cpu-leeway-us arg (=31000)
Time in microseconds allowed for a
transaction that starts with
@@ -114,16 +97,11 @@ Config Options for eosio::producer_plugin:
--subjective-account-decay-time-minutes arg (=1440)
Sets the time to return full subjective
cpu for accounts
--incoming-defer-ratio arg (=1) ratio between incoming transactions and
deferred transactions when both are
queued for execution
--incoming-transaction-queue-size-mb arg (=1024)
Maximum size (in MiB) of the incoming
transaction queue. Exceeding this value
will subjectively drop transaction with
resource exhaustion.
--disable-subjective-billing arg (=1) Disable subjective CPU billing for
API/P2P transactions
--disable-subjective-account-billing arg
Account which is excluded from
subjective CPU billing
@@ -133,8 +111,6 @@ Config Options for eosio::producer_plugin:
--disable-subjective-api-billing arg (=1)
Disable subjective CPU billing for API
transactions
--producer-threads arg (=2) Number of worker threads in producer
thread pool
--snapshots-dir arg (="snapshots") the location of the snapshots directory
(absolute path or relative to
application data dir)
@@ -144,21 +120,6 @@ Config Options for eosio::producer_plugin:
* [`chain_plugin`](../chain_plugin/index.md)
## The priority of transaction
You can give one of the transaction types priority over another when the producer plugin has a queue of transactions pending.
The option below sets the ratio between the incoming transaction and the deferred transaction:
```console
--incoming-defer-ratio arg (=1)
```
By default value of `1`, the `producer` plugin processes one incoming transaction per deferred transaction. When `arg` sets to `10`, the `producer` plugin processes 10 incoming transactions per deferred transaction.
If the `arg` is set to a sufficiently large number, the plugin always processes the incoming transaction first until the queue of the incoming transactions is empty. Respectively, if the `arg` is 0, the `producer` plugin processes the deferred transactions queue first.
### Load Dependency Examples
```console
@@ -51,23 +51,6 @@ Config Options for eosio::state_history_plugin:
number of most recent blocks
```
## Examples
## Dependencies
* [`chain_plugin`](../chain_plugin/index.md)
### Load Dependency Examples
```console
# config.ini
plugin = eosio::chain_plugin --disable-replay-opts
```
```sh
# command-line
nodeos ... --plugin eosio::chain_plugin --disable-replay-opts
```
## How-To Guides
* [How to fast start without history on existing chains](10_how-to-fast-start-without-old-history.md)
@@ -29,6 +29,7 @@ The `nodeos` service can be run in different "read" modes. These modes control h
- `head`: this only includes the side effects of confirmed transactions, this mode processes unconfirmed transactions but does not include them.
- `irreversible`: this mode also includes confirmed transactions only up to those included in the last irreversible block.
- `speculative`: this includes the side effects of confirmed and unconfirmed transactions.
A transaction is considered confirmed when a `nodeos` instance has received, processed, and written it to a block on the blockchain, i.e. it is in the head block or an earlier block.
@@ -44,6 +45,16 @@ When `nodeos` is configured to be in irreversible read mode, it will still track
Clients such as `cleos` and the RPC API will see database state as of the current head block of the chain. It **will not** include changes made by transactions known to this node but not included in the chain, such as unconfirmed transactions.
### Speculative Mode ( Deprecated )
Clients such as `cleos` and the RPC API, will see database state as of the current head block plus changes made by all transactions known to this node but potentially not included in the chain, unconfirmed transactions for example.
Speculative mode is low latency but fragile, there is no guarantee that the transactions reflected in the state will be included in the chain OR that they will reflected in the same order the state implies.
This mode features the lowest latency, but is the least consistent.
In speculative mode `nodeos` is able to execute transactions which have TaPoS (Transaction as Proof of Stake) pointing to any valid block in a fork considered to be the best fork by this node.
## How To Specify the Read Mode
The mode in which `nodeos` is run can be specified using the `--read-mode` option from the `eosio::chain_plugin`.
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File

Some files were not shown because too many files have changed in this diff Show More