Skip to content
This repository was archived by the owner on Oct 10, 2024. It is now read-only.

Commit 6dc76df

Browse files
authored
Merge pull request #600 from tokencard/inheritable-init-pattern
ENS registry/node init pattern
2 parents a6b1f10 + 3a6e045 commit 6dc76df

File tree

14 files changed

+28
-19
lines changed

14 files changed

+28
-19
lines changed

contracts/externals/upgradeability/UpgradeabilityProxy.sol

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,6 @@ contract UpgradeabilityProxy is BaseUpgradeabilityProxy {
2323
(bool success,) = _logic.delegatecall(_data);
2424
require(success);
2525
}
26-
}
26+
}
27+
2728
}

contracts/internals/ensResolvable.sol

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ import "../externals/ens/PublicResolver.sol";
2626
///@title ENSResolvable - Ethereum Name Service Resolver
2727
///@notice contract should be used to get an address for an ENS node
2828
contract ENSResolvable is Initializable {
29-
/// @notice _ensRegistry points to the ENS registry smart contract.
30-
address private _ensRegistry;
29+
/// @notice Address of the ENS registry contract set to the default ENS registry address.
30+
address private _ensRegistry = address(0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e);
3131

3232
/// @notice Checks if the contract has been initialized succesfully i.e. the ENS registry has been set.
3333
modifier initialized() {
@@ -49,7 +49,9 @@ contract ENSResolvable is Initializable {
4949

5050
/// @param _ensReg is the ENS registry used
5151
function _initializeENSResolvable(address _ensReg) internal initializer {
52-
require(_ensReg != address(0), "ensReg is 0");
53-
_ensRegistry = _ensReg;
52+
// Set ENS registry or use default
53+
if (_ensReg != address(0)) {
54+
_ensRegistry = _ensReg;
55+
}
5456
}
5557
}

contracts/internals/tokenWhitelistable.sol

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,11 @@ import "../externals/initializable.sol";
2525

2626
/// @title TokenWhitelistable implements access to the TokenWhitelist located behind ENS.
2727
contract TokenWhitelistable is ENSResolvable {
28-
/// @notice Is the registered ENS node identifying the tokenWhitelist contract
29-
bytes32 private _tokenWhitelistNode;
28+
// token-whitelist.tokencard.eth
29+
bytes32 private constant _DEFAULT_TOKEN_WHITELIST_NODE = 0xe84f90570f13fe09f288f2411ff9cf50da611ed0c7db7f73d48053ffc974d396;
30+
31+
/// @notice This is the registered ENS node identifying the tokenWhitelist contract
32+
bytes32 private _tokenWhitelistNode = _DEFAULT_TOKEN_WHITELIST_NODE;
3033

3134
/// @notice This shows what TokenWhitelist is being used
3235
/// @return TokenWhitelist's node registered in ENS.
@@ -68,7 +71,10 @@ contract TokenWhitelistable is ENSResolvable {
6871
/// @notice Initializes the TokenWhitelistable object.
6972
/// @param _tokenWhitelistNode_ is the ENS node of the TokenWhitelist.
7073
function _initializeTokenWhitelistable(bytes32 _tokenWhitelistNode_) internal initializer {
71-
_tokenWhitelistNode = _tokenWhitelistNode_;
74+
// Set tokenWhitelistNode or use default
75+
if (_tokenWhitelistNode_ != bytes32(0)) {
76+
_tokenWhitelistNode = _tokenWhitelistNode_;
77+
}
7278
}
7379

7480
/// @notice Checks whether a token is available.

pkg/bindings/externals/upgradeability/UpgradeabilityProxy.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/bindings/holder.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/bindings/licence.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/bindings/mocks/isValidSignatureExporter.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)