Pnuttaste/Interchain-message/test/shared/utils.ts
Mista J df8039f494 new file: Interchain-message/.env.example
new file:   Interchain-message/.eslintrc.js
	new file:   Interchain-message/.gitignore
	new file:   Interchain-message/.prettierrc
	new file:   Interchain-message/.solhint.json
	new file:   Interchain-message/.solhintignore
	new file:   Interchain-message/contracts/interfaces/IBridge.sol
	new file:   Interchain-message/contracts/interfaces/IMessageBus.sol
	new file:   Interchain-message/contracts/interfaces/IMessageReceiverApp.sol
	new file:   Interchain-message/contracts/interfaces/IUniswapRouterV3.sol
	new file:   Interchain-message/contracts/interfaces/IWETH.sol
	new file:   Interchain-message/contracts/message/apps/BridgeSwap.sol
	new file:   Interchain-message/contracts/message/apps/RubicRouterV2.sol
	new file:   Interchain-message/contracts/message/apps/RubicRouterV2ETH.sol
	new file:   Interchain-message/contracts/message/apps/SwapBase.sol
	new file:   Interchain-message/contracts/message/apps/TransferSwapInch.sol
	new file:   Interchain-message/contracts/message/apps/TransferSwapV2.sol
	new file:   Interchain-message/contracts/message/apps/TransferSwapV3.sol
	new file:   Interchain-message/contracts/message/framework/MessageReceiverApp.sol
	new file:   Interchain-message/contracts/message/framework/MessageSenderApp.sol
	new file:   Interchain-message/contracts/message/libraries/MessageSenderLib.sol
	new file:   Interchain-message/contracts/message/libraries/MsgDataTypes.sol
	new file:   Interchain-message/contracts/test/MessageBusSender.sol
	new file:   Interchain-message/contracts/test/TestERC20.sol
	new file:   Interchain-message/contracts/test/TestMessages.sol
	new file:   Interchain-message/contracts/test/WETH9.sol
	new file:   Interchain-message/deployments/Readme.md
	new file:   Interchain-message/executor/config/cbridge.toml
	new file:   Interchain-message/executor/config/executor.toml
	new file:   Interchain-message/executor/eth-ks/signer.json
	new file:   Interchain-message/hardhat.config.ts
	new file:   Interchain-message/package-lock.json
	new file:   Interchain-message/package.json
	new file:   Interchain-message/reports/contract_sizes.txt
	new file:   Interchain-message/reports/gas_usage/summary.txt
	new file:   Interchain-message/scripts/deploy/deploy.js
	new file:   Interchain-message/scripts/deploy/deployAVAX.ts
	new file:   Interchain-message/scripts/deploy/deployArbitrum.ts
	new file:   Interchain-message/scripts/deploy/deployAurora.ts
	new file:   Interchain-message/scripts/deploy/deployBSC.ts
	new file:   Interchain-message/scripts/deploy/deployEth.ts
	new file:   Interchain-message/scripts/deploy/deployFantom.ts
	new file:   Interchain-message/scripts/deploy/deployPoly.ts
	new file:   Interchain-message/scripts/privateKey.js
	new file:   Interchain-message/scripts/sendTx/avaxToFantomBridge.js
	new file:   Interchain-message/scripts/sendTx/avaxToFantomNativeV2.js
	new file:   Interchain-message/test/RubicCrossChainBridge.spec.ts
	new file:   Interchain-message/test/RubicCrossChainV2.spec.ts
	new file:   Interchain-message/test/RubicCrossChainV3.spec.ts
	new file:   Interchain-message/test/RubicFallback.spec.ts
	new file:   Interchain-message/test/RubicSettings.spec.ts
	new file:   Interchain-message/test/shared/consts.ts
	new file:   Interchain-message/test/shared/fixtures.ts
	new file:   Interchain-message/test/shared/utils.ts
	new file:   Interchain-message/tsconfig.json
	deleted:    Rubic-Inter-chain-Message-develop.zip
	deleted:    proxy-instant-trades-master.zip
	deleted:    rubic-app-master.zip
	deleted:    rubic-sdk-master.zip
2024-07-09 17:32:00 -04:00

64 lines
2.1 KiB
TypeScript

import { IUniswapV2Router02 } from '../../typechain';
import { IUniswapRouterV3 } from '../../typechain';
import UniV2JSON from '@uniswap/v2-periphery/build/UniswapV2Router02.json';
import UniV3JSON from '@uniswap/v3-periphery/artifacts/contracts/SwapRouter.sol/SwapRouter.json';
import { ethers } from 'hardhat';
import { Wallet } from '@ethersproject/wallet';
export const getRouterV2 = async function (
wallet: Wallet,
routerAddress: string
): Promise<IUniswapV2Router02> {
const routerFactory = ethers.ContractFactory.fromSolidity(UniV2JSON);
let router = routerFactory.attach(routerAddress) as IUniswapV2Router02;
router = router.connect(wallet);
return router;
};
// not used
// export const createPoolV2 = async function (
// wallet: Wallet,
// routerAddress: string,
// token: string,
// tokenAmount = ethers.utils.parseEther('100')
// ): Promise<IUniswapV2Router02> {
// const router = await getRouterV2(wallet, routerAddress);
//
// await router.addLiquidityETH(
// token,
// tokenAmount,
// tokenAmount,
// ethers.utils.parseEther('100'),
// await router.signer.getAddress(),
// DEADLINE,
// { value: ethers.utils.parseEther('100') }
// );
//
// return router;
// };
export const getRouterV3 = async function (
wallet: Wallet,
routerAddressV3: string
): Promise<IUniswapRouterV3> {
const routerFactoryV3 = ethers.ContractFactory.fromSolidity(UniV3JSON);
let routerV3 = routerFactoryV3.attach(routerAddressV3) as IUniswapRouterV3;
routerV3 = routerV3.connect(wallet);
return routerV3;
};
export function hexStringToByteArray(hexString) {
if (hexString.length % 2 !== 0) {
// eslint-disable-next-line @typescript-eslint/no-throw-literal
throw 'Must have an even number of hex digits to convert to bytes';
}
var numBytes = hexString.length / 2;
var byteArray = new Uint8Array(numBytes);
for (var i = 0; i < numBytes; i++) {
byteArray[i] = parseInt(hexString.substr(i * 2, 2), 16);
}
return byteArray;
}