flow-4.ts

Роут для накрутки 150к поинтов через объем и wrap/unwrap, затраты ~1$

Давайте рассмотрим параметры каждого модуля по отдельности. При этом базовые параметры мы рассмотривать не будем. К базовым параметрам относится: delay, indexGroup, count и тд, описание этих полей вы сможете найти в default-module-configs.ts


 {
    moduleName: 'bitget-withdraw',
    indexGroup: 3,
    stopWalletOnError: true,
    maxStrictCheckAttempts,

    minAndMaxAmount,
    usePercentBalance: false,
    tokenToWithdraw: 'ETH',
    randomNetworks: ['base', 'optimism', 'arbitrum'],
    minTokenBalance: minAmountValue,
    minDestTokenBalance: minAmountValue,
    minDestTokenNetwork: 'taiko',

    waitBalance: maxAmount,
    collectTokens: ['ETH'],
  },

stopWalletOnError: если по какой-то причине мы получим ошибку с Bitget, тогда софт остановит своё выполнение для данного кошелька и перейдёт к следующему. То есть дальнейшие модули вызваны не будут!

maxStrictCheckAttempts: максимальное количество попыток, прежде чем кошелёк упадёт с ошибкой и софт перейдёт к следующему кошельку

minAndMaxAmount: сумма в диапазоне, которая будет выводиться с биржи

usePercentBalance: в данном модуле нет никакого смысла использовать это поле по этому его отключили

tokenToWithdraw: токен для вывода с биржи

randomNetworks: список рандомных сетей, которые будут использоваться для вывода с биржи

minTokenBalance: минимальное значение, которое должно быть в сети в которую идёт отправка средств с биржи, если уже есть нужная сумма в любой из сетей, которые перечислили в randomNetworks, тогда вывод с биржи пропустим и пойдём сразу делать bridge в сеть Taiko

minDestTokenBalance: минимальное значение ETH в сети, которая указана в параметре minDestTokenNetwork. То есть если в Taiko уже есть нужная сумма для объема, тогда мы так же пропустим модуль для вывода средств с биржи

collectTokens: токены, которые будем собирать с суб-адрессов и переводить на main аккаунт для дальнейшего использования.

waitBalance: ожидает конкретную сумму, которая должна быть на main аккаунте для вывода на кошелёк, если нужной суммы не будет, тогда будет проверять каждые 30 секунд, пока она не появится


{
    moduleName: 'xy-finance-bridge',
    indexGroup: 5,
    count: [1, 1],
    stopWalletOnError: true,
    maxStrictCheckAttempts,

    randomNetworks: ['arbitrum', 'optimism', 'base'],
    minNativeBalance: minAmountValue,
    useUsd: false,
    destinationNetwork: 'taiko',
    minDestNativeBalance: minAmountValue,
    expectedBalance: [0, 0],
    balanceToLeft: minAndMaxTransferLeft,
    minAmount: 0,
    slippage: 1,

    waitTime: 60,
  },

Один из способов закинуть деньги в сеть taiko (~0.25$)

minStrictBalance / minNativeBalance: минимальный баланс, который должен быть в сети перед тем, как делать bridge. Если баланс будет меньше указанного значения, тогда кошелёк упадёт на ошибку.

randomNetworks: список рандомных сетей, которые будут использоваться для бриджа в сеть указанную в destinationNetwork. Мы найдём все сети в которых будет нужное количество ETH и рандомным способом возьмём одну из них.

useUsd: использовать ли вместо ETH обычные $ при работе с модулем. Если это поле будет указано в true, тогда во всех параметрах, которые отвечают за значения (например: expectedBalance, minDestNativeBalance, balanceToLeft и тд) нужно указывать значения в $ эквиваленте.

destinationNetwork: сеть в которую будем делать bridge

minDestNativeBalance: минимальный баланс, который должен быть в сети в которую отправляем средства. Если там будет необходимый баланс, тогда софт выполнять данный модуль не будет.

balanceToLeft: баланс, который мы оставим в сети из которой мы будем отправлять ETH в сеть Taiko

slippage: процент возможной потери при выполнение транзакции

waitTime: время ожиданиями между проверками баланса в destinationNetwork


{
    moduleName: 'hyperlane-merkly-bridge-token',
    indexGroup: 5,
    count: [1, 1],
    stopWalletOnError: true,
    maxStrictCheckAttempts,
    
    maxAmount: [0.495, 0.5],
    randomNetworks: ['arbitrum', 'optimism', 'base'],
    minNativeBalance: minAmountValue,
    useUsd: false,
    destinationNetwork: 'taiko',
    minDestNativeBalance: minAmountValue,
    expectedBalance: [0, 0],
    balanceToLeft: minAndMaxTransferLeft,
    minAmount: 0,
    slippage: 1,
    
    waitTime: 60,
},

Второй способ отправки денег в taiko, более дорогой (1$) Параметры схожи с xy-finance-bridge

maxAmount: ограничитель для максимального эмаунта, необходим, так как верхний лимит при отправке через hyperlane - 0.5 ETH


{
    moduleName: 'wrap-eth',
    indexGroup: 10,
    count: [39, 42],
    stopWalletOnError: true,
    maxStrictCheckAttempts: 50,

    network: 'taiko',
    minNativeBalance: minAmountValue,
    minTokenBalance: minAmountValue,
    minDestNativeBalance: minAmountValue,
    minDestTokenBalance: minAmountValue,
    minAndMaxAmount: minAndMaxWrapAmount,
    usePercentBalance: true,

    reverse: true,
    reverseMinAndMaxAmount: [100, 100],
  },

network: сеть в которой модуль будет выполнять транзакции

minNativeBalance / minTokenBalance / minDestNativeBalance / minDestTokenBalance: минимальное значение требуемое для выполнения данного модуля

minAndMaxAmount: значение, которое будет использовать во время выполнения модуля. Тут нужно обратить внимание, что это поле работает в связке с usePercentBalance: true. Так как usePercentBalance поле включено, значит поле minAndMaxAmount уже принимает % вместо статической цифры.


 {
    moduleName: 'random-approve',
    indexGroup: 10,
    count: [-1, 2],

    network: 'taiko',
    minAndMaxAmount: [100, 10000],

    // Токены по порядку: USDC, WETH, TKO, USDT, USDT, USDC.e, MAGA
    contractAddresses: [
      '0x07d83526730c7438048d55a4fc0b850e2aab6f0b',
      '...',
    ],

    // Адреса проектов, по порядку: ZUMi Finance, Bebop, DTX, Hana Finance, SyncSwap
    projectAddresses: [
      '0x04830cfced9772b8acbaf76cfc7a630ad82c9148',
      '...',
    ],
  },

minAndMaxAmount: значение, которое будет использоваться для выдачи апрува в конкретном проекте для конкретного токена

contractAddresses: список контрактов токенов, которые будут использоваться для апрува

projectAddresses: список контрактов проектов, которые будут использоваться для апрува


{
    moduleName: 'taiko-rubyscore-vote',
    indexGroup: 10,
    count: [-3, 1],

    network: 'taiko',
  },

count: количество повторение данного модуля. Так же стоит 0, что указывает на то, что данный модуль может быть не выполнен на 33% кошельках.


 {
    moduleName: 'brigadegame-...',
    indexGroup: 10,
    count: [-3, 1],

    network: 'taiko',
  },

{
    moduleName: '0xastra-boost',
    indexGroup: 10,
    count: [-2, 1],

    network: 'taiko',
  },

{
    moduleName: 'bitget-deposit',
    indexGroup: 50,
    maxStrictCheckAttempts,
    minStrictBalance: minAmountValue,

    balanceToLeft: minAndMaxTransferLeft,
    minTokenBalance: minAmountValue,
    tokenToSupply: 'ETH',
    network: 'arbitrum',
    randomNetworks: ['arbitrum', 'optimism'],
  },

balanceToLeft: баланс, который нужно оставить в сети из которой мы отправляем средства на биржу

minTokenBalance: минимальный баланс, который мы должны отправить на биржу

tokenToSupply: токен, который будет отправлен на биржу

randomNetworks: рандомные сети в которых мы будем проверять, есть ли нужный баланс для отправки на биржу и если он будет, тогда будем использовать данную сеть. Если вы указали так же поле network, то данное поле не будет никак учитываться. То есть поле randomNetworks стоит в приоритете.


Last updated