@xyo-network/chain-services 1.18.0 → 1.18.1
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/neutral/AccountBalance/accountBalanceServiceFromArchivist.d.ts +1 -2
- package/dist/neutral/AccountBalance/accountBalanceServiceFromArchivist.d.ts.map +1 -1
- package/dist/neutral/BlockReward/EvmBlockRewardViewer.d.ts +1 -2
- package/dist/neutral/BlockReward/EvmBlockRewardViewer.d.ts.map +1 -1
- package/dist/neutral/ChainService/Evm/Evm.d.ts +3 -4
- package/dist/neutral/ChainService/Evm/Evm.d.ts.map +1 -1
- package/dist/neutral/ChainService/Memory/Memory.d.ts +3 -4
- package/dist/neutral/ChainService/Memory/Memory.d.ts.map +1 -1
- package/dist/neutral/ChainValidator/XyoValidator.d.ts +8 -8
- package/dist/neutral/ChainValidator/XyoValidator.d.ts.map +1 -1
- package/dist/neutral/ChainValidator/model/Validator.d.ts +1 -1
- package/dist/neutral/ChainValidator/model/Validator.d.ts.map +1 -1
- package/dist/neutral/Election/BaseElectionService.d.ts +8 -5
- package/dist/neutral/Election/BaseElectionService.d.ts.map +1 -1
- package/dist/neutral/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.d.ts +3 -4
- package/dist/neutral/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.d.ts.map +1 -1
- package/dist/neutral/PendingTransactions/BasePendingTransactions.d.ts +3 -4
- package/dist/neutral/PendingTransactions/BasePendingTransactions.d.ts.map +1 -1
- package/dist/neutral/PendingTransactions/bundledPayloadToHydratedTransaction.d.ts +1 -1
- package/dist/neutral/PendingTransactions/bundledPayloadToHydratedTransaction.d.ts.map +1 -1
- package/dist/neutral/PendingTransactions/hydratedTransactionToPayloadBundle.d.ts +1 -1
- package/dist/neutral/PendingTransactions/hydratedTransactionToPayloadBundle.d.ts.map +1 -1
- package/dist/neutral/Schemas/BaseSchemasService.d.ts +6 -3
- package/dist/neutral/Schemas/BaseSchemasService.d.ts.map +1 -1
- package/dist/neutral/StakeIntent/XyoStakeIntentService.d.ts +13 -6
- package/dist/neutral/StakeIntent/XyoStakeIntentService.d.ts.map +1 -1
- package/dist/neutral/StakeIntent/lib/getBlockSignedStakeDeclarations.d.ts +1 -1
- package/dist/neutral/StakeIntent/lib/getBlockSignedStakeDeclarations.d.ts.map +1 -1
- package/dist/neutral/StepStake/BaseStepStakeService.d.ts +6 -7
- package/dist/neutral/StepStake/BaseStepStakeService.d.ts.map +1 -1
- package/dist/neutral/blockViewerFromChainIteratorAndArchivist.d.ts +1 -1
- package/dist/neutral/blockViewerFromChainIteratorAndArchivist.d.ts.map +1 -1
- package/dist/neutral/implementation/chain/evm.d.ts +1 -2
- package/dist/neutral/implementation/chain/evm.d.ts.map +1 -1
- package/dist/neutral/implementation/chain/index.d.ts +1 -2
- package/dist/neutral/implementation/chain/index.d.ts.map +1 -1
- package/dist/neutral/implementation/evm/initChainId.d.ts +1 -1
- package/dist/neutral/implementation/evm/initChainId.d.ts.map +1 -1
- package/dist/neutral/implementation/evm/initEvmProvider.d.ts +1 -1
- package/dist/neutral/implementation/evm/initEvmProvider.d.ts.map +1 -1
- package/dist/neutral/implementation/evm/initInfuraProvider.d.ts +1 -1
- package/dist/neutral/implementation/evm/initInfuraProvider.d.ts.map +1 -1
- package/dist/neutral/implementation/evm/initJsonRpcProvider.d.ts +1 -1
- package/dist/neutral/implementation/evm/initJsonRpcProvider.d.ts.map +1 -1
- package/dist/neutral/implementation/head/createBootstrapHead.d.ts +1 -1
- package/dist/neutral/implementation/head/createBootstrapHead.d.ts.map +1 -1
- package/dist/neutral/index.d.ts +0 -1
- package/dist/neutral/index.d.ts.map +1 -1
- package/dist/neutral/index.mjs +113 -149
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/model/Params.d.ts +1 -2
- package/dist/neutral/model/Params.d.ts.map +1 -1
- package/dist/neutral/simple/block/runner/SimpleBlockRunner.d.ts +30 -18
- package/dist/neutral/simple/block/runner/SimpleBlockRunner.d.ts.map +1 -1
- package/dist/neutral/simple/block/runner/generateTransactionFeeTransfers.d.ts +1 -1
- package/dist/neutral/simple/block/runner/generateTransactionFeeTransfers.d.ts.map +1 -1
- package/package.json +25 -28
- package/src/AccountBalance/accountBalanceServiceFromArchivist.ts +5 -6
- package/src/BlockReward/EvmBlockRewardViewer.ts +3 -5
- package/src/ChainService/Evm/Evm.ts +6 -5
- package/src/ChainService/Memory/Memory.ts +7 -8
- package/src/ChainValidator/XyoValidator.ts +9 -14
- package/src/ChainValidator/model/Validator.ts +1 -1
- package/src/Election/BaseElectionService.ts +14 -9
- package/src/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.ts +10 -11
- package/src/PendingTransactions/BasePendingTransactions.ts +11 -11
- package/src/PendingTransactions/bundledPayloadToHydratedTransaction.ts +2 -2
- package/src/PendingTransactions/hydratedTransactionToPayloadBundle.ts +2 -2
- package/src/Schemas/BaseSchemasService.ts +10 -7
- package/src/StakeIntent/XyoStakeIntentService.ts +13 -8
- package/src/StakeIntent/lib/getBlockSignedStakeDeclarations.ts +2 -2
- package/src/StepStake/BaseStepStakeService.ts +7 -11
- package/src/blockViewerFromChainIteratorAndArchivist.ts +14 -4
- package/src/implementation/chain/evm.ts +1 -2
- package/src/implementation/chain/index.ts +1 -2
- package/src/implementation/evm/initChainId.ts +1 -1
- package/src/implementation/evm/initEvmProvider.ts +1 -1
- package/src/implementation/evm/initInfuraProvider.ts +1 -1
- package/src/implementation/evm/initJsonRpcProvider.ts +1 -1
- package/src/implementation/head/createBootstrapHead.ts +2 -2
- package/src/index.ts +0 -1
- package/src/model/Params.ts +1 -2
- package/src/simple/block/runner/SimpleBlockRunner.ts +20 -13
- package/src/simple/block/runner/generateTransactionFeeTransfers.ts +5 -4
- package/dist/neutral/BaseService.d.ts +0 -19
- package/dist/neutral/BaseService.d.ts.map +0 -1
- package/src/BaseService.ts +0 -45
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { AccountInstance } from '@xyo-network/account-model';
|
|
2
|
-
import type { OpenTelemetryProviders } from '@xyo-network/xl1-
|
|
3
|
-
import type { CreatableProviderParams } from '@xyo-network/xl1-protocol-sdk';
|
|
2
|
+
import type { CreatableProviderParams, OpenTelemetryProviders } from '@xyo-network/xl1-sdk';
|
|
4
3
|
export interface BaseServiceParams extends CreatableProviderParams, OpenTelemetryProviders {
|
|
5
4
|
}
|
|
6
5
|
export interface BaseAccountableServiceParams extends BaseServiceParams {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Params.d.ts","sourceRoot":"","sources":["../../../src/model/Params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"Params.d.ts","sourceRoot":"","sources":["../../../src/model/Params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAE3F,MAAM,WAAW,iBAAkB,SAAQ,uBAAuB,EAAE,sBAAsB;CAEzF;AAED,MAAM,WAAW,4BAA6B,SAAQ,iBAAiB;IACrE,OAAO,EAAE,eAAe,CAAA;CACzB"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { Address,
|
|
1
|
+
import { Address, Promisable } from '@xylabs/sdk-js';
|
|
2
2
|
import { AccountInstance } from '@xyo-network/account-model';
|
|
3
3
|
import { ArchivistInstance } from '@xyo-network/archivist-model';
|
|
4
4
|
import { BlockRewardDiviner } from '@xyo-network/chain-modules';
|
|
5
5
|
import { WithHashMeta } from '@xyo-network/payload-model';
|
|
6
|
-
import { BlockBoundWitness, ChainStakeIntent, SignedBlockBoundWitnessWithHashMeta, SignedHydratedBlockWithHashMeta, Transfer } from '@xyo-network/xl1-
|
|
7
|
-
import { AbstractCreatableProvider, AccountBalanceViewer, BlockRewardViewer, BlockRunner, BlockValidationViewer, CreatableProviderParams, HydratedBlockStateValidationFunction, MempoolRunner, MempoolViewer, TimeSyncViewer } from '@xyo-network/xl1-protocol-sdk';
|
|
6
|
+
import { AbstractCreatableProvider, AccountBalanceViewer, BlockBoundWitness, BlockRewardViewer, BlockRunner, BlockValidationViewer, ChainStakeIntent, CreatableProviderParams, HydratedBlockStateValidationFunction, MempoolRunner, MempoolViewer, SignedBlockBoundWitnessWithHashMeta, SignedHydratedBlockWithHashMeta, TimeSyncViewer, Transfer } from '@xyo-network/xl1-sdk';
|
|
8
7
|
/**
|
|
9
8
|
* The default block size for a block
|
|
10
9
|
*/
|
|
@@ -26,6 +25,7 @@ export type SimpleBlockRunnerParams = CreatableProviderParams & {
|
|
|
26
25
|
};
|
|
27
26
|
export declare class SimpleBlockRunner extends AbstractCreatableProvider<SimpleBlockRunnerParams> implements BlockRunner {
|
|
28
27
|
static readonly defaultMoniker: "BlockRunner";
|
|
28
|
+
static readonly dependencies: ("AccountBalanceViewer" | "BlockRewardViewer" | "MempoolViewer" | "BlockValidationViewer" | "MempoolRunner" | "TimeSyncViewer")[];
|
|
29
29
|
static readonly monikers: "BlockRunner"[];
|
|
30
30
|
moniker: "BlockRunner";
|
|
31
31
|
protected _blockRewardDiviner?: BlockRewardDiviner;
|
|
@@ -56,7 +56,11 @@ export declare class SimpleBlockRunner extends AbstractCreatableProvider<SimpleB
|
|
|
56
56
|
static get RedeclarationWindow(): number;
|
|
57
57
|
protected get account(): AccountInstance;
|
|
58
58
|
protected get accountBalanceViewer(): AccountBalanceViewer;
|
|
59
|
-
protected get address():
|
|
59
|
+
protected get address(): Lowercase<string> & {
|
|
60
|
+
readonly __hex: true;
|
|
61
|
+
} & {
|
|
62
|
+
readonly __address: true;
|
|
63
|
+
};
|
|
60
64
|
protected get blockRewardViewer(): BlockRewardViewer;
|
|
61
65
|
protected get blockValidationViewer(): BlockValidationViewer;
|
|
62
66
|
protected get mempoolRunner(): MempoolRunner;
|
|
@@ -77,25 +81,33 @@ export declare class SimpleBlockRunner extends AbstractCreatableProvider<SimpleB
|
|
|
77
81
|
protected getProducerRedeclaration(head: WithHashMeta<BlockBoundWitness>): Promisable<ChainStakeIntent | undefined>;
|
|
78
82
|
protected proposeNextValidBlock(head: WithHashMeta<BlockBoundWitness>, validateBalances?: boolean, force?: boolean): Promise<[{
|
|
79
83
|
schema: "network.xyo.boundwitness";
|
|
80
|
-
addresses:
|
|
81
|
-
|
|
84
|
+
addresses: (Lowercase<string> & {
|
|
85
|
+
readonly __hex: true;
|
|
86
|
+
} & {
|
|
87
|
+
readonly __address: true;
|
|
88
|
+
})[];
|
|
89
|
+
payload_hashes: import("@xylabs/sdk-js").BrandedHash[];
|
|
82
90
|
payload_schemas: string[];
|
|
83
|
-
previous_hashes: (import("@xylabs/sdk-js").
|
|
84
|
-
$signatures:
|
|
85
|
-
block: import("@xyo-network/xl1-
|
|
86
|
-
chain:
|
|
87
|
-
previous: import("@xylabs/sdk-js").
|
|
91
|
+
previous_hashes: (import("@xylabs/sdk-js").BrandedHash | null)[];
|
|
92
|
+
$signatures: import("@xylabs/sdk-js").BrandedHex[];
|
|
93
|
+
block: import("@xyo-network/xl1-sdk").XL1BlockNumber;
|
|
94
|
+
chain: import("@xylabs/sdk-js").BrandedHex;
|
|
95
|
+
previous: import("@xylabs/sdk-js").BrandedHash | null;
|
|
88
96
|
$epoch: number;
|
|
89
|
-
_hash: import("@xylabs/sdk-js").
|
|
90
|
-
_dataHash: import("@xylabs/sdk-js").
|
|
91
|
-
$destination?:
|
|
92
|
-
|
|
97
|
+
_hash: import("@xylabs/sdk-js").BrandedHash;
|
|
98
|
+
_dataHash: import("@xylabs/sdk-js").BrandedHash;
|
|
99
|
+
$destination?: (Lowercase<string> & {
|
|
100
|
+
readonly __hex: true;
|
|
101
|
+
} & {
|
|
102
|
+
readonly __address: true;
|
|
103
|
+
}) | undefined;
|
|
104
|
+
$sourceQuery?: import("@xylabs/sdk-js").BrandedHash | undefined;
|
|
93
105
|
protocol?: number | undefined;
|
|
94
|
-
step_hashes?: import("@xylabs/sdk-js").
|
|
106
|
+
step_hashes?: import("@xylabs/sdk-js").BrandedHash[] | undefined;
|
|
95
107
|
}, {
|
|
96
108
|
schema: string;
|
|
97
|
-
_hash: import("@xylabs/sdk-js").
|
|
98
|
-
_dataHash: import("@xylabs/sdk-js").
|
|
109
|
+
_hash: import("@xylabs/sdk-js").BrandedHash;
|
|
110
|
+
_dataHash: import("@xylabs/sdk-js").BrandedHash;
|
|
99
111
|
}[]] | undefined>;
|
|
100
112
|
private filterByFunded;
|
|
101
113
|
private generateTimePayload;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleBlockRunner.d.ts","sourceRoot":"","sources":["../../../../../src/simple/block/runner/SimpleBlockRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,
|
|
1
|
+
{"version":3,"file":"SimpleBlockRunner.d.ts","sourceRoot":"","sources":["../../../../../src/simple/block/runner/SimpleBlockRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { type Address } from '@xylabs/sdk-js';
|
|
2
|
-
import type { SignedHydratedTransaction, Transfer } from '@xyo-network/xl1-
|
|
2
|
+
import type { SignedHydratedTransaction, Transfer } from '@xyo-network/xl1-sdk';
|
|
3
3
|
export declare function generateTransactionFeeTransfers(address: Address, transactions: SignedHydratedTransaction[]): Promise<Transfer[]>;
|
|
4
4
|
//# sourceMappingURL=generateTransactionFeeTransfers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateTransactionFeeTransfers.d.ts","sourceRoot":"","sources":["../../../../../src/simple/block/runner/generateTransactionFeeTransfers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAiB,MAAM,gBAAgB,CAAA;AAG5D,OAAO,KAAK,EACV,yBAAyB,EACzB,QAAQ,EAET,MAAM,
|
|
1
|
+
{"version":3,"file":"generateTransactionFeeTransfers.d.ts","sourceRoot":"","sources":["../../../../../src/simple/block/runner/generateTransactionFeeTransfers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAiB,MAAM,gBAAgB,CAAA;AAG5D,OAAO,KAAK,EACV,yBAAyB,EACzB,QAAQ,EAET,MAAM,sBAAsB,CAAA;AAM7B,wBAAsB,+BAA+B,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CA0CtI"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "http://json.schemastore.org/package.json",
|
|
3
3
|
"name": "@xyo-network/chain-services",
|
|
4
|
-
"version": "1.18.
|
|
4
|
+
"version": "1.18.1",
|
|
5
5
|
"description": "XYO Layer One SDK Services",
|
|
6
6
|
"homepage": "https://xylabs.com",
|
|
7
7
|
"bugs": {
|
|
@@ -40,44 +40,41 @@
|
|
|
40
40
|
],
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"@opentelemetry/api": "^1.9.0",
|
|
43
|
-
"@xylabs/sdk-js": "~5.0.
|
|
44
|
-
"@xyo-network/account-model": "~5.2.
|
|
45
|
-
"@xyo-network/archivist-memory": "~5.2.
|
|
46
|
-
"@xyo-network/archivist-model": "~5.2.
|
|
47
|
-
"@xyo-network/boundwitness-model": "~5.2.
|
|
48
|
-
"@xyo-network/boundwitness-validator": "~5.2.
|
|
49
|
-
"@xyo-network/boundwitness-wrapper": "~5.2.
|
|
50
|
-
"@xyo-network/chain-analyze": "~1.18.
|
|
51
|
-
"@xyo-network/chain-modules": "~1.18.
|
|
52
|
-
"@xyo-network/chain-protocol": "~1.18.
|
|
53
|
-
"@xyo-network/chain-utils": "~1.18.
|
|
54
|
-
"@xyo-network/payload-builder": "~5.2.
|
|
55
|
-
"@xyo-network/payload-model": "~5.2.
|
|
43
|
+
"@xylabs/sdk-js": "~5.0.61",
|
|
44
|
+
"@xyo-network/account-model": "~5.2.22",
|
|
45
|
+
"@xyo-network/archivist-memory": "~5.2.22",
|
|
46
|
+
"@xyo-network/archivist-model": "~5.2.22",
|
|
47
|
+
"@xyo-network/boundwitness-model": "~5.2.22",
|
|
48
|
+
"@xyo-network/boundwitness-validator": "~5.2.22",
|
|
49
|
+
"@xyo-network/boundwitness-wrapper": "~5.2.22",
|
|
50
|
+
"@xyo-network/chain-analyze": "~1.18.1",
|
|
51
|
+
"@xyo-network/chain-modules": "~1.18.1",
|
|
52
|
+
"@xyo-network/chain-protocol": "~1.18.1",
|
|
53
|
+
"@xyo-network/chain-utils": "~1.18.1",
|
|
54
|
+
"@xyo-network/payload-builder": "~5.2.22",
|
|
55
|
+
"@xyo-network/payload-model": "~5.2.22",
|
|
56
56
|
"@xyo-network/typechain": "~4.0.11",
|
|
57
|
-
"@xyo-network/xl1-
|
|
58
|
-
"@xyo-network/xl1-protocol-sdk": "~1.18.0",
|
|
59
|
-
"@xyo-network/xl1-validation": "~1.18.0",
|
|
60
|
-
"@xyo-network/xl1-wrappers": "~1.18.0",
|
|
57
|
+
"@xyo-network/xl1-sdk": "~1.18.2",
|
|
61
58
|
"async-mutex": "~0.5.0",
|
|
62
59
|
"ethers": "^6.16.0",
|
|
63
60
|
"lru-cache": "^11.2.4"
|
|
64
61
|
},
|
|
65
62
|
"devDependencies": {
|
|
66
|
-
"@types/node": "~25.0.
|
|
67
|
-
"@xylabs/sdk-js": "~5.0.
|
|
63
|
+
"@types/node": "~25.0.8",
|
|
64
|
+
"@xylabs/sdk-js": "~5.0.61",
|
|
68
65
|
"@xylabs/ts-scripts-yarn3": "~7.2.32",
|
|
69
66
|
"@xylabs/tsconfig": "~7.2.32",
|
|
70
|
-
"@xylabs/vitest-extended": "~5.0.
|
|
71
|
-
"@xyo-network/account": "~5.2.
|
|
72
|
-
"@xyo-network/account-model": "~5.2.
|
|
73
|
-
"@xyo-network/chain-validation": "~1.18.
|
|
74
|
-
"@xyo-network/wallet": "~5.2.
|
|
75
|
-
"@xyo-network/wallet-model": "~5.2.
|
|
67
|
+
"@xylabs/vitest-extended": "~5.0.61",
|
|
68
|
+
"@xyo-network/account": "~5.2.22",
|
|
69
|
+
"@xyo-network/account-model": "~5.2.22",
|
|
70
|
+
"@xyo-network/chain-validation": "~1.18.1",
|
|
71
|
+
"@xyo-network/wallet": "~5.2.22",
|
|
72
|
+
"@xyo-network/wallet-model": "~5.2.22",
|
|
76
73
|
"cosmiconfig": "^9.0.0",
|
|
77
74
|
"eslint": "^9.39.2",
|
|
78
75
|
"tslib": "~2.8.1",
|
|
79
76
|
"typescript": "~5.9.3",
|
|
80
|
-
"vitest": "~4.0.
|
|
77
|
+
"vitest": "~4.0.17",
|
|
81
78
|
"vitest-mock-extended": "~3.1.0",
|
|
82
79
|
"web3-types": "~1.10.0"
|
|
83
80
|
},
|
|
@@ -88,4 +85,4 @@
|
|
|
88
85
|
"publishConfig": {
|
|
89
86
|
"access": "restricted"
|
|
90
87
|
}
|
|
91
|
-
}
|
|
88
|
+
}
|
|
@@ -2,15 +2,14 @@ import type { Hash } from '@xylabs/sdk-js'
|
|
|
2
2
|
import { assertEx } from '@xylabs/sdk-js'
|
|
3
3
|
import type { ReadWriteArchivist } from '@xyo-network/archivist-model'
|
|
4
4
|
import type { Payload, WithStorageMeta } from '@xyo-network/payload-model'
|
|
5
|
-
import type { ChainId } from '@xyo-network/xl1-protocol'
|
|
6
|
-
import { StepSizes } from '@xyo-network/xl1-protocol'
|
|
7
5
|
import type {
|
|
8
|
-
AccountBalanceViewer, BalancesStepSummary,
|
|
9
|
-
|
|
6
|
+
AccountBalanceViewer, BalancesStepSummary, ChainId,
|
|
7
|
+
CreatableProviderContext, SimpleAccountBalanceViewerParams, TransfersStepSummary,
|
|
8
|
+
} from '@xyo-network/xl1-sdk'
|
|
10
9
|
import {
|
|
11
10
|
findMostRecentBlock, LruCacheMap, payloadMapFromStore,
|
|
12
|
-
SimpleAccountBalanceViewer,
|
|
13
|
-
} from '@xyo-network/xl1-
|
|
11
|
+
SimpleAccountBalanceViewer, StepSizes,
|
|
12
|
+
} from '@xyo-network/xl1-sdk'
|
|
14
13
|
import { Semaphore } from 'async-mutex'
|
|
15
14
|
|
|
16
15
|
// this is intended to only be used for testing
|
|
@@ -4,13 +4,11 @@ import {
|
|
|
4
4
|
} from '@xylabs/sdk-js'
|
|
5
5
|
import { XyoChainRewards__factory as XyoChainRewardsFactory } from '@xyo-network/typechain'
|
|
6
6
|
import {
|
|
7
|
-
asAttoXL1, AttoXL1,
|
|
8
|
-
} from '@xyo-network/xl1-protocol'
|
|
9
|
-
import {
|
|
10
|
-
BlockRewardViewer,
|
|
7
|
+
asAttoXL1, AttoXL1, BlockRewardViewer,
|
|
11
8
|
BlockRewardViewerMoniker,
|
|
12
9
|
ChainContractViewer,
|
|
13
|
-
|
|
10
|
+
XL1BlockNumber,
|
|
11
|
+
} from '@xyo-network/xl1-sdk'
|
|
14
12
|
import { Provider } from 'ethers/providers'
|
|
15
13
|
|
|
16
14
|
export interface EvmBlockRewardViewerParams extends CreatableParams {
|
|
@@ -3,12 +3,13 @@ import type {
|
|
|
3
3
|
} from '@xylabs/sdk-js'
|
|
4
4
|
import { toAddress, toEthAddress } from '@xylabs/sdk-js'
|
|
5
5
|
import type { StakedXyoChain } from '@xyo-network/typechain'
|
|
6
|
-
import type {
|
|
7
|
-
|
|
6
|
+
import type {
|
|
7
|
+
AttoXL1, ChainService, XL1BlockNumber,
|
|
8
|
+
} from '@xyo-network/xl1-sdk'
|
|
9
|
+
import { AbstractCreatableProvider, ChainContractViewerMoniker } from '@xyo-network/xl1-sdk'
|
|
8
10
|
import { getAddress } from 'ethers/address'
|
|
9
11
|
import type { ContractRunner } from 'ethers/providers'
|
|
10
12
|
|
|
11
|
-
import { BaseService } from '../../BaseService.ts'
|
|
12
13
|
import type { BaseServiceParams } from '../../model/index.ts'
|
|
13
14
|
|
|
14
15
|
export interface EvmChainViewerParams extends BaseServiceParams {
|
|
@@ -20,10 +21,10 @@ export interface EvmChainViewerParams extends BaseServiceParams {
|
|
|
20
21
|
/**
|
|
21
22
|
* A class that represents a chain stake as backed by an EVM smart contract
|
|
22
23
|
*/
|
|
23
|
-
export class EvmChainViewer extends
|
|
24
|
+
export class EvmChainViewer extends AbstractCreatableProvider<EvmChainViewerParams> implements ChainService {
|
|
24
25
|
static readonly defaultMoniker = ChainContractViewerMoniker
|
|
25
26
|
static readonly monikers = [ChainContractViewerMoniker]
|
|
26
|
-
moniker = EvmChainViewer.defaultMoniker
|
|
27
|
+
override moniker = EvmChainViewer.defaultMoniker
|
|
27
28
|
|
|
28
29
|
protected get contract() {
|
|
29
30
|
return this.params.contract
|
|
@@ -2,13 +2,12 @@ import type {
|
|
|
2
2
|
Address, Hex, Promisable,
|
|
3
3
|
} from '@xylabs/sdk-js'
|
|
4
4
|
import { toAddress, ZERO_ADDRESS } from '@xylabs/sdk-js'
|
|
5
|
-
import type {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
} from '@xyo-network/xl1-
|
|
5
|
+
import type {
|
|
6
|
+
AttoXL1,
|
|
7
|
+
ChainService, XL1BlockNumber,
|
|
8
|
+
} from '@xyo-network/xl1-sdk'
|
|
9
|
+
import { AbstractCreatableProvider, ChainContractViewerMoniker } from '@xyo-network/xl1-sdk'
|
|
10
10
|
|
|
11
|
-
import { BaseService } from '../../BaseService.ts'
|
|
12
11
|
import type { BaseServiceParams } from '../../model/index.ts'
|
|
13
12
|
|
|
14
13
|
export interface MemoryChainViewerParams extends BaseServiceParams {
|
|
@@ -18,10 +17,10 @@ export interface MemoryChainViewerParams extends BaseServiceParams {
|
|
|
18
17
|
/**
|
|
19
18
|
* A class that represents a chain stake as backed in memory
|
|
20
19
|
*/
|
|
21
|
-
export class MemoryChainViewer extends
|
|
20
|
+
export class MemoryChainViewer extends AbstractCreatableProvider<MemoryChainViewerParams> implements ChainService {
|
|
22
21
|
static readonly defaultMoniker = ChainContractViewerMoniker
|
|
23
22
|
static readonly monikers = [ChainContractViewerMoniker]
|
|
24
|
-
moniker = MemoryChainViewer.defaultMoniker
|
|
23
|
+
override moniker = MemoryChainViewer.defaultMoniker
|
|
25
24
|
|
|
26
25
|
protected _chainId: Hex | undefined
|
|
27
26
|
protected _simulatedStake: bigint = 1n
|
|
@@ -1,18 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
Promisable,
|
|
4
|
-
} from '@xylabs/sdk-js'
|
|
5
|
-
import {
|
|
1
|
+
import type { Promisable } from '@xylabs/sdk-js'
|
|
2
|
+
import type {
|
|
6
3
|
BlockBoundWitness,
|
|
4
|
+
BlockViewer, HydratedBlockStateValidationFunction,
|
|
7
5
|
SignedHydratedTransactionWithStorageMeta,
|
|
8
|
-
} from '@xyo-network/xl1-
|
|
9
|
-
import {
|
|
10
|
-
BlockViewer, BlockViewerMoniker, HydratedBlockStateValidationFunction,
|
|
11
|
-
} from '@xyo-network/xl1-protocol-sdk'
|
|
6
|
+
} from '@xyo-network/xl1-sdk'
|
|
7
|
+
import { AbstractCreatableProvider, BlockViewerMoniker } from '@xyo-network/xl1-sdk'
|
|
12
8
|
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import { Validator } from './model/index.ts'
|
|
9
|
+
import type { BaseServiceParams } from '../model/index.ts'
|
|
10
|
+
import type { Validator } from './model/index.ts'
|
|
16
11
|
|
|
17
12
|
export interface XyoValidatorParams extends BaseServiceParams {
|
|
18
13
|
// account: AccountInstance
|
|
@@ -25,8 +20,8 @@ export interface XyoValidatorParams extends BaseServiceParams {
|
|
|
25
20
|
validateHydratedBlockState: HydratedBlockStateValidationFunction
|
|
26
21
|
}
|
|
27
22
|
|
|
28
|
-
|
|
29
|
-
|
|
23
|
+
export class XyoValidator<TParams extends XyoValidatorParams = XyoValidatorParams> extends AbstractCreatableProvider<TParams> implements Validator {
|
|
24
|
+
moniker = 'Validator'
|
|
30
25
|
private _blockViewer?: BlockViewer
|
|
31
26
|
// get address() {
|
|
32
27
|
// return this.account.address
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Promisable } from '@xylabs/sdk-js'
|
|
2
|
-
import type { BlockBoundWitness, SignedHydratedTransactionWithStorageMeta } from '@xyo-network/xl1-
|
|
2
|
+
import type { BlockBoundWitness, SignedHydratedTransactionWithStorageMeta } from '@xyo-network/xl1-sdk'
|
|
3
3
|
|
|
4
4
|
export interface Validator {
|
|
5
5
|
validatePendingBlock(block: BlockBoundWitness): Promisable<Error[]>
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
|
-
Address, assertEx,
|
|
2
|
+
Address, assertEx, Hash,
|
|
3
3
|
} from '@xylabs/sdk-js'
|
|
4
4
|
import { hexToLast4BytesInt, shuffleWithSeed } from '@xyo-network/chain-utils'
|
|
5
5
|
import { WithHashMeta } from '@xyo-network/payload-model'
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
BlockViewer,
|
|
9
|
-
ChainStakeViewer,
|
|
10
|
-
|
|
6
|
+
import {
|
|
7
|
+
AbstractCreatableProvider,
|
|
8
|
+
type BlockViewer,
|
|
9
|
+
type ChainStakeViewer, creatableProvider,
|
|
10
|
+
type ElectionService, type StakeIntentService,
|
|
11
|
+
} from '@xyo-network/xl1-sdk'
|
|
12
|
+
import { BlockBoundWitness } from '@xyo-network/xl1-sdk'
|
|
11
13
|
|
|
12
|
-
import { BaseService } from '../BaseService.ts'
|
|
13
14
|
import { BaseServiceParams } from '../model/index.ts'
|
|
14
15
|
|
|
15
16
|
export interface BaseElectionServicesParams extends BaseServiceParams {
|
|
@@ -18,8 +19,12 @@ export interface BaseElectionServicesParams extends BaseServiceParams {
|
|
|
18
19
|
stakeIntentService?: StakeIntentService
|
|
19
20
|
}
|
|
20
21
|
|
|
21
|
-
@
|
|
22
|
-
export class BaseElectionService extends
|
|
22
|
+
@creatableProvider()
|
|
23
|
+
export class BaseElectionService extends AbstractCreatableProvider<BaseElectionServicesParams> implements ElectionService {
|
|
24
|
+
static readonly defaultMoniker = 'Election'
|
|
25
|
+
static readonly dependencies = []
|
|
26
|
+
static readonly monikers = ['Election']
|
|
27
|
+
moniker = BaseElectionService.defaultMoniker
|
|
23
28
|
get blockViewer() {
|
|
24
29
|
return assertEx(this.params.blockViewer, () => 'No block viewer')
|
|
25
30
|
}
|
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Address, creatable, Promisable,
|
|
3
|
-
} from '@xylabs/sdk-js'
|
|
1
|
+
import { Address, Promisable } from '@xylabs/sdk-js'
|
|
4
2
|
import { ReadArchivist } from '@xyo-network/archivist-model'
|
|
5
3
|
import {
|
|
4
|
+
AbstractCreatableProvider,
|
|
5
|
+
creatableProvider,
|
|
6
|
+
EventingChainBlockNumberIteratorService, NetworkStakeStepRewardService, NetworkStakeStepRewardViewerMoniker,
|
|
6
7
|
StepIdentity,
|
|
7
8
|
StepIdentityString,
|
|
8
|
-
} from '@xyo-network/xl1-
|
|
9
|
-
import {
|
|
10
|
-
EventingChainBlockNumberIteratorService, NetworkStakeStepRewardService, NetworkStakeStepRewardViewerMoniker,
|
|
11
|
-
} from '@xyo-network/xl1-protocol-sdk'
|
|
9
|
+
} from '@xyo-network/xl1-sdk'
|
|
12
10
|
import { Provider } from 'ethers'
|
|
13
11
|
|
|
14
|
-
import { BaseService } from '../BaseService.ts'
|
|
15
12
|
import { BaseServiceParams } from '../model/index.ts'
|
|
16
13
|
|
|
17
14
|
export interface BaseNetworkStakeStepRewardServiceParams extends BaseServiceParams {
|
|
@@ -20,11 +17,13 @@ export interface BaseNetworkStakeStepRewardServiceParams extends BaseServicePara
|
|
|
20
17
|
ethProvider?: Provider
|
|
21
18
|
}
|
|
22
19
|
|
|
23
|
-
@
|
|
24
|
-
export class BaseNetworkStakeStepRewardService extends
|
|
20
|
+
@creatableProvider()
|
|
21
|
+
export class BaseNetworkStakeStepRewardService extends
|
|
22
|
+
AbstractCreatableProvider<BaseNetworkStakeStepRewardServiceParams> implements NetworkStakeStepRewardService {
|
|
25
23
|
static readonly defaultMoniker = NetworkStakeStepRewardViewerMoniker
|
|
24
|
+
static readonly dependencies = []
|
|
26
25
|
static readonly monikers = [NetworkStakeStepRewardViewerMoniker]
|
|
27
|
-
moniker = BaseNetworkStakeStepRewardService.defaultMoniker
|
|
26
|
+
override moniker = BaseNetworkStakeStepRewardService.defaultMoniker
|
|
28
27
|
|
|
29
28
|
networkStakeStepRewardAddressHistory(_address: Address): Promisable<Record<Address, bigint>> {
|
|
30
29
|
throw new Error('Method [networkStakeStepRewardAddressHistory] not implemented.')
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ValueType } from '@opentelemetry/api'
|
|
2
2
|
import {
|
|
3
|
-
assertEx,
|
|
3
|
+
assertEx,
|
|
4
4
|
exists,
|
|
5
5
|
filterAs, filterAsync, forget, Hash,
|
|
6
6
|
isDefined, isUndefined,
|
|
@@ -11,19 +11,18 @@ import {
|
|
|
11
11
|
Payload, PayloadBundle, Sequence, WithStorageMeta,
|
|
12
12
|
} from '@xyo-network/payload-model'
|
|
13
13
|
import {
|
|
14
|
-
|
|
14
|
+
AbstractCreatableProvider,
|
|
15
|
+
asBlockBoundWitnessWithHashMeta, asXL1BlockNumber, ChainId, creatableProvider,
|
|
16
|
+
findMostRecentBlock, HydratedTransactionValidationFunction, isTransactionBoundWitnessWithStorageMeta,
|
|
17
|
+
MempoolViewer, MempoolViewerMoniker, PendingBlocksOptions, PendingTransactionsOptions,
|
|
15
18
|
SignedHydratedBlockWithHashMeta,
|
|
16
19
|
SignedHydratedTransactionWithHashMeta,
|
|
17
20
|
SignedHydratedTransactionWithStorageMeta,
|
|
21
|
+
TransactionJsonSchemaValidator, validateTransaction,
|
|
18
22
|
XL1BlockNumber,
|
|
19
|
-
} from '@xyo-network/xl1-
|
|
20
|
-
import {
|
|
21
|
-
findMostRecentBlock, MempoolViewer, MempoolViewerMoniker, PendingBlocksOptions, PendingTransactionsOptions,
|
|
22
|
-
} from '@xyo-network/xl1-protocol-sdk'
|
|
23
|
-
import { TransactionJsonSchemaValidator, validateTransaction } from '@xyo-network/xl1-validation'
|
|
23
|
+
} from '@xyo-network/xl1-sdk'
|
|
24
24
|
import { Mutex } from 'async-mutex'
|
|
25
25
|
|
|
26
|
-
import { BaseService } from '../BaseService.ts'
|
|
27
26
|
import { BaseServiceParams } from '../model/index.ts'
|
|
28
27
|
import { bundledPayloadToHydratedTransaction } from './bundledPayloadToHydratedTransaction.ts'
|
|
29
28
|
import { hydratedTransactionToPayloadBundle } from './hydratedTransactionToPayloadBundle.ts'
|
|
@@ -36,9 +35,10 @@ export interface BasePendingTransactionsServiceParams extends BaseServiceParams
|
|
|
36
35
|
rejectedTransactionsArchivist: ArchivistInstance
|
|
37
36
|
}
|
|
38
37
|
|
|
39
|
-
@
|
|
40
|
-
export class BasePendingTransactionsService extends
|
|
38
|
+
@creatableProvider()
|
|
39
|
+
export class BasePendingTransactionsService extends AbstractCreatableProvider<BasePendingTransactionsServiceParams> implements MempoolViewer {
|
|
41
40
|
static readonly defaultMoniker = MempoolViewerMoniker
|
|
41
|
+
static readonly dependencies = []
|
|
42
42
|
static readonly monikers = [MempoolViewerMoniker]
|
|
43
43
|
|
|
44
44
|
private static readonly MutexPriority = {
|
|
@@ -56,7 +56,7 @@ export class BasePendingTransactionsService extends BaseService<BasePendingTrans
|
|
|
56
56
|
PurgeTransactions: 1,
|
|
57
57
|
} as const
|
|
58
58
|
|
|
59
|
-
moniker = BasePendingTransactionsService.defaultMoniker
|
|
59
|
+
override moniker = BasePendingTransactionsService.defaultMoniker
|
|
60
60
|
|
|
61
61
|
/**
|
|
62
62
|
* A mutex to ensure that the counting the number of pending transactions is
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PayloadBuilder } from '@xyo-network/payload-builder'
|
|
2
2
|
import type { PayloadBundle, WithStorageMeta } from '@xyo-network/payload-model'
|
|
3
|
-
import type { SignedHydratedTransactionWithHashMeta } from '@xyo-network/xl1-
|
|
4
|
-
import { asSignedTransactionBoundWitnessWithHashMeta } from '@xyo-network/xl1-
|
|
3
|
+
import type { SignedHydratedTransactionWithHashMeta } from '@xyo-network/xl1-sdk'
|
|
4
|
+
import { asSignedTransactionBoundWitnessWithHashMeta } from '@xyo-network/xl1-sdk'
|
|
5
5
|
|
|
6
6
|
export const bundledPayloadToHydratedTransaction = async (
|
|
7
7
|
payload: WithStorageMeta<PayloadBundle>,
|
|
@@ -2,8 +2,8 @@ import type { Hash } from '@xylabs/sdk-js'
|
|
|
2
2
|
import { PayloadBuilder } from '@xyo-network/payload-builder'
|
|
3
3
|
import type { PayloadBundle } from '@xyo-network/payload-model'
|
|
4
4
|
import { PayloadBundleSchema } from '@xyo-network/payload-model'
|
|
5
|
-
import type { SignedHydratedTransactionWithHashMeta } from '@xyo-network/xl1-
|
|
6
|
-
import { flattenHydratedTransaction } from '@xyo-network/xl1-
|
|
5
|
+
import type { SignedHydratedTransactionWithHashMeta } from '@xyo-network/xl1-sdk'
|
|
6
|
+
import { flattenHydratedTransaction } from '@xyo-network/xl1-sdk'
|
|
7
7
|
|
|
8
8
|
export const hydratedTransactionToPayloadBundle = (transaction: SignedHydratedTransactionWithHashMeta): PayloadBundle => {
|
|
9
9
|
const root = transaction[0]._hash
|
|
@@ -1,22 +1,25 @@
|
|
|
1
|
-
import {
|
|
2
|
-
creatable, Hash, spanRootAsync,
|
|
3
|
-
} from '@xylabs/sdk-js'
|
|
1
|
+
import { Hash, spanRootAsync } from '@xylabs/sdk-js'
|
|
4
2
|
import { Schema } from '@xyo-network/payload-model'
|
|
5
3
|
import {
|
|
4
|
+
AbstractCreatableProvider,
|
|
5
|
+
creatableProvider,
|
|
6
6
|
SchemasService,
|
|
7
7
|
SchemasStepSummaryContext,
|
|
8
8
|
schemasSummary,
|
|
9
|
-
} from '@xyo-network/xl1-
|
|
9
|
+
} from '@xyo-network/xl1-sdk'
|
|
10
10
|
|
|
11
|
-
import { BaseService } from '../BaseService.ts'
|
|
12
11
|
import { BaseServiceParams } from '../model/index.ts'
|
|
13
12
|
|
|
14
13
|
export interface BaseSchemasServiceParams extends BaseServiceParams {
|
|
15
14
|
schemasStepSummaryContext: SchemasStepSummaryContext
|
|
16
15
|
}
|
|
17
16
|
|
|
18
|
-
@
|
|
19
|
-
export class BaseSchemasService extends
|
|
17
|
+
@creatableProvider()
|
|
18
|
+
export class BaseSchemasService extends AbstractCreatableProvider<BaseSchemasServiceParams> implements SchemasService {
|
|
19
|
+
static readonly defaultMoniker = 'SchemasService'
|
|
20
|
+
static readonly dependencies = []
|
|
21
|
+
static readonly monikers = [BaseSchemasService.defaultMoniker]
|
|
22
|
+
moniker = BaseSchemasService.defaultMoniker
|
|
20
23
|
async schema(head: Hash, schema: Schema): Promise<number> {
|
|
21
24
|
return (await this.schemas(head, [schema]))[schema] ?? 0
|
|
22
25
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
-
Address, asAddress, assertEx,
|
|
2
|
+
Address, asAddress, assertEx, filterAs, Hash,
|
|
3
3
|
isUndefined,
|
|
4
4
|
} from '@xylabs/sdk-js'
|
|
5
5
|
import { ArchivistInstance, ArchivistNextOptions } from '@xyo-network/archivist-model'
|
|
@@ -15,23 +15,24 @@ import {
|
|
|
15
15
|
import { PayloadBuilder } from '@xyo-network/payload-builder'
|
|
16
16
|
import { Payload, WithStorageMeta } from '@xyo-network/payload-model'
|
|
17
17
|
import {
|
|
18
|
-
|
|
19
|
-
} from '@xyo-network/xl1-protocol'
|
|
20
|
-
import {
|
|
18
|
+
AbstractCreatableProvider,
|
|
21
19
|
asChainIndexingServiceStateWithStorageMeta,
|
|
22
20
|
BlockViewer,
|
|
23
21
|
BlockViewerMoniker,
|
|
24
22
|
ChainIndexingServiceState, ChainIndexingServiceStateSchema, ChainStakeViewer,
|
|
25
23
|
ChainStakeViewerMoniker,
|
|
24
|
+
creatableProvider,
|
|
26
25
|
isChainIndexingServiceState,
|
|
27
26
|
readPayloadMapFromStore,
|
|
28
27
|
StakeIntentService,
|
|
29
28
|
timeBudget,
|
|
30
|
-
} from '@xyo-network/xl1-
|
|
29
|
+
} from '@xyo-network/xl1-sdk'
|
|
30
|
+
import {
|
|
31
|
+
asBlockBoundWitness, asBlockBoundWitnessWithStorageMeta, asChainStakeIntent, type Intent,
|
|
32
|
+
} from '@xyo-network/xl1-sdk'
|
|
31
33
|
import { Mutex } from 'async-mutex'
|
|
32
34
|
import { LRUCache } from 'lru-cache'
|
|
33
35
|
|
|
34
|
-
import { BaseService } from '../BaseService.ts'
|
|
35
36
|
import { BaseServiceParams } from '../model/index.ts'
|
|
36
37
|
|
|
37
38
|
export interface XyoStakeIntentServiceParams extends BaseServiceParams {
|
|
@@ -50,8 +51,12 @@ const ACTIVE_STAKE_TTL = 1000 * 60 * 60 * 2 // 2 hours in milliseconds
|
|
|
50
51
|
const NO_ACTIVE_STAKE_TTL = 1000 * 2 // 2 seconds in milliseconds
|
|
51
52
|
const STAKE_CACHE_MAX_ENTRIES = 10_000
|
|
52
53
|
|
|
53
|
-
@
|
|
54
|
-
export class XyoStakeIntentService extends
|
|
54
|
+
@creatableProvider()
|
|
55
|
+
export class XyoStakeIntentService extends AbstractCreatableProvider<XyoStakeIntentServiceParams> implements StakeIntentService {
|
|
56
|
+
static readonly defaultMoniker = 'StakeIntent'
|
|
57
|
+
static readonly dependencies = []
|
|
58
|
+
static readonly monikers = [XyoStakeIntentService.defaultMoniker]
|
|
59
|
+
moniker = 'StakeIntent'
|
|
55
60
|
// TODO: Use hash instead of block number to handle chain reorgs
|
|
56
61
|
protected _lastIndexedBlockHash: Hash | undefined = undefined
|
|
57
62
|
// TODO: Interval tree per declaration (bank, validator, etc.)
|
|
@@ -7,8 +7,8 @@ import { payloadSchemasContains } from '@xyo-network/boundwitness-validator'
|
|
|
7
7
|
import { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'
|
|
8
8
|
import type {
|
|
9
9
|
BlockBoundWitness, ChainStakeIntent, Intent,
|
|
10
|
-
} from '@xyo-network/xl1-
|
|
11
|
-
import { asChainStakeIntent, ChainStakeIntentSchema } from '@xyo-network/xl1-
|
|
10
|
+
} from '@xyo-network/xl1-sdk'
|
|
11
|
+
import { asChainStakeIntent, ChainStakeIntentSchema } from '@xyo-network/xl1-sdk'
|
|
12
12
|
|
|
13
13
|
export const getBlockSignedStakeDeclarations = async (block: BlockBoundWitness, archivist: ArchivistInstance, intent: Intent): Promise<ChainStakeIntent[]> => {
|
|
14
14
|
// Get payloads in block
|