diff --git a/e2e-testing/bridge-sdk-config.example.json b/e2e-testing/bridge-sdk-config.example.json index 7bf6870c4..78aab0da3 100644 --- a/e2e-testing/bridge-sdk-config.example.json +++ b/e2e-testing/bridge-sdk-config.example.json @@ -1,25 +1,22 @@ { - "near_rpc": "https://test.rpc.fastnear.com", - "near_token_locker_id": "omni-locker.testnet", - "near_light_client_eth_address": "0x202cdf10bfa45a3d2190901373edd864f071d707", - "near_signer": "omni-sender.testnet", - "near_private_key": "0x0000000000000000000000000000000000000000000000000000000000000000", + "near_rpc": "https://rpc.testnet.fastnear.com/", + "near_token_locker_id": "omni.n-bridge.testnet", + "near_signer": "", + "near_private_key": "", "eth_chain_id": 11155111, - "eth_bridge_token_factory_address": "0xa9108f7F83Fb661e611991116D526fCa1a9585ab", - "eth_connector_account_id": "aurora", - "eth_custodian_address": "0xe0320b199863D7f6D5bBa62741aACB312110DEf7", + "eth_bridge_token_factory_address": "0x68a86e0Ea5B1d39F385c1326e4d493526dFe4401", "base_rpc": "https://base-sepolia-rpc.publicnode.com", "base_chain_id": 84532, - "base_bridge_token_factory_address": "0x0C981337fFe39a555d3A40dbb32f21aD0eF33FFA", + "base_bridge_token_factory_address": "0xa56b860017152cD296ad723E8409Abd6e5D86d4d", "arb_rpc": "https://arbitrum-sepolia-rpc.publicnode.com", "arb_chain_id": 421614, - "arb_bridge_token_factory_address": "0xd565f7CcE0FA1bB8DBe73FCDA281390d545f6200", + "arb_bridge_token_factory_address": "0x0C981337fFe39a555d3A40dbb32f21aD0eF33FFA", "solana_rpc": "https://api.devnet.solana.com", - "solana_bridge_address": "3u8hJUVTA4jH1wYAyUur7FFZVQ8H635K3tSHHF4ssjQ5", + "solana_bridge_address": "862HdJV59Vp83PbcubUnvuXc4EAXP8CDDs6LTxFpunTe", "solana_wormhole_address": "3u8hJUVTA4jH1wYAyUur7FFZVQ8H635K3tSHHF4ssjQ5", - "solana_keypair": "6Tyktf6mEqUMEKm2ZpLn3srEwk9zsT5jiE54EgPgToikMFYww1LGFUXgwgr6hvc9CikpaNaBH2vmkmqN3Usrxpd", - "eth_rpc": "", - "eth_private_key": "", - "base_private_key": "", - "arb_private_key": "" -} \ No newline at end of file + "solana_keypair": "", + "eth_rpc": "https://ethereum-sepolia-rpc.publicnode.com", + "eth_private_key": "", + "base_private_key": "", + "arb_private_key": "" +} diff --git a/e2e-testing/snakefiles/04_btc_transfer.smk b/e2e-testing/snakefiles/04_btc_transfer.smk index 7c48decec..9e9e2aeaf 100644 --- a/e2e-testing/snakefiles/04_btc_transfer.smk +++ b/e2e-testing/snakefiles/04_btc_transfer.smk @@ -17,6 +17,7 @@ call_dir = const.common_generated_dir / "04-btc-transfer" near_init_account_file = const.near_account_dir / f"{NTA.INIT_ACCOUNT}.json" user_account_file = const.near_account_dir / f"{NTA.USER_ACCOUNT}.json" +near_dao_account_file = const.near_account_dir / f"{NTA.INIT_ACCOUNT}.json" omni_bridge_file = const.near_deploy_results_dir / f"{NC.OMNI_BRIDGE}.json" nbtc_file = const.near_deploy_results_dir / f"nbtc.json" btc_connector_file = const.near_deploy_results_dir / f"btc_connector.json" @@ -109,13 +110,13 @@ rule ft_transfer_btc_to_omni_bridge: """ rule submit_transfer_to_btc_connector: - message: "Sign BTC transfer on OmniBridge" + message: "Submit BTC transfer on OmniBridge" input: step_7 = rules.ft_transfer_btc_to_omni_bridge.output, btc_connector_file = btc_connector_file, omni_bridge_file = omni_bridge_file, user_account_file = user_account_file - output: call_dir / "05_sign_btc_transfer.json" + output: call_dir / "05_submit_btc_transfer.json" params: btc_connector = lambda wc, input: get_json_field(input.btc_connector_file, "contract_id"), user_account_id = lambda wc, input: get_json_field(input.user_account_file, "account_id"), @@ -125,10 +126,11 @@ rule submit_transfer_to_btc_connector: near_tx_hash = lambda wc, input: get_json_field(input.step_7, "tx_hash"), shell: """ - bridge-cli testnet near-sign-btc-transfer \ + bridge-cli testnet near-submit-btc-transfer \ --chain btc \ -n {params.near_tx_hash} \ -s {params.user_account_id} \ + -f 0 \ --near-token-locker-id {params.omni_bridge_account} \ --btc-connector {params.btc_connector} \ --near-signer {params.user_account_id} \ @@ -183,7 +185,80 @@ rule send_btc_transfer: > {output} \ """ +rule rbf_increase_gas_fee: + message: "RBF Increase Gas Fee" + input: + step_10 = rules.send_btc_transfer.output, + btc_connector_file = btc_connector_file, + omni_bridge_file = omni_bridge_file, + near_dao_account_file = near_dao_account_file + output: call_dir / "08_rbf_increase_gas_fee.json" + params: + btc_tx_hash = lambda wc, input: get_last_value(input.step_10), + btc_connector = lambda wc, input: get_json_field(input.btc_connector_file, "contract_id"), + user_account_id = lambda wc, input: get_json_field(input.near_dao_account_file, "account_id"), + user_private_key = lambda wc, input: get_json_field(input.near_dao_account_file, "private_key"), + bridge_sdk_config_file = const.common_bridge_sdk_config_file, + omni_bridge_account = lambda wc, input: get_json_field(input.omni_bridge_file, "contract_id"), + shell: """ + bridge-cli testnet btc-rbf-increase-gas-fee \ + --chain btc \ + -b {params.btc_tx_hash} \ + --near-token-locker-id {params.omni_bridge_account} \ + --btc-connector {params.btc_connector} \ + --near-signer {params.user_account_id} \ + --near-private-key {params.user_private_key} \ + --config {params.bridge_sdk_config_file} \ + > {output} \ + """ + +rule sign_btc_connector_transfer_after_rbf: + message: "Sign BTC transfer on BtcConnector after RBF" + input: + add_utxo_chain = rules.add_utxo_chain_connector.output, + step_11 = rules.rbf_increase_gas_fee.output, + btc_connector_file = btc_connector_file, + omni_bridge_file = omni_bridge_file, + user_account_file = user_account_file + output: call_dir / "09_sign_btc_connector_transfer_after_rbf.json" + params: + btc_connector = lambda wc, input: get_json_field(input.btc_connector_file, "contract_id"), + user_account_id = lambda wc, input: get_json_field(input.user_account_file, "account_id"), + user_private_key = lambda wc, input: get_json_field(input.user_account_file, "private_key"), + bridge_sdk_config_file = const.common_bridge_sdk_config_file, + near_tx_hash = lambda wc, input: get_tx_hash(input.step_11), + + shell: """ + bridge-cli testnet near-sign-btc-transaction \ + --chain btc \ + --near-tx-hash {params.near_tx_hash} \ + --user-account {params.user_account_id} \ + --btc-connector {params.btc_connector} \ + --near-signer {params.user_account_id} \ + --near-private-key {params.user_private_key} \ + --config {params.bridge_sdk_config_file} \ + > {output} \ + """ + +rule send_btc_transfer_after_rbf: + message: "Send BTC transfer after RBF" + input: + step_12 = rules.sign_btc_connector_transfer_after_rbf.output, + user_account_file = user_account_file, + output: call_dir / "10_send_btc_transfer_after_rbf.json" + params: + near_tx_hash = lambda wc, input: get_tx_hash(input.step_12), + user_account_id = lambda wc, input: get_json_field(input.user_account_file, "account_id"), + bridge_sdk_config_file = const.common_bridge_sdk_config_file, + shell: """ + bridge-cli testnet btc-fin-transfer \ + --chain btc \ + --near-tx-hash {params.near_tx_hash} \ + --config {params.bridge_sdk_config_file} \ + > {output} \ + """ + rule all: input: - rules.send_btc_transfer.output, + rules.send_btc_transfer_after_rbf.output, default_target: True