@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.
- package/README.md +109 -6
- 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
|
|
4
|
-
[![license
|
|
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
|
-
|
|
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
|
-
|
|
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]:
|
|
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.
|
|
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-
|
|
42
|
-
"@xyo-network/xl1-
|
|
43
|
-
"@xyo-network/xl1-
|
|
44
|
-
"@xyo-network/xl1-validation": "~1.28.
|
|
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.
|
|
57
|
-
"@xylabs/tsconfig": "~7.13.
|
|
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.
|
|
99
|
+
"@xyo-network/xl1-protocol-model": "~1.28.3"
|
|
100
100
|
},
|
|
101
101
|
"peerDependencies": {
|
|
102
|
-
"@bitauth/libauth": "
|
|
103
|
-
"@metamask/providers": "
|
|
104
|
-
"@opentelemetry/api": "
|
|
105
|
-
"@opentelemetry/sdk-trace-base": "
|
|
106
|
-
"@scure/base": "
|
|
107
|
-
"@scure/bip39": "
|
|
108
|
-
"@xylabs/geo": "
|
|
109
|
-
"@xylabs/sdk-js": "
|
|
110
|
-
"@xylabs/threads": "
|
|
111
|
-
"@xyo-network/account": "
|
|
112
|
-
"@xyo-network/account-model": "
|
|
113
|
-
"@xyo-network/api": "
|
|
114
|
-
"@xyo-network/api-models": "
|
|
115
|
-
"@xyo-network/boundwitness-builder": "
|
|
116
|
-
"@xyo-network/boundwitness-model": "
|
|
117
|
-
"@xyo-network/boundwitness-wrapper": "
|
|
118
|
-
"@xyo-network/config-payload-plugin": "
|
|
119
|
-
"@xyo-network/huri": "
|
|
120
|
-
"@xyo-network/manifest-model": "
|
|
121
|
-
"@xyo-network/payload-builder": "
|
|
122
|
-
"@xyo-network/payload-model": "
|
|
123
|
-
"@xyo-network/payload-plugin": "
|
|
124
|
-
"@xyo-network/payload-wrapper": "
|
|
125
|
-
"@xyo-network/query-payload-plugin": "
|
|
126
|
-
"@xyo-network/sdk-js": "
|
|
127
|
-
"@xyo-network/sdk-protocol-js": "
|
|
128
|
-
"@xyo-network/wallet": "
|
|
129
|
-
"@xyo-network/wallet-model": "
|
|
130
|
-
"ajv": "
|
|
131
|
-
"async-mutex": "
|
|
132
|
-
"bn.js": "
|
|
133
|
-
"buffer": "
|
|
134
|
-
"chalk": "
|
|
135
|
-
"debug": "
|
|
136
|
-
"ethers": "
|
|
137
|
-
"hash-wasm": "
|
|
138
|
-
"idb": "
|
|
139
|
-
"lru-cache": "
|
|
140
|
-
"mapbox-gl": "
|
|
141
|
-
"observable-fns": "
|
|
142
|
-
"pako": "
|
|
143
|
-
"store2": "
|
|
144
|
-
"wasm-feature-detect": "
|
|
145
|
-
"webextension-polyfill": "
|
|
146
|
-
"zod": "
|
|
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"
|