Skip to content

Commit

Permalink
Changes necessary to deploy icon-bsc because of bsh merge to bts
Browse files Browse the repository at this point in the history
  • Loading branch information
Manish committed Jul 10, 2022
1 parent e324efe commit 4f715fa
Show file tree
Hide file tree
Showing 9 changed files with 403 additions and 250 deletions.
9 changes: 6 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,11 @@ dist-sol-bmc: $(SOLIDITY_DIST_DIR)/bmc
dist-sol-bmv: $(SOLIDITY_DIST_DIR)/bmv
cd $(SOLIDITY_DIST_DIR)/bmv ;

dist-sol-native_bsh: $(SOLIDITY_DIST_DIR)/bsh
cd $(SOLIDITY_DIST_DIR)/bsh ;
dist-sol-bts: $(SOLIDITY_DIST_DIR)/bts
cd $(SOLIDITY_DIST_DIR)/bts ;

# dist-sol-native_bsh: $(SOLIDITY_DIST_DIR)/bsh
# cd $(SOLIDITY_DIST_DIR)/bsh ;

dist-sol-token_bsh: $(SOLIDITY_DIST_DIR)/TokenBSH
cd $(SOLIDITY_DIST_DIR)/TokenBSH ;
Expand All @@ -112,7 +115,7 @@ clean-dist-py:
clean-dist-sol:
rm -rf $(SOLIDITY_DIST_DIR)

dist-sol: dist-sol-bmc dist-sol-token_bsh dist-sol-native_bsh
dist-sol: dist-sol-bmc dist-sol-bts

dist-javascore:
$(BUILD_ROOT)/docker/javascore/build.sh
Expand Down
4 changes: 2 additions & 2 deletions devnet/docker/icon-bsc/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,10 @@ COPY ./scripts/*.js /iconbridge/js/
RUN chmod +x /provision.sh
RUN chmod +x /entrypoint.sh
RUN chmod +x /iconbridge/bin/wait-for-it.sh
RUN chmod +x /iconbridge/bin/iconvalidators

RUN yarn --cwd $ICONBRIDGE_CONTRACTS_DIR/solidity/bmc --prod
RUN yarn --cwd $ICONBRIDGE_CONTRACTS_DIR/solidity/bsh --prod
RUN yarn --cwd $ICONBRIDGE_CONTRACTS_DIR/solidity/TokenBSH --prod
RUN yarn --cwd $ICONBRIDGE_CONTRACTS_DIR/solidity/bts --prod

WORKDIR /iconbridge/config
ENTRYPOINT ["entrypoint.sh"]
2 changes: 1 addition & 1 deletion devnet/docker/icon-bsc/env.variables.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,4 @@ export TOKEN_NAME=ETH
export TOKEN_SYM=ETH
export TOKEN_SUPPLY=0x186A0
export TOKEN_DECIMALS=0x12
export SVC_NAME=TokenBSH
export SVC_NAME='bts'
11 changes: 8 additions & 3 deletions devnet/docker/icon-bsc/scripts/bmc.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,15 @@ module.exports = async function (callback) {
console.log("Add link ", argv.link)
tx = await bmcManagement.addLink(argv.link);
console.log(tx)
console.log("Set link")
tx = await bmcManagement.setLink(argv.link, argv.blockInterval, argv.maxAggregation, argv.delayLimit);
console.log(tx)
// console.log("Set link")
// tx = await bmcManagement.setLink(argv.link, argv.blockInterval, argv.maxAggregation, argv.delayLimit);
// console.log(tx)
break;
case "setLinkRxHeight":
console.log("SetLinkRxHeight link ", argv.link)
tx = await bmcManagement.setLinkRxHeight(argv.link, argv.height);
console.log(tx)
break
case "addRelay":
console.log("Add relay ", argv.link)
let relays = [argv.addr]
Expand Down
29 changes: 29 additions & 0 deletions devnet/docker/icon-bsc/scripts/bts.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
const BTSCore = artifacts.require("BTSCore");
const address = require('./addresses.json');
module.exports = async function (callback) {
try {
var argv = require('minimist')(process.argv.slice(2), { string: ['addr'] });
const btsCore = await BTSCore.deployed();
switch (argv["method"]) {
case "setFeeRatio":
tx = await btsCore.setFeeRatio(argv.name, argv.feeNumerator, argv.fixedFee);
console.log(tx);
break;
case "register":
tx = await btsCore.register(argv.name, argv.symbol, argv.decimals, argv.feeNumerator, argv.fixedFee, argv.addr);
console.log(tx);
break;
case "coinId":
tx = await btsCore.coinId(argv.coinName);
console.log(tx);
break;
default:
console.error("Bad input for method, ", argv)
}
}
catch (error) {
console.log(error)
}
callback()
}

119 changes: 55 additions & 64 deletions devnet/docker/icon-bsc/scripts/provision.sh
Original file line number Diff line number Diff line change
@@ -1,85 +1,81 @@
#!/bin/sh
#!/bin/bash
set -e

# Parts of this code is adapted from https://github.com/icon-project/btp/blob/goloop2moonbeam/testnet/goloop2moonbeam/scripts
source env.variables.sh

source rpc.sh

eth_blocknumber() {
curl -s -X POST $BSC_RPC_URI --header 'Content-Type: application/json' \
--data-raw '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[], "id": 1}' | jq -r .result | xargs printf "%d\n"
}

goloop_lastblock() {
goloop rpc lastblock
}

provision() {

cp -r $ICONBRIDGE_BASE_DIR/keys/* $ICONBRIDGE_CONFIG_DIR
cp $ICONBRIDGE_CONFIG_DIR/env $ICONBRIDGE_BIN_DIR/env

if [ ! -f $ICONBRIDGE_CONFIG_DIR/provision ]; then
echo "start provisioning..."

# shellcheck disable=SC2059

echo "$GOLOOP_RPC_NID.icon" >net.btp.icon
sleep 10
echo "$GOLOOP_RPC_NID.icon" >net.btp.icon #0x240fa7.icon
mkdir -p $ICONBRIDGE_CONFIG_DIR/tx
eth_blocknumber >/iconbridge/config/offset.bsc

source token.javascore.sh
source token.solidity.sh

#deploy icon
deploy_javascore_bmc
# deploy_javascore_bsh
deploy_javascore_bsr
deploy_javascore_bts
deploy_javascore_irc2

deploy_solidity_bmc
deploy_solidity_bts
#deploy bsc

#bmc_javascore_addService
# bsh_javascore_register

source nativeCoin.javascore.sh
deploy_javascore_nativeCoin_BSH
bmc_javascore_addNativeService
nativeBSH_javascore_register
nativeBSH_javascore_register_token
nativeBSH_javascore_setFeeRatio

#deploy_solidity_tokenBSH_BEP20
source nativeCoin.solidity.sh
deploy_solidity_nativeCoin_BSH

generate_addresses_json >$ICONBRIDGE_CONFIG_DIR/addresses.json
cp $ICONBRIDGE_CONFIG_DIR/addresses.json $SCRIPTS_DIR/

#bsc_addService
bsc_registerToken

bmc_solidity_addNativeService
nativeBSH_solidity_register

token_bsc_fundBSH
token_icon_fundBSH

deploy_javascore_restrictor
configure_javascore_TokenBSH_restrictor
configure_javascore_NativeBSH_restrictor

bmc_javascore_addLink
bmc_javascore_addRelay
bmc_javascore_setFeeAggregator

cp $ICONBRIDGE_CONFIG_DIR/addresses.json $ICONBRIDGE_CONTRACTS_DIR/solidity/bts/
cp $ICONBRIDGE_CONFIG_DIR/addresses.json $ICONBRIDGE_CONTRACTS_DIR/solidity/bmc/

#configure icon
echo "CONFIGURE ICON"
configure_javascore_add_bmc_owner
configure_javascore_bmc_setFeeAggregator
configure_javascore_add_bts
configure_javascore_add_bts_owner
configure_javascore_set_bsr
configure_javascore_bts_setICXFee
#configure bsc
echo "CONFIGURE BSC"
configure_solidity_add_bts_service
configure_solidity_set_fee_ratio

#Link icon
echo "LINK ICON"
configure_javascore_addLink
configure_bmc_javascore_addRelay
configure_javascore_register_bnb
get_btp_icon_bnb
configure_javascore_register_ticx
configure_javascore_register_tbnb
get_btp_icon_tbnb

#Link bsc
echo "LINK BSC"
add_icon_link
set_link_height
add_icon_relay
bsc_register_icx
get_coinID_icx
bsc_register_tbnb
bsc_register_ticx
get_coinID_ticx

# token_bsc_fundBSH
# token_icon_fundBSH

generate_relay_config >$ICONBRIDGE_CONFIG_DIR/bmr.config.json
wait_for_file $ICONBRIDGE_CONFIG_DIR/bmr.config.json

cp $ICONBRIDGE_CONFIG_DIR/addresses.json $ICONBRIDGE_CONTRACTS_DIR/solidity/bts/
cp $ICONBRIDGE_CONFIG_DIR/addresses.json $ICONBRIDGE_CONTRACTS_DIR/solidity/TokenBSH/


touch $ICONBRIDGE_CONFIG_DIR/provision
echo "provision is now complete"
Expand Down Expand Up @@ -117,14 +113,9 @@ wait_for_file() {
done
}

btp_icon_validators_hash() {
URI=$ICON_ENDPOINT \
HEIGHT=$(decimal2Hex $(cat $CONFIG_DIR/offset.icon)) \
$ICONBRIDGE_BIN_DIR/iconvalidators | jq -r .hash
}


generate_relay_config() {
validatorsHash=$(btp_icon_validators_hash)
jq -n '
.base_dir = $base_dir |
.log_level = "debug" |
Expand All @@ -146,13 +137,13 @@ generate_relay_config() {
.dst.key_store = $dst_key_store |
.dst.key_store.coinType = $dst_key_store_cointype |
.dst.key_password = $dst_key_password ' \
--arg src_address "$(cat $CONFIG_DIR/btp.bsc)" \
--arg src_address "$(cat $CONFIG_DIR/btp.bsc.btp.address)" \
--arg src_endpoint "$BSC_ENDPOINT" \
--argjson src_offset "$(cat $CONFIG_DIR/offset.bsc)" \
--argjson src_offset "$(cat $CONFIG_DIR/btp.bsc.block.height)" \
--argjson src_options "$(
jq -n {}
)" \
--arg dst_address "$(cat $CONFIG_DIR/btp.icon)" \
--arg dst_address "$(cat $CONFIG_DIR/btp.icon.btp.address)" \
--arg dst_endpoint "$ICON_ENDPOINT" \
--argfile dst_key_store "$GOLOOP_RPC_KEY_STORE" \
--arg dst_key_store_cointype "icx" \
Expand All @@ -174,12 +165,12 @@ generate_relay_config() {
.dst.key_store = $dst_key_store |
.dst.key_store.coinType = $dst_key_store_cointype |
.dst.key_password = $dst_key_password ' \
--arg src_address "$(cat $CONFIG_DIR/btp.icon)" \
--arg src_address "$(cat $CONFIG_DIR/btp.icon.btp.address)" \
--arg src_endpoint "$ICON_ENDPOINT" \
--argjson src_offset "$(cat $CONFIG_DIR/offset.icon)" \
--argjson src_options_verifier_blockHeight "$(cat $CONFIG_DIR/offset.icon)" \
--arg src_options_verifier_validatorsHash "$validatorsHash" \
--arg dst_address "$(cat $CONFIG_DIR/btp.bsc)" \
--argjson src_offset "$(cat $CONFIG_DIR/btp.icon.block.height)" \
--argjson src_options_verifier_blockHeight "$(cat $CONFIG_DIR/btp.icon.block.height)" \
--arg src_options_verifier_validatorsHash "$(cat $CONFIG_DIR/btp.icon.validators.hash)" \
--arg dst_address "$(cat $CONFIG_DIR/btp.bsc.btp.address)" \
--arg dst_endpoint "$BSC_ENDPOINT" \
--argfile dst_key_store "$BSC_KEY_STORE" \
--arg dst_key_store_cointype "evm" \
Expand Down
Loading

0 comments on commit 4f715fa

Please sign in to comment.