Deposit ERC20

Definition: Move user L1 ERC20 assets to Loopring L2

All Deposit Method, User should have enough ETH pay for the Ethereum Gas (Loopring have no charge, no fee for Deposit).

Provider will give the Gas Price & Limit, sdk also have a method get gasPrice: const gasPrice = (await LoopringAPI.exchangeAPI.getGasPrice() ).gasPrice;

ETH


Step 1. getNonce

const nonce = await sdk.getNonce(web3, LOOPRING_EXPORTED_ACCOUNT.address);
console.log(
  `deposit: ${TOKEN_INFO.tokenMap.ETH.symbol}-${LOOPRING_EXPORTED_ACCOUNT.tradeETHValue}, gasPrice: ${LOOPRING_EXPORTED_ACCOUNT.gasPrice}, `
);

Step 2. deposit

const response = await sdk.deposit(
  web3,
  LOOPRING_EXPORTED_ACCOUNT.address,
  LOOPRING_EXPORTED_ACCOUNT.exchangeAddress,
  TOKEN_INFO.tokenMap.ETH,
  LOOPRING_EXPORTED_ACCOUNT.tradeETHValue,
  0,
  LOOPRING_EXPORTED_ACCOUNT.gasPrice,
  LOOPRING_EXPORTED_ACCOUNT.gasLimit,
  sdk.ChainId.GOERLI,
  nonce,
  true
);

console.log(`nonce: ${nonce} deposit_ETH: `, response);

ERC20


Step 1. getAllowances

const {tokenAllowances} = await LoopringAPI.exchangeAPI.getAllowances({
  owner: LOOPRING_EXPORTED_ACCOUNT.address,
  token: [TOKEN_INFO.tokenMap.LRC.address],
});
if (
  tokenAllowances.has(TOKEN_INFO.tokenMap.LRC.address) &&
  Number(tokenAllowances.get(TOKEN_INFO.tokenMap.LRC.address)) <
  LOOPRING_EXPORTED_ACCOUNT.tradeLRCValue
) {
  const nonce = await web3.eth.getTransactionCount(
    LOOPRING_EXPORTED_ACCOUNT.address
  );
  await sdk.approveMax(
    web3,
    LOOPRING_EXPORTED_ACCOUNT.address,
    TOKEN_INFO.tokenMap.LRC.address, // LRC address  {tokenIdMap} = getTokens();  tokenIdMap['LRC']
    LOOPRING_EXPORTED_ACCOUNT.depositAddress, //{exchangeInfo} = getExchangeInfo()  exchangeInfo.depositAddress
    LOOPRING_EXPORTED_ACCOUNT.gasPrice,
    LOOPRING_EXPORTED_ACCOUNT.gasLimit,
    sdk.ChainId.GOERLI,
    nonce,
    true
  );
}

Step 2. getNonce

      const nonce = await sdk.getNonce(web3, LOOPRING_EXPORTED_ACCOUNT.address);
console.log(
  `deposit: ${TOKEN_INFO.tokenMap.LRC.symbol}-${LOOPRING_EXPORTED_ACCOUNT.tradeLRCValue}, gasPrice: ${LOOPRING_EXPORTED_ACCOUNT.gasPrice}, `
);

Step 3. deposit

      const response = await sdk.deposit(
  web3,
  LOOPRING_EXPORTED_ACCOUNT.address,
  LOOPRING_EXPORTED_ACCOUNT.exchangeAddress,
  TOKEN_INFO.tokenMap.LRC,
  sdk
    .toBig(LOOPRING_EXPORTED_ACCOUNT.tradeLRCValue)
    .div("1e" + TOKEN_INFO.tokenMap.LRC.decimals)
    .toNumber(),
  0,
  LOOPRING_EXPORTED_ACCOUNT.gasPrice,
  LOOPRING_EXPORTED_ACCOUNT.gasLimit,
  sdk.ChainId.GOERLI,
  nonce,
  true
);

console.log(`nonce: ${nonce}  deposit_LRC: `, response);

results matching ""

    No results matching ""