-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.env.example
More file actions
87 lines (75 loc) · 4.06 KB
/
Copy path.env.example
File metadata and controls
87 lines (75 loc) · 4.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# `.env` is a one-off bootstrap file, not long-lived deployment state.
# Copy this file to `.env` for the first wallet import only. The deploy
# script uses PRIVATE_KEY and ACCOUNT_PASSWORD to create a Foundry
# keystore account, then deletes `.env` so no plaintext secrets persist
# on disk. Subsequent runs prompt for the keystore password
# interactively; everything else has a sensible default in the script
# and can be overridden via the shell environment.
#
# `.env` is git-ignored. Do not commit a populated copy. A successful
# deploy deletes `.env` automatically; a failed run leaves the file
# exactly as it was so you can correct it and retry.
# Foundry keystore account passed to cast/forge as `--account`.
ACCOUNT_NAME=dotns-deploy
# Foundry keystore password passed to cast/forge as `--password`.
ACCOUNT_PASSWORD=
# Hex-encoded deployer private key. May include a leading `0x`.
# Required only while importing ACCOUNT_NAME for the first time.
#
# Local fork (anvil) - well-known dev account #0; safe for the local
# eth-rpc adapter only, NEVER use this on a real chain:
# 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
#
# Real testnet / mainnet - use a key whose address holds the funds you
# intend to deploy with and that you control exclusively.
PRIVATE_KEY=
# Address allowed to manage the public-controller whitelist after deploy.
# This account is not an owner and cannot upgrade contracts or change
# protocol configuration.
WHITELIST_OPERATOR=0xd908e5a6c88e9263f8fd0756bd0b77916008bb72
# Optional. Foundry rpc alias (see [rpc_endpoints] in foundry.toml) or
# a full https/wss URL. Defaults to `paseo_local`, which is the local
# revive eth-rpc adapter started by `docker compose up`.
#
# Examples:
# RPC_URL=paseo_local
# RPC_URL=paseo
# RPC_URL=https://rpc.example.org
RPC_URL=paseo_local
# Required. Bare TLD label the protocol registry is initialised with, without the
# leading dot (for example `dot`, `paseo`, or `test`). Distinct networks can share
# a chain id, so the TLD is set explicitly per deploy rather than derived. The
# deploy aborts if this is unset or empty, and no setter can correct it afterwards.
DOTNS_TLD=dot
# Optional. Manifest subdirectory under `deployments/`. Set it when two chains
# share a chain id (for example a previewnet and a next environment both reach
# 420420417 through the local adapter) so each keeps its own manifest. Defaults
# to the chain-id mapping. See DEPLOYMENTS.md.
DEPLOYMENT_NETWORK=
# Optional. Address of a pre-deployed CREATE3 factory to reuse. When set,
# DeployCore adopts it instead of minting a new one, so every DotNS address is
# pinned to that factory and stays the same across chain resets. `bun run
# deploy:all` sets this automatically from the factory step; set it by hand only
# when running `bun run deploy` (the pipeline on its own).
CREATE3_FACTORY=
# Optional. Expected CREATE3 factory address for this network. When set, the
# factory step aborts if the resolved address differs (a wrong or rotated
# factory key), so the protocol cannot silently relocate to a new address set.
EXPECTED_CREATE3_FACTORY=
# Optional. Foundry keystore account used to deploy the CREATE3 factory in
# `bun run deploy:all`. Leave it unset for a single-key setup: the factory is
# then deployed from ACCOUNT_NAME above (at nonce 0), and the same key runs the
# pipeline. Set it to a separate, pre-imported single-purpose keystore for a
# two-key setup, so the pipeline/upgrade key can differ from the factory key.
# Either way the factory key must be pristine (nonce 0) on each fresh chain; the
# deploy asserts this.
FACTORY_ACCOUNT=
# Optional. Password for the factory keystore. Defaults to ACCOUNT_PASSWORD when
# unset, so a two-key setup that shares one password needs nothing here. Set it
# when the factory keystore has its own password.
FACTORY_PASSWORD=
# Optional. Private key of the factory keystore, used to import it on the first
# run. Defaults to PRIVATE_KEY when unset. Set it when the factory key differs
# from the pipeline key (the usual two-key setup) and the factory keystore is
# not yet imported.
FACTORY_PRIVATE_KEY=