Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Config service configuration #682

Merged
merged 43 commits into from
Feb 3, 2025
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
ffb2dd9
Minor fixes
louis-md Jan 28, 2025
6bdbb28
Add Config service configuration parameters
louis-md Jan 29, 2025
ffe9e25
Add correct words to Vale allow list
louis-md Jan 29, 2025
9a0f344
Add reference to Config service documentation in Infrastructure deplo…
louis-md Jan 29, 2025
a5ccca0
Update pages/config-service-configuration/add-or-edit-chain.mdx
louis-md Jan 31, 2025
8d024bf
Update pages/config-service-configuration/add-or-edit-chain.mdx
louis-md Jan 31, 2025
80b83e1
Update pages/config-service-configuration/add-or-edit-chain.mdx
louis-md Jan 31, 2025
55d9080
Update pages/config-service-configuration/add-or-edit-chain.mdx
louis-md Jan 31, 2025
36b3761
Update pages/config-service-configuration/add-or-edit-chain.mdx
louis-md Jan 31, 2025
bbaf4be
Update pages/config-service-configuration/add-or-edit-chain.mdx
louis-md Jan 31, 2025
ff80a05
Update pages/config-service-configuration/add-or-edit-chain.mdx
louis-md Jan 31, 2025
850cb83
Update pages/config-service-configuration/add-or-edit-chain.mdx
louis-md Jan 31, 2025
47d0ac9
Update pages/config-service-configuration/overview.mdx
louis-md Jan 31, 2025
f11677b
Update pages/config-service-configuration/overview.mdx
louis-md Jan 31, 2025
b8ca389
Update pages/config-service-configuration/add-or-edit-chain.mdx
louis-md Jan 31, 2025
2fae26d
Update pages/config-service-configuration/add-or-edit-chain.mdx
louis-md Jan 31, 2025
6e1be23
Update pages/config-service-configuration/add-or-edit-chain.mdx
louis-md Jan 31, 2025
45f7964
Update pages/config-service-configuration/add-or-edit-chain.mdx
louis-md Jan 31, 2025
f659a1a
Update pages/config-service-configuration/add-or-edit-chain.mdx
louis-md Jan 31, 2025
bc32161
Update pages/config-service-configuration/add-or-edit-chain.mdx
louis-md Jan 31, 2025
5d90328
Update pages/config-service-configuration/add-or-edit-chain.mdx
louis-md Jan 31, 2025
464eb01
Update pages/config-service-configuration/add-or-edit-chain.mdx
louis-md Jan 31, 2025
8face09
Update pages/config-service-configuration/add-or-edit-chain.mdx
louis-md Jan 31, 2025
8516553
Update pages/config-service-configuration/add-or-edit-chain.mdx
louis-md Jan 31, 2025
a6ae8b9
Update pages/config-service-configuration/add-or-edit-chain.mdx
louis-md Jan 31, 2025
68e8c73
Update pages/config-service-configuration/add-or-edit-chain.mdx
louis-md Jan 31, 2025
373ce49
Update pages/config-service-configuration/add-or-edit-chain.mdx
louis-md Jan 31, 2025
1af8219
Update pages/config-service-configuration/add-or-edit-chain.mdx
louis-md Jan 31, 2025
3b70304
Update pages/config-service-configuration/add-or-edit-chain.mdx
louis-md Jan 31, 2025
d6941bb
Update pages/config-service-configuration/add-or-edit-chain.mdx
louis-md Jan 31, 2025
ed71993
Update pages/config-service-configuration/add-or-edit-gas-price.mdx
louis-md Jan 31, 2025
ba7a3e0
Update pages/config-service-configuration/add-or-edit-gas-price.mdx
louis-md Jan 31, 2025
f5bac33
Update pages/config-service-configuration/add-or-edit-chain.mdx
louis-md Jan 31, 2025
8579aa8
Update pages/config-service-configuration/add-or-edit-client.mdx
louis-md Jan 31, 2025
f047181
Update pages/config-service-configuration/add-or-edit-tag.mdx
louis-md Jan 31, 2025
d4329ea
Update pages/config-service-configuration/add-or-edit-social-profile.mdx
louis-md Jan 31, 2025
ea8bb88
Update pages/config-service-configuration/add-or-edit-feature.mdx
louis-md Jan 31, 2025
5c5fe9d
Update pages/config-service-configuration/add-or-edit-gas-price.mdx
louis-md Jan 31, 2025
3640825
Update pages/config-service-configuration/add-or-edit-group.mdx
louis-md Jan 31, 2025
1818497
Update pages/config-service-configuration/add-or-edit-provider.mdx
louis-md Jan 31, 2025
9b1265e
Update pages/config-service-configuration/add-or-edit-provider.mdx
louis-md Jan 31, 2025
5d189ec
Update pages/config-service-configuration/add-or-edit-safe-app.mdx
louis-md Jan 31, 2025
6585def
Implement requested changes
louis-md Jan 31, 2025
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
2 changes: 2 additions & 0 deletions .github/styles/config/vocabularies/default/accept.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
[Aa][Pp][Ii]
[Aa]urora
[Aa]rbitrum
[Aa]ccessor
[Bb]ackend
[Bb]inance
[Bb]lockchain
Expand Down Expand Up @@ -52,6 +53,7 @@
[Pp]olygon
[Pp]ostgres
[Pp]luggable
[Pp]repended
[Qq]uicknode
[Qq]uickstarts
[Rr]eact
Expand Down
10 changes: 10 additions & 0 deletions pages/_meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,16 @@
"type": "page",
"display": "hidden"
},
"config-service-configuration": {
"title": "Config Service Reference",
"type": "page",
"display": "hidden"
},
"transaction-service-configuration": {
"title": "Transaction Service Configuration",
"type": "page",
"display": "hidden"
},
"core-api": {
"title": "API",
"type": "page"
Expand Down
2 changes: 1 addition & 1 deletion pages/advanced/cli-reference/common-commands.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ pip install "safe-cli[ledger]"

When running on Linux, make sure the following rules have been added to `/etc/udev/rules.d/`:

```commandline
```bash
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2c97", ATTRS{idProduct}=="0000", MODE="0660", TAG+="uaccess", TAG+="udev-acl" OWNER="<UNIX username>"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2c97", ATTRS{idProduct}=="0001", MODE="0660", TAG+="uaccess", TAG+="udev-acl" OWNER="<UNIX username>"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2c97", ATTRS{idProduct}=="0004", MODE="0660", TAG+="uaccess", TAG+="udev-acl" OWNER="<UNIX username>"
Expand Down
2 changes: 1 addition & 1 deletion pages/advanced/passkeys/tutorials/react-native.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ When [creating the emulator](https://docs.expo.dev/get-started/set-up-your-envir

Create a file named `.env` in the root of your project and add the following keys:

```.env
```bash
// from ../../../../examples/react-native-passkeys/.env-sample
```

Expand Down
32 changes: 32 additions & 0 deletions pages/config-service-configuration/_meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"home": {
"title": "← Go Back",
"href": "/core-api/api-overview"
},
"overview": "Overview",
"-- Authentication & Authorization": {
"type": "separator",
"title": "Authentication & Authorization"
},
"add-or-edit-group": "Add or edit groups",
"add-user": "Add users",
"edit-user": "Edit users",
"-- Chains": {
"type": "separator",
"title": "Chains"
},
"add-or-edit-chain": "Add or edit chains",
"add-or-edit-feature": "Add or edit features",
"add-or-edit-gas-price": "Add or edit gas prices",
"add-or-edit-wallet": "Add or edit wallets",
"-- Safe apps": {
"type": "separator",
"title": "Safe apps"
},
"add-or-edit-safe-app": "Add or edit Safe Apps",
"add-or-edit-safe-app-feature": "Add or edit Safe App features",
"add-or-edit-tag": "Add or edit tags",
"add-or-edit-client": "Add or edit clients",
"add-or-edit-provider": "Add or edit providers",
"add-or-edit-social-profile": "Add or edit social profiles"
}
195 changes: 195 additions & 0 deletions pages/config-service-configuration/add-or-edit-chain.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,195 @@
# Add or edit chain
louis-md marked this conversation as resolved.
Show resolved Hide resolved

Add (or edit) a blockchain network.

## Usage

You can add a new chain by visiting this address: [`http://localhost:8000/cfg/admin/chains/chain/add/`](http://localhost:8000/cfg/admin/chains/chain/add/)

You can edit an existing chain by visiting this address: `http://localhost:8000/cfg/admin/chains/chain/{chain index}/change/` where `{chain index}` is the index of the chain you want to edit.

## Parameters

### `ChainId`
louis-md marked this conversation as resolved.
Show resolved Hide resolved

The unique identifier for the chain.

### `Relevance`

The relative importance of this chain for your project. You can use this value between 0 and 100 to sort chains in the UI.

### `Chain Name`
louis-md marked this conversation as resolved.
Show resolved Hide resolved

The name of the chain, in plain letters.

### `EIP-3770 short name`

The short name of the chain, as defined in [EIP-3770](https://eips.ethereum.org/EIPS/eip-3770). This corresponds to the three letters that will be prepended to all addresses on this chain.
louis-md marked this conversation as resolved.
Show resolved Hide resolved

### `Password`

Opens a section to set a password for the user. You can set a new password or leave it blank to keep the current one.
louis-md marked this conversation as resolved.
Show resolved Hide resolved

### `Description`

A brief description of the chain.

### `Chain logo URI`
louis-md marked this conversation as resolved.
Show resolved Hide resolved

The URI of the chain's logo. This will be displayed in the UI.
louis-md marked this conversation as resolved.
Show resolved Hide resolved

### `L2`

Whether this chain is a Layer 2 chain. This has important consequences on the indexing ability of the chain. If this chain is an Ethereum Layer 2, not checking this box will increase the indexing time, hence possibly missing the correct indexing of some transactions.
louis-md marked this conversation as resolved.
Show resolved Hide resolved

### `Is testnet`

Whether this chain is a testnet. This will be indicated in the UI.

### `RPC authentication`
louis-md marked this conversation as resolved.
Show resolved Hide resolved

Whether the RPC endpoint requires authentication to access its data. If `API key path` is set, the API key will be read from the RPC URI.
louis-md marked this conversation as resolved.
Show resolved Hide resolved

### `Rpc uri`

The URI of the chain's RPC endpoint. This is the endpoint where the Config Service will fetch the chain's data.
louis-md marked this conversation as resolved.
Show resolved Hide resolved

### `Safe Apps RPC authentication`
louis-md marked this conversation as resolved.
Show resolved Hide resolved

Whether the RPC endpoint dedicated to Safe Apps will require authentication. If `API key path` is set, the API key will be read from the Safe Apps RPC URI.
louis-md marked this conversation as resolved.
Show resolved Hide resolved

### `Safe Apps rpc uri`

The URI of the chain's RPC endpoint dedicated to Safe Apps.

### `Public RPC authentication`
louis-md marked this conversation as resolved.
Show resolved Hide resolved

Whether the fallback public RPC endpoint will require authentication. If `API key path` is set, the API key will be read from the Public RPC URI.
louis-md marked this conversation as resolved.
Show resolved Hide resolved

### `Public rpc uri`

The URI of the chain's RPC public endpoint.

### `Block explorer uri address template`

The URI template for the chain's block explorer addresses. This will be used to generate address links to the block explorer. For example: `https://etherscan.io/address/{{address}}`.

### `Block explorer uri tx hash template`

The URI template for the chain's block explorer transaction hashes. This will be used to generate `txHash` links to the block explorer. For example: `https://etherscan.io/tx/{{txHash}}`.

### `Block explorer uri api template`

The URI template for the chain's block explorer API. This will be used to fetch data from the block explorer. For example: `https://api.etherscan.io/api`.

### `Beacon chain explorer uri public key template`

The URI template for the chain's beacon chain explorer public keys. This will be used to generate public key links to the beacon chain explorer. For example: `https://beaconscan.com/validator/{{publicKey}}`.

### `Currency name`

The name of the chain's native currency.

### `Currency symbol`

The symbol of the chain's native currency.

### `Currency decimals`

The number of decimals of the chain's native currency.

### `Currency logo uri`

The URI of the chain's native currency logo. This will be displayed in the UI.
louis-md marked this conversation as resolved.
Show resolved Hide resolved

### `Transaction service uri`

The URI of the chain's [Transaction Service](/core-api/api-safe-transaction-service). This will be used to fetch transaction data from the chain. You will need to deploy one Transaction Service per chain, as well as one `txs-db`, `amqp` and `celery` instances.
louis-md marked this conversation as resolved.
Show resolved Hide resolved

### `Vpc transaction service uri`

The URI of the chain's VPC Transaction Service. If you are using a Virtual Private Cloud (VPC) to run your Transaction Service, you can set this URI to fetch transaction data from the chain.

### `Theme text color`

The chain color to display the text in the UI.
louis-md marked this conversation as resolved.
Show resolved Hide resolved

### `Theme background color`

The chain color to display the background in the UI.
louis-md marked this conversation as resolved.
Show resolved Hide resolved

### `Ens registry address`

The address of the chain's ENS registry.

### `Recommended mastercopy version`

The recommended version of the chain's mastercopy. This will be used to display a warning if the mastercopy is outdated. For example: `1.4.1`.

Check failure on line 127 in pages/config-service-configuration/add-or-edit-chain.mdx

View workflow job for this annotation

GitHub Actions / vale-docs

[vale] reported by reviewdog 🐶 [Vale.Spelling] Did you really mean 'mastercopy'? Raw Output: {"message": "[Vale.Spelling] Did you really mean 'mastercopy'?", "location": {"path": "pages/config-service-configuration/add-or-edit-chain.mdx", "range": {"start": {"line": 127, "column": 40}}}, "severity": "ERROR"}

Check failure on line 127 in pages/config-service-configuration/add-or-edit-chain.mdx

View workflow job for this annotation

GitHub Actions / vale-docs

[vale] reported by reviewdog 🐶 [Vale.Spelling] Did you really mean 'mastercopy'? Raw Output: {"message": "[Vale.Spelling] Did you really mean 'mastercopy'?", "location": {"path": "pages/config-service-configuration/add-or-edit-chain.mdx", "range": {"start": {"line": 127, "column": 98}}}, "severity": "ERROR"}

### `Prices provider native coin`

The native coin used by the chain's price provider.

### `Prices provider chain name`

The name of the chain's price provider.
louis-md marked this conversation as resolved.
Show resolved Hide resolved

### `Balances provider chain name`

The name of the chain's balances provider.

### `Balances provider enabled`

Whether the chain's balances provider is enabled.
louis-md marked this conversation as resolved.
Show resolved Hide resolved

### `Hidden`

Whether the chain is hidden in the UI.

### `Safe singleton address`

The address of the chain's Safe Singleton.
louis-md marked this conversation as resolved.
Show resolved Hide resolved

### `Safe proxy factory address`

The address of the chain's Safe Proxy
louis-md marked this conversation as resolved.
Show resolved Hide resolved

### `Multisend address`

The address of the chain's multisend contract.
louis-md marked this conversation as resolved.
Show resolved Hide resolved

### `Multisand call only address`

The address of the chain's multisend call only contract.
louis-md marked this conversation as resolved.
Show resolved Hide resolved

### `Fallback handler address`

The address of the chain's fallback handler contract.
louis-md marked this conversation as resolved.
Show resolved Hide resolved

### `Sign message lib address`

The address of the chain's sign message library contract.
louis-md marked this conversation as resolved.
Show resolved Hide resolved

### `Create call address`

The address of the chain's create call contract.
louis-md marked this conversation as resolved.
Show resolved Hide resolved

### `Simulate tx accessor address`

The address of the chain's simulate transaction accessor contract.
louis-md marked this conversation as resolved.
Show resolved Hide resolved

### `Safe web authn signer factory address`

The address of the chain's Safe WebAuthn Signer Factory contract.
louis-md marked this conversation as resolved.
Show resolved Hide resolved

### Features enabled on this chain

A list of [features](./add-or-edit-feature.mdx) enabled on this chain. You can select as many as you want by clicking `+ Add another Feature-chain relationship`.

### Gas prices set for this chain

A list of [gas prices](./add-or-edit-gas-price.mdx) set for this chain. You can select as many as you want by clicking `+ Add another Gas price`.

### Wallets enabled for this chain

A list of [wallets](./add-or-edit-wallet.mdx) enabled for this chain. You can select as many as you want by clicking `+ Add another Wallet-chain relationship`.
15 changes: 15 additions & 0 deletions pages/config-service-configuration/add-or-edit-client.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Add or edit clients
louis-md marked this conversation as resolved.
Show resolved Hide resolved

Add (or edit) a new client to the configuration, so they can be attributed to Safe Apps.

## Usage

You can add a new client by visiting this address: `http://localhost:8000/cfg/admin/safe_apps/client/add/`

You can edit an existing client by visiting this address: `http://localhost:8000/cfg/admin/safe_apps/client/{client index}/change/` where `{client index}` is the index of the client you want to edit.

## Parameters

### `Url`

The URL the client is hosted at.
24 changes: 24 additions & 0 deletions pages/config-service-configuration/add-or-edit-feature.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Add or edit features
louis-md marked this conversation as resolved.
Show resolved Hide resolved

Add (or edit) a new feature to the configuration, so they can be attributed to chains.

## Usage

You can add a new feature by visiting this address: `http://localhost:8000/cfg/admin/chains/feature/add/`

You can edit an existing feature by visiting this address: `http://localhost:8000/cfg/admin/chains/feature/{feature index}/change/` where `{feature index}` is the index of the feature you want to edit.

## Parameters

### `Chains`

Select the chains that will have this feature enabled.

### `Key`

The key of the feature. This is the unique identifier for the feature.

### `Description`

A brief description of the feature.

43 changes: 43 additions & 0 deletions pages/config-service-configuration/add-or-edit-gas-price.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Add or edit gas prices
louis-md marked this conversation as resolved.
Show resolved Hide resolved

Add (or edit) a new gas price to the configuration, so they can be attributed to chains.

## Usage

You can add a new gas price by visiting this address: `http://localhost:8000/cfg/admin/chains/gasprice/add/`

You can edit an existing gas price by visiting this address: `http://localhost:8000/cfg/admin/chains/gasprice/{gasprice index}/change/` where `{gasprice index}` is the index of the gas price you want to edit.

## Parameters

### `Chain`

The chain that will have this gas price enabled.

### `Oracle uri`

The URI of the oracle that will provide the gas price.

### `Oracle parameter`

The parameter that will be used to fetch the gas price from the oracle.

### `Gwei multiplier factor`

The factor that will be used to multiply the fetched gas price. This is useful when the oracle returns the gas price in a different unit than Gwei.

Check failure on line 27 in pages/config-service-configuration/add-or-edit-gas-price.mdx

View workflow job for this annotation

GitHub Actions / vale-docs

[vale] reported by reviewdog 🐶 [Vale.Spelling] Did you really mean 'Gwei'? Raw Output: {"message": "[Vale.Spelling] Did you really mean 'Gwei'?", "location": {"path": "pages/config-service-configuration/add-or-edit-gas-price.mdx", "range": {"start": {"line": 27, "column": 143}}}, "severity": "ERROR"}

### `Fixed gas price (wei)`

A fixed gas price that will be used instead of fetching it from the oracle. This is useful when the oracle is not available.

### `Rank`

The relative importance of this gas price to your project. You can use this value between 0 and 100 to sort gas prices by priority.

### `Max fee per gas (wei)`

The maximum fee per gas that will be used to calculate the gas price. This is useful when the oracle returns a gas price that is too high.
louis-md marked this conversation as resolved.
Show resolved Hide resolved

### `Max priority fee per gas (wei)`

The maximum priority fee per gas that will be used to calculate the gas price. This is useful when the oracle returns a gas price that is too high.
louis-md marked this conversation as resolved.
Show resolved Hide resolved
17 changes: 17 additions & 0 deletions pages/config-service-configuration/add-or-edit-group.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Add or edit group
louis-md marked this conversation as resolved.
Show resolved Hide resolved

Add (or edit) a new group of permissions to the configuration, so they can be attributed to users.

## Usage

You can add a new group by visiting this address: `http://localhost:8000/cfg/admin/auth/group/add/`

## Parameters

### `Name`

The name of the permission group.

### `Permissions`

Individual permissions to be added to the group. You can select as many as you want from the left column `Available permissions` and move them to the right column `Selected permissions`.
Loading
Loading