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

Group typo fixes #5466

Open
wants to merge 31 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
76ac21c
fix correction (#5458)
Bilogweb3 Jan 24, 2025
9cfcf8b
minor typos (#5463)
Fallengirl Jan 28, 2025
8e91d91
Add missing apostrophe `owner` s to `owner`'s (#5462)
XxAlex74xX Jan 28, 2025
fe75eef
Merge branch 'master' into typo-fixes
Amxx Feb 3, 2025
cb3dace
Fix typos and grammar in documentation (#5477)
PixelPil0t1 Feb 3, 2025
dd33a88
fix typos in documentation files (#5474)
kilavvy Feb 3, 2025
fb942e6
fix spelling errors in comments (#5475)
detrina Feb 3, 2025
dd797b0
Fix typo in BeaconProxy.test.js (#5476)
dannbbb1 Feb 3, 2025
de5f2dc
fix: consistent spelling: "behavior" (#5478)
annwag Feb 3, 2025
49c940c
Merge branch 'master' into typo-fixes
Amxx Feb 3, 2025
8349c4f
fix incorrect (#5484)
comfsrt Feb 3, 2025
4dd9d06
spelling errors (#5485)
bouchmann Feb 4, 2025
602dc92
Merge branch 'master' into typo-fixes
Amxx Feb 4, 2025
bd09096
fix spelling errors (#5489)
JohnBonny Feb 4, 2025
70371ff
Merge branch 'master' into typo-fixes
Amxx Feb 12, 2025
9f2e129
fix spelling issue (#5490)
moooonman Feb 12, 2025
43f1d30
fix: Fix grammar in log message (#5482)
0xkazak Feb 12, 2025
fdc4001
Merge branch 'master' into typo-fixes
Amxx Feb 13, 2025
a196613
fix grammar and spelling errors (#5499)
galaparm Feb 13, 2025
12c9e0e
fix: typos (#5502)
maximevtush Feb 13, 2025
aa94087
spelling error (#5505)
Vitaliyr888 Feb 13, 2025
64954d8
Merge branch 'master' into typo-fixes
Amxx Feb 14, 2025
11f92b7
`be default` -> `by default` (#5512)
pendrue Feb 14, 2025
9a62c3c
Merge branch 'master' into typo-fixes
arr00 Feb 16, 2025
282f414
Fix spelling error in CHANGELOG.md (#5516)
Pronoss Feb 18, 2025
8423d20
minor format-changelog.js (#5517)
eeemmmmmm Feb 18, 2025
839cb42
Apply suggestions from code review
arr00 Feb 21, 2025
d70b70a
Merge branch 'master' into typo-fixes
Amxx Feb 24, 2025
c75fb05
fix duplicate ERC6909.behavior.js (#5523)
aso20455 Feb 24, 2025
9340f17
Fix spelling errors in `GUIDELINES.md` and `README.adoc` (#5525)
tomasandroil Feb 24, 2025
564f5d0
chore: fix incorrect (#5510)
GooseMatrix Feb 24, 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: 1 addition & 1 deletion .changeset/brown-turkeys-marry.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
'openzeppelin-solidity': minor
---

`ER6909TokenSupply`: Add an extension of ERC6909 which tracks total supply for each token id.
`ERC6909TokenSupply`: Add an extension of ERC6909 which tracks total supply for each token id.
2 changes: 1 addition & 1 deletion .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:
run: npm run test:inheritance
- name: Check pragma consistency between files
run: npm run test:pragma
- name: Check proceduraly generated contracts are up-to-date
- name: Check procedurally generated contracts are up-to-date
run: npm run test:generation
- name: Compare gas costs
uses: ./.github/actions/gas-compare
Expand Down
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -427,7 +427,7 @@ Instead, contracts now revert with custom errors. Systems that interact with sma

##### Relying on storage locations for retrieving data

After 5.0, the storage location of some variables were changed. This is the case for `Initializable` and all the upgradeable contracts since they now use namespaced storaged locations. Any system relying on storage locations for retrieving data or detecting capabilities should be updated to support these new locations.
After 5.0, the storage location of some variables was changed. This is the case for `Initializable` and all the upgradeable contracts since they now use namespaced storage locations. Any system relying on storage locations for retrieving data or detecting capabilities should be updated to support these new locations.

## 4.9.6 (2024-02-29)

Expand Down
2 changes: 1 addition & 1 deletion GUIDELINES.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Code must be thoroughly tested with quality unit tests.

We defer to the [Moloch Testing Guide](https://github.com/MolochVentures/moloch/tree/master/test#readme) for specific recommendations, though not all of it is relevant here. Note the introduction:

> Tests should be written, not only to verify correctness of the target code, but to be comprehensively reviewed by other programmers. Therefore, for mission critical Solidity code, the quality of the tests are just as important (if not more so) than the code itself, and should be written with the highest standards of clarity and elegance.
> Tests should be written, not only to verify correctness of the target code, but to be comprehensively reviewed by other programmers. Therefore, for mission critical Solidity code, the quality of the tests is just as important (if not more so) than the code itself, and should be written to the highest standards of clarity and elegance.
Every addition or change to the code must come with relevant and comprehensive tests.

Expand Down
2 changes: 1 addition & 1 deletion RELEASING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Releasing

OpenZeppelin Contracts uses a fully automated release process that takes care of compiling, packaging, and publishing the library, all of which is carried out in a clean CI environment (GitHub Actions), implemented in the ([`release-cycle`](.github/workflows/release-cycle.yml)) workflow. This helps to reduce the potential for human error and inconsistencies, and ensures that the release process is ongoing and reliable.
OpenZeppelin Contracts uses a fully automated release process that takes care of compiling, packaging, and publishing the library, all of which is carried out in a clean CI environment (GitHub Actions), implemented in the [`release-cycle`](.github/workflows/release-cycle.yml) workflow. This helps to reduce the potential for human error and inconsistencies, and ensures that the release process is ongoing and reliable.

## Changesets

Expand Down
6 changes: 3 additions & 3 deletions audits/2017-03.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ The git commit hash we evaluated is:

# Disclaimer
Comment on lines 20 to 21
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've been against changing archived audits but if consensus is we should change it, that's fine.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think there is consensus. Just grouping everything under one PR.


The audit makes no statements or warrantees about utility of the code, safety of the code, suitability of the business model, regulatory regime for the business model, or any other statements about fitness of the contracts to purpose, or their bug free status. The audit documentation is for discussion purposes only.
The audit makes no statements or warranties about utility of the code, safety of the code, suitability of the business model, regulatory regime for the business model, or any other statements about fitness of the contracts to purpose, or their bug free status. The audit documentation is for discussion purposes only.

# Executive Summary

Expand Down Expand Up @@ -109,7 +109,7 @@ It would be nice to see how many payments are pending. This would imply a bit of

## Shareable Contract

We do not believe the `Shareable.sol` contract is ready for primetime. It is missing functions, and as written may be vulnerable to a reordering attack -- an attack in which a miner or other party "racing" with a smart contract participant inserts their own information into a list or mapping.
We do not believe the `Shareable.sol` contract is ready for prime time. It is missing functions, and as written may be vulnerable to a reordering attack -- an attack in which a miner or other party "racing" with a smart contract participant inserts their own information into a list or mapping.

The confirmation and revocation code needs to be looked over with a very careful eye imagining extraordinarily bad behavior by shared owners before this contract can be called safe.

Expand Down Expand Up @@ -159,7 +159,7 @@ Allows owner to set a public string of contract information. No issues.

This needs some work. Doesn't check if `_required <= len(_owners)` for instance, that would be a bummer. What if _required were like `MAX - 1`?

I have a general concern about the difference between `owners`, `_owners`, and `owner` in `Ownable.sol`. I recommend "Owners" be renamed. In general we do not recomment single character differences in variable names, although a preceding underscore is not uncommon in Solidity code.
I have a general concern about the difference between `owners`, `_owners`, and `owner` in `Ownable.sol`. I recommend "Owners" be renamed. In general we do not recommend single character differences in variable names, although a preceding underscore is not uncommon in Solidity code.

Line 34: "this contract only has six types of events"...actually only two.

Expand Down
2 changes: 1 addition & 1 deletion contracts/access/IAccessControl.sol
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ interface IAccessControl {
* @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`
*
* `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite
* {RoleAdminChanged} not being emitted signaling this.
* {RoleAdminChanged} not being emitted to signal this.
*/
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);

Expand Down
2 changes: 1 addition & 1 deletion contracts/governance/extensions/GovernorTimelockAccess.sol
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import {Time} from "../../utils/types/Time.sol";
*
* ==== Security Considerations
*
* Some operations may be cancelable in the `AccessManager` by the admin or a set of guardians, depending on the
* Some operations may be cancellable in the `AccessManager` by the admin or a set of guardians, depending on the
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See the comment below. He we are going in the opposite direction. We shouldn't just have these flip-flopping.

Copy link
Contributor

@arr00 arr00 Feb 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't have much consistency throughout the repo. We should choose one and stay with it. I prefer American spelling.

* restricted function being invoked. Since proposals are atomic, the cancellation by a guardian of a single operation
* in a proposal will cause all of the proposal to become unable to execute. Consider proposing cancellable operations
* separately.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import {SafeCast} from "../../utils/math/SafeCast.sol";
* the assets and permissions must be attached to the {TimelockController}. Any asset sent to the {Governor} will be
* inaccessible from a proposal, unless executed via {Governor-relay}.
*
* WARNING: Setting up the TimelockController to have additional proposers or cancellers besides the governor is very
* WARNING: Setting up the TimelockController to have additional proposers or cancelers besides the governor is very
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

canceller and canceler are both correct spellings but 2 l's is more common in British English while the other is American English. We should just be consistent on what we choose.

* risky, as it grants them the ability to: 1) execute operations as the timelock, and thus possibly performing
* operations or accessing funds that are expected to only be accessible through a vote, and 2) block governance
* proposals that have been approved by the voters, effectively executing a Denial of Service attack.
Expand Down
2 changes: 1 addition & 1 deletion contracts/interfaces/IERC4626.sol
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ interface IERC4626 is IERC20, IERC20Metadata {
function maxRedeem(address owner) external view returns (uint256 maxShares);

/**
* @dev Allows an on-chain or off-chain user to simulate the effects of their redeemption at the current block,
* @dev Allows an on-chain or off-chain user to simulate the effects of their redemption at the current block,
* given current on-chain conditions.
*
* - MUST return as close to and no more than the exact amount of assets that would be withdrawn in a redeem call
Expand Down
6 changes: 3 additions & 3 deletions contracts/proxy/Clones.sol
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ library Clones {
error CloneArgumentsTooLong();

/**
* @dev Deploys and returns the address of a clone that mimics the behaviour of `implementation`.
* @dev Deploys and returns the address of a clone that mimics the behavior of `implementation`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another british vs american

*
* This function uses the create opcode, which should never revert.
*/
Expand Down Expand Up @@ -54,7 +54,7 @@ library Clones {
}

/**
* @dev Deploys and returns the address of a clone that mimics the behaviour of `implementation`.
* @dev Deploys and returns the address of a clone that mimics the behavior of `implementation`.
*
* This function uses the create2 opcode and a `salt` to deterministically deploy
* the clone. Using the same `implementation` and `salt` multiple times will revert, since
Expand Down Expand Up @@ -158,7 +158,7 @@ library Clones {
}

/**
* @dev Deploys and returns the address of a clone that mimics the behaviour of `implementation` with custom
* @dev Deploys and returns the address of a clone that mimics the behavior of `implementation` with custom
* immutable arguments. These are provided through `args` and cannot be changed after deployment. To
* access the arguments within the implementation, use {fetchCloneArgs}.
*
Expand Down
2 changes: 1 addition & 1 deletion contracts/proxy/utils/Initializable.sol
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ abstract contract Initializable {
// Allowed calls:
// - initialSetup: the contract is not in the initializing state and no previous version was
// initialized
// - construction: the contract is initialized at version 1 (no reininitialization) and the
// - construction: the contract is initialized at version 1 (no reinitialization) and the
// current contract is just being deployed
bool initialSetup = initialized == 0 && isTopLevelCall;
bool construction = initialized == 1 && address(this).code.length == 0;
Expand Down
4 changes: 2 additions & 2 deletions contracts/token/ERC20/ERC20.sol
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@ abstract contract ERC20 is Context, IERC20, IERC20Metadata, IERC20Errors {
}

/**
* @dev Sets `value` as the allowance of `spender` over the `owner` s tokens.
* @dev Sets `value` as the allowance of `spender` over the `owner`'s tokens.
*
* This internal function is equivalent to `approve`, and can be used to
* e.g. set automatic allowances for certain subsystems, etc.
Expand Down Expand Up @@ -291,7 +291,7 @@ abstract contract ERC20 is Context, IERC20, IERC20Metadata, IERC20Errors {
}

/**
* @dev Updates `owner` s allowance for `spender` based on spent `value`.
* @dev Updates `owner`'s allowance for `spender` based on spent `value`.
*
* Does not update the allowance value in case of infinite allowance.
* Revert if not enough allowance is available.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ abstract contract ERC20TemporaryApproval is ERC20, IERC7674 {
}

/**
* @dev Sets `value` as the temporary allowance of `spender` over the `owner` s tokens.
* @dev Sets `value` as the temporary allowance of `spender` over the `owner`'s tokens.
*
* This internal function is equivalent to `temporaryApprove`, and can be used to e.g. set automatic allowances
* for certain subsystems, etc.
Expand Down
2 changes: 1 addition & 1 deletion contracts/token/ERC6909/README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@ Implementations are provided for each of the 4 interfaces defined in the ERC.

{{ERC6909Metadata}}

{{ERC6909TokenSupply}}
{{ERC6909TokenSupply}}
4 changes: 2 additions & 2 deletions contracts/utils/README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ Miscellaneous contracts and libraries containing utility functions you can use t
* {ReentrancyGuardTransient}: Variant of {ReentrancyGuard} that uses transient storage (https://eips.ethereum.org/EIPS/eip-1153[EIP-1153]).
* {Pausable}: A common emergency response mechanism that can pause functionality while a remediation is pending.
* {Nonces}: Utility for tracking and verifying address nonces that only increment.
* {NoncesKeyed}: Alternative to {Nonces}, that support key-ed nonces following https://eips.ethereum.org/EIPS/eip-4337#semi-abstracted-nonce-support[ERC-4337 speciciations].
* {NoncesKeyed}: Alternative to {Nonces}, that support keyed nonces following https://eips.ethereum.org/EIPS/eip-4337#semi-abstracted-nonce-support[ERC-4337 specifications].
* {ERC165}, {ERC165Checker}: Utilities for inspecting interfaces supported by contracts.
* {BitMaps}: A simple library to manage boolean value mapped to a numerical index in an efficient way.
* {EnumerableMap}: A type like Solidity's https://solidity.readthedocs.io/en/latest/types.html#mapping-types[`mapping`], but with key-value _enumeration_: this will let you know how many entries a mapping has, and iterate over them (which is not possible with `mapping`).
* {EnumerableSet}: Like {EnumerableMap}, but for https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets]. Can be used to store privileged accounts, issued IDs, etc.
* {DoubleEndedQueue}: An implementation of a https://en.wikipedia.org/wiki/Double-ended_queue[double ended queue] whose values can be removed added or remove from both sides. Useful for FIFO and LIFO structures.
* {DoubleEndedQueue}: An implementation of a https://en.wikipedia.org/wiki/Double-ended_queue[double ended queue] whose values can be added or removed from both sides. Useful for FIFO and LIFO structures.
* {CircularBuffer}: A data structure to store the last N values pushed to it.
* {Checkpoints}: A data structure to store values mapped to a strictly increasing key. Can be used for storing and accessing values over time.
* {Heap}: A library that implements a https://en.wikipedia.org/wiki/Binary_heap[binary heap] in storage.
Expand Down
2 changes: 1 addition & 1 deletion contracts/utils/SlotDerivation.sol
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ pragma solidity ^0.8.20;
* using SlotDerivation for bytes32;
*
* // Declare a namespace
* string private constant _NAMESPACE = "<namespace>" // eg. OpenZeppelin.Slot
* string private constant _NAMESPACE = "<namespace>"; // eg. OpenZeppelin.Slot
*
* function setValueInNamespace(uint256 key, address newValue) internal {
* _NAMESPACE.erc7201Slot().deriveMapping(key).getAddressSlot().value = newValue;
Expand Down
10 changes: 5 additions & 5 deletions contracts/utils/TransientSlot.sol
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ pragma solidity ^0.8.24;
*/
library TransientSlot {
/**
* @dev UDVT that represent a slot holding a address.
* @dev UDVT that represents a slot holding a address.
*/
type AddressSlot is bytes32;

Expand All @@ -44,7 +44,7 @@ library TransientSlot {
}

/**
* @dev UDVT that represent a slot holding a bool.
* @dev UDVT that represents a slot holding a bool.
*/
type BooleanSlot is bytes32;

Expand All @@ -56,7 +56,7 @@ library TransientSlot {
}

/**
* @dev UDVT that represent a slot holding a bytes32.
* @dev UDVT that represents a slot holding a bytes32.
*/
type Bytes32Slot is bytes32;

Expand All @@ -68,7 +68,7 @@ library TransientSlot {
}

/**
* @dev UDVT that represent a slot holding a uint256.
* @dev UDVT that represents a slot holding a uint256.
*/
type Uint256Slot is bytes32;

Expand All @@ -80,7 +80,7 @@ library TransientSlot {
}

/**
* @dev UDVT that represent a slot holding a int256.
* @dev UDVT that represents a slot holding a int256.
*/
type Int256Slot is bytes32;

Expand Down
6 changes: 3 additions & 3 deletions contracts/utils/math/Math.sol
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ library Math {
}

/**
* @dev Returns the addition of two unsigned integers, with an success flag (no overflow).
* @dev Returns the addition of two unsigned integers, with a success flag (no overflow).
*/
function tryAdd(uint256 a, uint256 b) internal pure returns (bool success, uint256 result) {
unchecked {
Expand All @@ -29,7 +29,7 @@ library Math {
}

/**
* @dev Returns the subtraction of two unsigned integers, with an success flag (no overflow).
* @dev Returns the subtraction of two unsigned integers, with a success flag (no overflow).
*/
function trySub(uint256 a, uint256 b) internal pure returns (bool success, uint256 result) {
unchecked {
Expand All @@ -39,7 +39,7 @@ library Math {
}

/**
* @dev Returns the multiplication of two unsigned integers, with an success flag (no overflow).
* @dev Returns the multiplication of two unsigned integers, with a success flag (no overflow).
*/
function tryMul(uint256 a, uint256 b) internal pure returns (bool success, uint256 result) {
unchecked {
Expand Down
6 changes: 3 additions & 3 deletions contracts/utils/structs/Checkpoints.sol
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ library Checkpoints {
}

/**
* @dev Returns the number of checkpoint.
* @dev Returns the number of checkpoints.
*/
function length(Trace224 storage self) internal view returns (uint256) {
return self._checkpoints.length;
Expand Down Expand Up @@ -317,7 +317,7 @@ library Checkpoints {
}

/**
* @dev Returns the number of checkpoint.
* @dev Returns the number of checkpoints.
*/
function length(Trace208 storage self) internal view returns (uint256) {
return self._checkpoints.length;
Expand Down Expand Up @@ -520,7 +520,7 @@ library Checkpoints {
}

/**
* @dev Returns the number of checkpoint.
* @dev Returns the number of checkpoints.
*/
function length(Trace160 storage self) internal view returns (uint256) {
return self._checkpoints.length;
Expand Down
2 changes: 1 addition & 1 deletion contracts/utils/structs/CircularBuffer.sol
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ library CircularBuffer {
}

/**
* @dev Initialize a new CircularBuffer of given size.
* @dev Initialize a new CircularBuffer of a given size.
*
* If the CircularBuffer was already setup and used, calling that function again will reset it to a blank state.
*
Expand Down
2 changes: 1 addition & 1 deletion scripts/generate/templates/Checkpoints.js
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ function latestCheckpoint(${opts.historyTypeName} storage self) internal view re
}

/**
* @dev Returns the number of checkpoint.
* @dev Returns the number of checkpoints.
*/
function length(${opts.historyTypeName} storage self) internal view returns (uint256) {
return self.${opts.checkpointFieldName}.length;
Expand Down
2 changes: 1 addition & 1 deletion scripts/generate/templates/Checkpoints.t.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import {Checkpoints} from "@openzeppelin/contracts/utils/structs/Checkpoints.sol
const template = opts => `\
using Checkpoints for Checkpoints.${opts.historyTypeName};

// Maximum gap between keys used during the fuzzing tests: the \`_prepareKeys\` function with make sure that
// Maximum gap between keys used during the fuzzing tests: the \`_prepareKeys\` function will make sure that
// key#n+1 is in the [key#n, key#n + _KEY_MAX_GAP] range.
uint8 internal constant _KEY_MAX_GAP = 64;

Expand Down
2 changes: 1 addition & 1 deletion scripts/generate/templates/SlotDerivation.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ pragma solidity ^0.8.20;
* using SlotDerivation for bytes32;
*
* // Declare a namespace
* string private constant _NAMESPACE = "<namespace>" // eg. OpenZeppelin.Slot
* string private constant _NAMESPACE = "<namespace>"; // eg. OpenZeppelin.Slot
*
* function setValueInNamespace(uint256 key, address newValue) internal {
* _NAMESPACE.erc7201Slot().deriveMapping(key).getAddressSlot().value = newValue;
Expand Down
2 changes: 1 addition & 1 deletion scripts/generate/templates/TransientSlot.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ pragma solidity ^0.8.24;

const udvt = ({ type, name }) => `\
/**
* @dev UDVT that represent a slot holding a ${type}.
* @dev UDVT that represents a slot holding a ${type}.
*/
type ${name}Slot is bytes32;

Expand Down
2 changes: 1 addition & 1 deletion scripts/release/format-changelog.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ const formatted = changelog
.replace(RELEASE_LINE_REGEX, (_, pr, entry) => (pr ? `- ${entry} (${pr})` : `- ${entry}`))
// Add date to new version
.replace(VERSION_TITLE_REGEX, `\n## $1 (${new Date().toISOString().split('T')[0]})`)
// Conditionally allow vX.Y.Z.rc-.W sections only in prerelease
// Conditionally allow vX.Y.Z-rc.W sections only in prerelease
.replace(/^## \d\.\d\.\d-rc\S+[^]+?(?=^#)/gm, section => (isPrerelease ? section : ''));

fs.writeFileSync('CHANGELOG.md', formatted);
2 changes: 1 addition & 1 deletion test/access/AccessControl.behavior.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ function shouldBehaveLikeAccessControl() {
expect(await this.mock.hasRole(DEFAULT_ADMIN_ROLE, this.defaultAdmin)).to.be.true;
});

it("other roles's admin is the default admin role", async function () {
it("other role's admin is the default admin role", async function () {
expect(await this.mock.getRoleAdmin(ROLE)).to.equal(DEFAULT_ADMIN_ROLE);
});

Expand Down
Loading
Loading