-
Notifications
You must be signed in to change notification settings - Fork 201
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'MX-15222-sovereign-chain-simulator' into MX-15222-actua…
…l-sovereign-chain-simulator
- Loading branch information
Showing
19 changed files
with
1,175 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
deployMainChainContractsAndSetupObserver() { | ||
deployEsdtSafeContract | ||
|
||
deployFeeMarketContract | ||
|
||
setFeeMarketAddress | ||
|
||
disableFeeMarketContract | ||
|
||
unpauseEsdtSafeContract | ||
|
||
setGenesisContract | ||
|
||
updateSovereignConfig | ||
|
||
prepareObserver | ||
} | ||
|
||
sovereignDeploy() { | ||
updateNotifierNotarizationRound | ||
|
||
../config.sh | ||
|
||
deployMultisigVerifierContract | ||
|
||
setEsdtSafeAddress | ||
|
||
updateAndStartBridgeService | ||
|
||
../sovereignStart.sh | ||
|
||
deployObserver | ||
|
||
setMultisigAddress | ||
|
||
setSovereignBridgeAddress | ||
|
||
getFundsInAddressSovereign | ||
|
||
setFeeMarketAddressSovereign | ||
|
||
disableFeeMarketContractSovereign | ||
|
||
unpauseEsdtSafeContractSovereign | ||
} | ||
|
||
stopAndCleanSovereign() { | ||
../stop.sh | ||
|
||
screen -S sovereignBridgeService -X kill | ||
|
||
../clean.sh | ||
|
||
stopObserver | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
#============ OWNER ============== | ||
|
||
WALLET="~/wallet.pem" | ||
WALLET_ADDRESS=erd1 | ||
|
||
#============ WASM FILES ============== | ||
|
||
ESDT_SAFE_WASM="~/contracts/esdt-safe.wasm" | ||
FEE_MARKET_WASM="~/contracts/fee-market.wasm" | ||
MULTISIG_VERIFIER_WASM="~/contracts/multisigverifier.wasm" | ||
|
||
#=========== CHAIN SPECIFIC CONSTANTS =========== | ||
ESDT_SYSTEM_SC_ADDRESS=erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzllls8a5w6u | ||
ESDT_ISSUE_COST=50000000000000000 | ||
|
||
PROXY=https://testnet-gateway.multiversx.com | ||
CHAIN_ID=T | ||
PRICE_AGGREGATOR_ADDRESS=erd1qqqqqqqqqqqqqpgqfsfcrxnlym0fjlnuvus2dmlz6ju9cpsfexks8wq4d4 | ||
WEGLD_TOKEN_ID=WEGLD-a28c59 | ||
USDC_TOKEN_ID=USDC-350c4e | ||
|
||
PROXY_SOVEREIGN=http://localhost:7950 | ||
CHAIN_ID_SOVEREIGN=local-testnet | ||
|
||
#============ ESDT SAFE DEPLOY ARGUMENTS ============== | ||
|
||
MIN_VALID_SIGNERS=0 | ||
INITIATOR_ADDRESS=erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th | ||
SIGNERS= | ||
|
||
#============ ISSUE MAIN CHAIN TOKEN SETTINGS ============== | ||
|
||
TOKEN_TICKER=TKN | ||
TOKEN_DISPLAY_NAME=Token | ||
NR_DECIMALS=18 | ||
INITIAL_SUPPLY=111222333 | ||
|
||
#============ MAIN CHAIN TOKEN TO DEPOSIT ============== | ||
|
||
DEPOSIT_TOKEN_IDENTIFIER= | ||
DEPOSIT_TOKEN_NR_DECIMALS=18 | ||
DEPOSIT_TOKEN_AMOUNT_TO_TRANSFER=123 | ||
|
||
#============ ISSUE SOVEREIGN TOKEN SETTINGS ============== | ||
|
||
TOKEN_TICKER_SOVEREIGN=SVN | ||
TOKEN_DISPLAY_NAME_SOVEREIGN=SovToken | ||
NR_DECIMALS_SOVEREIGN=18 | ||
INITIAL_SUPPLY_SOVEREIGN=333222111 | ||
|
||
#============ SOVEREIGN TOKEN TO DEPOSIT ============== | ||
|
||
DEPOSIT_TOKEN_IDENTIFIER_SOVEREIGN= | ||
DEPOSIT_TOKEN_NR_DECIMALS_SOVEREIGN=18 | ||
DEPOSIT_TOKEN_AMOUNT_TO_TRANSFER_SOVEREIGN=321 |
168 changes: 168 additions & 0 deletions
168
scripts/testnet/sovereignBridge/config/esdt-safe.snippets.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,168 @@ | ||
ESDT_SAFE_ADDRESS=$(mxpy data load --partition=${CHAIN_ID} --key=address-esdt-safe-contract) | ||
ESDT_SAFE_ADDRESS_SOVEREIGN=$(mxpy data load --partition=sovereign --key=address-esdt-safe-contract) | ||
|
||
deployEsdtSafeContract() { | ||
mxpy --verbose contract deploy \ | ||
--bytecode=$(eval echo ${ESDT_SAFE_WASM}) \ | ||
--pem=${WALLET} \ | ||
--proxy=${PROXY} \ | ||
--chain=${CHAIN_ID} \ | ||
--gas-limit=200000000 \ | ||
--arguments \ | ||
false \ | ||
${MIN_VALID_SIGNERS} \ | ||
${INITIATOR_ADDRESS} \ | ||
${SIGNERS} \ | ||
--outfile="${SCRIPT_PATH}/deploy-esdt-safe.interaction.json" \ | ||
--recall-nonce \ | ||
--wait-result \ | ||
--send || return | ||
|
||
local TX_STATUS=$(mxpy data parse --file="${SCRIPT_PATH}/deploy-esdt-safe.interaction.json" --expression="data['transactionOnNetwork']['status']") | ||
if [ "$TX_STATUS" != "success" ]; then | ||
echo "Transaction was not successful" | ||
return | ||
fi | ||
|
||
local ADDRESS=$(mxpy data parse --file="${SCRIPT_PATH}/deploy-esdt-safe.interaction.json" --expression="data['contractAddress']") | ||
mxpy data store --partition=${CHAIN_ID} --key=address-esdt-safe-contract --value=${ADDRESS} | ||
ESDT_SAFE_ADDRESS=$(mxpy data load --partition=${CHAIN_ID} --key=address-esdt-safe-contract) | ||
echo -e "ESDT Safe contract: ${ADDRESS}" | ||
|
||
local SOVEREIGN_CONTRACT_ADDRESS=$(computeFirstSovereignContractAddress) | ||
mxpy data store --partition=sovereign --key=address-esdt-safe-contract --value=${SOVEREIGN_CONTRACT_ADDRESS} | ||
ESDT_SAFE_ADDRESS_SOVEREIGN=$(mxpy data load --partition=sovereign --key=address-esdt-safe-contract) | ||
echo -e "ESDT Safe sovereign contract: ${SOVEREIGN_CONTRACT_ADDRESS}" | ||
} | ||
|
||
upgradeEsdtSafeContract() { | ||
mxpy --verbose contract upgrade ${ESDT_SAFE_ADDRESS} \ | ||
--bytecode=$(eval echo ${ESDT_SAFE_WASM}) \ | ||
--pem=${WALLET} \ | ||
--proxy=${PROXY} \ | ||
--chain=${CHAIN_ID} \ | ||
--gas-limit=200000000 \ | ||
--outfile="${SCRIPT_PATH}/upgrade-esdt-safe.interaction.json" \ | ||
--recall-nonce \ | ||
--wait-result \ | ||
--send || return | ||
|
||
local TX_STATUS=$(mxpy data parse --file="${SCRIPT_PATH}/upgrade-esdt-safe.interaction.json" --expression="data['transactionOnNetwork']['status']") | ||
if [ "$TX_STATUS" != "success" ]; then | ||
echo "Transaction was not successful" | ||
return | ||
fi | ||
} | ||
|
||
pauseEsdtSafeContract() { | ||
pauseEsdtSafeContractCall ${ESDT_SAFE_ADDRESS} ${PROXY} ${CHAIN_ID} | ||
} | ||
pauseEsdtSafeContractSovereign() { | ||
pauseEsdtSafeContractCall ${ESDT_SAFE_ADDRESS_SOVEREIGN} ${PROXY_SOVEREIGN} ${CHAIN_ID_SOVEREIGN} | ||
} | ||
pauseEsdtSafeContractCall() { | ||
if [ $# -lt 3 ]; then | ||
echo "Usage: $0 <arg1> <arg2> <arg3>" | ||
exit 1 | ||
fi | ||
|
||
local ADDRESS=$1 | ||
local URL=$2 | ||
local CHAIN=$3 | ||
|
||
mxpy --verbose contract call ${ADDRESS} \ | ||
--pem=${WALLET} \ | ||
--proxy=${URL} \ | ||
--chain=${CHAIN} \ | ||
--gas-limit=10000000 \ | ||
--function="pause" \ | ||
--recall-nonce \ | ||
--wait-result \ | ||
--send || return | ||
} | ||
|
||
unpauseEsdtSafeContract() { | ||
unpauseEsdtSafeContractCall ${ESDT_SAFE_ADDRESS} ${PROXY} ${CHAIN_ID} | ||
} | ||
unpauseEsdtSafeContractSovereign() { | ||
unpauseEsdtSafeContractCall ${ESDT_SAFE_ADDRESS_SOVEREIGN} ${PROXY_SOVEREIGN} ${CHAIN_ID_SOVEREIGN} | ||
} | ||
unpauseEsdtSafeContractCall() { | ||
if [ $# -lt 3 ]; then | ||
echo "Usage: $0 <arg1> <arg2> <arg3>" | ||
exit 1 | ||
fi | ||
|
||
local ADDRESS=$1 | ||
local URL=$2 | ||
local CHAIN=$3 | ||
|
||
mxpy --verbose contract call ${ADDRESS} \ | ||
--pem=${WALLET} \ | ||
--proxy=${URL} \ | ||
--chain=${CHAIN} \ | ||
--gas-limit=10000000 \ | ||
--function="unpause" \ | ||
--recall-nonce \ | ||
--wait-result \ | ||
--send || return | ||
} | ||
|
||
setFeeMarketAddress() { | ||
setFeeMarketAddressCall ${ESDT_SAFE_ADDRESS} ${FEE_MARKET_ADDRESS} ${PROXY} ${CHAIN_ID} | ||
} | ||
setFeeMarketAddressSovereign() { | ||
setFeeMarketAddressCall ${ESDT_SAFE_ADDRESS_SOVEREIGN} ${FEE_MARKET_ADDRESS_SOVEREIGN} ${PROXY_SOVEREIGN} ${CHAIN_ID_SOVEREIGN} | ||
} | ||
setFeeMarketAddressCall() { | ||
if [ $# -lt 4 ]; then | ||
echo "Usage: $0 <arg1> <arg2> <arg3> <arg4>" | ||
exit 1 | ||
fi | ||
|
||
local ESDT_SAFE_CONTRACT_ADDRESS=$1 | ||
local FEE_MARKET_CONTRACT_ADDRESS=$2 | ||
local URL=$3 | ||
local CHAIN=$4 | ||
|
||
mxpy --verbose contract call ${ESDT_SAFE_CONTRACT_ADDRESS} \ | ||
--pem=${WALLET} \ | ||
--proxy=${URL} \ | ||
--chain=${CHAIN} \ | ||
--gas-limit=10000000 \ | ||
--function="setFeeMarketAddress" \ | ||
--arguments ${FEE_MARKET_CONTRACT_ADDRESS} \ | ||
--recall-nonce \ | ||
--wait-result \ | ||
--send || return | ||
} | ||
|
||
setMultisigAddress() { | ||
checkVariables ESDT_SAFE_ADDRESS MULTISIG_VERIFIER_ADDRESS || return | ||
|
||
mxpy --verbose contract call ${ESDT_SAFE_ADDRESS} \ | ||
--pem=${WALLET} \ | ||
--proxy=${PROXY} \ | ||
--chain=${CHAIN_ID} \ | ||
--gas-limit=10000000 \ | ||
--function="setMultisigAddress" \ | ||
--arguments ${MULTISIG_VERIFIER_ADDRESS} \ | ||
--recall-nonce \ | ||
--wait-result \ | ||
--send || return | ||
} | ||
|
||
setSovereignBridgeAddress() { | ||
checkVariables ESDT_SAFE_ADDRESS ESDT_SAFE_ADDRESS_SOVEREIGN || return | ||
|
||
mxpy --verbose contract call ${ESDT_SAFE_ADDRESS} \ | ||
--pem=${WALLET} \ | ||
--proxy=${PROXY} \ | ||
--chain=${CHAIN_ID} \ | ||
--gas-limit=10000000 \ | ||
--function="setSovereignBridgeAddress" \ | ||
--arguments ${ESDT_SAFE_ADDRESS_SOVEREIGN} \ | ||
--recall-nonce \ | ||
--wait-result \ | ||
--send || return | ||
} |
Oops, something went wrong.