@xyo-network/xl1-protocol 1.3.30 → 1.3.32
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/dist/index.d.ts +501 -0
- package/dist/{neutral/index.mjs → index.js} +34 -45
- package/package.json +12 -8
- package/src/{Xl1.ts → XL1.ts} +2 -2
- package/src/block/AllowedBlockPayload.ts +3 -3
- package/src/chain/ChainAnalyzer.ts +1 -1
- package/src/{Steps.ts → constants/StepSizes.ts} +1 -1
- package/src/constants/TransactionGasCosts.ts +43 -0
- package/src/constants/index.ts +2 -0
- package/src/fields/index.ts +4 -0
- package/src/index.ts +13 -17
- package/src/{ChainIterator.ts → iterator/ChainIterator.ts} +4 -3
- package/src/{ChainIteratorEventData.ts → iterator/ChainIteratorEventData.ts} +1 -1
- package/src/iterator/index.ts +2 -0
- package/src/payload/elevatable/ChainStakeIntent.ts +2 -1
- package/src/provider/v1/XyoNetwork.ts +1 -1
- package/src/provider/v1/XyoProvider.ts +3 -2
- package/src/provider/v1/XyoRunner.ts +1 -1
- package/src/provider/v1/XyoSigner.ts +2 -2
- package/src/provider/v1/XyoViewer.ts +3 -3
- package/src/provider/v2/viewer/Account.ts +1 -1
- package/src/provider/v2/viewer/Block.ts +2 -1
- package/src/provider/v2/viewer/Chain.ts +2 -1
- package/src/provider/v2/viewer/Transaction.ts +2 -1
- package/src/repository/TransactionReadRepository.ts +2 -1
- package/src/repository/TransactionRepositoryIterator.ts +2 -1
- package/src/repository/TransactionWriteRepository.ts +2 -1
- package/src/services/BlockProducer.ts +3 -3
- package/src/services/ChainServiceCollection.ts +1 -1
- package/src/services/Election.ts +2 -1
- package/src/services/PendingTransactionsService.ts +2 -1
- package/src/services/stakeIntent/StakeIntentService.ts +1 -1
- package/src/transaction/TransactionBoundWitness.ts +3 -2
- package/src/transaction/TransactionFeesFields.ts +1 -31
- package/src/validation/block/BlockValidationFunction.ts +1 -1
- package/src/validation/block/HydratedBlockStateValidationFunction.ts +1 -1
- package/src/validation/block/HydratedBlockValidationFunction.ts +1 -1
- package/src/validation/payload/InBlockPayloadValidationFunction.ts +1 -1
- package/src/validation/transaction/HydratedTransactionStateValidationFunction.ts +1 -1
- package/src/validation/transaction/HydratedTransactionValidationFunction.ts +1 -1
- package/tsup.config.ts +9 -0
- package/dist/neutral/index.mjs.map +0 -1
- package/dist/node/index.mjs +0 -254
- package/dist/node/index.mjs.map +0 -1
- package/dist/types/Addressable.d.ts +0 -5
- package/dist/types/Addressable.d.ts.map +0 -1
- package/dist/types/BlockDuration.d.ts +0 -23
- package/dist/types/BlockDuration.d.ts.map +0 -1
- package/dist/types/BlockNumber.d.ts +0 -37
- package/dist/types/BlockNumber.d.ts.map +0 -1
- package/dist/types/ChainIterator.d.ts +0 -29
- package/dist/types/ChainIterator.d.ts.map +0 -1
- package/dist/types/ChainIteratorEventData.d.ts +0 -11
- package/dist/types/ChainIteratorEventData.d.ts.map +0 -1
- package/dist/types/ChainReference.d.ts +0 -11
- package/dist/types/ChainReference.d.ts.map +0 -1
- package/dist/types/Initializable.d.ts +0 -3
- package/dist/types/Initializable.d.ts.map +0 -1
- package/dist/types/OpenTelemetryProviders.d.ts +0 -6
- package/dist/types/OpenTelemetryProviders.d.ts.map +0 -1
- package/dist/types/Steps.d.ts +0 -2
- package/dist/types/Steps.d.ts.map +0 -1
- package/dist/types/Xl1.d.ts +0 -11
- package/dist/types/Xl1.d.ts.map +0 -1
- package/dist/types/block/AllowedBlockPayload.d.ts +0 -11
- package/dist/types/block/AllowedBlockPayload.d.ts.map +0 -1
- package/dist/types/block/BlockBoundWitness.d.ts +0 -32
- package/dist/types/block/BlockBoundWitness.d.ts.map +0 -1
- package/dist/types/block/HydratedBlock.d.ts +0 -6
- package/dist/types/block/HydratedBlock.d.ts.map +0 -1
- package/dist/types/block/index.d.ts +0 -4
- package/dist/types/block/index.d.ts.map +0 -1
- package/dist/types/chain/ChainAnalyzer.d.ts +0 -9
- package/dist/types/chain/ChainAnalyzer.d.ts.map +0 -1
- package/dist/types/chain/index.d.ts +0 -2
- package/dist/types/chain/index.d.ts.map +0 -1
- package/dist/types/ethereum.d.ts +0 -11
- package/dist/types/ethereum.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -20
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/network/NetworkId.d.ts +0 -3
- package/dist/types/network/NetworkId.d.ts.map +0 -1
- package/dist/types/network/Status.d.ts +0 -17
- package/dist/types/network/Status.d.ts.map +0 -1
- package/dist/types/network/index.d.ts +0 -3
- package/dist/types/network/index.d.ts.map +0 -1
- package/dist/types/payload/elevatable/ChainStakeIntent.d.ts +0 -17
- package/dist/types/payload/elevatable/ChainStakeIntent.d.ts.map +0 -1
- package/dist/types/payload/elevatable/Executable.d.ts +0 -14
- package/dist/types/payload/elevatable/Executable.d.ts.map +0 -1
- package/dist/types/payload/elevatable/Hash.d.ts +0 -19
- package/dist/types/payload/elevatable/Hash.d.ts.map +0 -1
- package/dist/types/payload/elevatable/TransferPayload.d.ts +0 -17
- package/dist/types/payload/elevatable/TransferPayload.d.ts.map +0 -1
- package/dist/types/payload/elevatable/index.d.ts +0 -5
- package/dist/types/payload/elevatable/index.d.ts.map +0 -1
- package/dist/types/payload/index.d.ts +0 -2
- package/dist/types/payload/index.d.ts.map +0 -1
- package/dist/types/provider/index.d.ts +0 -2
- package/dist/types/provider/index.d.ts.map +0 -1
- package/dist/types/provider/v1/XyoDataLake.d.ts +0 -18
- package/dist/types/provider/v1/XyoDataLake.d.ts.map +0 -1
- package/dist/types/provider/v1/XyoNetwork.d.ts +0 -6
- package/dist/types/provider/v1/XyoNetwork.d.ts.map +0 -1
- package/dist/types/provider/v1/XyoProvider.d.ts +0 -21
- package/dist/types/provider/v1/XyoProvider.d.ts.map +0 -1
- package/dist/types/provider/v1/XyoRunner.d.ts +0 -7
- package/dist/types/provider/v1/XyoRunner.d.ts.map +0 -1
- package/dist/types/provider/v1/XyoSigner.d.ts +0 -11
- package/dist/types/provider/v1/XyoSigner.d.ts.map +0 -1
- package/dist/types/provider/v1/XyoViewer.d.ts +0 -20
- package/dist/types/provider/v1/XyoViewer.d.ts.map +0 -1
- package/dist/types/provider/v1/XyoWallet.d.ts +0 -13
- package/dist/types/provider/v1/XyoWallet.d.ts.map +0 -1
- package/dist/types/provider/v1/index.d.ts +0 -8
- package/dist/types/provider/v1/index.d.ts.map +0 -1
- package/dist/types/provider/v2/index.d.ts +0 -3
- package/dist/types/provider/v2/index.d.ts.map +0 -1
- package/dist/types/provider/v2/provider/DataLake.d.ts +0 -11
- package/dist/types/provider/v2/provider/DataLake.d.ts.map +0 -1
- package/dist/types/provider/v2/provider/index.d.ts +0 -2
- package/dist/types/provider/v2/provider/index.d.ts.map +0 -1
- package/dist/types/provider/v2/viewer/Account.d.ts +0 -8
- package/dist/types/provider/v2/viewer/Account.d.ts.map +0 -1
- package/dist/types/provider/v2/viewer/Block.d.ts +0 -9
- package/dist/types/provider/v2/viewer/Block.d.ts.map +0 -1
- package/dist/types/provider/v2/viewer/Chain.d.ts +0 -13
- package/dist/types/provider/v2/viewer/Chain.d.ts.map +0 -1
- package/dist/types/provider/v2/viewer/DataLake.d.ts +0 -12
- package/dist/types/provider/v2/viewer/DataLake.d.ts.map +0 -1
- package/dist/types/provider/v2/viewer/Transaction.d.ts +0 -7
- package/dist/types/provider/v2/viewer/Transaction.d.ts.map +0 -1
- package/dist/types/provider/v2/viewer/Xyo.d.ts +0 -13
- package/dist/types/provider/v2/viewer/Xyo.d.ts.map +0 -1
- package/dist/types/provider/v2/viewer/index.d.ts +0 -7
- package/dist/types/provider/v2/viewer/index.d.ts.map +0 -1
- package/dist/types/repository/Repository.d.ts +0 -10
- package/dist/types/repository/Repository.d.ts.map +0 -1
- package/dist/types/repository/TransactionReadRepository.d.ts +0 -5
- package/dist/types/repository/TransactionReadRepository.d.ts.map +0 -1
- package/dist/types/repository/TransactionRepository.d.ts +0 -10
- package/dist/types/repository/TransactionRepository.d.ts.map +0 -1
- package/dist/types/repository/TransactionRepositoryIterator.d.ts +0 -5
- package/dist/types/repository/TransactionRepositoryIterator.d.ts.map +0 -1
- package/dist/types/repository/TransactionWriteRepository.d.ts +0 -5
- package/dist/types/repository/TransactionWriteRepository.d.ts.map +0 -1
- package/dist/types/repository/index.d.ts +0 -6
- package/dist/types/repository/index.d.ts.map +0 -1
- package/dist/types/services/AccountBalanceService.d.ts +0 -9
- package/dist/types/services/AccountBalanceService.d.ts.map +0 -1
- package/dist/types/services/BlockProducer.d.ts +0 -7
- package/dist/types/services/BlockProducer.d.ts.map +0 -1
- package/dist/types/services/BlockReward.d.ts +0 -6
- package/dist/types/services/BlockReward.d.ts.map +0 -1
- package/dist/types/services/Chain/ChainContractViewer.d.ts +0 -12
- package/dist/types/services/Chain/ChainContractViewer.d.ts.map +0 -1
- package/dist/types/services/Chain/ChainIdentification.d.ts +0 -14
- package/dist/types/services/Chain/ChainIdentification.d.ts.map +0 -1
- package/dist/types/services/Chain/ChainInformation.d.ts +0 -12
- package/dist/types/services/Chain/ChainInformation.d.ts.map +0 -1
- package/dist/types/services/Chain/ChainService.d.ts +0 -8
- package/dist/types/services/Chain/ChainService.d.ts.map +0 -1
- package/dist/types/services/Chain/ChainStakeViewer.d.ts +0 -10
- package/dist/types/services/Chain/ChainStakeViewer.d.ts.map +0 -1
- package/dist/types/services/Chain/ChainStaker.d.ts +0 -6
- package/dist/types/services/Chain/ChainStaker.d.ts.map +0 -1
- package/dist/types/services/Chain/index.d.ts +0 -7
- package/dist/types/services/Chain/index.d.ts.map +0 -1
- package/dist/types/services/ChainServiceCollection.d.ts +0 -40
- package/dist/types/services/ChainServiceCollection.d.ts.map +0 -1
- package/dist/types/services/Election.d.ts +0 -11
- package/dist/types/services/Election.d.ts.map +0 -1
- package/dist/types/services/Params.d.ts +0 -9
- package/dist/types/services/Params.d.ts.map +0 -1
- package/dist/types/services/PendingTransactionsService.d.ts +0 -7
- package/dist/types/services/PendingTransactionsService.d.ts.map +0 -1
- package/dist/types/services/Service.d.ts +0 -9
- package/dist/types/services/Service.d.ts.map +0 -1
- package/dist/types/services/index.d.ts +0 -11
- package/dist/types/services/index.d.ts.map +0 -1
- package/dist/types/services/stakeIntent/ChainIndexingServiceStateSchema.d.ts +0 -39
- package/dist/types/services/stakeIntent/ChainIndexingServiceStateSchema.d.ts.map +0 -1
- package/dist/types/services/stakeIntent/StakeIntentService.d.ts +0 -24
- package/dist/types/services/stakeIntent/StakeIntentService.d.ts.map +0 -1
- package/dist/types/services/stakeIntent/index.d.ts +0 -3
- package/dist/types/services/stakeIntent/index.d.ts.map +0 -1
- package/dist/types/transaction/HydratedTransaction.d.ts +0 -9
- package/dist/types/transaction/HydratedTransaction.d.ts.map +0 -1
- package/dist/types/transaction/TransactionBoundWitness.d.ts +0 -26
- package/dist/types/transaction/TransactionBoundWitness.d.ts.map +0 -1
- package/dist/types/transaction/TransactionFeesFields.d.ts +0 -45
- package/dist/types/transaction/TransactionFeesFields.d.ts.map +0 -1
- package/dist/types/transaction/index.d.ts +0 -4
- package/dist/types/transaction/index.d.ts.map +0 -1
- package/dist/types/validation/block/BlockValidationFunction.d.ts +0 -5
- package/dist/types/validation/block/BlockValidationFunction.d.ts.map +0 -1
- package/dist/types/validation/block/HydratedBlockStateValidationFunction.d.ts +0 -13
- package/dist/types/validation/block/HydratedBlockStateValidationFunction.d.ts.map +0 -1
- package/dist/types/validation/block/HydratedBlockValidationFunction.d.ts +0 -11
- package/dist/types/validation/block/HydratedBlockValidationFunction.d.ts.map +0 -1
- package/dist/types/validation/block/index.d.ts +0 -4
- package/dist/types/validation/block/index.d.ts.map +0 -1
- package/dist/types/validation/boundwitness/BoundWitnessValidationFunction.d.ts +0 -4
- package/dist/types/validation/boundwitness/BoundWitnessValidationFunction.d.ts.map +0 -1
- package/dist/types/validation/boundwitness/HydratedBoundWitnessValidationFunction.d.ts +0 -6
- package/dist/types/validation/boundwitness/HydratedBoundWitnessValidationFunction.d.ts.map +0 -1
- package/dist/types/validation/boundwitness/index.d.ts +0 -3
- package/dist/types/validation/boundwitness/index.d.ts.map +0 -1
- package/dist/types/validation/index.d.ts +0 -5
- package/dist/types/validation/index.d.ts.map +0 -1
- package/dist/types/validation/payload/InBlockPayloadValidationFunction.d.ts +0 -5
- package/dist/types/validation/payload/InBlockPayloadValidationFunction.d.ts.map +0 -1
- package/dist/types/validation/payload/index.d.ts +0 -2
- package/dist/types/validation/payload/index.d.ts.map +0 -1
- package/dist/types/validation/transaction/HydratedTransactionStateValidationFunction.d.ts +0 -13
- package/dist/types/validation/transaction/HydratedTransactionStateValidationFunction.d.ts.map +0 -1
- package/dist/types/validation/transaction/HydratedTransactionValidationFunction.d.ts +0 -11
- package/dist/types/validation/transaction/HydratedTransactionValidationFunction.d.ts.map +0 -1
- package/dist/types/validation/transaction/index.d.ts +0 -3
- package/dist/types/validation/transaction/index.d.ts.map +0 -1
- package/src/ethereum.ts +0 -26
- /package/src/{Addressable.ts → fields/Addressable.ts} +0 -0
- /package/src/{BlockDuration.ts → fields/BlockDuration.ts} +0 -0
- /package/src/{BlockNumber.ts → fields/BlockNumber.ts} +0 -0
- /package/src/{ChainReference.ts → fields/ChainReference.ts} +0 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,501 @@
|
|
|
1
|
+
import * as _xylabs_promise from '@xylabs/promise';
|
|
2
|
+
import { Promisable } from '@xylabs/promise';
|
|
3
|
+
import { MeterProvider, TracerProvider, Meter, Tracer } from '@opentelemetry/api';
|
|
4
|
+
import { Payload, WithSources, WithStorageMeta, WithHashStorageMeta, Schema } from '@xyo-network/payload-model';
|
|
5
|
+
import { SchemaPayload } from '@xyo-network/schema-payload-plugin';
|
|
6
|
+
import * as _xylabs_object from '@xylabs/object';
|
|
7
|
+
import { EmptyObject, JsonValue } from '@xylabs/object';
|
|
8
|
+
import { Address, Hex, Hash } from '@xylabs/hex';
|
|
9
|
+
import { BoundWitness, Signed } from '@xyo-network/boundwitness-model';
|
|
10
|
+
import { BaseParams } from '@xylabs/base';
|
|
11
|
+
import { EventData, BaseEmitter } from '@xylabs/events';
|
|
12
|
+
import { ArchivistInstance, WriteArchivist, ReadArchivist, HydratedBoundWitnessWithStorageMeta } from '@xyo-network/archivist-model';
|
|
13
|
+
import { AccountInstance } from '@xyo-network/account-model';
|
|
14
|
+
import { Logger } from '@xylabs/logger';
|
|
15
|
+
import { WalletInstance } from '@xyo-network/wallet-model';
|
|
16
|
+
|
|
17
|
+
type Initializable<T, R> = (params: T) => Promisable<R>;
|
|
18
|
+
|
|
19
|
+
interface OpenTelemetryProviders {
|
|
20
|
+
meterProvider?: MeterProvider;
|
|
21
|
+
traceProvider?: TracerProvider;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
type XL1 = bigint & {
|
|
25
|
+
readonly _tag: 'XL1';
|
|
26
|
+
};
|
|
27
|
+
declare const XL1: (value: bigint) => XL1;
|
|
28
|
+
type MicroXL1 = bigint & {
|
|
29
|
+
readonly _tag: 'MicroXL1';
|
|
30
|
+
};
|
|
31
|
+
declare const MicroXL1: (value: bigint) => MicroXL1;
|
|
32
|
+
declare const mXL1ToXL1: (value: MicroXL1) => XL1;
|
|
33
|
+
declare const mXL1FromXL1: (value: XL1) => MicroXL1;
|
|
34
|
+
|
|
35
|
+
interface Addressable {
|
|
36
|
+
address: Address;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
interface BlockStart {
|
|
40
|
+
nbf: number;
|
|
41
|
+
}
|
|
42
|
+
interface BlockEnd {
|
|
43
|
+
exp: number;
|
|
44
|
+
}
|
|
45
|
+
interface OptionalBlockDuration extends Partial<BlockStart>, Partial<BlockEnd> {
|
|
46
|
+
}
|
|
47
|
+
interface BlockDuration extends BlockStart, BlockEnd {
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
declare const BlockNumberSchema: "network.xyo.chain.block.number";
|
|
51
|
+
type BlockNumberSchema = typeof BlockNumberSchema;
|
|
52
|
+
interface BlockNumberFields {
|
|
53
|
+
block: Hex;
|
|
54
|
+
chain?: Hex;
|
|
55
|
+
}
|
|
56
|
+
type BlockNumber = Payload<BlockNumberFields, BlockNumberSchema>;
|
|
57
|
+
declare const isBlockNumber: (x?: unknown | null) => x is BlockNumber;
|
|
58
|
+
declare const asBlockNumber: {
|
|
59
|
+
<TType extends BlockNumber>(value: _xylabs_promise.AnyNonPromise, config?: _xylabs_object.TypeCheckConfig): TType | undefined;
|
|
60
|
+
<TType extends BlockNumber>(value: _xylabs_promise.AnyNonPromise, assert: _xylabs_object.StringOrAlertFunction<BlockNumber>, config?: _xylabs_object.TypeCheckConfig): TType;
|
|
61
|
+
};
|
|
62
|
+
declare const asOptionalBlockNumber: <TType extends BlockNumber>(value: _xylabs_promise.AnyNonPromise) => TType | undefined;
|
|
63
|
+
declare const isBlockNumberWithSources: (x?: unknown | null) => x is WithSources<BlockNumber>;
|
|
64
|
+
declare const asBlockNumberWithSources: {
|
|
65
|
+
<TType extends WithSources<BlockNumber>>(value: _xylabs_promise.AnyNonPromise, config?: _xylabs_object.TypeCheckConfig): TType | undefined;
|
|
66
|
+
<TType extends WithSources<BlockNumber>>(value: _xylabs_promise.AnyNonPromise, assert: _xylabs_object.StringOrAlertFunction<WithSources<BlockNumber>>, config?: _xylabs_object.TypeCheckConfig): TType;
|
|
67
|
+
};
|
|
68
|
+
declare const asOptionalBlockNumberWithSources: <TType extends WithSources<BlockNumber>>(value: _xylabs_promise.AnyNonPromise) => TType | undefined;
|
|
69
|
+
|
|
70
|
+
interface ChainReference {
|
|
71
|
+
chain: Address;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
interface FromFields {
|
|
75
|
+
from: Address;
|
|
76
|
+
}
|
|
77
|
+
declare const hasFrom: (value: unknown) => value is FromFields;
|
|
78
|
+
interface ExecutableFields {
|
|
79
|
+
script: string[];
|
|
80
|
+
}
|
|
81
|
+
type Executable<T extends EmptyObject = EmptyObject> = T & ExecutableFields;
|
|
82
|
+
type OptionalExecutable<T extends EmptyObject = EmptyObject> = T & Partial<ExecutableFields>;
|
|
83
|
+
declare const isExecutable: <T extends EmptyObject>(value: T | undefined) => value is Executable<T>;
|
|
84
|
+
declare const asExecutable: <T extends EmptyObject>(value: T | undefined) => Executable<T> | undefined;
|
|
85
|
+
|
|
86
|
+
declare const ChainStakeIntentSchema: "network.xyo.chain.stake.intent";
|
|
87
|
+
type ChainStakeIntentSchema = typeof ChainStakeIntentSchema;
|
|
88
|
+
type Intent = 'producer';
|
|
89
|
+
interface ChainStakeIntentFields extends BlockDuration, FromFields {
|
|
90
|
+
intent: Intent;
|
|
91
|
+
}
|
|
92
|
+
type ChainStakeIntent = Payload<ChainStakeIntentFields, ChainStakeIntentSchema>;
|
|
93
|
+
declare const isChainStakeIntent: (x?: unknown | null) => x is ChainStakeIntent;
|
|
94
|
+
declare const asChainStakeIntent: {
|
|
95
|
+
<TType extends ChainStakeIntent>(value: _xylabs_promise.AnyNonPromise, config?: _xylabs_object.TypeCheckConfig): TType | undefined;
|
|
96
|
+
<TType extends ChainStakeIntent>(value: _xylabs_promise.AnyNonPromise, assert: _xylabs_object.StringOrAlertFunction<ChainStakeIntent>, config?: _xylabs_object.TypeCheckConfig): TType;
|
|
97
|
+
};
|
|
98
|
+
declare const asOptionalChainStakeIntent: <TType extends ChainStakeIntent>(value: _xylabs_promise.AnyNonPromise) => TType | undefined;
|
|
99
|
+
|
|
100
|
+
declare const HashSchema: "network.xyo.hash";
|
|
101
|
+
type HashSchema = typeof HashSchema;
|
|
102
|
+
interface HashFields {
|
|
103
|
+
hash: Hash;
|
|
104
|
+
}
|
|
105
|
+
type HashPayload = Payload<HashFields, HashSchema>;
|
|
106
|
+
declare const isHashPayload: (x?: unknown | null) => x is HashPayload;
|
|
107
|
+
declare const asHashPayload: {
|
|
108
|
+
<TType extends HashPayload>(value: _xylabs_promise.AnyNonPromise, config?: _xylabs_object.TypeCheckConfig): TType | undefined;
|
|
109
|
+
<TType extends HashPayload>(value: _xylabs_promise.AnyNonPromise, assert: _xylabs_object.StringOrAlertFunction<HashPayload>, config?: _xylabs_object.TypeCheckConfig): TType;
|
|
110
|
+
};
|
|
111
|
+
declare const asHashPayloadWithStorageMeta: {
|
|
112
|
+
<TType extends HashPayload>(value: _xylabs_promise.AnyNonPromise, config?: _xylabs_object.TypeCheckConfig): TType | undefined;
|
|
113
|
+
<TType extends HashPayload>(value: _xylabs_promise.AnyNonPromise, assert: _xylabs_object.StringOrAlertFunction<HashPayload>, config?: _xylabs_object.TypeCheckConfig): TType;
|
|
114
|
+
};
|
|
115
|
+
declare const asOptionalHashPayload: <TType extends HashPayload>(value: _xylabs_promise.AnyNonPromise) => TType | undefined;
|
|
116
|
+
|
|
117
|
+
declare const TransferSchema: "network.xyo.transfer";
|
|
118
|
+
type TransferSchema = typeof TransferSchema;
|
|
119
|
+
interface TransferFields extends FromFields {
|
|
120
|
+
epoch: number;
|
|
121
|
+
transfers: Record<Address, Hex>;
|
|
122
|
+
}
|
|
123
|
+
type Transfer = Payload<TransferFields, TransferSchema>;
|
|
124
|
+
declare const isTransfer: (x?: unknown | null) => x is Transfer;
|
|
125
|
+
declare const asTransfer: {
|
|
126
|
+
<TType extends Transfer>(value: _xylabs_promise.AnyNonPromise, config?: _xylabs_object.TypeCheckConfig): TType | undefined;
|
|
127
|
+
<TType extends Transfer>(value: _xylabs_promise.AnyNonPromise, assert: _xylabs_object.StringOrAlertFunction<Transfer>, config?: _xylabs_object.TypeCheckConfig): TType;
|
|
128
|
+
};
|
|
129
|
+
declare const asOptionalTransfer: <TType extends Transfer>(value: _xylabs_promise.AnyNonPromise) => TType | undefined;
|
|
130
|
+
|
|
131
|
+
interface TransactionFeesBigInt {
|
|
132
|
+
base: MicroXL1;
|
|
133
|
+
gasLimit: MicroXL1;
|
|
134
|
+
gasPrice: MicroXL1;
|
|
135
|
+
priority: MicroXL1;
|
|
136
|
+
}
|
|
137
|
+
type TransactionFeesHex = {
|
|
138
|
+
[K in keyof TransactionFeesBigInt]: Hex;
|
|
139
|
+
};
|
|
140
|
+
interface TransactionFeesFields {
|
|
141
|
+
fees: TransactionFeesHex;
|
|
142
|
+
}
|
|
143
|
+
declare const minTransactionFees: TransactionFeesBigInt;
|
|
144
|
+
declare const defaultTransactionFees: TransactionFeesBigInt;
|
|
145
|
+
|
|
146
|
+
interface TransactionBoundWitnessFields extends BlockDuration, TransactionFeesFields {
|
|
147
|
+
chain: Address;
|
|
148
|
+
}
|
|
149
|
+
type TransactionBoundWitness = BoundWitness<TransactionBoundWitnessFields & OptionalExecutable & FromFields>;
|
|
150
|
+
declare const isTransactionBoundWitness: (value: unknown) => value is TransactionBoundWitness;
|
|
151
|
+
declare const isSignedTransactionBoundWitness: (value: unknown) => value is Signed<TransactionBoundWitness>;
|
|
152
|
+
declare const isSigned: <T extends BoundWitness = BoundWitness>(value: unknown) => value is Signed<T>;
|
|
153
|
+
declare const isTransactionBoundWitnessWithStorageMeta: (value: unknown) => value is WithStorageMeta<TransactionBoundWitness>;
|
|
154
|
+
declare const isSignedTransactionBoundWitnessWithStorageMeta: (value: unknown) => value is WithStorageMeta<Signed<TransactionBoundWitness>>;
|
|
155
|
+
declare const asTransactionBoundWitness: {
|
|
156
|
+
<TType extends TransactionBoundWitness>(value: _xylabs_promise.AnyNonPromise, config?: _xylabs_object.TypeCheckConfig): TType | undefined;
|
|
157
|
+
<TType extends TransactionBoundWitness>(value: _xylabs_promise.AnyNonPromise, assert: _xylabs_object.StringOrAlertFunction<TransactionBoundWitness>, config?: _xylabs_object.TypeCheckConfig): TType;
|
|
158
|
+
};
|
|
159
|
+
declare const asOptionalTransactionBoundWitness: <TType extends TransactionBoundWitness>(value: _xylabs_promise.AnyNonPromise) => TType | undefined;
|
|
160
|
+
declare const asTransactionBoundWitnessWithStorageMeta: {
|
|
161
|
+
<TType extends WithStorageMeta<TransactionBoundWitness>>(value: _xylabs_promise.AnyNonPromise, config?: _xylabs_object.TypeCheckConfig): TType | undefined;
|
|
162
|
+
<TType extends WithStorageMeta<TransactionBoundWitness>>(value: _xylabs_promise.AnyNonPromise, assert: _xylabs_object.StringOrAlertFunction<WithStorageMeta<TransactionBoundWitness>>, config?: _xylabs_object.TypeCheckConfig): TType;
|
|
163
|
+
};
|
|
164
|
+
declare const asOptionalTransactionBoundWitnessWithStorageMeta: <TType extends WithStorageMeta<TransactionBoundWitness>>(value: _xylabs_promise.AnyNonPromise) => TType | undefined;
|
|
165
|
+
|
|
166
|
+
type HydratedTransaction<T extends TransactionBoundWitness = TransactionBoundWitness, P extends Payload = Payload> = [T, P[]];
|
|
167
|
+
type HydratedTransactionWithStorageMeta<T extends HydratedTransaction = HydratedTransaction> = [WithStorageMeta<T[0]>, WithStorageMeta<T[1][number]>[]];
|
|
168
|
+
type HydratedTransactionWithHashStorageMeta<T extends HydratedTransaction = HydratedTransaction> = [WithHashStorageMeta<T[0]>, WithHashStorageMeta<T[1][number]>[]];
|
|
169
|
+
type SignedHydratedTransaction<T extends HydratedTransaction = HydratedTransaction> = [Signed<T[0]>, T[1][number][]] & HydratedTransaction;
|
|
170
|
+
type SignedHydratedTransactionWithStorageMeta<T extends HydratedTransaction = HydratedTransaction> = [WithStorageMeta<Signed<T[0]>>, WithStorageMeta<T[1][number]>[]] & SignedHydratedTransaction<T> & HydratedTransaction;
|
|
171
|
+
|
|
172
|
+
type AllowedBlockPayload = Transfer | ChainStakeIntent | SchemaPayload | TransactionBoundWitness | HashPayload;
|
|
173
|
+
declare const AllowedBlockPayloadSchemas: Schema[];
|
|
174
|
+
type AllowedBlockPayloadSchema = typeof AllowedBlockPayloadSchemas[number];
|
|
175
|
+
declare const isAllowedBlockPayloadSchema: (value: unknown) => value is AllowedBlockPayloadSchema;
|
|
176
|
+
declare const isAllowedBlockPayload: (value: unknown) => value is AllowedBlockPayload;
|
|
177
|
+
declare const isAllowedBlockPayloadWithHashStorageMeta: (value: unknown) => value is WithStorageMeta<AllowedBlockPayload>;
|
|
178
|
+
|
|
179
|
+
interface BlockBoundWitnessMeta {
|
|
180
|
+
$epoch: number;
|
|
181
|
+
}
|
|
182
|
+
interface BlockBoundWitnessFields {
|
|
183
|
+
block: number;
|
|
184
|
+
chain: Hex;
|
|
185
|
+
previous: Hash | null;
|
|
186
|
+
protocol: number;
|
|
187
|
+
step_hashes: Hex[];
|
|
188
|
+
}
|
|
189
|
+
type BlockBoundWitness = BoundWitness<BlockBoundWitnessFields & BlockBoundWitnessMeta>;
|
|
190
|
+
declare const isBlockBoundWitness: (value: unknown) => value is BlockBoundWitness;
|
|
191
|
+
declare const isBlockBoundWitnessWithStorageMeta: (value: unknown) => value is WithStorageMeta<BlockBoundWitness>;
|
|
192
|
+
declare const asBlockBoundWitness: {
|
|
193
|
+
<TType extends BlockBoundWitness>(value: _xylabs_promise.AnyNonPromise, config?: _xylabs_object.TypeCheckConfig): TType | undefined;
|
|
194
|
+
<TType extends BlockBoundWitness>(value: _xylabs_promise.AnyNonPromise, assert: _xylabs_object.StringOrAlertFunction<BlockBoundWitness>, config?: _xylabs_object.TypeCheckConfig): TType;
|
|
195
|
+
};
|
|
196
|
+
declare const asOptionalBlockBoundWitness: <TType extends BlockBoundWitness>(value: _xylabs_promise.AnyNonPromise) => TType | undefined;
|
|
197
|
+
declare const asBlockBoundWitnessWithStorageMeta: {
|
|
198
|
+
<TType extends WithStorageMeta<BlockBoundWitness>>(value: _xylabs_promise.AnyNonPromise, config?: _xylabs_object.TypeCheckConfig): TType | undefined;
|
|
199
|
+
<TType extends WithStorageMeta<BlockBoundWitness>>(value: _xylabs_promise.AnyNonPromise, assert: _xylabs_object.StringOrAlertFunction<WithStorageMeta<BlockBoundWitness>>, config?: _xylabs_object.TypeCheckConfig): TType;
|
|
200
|
+
};
|
|
201
|
+
declare const asOptionalBlockBoundWitnessWithStorageMeta: <TType extends WithStorageMeta<BlockBoundWitness>>(value: _xylabs_promise.AnyNonPromise) => TType | undefined;
|
|
202
|
+
|
|
203
|
+
type HydratedBlock = [WithStorageMeta<BlockBoundWitness>, WithStorageMeta<Payload>[]];
|
|
204
|
+
type SignedHydratedBlock = [WithStorageMeta<Signed<BlockBoundWitness>>, WithStorageMeta<Payload>[]] & HydratedBlock;
|
|
205
|
+
|
|
206
|
+
interface ChainAnalyzer<T extends Payload = Payload> {
|
|
207
|
+
onBlock(block: HydratedBlock): Promisable<boolean>;
|
|
208
|
+
result(): T;
|
|
209
|
+
shouldContinue(): boolean;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
declare const StepSizes: readonly [10, 105, 1103, 11576, 121551, 1276282, 13400956];
|
|
213
|
+
|
|
214
|
+
declare const TransactionGasCosts: {
|
|
215
|
+
readonly characterStorage: MicroXL1;
|
|
216
|
+
readonly payloadValidation: MicroXL1;
|
|
217
|
+
readonly signatureValidation: MicroXL1;
|
|
218
|
+
readonly hashValidation: MicroXL1;
|
|
219
|
+
readonly balanceValidation: MicroXL1;
|
|
220
|
+
};
|
|
221
|
+
|
|
222
|
+
interface ReadRepository<TId, TData> {
|
|
223
|
+
get(id: TId): Promise<TData | undefined>;
|
|
224
|
+
}
|
|
225
|
+
interface IterableRepository<TId, TData> {
|
|
226
|
+
next(id: TId): Promise<TData | undefined>;
|
|
227
|
+
}
|
|
228
|
+
interface WriteRepository<TData, TResp> {
|
|
229
|
+
insert(data: TData): Promise<TResp>;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
interface TransactionReadRepository extends ReadRepository<TransactionBoundWitness, HydratedTransaction> {
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
interface TransactionRepositoryIterator extends IterableRepository<TransactionBoundWitness, HydratedTransaction> {
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
interface TransactionWriteRepository extends WriteRepository<HydratedTransaction, boolean> {
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
interface TransactionRepository extends TransactionReadRepository, TransactionWriteRepository {
|
|
242
|
+
}
|
|
243
|
+
interface ReadonlyIterableTransactionRepository extends TransactionReadRepository, TransactionRepositoryIterator {
|
|
244
|
+
}
|
|
245
|
+
interface IterableTransactionRepository extends TransactionRepository, TransactionRepositoryIterator {
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
interface AccountBalanceService {
|
|
249
|
+
getBalanceValue?: (address: Address) => bigint;
|
|
250
|
+
getBalanceValues?: Record<Address, bigint>;
|
|
251
|
+
getBalance(address: Address): Hex;
|
|
252
|
+
getBalances(): Record<Address, Hex>;
|
|
253
|
+
sync(head: Hash): Promise<void>;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
type NextBlockProducer = IterableRepository<BlockBoundWitness, HydratedBlock>;
|
|
257
|
+
interface BlockProducer extends Addressable, NextBlockProducer {
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
type ServiceName = Exclude<string, 'reserved-service-name-value'>;
|
|
261
|
+
interface Service {
|
|
262
|
+
logger?: Logger;
|
|
263
|
+
meter?: Meter;
|
|
264
|
+
tracer?: Tracer;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
interface BlockRewardService extends Service {
|
|
268
|
+
getRewardForBlock(block: bigint): Promisable<bigint>;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
interface ChainContractViewer {
|
|
272
|
+
active(): Promise<bigint>;
|
|
273
|
+
chainId(): Promise<Address>;
|
|
274
|
+
forkedAtBlockNumber(): Promise<bigint>;
|
|
275
|
+
forkedAtHash(): Promise<bigint>;
|
|
276
|
+
forkedChainId(): Promise<Address>;
|
|
277
|
+
minWithdrawalBlocks(): Promise<bigint>;
|
|
278
|
+
rewardsContract(): Promise<string>;
|
|
279
|
+
stakingTokenAddress(): Promise<string>;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
declare const ChainIdentificationPayloadSchema: "network.xyo.chain.identification";
|
|
283
|
+
type ChainIdentificationPayloadSchema = typeof ChainIdentificationPayloadSchema;
|
|
284
|
+
interface ChainIdentification {
|
|
285
|
+
id: Address;
|
|
286
|
+
}
|
|
287
|
+
type ChainIdentificationPayload = Payload<ChainIdentification, ChainIdentificationPayloadSchema>;
|
|
288
|
+
declare const isChainIdentificationPayload: (x?: unknown | null) => x is ChainIdentificationPayload;
|
|
289
|
+
|
|
290
|
+
declare const ChainInformationPayloadSchema: "network.xyo.chain.information";
|
|
291
|
+
type ChainInformationPayloadSchema = typeof ChainInformationPayloadSchema;
|
|
292
|
+
|
|
293
|
+
interface ChainInformation extends ChainIdentification {
|
|
294
|
+
}
|
|
295
|
+
type ChainInformationPayload = Payload<ChainIdentification, ChainInformationPayloadSchema>;
|
|
296
|
+
declare const isChainInformationPayload: (x?: unknown | null) => x is ChainInformationPayload;
|
|
297
|
+
|
|
298
|
+
interface ChainStaker {
|
|
299
|
+
addStake(staked: string, amount: bigint): Promise<boolean>;
|
|
300
|
+
removeStake(slot: bigint): Promise<boolean>;
|
|
301
|
+
withdrawStake(slot: bigint): Promise<boolean>;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
interface ChainStakeViewer extends ChainContractViewer {
|
|
305
|
+
activeByAddressStaked(address: string): Promise<bigint>;
|
|
306
|
+
activeByStaker(address: string): Promise<bigint>;
|
|
307
|
+
pending(): Promise<bigint>;
|
|
308
|
+
pendingByStaker(staker: string): Promise<bigint>;
|
|
309
|
+
withdrawn(): Promise<bigint>;
|
|
310
|
+
withdrawnByStaker(staker: string): Promise<bigint>;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
interface ChainService extends ChainInformation, ChainContractViewer, ChainStakeViewer, ChainStaker, Service {
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
interface ElectionService extends Service {
|
|
317
|
+
getCreatorCommitteeForNextBlock(current: BlockBoundWitness): Promise<Address[]>;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
interface ChainIndexingServiceStateFields<T extends JsonValue = JsonValue> {
|
|
321
|
+
endBlockHash: Hash;
|
|
322
|
+
startBlockHash?: Hash;
|
|
323
|
+
state: T;
|
|
324
|
+
}
|
|
325
|
+
declare const ChainIndexingServiceStateSchema: "network.xyo.chain.indexing.service.state";
|
|
326
|
+
type ChainIndexingServiceStateSchema = typeof ChainIndexingServiceStateSchema;
|
|
327
|
+
type ChainIndexingServiceState<T extends JsonValue = JsonValue> = Payload<ChainIndexingServiceStateFields<T>, ChainIndexingServiceStateSchema>;
|
|
328
|
+
declare const isChainIndexingServiceState: <T extends JsonValue = JsonValue>(payload?: unknown) => payload is ChainIndexingServiceState<T>;
|
|
329
|
+
declare const asChainIndexingServiceState: {
|
|
330
|
+
<TType extends ChainIndexingServiceState<JsonValue>>(value: _xylabs_promise.AnyNonPromise, config?: _xylabs_object.TypeCheckConfig): TType | undefined;
|
|
331
|
+
<TType extends ChainIndexingServiceState<JsonValue>>(value: _xylabs_promise.AnyNonPromise, assert: _xylabs_object.StringOrAlertFunction<ChainIndexingServiceState<JsonValue>>, config?: _xylabs_object.TypeCheckConfig): TType;
|
|
332
|
+
};
|
|
333
|
+
declare const isChainIndexingServiceStateWithStorageMeta: <T extends JsonValue = JsonValue>(value: unknown) => value is WithStorageMeta<ChainIndexingServiceState<T>>;
|
|
334
|
+
declare const asChainIndexingServiceStateWithStorageMeta: {
|
|
335
|
+
<TType extends WithStorageMeta<ChainIndexingServiceState<JsonValue>>>(value: _xylabs_promise.AnyNonPromise, config?: _xylabs_object.TypeCheckConfig): TType | undefined;
|
|
336
|
+
<TType extends WithStorageMeta<ChainIndexingServiceState<JsonValue>>>(value: _xylabs_promise.AnyNonPromise, assert: _xylabs_object.StringOrAlertFunction<WithStorageMeta<ChainIndexingServiceState<JsonValue>>>, config?: _xylabs_object.TypeCheckConfig): TType;
|
|
337
|
+
};
|
|
338
|
+
declare const asOptionalChainIndexingServiceStateWithStorageMeta: <TType extends WithStorageMeta<ChainIndexingServiceState<JsonValue>>>(value: _xylabs_promise.AnyNonPromise) => TType | undefined;
|
|
339
|
+
|
|
340
|
+
interface StakeIntentService {
|
|
341
|
+
getDeclaredCandidateRanges(address: Address, intent: Intent): Promise<Readonly<Readonly<[number, number]>[]>>;
|
|
342
|
+
getDeclaredCandidatesForBlock(block: number, intent: Intent): Promise<Address[]>;
|
|
343
|
+
isStakedForBlock(block: number, intent: Intent, address: Address): Promise<boolean>;
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
interface ChainServiceCollection {
|
|
347
|
+
account: WalletInstance;
|
|
348
|
+
balanceService: AccountBalanceService;
|
|
349
|
+
chainArchivist: ArchivistInstance;
|
|
350
|
+
chainContractViewer: ChainContractViewer;
|
|
351
|
+
chainInformation: ChainInformation;
|
|
352
|
+
chainIterator?: EventingChainBlockNumberIterator;
|
|
353
|
+
chainStakeViewer: ChainStakeViewer;
|
|
354
|
+
chainStaker: ChainStaker;
|
|
355
|
+
chainSubmissionsArchivistWrite: WriteArchivist;
|
|
356
|
+
electionService: ElectionService;
|
|
357
|
+
producer: BlockProducer;
|
|
358
|
+
rewardService: BlockRewardService;
|
|
359
|
+
stakeIntentService: StakeIntentService;
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
type BaseServiceParams<TAdditionalParams extends EmptyObject = EmptyObject> = BaseParams<TAdditionalParams & OpenTelemetryProviders>;
|
|
363
|
+
type BaseAccountableServiceParams = BaseServiceParams<{
|
|
364
|
+
account: AccountInstance;
|
|
365
|
+
}>;
|
|
366
|
+
|
|
367
|
+
interface PendingTransactionsService extends Service {
|
|
368
|
+
getPendingTransactions(head: Hash, limit: number, timeout?: number): Promise<HydratedTransaction[]>;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
type HeadEventArgs = {
|
|
372
|
+
blocks: [BlockBoundWitness];
|
|
373
|
+
};
|
|
374
|
+
interface HeadEventData extends EventData {
|
|
375
|
+
headUpdated: HeadEventArgs;
|
|
376
|
+
}
|
|
377
|
+
interface ChainIteratorEventData extends HeadEventData {
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
interface ChainIterator<TKey, THead> extends ReadRepository<TKey, BlockBoundWitness>, IterableRepository<TKey, BlockBoundWitness> {
|
|
381
|
+
chainIdentification: ChainIdentification;
|
|
382
|
+
head(): Promise<THead>;
|
|
383
|
+
previous(cursor?: TKey | undefined, limit?: number): Promise<BlockBoundWitness[]>;
|
|
384
|
+
updateHead(head: THead): Promise<void>;
|
|
385
|
+
}
|
|
386
|
+
interface EventingChainIterator<TKey, THead> extends ChainIterator<TKey, THead>, BaseEmitter<BaseParams, ChainIteratorEventData> {
|
|
387
|
+
}
|
|
388
|
+
interface ChainBlockNumberIterator extends ChainIterator<number, BlockBoundWitness> {
|
|
389
|
+
}
|
|
390
|
+
interface EventingChainBlockNumberIterator extends EventingChainIterator<number, BlockBoundWitness> {
|
|
391
|
+
}
|
|
392
|
+
interface ChainHashIterator extends ChainIterator<Hash, Hash> {
|
|
393
|
+
}
|
|
394
|
+
interface EventingChainHashIterator extends EventingChainIterator<Hash, Hash> {
|
|
395
|
+
}
|
|
396
|
+
interface XyoChainIteratorParams extends BaseServiceParams {
|
|
397
|
+
chainArchivist: ArchivistInstance;
|
|
398
|
+
head: BlockBoundWitness;
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
type DefaultNetworkIds = 'mainnet' | 'sequence' | 'local';
|
|
402
|
+
type NetworkId<T extends string | void = void> = T extends void ? DefaultNetworkIds : T | DefaultNetworkIds;
|
|
403
|
+
|
|
404
|
+
declare const NetworkStatusSchema: "network.xyo.chain.status";
|
|
405
|
+
type NetworkStatusSchema = typeof NetworkStatusSchema;
|
|
406
|
+
type NetworkStatusState = 'online' | 'offline' | 'degraded' | 'unknown';
|
|
407
|
+
type NetworkStatusUpdate = {
|
|
408
|
+
end: number;
|
|
409
|
+
start: number;
|
|
410
|
+
update: string;
|
|
411
|
+
};
|
|
412
|
+
interface NetworkStatusFields {
|
|
413
|
+
description: string;
|
|
414
|
+
state: NetworkStatusState;
|
|
415
|
+
updates?: NetworkStatusUpdate[];
|
|
416
|
+
}
|
|
417
|
+
type NetworkStatus = Payload<NetworkStatusFields, NetworkStatusSchema>;
|
|
418
|
+
declare const isNetworkStatus: (x?: unknown | null) => x is NetworkStatus;
|
|
419
|
+
|
|
420
|
+
interface XyoPayloadLakeViewer {
|
|
421
|
+
getPayloads(hashes: Hash[]): Promisable<Payload[]>;
|
|
422
|
+
}
|
|
423
|
+
interface XyoPayloadLakeProvider extends XyoPayloadLakeViewer {
|
|
424
|
+
addPayloads(payloads: Payload[]): Promisable<Hash[]>;
|
|
425
|
+
}
|
|
426
|
+
interface XyoDataLakeViewer extends XyoPayloadLakeViewer {
|
|
427
|
+
fetch(hashes: Hash[], maxDepth?: number): Promisable<(ArrayBuffer | Payload)[]>;
|
|
428
|
+
get(hashes: Hash[]): Promisable<(ArrayBuffer | Payload)[]>;
|
|
429
|
+
trace(hashes: Hash[]): Promisable<[(ArrayBuffer | Payload), Payload[]][]>;
|
|
430
|
+
}
|
|
431
|
+
interface XyoDataLakeProvider extends XyoDataLakeViewer, XyoPayloadLakeProvider {
|
|
432
|
+
add(items: ArrayBuffer[]): Promisable<Hash[]>;
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
interface XyoNetwork {
|
|
436
|
+
status(): Promisable<NetworkStatus>;
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
interface XyoRunner {
|
|
440
|
+
broadcastTransaction(transaction: SignedHydratedTransaction): Promisable<Hash>;
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
interface XyoSigner {
|
|
444
|
+
address(): Promisable<Address>;
|
|
445
|
+
createSignedTransaction(chain: Address, elevatedPayloads: AllowedBlockPayload[], additionalPayloads: Payload[], nbf: number, exp: number, fees: TransactionFeesBigInt, from?: Address): Promisable<Signed<TransactionBoundWitness>>;
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
interface XyoViewer {
|
|
449
|
+
accountBalance: (address: Address) => Promisable<bigint>;
|
|
450
|
+
accountHistory: (address: Address) => Promisable<[TransactionBoundWitness[], Transfer[]]>;
|
|
451
|
+
blockByHash(hash: Hash): Promisable<SignedHydratedBlock | null>;
|
|
452
|
+
blockByNumber(blockNumber: number): Promisable<SignedHydratedBlock | null>;
|
|
453
|
+
blocksByHash(hash: Hash, limit?: number): Promisable<SignedHydratedBlock[]>;
|
|
454
|
+
chainId(): Promisable<Address>;
|
|
455
|
+
currentBlock(): Promisable<SignedHydratedBlock>;
|
|
456
|
+
currentBlockHash(): Promisable<Hash>;
|
|
457
|
+
currentBlockNumber(): Promisable<number>;
|
|
458
|
+
transactionByBlockHashAndIndex(blockHash: Hash, transactionIndex: number): Promisable<SignedHydratedTransaction | null>;
|
|
459
|
+
transactionByBlockNumberAndIndex(blockNumber: number, transactionIndex: number): Promisable<SignedHydratedTransaction | null>;
|
|
460
|
+
transactionByHash(transactionHash: Hash): Promisable<SignedHydratedTransaction | null>;
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
interface XyoWallet {
|
|
464
|
+
accounts(): Promisable<Address[]>;
|
|
465
|
+
addChain(chain: Address, name?: string): Promisable<object>;
|
|
466
|
+
chain(): Promisable<Address>;
|
|
467
|
+
chains(): Promisable<object>;
|
|
468
|
+
permissions(): Promisable<Record<string, object>>;
|
|
469
|
+
requestPermissions(permissions: object): Promisable<object>;
|
|
470
|
+
revokePermissions(permissions: object): Promisable<object>;
|
|
471
|
+
switchChain(chain: Address): Promisable<void>;
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
interface XyoProvider {
|
|
475
|
+
network?: XyoNetwork;
|
|
476
|
+
runner?: XyoRunner;
|
|
477
|
+
send?: (elevatedPayloads: AllowedBlockPayload[], additionalPayloads: Payload[], chain?: Address, nbf?: number, exp?: number, from?: Address, fees?: TransactionFeesBigInt) => Promise<Signed<TransactionBoundWitness>>;
|
|
478
|
+
signer?: XyoSigner;
|
|
479
|
+
storage?: XyoDataLakeProvider;
|
|
480
|
+
viewer?: XyoViewer;
|
|
481
|
+
wallet?: XyoWallet;
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
type BlockValidatorFunction = (block: BlockBoundWitness, chainId?: Address) => Promisable<Error[]>;
|
|
485
|
+
|
|
486
|
+
type HydratedBlockStateValidationFunction = (hydratedBlock: HydratedBlock, chainId: Address, archivist: ReadArchivist) => Promisable<Error[]>;
|
|
487
|
+
|
|
488
|
+
type HydratedBlockValidatorFunction = (hydratedBlock: HydratedBlock, chainId?: Address) => Promisable<Error[]>;
|
|
489
|
+
|
|
490
|
+
type BoundWitnessValidationFunction<T extends BoundWitness = BoundWitness> = (bw: T) => Promisable<Error[]>;
|
|
491
|
+
|
|
492
|
+
type HydratedBoundWitnessWithHashStorageMeta<T extends BoundWitness = BoundWitness, P extends Payload = Payload> = [WithHashStorageMeta<T>, WithHashStorageMeta<P>[]];
|
|
493
|
+
type HydratedBoundWitnessValidationFunction<T extends BoundWitness = BoundWitness> = (bw: HydratedBoundWitnessWithHashStorageMeta<T>) => Promisable<Error[]>;
|
|
494
|
+
|
|
495
|
+
type InBlockPayloadValidationFunction = (payload: WithHashStorageMeta<Payload>, block: HydratedBlock) => Promisable<Error[]>;
|
|
496
|
+
|
|
497
|
+
type HydratedTransactionStateValidationFunction<T extends TransactionBoundWitness = TransactionBoundWitness> = (hydratedTransaction: HydratedBoundWitnessWithStorageMeta<T>, chainId: Address, archivist: ReadArchivist) => Promisable<Error[]>;
|
|
498
|
+
|
|
499
|
+
type HydratedTransactionValidatorFunction<T extends TransactionBoundWitness = TransactionBoundWitness> = (hydratedTransaction: HydratedTransactionWithHashStorageMeta<HydratedTransaction<T>>, chainId?: Address) => Promisable<Error[]>;
|
|
500
|
+
|
|
501
|
+
export { type AccountBalanceService, type Addressable, type AllowedBlockPayload, type AllowedBlockPayloadSchema, AllowedBlockPayloadSchemas, type BaseAccountableServiceParams, type BaseServiceParams, type BlockBoundWitness, type BlockBoundWitnessFields, type BlockBoundWitnessMeta, type BlockDuration, type BlockEnd, type BlockNumber, type BlockNumberFields, BlockNumberSchema, type BlockProducer, type BlockRewardService, type BlockStart, type BlockValidatorFunction, type BoundWitnessValidationFunction, type ChainAnalyzer, type ChainBlockNumberIterator, type ChainContractViewer, type ChainHashIterator, type ChainIdentification, type ChainIdentificationPayload, ChainIdentificationPayloadSchema, type ChainIndexingServiceState, type ChainIndexingServiceStateFields, ChainIndexingServiceStateSchema, type ChainInformation, type ChainInformationPayload, ChainInformationPayloadSchema, type ChainIterator, type ChainIteratorEventData, type ChainReference, type ChainService, type ChainServiceCollection, type ChainStakeIntent, type ChainStakeIntentFields, ChainStakeIntentSchema, type ChainStakeViewer, type ChainStaker, type DefaultNetworkIds, type ElectionService, type EventingChainBlockNumberIterator, type EventingChainHashIterator, type EventingChainIterator, type Executable, type ExecutableFields, type FromFields, type HashFields, type HashPayload, HashSchema, type HeadEventArgs, type HeadEventData, type HydratedBlock, type HydratedBlockStateValidationFunction, type HydratedBlockValidatorFunction, type HydratedBoundWitnessValidationFunction, type HydratedBoundWitnessWithHashStorageMeta, type HydratedTransaction, type HydratedTransactionStateValidationFunction, type HydratedTransactionValidatorFunction, type HydratedTransactionWithHashStorageMeta, type HydratedTransactionWithStorageMeta, type InBlockPayloadValidationFunction, type Initializable, type Intent, type IterableRepository, type IterableTransactionRepository, MicroXL1, type NetworkId, type NetworkStatus, type NetworkStatusFields, NetworkStatusSchema, type NetworkStatusState, type NetworkStatusUpdate, type NextBlockProducer, type OpenTelemetryProviders, type OptionalBlockDuration, type OptionalExecutable, type PendingTransactionsService, type ReadRepository, type ReadonlyIterableTransactionRepository, type Service, type ServiceName, type SignedHydratedBlock, type SignedHydratedTransaction, type SignedHydratedTransactionWithStorageMeta, type StakeIntentService, StepSizes, type TransactionBoundWitness, type TransactionBoundWitnessFields, type TransactionFeesBigInt, type TransactionFeesFields, type TransactionFeesHex, TransactionGasCosts, type TransactionReadRepository, type TransactionRepository, type TransactionRepositoryIterator, type TransactionWriteRepository, type Transfer, type TransferFields, TransferSchema, type WriteRepository, XL1, type XyoChainIteratorParams, type XyoDataLakeProvider, type XyoDataLakeViewer, type XyoNetwork, type XyoPayloadLakeProvider, type XyoPayloadLakeViewer, type XyoProvider, type XyoRunner, type XyoSigner, type XyoViewer, type XyoWallet, asBlockBoundWitness, asBlockBoundWitnessWithStorageMeta, asBlockNumber, asBlockNumberWithSources, asChainIndexingServiceState, asChainIndexingServiceStateWithStorageMeta, asChainStakeIntent, asExecutable, asHashPayload, asHashPayloadWithStorageMeta, asOptionalBlockBoundWitness, asOptionalBlockBoundWitnessWithStorageMeta, asOptionalBlockNumber, asOptionalBlockNumberWithSources, asOptionalChainIndexingServiceStateWithStorageMeta, asOptionalChainStakeIntent, asOptionalHashPayload, asOptionalTransactionBoundWitness, asOptionalTransactionBoundWitnessWithStorageMeta, asOptionalTransfer, asTransactionBoundWitness, asTransactionBoundWitnessWithStorageMeta, asTransfer, defaultTransactionFees, hasFrom, isAllowedBlockPayload, isAllowedBlockPayloadSchema, isAllowedBlockPayloadWithHashStorageMeta, isBlockBoundWitness, isBlockBoundWitnessWithStorageMeta, isBlockNumber, isBlockNumberWithSources, isChainIdentificationPayload, isChainIndexingServiceState, isChainIndexingServiceStateWithStorageMeta, isChainInformationPayload, isChainStakeIntent, isExecutable, isHashPayload, isNetworkStatus, isSigned, isSignedTransactionBoundWitness, isSignedTransactionBoundWitnessWithStorageMeta, isTransactionBoundWitness, isTransactionBoundWitnessWithStorageMeta, isTransfer, mXL1FromXL1, mXL1ToXL1, minTransactionFees };
|
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
// src/XL1.ts
|
|
2
|
+
var XL1 = (value) => value;
|
|
3
|
+
var MicroXL1 = (value) => value;
|
|
4
|
+
var mXL1ToXL1 = (value) => {
|
|
5
|
+
return XL1(BigInt(value) / BigInt(1e6));
|
|
6
|
+
};
|
|
7
|
+
var mXL1FromXL1 = (value) => {
|
|
8
|
+
return MicroXL1(BigInt(value) * BigInt(1e6));
|
|
9
|
+
};
|
|
10
|
+
|
|
1
11
|
// src/block/AllowedBlockPayload.ts
|
|
2
12
|
import { BoundWitnessSchema } from "@xyo-network/boundwitness-model";
|
|
3
13
|
import { isHashStorageMeta, isSchema } from "@xyo-network/payload-model";
|
|
@@ -64,24 +74,7 @@ var asOptionalTransactionBoundWitness = AsObjectFactory4.createOptional(isTransa
|
|
|
64
74
|
var asTransactionBoundWitnessWithStorageMeta = AsObjectFactory4.create(isTransactionBoundWitnessWithStorageMeta);
|
|
65
75
|
var asOptionalTransactionBoundWitnessWithStorageMeta = AsObjectFactory4.createOptional(isTransactionBoundWitnessWithStorageMeta);
|
|
66
76
|
|
|
67
|
-
// src/Xl1.ts
|
|
68
|
-
var XL1 = (value) => value;
|
|
69
|
-
var MicroXL1 = (value) => value;
|
|
70
|
-
var mXl1ToXl1 = (value) => {
|
|
71
|
-
return XL1(BigInt(value) / BigInt(1e6));
|
|
72
|
-
};
|
|
73
|
-
var xl1ToMxl1 = (value) => {
|
|
74
|
-
return MicroXL1(BigInt(value) * BigInt(1e6));
|
|
75
|
-
};
|
|
76
|
-
|
|
77
77
|
// src/transaction/TransactionFeesFields.ts
|
|
78
|
-
var TransactionGasCosts = {
|
|
79
|
-
byte: MicroXL1(10n),
|
|
80
|
-
payloadValidation: MicroXL1(1000n),
|
|
81
|
-
signatureValidation: MicroXL1(1000n),
|
|
82
|
-
hashValidation: MicroXL1(100n),
|
|
83
|
-
balanceValidation: MicroXL1(100n)
|
|
84
|
-
};
|
|
85
78
|
var minTransactionFees = {
|
|
86
79
|
base: MicroXL1(1000n),
|
|
87
80
|
gasPrice: MicroXL1(1n),
|
|
@@ -124,7 +117,27 @@ var asOptionalBlockBoundWitness = AsObjectFactory5.createOptional(isBlockBoundWi
|
|
|
124
117
|
var asBlockBoundWitnessWithStorageMeta = AsObjectFactory5.create(isBlockBoundWitnessWithStorageMeta);
|
|
125
118
|
var asOptionalBlockBoundWitnessWithStorageMeta = AsObjectFactory5.createOptional(isBlockBoundWitnessWithStorageMeta);
|
|
126
119
|
|
|
127
|
-
// src/
|
|
120
|
+
// src/constants/StepSizes.ts
|
|
121
|
+
var StepSizes = [10, 105, 1103, 11576, 121551, 1276282, 13400956];
|
|
122
|
+
|
|
123
|
+
// src/constants/TransactionGasCosts.ts
|
|
124
|
+
var TransactionGasCosts = {
|
|
125
|
+
/**
|
|
126
|
+
* The cost of storing each character that is added to the chain
|
|
127
|
+
* This includes the transaction JSON and all the elevated payloads' JSON
|
|
128
|
+
*/
|
|
129
|
+
characterStorage: MicroXL1(10n),
|
|
130
|
+
/** The cost of static validating every payload that will be included in the chain */
|
|
131
|
+
payloadValidation: MicroXL1(1000n),
|
|
132
|
+
/** The cost of validating each signature that will be included in the chain */
|
|
133
|
+
signatureValidation: MicroXL1(1000n),
|
|
134
|
+
/** The cost of validating each hash that will be included in the chain */
|
|
135
|
+
hashValidation: MicroXL1(100n),
|
|
136
|
+
/** The cost of validating a balance state, triggered by a Transfer payload or gas collection */
|
|
137
|
+
balanceValidation: MicroXL1(100n)
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
// src/fields/BlockNumber.ts
|
|
128
141
|
import { AsObjectFactory as AsObjectFactory6 } from "@xylabs/object";
|
|
129
142
|
import {
|
|
130
143
|
isPayloadOfSchemaType as isPayloadOfSchemaType4,
|
|
@@ -138,23 +151,6 @@ var isBlockNumberWithSources = isPayloadOfSchemaTypeWithSources(BlockNumberSchem
|
|
|
138
151
|
var asBlockNumberWithSources = AsObjectFactory6.create(isBlockNumberWithSources);
|
|
139
152
|
var asOptionalBlockNumberWithSources = AsObjectFactory6.createOptional(isBlockNumberWithSources);
|
|
140
153
|
|
|
141
|
-
// src/ethereum.ts
|
|
142
|
-
import { toHex } from "@xylabs/hex";
|
|
143
|
-
import { getAddress } from "ethers";
|
|
144
|
-
import { parseUnits } from "ethers/utils";
|
|
145
|
-
var getDefaultGasConfig = () => {
|
|
146
|
-
return {
|
|
147
|
-
gasLimit: 2e6,
|
|
148
|
-
// Set the gas limit
|
|
149
|
-
gasPrice: parseUnits("100", "gwei")
|
|
150
|
-
};
|
|
151
|
-
};
|
|
152
|
-
var ETH_ZERO_ADDRESS = "0x0000000000000000000000000000000000000000";
|
|
153
|
-
var toEthAddress = (value) => {
|
|
154
|
-
const address = typeof value === "object" ? value.address : value;
|
|
155
|
-
return getAddress(toHex(address, { prefix: true, bitLength: 160 }));
|
|
156
|
-
};
|
|
157
|
-
|
|
158
154
|
// src/network/Status.ts
|
|
159
155
|
import { isPayloadOfSchemaType as isPayloadOfSchemaType5 } from "@xyo-network/payload-model";
|
|
160
156
|
var NetworkStatusSchema = "network.xyo.chain.status";
|
|
@@ -181,9 +177,6 @@ var asChainIndexingServiceState = AsObjectFactory7.create(isChainIndexingService
|
|
|
181
177
|
var isChainIndexingServiceStateWithStorageMeta = (value) => isChainIndexingServiceState(value) && isStorageMeta3(value);
|
|
182
178
|
var asChainIndexingServiceStateWithStorageMeta = AsObjectFactory7.create(isChainIndexingServiceStateWithStorageMeta);
|
|
183
179
|
var asOptionalChainIndexingServiceStateWithStorageMeta = AsObjectFactory7.createOptional(isChainIndexingServiceStateWithStorageMeta);
|
|
184
|
-
|
|
185
|
-
// src/Steps.ts
|
|
186
|
-
var StepSizes = [10, 105, 1103, 11576, 121551, 1276282, 13400956];
|
|
187
180
|
export {
|
|
188
181
|
AllowedBlockPayloadSchemas,
|
|
189
182
|
BlockNumberSchema,
|
|
@@ -191,7 +184,6 @@ export {
|
|
|
191
184
|
ChainIndexingServiceStateSchema,
|
|
192
185
|
ChainInformationPayloadSchema,
|
|
193
186
|
ChainStakeIntentSchema,
|
|
194
|
-
ETH_ZERO_ADDRESS,
|
|
195
187
|
HashSchema,
|
|
196
188
|
MicroXL1,
|
|
197
189
|
NetworkStatusSchema,
|
|
@@ -223,7 +215,6 @@ export {
|
|
|
223
215
|
asTransactionBoundWitnessWithStorageMeta,
|
|
224
216
|
asTransfer,
|
|
225
217
|
defaultTransactionFees,
|
|
226
|
-
getDefaultGasConfig,
|
|
227
218
|
hasFrom,
|
|
228
219
|
isAllowedBlockPayload,
|
|
229
220
|
isAllowedBlockPayloadSchema,
|
|
@@ -246,9 +237,7 @@ export {
|
|
|
246
237
|
isTransactionBoundWitness,
|
|
247
238
|
isTransactionBoundWitnessWithStorageMeta,
|
|
248
239
|
isTransfer,
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
xl1ToMxl1
|
|
240
|
+
mXL1FromXL1,
|
|
241
|
+
mXL1ToXL1,
|
|
242
|
+
minTransactionFees
|
|
253
243
|
};
|
|
254
|
-
//# sourceMappingURL=index.mjs.map
|