#!/usr/usr/bin/env bash
# Copyright (c) 2016-2024 The Hush developers
# Distributed under the GPLv3 software license, see the accompanying
# file COPYING or https://www.gnu.org/licenses/gpl-3.0.en.html
# This script makes the neccesary transactions to migrate
# coin between 2 assetchains on the same -ac_cc id
set -e
source=DERPZ
target=DERPZ000
address="Rxxx"
amount=1

# Alias for running cli on source chain
cli_source="hush-cli -ac_name=$source"

# Raw tx that we will work with
txraw=`$cli_source createrawtransaction "[]" "{\"$address\":$amount}"`

# Convert to an export tx
exportData=`$cli_source migrate_converttoexport $txraw $target $amount`
exportRaw=`echo $exportData | jq -r .exportTx`
exportPayouts=`echo $exportData | jq -r .payouts`

# Fund
exportFundedData=`$cli_source fundrawtransaction $exportRaw`
exportFundedTx=`echo $exportFundedData | jq -r .hex`

# Sign
exportSignedData=`$cli_source signrawtransaction $exportFundedTx`
exportSignedTx=`echo $exportSignedData | jq -r .hex`

# Send
echo "Sending export tx"
$cli_source sendrawtransaction $exportSignedTx

read -p "Wait for a notarization to HUSH, and then two more notarizations from the target chain, and then press enter to continue"

# Create import
importTx=`$cli_source migrate_createimporttransaction $exportSignedTx $payouts`
importTx=`hush-cli migrate_completeimporttransaction $importTx`

# Send import
hush-cli -ac_name=$target sendrawtransaction $importTx
