#!/usr/bin/env bash
set -e

SCRIPT_DIR=$(dirname "$(readlink -f ${BASH_SOURCE[0]})")

source "$SCRIPT_DIR/utils.sh"

parse_args "--account:ACCOUNT_ID,--registry:REGISTRY_ID,--version-key:VERSION_KEY,--network:NETWORK,--private-key:PRIVATE_KEY" "$@"

if [ -z "$NETWORK" ]; then
    NETWORK="testnet"
fi

cd "${SCRIPT_DIR}/../../contract/market"

echo "Building market"

cargo near build reproducible-wasm


echo "Generating Borsh arguments"

ARGS_FILE=$(mktemp "/tmp/args-XXXXXX")
trap "rm -f $ARGS_FILE" EXIT

cargo run --package test-utils --example registry_add_version_args -- "${VERSION_KEY}" > $ARGS_FILE


echo "Creating new version on registry"

near contract call-function as-transaction "${REGISTRY_ID}" \
    add_version \
        file-args "${ARGS_FILE}" \
        prepaid-gas '300.0 Tgas' \
        attached-deposit '1 yoctoNEAR' \
    sign-as "${ACCOUNT_ID}" \
    network-config "${NETWORK}" \
    sign-with-plaintext-private-key "${PRIVATE_KEY}" \
    send


echo "Done"
