Skip to content

Commit 637f192

Browse files
authored
Merge pull request #2 from 1001-digital/changeset-release/master
Version Packages
2 parents cc38648 + cef3290 commit 637f192

3 files changed

Lines changed: 32 additions & 31 deletions

File tree

.changeset/initial-proxies-release.md

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

CHANGELOG.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,32 @@
11
# @1001-digital/proxies
2+
3+
## 0.1.0
4+
5+
### Minor Changes
6+
7+
- [`cc38648`](https://github.com/1001-digital/proxies/commit/cc386483cc68acfa7fc91ce9fd95b5d29621d755) Thanks [@jwahdatehagh](https://github.com/jwahdatehagh)! - Initial release — Ethereum proxy pattern detection primitives for TypeScript.
8+
9+
Given a contract address, resolve where the real code lives: one implementation (plain proxy) or N facets (diamond). All patterns flow through the same `detect → enrich → compose` pipeline.
10+
11+
Supported patterns, tried in priority order by `detectProxy`:
12+
13+
- ERC-2535 diamond (loupe)
14+
- EIP-1967 (transparent / UUPS)
15+
- EIP-1967 beacon
16+
- EIP-1822 (UUPS)
17+
- EIP-1167 minimal proxy (clone)
18+
- Gnosis Safe
19+
- EIP-897
20+
21+
Public API:
22+
23+
- `createProxies(config?)` factory returning a `ProxiesClient` (`detect`, `fetch`)
24+
- Per-pattern detectors exported individually (`detectDiamond`, `detectEip1967`, `detectEip1967Beacon`, `detectEip1822`, `detectEip1167`, `detectGnosisSafe`, `detectEip897`)
25+
- Composition utilities: `enrichTargets`, `buildCompositeAbi`, `filterAbiBySelectors`
26+
- Pure helpers: `computeSelector`, `canonicalSignature`, `decodeFacets`
27+
- JSON-RPC helpers: `ethCall`, `ethGetStorageAt`, `ethGetCode`
28+
- Typed errors: `ProxiesError`, `ProxiesDecodeError`, `ProxiesFetchError`
29+
30+
Enrichment is dependency-injected — consumers supply a `TargetEnricher` returning `{ abi? }` per target (Sourcify, Etherscan, local files, …). The package stays narrow and takes no opinion on richer per-target metadata (sources, documentation, verification).
31+
32+
Detection is single-hop: if a resolved implementation is itself a proxy, detection does not recurse. Beacon remains supported as a defined two-step pattern.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@1001-digital/proxies",
3-
"version": "0.0.1",
3+
"version": "0.1.0",
44
"description": "Ethereum proxy pattern detection primitives — ERC-2535 diamonds, EIP-1967, EIP-1167, beacon, Safe, EIP-1822, EIP-897. Detect, enrich, compose.",
55
"license": "MIT",
66
"repository": {

0 commit comments

Comments
 (0)