@xyo-network/xl1-protocol-sdk 1.7.4 → 1.7.6
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 +26 -3
- package/dist/neutral/config/Api.d.ts +16 -0
- package/dist/neutral/config/Api.d.ts.map +1 -0
- package/dist/neutral/config/App.d.ts +9 -0
- package/dist/neutral/config/App.d.ts.map +1 -0
- package/dist/neutral/config/Chain.d.ts +9 -0
- package/dist/neutral/config/Chain.d.ts.map +1 -0
- package/dist/neutral/config/Config.d.ts +256 -0
- package/dist/neutral/config/Config.d.ts.map +1 -0
- package/dist/neutral/config/Evm.d.ts +58 -0
- package/dist/neutral/config/Evm.d.ts.map +1 -0
- package/dist/neutral/config/Log.d.ts +9 -0
- package/dist/neutral/config/Log.d.ts.map +1 -0
- package/dist/neutral/config/Producer.d.ts +24 -0
- package/dist/neutral/config/Producer.d.ts.map +1 -0
- package/dist/neutral/config/Telemetry.d.ts +27 -0
- package/dist/neutral/config/Telemetry.d.ts.map +1 -0
- package/dist/neutral/config/index.d.ts +2 -0
- package/dist/neutral/config/index.d.ts.map +1 -0
- package/dist/neutral/config/storage/Storage.d.ts +43 -0
- package/dist/neutral/config/storage/Storage.d.ts.map +1 -0
- package/dist/neutral/config/storage/driver/Mongo.d.ts +22 -0
- package/dist/neutral/config/storage/driver/Mongo.d.ts.map +1 -0
- package/dist/neutral/config/storage/driver/index.d.ts +2 -0
- package/dist/neutral/config/storage/driver/index.d.ts.map +1 -0
- package/dist/neutral/config/storage/index.d.ts +2 -0
- package/dist/neutral/config/storage/index.d.ts.map +1 -0
- package/dist/neutral/index.d.ts +2 -0
- package/dist/neutral/index.d.ts.map +1 -1
- package/dist/neutral/index.mjs +139 -0
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/validation/index.d.ts +3 -0
- package/dist/neutral/validation/index.d.ts.map +1 -0
- package/dist/neutral/validation/lib/getUrl.d.ts +2 -0
- package/dist/neutral/validation/lib/getUrl.d.ts.map +1 -0
- package/dist/neutral/validation/lib/index.d.ts +3 -0
- package/dist/neutral/validation/lib/index.d.ts.map +1 -0
- package/dist/neutral/validation/lib/isLocalhost.d.ts +2 -0
- package/dist/neutral/validation/lib/isLocalhost.d.ts.map +1 -0
- package/dist/neutral/validation/lib/spec/isLocalhost.spec.d.ts +2 -0
- package/dist/neutral/validation/lib/spec/isLocalhost.spec.d.ts.map +1 -0
- package/dist/neutral/validation/schema/Address.d.ts +2 -0
- package/dist/neutral/validation/schema/Address.d.ts.map +1 -0
- package/dist/neutral/validation/schema/Mnemonic.d.ts +13 -0
- package/dist/neutral/validation/schema/Mnemonic.d.ts.map +1 -0
- package/dist/neutral/validation/schema/index.d.ts +3 -0
- package/dist/neutral/validation/schema/index.d.ts.map +1 -0
- package/package.json +4 -2
- package/src/config/Api.ts +11 -0
- package/src/config/App.ts +3 -0
- package/src/config/Chain.ts +6 -0
- package/src/config/Config.ts +33 -0
- package/src/config/Evm.ts +17 -0
- package/src/config/Log.ts +6 -0
- package/src/config/Producer.ts +16 -0
- package/src/config/Telemetry.ts +13 -0
- package/src/config/index.ts +1 -0
- package/src/config/storage/Storage.ts +10 -0
- package/src/config/storage/driver/Mongo.ts +12 -0
- package/src/config/storage/driver/index.ts +1 -0
- package/src/config/storage/index.ts +1 -0
- package/src/index.ts +2 -0
- package/src/validation/index.ts +2 -0
- package/src/validation/lib/getUrl.ts +6 -0
- package/src/validation/lib/index.ts +2 -0
- package/src/validation/lib/isLocalhost.ts +8 -0
- package/src/validation/schema/Address.ts +1 -0
- package/src/validation/schema/Mnemonic.ts +20 -0
- package/src/validation/schema/index.ts +2 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { LogLevelKey } from '@xylabs/logger'
|
|
2
|
+
import { LogLevel } from '@xylabs/logger'
|
|
3
|
+
import z from 'zod'
|
|
4
|
+
const LogLevels = Object.keys(LogLevel) as [LogLevelKey, ...LogLevelKey[]]
|
|
5
|
+
|
|
6
|
+
export const LogConfigSchema = z.object({ level: z.enum(LogLevels).default('info').describe('Desired process verbosity') })
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import z from 'zod'
|
|
2
|
+
|
|
3
|
+
import { MnemonicStringSchema } from '../validation/index.ts'
|
|
4
|
+
|
|
5
|
+
export const ProducerConfigSchema = z.object({
|
|
6
|
+
// TODO: Port schema
|
|
7
|
+
healthCheckPort: z.coerce.number().optional().describe('Port for the Producer health checks'),
|
|
8
|
+
// TODO: BigInt schema
|
|
9
|
+
minStake: z.coerce.number().default(1).describe('Minimum stake required to be a Producer'),
|
|
10
|
+
mnemonic: MnemonicStringSchema.optional().describe('Mnemonic for the Producer wallet'),
|
|
11
|
+
// TODO: Port schema
|
|
12
|
+
port: z.coerce.number().default(8081).describe('Port for the Producer'),
|
|
13
|
+
disableIntentRedeclaration: z.boolean().optional().describe('Should the producer skip redeclaring their intent to continue producing blocks'),
|
|
14
|
+
// TODO: Address schema
|
|
15
|
+
rewardAddress: z.string().optional().describe('Address to receive block rewards'),
|
|
16
|
+
})
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import z from 'zod'
|
|
2
|
+
|
|
3
|
+
export const OpenTelemetryConfigSchema = z.object({
|
|
4
|
+
// OpenTelemetry options
|
|
5
|
+
otlpEndpoint: z.string().optional().describe('OTLP endpoint for exporting telemetry data'),
|
|
6
|
+
})
|
|
7
|
+
|
|
8
|
+
export const TelemetryConfigSchema = z.object({
|
|
9
|
+
// OpenTelemetry configuration
|
|
10
|
+
otel: OpenTelemetryConfigSchema.optional().describe('OpenTelemetry configuration'),
|
|
11
|
+
}).describe('Telemetry configuration options')
|
|
12
|
+
|
|
13
|
+
export type TelemetryConfig = z.infer<typeof TelemetryConfigSchema>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Config.ts'
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import z from 'zod'
|
|
2
|
+
|
|
3
|
+
import { MongoConfigSchema } from './driver/index.ts'
|
|
4
|
+
|
|
5
|
+
export const StorageConfigSchema = z.object({
|
|
6
|
+
mongo: MongoConfigSchema.optional().describe('Configuration for the MongoDBstorage driver'),
|
|
7
|
+
root: z.string().optional().describe('Root directory for local storage'),
|
|
8
|
+
}).describe('Storage configuration options')
|
|
9
|
+
|
|
10
|
+
export type StorageConfig = z.infer<typeof StorageConfigSchema>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import z from 'zod'
|
|
2
|
+
|
|
3
|
+
export const MongoConfigSchema = z.object({
|
|
4
|
+
// TODO: Create from other arguments
|
|
5
|
+
connectionString: z.string().min(1).max(1024).optional().describe('MongoDB connection string'),
|
|
6
|
+
database: z.string().min(1).max(128).optional().describe('MongoDB database name'),
|
|
7
|
+
domain: z.string().min(1).max(128).optional().describe('MongoDB domain'),
|
|
8
|
+
password: z.string().min(1).max(128).optional().describe('MongoDB password'),
|
|
9
|
+
username: z.string().min(1).max(128).optional().describe('MongoDB username'),
|
|
10
|
+
})
|
|
11
|
+
|
|
12
|
+
export type MongoConfig = z.infer<typeof MongoConfigSchema>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Mongo.ts'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Storage.ts'
|
package/src/index.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export * from './block/index.ts'
|
|
2
2
|
export * from './ChainServiceCollection.ts'
|
|
3
3
|
export * from './ChainServiceCollectionV2.ts'
|
|
4
|
+
export * from './config/index.ts'
|
|
4
5
|
export * from './instances/index.ts'
|
|
5
6
|
export * from './payload/index.ts'
|
|
6
7
|
export * from './SignedBigInt.ts'
|
|
7
8
|
export * from './transaction/index.ts'
|
|
9
|
+
export * from './validation/index.ts'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const TODO = true
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { z } from 'zod'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Validates a single string containing a BIP-39 mnemonic.
|
|
5
|
+
*
|
|
6
|
+
* • Trims leading/trailing whitespace.
|
|
7
|
+
* • Collapses any run of whitespace (spaces, tabs, new-lines) to a single space.
|
|
8
|
+
* • Splits on spaces → array of words.
|
|
9
|
+
* • Checks that the word-count is 12, 15, 18, 21, or 24.
|
|
10
|
+
*
|
|
11
|
+
*/
|
|
12
|
+
export const MnemonicStringSchema = z
|
|
13
|
+
.string()
|
|
14
|
+
.transform(s => s.trim().replaceAll(/\s+/g, ' ')) // normalize spacing
|
|
15
|
+
.refine(
|
|
16
|
+
s => [12, 15, 18, 21, 24].includes(s.split(' ').length),
|
|
17
|
+
{ message: 'Mnemonic must contain 12, 15, 18, 21, or 24 words.' },
|
|
18
|
+
).describe('BIP-39 mnemonic string')
|
|
19
|
+
|
|
20
|
+
export type MnemonicString = z.infer<typeof MnemonicStringSchema>
|