Skip to content

Commit

Permalink
allow already-migrated hashes
Browse files Browse the repository at this point in the history
  • Loading branch information
It's me, CI committed Oct 30, 2023
1 parent aa58750 commit f7c4c3c
Showing 3 changed files with 18 additions and 4 deletions.
5 changes: 4 additions & 1 deletion scripts/migrate-receipt-chain-hashes.sh
Original file line number Diff line number Diff line change
@@ -11,21 +11,24 @@ HASHES_FILE=${2:-hashes_file.tmp}
UPDATE_SCRIPT=${3:-hashes_update.sql}

echo "Migrating receipt chain hashes in account preconditions in archive db '"$ARCHIVE_DB"'"
echo "Using temporary file '"$HASHES_FILE"' and creating SQL script '"$UPDATE_SCRIPT"'"

rm -f $HASHES_FILE
rm -f $UPDATE_SCRIPT

echo "Creating temporary file" "'"$HASHES_FILE"'"
echo "select id,receipt_chain_hash from zkapp_account_precondition where receipt_chain_hash is not null;" | \
psql --csv -t -q $ARCHIVE_DB > $HASHES_FILE

echo "Creating SQL script" "'"$UPDATE_SCRIPT"'"
for line in `cat $HASHES_FILE`
do (
ID=$(echo $line | awk -F , '{print $1}');
FP=$(echo $line | awk -F , '{print $2}');
B58=$(echo $FP | _build/default/src/app/receipt_chain_hash_to_b58/receipt_chain_hash_to_b58.exe);
echo -n .
echo $ID "'"$B58"'" | awk '{print "UPDATE zkapp_account_precondition SET receipt_chain_hash=" $2 " WHERE id=" $1 ";"}' >> $UPDATE_SCRIPT)
done

echo
echo "Done!"
echo "Now run:" "psql -d" $ARCHIVE_DB "<" $UPDATE_SCRIPT
1 change: 1 addition & 0 deletions src/app/receipt_chain_hash_to_b58/dune
Original file line number Diff line number Diff line change
@@ -4,6 +4,7 @@
(public_name receipt_chain_hash_to_b58)
(libraries
;; opam libraries
core_kernel
;; local libraries
mina_base
kimchi_backend
16 changes: 13 additions & 3 deletions src/app/receipt_chain_hash_to_b58/receipt_chain_hash_to_b58.ml
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
open Core_kernel
open Mina_base

let () =
let s = Stdlib.read_line () in
let fp = Kimchi_backend.Pasta.Basic.Fp.of_string s in
let receipt_chain_hash : Mina_base.Receipt.Chain_hash.t = fp in
Format.printf "%s@." (Mina_base.Receipt.Chain_hash.to_base58_check receipt_chain_hash)
let b58 =
match Receipt.Chain_hash.of_base58_check s with
| Ok _ ->
s
| Error _ ->
let fp = Kimchi_backend.Pasta.Basic.Fp.of_string s in
let receipt_chain_hash : Mina_base.Receipt.Chain_hash.t = fp in
Receipt.Chain_hash.to_base58_check receipt_chain_hash
in
Format.printf "%s@." b58

0 comments on commit f7c4c3c

Please sign in to comment.