Skip to content

Commit 2a0b6ee

Browse files
committed
Remove legacy word-domains protocol support and associated parser
- Deleted the `WordDomainsParser` class and its references from the `ProtocolParser`, streamlining protocol handling. - Removed the `name_registry` contract and its related tests, eliminating legacy word-domain registration functionality. - Updated the `L2Genesis` contract to exclude the `NameRegistry` from proxied contract checks and registration. - Adjusted tests to reflect the removal of word-domains, ensuring consistency across the codebase.
1 parent 83ef4a3 commit 2a0b6ee

File tree

9 files changed

+3
-627
lines changed

9 files changed

+3
-627
lines changed

app/models/protocol_parser.rb

Lines changed: 2 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ class ProtocolParser
55

66
# Protocol name to parser class mapping
77
PROTOCOL_PARSERS = {
8-
'word-domains' => WordDomainsParser,
98
'erc-20' => Erc20FixedDenominationParser,
109
'erc-20-fixed-denomination' => Erc20FixedDenominationParser,
1110
'erc-721-ethscriptions-collection' => Erc721EthscriptionsCollectionParser
@@ -15,7 +14,6 @@ def self.extract(content_uri, eth_transaction: nil, ethscription_id: nil)
1514
# Parse data URI and extract protocol info
1615
parsed = parse_data_uri_and_protocol(content_uri)
1716

18-
# Special case: plain word-domains registration (data:,word) has no protocol markers
1917
if parsed.nil?
2018
# If we have an ethscription_id, try import fallback for collections regardless of content
2119
if ethscription_id
@@ -49,7 +47,7 @@ def self.extract(content_uri, eth_transaction: nil, ethscription_id: nil)
4947
end
5048
end
5149

52-
return try_plain_word_domains(content_uri)
50+
return nil
5351
end
5452

5553
# Direct routing - no "try" needed since we know the protocol
@@ -215,40 +213,4 @@ def self.parse_parameters(parameters)
215213
map
216214
end
217215

218-
def self.try_plain_word_domains(content_uri)
219-
# Try to parse as plain word-domains registration (data:,word)
220-
return nil unless content_uri.is_a?(String)
221-
return nil unless DataUri.valid?(content_uri)
222-
223-
data_uri = DataUri.new(content_uri)
224-
decoded_content = data_uri.decoded_data
225-
return nil unless decoded_content.is_a?(String)
226-
227-
# For plain word-domains: must have blank mimetype and no parameters
228-
# Also reject empty content (like 'data:,')
229-
return nil if decoded_content.strip.empty?
230-
mt = data_uri.mimetype.to_s
231-
return nil unless (mt.empty? || mt == 'text/plain') && data_uri.parameters.empty?
232-
233-
# Special handling for plain word-domains
234-
encoded = WordDomainsParser.validate_and_encode(
235-
decoded_content: decoded_content,
236-
operation: nil, # No operation for plain text
237-
params: {},
238-
source: :plain,
239-
ethscription_id: nil
240-
)
241-
242-
return nil if encoded == DEFAULT_PARAMS
243-
244-
protocol, operation, encoded_data = encoded
245-
246-
{
247-
type: :word_domains,
248-
protocol: protocol,
249-
operation: operation,
250-
params: nil,
251-
encoded_params: encoded_data
252-
}
253-
end
254-
end
216+
end

app/models/word_domains_parser.rb

Lines changed: 0 additions & 73 deletions
This file was deleted.

contracts/script/L2Genesis.s.sol

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import {Predeploys} from "../src/libraries/Predeploys.sol";
77
import {Constants} from "../src/libraries/Constants.sol";
88
import {Ethscriptions} from "../src/Ethscriptions.sol";
99
import {MetaStoreLib} from "../src/libraries/MetaStoreLib.sol";
10-
import {NameRegistry} from "../src/NameRegistry.sol";
1110
import "forge-std/console.sol";
1211

1312
/// @title GenesisEthscriptions
@@ -212,8 +211,7 @@ contract L2Genesis is Script {
212211
bool isProxiedContract = addr == Predeploys.ETHSCRIPTIONS ||
213212
addr == Predeploys.ERC20_FIXED_DENOMINATION_MANAGER ||
214213
addr == Predeploys.ETHSCRIPTIONS_PROVER ||
215-
addr == Predeploys.ERC721_ETHSCRIPTIONS_COLLECTION_MANAGER ||
216-
addr == Predeploys.NAME_REGISTRY;
214+
addr == Predeploys.ERC721_ETHSCRIPTIONS_COLLECTION_MANAGER;
217215
if (isProxiedContract) {
218216
address impl = Predeploys.predeployToCodeNamespace(addr);
219217
setImplementation(addr, impl);
@@ -224,7 +222,6 @@ contract L2Genesis is Script {
224222
_setImplementationCodeNamed(Predeploys.ERC20_FIXED_DENOMINATION_MANAGER, "ERC20FixedDenominationManager");
225223
_setImplementationCodeNamed(Predeploys.ERC721_ETHSCRIPTIONS_COLLECTION_MANAGER, "ERC721EthscriptionsCollectionManager");
226224
_setImplementationCodeNamed(Predeploys.ETHSCRIPTIONS_PROVER, "EthscriptionsProver");
227-
_setImplementationCodeNamed(Predeploys.NAME_REGISTRY, "NameRegistry");
228225
// Templates live directly at their addresses (no proxy wrapping)
229226
_setCodeAt(Predeploys.ERC20_FIXED_DENOMINATION_IMPLEMENTATION, "ERC20FixedDenomination");
230227
_setCodeAt(Predeploys.ERC721_ETHSCRIPTIONS_COLLECTION_IMPLEMENTATION, "ERC721EthscriptionsCollection");
@@ -245,9 +242,6 @@ contract L2Genesis is Script {
245242

246243
ethscriptions.registerProtocol("erc-721-ethscriptions-collection", Predeploys.ERC721_ETHSCRIPTIONS_COLLECTION_MANAGER);
247244
console.log("Registered erc-721-ethscriptions-collection protocol handler:", Predeploys.ERC721_ETHSCRIPTIONS_COLLECTION_MANAGER);
248-
249-
ethscriptions.registerProtocol("word-domains", Predeploys.NAME_REGISTRY);
250-
console.log("Registered word-domains protocol handler:", Predeploys.NAME_REGISTRY);
251245
}
252246

253247
/// @notice Deploy L1Block contract (stores L1 block attributes)

0 commit comments

Comments
 (0)