> For the complete documentation index, see [llms.txt](https://darvin-space.gitbook.io/darvin-space-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://darvin-space.gitbook.io/darvin-space-docs/projects/base/base.ts.md).

# base.ts

{% hint style="info" %}
Давайте рассмотрим параметры каждого модуля по отдельности.\
При этом базовые параметры мы рассмотривать не будем. К базовым параметрам относится: delay, indexGroup, count и тд, описание этих полей вы сможете найти в default-module-configs.ts
{% endhint %}

***

```typescript
{
    indexGroup: 1,
    stopWalletOnError: true,

    moduleName: 'relay-bridge',
    randomNetworks: ['arbitrum', 'optimism'],
    minNativeBalance: 0.0002,

    destinationNetwork: 'base',
    minDestNativeBalance: 0.0002,

    balanceToLeft: [0.00004, 0.00008],

    waitTime: 30
  },
```

<mark style="color:orange;">**randomNetworks:**</mark> список рандомных сетей, которые будут использоваться для бриджа в сеть указанную в destinationNetwork. Мы найдём все сети в которых будет нужное количество ETH и рандомным способом возьмём одну из них.

<mark style="color:orange;">**destinationNetwork:**</mark> сеть в которую будем делать bridge

<mark style="color:orange;">**minDestNativeBalance:**</mark> минимальный баланс, который должен быть в сети в которую отправляем средства. Если там будет необходимый баланс, тогда софт выполнять данный модуль не будет.

<mark style="color:orange;">**balanceToLeft:**</mark> баланс, который мы оставим в сети из которой мы будем отправлять ETH в сеть Taiko

<mark style="color:orange;">**waitTime:**</mark> время ожиданиями между проверками баланса в destinationNetwork

***

```typescript
 {
    moduleName: 'base-swap',
    indexGroup: 10,
    subIndexGroup: 1,

    network: 'base',

    usePercentBalance: true,
    minAndMaxAmount: [5, 15],
    minTokenBalance: 0.000139,

    srcToken: 'ETH',
    destTokens: ['USDbC', 'USDC'],

    reverse: true,
    reverseMinAndMaxAmount: [100, 100],
  },
  {
    moduleName: 'odos-swap',
    indexGroup: 10,
    subIndexGroup: 1,
    network: 'base',

    usePercentBalance: true,
    minAndMaxAmount: [5, 15],
    minTokenBalance: 0.000139,

    srcToken: 'ETH',
    destTokens: ['USDbC', 'USDC'],

    reverse: true,
    reverseMinAndMaxAmount: [100, 100],
  },
  {
    moduleName: 'xy-finance-swap',
    indexGroup: 10,
    subIndexGroup: 1,
    network: 'base',

    usePercentBalance: true,
    minAndMaxAmount: [5, 15],
    minTokenBalance: 0.000139,

    srcToken: 'ETH',
    destTokens: ['USDbC', 'USDC'],

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

<mark style="color:orange;">**minAndMaxAmount:**</mark> значение, которое будет использованно для свапов

<mark style="color:orange;">**srcToken:**</mark> токен, который будет использоваться во время свапа

<mark style="color:orange;">**destTokens:**</mark> список токенов, которые будут использоваться во время свапа. Возьмём 1 рандомный из них.

<mark style="color:orange;">**minTokenBalance:**</mark> минимальный баланс srcTokena для выполнения модуля.

<mark style="color:orange;">**reverseMinAndMaxAmount:**</mark> процент, сколько возвращать баланса destToken при обратном свапу.

<mark style="color:orange;">**reverse:**</mark> выполнять ли обратный свап.

***

```
{
  moduleName: 'base-aave',
  indexGroup: 10,
  subIndexGroup: 1,
  network: 'base',

  usePercentBalance: true,
  minAndMaxAmount: [5, 15],
  minTokenBalance: 0.000139,

  minAmount: 0,
  minNativeBalance: 0,
},
{
  moduleName: 'base-compound',
  indexGroup: 10,
  subIndexGroup: 1,
  network: 'base',

  usePercentBalance: true,
  minAndMaxAmount: [5, 15],
  minTokenBalance: 0.000139,

  minAmount: 0,
  minNativeBalance: 0,
},
{
  moduleName: 'base-moonwell',
  indexGroup: 10,
  subIndexGroup: 1,
  network: 'base',

  usePercentBalance: true,
  minAndMaxAmount: [5, 15],
  minTokenBalance: 0.000139,

  minAmount: 0,
  minNativeBalance: 0,
},
{
  moduleName: 'base-seamless',
  indexGroup: 10,
  subIndexGroup: 1,

  network: 'base',

  usePercentBalance: true,
  minAndMaxAmount: [5, 15],
  minTokenBalance: 0.000139,

  minAmount: 0,
  minNativeBalance: 0,
},
```

> Данные модули заводят и сразу выводят из лендингов нативный токен

<mark style="color:orange;">**minAndMaxAmount:**</mark> значение, которое будет использовано для депозита в лендинг.

<mark style="color:orange;">**minTokenBalance:**</mark> минимальный баланс в депозите при котором модуль пойдет сразу делать вывод, вместо депозита.

***

```
{
  moduleName: 'deploy-contract',
  count: [1, 2],

  subIndexGroup: 2,
  indexGroup: 10,
  network: 'base',

  bytecode: 'random',
},

```

<mark style="color:orange;">**bytecode:**</mark> байткод для деплоя, при указании random, скрипт попробует создать небольшой контракт с одной-двумя рандомными функциями

***
