Skip to content

Commit 034d837

Browse files
committed
Merge remote-tracking branch 'upstream/master'
2 parents d4003bf + 3bb0213 commit 034d837

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+4173
-2257
lines changed

.changeset/brown-walls-roll.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
'@openzeppelin/wizard-stellar': patch
3+
'@openzeppelin/wizard-common': patch
4+
'@openzeppelin/contracts-mcp': patch
5+
---
6+
7+
Add tokenUri setting for stellar non fungible model

.changeset/huge-ties-find.md

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

.changeset/mean-shoes-cheer.md

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

.changeset/twenty-hornets-clap.md

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

packages/common/CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
# Changelog
22

33

4+
## 0.3.1 (2025-11-12)
5+
6+
- Solidity account signer: Add `WebAuthn` to the list of signers available. ([#718](https://github.com/OpenZeppelin/contracts-wizard/pull/718))
7+
8+
## 0.3.0 (2025-11-11)
9+
10+
- **Breaking changes**: Solidity Stablecoin and RWA: Change `custodian` option to `freezable`. Replace ERC20Custodian with ERC20Freezable. ([#719](https://github.com/OpenZeppelin/contracts-wizard/pull/719))
11+
- Add macros descriptions for Cairo ([#703](https://github.com/OpenZeppelin/contracts-wizard/pull/703))
12+
413
## 0.2.0 (2025-11-03)
514

615
- **Breaking changes**: Solidity Stablecoin and RWA: Change `limitations` option to `restrictions`. Replace ERC20Allowlist and ERC20Blocklist with ERC20Restricted. ([#715](https://github.com/OpenZeppelin/contracts-wizard/pull/715))

packages/common/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@openzeppelin/wizard-common",
3-
"version": "0.2.0",
3+
"version": "0.3.1",
44
"description": "Common library for OpenZeppelin Contracts Wizard components. Used internally.",
55
"license": "AGPL-3.0-only",
66
"repository": "https://github.com/OpenZeppelin/contracts-wizard",

packages/common/src/ai/descriptions/solidity.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ export const solidityERC1155Descriptions = {
5454
};
5555

5656
export const solidityStablecoinDescriptions = {
57-
custodian:
57+
freezable:
5858
'Whether authorized accounts can freeze and unfreeze accounts for regulatory or security purposes. This feature is experimental, not audited and is subject to change.',
5959
restrictions:
6060
'Whether to restrict certain users from transferring tokens, either via allowing or blocking them. This feature is experimental, not audited and is subject to change.',
@@ -69,10 +69,11 @@ export const solidityAccountDescriptions = {
6969
signer: `Defines the signature verification algorithm used by the account to verify user operations. Options:
7070
- ECDSA: Standard Ethereum signature validation using secp256k1, validates signatures against a specified owner address
7171
- EIP7702: Special ECDSA validation using account's own address as signer, enables EOAs to delegate execution rights
72+
- Multisig: ERC-7913 multisignature requiring minimum number of signatures from authorized signers
73+
- MultisigWeighted: ERC-7913 weighted multisignature where signers have different voting weights
7274
- P256: NIST P-256 curve (secp256r1) validation for integration with Passkeys and HSMs
7375
- RSA: RSA PKCS#1 v1.5 signature validation (RFC8017) for PKI systems and HSMs
74-
- Multisig: ERC-7913 multisignature requiring minimum number of signatures from authorized signers
75-
- MultisigWeighted: ERC-7913 weighted multisignature where signers have different voting weights`,
76+
- WebAuthn: Web Authentication (WebAuthn) assertion validation for integration with Passkeys and HSMs on top of P256`,
7677
batchedExecution:
7778
'Whether to implement a minimal batching interface for the account to allow multiple operations to be executed in a single transaction following the ERC-7821 standard.',
7879
ERC7579Modules:

packages/common/src/ai/descriptions/stellar.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ export const stellarNonFungibleDescriptions = {
2222
enumerable: 'Whether the NFTs are enumerable (can be iterated over).',
2323
consecutive: 'To batch mint NFTs instead of minting them individually (sequential minting is mandatory).',
2424
sequential: 'Whether the IDs of the minted NFTs will be sequential.',
25+
tokenUri: 'The metadata URI returned by the token contract for every NFT.',
2526
};
2627

2728
export const stellarStablecoinDescriptions = {

packages/core/solidity/CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,17 @@
11
# Changelog
22

33

4+
## 0.10.2 (2025-11-12)
5+
6+
- Solidity account signer: Add `WebAuthn` to the list of signers available. ([#718](https://github.com/OpenZeppelin/contracts-wizard/pull/718))
7+
8+
## 0.10.1 (2025-11-11)
9+
10+
- Fixed bug with incorrect names in generated comment for Multisig account. ([#720](https://github.com/OpenZeppelin/contracts-wizard/pull/720))
11+
- Add API function to get versioned remappings. ([#724](https://github.com/OpenZeppelin/contracts-wizard/pull/724))
12+
- **Breaking changes**: Solidity Stablecoin and RWA: Change `custodian` option to `freezable`. Replace ERC20Custodian with ERC20Freezable. ([#719](https://github.com/OpenZeppelin/contracts-wizard/pull/719))
13+
- Solidity account signer: Fix grammar in comment ([#711](https://github.com/OpenZeppelin/contracts-wizard/pull/711))
14+
415
## 0.10.0 (2025-11-03)
516

617
- Update `@openzeppelin/contracts` and `@openzeppelin/contracts-upgradeable` dependencies to 5.5.0 ([#681](https://github.com/OpenZeppelin/contracts-wizard/pull/681))

packages/core/solidity/README.md

Lines changed: 17 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -24,81 +24,42 @@ The following contract types are supported:
2424

2525
Note that `stablecoin` and `realWorldAsset` are experimental and may be subject to change.
2626

27-
Each contract type has functions/constants as defined below.
28-
2927
### Functions
3028

29+
Each contract type implements a common API with methods that take contract-specific options (e.g., `ERC20Options` for `erc20`, `ERC721Options` for `erc721`, etc.). This ensures type safety and allows for contract-specific features.
30+
3131
#### `print`
3232
```js
33-
function print(opts?: ERC20Options): string
34-
```
35-
```js
36-
function print(opts?: ERC721Options): string
37-
```
38-
```js
39-
function print(opts?: ERC1155Options): string
40-
```
41-
```js
42-
function print(opts?: StablecoinOptions): string
43-
```
44-
```js
45-
function print(opts?: AccountOptions): string
46-
```
47-
```js
48-
function print(opts?: GovernorOptions): string
49-
```
50-
```js
51-
function print(opts?: CustomOptions): string
33+
function print(opts?: Options): string
5234
```
5335
Returns a string representation of a contract generated using the provided options. If `opts` is not provided, uses [`defaults`](#defaults).
5436

55-
#### `defaults`
56-
```js
57-
const defaults: Required<ERC20Options>
58-
```
59-
```js
60-
const defaults: Required<ERC721Options>
61-
```
62-
```js
63-
const defaults: Required<ERC1155Options>
64-
```
65-
```js
66-
const defaults: Required<StablecoinOptions>
67-
```
37+
#### `getVersionedRemappings`
6838
```js
69-
const defaults: Required<AccountOptions>
39+
function getVersionedRemappings(opts?: Options): string[]
7040
```
41+
Returns an array of remappings that map unversioned import prefixes to versioned import prefixes. For example:
7142
```js
72-
const defaults: Required<GovernorOptions>
43+
[
44+
"@openzeppelin/contracts/=@openzeppelin/contracts@5.5.0/",
45+
"@openzeppelin/contracts-upgradeable/=@openzeppelin/contracts-upgradeable@5.5.0/"
46+
]
7347
```
48+
If the contract options include upgradeability, the upgradeable remapping is included. If `opts` is not provided, uses [`defaults`](#defaults).
49+
50+
#### `defaults`
7451
```js
75-
const defaults: Required<CustomOptions>
52+
const defaults: Required<Options>
7653
```
77-
The default options that are used for [`print`](#print).
54+
The default options that are used for [`print`](#print) and [`getVersionedRemappings`](#getVersionedRemappings).
7855

7956
#### `isAccessControlRequired`
8057
```js
81-
function isAccessControlRequired(opts: Partial<ERC20Options>): boolean
82-
```
83-
```js
84-
function isAccessControlRequired(opts: Partial<ERC721Options>): boolean
85-
```
86-
```js
87-
function isAccessControlRequired(opts: Partial<ERC1155Options>): boolean
88-
```
89-
```js
90-
function isAccessControlRequired(opts: Partial<StablecoinOptions>): boolean
91-
```
92-
```js
93-
function isAccessControlRequired(opts: Partial<GovernorOptions>): boolean
94-
```
95-
```js
96-
function isAccessControlRequired(opts: Partial<CustomOptions>): boolean
58+
function isAccessControlRequired(opts: Partial<Options>): boolean
9759
```
9860
Whether any of the provided options require access control to be enabled. If this returns `true`, then calling `print` with the same options would cause the `access` option to default to `'ownable'` if it was `undefined` or `false`.
9961

100-
> Note that contracts such as `account`, have its own way of handling permissions and do not support the `access` option.
101-
Thus, that type does not include `isAccessControlRequired`.
62+
> Note that contracts such as `account` have their own way of handling permissions and do not support the `access` option. Thus, that type does not include `isAccessControlRequired`.
10263

10364
### Examples
10465

@@ -129,4 +90,3 @@ const contract = erc20.print({
12990
...erc20.defaults,
13091
upgradeable: 'uups',
13192
});
132-
```

0 commit comments

Comments
 (0)