# 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, скрипт попробует создать небольшой контракт с одной-двумя рандомными функциями

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://darvin-space.gitbook.io/darvin-space-docs/projects/base/base.ts.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
