@xyo-network/chain-sdk 4.1.0 → 4.3.0
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/browser/modules/ethereum/block/estimateBlockNumberAt.d.ts +1 -16
- package/dist/browser/modules/ethereum/block/estimateBlockNumberAt.d.ts.map +1 -1
- package/dist/browser/modules/ethereum/block/findContractDeploymentBlock.d.ts +2 -0
- package/dist/browser/modules/ethereum/block/findContractDeploymentBlock.d.ts.map +1 -0
- package/dist/browser/modules/ethereum/block/index.d.ts +1 -0
- package/dist/browser/modules/ethereum/block/index.d.ts.map +1 -1
- package/dist/browser/modules/ethereum/drivers/EvmStakeEventZod.d.ts +1 -244
- package/dist/browser/modules/ethereum/drivers/EvmStakeEventZod.d.ts.map +1 -1
- package/dist/browser/modules/ethereum/drivers/EvmStakeEventsViewer.d.ts +1 -57
- package/dist/browser/modules/ethereum/drivers/EvmStakeEventsViewer.d.ts.map +1 -1
- package/dist/browser/modules/ethereum/drivers/EvmStakeViewer.d.ts +1 -41
- package/dist/browser/modules/ethereum/drivers/EvmStakeViewer.d.ts.map +1 -1
- package/dist/browser/modules/ethereum/index.d.ts +2 -0
- package/dist/browser/modules/ethereum/index.d.ts.map +1 -1
- package/dist/browser/modules/ethereum/indexing/EvmEventIndexModel.d.ts +107 -0
- package/dist/browser/modules/ethereum/indexing/EvmEventIndexModel.d.ts.map +1 -0
- package/dist/browser/modules/ethereum/indexing/EvmEventIndexPaths.d.ts +6 -0
- package/dist/browser/modules/ethereum/indexing/EvmEventIndexPaths.d.ts.map +1 -0
- package/dist/browser/modules/ethereum/indexing/EvmEventIndexPublishRunner.d.ts +9 -0
- package/dist/browser/modules/ethereum/indexing/EvmEventIndexPublishRunner.d.ts.map +1 -0
- package/dist/browser/modules/ethereum/indexing/RestStakeEventsViewer.d.ts +54 -0
- package/dist/browser/modules/ethereum/indexing/RestStakeEventsViewer.d.ts.map +1 -0
- package/dist/browser/modules/ethereum/indexing/index.d.ts +5 -0
- package/dist/browser/modules/ethereum/indexing/index.d.ts.map +1 -0
- package/dist/browser/modules/ethereum/providers/AbstractEvmProvider.d.ts +1 -17
- package/dist/browser/modules/ethereum/providers/AbstractEvmProvider.d.ts.map +1 -1
- package/dist/browser/modules/ethereum/providers/AbstractEvmViewer.d.ts +1 -11
- package/dist/browser/modules/ethereum/providers/AbstractEvmViewer.d.ts.map +1 -1
- package/dist/browser/modules/ethereum/providers/EvmChainContractViewer.d.ts +1 -35
- package/dist/browser/modules/ethereum/providers/EvmChainContractViewer.d.ts.map +1 -1
- package/dist/browser/modules/ethereum/providers/EvmStakeTotalsViewer.d.ts +1 -26
- package/dist/browser/modules/ethereum/providers/EvmStakeTotalsViewer.d.ts.map +1 -1
- package/dist/browser/modules/ethereum/rpc/index.d.ts +4 -0
- package/dist/browser/modules/ethereum/rpc/index.d.ts.map +1 -0
- package/dist/browser/modules/ethereum/rpc/isRpcRangeLimitError.d.ts +2 -0
- package/dist/browser/modules/ethereum/rpc/isRpcRangeLimitError.d.ts.map +1 -0
- package/dist/browser/modules/ethereum/rpc/isRpcRateLimitError.d.ts +1 -5
- package/dist/browser/modules/ethereum/rpc/isRpcRateLimitError.d.ts.map +1 -1
- package/dist/browser/modules/ethereum/rpc/withRpcRateLimitBackoff.d.ts +1 -18
- package/dist/browser/modules/ethereum/rpc/withRpcRateLimitBackoff.d.ts.map +1 -1
- package/dist/browser/modules/services/BlockReward/EvmBlockRewardViewer.d.ts +1 -21
- package/dist/browser/modules/services/BlockReward/EvmBlockRewardViewer.d.ts.map +1 -1
- package/dist/browser/modules/services/ChainValidator/XyoValidator.d.ts +7 -1
- package/dist/browser/modules/services/ChainValidator/XyoValidator.d.ts.map +1 -1
- package/dist/browser/modules/services/Election/BaseElectionService.d.ts +1 -0
- package/dist/browser/modules/services/Election/BaseElectionService.d.ts.map +1 -1
- package/dist/browser/modules/services/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.d.ts +1 -0
- package/dist/browser/modules/services/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.d.ts.map +1 -1
- package/dist/browser/modules/services/implementation/processPendingBlocks.d.ts +4 -4
- package/dist/browser/modules/services/simple/block/runner/SimpleBlockRunner.d.ts +5 -2
- package/dist/browser/modules/services/simple/block/runner/SimpleBlockRunner.d.ts.map +1 -1
- package/dist/browser/modules/services/simple/block/runner/producerTuning.d.ts +13 -0
- package/dist/browser/modules/services/simple/block/runner/producerTuning.d.ts.map +1 -0
- package/dist/browser/modules/wrappers/index.d.ts +1 -1
- package/dist/browser/modules/wrappers/index.d.ts.map +1 -1
- package/dist/neutral/ethereum.mjs +312 -775
- package/dist/neutral/ethereum.mjs.map +4 -4
- package/dist/neutral/modules/ethereum/block/estimateBlockNumberAt.d.ts +1 -16
- package/dist/neutral/modules/ethereum/block/estimateBlockNumberAt.d.ts.map +1 -1
- package/dist/neutral/modules/ethereum/block/findContractDeploymentBlock.d.ts +2 -0
- package/dist/neutral/modules/ethereum/block/findContractDeploymentBlock.d.ts.map +1 -0
- package/dist/neutral/modules/ethereum/block/index.d.ts +1 -0
- package/dist/neutral/modules/ethereum/block/index.d.ts.map +1 -1
- package/dist/neutral/modules/ethereum/drivers/EvmStakeEventZod.d.ts +1 -244
- package/dist/neutral/modules/ethereum/drivers/EvmStakeEventZod.d.ts.map +1 -1
- package/dist/neutral/modules/ethereum/drivers/EvmStakeEventsViewer.d.ts +1 -57
- package/dist/neutral/modules/ethereum/drivers/EvmStakeEventsViewer.d.ts.map +1 -1
- package/dist/neutral/modules/ethereum/drivers/EvmStakeViewer.d.ts +1 -41
- package/dist/neutral/modules/ethereum/drivers/EvmStakeViewer.d.ts.map +1 -1
- package/dist/neutral/modules/ethereum/index.d.ts +2 -0
- package/dist/neutral/modules/ethereum/index.d.ts.map +1 -1
- package/dist/neutral/modules/ethereum/indexing/EvmEventIndexModel.d.ts +107 -0
- package/dist/neutral/modules/ethereum/indexing/EvmEventIndexModel.d.ts.map +1 -0
- package/dist/neutral/modules/ethereum/indexing/EvmEventIndexPaths.d.ts +6 -0
- package/dist/neutral/modules/ethereum/indexing/EvmEventIndexPaths.d.ts.map +1 -0
- package/dist/neutral/modules/ethereum/indexing/EvmEventIndexPublishRunner.d.ts +9 -0
- package/dist/neutral/modules/ethereum/indexing/EvmEventIndexPublishRunner.d.ts.map +1 -0
- package/dist/neutral/modules/ethereum/indexing/RestStakeEventsViewer.d.ts +54 -0
- package/dist/neutral/modules/ethereum/indexing/RestStakeEventsViewer.d.ts.map +1 -0
- package/dist/neutral/modules/ethereum/indexing/index.d.ts +5 -0
- package/dist/neutral/modules/ethereum/indexing/index.d.ts.map +1 -0
- package/dist/neutral/modules/ethereum/providers/AbstractEvmProvider.d.ts +1 -17
- package/dist/neutral/modules/ethereum/providers/AbstractEvmProvider.d.ts.map +1 -1
- package/dist/neutral/modules/ethereum/providers/AbstractEvmViewer.d.ts +1 -11
- package/dist/neutral/modules/ethereum/providers/AbstractEvmViewer.d.ts.map +1 -1
- package/dist/neutral/modules/ethereum/providers/EvmChainContractViewer.d.ts +1 -35
- package/dist/neutral/modules/ethereum/providers/EvmChainContractViewer.d.ts.map +1 -1
- package/dist/neutral/modules/ethereum/providers/EvmStakeTotalsViewer.d.ts +1 -26
- package/dist/neutral/modules/ethereum/providers/EvmStakeTotalsViewer.d.ts.map +1 -1
- package/dist/neutral/modules/ethereum/rpc/index.d.ts +4 -0
- package/dist/neutral/modules/ethereum/rpc/index.d.ts.map +1 -0
- package/dist/neutral/modules/ethereum/rpc/isRpcRangeLimitError.d.ts +2 -0
- package/dist/neutral/modules/ethereum/rpc/isRpcRangeLimitError.d.ts.map +1 -0
- package/dist/neutral/modules/ethereum/rpc/isRpcRateLimitError.d.ts +1 -5
- package/dist/neutral/modules/ethereum/rpc/isRpcRateLimitError.d.ts.map +1 -1
- package/dist/neutral/modules/ethereum/rpc/withRpcRateLimitBackoff.d.ts +1 -18
- package/dist/neutral/modules/ethereum/rpc/withRpcRateLimitBackoff.d.ts.map +1 -1
- package/dist/neutral/modules/services/BlockReward/EvmBlockRewardViewer.d.ts +1 -21
- package/dist/neutral/modules/services/BlockReward/EvmBlockRewardViewer.d.ts.map +1 -1
- package/dist/neutral/modules/services/ChainValidator/XyoValidator.d.ts +7 -1
- package/dist/neutral/modules/services/ChainValidator/XyoValidator.d.ts.map +1 -1
- package/dist/neutral/modules/services/Election/BaseElectionService.d.ts +1 -0
- package/dist/neutral/modules/services/Election/BaseElectionService.d.ts.map +1 -1
- package/dist/neutral/modules/services/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.d.ts +1 -0
- package/dist/neutral/modules/services/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.d.ts.map +1 -1
- package/dist/neutral/modules/services/implementation/processPendingBlocks.d.ts +4 -4
- package/dist/neutral/modules/services/simple/block/runner/SimpleBlockRunner.d.ts +5 -2
- package/dist/neutral/modules/services/simple/block/runner/SimpleBlockRunner.d.ts.map +1 -1
- package/dist/neutral/modules/services/simple/block/runner/producerTuning.d.ts +13 -0
- package/dist/neutral/modules/services/simple/block/runner/producerTuning.d.ts.map +1 -0
- package/dist/neutral/modules/wrappers/index.d.ts +1 -1
- package/dist/neutral/modules/wrappers/index.d.ts.map +1 -1
- package/dist/neutral/services.mjs +61 -71
- package/dist/neutral/services.mjs.map +4 -4
- package/dist/neutral/wrappers.mjs +1 -1
- package/dist/neutral/wrappers.mjs.map +1 -1
- package/dist/node/modules/ethereum/block/estimateBlockNumberAt.d.ts +1 -16
- package/dist/node/modules/ethereum/block/estimateBlockNumberAt.d.ts.map +1 -1
- package/dist/node/modules/ethereum/block/findContractDeploymentBlock.d.ts +2 -0
- package/dist/node/modules/ethereum/block/findContractDeploymentBlock.d.ts.map +1 -0
- package/dist/node/modules/ethereum/block/index.d.ts +1 -0
- package/dist/node/modules/ethereum/block/index.d.ts.map +1 -1
- package/dist/node/modules/ethereum/drivers/EvmStakeEventZod.d.ts +1 -244
- package/dist/node/modules/ethereum/drivers/EvmStakeEventZod.d.ts.map +1 -1
- package/dist/node/modules/ethereum/drivers/EvmStakeEventsViewer.d.ts +1 -57
- package/dist/node/modules/ethereum/drivers/EvmStakeEventsViewer.d.ts.map +1 -1
- package/dist/node/modules/ethereum/drivers/EvmStakeViewer.d.ts +1 -41
- package/dist/node/modules/ethereum/drivers/EvmStakeViewer.d.ts.map +1 -1
- package/dist/node/modules/ethereum/index.d.ts +2 -0
- package/dist/node/modules/ethereum/index.d.ts.map +1 -1
- package/dist/node/modules/ethereum/indexing/EvmEventIndexModel.d.ts +107 -0
- package/dist/node/modules/ethereum/indexing/EvmEventIndexModel.d.ts.map +1 -0
- package/dist/node/modules/ethereum/indexing/EvmEventIndexPaths.d.ts +6 -0
- package/dist/node/modules/ethereum/indexing/EvmEventIndexPaths.d.ts.map +1 -0
- package/dist/node/modules/ethereum/indexing/EvmEventIndexPublishRunner.d.ts +9 -0
- package/dist/node/modules/ethereum/indexing/EvmEventIndexPublishRunner.d.ts.map +1 -0
- package/dist/node/modules/ethereum/indexing/RestStakeEventsViewer.d.ts +54 -0
- package/dist/node/modules/ethereum/indexing/RestStakeEventsViewer.d.ts.map +1 -0
- package/dist/node/modules/ethereum/indexing/index.d.ts +5 -0
- package/dist/node/modules/ethereum/indexing/index.d.ts.map +1 -0
- package/dist/node/modules/ethereum/providers/AbstractEvmProvider.d.ts +1 -17
- package/dist/node/modules/ethereum/providers/AbstractEvmProvider.d.ts.map +1 -1
- package/dist/node/modules/ethereum/providers/AbstractEvmViewer.d.ts +1 -11
- package/dist/node/modules/ethereum/providers/AbstractEvmViewer.d.ts.map +1 -1
- package/dist/node/modules/ethereum/providers/EvmChainContractViewer.d.ts +1 -35
- package/dist/node/modules/ethereum/providers/EvmChainContractViewer.d.ts.map +1 -1
- package/dist/node/modules/ethereum/providers/EvmStakeTotalsViewer.d.ts +1 -26
- package/dist/node/modules/ethereum/providers/EvmStakeTotalsViewer.d.ts.map +1 -1
- package/dist/node/modules/ethereum/rpc/index.d.ts +4 -0
- package/dist/node/modules/ethereum/rpc/index.d.ts.map +1 -0
- package/dist/node/modules/ethereum/rpc/isRpcRangeLimitError.d.ts +2 -0
- package/dist/node/modules/ethereum/rpc/isRpcRangeLimitError.d.ts.map +1 -0
- package/dist/node/modules/ethereum/rpc/isRpcRateLimitError.d.ts +1 -5
- package/dist/node/modules/ethereum/rpc/isRpcRateLimitError.d.ts.map +1 -1
- package/dist/node/modules/ethereum/rpc/withRpcRateLimitBackoff.d.ts +1 -18
- package/dist/node/modules/ethereum/rpc/withRpcRateLimitBackoff.d.ts.map +1 -1
- package/dist/node/modules/services/BlockReward/EvmBlockRewardViewer.d.ts +1 -21
- package/dist/node/modules/services/BlockReward/EvmBlockRewardViewer.d.ts.map +1 -1
- package/dist/node/modules/services/ChainValidator/XyoValidator.d.ts +7 -1
- package/dist/node/modules/services/ChainValidator/XyoValidator.d.ts.map +1 -1
- package/dist/node/modules/services/Election/BaseElectionService.d.ts +1 -0
- package/dist/node/modules/services/Election/BaseElectionService.d.ts.map +1 -1
- package/dist/node/modules/services/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.d.ts +1 -0
- package/dist/node/modules/services/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.d.ts.map +1 -1
- package/dist/node/modules/services/implementation/processPendingBlocks.d.ts +4 -4
- package/dist/node/modules/services/simple/block/runner/SimpleBlockRunner.d.ts +5 -2
- package/dist/node/modules/services/simple/block/runner/SimpleBlockRunner.d.ts.map +1 -1
- package/dist/node/modules/services/simple/block/runner/producerTuning.d.ts +13 -0
- package/dist/node/modules/services/simple/block/runner/producerTuning.d.ts.map +1 -0
- package/dist/node/modules/wrappers/index.d.ts +1 -1
- package/dist/node/modules/wrappers/index.d.ts.map +1 -1
- package/package.json +20 -24
|
@@ -12,55 +12,17 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
12
12
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
13
13
|
|
|
14
14
|
// src/modules/services/BlockReward/EvmBlockRewardViewer.ts
|
|
15
|
-
import {
|
|
16
|
-
AbstractCreatable,
|
|
17
|
-
assertEx,
|
|
18
|
-
creatable,
|
|
19
|
-
toEthAddress
|
|
20
|
-
} from "@ariestools/sdk";
|
|
21
|
-
import { IXyoChainRewards__factory } from "@xyo-network/typechain";
|
|
22
|
-
import {
|
|
23
|
-
asAttoXL1,
|
|
24
|
-
BlockRewardViewerMoniker
|
|
25
|
-
} from "@xyo-network/xl1-sdk";
|
|
26
|
-
var EvmBlockRewardViewer = class extends AbstractCreatable {
|
|
27
|
-
moniker = EvmBlockRewardViewer.defaultMoniker;
|
|
28
|
-
_contractAddress;
|
|
29
|
-
get chainContractViewer() {
|
|
30
|
-
return assertEx(this.params.chainContractViewer, () => "chainContractViewer is required");
|
|
31
|
-
}
|
|
32
|
-
get contractAddress() {
|
|
33
|
-
return assertEx(this._contractAddress, () => "contractAddress is required");
|
|
34
|
-
}
|
|
35
|
-
get provider() {
|
|
36
|
-
return assertEx(this.params.provider, () => "provider is required");
|
|
37
|
-
}
|
|
38
|
-
async allowedRewardForBlock(blockNumber) {
|
|
39
|
-
const contract = IXyoChainRewards__factory.connect(toEthAddress(this.contractAddress), this.provider);
|
|
40
|
-
return asAttoXL1(await contract.calcBlockReward(blockNumber));
|
|
41
|
-
}
|
|
42
|
-
async createHandler() {
|
|
43
|
-
await super.createHandler();
|
|
44
|
-
try {
|
|
45
|
-
this._contractAddress = await this.chainContractViewer.rewardsContract();
|
|
46
|
-
} catch (ex) {
|
|
47
|
-
const error = ex;
|
|
48
|
-
throw new Error(`Failed to get rewards contract address: ${error.message}`, { cause: ex });
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
__publicField(EvmBlockRewardViewer, "connectionTypes", ["evm-rpc"]);
|
|
53
|
-
__publicField(EvmBlockRewardViewer, "defaultMoniker", BlockRewardViewerMoniker);
|
|
54
|
-
__publicField(EvmBlockRewardViewer, "monikers", [BlockRewardViewerMoniker]);
|
|
55
|
-
__publicField(EvmBlockRewardViewer, "surface", "node");
|
|
56
|
-
EvmBlockRewardViewer = __decorateClass([
|
|
57
|
-
creatable()
|
|
58
|
-
], EvmBlockRewardViewer);
|
|
15
|
+
import { EvmBlockRewardViewer } from "@xyo-network/xl1-sdk";
|
|
59
16
|
|
|
60
17
|
// src/modules/services/ChainValidator/XyoValidator.ts
|
|
61
|
-
import {
|
|
18
|
+
import {
|
|
19
|
+
AbstractCreatableProvider,
|
|
20
|
+
BlockViewerMoniker,
|
|
21
|
+
creatableProvider
|
|
22
|
+
} from "@xyo-network/xl1-sdk";
|
|
23
|
+
var ValidatorMoniker = "Validator";
|
|
62
24
|
var XyoValidator = class extends AbstractCreatableProvider {
|
|
63
|
-
moniker =
|
|
25
|
+
moniker = XyoValidator.defaultMoniker;
|
|
64
26
|
_blockViewer;
|
|
65
27
|
// get address() {
|
|
66
28
|
// return this.account.address
|
|
@@ -84,6 +46,7 @@ var XyoValidator = class extends AbstractCreatableProvider {
|
|
|
84
46
|
// return assertEx(this.params.blockRewardService, () => 'blockRewardService is required')
|
|
85
47
|
// }
|
|
86
48
|
async createHandler() {
|
|
49
|
+
await super.createHandler();
|
|
87
50
|
this._blockViewer = await this.locator.getInstance(BlockViewerMoniker);
|
|
88
51
|
}
|
|
89
52
|
validatePendingBlock(_block) {
|
|
@@ -96,24 +59,32 @@ var XyoValidator = class extends AbstractCreatableProvider {
|
|
|
96
59
|
return await Promise.resolve(true);
|
|
97
60
|
}
|
|
98
61
|
};
|
|
62
|
+
__publicField(XyoValidator, "connectionTypes", []);
|
|
63
|
+
__publicField(XyoValidator, "defaultMoniker", ValidatorMoniker);
|
|
64
|
+
__publicField(XyoValidator, "dependencies", [BlockViewerMoniker]);
|
|
65
|
+
__publicField(XyoValidator, "monikers", [ValidatorMoniker]);
|
|
66
|
+
__publicField(XyoValidator, "surface", "node");
|
|
67
|
+
XyoValidator = __decorateClass([
|
|
68
|
+
creatableProvider()
|
|
69
|
+
], XyoValidator);
|
|
99
70
|
|
|
100
71
|
// src/modules/services/Election/BaseElectionService.ts
|
|
101
|
-
import { assertEx
|
|
72
|
+
import { assertEx } from "@ariestools/sdk";
|
|
102
73
|
import {
|
|
103
74
|
AbstractCreatableProvider as AbstractCreatableProvider2,
|
|
104
|
-
creatableProvider
|
|
75
|
+
creatableProvider as creatableProvider2
|
|
105
76
|
} from "@xyo-network/xl1-sdk";
|
|
106
77
|
import { hexToLast4BytesInt, shuffleWithSeed } from "#utils";
|
|
107
78
|
var BaseElectionService = class extends AbstractCreatableProvider2 {
|
|
108
79
|
moniker = BaseElectionService.defaultMoniker;
|
|
109
80
|
get blockViewer() {
|
|
110
|
-
return
|
|
81
|
+
return assertEx(this.params.blockViewer, () => "No block viewer");
|
|
111
82
|
}
|
|
112
83
|
get chainStakeViewer() {
|
|
113
|
-
return
|
|
84
|
+
return assertEx(this.params.chainStakeViewer, () => "No chain stake viewer");
|
|
114
85
|
}
|
|
115
86
|
get stakeIntentService() {
|
|
116
|
-
return
|
|
87
|
+
return assertEx(this.params.stakeIntentService, () => "No staked intent service");
|
|
117
88
|
}
|
|
118
89
|
async getCreatorCommitteeForNextBlock(current) {
|
|
119
90
|
return await this.spanAsync("getCreatorCommitteeForNextBlock", async () => {
|
|
@@ -130,11 +101,12 @@ var BaseElectionService = class extends AbstractCreatableProvider2 {
|
|
|
130
101
|
return creatorArray.slice(0, maxSize);
|
|
131
102
|
}
|
|
132
103
|
};
|
|
104
|
+
__publicField(BaseElectionService, "connectionTypes", []);
|
|
133
105
|
__publicField(BaseElectionService, "defaultMoniker", "Election");
|
|
134
106
|
__publicField(BaseElectionService, "dependencies", []);
|
|
135
107
|
__publicField(BaseElectionService, "monikers", ["Election"]);
|
|
136
108
|
BaseElectionService = __decorateClass([
|
|
137
|
-
|
|
109
|
+
creatableProvider2()
|
|
138
110
|
], BaseElectionService);
|
|
139
111
|
|
|
140
112
|
// src/modules/services/implementation/head/createBootstrapHead.ts
|
|
@@ -162,7 +134,7 @@ var createBootstrapHead = async (account, chainId, genesisBlockRewardAmount, gen
|
|
|
162
134
|
};
|
|
163
135
|
|
|
164
136
|
// src/modules/services/implementation/processPendingBlocks.ts
|
|
165
|
-
import { assertEx as
|
|
137
|
+
import { assertEx as assertEx2, isDefined } from "@ariestools/sdk";
|
|
166
138
|
import { BlockRejectionSchema, isSignedHydratedBlockWithHashMeta } from "@xyo-network/xl1-sdk";
|
|
167
139
|
import { ChainHeadSelector } from "#analyze";
|
|
168
140
|
async function processPendingBlocks({
|
|
@@ -190,7 +162,7 @@ async function processPendingBlocks({
|
|
|
190
162
|
const bestHeadChain = await headSelector.findBestHead();
|
|
191
163
|
if (isDefined(bestHeadChain) && bestHeadChain.length > 0) {
|
|
192
164
|
const oldHeadBlock = currentBlock[0];
|
|
193
|
-
const newHydratedHeadBlock =
|
|
165
|
+
const newHydratedHeadBlock = assertEx2(bestHeadChain.at(-1), () => "Missing best head block [processPendingBlocks]");
|
|
194
166
|
const newHeadBlock = newHydratedHeadBlock[0];
|
|
195
167
|
logger?.debug("Validating new HeadBlock head from (block) ", oldHeadBlock?.block, "to", newHeadBlock.block);
|
|
196
168
|
logger?.debug("Validating new HeadBlock head from (hash) ", oldHeadBlock?._hash, "to", newHeadBlock._hash);
|
|
@@ -238,7 +210,7 @@ async function processPendingBlocks({
|
|
|
238
210
|
// src/modules/services/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.ts
|
|
239
211
|
import {
|
|
240
212
|
AbstractCreatableProvider as AbstractCreatableProvider3,
|
|
241
|
-
creatableProvider as
|
|
213
|
+
creatableProvider as creatableProvider3,
|
|
242
214
|
NetworkStakeStepRewardViewerMoniker
|
|
243
215
|
} from "@xyo-network/xl1-sdk";
|
|
244
216
|
var BaseNetworkStakeStepRewardService = class extends AbstractCreatableProvider3 {
|
|
@@ -298,16 +270,18 @@ var BaseNetworkStakeStepRewardService = class extends AbstractCreatableProvider3
|
|
|
298
270
|
throw new Error("Method [networkStakeStepRewardsForStepLevel] not implemented.");
|
|
299
271
|
}
|
|
300
272
|
};
|
|
273
|
+
__publicField(BaseNetworkStakeStepRewardService, "connectionTypes", []);
|
|
301
274
|
__publicField(BaseNetworkStakeStepRewardService, "defaultMoniker", NetworkStakeStepRewardViewerMoniker);
|
|
302
275
|
__publicField(BaseNetworkStakeStepRewardService, "dependencies", []);
|
|
303
276
|
__publicField(BaseNetworkStakeStepRewardService, "monikers", [NetworkStakeStepRewardViewerMoniker]);
|
|
304
277
|
BaseNetworkStakeStepRewardService = __decorateClass([
|
|
305
|
-
|
|
278
|
+
creatableProvider3()
|
|
306
279
|
], BaseNetworkStakeStepRewardService);
|
|
307
280
|
|
|
308
281
|
// src/modules/services/simple/block/runner/SimpleBlockRunner.ts
|
|
309
282
|
import {
|
|
310
|
-
|
|
283
|
+
asAddress,
|
|
284
|
+
assertEx as assertEx4,
|
|
311
285
|
hexToBigInt,
|
|
312
286
|
isDefined as isDefined2,
|
|
313
287
|
toAddress as toAddress2
|
|
@@ -323,10 +297,11 @@ import {
|
|
|
323
297
|
AttoXL1,
|
|
324
298
|
BlockNumberSchema,
|
|
325
299
|
BlockRejectionSchema as BlockRejectionSchema2,
|
|
326
|
-
BlockRewardViewerMoniker
|
|
300
|
+
BlockRewardViewerMoniker,
|
|
327
301
|
BlockRunnerMoniker,
|
|
328
302
|
BlockValidationViewerMoniker,
|
|
329
|
-
|
|
303
|
+
connectArchivist,
|
|
304
|
+
creatableProvider as creatableProvider4,
|
|
330
305
|
createDeclarationIntent as createDeclarationIntent2,
|
|
331
306
|
DeadLetterQueueRunnerMoniker,
|
|
332
307
|
defaultRewardRatio,
|
|
@@ -334,6 +309,7 @@ import {
|
|
|
334
309
|
isSignedHydratedBlockWithHashMeta as isSignedHydratedBlockWithHashMeta2,
|
|
335
310
|
isTransfer,
|
|
336
311
|
MempoolViewerMoniker,
|
|
312
|
+
REJECTED_TRANSACTIONS_ARCHIVIST_ROLE,
|
|
337
313
|
TimeSyncViewerMoniker,
|
|
338
314
|
TransactionRejectionSchema,
|
|
339
315
|
XYO_STEP_REWARD_ADDRESS
|
|
@@ -342,7 +318,7 @@ import { FixedPercentageBlockRewardDiviner, FixedPercentageBlockRewardDivinerCon
|
|
|
342
318
|
import { buildNextBlock as buildNextBlock2 } from "#protocol";
|
|
343
319
|
|
|
344
320
|
// src/modules/services/simple/block/runner/generateTransactionFeeTransfers.ts
|
|
345
|
-
import { assertEx as
|
|
321
|
+
import { assertEx as assertEx3, hexFromBigInt } from "@ariestools/sdk";
|
|
346
322
|
import { PayloadBuilder } from "@xyo-network/sdk";
|
|
347
323
|
import {
|
|
348
324
|
HydratedTransactionWrapper,
|
|
@@ -374,7 +350,7 @@ async function generateTransactionFeeTransfers(address, transactions) {
|
|
|
374
350
|
return payload;
|
|
375
351
|
});
|
|
376
352
|
for (const [from, amount] of Object.entries(txGasCosts)) {
|
|
377
|
-
const fromPayload =
|
|
353
|
+
const fromPayload = assertEx3(payloads.find((p) => p.from === from), () => "from payload not found");
|
|
378
354
|
fromPayload.transfers[address] = hexFromBigInt(amount);
|
|
379
355
|
}
|
|
380
356
|
return payloads;
|
|
@@ -429,6 +405,12 @@ async function identifyOffendingTransactions(args) {
|
|
|
429
405
|
return { offendingHashes: [scored[0].tx[0]._hash], reason: "block-balance" };
|
|
430
406
|
}
|
|
431
407
|
|
|
408
|
+
// src/modules/services/simple/block/runner/producerTuning.ts
|
|
409
|
+
function producerTuningFromConfig(config) {
|
|
410
|
+
const withSection = config;
|
|
411
|
+
return withSection.producer ?? withSection;
|
|
412
|
+
}
|
|
413
|
+
|
|
432
414
|
// src/modules/services/simple/block/runner/SimpleBlockRunner.ts
|
|
433
415
|
var DEFAULT_BLOCK_SIZE = 10;
|
|
434
416
|
var XYO_PRODUCER_REDECLARATION_DURATION = 100;
|
|
@@ -490,11 +472,14 @@ var SimpleBlockRunner = class extends AbstractCreatableProvider4 {
|
|
|
490
472
|
return this._finalizationViewer;
|
|
491
473
|
}
|
|
492
474
|
get heartbeatInterval() {
|
|
493
|
-
return this.params.heartbeatInterval ?? 36e5;
|
|
475
|
+
return this.params.heartbeatInterval ?? this.producerTuning.heartbeatInterval ?? 36e5;
|
|
494
476
|
}
|
|
495
477
|
get mempoolViewer() {
|
|
496
478
|
return this._mempoolViewer;
|
|
497
479
|
}
|
|
480
|
+
get producerTuning() {
|
|
481
|
+
return producerTuningFromConfig(this.config);
|
|
482
|
+
}
|
|
498
483
|
// protected get pendingTransactionsService() {
|
|
499
484
|
// return assertEx(this.params.pendingTransactionsService, () => 'Missing pendingTransactionsService')
|
|
500
485
|
// }
|
|
@@ -514,15 +499,19 @@ var SimpleBlockRunner = class extends AbstractCreatableProvider4 {
|
|
|
514
499
|
// return assertEx(this.params.validateHydratedBlockState, () => 'validateHydratedBlockState is required')
|
|
515
500
|
// }
|
|
516
501
|
async createHandler() {
|
|
517
|
-
|
|
518
|
-
this.
|
|
502
|
+
const boundConnection = this.boundConnection;
|
|
503
|
+
this._rejectedTransactionsArchivist = this.params.rejectedTransactionsArchivist ?? (boundConnection ? await connectArchivist(boundConnection, { name: REJECTED_TRANSACTIONS_ARCHIVIST_ROLE }) : await MemoryArchivist.create());
|
|
504
|
+
this._account = assertEx4(
|
|
505
|
+
this.params.account ?? this.contextSigner,
|
|
506
|
+
() => "Account is required \u2014 inject params.account or register a context signer"
|
|
507
|
+
);
|
|
519
508
|
this._address = toAddress2(this.account.address);
|
|
520
509
|
this._accountBalanceViewer = await this.locateAndCreate(AccountBalanceViewerMoniker);
|
|
521
|
-
this._blockRewardViewer = await this.locateAndCreate(
|
|
510
|
+
this._blockRewardViewer = await this.locateAndCreate(BlockRewardViewerMoniker);
|
|
522
511
|
this._blockValidationViewer = await this.locator.getInstance(BlockValidationViewerMoniker);
|
|
523
512
|
this._finalizationViewer = await this.locateAndCreate(FinalizationViewerMoniker);
|
|
524
513
|
this._mempoolViewer = await this.locateAndCreate(MempoolViewerMoniker);
|
|
525
|
-
this._rewardAddress = this.params.rewardAddress;
|
|
514
|
+
this._rewardAddress = asAddress(this.params.rewardAddress ?? this.producerTuning.rewardAddress ?? this.account.address, true);
|
|
526
515
|
this._timeSyncViewer = await this.locateAndCreate(TimeSyncViewerMoniker);
|
|
527
516
|
this._deadLetterQueueRunner = await this.locator.tryGetInstance(DeadLetterQueueRunnerMoniker);
|
|
528
517
|
}
|
|
@@ -531,7 +520,7 @@ var SimpleBlockRunner = class extends AbstractCreatableProvider4 {
|
|
|
531
520
|
}
|
|
532
521
|
async produceNextBlock(head, force) {
|
|
533
522
|
const result = await this.proposeNextValidBlock(head);
|
|
534
|
-
return force === true ?
|
|
523
|
+
return force === true ? assertEx4(result, () => "Failed to produce next block") : result;
|
|
535
524
|
}
|
|
536
525
|
async getBlockRewardTransfers(block) {
|
|
537
526
|
this._blockRewardDiviner ??= await FixedPercentageBlockRewardDiviner.create({
|
|
@@ -554,7 +543,7 @@ var SimpleBlockRunner = class extends AbstractCreatableProvider4 {
|
|
|
554
543
|
* @returns chain stake intent for the producer redeclaration, or undefined if no redeclaration is needed
|
|
555
544
|
*/
|
|
556
545
|
getProducerRedeclaration(head) {
|
|
557
|
-
if (this.params.disableIntentRedeclaration === true) return;
|
|
546
|
+
if ((this.params.disableIntentRedeclaration ?? this.producerTuning.disableIntentRedeclaration) === true) return;
|
|
558
547
|
const currentBlock = head.block;
|
|
559
548
|
if (isDefined2(this._lastRedeclarationBlock)) {
|
|
560
549
|
const lastDeclarationExpiry = this._lastRedeclarationBlock + SimpleBlockRunner.RedeclarationDuration;
|
|
@@ -577,7 +566,7 @@ var SimpleBlockRunner = class extends AbstractCreatableProvider4 {
|
|
|
577
566
|
const shouldValidateBalances = validateBalances ?? this.params.validateBalances ?? true;
|
|
578
567
|
return await this.spanAsync("proposeNextValidBlock", async () => {
|
|
579
568
|
try {
|
|
580
|
-
const { block: previousBlock } =
|
|
569
|
+
const { block: previousBlock } = assertEx4(asBlockBoundWitness(head), () => "Invalid head block");
|
|
581
570
|
const nextBlock = previousBlock + 1;
|
|
582
571
|
const chainId = await this.finalizationViewer.chainId();
|
|
583
572
|
const pendingTransactionsRaw = await this.mempoolViewer.pendingTransactions({ limit: SimpleBlockRunner.DefaultBlockSize });
|
|
@@ -800,7 +789,7 @@ __publicField(SimpleBlockRunner, "connectionTypes", ["lmdb", "mongo", "memory"])
|
|
|
800
789
|
__publicField(SimpleBlockRunner, "defaultMoniker", BlockRunnerMoniker);
|
|
801
790
|
__publicField(SimpleBlockRunner, "dependencies", [
|
|
802
791
|
AccountBalanceViewerMoniker,
|
|
803
|
-
|
|
792
|
+
BlockRewardViewerMoniker,
|
|
804
793
|
BlockValidationViewerMoniker,
|
|
805
794
|
FinalizationViewerMoniker,
|
|
806
795
|
MempoolViewerMoniker,
|
|
@@ -809,7 +798,7 @@ __publicField(SimpleBlockRunner, "dependencies", [
|
|
|
809
798
|
__publicField(SimpleBlockRunner, "monikers", [BlockRunnerMoniker]);
|
|
810
799
|
__publicField(SimpleBlockRunner, "surface", "node");
|
|
811
800
|
SimpleBlockRunner = __decorateClass([
|
|
812
|
-
|
|
801
|
+
creatableProvider4()
|
|
813
802
|
], SimpleBlockRunner);
|
|
814
803
|
|
|
815
804
|
// src/modules/services/StepStake/BaseStepStakeService.ts
|
|
@@ -832,6 +821,7 @@ export {
|
|
|
832
821
|
DEFAULT_BLOCK_SIZE,
|
|
833
822
|
EvmBlockRewardViewer,
|
|
834
823
|
SimpleBlockRunner,
|
|
824
|
+
ValidatorMoniker,
|
|
835
825
|
XYO_PRODUCER_REDECLARATION_DURATION,
|
|
836
826
|
XYO_PRODUCER_REDECLARATION_WINDOW,
|
|
837
827
|
XyoValidator,
|