Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/bsh_merge_hmny' into bridge_hmny
Browse files Browse the repository at this point in the history
  • Loading branch information
bbist committed Jul 5, 2022
2 parents aee03e1 + 3a5d4d3 commit e3b1d4a
Show file tree
Hide file tree
Showing 12 changed files with 99 additions and 66 deletions.
4 changes: 2 additions & 2 deletions devnet/docker/icon-bsc/scripts/bsh.nativeCoin.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@ module.exports = async function (callback) {
switch (argv["method"]) {
case "register":
console.log("registerCoin", argv.name)
tx = await bshCore.register(argv.name, argv.symbol, argv.decimals, argv.feeNumerator, argv.fixedFee);
tx = await bshCore.register(argv.name, argv.symbol, argv.decimals, argv.feeNumerator, argv.fixedFee,'0x0000000000000000000000000000000000000000');
//console.log(await bshCore.coinNames())
console.log(tx)
break;
case "getBalanceOf":
var balance = await bshCore.getBalanceOf(argv.addr, argv.name);
var balance = await bshCore.balanceOf(argv.addr, argv.name);
//console.log("balance of user:" + argv.addr + " = " + balance._usableBalance);
var bal = await web3.utils.fromWei(balance._usableBalance, "ether")
console.log(bal)
Expand Down
8 changes: 4 additions & 4 deletions devnet/docker/icon-bsc/scripts/bsh.token.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
const BSHProxy = artifacts.require('BSHProxy')
const BEP20TKN = artifacts.require('BEP20TKN');
const BSHProxy = artifacts.require('BSHCore')
const ERC20TKN = artifacts.require('ERC20TKN');
const address = require('./addresses.json');
module.exports = async function (callback) {
try {
var argv = require('minimist')(process.argv.slice(2), { string: ['addr', 'from'] });
const bshProxy = await BSHProxy.at(address.solidity.BSHProxy);
const bep20tkn = await BEP20TKN.at(address.solidity.BEP20TKN);
const bep20tkn = await ERC20TKN.at(address.solidity.BEP20TKN);
let tx;
switch (argv["method"]) {
case "registerToken":
console.log("registerToken", argv.name)
tx = await bshProxy.register(argv.addr, argv.name, argv.symbol, 18, argv.feeNumerator, argv.fixedFee)
tx = await bshProxy.register(argv.name, argv.symbol, 18, argv.feeNumerator, argv.fixedFee, argv.addr)
//console.log(await bshProxy.tokenNames())
console.log(tx)
break;
Expand Down
23 changes: 22 additions & 1 deletion devnet/docker/icon-bsc/scripts/nativeCoin.javascore.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ deploy_javascore_nativeCoin_BSH() {
--param _serializedIrc2=$IRC2_SERIALIZED_SCORE \
--param _name=ICX | jq -r . >tx.nativebsh.icon
extract_scoreAddress tx.nativebsh.icon nativebsh.icon
extract_scoreAddress tx.nativebsh.icon token_bsh.icon
}

bmc_javascore_addNativeService() {
Expand Down Expand Up @@ -47,13 +48,33 @@ nativeBSH_javascore_register() {
--method coinAddress --param _coinName=BNB | sed -e 's/^"//' -e 's/"$//' >irc2TradeableToken.icon
}


nativeBSH_javascore_register_token() {
echo "Register Coin Name with NativeBSH"
cd $CONFIG_DIR
FEE_NUMERATOR=0x64
FIXED_FEE=0x1388
goloop rpc sendtx call --to $(cat nativebsh.icon) \
--method register \
--param _addr=$(cat irc2_token.icon) \
--param _name=${TOKEN_NAME} \
--param _symbol=${TOKEN_SYM} \
--param _decimals=${TOKEN_DECIMALS} \
--param _feeNumerator=${FEE_NUMERATOR} \
--param _fixedFee=${FIXED_FEE} | jq -r . >tx/register.token.icon
ensure_txresult tx/register.token.icon
}


nativeBSH_javascore_setFeeRatio() {
echo "Setting Fee ratio for NativeCoin"
cd $CONFIG_DIR
FEE_NUMERATOR=0x64
FIXED_FEE=0x1388
goloop rpc sendtx call --to $(cat nativebsh.icon) \
--method setFeeRatio \
--param _name=ICX \
--param _feeNumerator=100 \
--param _feeNumerator=${FEE_NUMERATOR} \
--param _fixedFee=${FIXED_FEE} | jq -r . >tx/setFeeRatio.nativebsh.icon
ensure_txresult tx/setFeeRatio.nativebsh.icon
}
Expand Down
20 changes: 20 additions & 0 deletions devnet/docker/icon-bsc/scripts/nativeCoin.solidity.sh
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,14 @@ nativeBSH_solidity_register() {
echo "$tx" >$CONFIG_DIR/tx/register.nativeCoin.bsc
}

nativeBSH_solidity_register_token() {
echo "Register Coin Name with NativeBSH"
cd $CONTRACTS_DIR/solidity/bsh
tx=$(truffle exec --network bsc "$SCRIPTS_DIR"/bsh.nativeCoin.js \
--method register --name "ICX" --symbol "ICX" --decimals 18 --feeNumerator 100 --fixedFee 50000)
echo "$tx" >$CONFIG_DIR/tx/register.nativeCoin.bsc
}

bsc_init_native_btp_transfer() {
ICON_NET=$(cat $CONFIG_DIR/net.btp.icon)
ALICE_ADDRESS=$(get_alice_address)
Expand Down Expand Up @@ -123,12 +131,24 @@ generate_native_metadata() {
BSH_PERIPHERY_ADDRESS=$(jq -r '.networks[] | .address' build/contracts/BSHPeriphery.json)
jq -r '.networks[] | .address' build/contracts/BSHCore.json >$CONFIG_DIR/bsh.core.bsc
jq -r '.networks[] | .address' build/contracts/BSHPeriphery.json >$CONFIG_DIR/bsh.periphery.bsc

jq -r '.networks[] | .address' build/contracts/BSHCore.json >$CONFIG_DIR/token_bsh.proxy.bsc
jq -r '.networks[] | .address' build/contracts/BSHPeriphery.json >$CONFIG_DIR/token_bsh.impl.bsc

wait_for_file $CONFIG_DIR/bsh.core.bsc
wait_for_file $CONFIG_DIR/bsh.periphery.bsc

wait_for_file $CONFIG_DIR/token_bsh.impl.bsc
wait_for_file $CONFIG_DIR/token_bsh.proxy.bsc

create_abi "BSHPeriphery"
create_abi "BSHCore"

jq -r '.networks[] | .address' build/contracts/ERC20TKN.json >$CONFIG_DIR/bep20_token.bsc
wait_for_file $CONFIG_DIR/bep20_token.bsc

create_abi "ERC20TKN"

echo "DONE."
;;

Expand Down
24 changes: 10 additions & 14 deletions devnet/docker/icon-bsc/scripts/provision.sh
Original file line number Diff line number Diff line change
Expand Up @@ -33,28 +33,29 @@ provision() {
source token.solidity.sh

deploy_javascore_bmc
deploy_javascore_bsh
# deploy_javascore_bsh
deploy_javascore_irc2

deploy_solidity_bmc

bmc_javascore_addService
bsh_javascore_register
#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
#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_addService
bsc_registerToken

bmc_solidity_addNativeService
Expand All @@ -77,7 +78,7 @@ provision() {
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/bsh/
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
Expand All @@ -90,20 +91,15 @@ provision() {
prepare_solidity_env() {

cp $ICONBRIDGE_CONFIG_DIR/env $ICONBRIDGE_CONTRACTS_DIR/solidity/bmc/.env
cp $ICONBRIDGE_CONFIG_DIR/env $ICONBRIDGE_CONTRACTS_DIR/solidity/bsh/.env
cp $ICONBRIDGE_CONFIG_DIR/env $ICONBRIDGE_CONTRACTS_DIR/solidity/TokenBSH/.env
cp $ICONBRIDGE_CONFIG_DIR/env $ICONBRIDGE_CONTRACTS_DIR/solidity/bts/.env

cp $ICONBRIDGE_CONFIG_DIR/addresses.json $SCRIPTS_DIR/

if [ ! -f $ICONBRIDGE_CONTRACTS_DIR/solidity/bsh/build/contracts/BSHCore.json ]; then
cd $ICONBRIDGE_CONTRACTS_DIR/solidity/bsh/
if [ ! -f $ICONBRIDGE_CONTRACTS_DIR/solidity/bts/build/contracts/BTSCore.json ]; then
cd $ICONBRIDGE_CONTRACTS_DIR/solidity/bts/
rm -rf contracts/test
truffle compile --network bsc
fi
if [ ! -f $ICONBRIDGE_CONTRACTS_DIR/solidity/TokenBSH/build/contracts/BSHProxy.json ]; then
cd $ICONBRIDGE_CONTRACTS_DIR/solidity/TokenBSH/
truffle compile --network bsc
fi
}

wait_for_file() {
Expand Down
12 changes: 6 additions & 6 deletions devnet/docker/icon-bsc/scripts/token.javascore.sh
Original file line number Diff line number Diff line change
Expand Up @@ -156,9 +156,9 @@ bsh_javascore_balance() {
local EOA=$(rpceoa $1)
echo "Balance of user $EOA"
goloop rpc call --to "$(extractAddresses "javascore" "TokenBSH")" \
--method getBalance \
--param user=$EOA \
--param tokenName=$TOKEN_NAME
--method balanceOf \
--param _owner=$EOA \
--param _coinName=$TOKEN_NAME
}

bsh_javascore_transfer() {
Expand All @@ -174,9 +174,9 @@ bsh_javascore_transfer() {
TX=$(
goloop rpc sendtx call --to "$(extractAddresses "javascore" "TokenBSH")" \
--method transfer \
--param tokenName=${TOKEN_NAME} \
--param value=$VAL \
--param to=btp://$BSC_BMC_NET/$EOA | jq -r .
--param _coinName=${TOKEN_NAME} \
--param _value=$VAL \
--param _to=btp://$BSC_BMC_NET/$EOA | jq -r .
)
ensure_txresult $TX
}
Expand Down
30 changes: 15 additions & 15 deletions devnet/docker/icon-bsc/scripts/token.solidity.sh
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ bsc_addService() {

bsc_registerToken() {
echo "Registering ${TOKEN_NAME} into tokenBSH"
cd $CONTRACTS_DIR/solidity/TokenBSH
cd $CONTRACTS_DIR/solidity/bsh
BEP20_TKN_ADDRESS=$(cat $CONFIG_DIR/bep20_token.bsc)
tx=$(truffle exec --network bsc "$SCRIPTS_DIR"/bsh.token.js \
--method registerToken --name $TOKEN_NAME --symbol $TOKEN_SYM --addr "$BEP20_TKN_ADDRESS" --feeNumerator 100 --fixedFee 50000)
Expand All @@ -71,22 +71,22 @@ bsc_updateRxSeq() {

token_bsc_fundBSH() {
echo "Funding solidity BSH"
cd $CONTRACTS_DIR/solidity/TokenBSH
cd $CONTRACTS_DIR/solidity/bsh
tx=$(truffle exec --network bsc "$SCRIPTS_DIR"/bsh.token.js \
--method fundBSH --addr $(cat $CONFIG_DIR/token_bsh.proxy.bsc) --amount 1000)
echo "$tx" >$CONFIG_DIR/tx/fundBSH.bsc
}

deposit_token_for_bob() {
echo "Funding BOB"
cd $CONTRACTS_DIR/solidity/TokenBSH
cd $CONTRACTS_DIR/solidity/bsh
tx=$(truffle exec --network bsc "$SCRIPTS_DIR"/bsh.token.js \
--method fundBOB --addr $(get_bob_address) --amount $1)
echo "$tx" >$CONFIG_DIR/fundBOB.bsc
}

token_approveTransfer() {
cd $CONTRACTS_DIR/solidity/TokenBSH
cd $CONTRACTS_DIR/solidity/bsh
truffle exec --network bsc "$SCRIPTS_DIR"/bsh.token.js \
--method approve --addr $(cat $CONFIG_DIR/token_bsh.proxy.bsc) --amount $1 --from "$(get_bob_address)"
}
Expand All @@ -95,7 +95,7 @@ bsc_init_btp_transfer() {
ICON_NET=$(cat $CONFIG_DIR/net.btp.icon)
ALICE_ADDRESS=$(get_alice_address)
BTP_TO="btp://$ICON_NET/$ALICE_ADDRESS"
cd $CONTRACTS_DIR/solidity/TokenBSH
cd $CONTRACTS_DIR/solidity/bsh
truffle exec --network bsc "$SCRIPTS_DIR"/bsh.token.js \
--method transfer --to $BTP_TO --amount $1 --from "$(get_bob_address)"
}
Expand All @@ -107,7 +107,7 @@ calculateTransferFee() {
}

get_Bob_Token_Balance() {
cd $CONTRACTS_DIR/solidity/TokenBSH
cd $CONTRACTS_DIR/solidity/bsh
BSC_USER=$(get_bob_address)
BOB_BALANCE=$(truffle exec --network bsc "$SCRIPTS_DIR"/bsh.token.js \
--method getBalance --addr $BSC_USER)
Expand Down Expand Up @@ -161,19 +161,19 @@ generate_metadata() {
TOKEN_BSH)
echo "################### Generating Token BSH & BEP20 Solidity metadata ###################"

BSH_IMPL_ADDRESS=$(jq -r '.networks[] | .address' build/contracts/BSHImpl.json)
jq -r '.networks[] | .address' build/contracts/BSHImpl.json >$CONFIG_DIR/token_bsh.impl.bsc
jq -r '.networks[] | .address' build/contracts/BSHProxy.json >$CONFIG_DIR/token_bsh.proxy.bsc
# BSH_IMPL_ADDRESS=$(jq -r '.networks[] | .address' build/contracts/BSHImpl.json)
# jq -r '.networks[] | .address' build/contracts/BSHImpl.json >$CONFIG_DIR/token_bsh.impl.bsc
# jq -r '.networks[] | .address' build/contracts/BSHProxy.json >$CONFIG_DIR/token_bsh.proxy.bsc

wait_for_file $CONFIG_DIR/token_bsh.impl.bsc
wait_for_file $CONFIG_DIR/token_bsh.proxy.bsc
# wait_for_file $CONFIG_DIR/token_bsh.impl.bsc
# wait_for_file $CONFIG_DIR/token_bsh.proxy.bsc

jq -r '.networks[] | .address' build/contracts/BEP20TKN.json >$CONFIG_DIR/bep20_token.bsc
jq -r '.networks[] | .address' build/contracts/ERC20TKN.json >$CONFIG_DIR/bep20_token.bsc
wait_for_file $CONFIG_DIR/bep20_token.bsc

create_abi "BSHProxy"
create_abi "BSHImpl"
create_abi "BEP20TKN"
#create_abi "BSHProxy"
#create_abi "BSHImpl"
create_abi "ERC20TKN"
echo "DONE."
;;

Expand Down
1 change: 0 additions & 1 deletion devnet/docker/icon-bsc/scripts/transfer_eth_bsc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ printf "\n\nStep 4: Alice's ETH balance before BTP Transfer\n"
irc2_javascore_balance alice.ks.json

printf "\n\n Fees & amount Split \n"
calculateTransferFee "$TOKENS_TRANSFER_AMOUNT"
#initiate Transfer from BSC to ICON from BSH
printf "\n\nStep 5: BOB Initiates BTP token transfer of $TOKENS_TRANSFER_AMOUNT ETH to Alice\n"
bsc_init_btp_transfer "$TOKENS_TRANSFER_AMOUNT" >>$CONFIG_DIR/tx.token.bsc_icon.transfer
Expand Down
4 changes: 1 addition & 3 deletions doc/iconbridge_cli.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
# Btpsimple

## iconbridge
# IconBridge

### Description
Command Line Interface of Relay for Blockchain Transmission Protocol
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,30 +42,29 @@
@TestMethodOrder(value = MethodOrderer.OrderAnnotation.class)
public interface BTSIntegrationTest extends BTPIntegrationTest {

DefaultScoreClient btsClient = DefaultScoreClient.of(
System.getProperties(), Map.of(
"_bmc", MockBMCIntegrationTest.mockBMCClient._address()
));
DefaultScoreClient btsClient = DefaultScoreClient.of(
System.getProperties(), Map.of(
"_bmc", MockBMCIntegrationTest.mockBMCClient._address()));

@ScoreClient
BTS bts = new BTSScoreClient(btsClient);
@ScoreClient
BTS bts = new BTSScoreClient(btsClient);

@ScoreClient
BSH btsBSH = new BSHScoreClient(btsClient);
@ScoreClient
BSH btsBSH = new BSHScoreClient(btsClient);

@ScoreClient
OwnerManager btsOwnerManager = new OwnerManagerScoreClient(btsClient);
@ScoreClient
OwnerManager btsOwnerManager = new OwnerManagerScoreClient(btsClient);

Wallet tester = ScoreIntegrationTest.getOrGenerateWallet("tester.", System.getProperties());
DefaultScoreClient btsClientWithTester = new DefaultScoreClient(
btsClient.endpoint(), btsClient._nid(), tester, btsClient._address());
BTS btsWithTester = new BTSScoreClient(btsClientWithTester);
OwnerManager btsOwnerManagerWithTester = new OwnerManagerScoreClient(btsClientWithTester);
Wallet tester = ScoreIntegrationTest.getOrGenerateWallet("tester.", System.getProperties());
DefaultScoreClient btsClientWithTester = new DefaultScoreClient(
btsClient.endpoint(), btsClient._nid(), tester, btsClient._address());
BTS btsWithTester = new BTSScoreClient(btsClientWithTester);
OwnerManager btsOwnerManagerWithTester = new OwnerManagerScoreClient(btsClientWithTester);

static <T> Consumer<TransactionResult> eventLogChecker(
EventLogsSupplier<T> supplier, Consumer<T> consumer) {
return ScoreIntegrationTest.eventLogChecker(
btsClient._address(), supplier, consumer);
}
static <T> Consumer<TransactionResult> eventLogChecker(
EventLogsSupplier<T> supplier, Consumer<T> consumer) {
return ScoreIntegrationTest.eventLogChecker(
btsClient._address(), supplier, consumer);
}

}

0 comments on commit e3b1d4a

Please sign in to comment.