Skip to content

Commit 37e2007

Browse files
committed
Add changesets
...
1 parent 91453dd commit 37e2007

12 files changed

Lines changed: 157 additions & 0 deletions
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
'@networked-art/punks-sdk': minor
3+
---
4+
5+
Every `ContractWritePlan` now carries a `kind` discriminator.
6+
7+
- New required `kind: PlanKind` field on `ContractWritePlan`, a string-literal
8+
union naming every prepared transaction across the canonical market, the
9+
auction, the vault, the stash, the C721 / legacy / V1 wrappers, and the V1
10+
market — so a UI can branch on the action without parsing `description`.
11+
- `PlanKind` is exported alongside the existing action types. Plans built
12+
through the SDK gain the field automatically.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
'@networked-art/punks-sdk': minor
3+
---
4+
5+
Add the native bidding surface to `PunksMarketClient`.
6+
7+
- `bid(punkId)` reads the current `punkBids` entry into a new `PunkMarketBid`
8+
(`{ punkId, hasBid, bidder, valueWei }`).
9+
- `enterBid`, `acceptBid`, and `withdrawBid` (each with a `prepare*` variant)
10+
wrap `enterBidForPunk`, `acceptBidForPunk`, and `withdrawBidForPunk` on the
11+
canonical `CryptoPunksMarket`.

.changeset/curated-collections-burned.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,5 @@ in a new bundled `search-collections.json`.
1515
Standalone `searchCollections` and `getSearchCollection` are also exported.
1616
- New `CuratedCollection` type. `normalizePunkStandard` and the `PunkStandardRef`
1717
type are unchanged for consumers (re-exported from their previous module).
18+
19+
By [@seanbonner](https://github.com/seanbonner).

.changeset/curated-collections-museum.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,5 @@ searchable per-institution sub-sets.
1515
- Source data is MoMA, ZKM Karlsruhe, LACMA, Centre Pompidou, ICA Miami, and
1616
Toledo Museum of Art (museumpunks.com). Two of the museum Punks (#2838,
1717
#5449, both ZKM) are also in the `burned` set.
18+
19+
By [@seanbonner](https://github.com/seanbonner).

.changeset/curated-collections-perfect-priceless.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,5 @@ framed print backed by its seed phrase sealed in an envelope.
1111
`paper`.
1212
- The collection alias matcher now skips punctuation-only tokens, so the `&`
1313
spelling of a name matches the same set as the spelled-out form.
14+
15+
By [@seanbonner](https://github.com/seanbonner).
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
'@networked-art/punks-sdk': minor
3+
---
4+
5+
Add a `@networked-art/punks-sdk/similarity` entry point: an in-memory index
6+
that scores how alike two Punks are and surfaces look-alikes and
7+
recommendations from a set of likes and dislikes.
8+
9+
- `createPunksSimilarity` / `PunkSimilarityIndex` build over the offline
10+
dataset (optionally including per-pixel data). `score(a, b)` returns a 0–1
11+
score, `components(a, b)` its breakdown across type, head, accessories,
12+
colors, scalar traits, and (when available) pixels, and `explain(a, b)` the
13+
shared / only-A / only-B traits and colors plus per-axis scalar deltas behind
14+
that score.
15+
- `similar(punkId, options)` ranks the rest of the collection; `recommend({
16+
liked, disliked, ... })` blends multiple seeds with a dislike penalty. Both
17+
take a `profile` (`balanced` | `traits` | `visual` | `colors`) or explicit
18+
`weights`, plus `filter` / `excludeIds` / `includeSelf` / `limit` /
19+
`minScore` / `diversify`.
20+
- New types: `PunkSimilarityProfile`, `PunkSimilarityComponents`,
21+
`PunkSimilarityWeights`, `PunkSimilarityOptions`,
22+
`PunkSimilarityRecommendOptions`, `PunkSimilarityResult`,
23+
`PunkSimilarityScalarDelta`, `PunkSimilarityExplanation`, and
24+
`PunksSimilarityConfig`.

.changeset/punks-auction-client.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
---
2+
'@networked-art/punks-sdk': minor
3+
---
4+
5+
`PunksAuction` and its escrow are deployed on mainnet; wire up their addresses
6+
and round out the auction client.
7+
8+
- New `PUNKS_AUCTION_ADDRESS` and `PUNKS_AUCTION_ESCROW_ADDRESS` constants.
9+
`PunksAuctionClient` now defaults to the live address (so `address` is
10+
optional in config but always set) and adds the deployed reads
11+
`escrowAddress()`, `punksDataAddress()`, `activeLotFor({ seller, standard,
12+
punkId })`, and `balanceOf(account)`; `vaultFactoryAddress()` now reads
13+
`VAULTS`.
14+
- Combined create-and-execute flows `createLotAndAcceptOffer` and
15+
`createLotAndStartAuction` (mirrored on the SDK facade as `createLotAndAccept`
16+
/ `createLotAndStartAuction`), plus `clearStaleLots(ids)` and `withdraw()` for
17+
ETH credited after a failed direct payout.
18+
- `adjustOfferAmount` now takes an absolute `newAmountWei` and reads the current
19+
offer on-chain to size `msg.value` (previously `{ amountWei, increase }`).
20+
- New `@networked-art/punks-sdk` `./auction` helpers mirroring the contract:
21+
the `PUNKS_AUCTION_*` constants (`MAX_LOT_ITEMS`, `MAX_INSTANT_ITEMS`,
22+
`MAX_OFFER_SLOTS`, `MAX_SLOT_IDS`, `TOTAL_WEIGHT_BPS`, `BID_INCREASE_BPS`,
23+
`BPS`, `DURATION_SECONDS`, `BIDDING_GRACE_SECONDS`), `minPunksAuctionBidWei`,
24+
`splitPunksAuctionLotWeights`, `punksAuctionOfferSlotMatchesPunk`,
25+
`punksAuctionLotMatchesOffer`, `isPunksFilterEmpty`, and the
26+
`PunksAuctionLotLike` / `PunksAuctionOfferLike` types. Lot and offer builders
27+
now enforce these bounds.
28+
29+
Thanks [@yougogirldoteth](https://github.com/yougogirldoteth)!

.changeset/punks-vault-client.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
'@networked-art/punks-sdk': minor
3+
---
4+
5+
Add a `PunksVault` client so the EOA controlling a vault can drive
6+
native-market actions on vaulted Punks without first reclaiming them.
7+
8+
- New `PUNKS_VAULT_FACTORY_ADDRESS` and `PUNKS_VAULT_FACTORY_START_BLOCK`
9+
constants for the `PunksVaultFactory` that deploys deterministic per-user
10+
vault clones.
11+
- `createPunksVaultClient` / `PunksVaultClient` (and `PunksVaultFacade.at(address)`)
12+
prepare plans that target the vault and forward to the canonical
13+
`CryptoPunksMarket` (or any market passed per call): `prepareList` /
14+
`prepareUnlist`, `prepareTransferPunk`, `prepareAcceptBid`, and
15+
`prepareWithdrawFromMarket` / `prepareWithdrawFromMarketTo`.
16+
- New `PunksVaultClientConfig` and `PunksVaultConfig` types.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
'@networked-art/punks-sdk': minor
3+
---
4+
5+
An unquoted query that exactly names a trait now matches that trait exactly.
6+
7+
- `punks.search({ text: 'Dark Hair' })` behaves like `"Dark Hair"`: when the
8+
whole query is the exact name of a trait it folds to that single trait
9+
instead of fuzzy-matching each word. Partial or compound queries still take
10+
the substring path.
11+
- Applied on the filter-compile path (offer slots / onchain criteria) through
12+
`parseSearchTextWithExactTraitsSync`, so the same text round-trips to the same
13+
criteria in both search and offers.
14+
15+
By [@yougogirldoteth](https://github.com/yougogirldoteth).

.changeset/search-number-words.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
'@networked-art/punks-sdk': minor
3+
---
4+
5+
Numeric search constraints accept spelled-out numbers.
6+
7+
- `<n> attributes` / `colors` / `pixels` (and the range and comparator forms)
8+
now accept `zero` through `seven` as words, so `five attributes` parses the
9+
same as `5 attributes`.
10+
11+
By [@yougogirldoteth](https://github.com/yougogirldoteth).

0 commit comments

Comments
 (0)