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
61 changes: 40 additions & 21 deletions contracts/deployments/dos-testnet-3939.json
Original file line number Diff line number Diff line change
@@ -1,35 +1,54 @@
{
"environment": "dos-testnet",
"chainId": 3939,
"deploymentBlock": 9,
"finalDeploymentBlock": 55,
"deployedAt": "2026-08-22T18:56:26Z",
"deploymentBlock": 120,
"finalDeploymentBlock": 166,
"deployedAt": "2026-08-12T15:49:48Z",
"deployer": "0x99999e454138f6be73E2bE82c890bc5765749999",
"owner": "0x310Bc061214ee89aF5CfB28a6ebF96c5436fa3CD",
"beneficiary": "0x310Bc061214ee89aF5CfB28a6ebF96c5436fa3CD",
"smokeName": "bens-smoke.dos",
"smokeResolvedAddress": "0x99999e454138f6be73E2bE82c890bc5765749999",
"transactions": {
"first": "0x4335e554287b08d1abedc1d6cd26e5b09fa6b427573d73c4306c885ba13e3a71",
"last": "0x33f1789f46590117fc44eb3e941da2579e53586ce1d1de45d582cb069612c719",
"first": "0xc0f8e5390dab49911ce5f0f4c0a035e3251033c7d502f3db2632e389ef3ab599",
"last": "0xa3f4e38ec91c8db369df6afa40eea3e28f73a858e3a4c1bbceca3a60b38e6d0a",
"count": 47
},
"contracts": {
"wrappedDOS": "0xc647ccf449dec38bb8b7272e60fc14b3548c9547",
"contractNamerImplementation": "0x069056b2ae8fd8c071efb827c5af73a0996840e1",
"contractNamer": "0x030eec847cf5d9d1c4a0b4e0459d130d0b35577c",
"verifiableFactory": "0xb86bb608e6afd7a8eb209510c01bb859a7c315f1",
"labelStore": "0x38fc582690c3f28099087a88520056afab08ce5f",
"rootRegistry": "0xb17fec6fe18ac0b7f3dd934495e84ec06cf88564",
"dosRegistry": "0x8a2730c903d93b2116fab3d9110c7d585f7b5a91",
"reverseRegistry": "0x641ee4711013ee40b34fae860894227c4771f273",
"priceOracle": "0x1f31e05948769174da256d0484b8f26cfd3d8c97",
"dosRegistrar": "0x27a3b7ff0ef7fb96d49eb50b069570f407387362",
"permissionedResolverImplementation": "0xfa579733d7c5a21b5d3c4399d3d6ef89fc3a3720",
"userRegistryImplementation": "0x8291f1c6aef2acbc58f3fe11c9e4ec0d3d4ae904",
"gatewayProvider": "0xcb20a0c349f079b8bd403ea8f668fe3da49e981f",
"universalResolver": "0x5a34c9fb9806239ed61f1570c51edb198333fbea",
"reverseRegistrar": "0x3cd8bddeb177492c5e521c3b82179887f472f018",
"smokeResolver": "0xee4b6427b88b8aa30fe2295139b8b2216f32d51b"
"wrappedDOS": "0x4bb2dcea9e18604741287a12d87abd9de793e3f4",
"contractNamerImplementation": "0xdd20fc2290cf664eccd3414799a9f024bdea531c",
"contractNamer": "0x64A04D812cdc62971f7E446E15a53c3C57f11418",
"verifiableFactory": "0xC9A8C00499Ef4f20Fffad7114C0eFfE8E766FE11",
"labelStore": "0x57C06ec4a92eC4eEB7c4eaFaBfBc64661483f3Bb",
"rootRegistry": "0x0dC5af261429d661BbF4903AbB79049a0713e04B",
"dosRegistry": "0x95366f1E44532F50c022aEefF708F424b7854173",
"reverseRegistry": "0x4d5429C2c0EE50b903407F44F8A21d20CAAcB475",
"priceOracle": "0x2eE958BcF29d140cdf64ad767f32E2554B0CCfa6",
"dosRegistrar": "0x4E5B48aC8B221aAF8cFF070671CB6Eeea2122b5c",
"permissionedResolverImplementation": "0x7C320eF16DE9CDD1BB9591AACF38c4c26f391e25",
"userRegistryImplementation": "0x440F74b09DfD3a848a9168d7d73784bCC03eF590",
"gatewayProvider": "0xEc7dFA7Dd3C7882d8716782689cE85e1Ccf9C68c",
"universalResolver": "0xbd0f96e3E8510a1bb806cAA9836fc76dfb1a5c47",
"reverseRegistrar": "0xD445f533aeC6E8BAE185f9903943e7B2E655472e",
"smokeResolver": "0xf2de697266073C4ba4D546d4305c228BBF5B1813"
},
"domainPolicy": {
"deployedAt": "2026-10-21",
"deploymentBlock": 177,
"finalDeploymentBlock": 181,
"admin": "0x99999e454138f6be73E2bE82c890bc5765749999",
"adminGrantTransaction": "0x467cec3cdaef51dde39dfff02baf99d19f7d2dbfe6208a8be058fe387a02a6f8",
"voucherSigner": "0x257958FF376B6C340ea2BDFCCc8e7d6420Fbb5f4",
"minimumScore": 20,
"policy": "0xBF613B2c72E9595204767AD9f6c0b47834Ccd3a2",
"registrar": "0xb4A8DbcA69b2FB8d57049c28c4c7e10a77197785",
"retiredRegistrar": "0x4E5B48aC8B221aAF8cFF070671CB6Eeea2122b5c",
"transactions": [
"0x3b85bc4b5597fa037159dc8f029fe5c6630a4d38379c30b2b60eb525952bdb43",
"0x383629c325cafc23db749b00218351be30376bda13c9957a4fbbf5d56868a29f",
"0xbcf971d1ed48aff55ab0e98326f4e21468944320d4b36c17a5a1718d5429633d",
"0xe5fb969213435a87df1d3a479ca83e0997c8ebcbcc4e4136a9afb2c810087f36",
"0x65e71e8d9bbb6cc27a40ad94a28f69baf61d07a677aa6ac6eefcbd2178b18184"
]
}
}
12 changes: 8 additions & 4 deletions contracts/script/foundry/DeployDOSDomainPolicyTestnet.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,9 @@ import {PermissionedRegistry} from "~src/registry/PermissionedRegistry.sol";

/// @title Deploy DOS ID Domain Policy on DOS Testnet
/// @notice Replaces the public Testnet registrar role with a policy-controlled registrar.
/// @dev Required env: PRIVATE_KEY (the canonical registry owner), DOS_DOMAIN_VOUCHER_SIGNER,
/// DOS_DOMAIN_REGISTRY, DOS_DOMAIN_PRICE_ORACLE, and DOS_DOMAIN_LEGACY_REGISTRAR.
/// @dev Required env: PRIVATE_KEY (the testnet admin 0x99999e45; Secret Manager
/// dos-deployer-99999e45-private-key), DOS_DOMAIN_VOUCHER_SIGNER, DOS_DOMAIN_REGISTRY,
/// DOS_DOMAIN_PRICE_ORACLE, and DOS_DOMAIN_LEGACY_REGISTRAR.
/// No private voucher key is read by this deployment script.
contract DeployDOSDomainPolicyTestnet is Script {
////////////////////////////////////////////////////////////////////////
Expand Down Expand Up @@ -42,8 +43,11 @@ contract DeployDOSDomainPolicyTestnet is Script {
/// @dev Expected DOS Testnet chain ID.
uint256 internal constant EXPECTED_CHAIN_ID = 3939;

/// @dev Account that owns the deployed registry roles.
address internal constant EXPECTED_OWNER = 0x310Bc061214ee89aF5CfB28a6ebF96c5436fa3CD;
/// @dev Testnet admin that broadcasts this deployment and owns the policy and registrar.
/// The Ledger owner 0x310Bc granted it the registrar admin roles once, on testnet only
/// (owner-approved 2026-10-21), so testnet operations do not need the hardware wallet.
/// Mainnet keeps the Ledger owner.
address internal constant EXPECTED_OWNER = 0x99999e454138f6be73E2bE82c890bc5765749999;

/// @dev Renewable period after a name expires.
uint64 internal constant GRACE_PERIOD = 28 days;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ $ErrorActionPreference = "Stop"

$expectedRpcUrl = "https://test.doschain.com"
$expectedChainId = 3939
$expectedGenesisHash = "0x1f6dd88694681d79a3a56313f59de56b1b6555c8e06a2ef377084f1e897feef4"
$expectedOwner = "0x310bc061214ee89af5cfb28a6ebf96c5436fa3cd"
$expectedGenesisHash = "0x36f98b2e8b3084d57efc46622a065c2a96ed51aca86ac229bce998be6b8abd2c"
$expectedOwner = "0x99999e454138f6be73e2be82c890bc5765749999"
$minimumBalanceWei = [System.Numerics.BigInteger]::Parse("1000000000000000000")
$requiredEnvironmentVariables = @(
"PRIVATE_KEY",
Expand Down
2 changes: 1 addition & 1 deletion contracts/script/foundry/Invoke-DeployDOSTestnet.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ $ErrorActionPreference = "Stop"

$expectedRpcUrl = "https://test.doschain.com"
$expectedChainId = 3939
$expectedGenesisHash = "0x1f6dd88694681d79a3a56313f59de56b1b6555c8e06a2ef377084f1e897feef4"
$expectedGenesisHash = "0x36f98b2e8b3084d57efc46622a065c2a96ed51aca86ac229bce998be6b8abd2c"
$expectedDeployer = "0x99999e454138f6be73e2be82c890bc5765749999"
$expectedOwner = "0x310bc061214ee89af5cfb28a6ebf96c5436fa3cd"
$minimumBalanceWei = [System.Numerics.BigInteger]::Parse("1000000000000000000")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import {StandardRentPriceOracleFixture} from "~test/fixtures/StandardRentPriceOr
import {V2Fixture} from "~test/fixtures/V2Fixture.sol";

contract DeployDOSDomainPolicyTestnetTest is V2Fixture, StandardRentPriceOracleFixture {
address internal constant EXPECTED_OWNER = 0x310Bc061214ee89aF5CfB28a6ebF96c5436fa3CD;
address internal constant EXPECTED_OWNER = 0x99999e454138f6be73E2bE82c890bc5765749999;
uint256 internal constant REGISTRAR_ROLES =
RegistryRolesLib.ROLE_REGISTRAR | RegistryRolesLib.ROLE_RENEW;
uint256 internal constant REGISTRAR_ADMIN_ROLES =
Expand Down
Loading