npm.io
7.3.3 • Published 23h ago

@xyo-network/sdk-protocol-core

Licence
LGPL-3.0-only
Version
7.3.3
Deps
11
Size
3.7 MB
Vulns
0
Weekly
0

logo

@xyo-network/sdk-protocol-core

npm license

Foundation SDK core monolith for XYO Protocol 2.0 — protocol, core payload plugins, manifest, and sdk-utils. The public @xyo-network/sdk-protocol package re-exports this package.

Thin barrel

@xyo-network/sdk-protocol re-exports the published @xyo-network/* foundation packages. Its dist/ contains thin re-export bundles, and runtime dependencies pull in the individual foundation packages transitively. Shared externals (ethers, @ariestools/sdk, zod, etc.) remain peerDependencies.

Import the whole SDK:

import { ObjectHasher } from '@xyo-network/sdk-protocol'

...or a foundation package via subpath export:

import { PayloadPlugins } from '@xyo-network/sdk-protocol/core-payload-plugins'
import { Api } from '@xyo-network/sdk-protocol/sdk-utils'
import { PayloadSchema } from '@xyo-network/sdk-protocol/payload-model'

Compilation is handled by the @ariestools/toolchain custom entry mode configured in xy.config.ts. Because workspace compile runs topologically, every foundation package's dist/ is built before this barrel compiles:

pnpm xy build                           # compiles all packages, then builds the barrel
pnpm xy build @xyo-network/sdk-protocol # builds the barrel using already-compiled child dist

Consumers can import from @xyo-network/sdk-protocol, one of its subpaths, or the individual @xyo-network/* foundation packages directly.

Cloudflare workerd secp256k1

The elliptic/workerd subpath supplies the SDK's secp256k1 operations from a statically imported WebAssembly.Module, as required by Cloudflare Workers:

import { initializeEllipticWorkerd } from '@xyo-network/sdk-protocol-core/elliptic/workerd'

const cryptoReady = initializeEllipticWorkerd()

Await cryptoReady before using Account signing or verification APIs. The backend is installed once into the shared Elliptic singleton and cannot be replaced after initialization. The packaged libauth Wasm artifact is SHA-256 pinned and includes its upstream MIT license.

Install

Using npm:

npm install @xyo-network/sdk-protocol

Using yarn:

yarn add @xyo-network/sdk-protocol

Using pnpm:

pnpm add @xyo-network/sdk-protocol

Using bun:

bun add @xyo-network/sdk-protocol

License

See the LICENSE file for license rights and limitations (LGPL-3.0-only).

Credits

Made with and by XYO Foundation