Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions config/airseeker.example.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
{
"sponsorWalletMnemonic": "${SPONSOR_WALLET_MNEMONIC}",
"chains": {
"31337": {
"alias": "hardhat",
Expand Down Expand Up @@ -30,7 +29,7 @@
"signedDataFetchInterval": 10,
"signedApiUrls": [],
"useSignedApiUrlsFromContract": true,
"walletDerivationScheme": { "type": "managed" },
"walletDerivationScheme": { "type": "managed", "sponsorWalletMnemonic": "${SPONSOR_WALLET_MNEMONIC}" },
"stage": "dev",
"version": "4.3.0"
}
50 changes: 40 additions & 10 deletions config/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,16 +82,6 @@ Airseeker needs two configuration files, `airseeker.json` and `secrets.env`. All
are referring to values from secrets and are interpolated inside the `airseeker.json` at runtime. You are advised to put
sensitive information inside secrets.

### `sponsorWalletMnemonic`

The mnemonic of the wallet used to derive sponsor wallets. Sponsor wallets are derived for each data feed separately. It
is recommended to interpolate this value from secrets. For example:

```jsonc
// The mnemonic is interpolated from the "SPONSOR_WALLET_MNEMONIC" secret.
"sponsorWalletMnemonic": "${SPONSOR_WALLET_MNEMONIC}",
```

### `chains`

A record of chain configurations. The record key is the chain ID. For example:
Expand Down Expand Up @@ -286,6 +276,46 @@ The following options are available:
agnostic to update parameters, and the same wallet is used when the dAPI is upgraded/downgraded.
- `fixed` - Derives the wallet from the specified `sponsorAddress`. All data feed updates will be done via this single
wallet.
- `keycard` - Uses a Keycard hardware wallet to sign transactions.

#### `sponsorWalletMnemonic`

The mnemonic of the wallet used to derive sponsor wallets. Sponsor wallets are derived for each data feed separately. It
is recommended to interpolate this value from secrets. Required for `self-funded`, `managed`, and `fixed` types. For
example:

```jsonc
// The mnemonic is interpolated from the "SPONSOR_WALLET_MNEMONIC" secret.
"walletDerivationScheme": { "type": "managed", "sponsorWalletMnemonic": "${SPONSOR_WALLET_MNEMONIC}" },
```

#### `sponsorAddress`

The address used to derive the sponsor wallet. Required only when `type` is set to `fixed`. All data feed updates will
use a wallet derived from this address. For example:

```jsonc
"walletDerivationScheme": {
"type": "fixed",
"sponsorAddress": "0x1234567890123456789012345678901234567890",
"sponsorWalletMnemonic": "${SPONSOR_WALLET_MNEMONIC}"
},
```

#### `pin` _(optional)_

The PIN for the Keycard hardware wallet. Only applicable when `type` is set to `keycard`. If not provided, the PIN will
be requested interactively at startup. For example:

```jsonc
"walletDerivationScheme": { "type": "keycard", "pin": "${KEYCARD_PIN}" },

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adding following line to secrets.example.env can be considered

KEYCARD_PIN=000000

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I intentionally didn't include this environment variable (afbe354) because it isn't included in the airseeker.example.json template.

```

Or without specifying a PIN (will prompt interactively):

```jsonc
"walletDerivationScheme": { "type": "keycard" },
```

### `stage`

Expand Down
3 changes: 1 addition & 2 deletions local-test-configuration/airseeker/airseeker.example.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
{
"sponsorWalletMnemonic": "${SPONSOR_WALLET_MNEMONIC}",
"chains": {
"31337": {
"alias": "hardhat",
Expand Down Expand Up @@ -33,7 +32,7 @@
"signedDataFetchInterval": 10,
"signedApiUrls": [],
"useSignedApiUrlsFromContract": true,
"walletDerivationScheme": { "type": "managed" },
"walletDerivationScheme": { "type": "managed", "sponsorWalletMnemonic": "${SPONSOR_WALLET_MNEMONIC}" },
"stage": "dev",
"version": "4.3.0"
}
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
"dotenv": "^17.2.3",
"ethers": "^6.16.0",
"immer": "^11.1.3",
"keycard-manager": "^0.9.6",
"lodash": "^4.17.21",
"workerpool": "^9.3.4",
"zod": "^4.3.5"
Expand Down
Loading