diff --git a/buildkite/scripts/rosetta-integration-tests.sh b/buildkite/scripts/rosetta-integration-tests.sh index e9219071677..c3fb9dd378a 100755 --- a/buildkite/scripts/rosetta-integration-tests.sh +++ b/buildkite/scripts/rosetta-integration-tests.sh @@ -30,7 +30,7 @@ export PG_CONN=postgres://${POSTGRES_USERNAME}:${POSTGRES_USERNAME}@127.0.0.1:54 # Mina Archive variables export MINA_ARCHIVE_PORT=${MINA_ARCHIVE_PORT:=3086} -export MINA_ARCHIVE_SQL_SCHEMA_PATH=${MINA_ARCHIVE_SQL_SCHEMA_PATH:=/etc/mina/rosetta/archive/create_schema.sql} +export MINA_ARCHIVE_SQL_SCHEMA_PATH=${MINA_ARCHIVE_SQL_SCHEMA_PATH:=/etc/mina/archive/create_schema.sql} # Mina Rosetta variables export MINA_ROSETTA_ONLINE_PORT=${MINA_ROSETTA_ONLINE_PORT:=3087} diff --git a/buildkite/src/Constants/Artifacts.dhall b/buildkite/src/Constants/Artifacts.dhall index 4d7acd9ff12..acd41dff4e2 100644 --- a/buildkite/src/Constants/Artifacts.dhall +++ b/buildkite/src/Constants/Artifacts.dhall @@ -79,7 +79,7 @@ let toDebianName = , Archive = "archive" , TestExecutive = "test_executive" , BatchTxn = "batch_txn" - , Rosetta = "" + , Rosetta = "rosetta_${Network.lowerName network}" , ZkappTestTransaction = "zkapp_test_transaction" , FunctionalTestSuite = "functional_test_suite" } @@ -103,7 +103,14 @@ let toDebianNames = , Archive = [ "archive" ] , TestExecutive = [ "test_executive" ] , BatchTxn = [ "batch_txn" ] - , Rosetta = [ "" ] + , Rosetta = + Prelude.List.map + Network.Type + Text + ( \(n : Network.Type) + -> "rosetta_${Network.lowerName n}" + ) + networks , ZkappTestTransaction = [ "zkapp_test_transaction" ] , FunctionalTestSuite = [ "functional_test_suite" ] } diff --git a/dockerfiles/Dockerfile-mina-rosetta b/dockerfiles/Dockerfile-mina-rosetta index 8c5cd9b82b6..53355cc049f 100644 --- a/dockerfiles/Dockerfile-mina-rosetta +++ b/dockerfiles/Dockerfile-mina-rosetta @@ -99,7 +99,7 @@ RUN mkdir -p --mode=700 ${MINA_CONFIG_DIR}/wallets/store/ \ RUN echo "Building image with version $deb_version from repo $deb_release $deb_codename for network $network" \ && echo "deb [trusted=yes] ${deb_repo} $deb_codename $deb_release" > /etc/apt/sources.list.d/o1.list \ && apt-get update --quiet --yes \ - && apt-get install --quiet --yes --allow-downgrades "mina-$network=$deb_version" "mina-archive=$deb_version" "mina-zkapp-test-transaction=$deb_version" \ + && apt-get install --quiet --yes --allow-downgrades "mina-$network=$deb_version" "mina-rosetta-$network=$deb_version" "mina-archive=$deb_version" "mina-zkapp-test-transaction=$deb_version" \ && rm -rf /var/lib/apt/lists/* # --- Set up postgres diff --git a/scripts/create_hardfork_deb.sh b/scripts/create_hardfork_deb.sh index b248f64eeaf..a66cc9101a2 100755 --- a/scripts/create_hardfork_deb.sh +++ b/scripts/create_hardfork_deb.sh @@ -50,8 +50,6 @@ done # Overwrite outdated ledgers that are being updated by the hardfork (backing up the outdated ledgers) mv "${BUILDDIR}/var/lib/coda/${NETWORK_NAME}.json" "${BUILDDIR}/var/lib/coda/${NETWORK_NAME}.old.json" cp "${RUNTIME_CONFIG_JSON}" "${BUILDDIR}/var/lib/coda/${NETWORK_NAME}.json" -mv "${BUILDDIR}/etc/mina/rosetta/genesis_ledgers/${NETWORK_NAME}.json" "${BUILDDIR}/etc/mina/rosetta/genesis_ledgers/${NETWORK_NAME}.old.json" -cp "${RUNTIME_CONFIG_JSON}" "${BUILDDIR}/etc/mina/rosetta/genesis_ledgers/${NETWORK_NAME}.json" build_deb "${NETWORK_TAG}" build_logproc_deb diff --git a/scripts/deb-builder-helpers.sh b/scripts/deb-builder-helpers.sh index d07d358c823..8c2f418b76d 100755 --- a/scripts/deb-builder-helpers.sh +++ b/scripts/deb-builder-helpers.sh @@ -151,33 +151,12 @@ copy_common_daemon_configs() { # Copy shared binaries cp ../src/app/libp2p_helper/result/bin/libp2p_helper "${BUILDDIR}/usr/local/bin/coda-libp2p_helper" - # cp ./default/src/app/logproc/logproc.exe "${BUILDDIR}/usr/local/bin/mina-logproc" cp ./default/src/app/runtime_genesis_ledger/runtime_genesis_ledger.exe "${BUILDDIR}/usr/local/bin/mina-create-genesis" cp ./default/src/app/generate_keypair/generate_keypair.exe "${BUILDDIR}/usr/local/bin/mina-generate-keypair" cp ./default/src/app/validate_keypair/validate_keypair.exe "${BUILDDIR}/usr/local/bin/mina-validate-keypair" # Copy signature-based Binaries (based on signature type $2 passed into the function) cp ./default/src/app/cli/src/mina_${2}_signatures.exe "${BUILDDIR}/usr/local/bin/mina" - - # Copy rosetta-based Binaries - cp ./default/src/app/rosetta/rosetta_${2}_signatures.exe "${BUILDDIR}/usr/local/bin/mina-rosetta" - cp ./default/src/app/rosetta/ocaml-signer/signer_${2}_signatures.exe "${BUILDDIR}/usr/local/bin/mina-ocaml-signer" - - mkdir -p "${BUILDDIR}/etc/mina/rosetta" - mkdir -p "${BUILDDIR}/etc/mina/rosetta/rosetta-cli-config" - mkdir -p "${BUILDDIR}/etc/mina/rosetta/archive" - mkdir -p "${BUILDDIR}/etc/mina/rosetta/genesis_ledgers" - mkdir -p "${BUILDDIR}/etc/mina/rosetta/scripts" - - # --- Copy artifacts - cp ../src/app/rosetta/scripts/* "${BUILDDIR}/etc/mina/rosetta/scripts" - cp ../scripts/archive/missing-blocks-guardian.sh "${BUILDDIR}/etc/mina/rosetta/scripts" - - cp ../src/app/rosetta/rosetta-cli-config/*.json "${BUILDDIR}/etc/mina/rosetta/rosetta-cli-config" - cp ../src/app/rosetta/rosetta-cli-config/*.ros "${BUILDDIR}/etc/mina/rosetta/rosetta-cli-config" - cp ./default/src/app/rosetta/indexer_test/indexer_test.exe "${BUILDDIR}/usr/local/bin/mina-rosetta-indexer-test" - cp ../src/app/archive/*.sql "${BUILDDIR}/etc/mina/rosetta/archive" - cp -r ../genesis_ledgers/* ${BUILDDIR}/etc/mina/rosetta/genesis_ledgers/ # Copy over Build Configs (based on $2) mkdir -p "${BUILDDIR}/etc/coda/build_config" @@ -276,6 +255,64 @@ build_functional_test_suite_deb() { } ##################################### END TEST SUITE PACKAGE ####################################### +function copy_common_rosetta_configs () { + + # Copy rosetta-based Binaries + cp ./default/src/app/rosetta/rosetta_${1}_signatures.exe "${BUILDDIR}/usr/local/bin/mina-rosetta" + cp ./default/src/app/rosetta/ocaml-signer/signer_${1}_signatures.exe "${BUILDDIR}/usr/local/bin/mina-ocaml-signer" + + mkdir -p "${BUILDDIR}/etc/mina/rosetta" + mkdir -p "${BUILDDIR}/etc/mina/rosetta/rosetta-cli-config" + mkdir -p "${BUILDDIR}/etc/mina/rosetta/scripts" + + # --- Copy artifacts + cp ../src/app/rosetta/scripts/* "${BUILDDIR}/etc/mina/rosetta/scripts" + cp ../src/app/rosetta/rosetta-cli-config/*.json "${BUILDDIR}/etc/mina/rosetta/rosetta-cli-config" + cp ../src/app/rosetta/rosetta-cli-config/*.ros "${BUILDDIR}/etc/mina/rosetta/rosetta-cli-config" + cp ./default/src/app/rosetta/indexer_test/indexer_test.exe "${BUILDDIR}/usr/local/bin/mina-rosetta-indexer-test" + +} + +##################################### ROSETTA MAINNET PACKAGE ####################################### +build_rosetta_mainnet_deb() { + + echo "------------------------------------------------------------" + echo "--- Building mainnet rosetta deb" + + create_control_file mina-rosetta-mainnet "${SHARED_DEPS}" 'Mina Protocol Rosetta Client' "${SUGGESTED_DEPS}" + + copy_common_rosetta_configs "mainnet" + + build_deb mina-rosetta-mainnet +} + +##################################### ROSETTA MAINNET PACKAGE ####################################### +build_rosetta_devnet_deb() { + + echo "------------------------------------------------------------" + echo "--- Building devnet rosetta deb" + + create_control_file mina-rosetta-devnet "${SHARED_DEPS}" 'Mina Protocol Rosetta Client' "${SUGGESTED_DEPS}" + + copy_common_rosetta_configs "testnet" + + build_deb mina-rosetta-devnet +} + +##################################### ROSETTA BERKELEY PACKAGE ####################################### +build_rosetta_berkeley_deb() { + + echo "------------------------------------------------------------" + echo "--- Building rosetta berkeley deb" + + create_control_file mina-rosetta-berkeley "${SHARED_DEPS}" 'Mina Protocol Rosetta Client' "${SUGGESTED_DEPS}" + + copy_common_rosetta_configs "testnet" + + build_deb mina-rosetta-berkeley +} + + ##################################### MAINNET PACKAGE ####################################### build_daemon_mainnet_deb() { diff --git a/scripts/rebuild-deb.sh b/scripts/rebuild-deb.sh index e90f125f967..db063592a64 100755 --- a/scripts/rebuild-deb.sh +++ b/scripts/rebuild-deb.sh @@ -17,8 +17,11 @@ if [ $# -eq 0 ] build_archive_deb build_batch_txn_deb build_daemon_berkeley_deb - build_mainnet_daemon_deb - build_devnet_daemon_deb + build_daemon_mainnet_deb + build_daemon_devnet_deb + build_rosetta_berkeley_deb + build_rosetta_mainnet_deb + build_rosetta_devnet_deb build_test_executive_deb build_functional_test_suite_deb build_zkapp_test_transaction_deb diff --git a/src/app/rosetta/scripts/docker-demo-start.sh b/src/app/rosetta/scripts/docker-demo-start.sh index 853d4972ec1..571c4b7a424 100755 --- a/src/app/rosetta/scripts/docker-demo-start.sh +++ b/src/app/rosetta/scripts/docker-demo-start.sh @@ -36,7 +36,7 @@ export MINA_POSTGRES_CONF=${MINA_POSTGRES_CONF:=/etc/mina/rosetta/scripts/postgr # Mina Archive variables export MINA_ARCHIVE_PORT=${MINA_ARCHIVE_PORT:=3086} -export MINA_ARCHIVE_SQL_SCHEMA_PATH=${MINA_ARCHIVE_SQL_SCHEMA_PATH:=/etc/mina/rosetta/archive/create_schema.sql} +export MINA_ARCHIVE_SQL_SCHEMA_PATH=${MINA_ARCHIVE_SQL_SCHEMA_PATH:=/etc/mina/archive/create_schema.sql} # Mina Rosetta variables # To interact with rosetta, use MINA_ROSETTA_ONLINE_PORT and MINA_ROSETTA_OFFLINE_PORT. diff --git a/src/app/rosetta/scripts/docker-start.sh b/src/app/rosetta/scripts/docker-start.sh index a322159a53c..5af7f9e8d61 100755 --- a/src/app/rosetta/scripts/docker-start.sh +++ b/src/app/rosetta/scripts/docker-start.sh @@ -30,7 +30,7 @@ export MINA_LIBP2P_PASS=${MINA_LIBP2P_PASS:=''} export MINA_NETWORK=${MINA_NETWORK:=mainnet} export MINA_SUFFIX=${MINA_SUFFIX:=} export MINA_GENESIS_LEDGER_URL=${MINA_GENESIS_LEDGER_URL:=} -export MINA_CONFIG_FILE="${MINA_CONFIG_FILE:=/etc/mina/rosetta/genesis_ledgers/${MINA_NETWORK}.json}" +export MINA_CONFIG_FILE="${MINA_CONFIG_FILE:=/var/lib/coda/${MINA_NETWORK}.json}" export MINA_CONFIG_DIR="${MINA_CONFIG_DIR:=/data/.mina-config}" export MINA_CLIENT_TRUSTLIST=${MINA_CLIENT_TRUSTLIST:=} export PEER_LIST_URL=${PEER_LIST_URL:=https://storage.googleapis.com/seed-lists/${MINA_NETWORK}_seeds.txt}