@xyo-network/xl1-protocol 1.28.0 → 1.28.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +109 -6
  2. package/package.json +53 -53
package/README.md CHANGED
@@ -1,24 +1,127 @@
1
+ [![logo][]][logo-link]
2
+
1
3
  # @xyo-network/xl1-protocol
2
4
 
3
- [![npm][npm-badge]][npm-link]
4
- [![license][license-badge]][license-link]
5
+ [![npm-badge][]][npm-link]
6
+ [![license-badge][]][license-link]
7
+
8
+ > The full XL1 protocol surface — types, schemas, runtime contracts, and validation in one package.
9
+
10
+ ## Table of Contents
11
+
12
+ - [Description](#description)
13
+ - [Install](#install)
14
+ - [Subpath Exports](#subpath-exports)
15
+ - [What's Inside](#whats-inside)
16
+ - [Building Locally](#building-locally)
17
+ - [Maintainers](#maintainers)
18
+ - [License](#license)
19
+ - [Credits](#credits)
20
+
21
+ ## Description
5
22
 
6
- > XYO Layer One Protocol - All Protocol Packages
23
+ This package is the protocol-tier aggregate for XL1 (XYO Layer One). It bundles every package that defines *what XL1 data looks like* and *how it's validated* — the contracts that every node, indexer, and client agrees on:
24
+
25
+ - `@xyo-network/xl1-network-model` — network metadata, default networks, datalake URLs
26
+ - `@xyo-network/xl1-protocol-lib` — viewer/runner/repository/provider interfaces (the runtime contract layer)
27
+ - `@xyo-network/xl1-schema` — JSON Schema (AJV) definitions for protocol payloads
28
+ - `@xyo-network/xl1-validation` — block/bound-witness/transaction validators
29
+
30
+ If you're building a node, indexer, or any tool that needs the raw protocol primitives without RPC plumbing, this is your entry point. If you also want gateways, providers, RPC, and wrappers, use [`@xyo-network/xl1-sdk`](https://www.npmjs.com/package/@xyo-network/xl1-sdk) — it re-exports this package alongside two more SDK-tier packages.
7
31
 
8
32
  ## Install
9
33
 
34
+ Using npm:
35
+
36
+ ```sh
37
+ npm i --save @xyo-network/xl1-protocol
38
+ ```
39
+
40
+ Using yarn:
41
+
42
+ ```sh
43
+ yarn add @xyo-network/xl1-protocol
44
+ ```
45
+
46
+ Using pnpm:
47
+
48
+ ```sh
49
+ pnpm add @xyo-network/xl1-protocol
50
+ ```
51
+
52
+ Using bun:
53
+
54
+ ```sh
55
+ bun add @xyo-network/xl1-protocol
56
+ ```
57
+
58
+ ## Subpath Exports
59
+
60
+ - `@xyo-network/xl1-protocol` — flat barrel of all four sub-packages
61
+ - `@xyo-network/xl1-protocol/test` — shared test utilities and fixtures
62
+
63
+ ## What's Inside
64
+
65
+ **Type system** — A Zod-first model: every protocol type starts as a Zod schema, with derived TypeScript types and `is*` / `as*` / `to*` factory guards. Includes the full Signed/Unsigned × plain/WithHashMeta/WithStorageMeta variant matrix for transactions, blocks, and bound witnesses.
66
+
67
+ **Runtime contracts** — Viewer interfaces (read), Runner interfaces (write), Repository interfaces (storage), and Provider interfaces (connection). 25+ viewers covering blocks, accounts, stake, finalization, mempool, network, time, and transactions.
68
+
69
+ **Schemas** — AJV-compatible JSON Schemas for payloads, transactions, and bound witnesses, used at network and storage boundaries.
70
+
71
+ **Validators** — Composable validator functions for block cumulative balances, bound-witness signatures and references, and transactions (protocol, duration, from-address, gas, elevation, JSON-schema, transfers).
72
+
73
+ ## Building Locally
74
+
75
+ From the repo root:
76
+
10
77
  ```sh
11
- {{pm}} add {{name}}
78
+ xy build # tsup + tsc + publint
79
+ xy test # vitest
80
+ xy lint # eslint
12
81
  ```
13
82
 
83
+ Scope to this package: `xy build @xyo-network/xl1-protocol`.
84
+
85
+ ## Maintainers
86
+
87
+ <table>
88
+ <tr>
89
+ <td align="center" valign="top" width="120" bgcolor="#000000" style="background-color:#000000;">
90
+ <a href="https://github.com/arietrouw">
91
+ <img src="https://github.com/arietrouw.png" width="80" height="80" alt="Arie Trouw" /><br />
92
+ <sub><b>Arie Trouw</b></sub>
93
+ </a>
94
+ <br />
95
+ <a href="https://arietrouw.com">arietrouw.com</a>
96
+ </td>
97
+ <td align="center" valign="top" width="120" bgcolor="#000000" style="background-color:#000000;">
98
+ <a href="https://github.com/jonesmac">
99
+ <img src="https://github.com/jonesmac.png" width="80" height="80" alt="Matt Jones" /><br />
100
+ <sub><b>Matt Jones</b></sub>
101
+ </a>
102
+ </td>
103
+ <td align="center" valign="top" width="120" bgcolor="#000000" style="background-color:#000000;">
104
+ <a href="https://github.com/JoelBCarter">
105
+ <img src="https://github.com/JoelBCarter.png" width="80" height="80" alt="Joel Carter" /><br />
106
+ <sub><b>Joel Carter</b></sub>
107
+ </a>
108
+ </td>
109
+ </tr>
110
+ </table>
14
111
 
15
112
  ## License
16
113
 
17
- See the [LICENSE](LICENSE) file for license rights and limitations (LGPL-3.0-only).
114
+ See the [LICENSE](./LICENSE) file for license rights and limitations (LGPL-3.0-only).
18
115
 
116
+ ## Credits
19
117
 
118
+ [Made with 🔥 and ❄️ by XYO](https://xyo.network)
119
+
120
+ [logo]: https://cdn.xy.company/img/brand/XYO_full_colored.png
121
+ [logo-link]: https://xyo.network
20
122
 
21
123
  [npm-badge]: https://img.shields.io/npm/v/@xyo-network/xl1-protocol.svg
22
124
  [npm-link]: https://www.npmjs.com/package/@xyo-network/xl1-protocol
125
+
23
126
  [license-badge]: https://img.shields.io/npm/l/@xyo-network/xl1-protocol.svg
24
- [license-link]: https://github.com/xylabs/sdk-js/blob/main/LICENSE
127
+ [license-link]: ./LICENSE
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/xl1-protocol",
3
- "version": "1.28.0",
3
+ "version": "1.28.3",
4
4
  "description": "XYO Layer One Protocol - All Protocol Packages",
5
5
  "homepage": "https://xylabs.com",
6
6
  "bugs": {
@@ -38,10 +38,10 @@
38
38
  "README.md"
39
39
  ],
40
40
  "dependencies": {
41
- "@xyo-network/xl1-network-model": "~1.28.0",
42
- "@xyo-network/xl1-schema": "~1.28.0",
43
- "@xyo-network/xl1-protocol-lib": "~1.28.0",
44
- "@xyo-network/xl1-validation": "~1.28.0"
41
+ "@xyo-network/xl1-protocol-lib": "~1.28.3",
42
+ "@xyo-network/xl1-network-model": "~1.28.3",
43
+ "@xyo-network/xl1-schema": "~1.28.3",
44
+ "@xyo-network/xl1-validation": "~1.28.3"
45
45
  },
46
46
  "devDependencies": {
47
47
  "@bitauth/libauth": "~3.0.0",
@@ -53,8 +53,8 @@
53
53
  "@xylabs/geo": "^5.1.1",
54
54
  "@xylabs/sdk-js": "^5.1.1",
55
55
  "@xylabs/threads": "~5.1.1",
56
- "@xylabs/toolchain": "~7.13.8",
57
- "@xylabs/tsconfig": "~7.13.8",
56
+ "@xylabs/toolchain": "~7.13.13",
57
+ "@xylabs/tsconfig": "~7.13.13",
58
58
  "@xyo-network/account": "~5.6.1",
59
59
  "@xyo-network/account-model": "~5.6.2",
60
60
  "@xyo-network/api": "~5.6.1",
@@ -96,54 +96,54 @@
96
96
  "wasm-feature-detect": "~1.8.0",
97
97
  "webextension-polyfill": "^0.12.0",
98
98
  "zod": "~4.4.3",
99
- "@xyo-network/xl1-protocol-model": "~1.28.0"
99
+ "@xyo-network/xl1-protocol-model": "~1.28.3"
100
100
  },
101
101
  "peerDependencies": {
102
- "@bitauth/libauth": ">=3.0.0 <3.1",
103
- "@metamask/providers": ">=22.1.1 <23",
104
- "@opentelemetry/api": ">=1.9.1 <2",
105
- "@opentelemetry/sdk-trace-base": ">=2.7.1 <3",
106
- "@scure/base": ">=2.2.0 <2.3",
107
- "@scure/bip39": ">=2.2.0 <2.3",
108
- "@xylabs/geo": ">=5.1.1 <6",
109
- "@xylabs/sdk-js": ">=5.1.1 <6",
110
- "@xylabs/threads": ">=5.1.1 <5.2",
111
- "@xyo-network/account": ">=5.6.1 <5.7",
112
- "@xyo-network/account-model": ">=5.6.2 <5.7",
113
- "@xyo-network/api": ">=5.6.1 <5.7",
114
- "@xyo-network/api-models": ">=5.6.2 <5.7",
115
- "@xyo-network/boundwitness-builder": ">=5.6.1 <5.7",
116
- "@xyo-network/boundwitness-model": ">=5.6.2 <5.7",
117
- "@xyo-network/boundwitness-wrapper": ">=5.6.1 <5.7",
118
- "@xyo-network/config-payload-plugin": ">=5.6.2 <5.7",
119
- "@xyo-network/huri": ">=5.6.1 <5.7",
120
- "@xyo-network/manifest-model": ">=5.6.2 <5.7",
121
- "@xyo-network/payload-builder": ">=5.6.1 <5.7",
122
- "@xyo-network/payload-model": ">=5.6.2 <5.7",
123
- "@xyo-network/payload-plugin": ">=5.6.2 <5.7",
124
- "@xyo-network/payload-wrapper": ">=5.6.1 <5.7",
125
- "@xyo-network/query-payload-plugin": ">=5.6.2 <5.7",
126
- "@xyo-network/sdk-js": ">=5.6.3 <6",
127
- "@xyo-network/sdk-protocol-js": ">=5.6.2 <5.7",
128
- "@xyo-network/wallet": ">=5.6.1 <5.7",
129
- "@xyo-network/wallet-model": ">=5.6.2 <6",
130
- "ajv": ">=8.20.0 <9",
131
- "async-mutex": ">=0.5.0 <1",
132
- "bn.js": ">=5.2.3 <6",
133
- "buffer": ">=6.0.3 <7",
134
- "chalk": ">=5.6.2 <6",
135
- "debug": ">=4.4.3 <4.5",
136
- "ethers": ">=6.16.0 <7",
137
- "hash-wasm": ">=4.12.0 <4.13",
138
- "idb": ">=8.0.3 <9",
139
- "lru-cache": ">=11.3.6 <12",
140
- "mapbox-gl": ">=3.23.1 <4",
141
- "observable-fns": ">=0.6.1 <0.7",
142
- "pako": ">=2.1.0 <3",
143
- "store2": ">=2.14.4 <2.15",
144
- "wasm-feature-detect": ">=1.8.0 <1.9",
145
- "webextension-polyfill": ">=0.12.0 <1",
146
- "zod": ">=4.4.3 <4.5"
102
+ "@bitauth/libauth": "~3.0",
103
+ "@metamask/providers": "^22.1",
104
+ "@opentelemetry/api": "^1.9",
105
+ "@opentelemetry/sdk-trace-base": "^2.7",
106
+ "@scure/base": "~2.2",
107
+ "@scure/bip39": "~2.2",
108
+ "@xylabs/geo": "^5.1",
109
+ "@xylabs/sdk-js": "^5.1",
110
+ "@xylabs/threads": "~5.1",
111
+ "@xyo-network/account": "~5.6",
112
+ "@xyo-network/account-model": "~5.6",
113
+ "@xyo-network/api": "~5.6",
114
+ "@xyo-network/api-models": "~5.6",
115
+ "@xyo-network/boundwitness-builder": "~5.6",
116
+ "@xyo-network/boundwitness-model": "~5.6",
117
+ "@xyo-network/boundwitness-wrapper": "~5.6",
118
+ "@xyo-network/config-payload-plugin": "~5.6",
119
+ "@xyo-network/huri": "~5.6",
120
+ "@xyo-network/manifest-model": "~5.6",
121
+ "@xyo-network/payload-builder": "~5.6",
122
+ "@xyo-network/payload-model": "~5.6",
123
+ "@xyo-network/payload-plugin": "~5.6",
124
+ "@xyo-network/payload-wrapper": "~5.6",
125
+ "@xyo-network/query-payload-plugin": "~5.6",
126
+ "@xyo-network/sdk-js": "^5.6",
127
+ "@xyo-network/sdk-protocol-js": "~5.6",
128
+ "@xyo-network/wallet": "~5.6",
129
+ "@xyo-network/wallet-model": "^5.6",
130
+ "ajv": "^8.20",
131
+ "async-mutex": "^0.5",
132
+ "bn.js": "^5.2",
133
+ "buffer": "^6.0",
134
+ "chalk": "^5.6",
135
+ "debug": "~4.4",
136
+ "ethers": "^6.16",
137
+ "hash-wasm": "~4.12",
138
+ "idb": "^8.0",
139
+ "lru-cache": "^11.3",
140
+ "mapbox-gl": "^3.23",
141
+ "observable-fns": "~0.6",
142
+ "pako": "^2.1",
143
+ "store2": "~2.14",
144
+ "wasm-feature-detect": "~1.8",
145
+ "webextension-polyfill": "^0.12",
146
+ "zod": "~4.4"
147
147
  },
148
148
  "engines": {
149
149
  "node": ">=22.3"