@xyo-network/chain-services 1.18.0-rc.1 → 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/implementation/head/index.d.ts +0 -1
- package/dist/neutral/implementation/head/index.d.ts.map +1 -1
- package/dist/neutral/implementation/index.d.ts +0 -6
- package/dist/neutral/implementation/index.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 +229 -425
- 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 +32 -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 +26 -31
- 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/implementation/head/index.ts +0 -1
- package/src/implementation/index.ts +0 -6
- package/src/index.ts +0 -1
- package/src/model/Params.ts +1 -2
- package/src/simple/block/runner/SimpleBlockRunner.ts +46 -27
- 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/dist/neutral/implementation/accountBalance.d.ts +0 -7
- package/dist/neutral/implementation/accountBalance.d.ts.map +0 -1
- package/dist/neutral/implementation/blockViewer.d.ts +0 -4
- package/dist/neutral/implementation/blockViewer.d.ts.map +0 -1
- package/dist/neutral/implementation/head/createForkedHead/config/getBridgeDestinationDetails.d.ts +0 -8
- package/dist/neutral/implementation/head/createForkedHead/config/getBridgeDestinationDetails.d.ts.map +0 -1
- package/dist/neutral/implementation/head/createForkedHead/config/getBridgeSourceDetails.d.ts +0 -9
- package/dist/neutral/implementation/head/createForkedHead/config/getBridgeSourceDetails.d.ts.map +0 -1
- package/dist/neutral/implementation/head/createForkedHead/config/getForkDetails.d.ts +0 -4
- package/dist/neutral/implementation/head/createForkedHead/config/getForkDetails.d.ts.map +0 -1
- package/dist/neutral/implementation/head/createForkedHead/config/index.d.ts +0 -4
- package/dist/neutral/implementation/head/createForkedHead/config/index.d.ts.map +0 -1
- package/dist/neutral/implementation/head/createForkedHead/createForkedHead.d.ts +0 -5
- package/dist/neutral/implementation/head/createForkedHead/createForkedHead.d.ts.map +0 -1
- package/dist/neutral/implementation/head/createForkedHead/getBridgeDestinationObservation.d.ts +0 -11
- package/dist/neutral/implementation/head/createForkedHead/getBridgeDestinationObservation.d.ts.map +0 -1
- package/dist/neutral/implementation/head/createForkedHead/getBridgeIntent.d.ts +0 -11
- package/dist/neutral/implementation/head/createForkedHead/getBridgeIntent.d.ts.map +0 -1
- package/dist/neutral/implementation/head/createForkedHead/getBridgeSourceObservation.d.ts +0 -11
- package/dist/neutral/implementation/head/createForkedHead/getBridgeSourceObservation.d.ts.map +0 -1
- package/dist/neutral/implementation/head/createForkedHead/getFirstBlockForNewChain.d.ts +0 -13
- package/dist/neutral/implementation/head/createForkedHead/getFirstBlockForNewChain.d.ts.map +0 -1
- package/dist/neutral/implementation/head/createForkedHead/index.d.ts +0 -2
- package/dist/neutral/implementation/head/createForkedHead/index.d.ts.map +0 -1
- package/dist/neutral/implementation/head/getForkFromBlock.d.ts +0 -13
- package/dist/neutral/implementation/head/getForkFromBlock.d.ts.map +0 -1
- package/dist/neutral/implementation/head/submitNewChain.d.ts +0 -10
- package/dist/neutral/implementation/head/submitNewChain.d.ts.map +0 -1
- package/dist/neutral/implementation/mempoolRunner.d.ts +0 -7
- package/dist/neutral/implementation/mempoolRunner.d.ts.map +0 -1
- package/dist/neutral/implementation/mempoolViewer.d.ts +0 -7
- package/dist/neutral/implementation/mempoolViewer.d.ts.map +0 -1
- package/dist/neutral/implementation/pendingTransactions.d.ts +0 -9
- package/dist/neutral/implementation/pendingTransactions.d.ts.map +0 -1
- package/dist/neutral/implementation/reward.d.ts +0 -14
- package/dist/neutral/implementation/reward.d.ts.map +0 -1
- package/src/BaseService.ts +0 -45
- package/src/implementation/accountBalance.ts +0 -29
- package/src/implementation/blockViewer.ts +0 -24
- package/src/implementation/head/createForkedHead/config/getBridgeDestinationDetails.ts +0 -27
- package/src/implementation/head/createForkedHead/config/getBridgeSourceDetails.ts +0 -19
- package/src/implementation/head/createForkedHead/config/getForkDetails.ts +0 -10
- package/src/implementation/head/createForkedHead/config/index.ts +0 -3
- package/src/implementation/head/createForkedHead/createForkedHead.ts +0 -29
- package/src/implementation/head/createForkedHead/getBridgeDestinationObservation.ts +0 -42
- package/src/implementation/head/createForkedHead/getBridgeIntent.ts +0 -51
- package/src/implementation/head/createForkedHead/getBridgeSourceObservation.ts +0 -46
- package/src/implementation/head/createForkedHead/getFirstBlockForNewChain.ts +0 -41
- package/src/implementation/head/createForkedHead/index.ts +0 -1
- package/src/implementation/head/getForkFromBlock.ts +0 -45
- package/src/implementation/head/submitNewChain.ts +0 -27
- package/src/implementation/mempoolRunner.ts +0 -29
- package/src/implementation/mempoolViewer.ts +0 -29
- package/src/implementation/pendingTransactions.ts +0 -36
- package/src/implementation/reward.ts +0 -53
package/dist/neutral/index.mjs
CHANGED
|
@@ -3,8 +3,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
|
|
|
3
3
|
|
|
4
4
|
// src/AccountBalance/accountBalanceServiceFromArchivist.ts
|
|
5
5
|
import { assertEx } from "@xylabs/sdk-js";
|
|
6
|
-
import { StepSizes } from "@xyo-network/xl1-
|
|
7
|
-
import { findMostRecentBlock, LruCacheMap, payloadMapFromStore, SimpleAccountBalanceViewer } from "@xyo-network/xl1-protocol-sdk";
|
|
6
|
+
import { findMostRecentBlock, LruCacheMap, payloadMapFromStore, SimpleAccountBalanceViewer, StepSizes } from "@xyo-network/xl1-sdk";
|
|
8
7
|
import { Semaphore } from "async-mutex";
|
|
9
8
|
var accountBalancesViewerFromArchivist = /* @__PURE__ */ __name(async (context, chainId, archivist) => {
|
|
10
9
|
const summaryMap = new LruCacheMap({
|
|
@@ -53,59 +52,17 @@ var accountBalancesViewerFromArchivist = /* @__PURE__ */ __name(async (context,
|
|
|
53
52
|
return service;
|
|
54
53
|
}, "accountBalancesViewerFromArchivist");
|
|
55
54
|
|
|
56
|
-
// src/BaseService.ts
|
|
57
|
-
import { creatable } from "@xylabs/sdk-js";
|
|
58
|
-
import { AbstractCreatableProvider } from "@xyo-network/xl1-protocol-sdk";
|
|
59
|
-
import { Mutex } from "async-mutex";
|
|
60
|
-
function _ts_decorate(decorators, target, key, desc) {
|
|
61
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
62
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
63
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
64
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
65
|
-
}
|
|
66
|
-
__name(_ts_decorate, "_ts_decorate");
|
|
67
|
-
var BaseService = class extends AbstractCreatableProvider {
|
|
68
|
-
static {
|
|
69
|
-
__name(this, "BaseService");
|
|
70
|
-
}
|
|
71
|
-
static singletonInitMutex = new Mutex();
|
|
72
|
-
static get singletons() {
|
|
73
|
-
return globalThis["xyoServiceSingletons"] ?? (globalThis["xyoServiceSingletons"] = {});
|
|
74
|
-
}
|
|
75
|
-
static initSingleton(params) {
|
|
76
|
-
if (this.singletons[this.name]) throw new Error(`Singleton already initialized for ${this.name}`);
|
|
77
|
-
return this.singletonInitMutex.runExclusive(async () => {
|
|
78
|
-
return await this.create(params);
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
};
|
|
82
|
-
BaseService = _ts_decorate([
|
|
83
|
-
creatable()
|
|
84
|
-
], BaseService);
|
|
85
|
-
var BaseAccountableService = class extends BaseService {
|
|
86
|
-
static {
|
|
87
|
-
__name(this, "BaseAccountableService");
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
function creatableService() {
|
|
91
|
-
return (constructor) => {
|
|
92
|
-
constructor;
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
__name(creatableService, "creatableService");
|
|
96
|
-
|
|
97
55
|
// src/BlockReward/EvmBlockRewardViewer.ts
|
|
98
|
-
import { AbstractCreatable, assertEx as assertEx2, creatable
|
|
56
|
+
import { AbstractCreatable, assertEx as assertEx2, creatable, toEthAddress } from "@xylabs/sdk-js";
|
|
99
57
|
import { XyoChainRewards__factory as XyoChainRewardsFactory } from "@xyo-network/typechain";
|
|
100
|
-
import { asAttoXL1 } from "@xyo-network/xl1-
|
|
101
|
-
|
|
102
|
-
function _ts_decorate2(decorators, target, key, desc) {
|
|
58
|
+
import { asAttoXL1, BlockRewardViewerMoniker } from "@xyo-network/xl1-sdk";
|
|
59
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
103
60
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
104
61
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
105
62
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
106
63
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
107
64
|
}
|
|
108
|
-
__name(
|
|
65
|
+
__name(_ts_decorate, "_ts_decorate");
|
|
109
66
|
var EvmBlockRewardViewer = class _EvmBlockRewardViewer extends AbstractCreatable {
|
|
110
67
|
static {
|
|
111
68
|
__name(this, "EvmBlockRewardViewer");
|
|
@@ -139,15 +96,14 @@ var EvmBlockRewardViewer = class _EvmBlockRewardViewer extends AbstractCreatable
|
|
|
139
96
|
}
|
|
140
97
|
}
|
|
141
98
|
};
|
|
142
|
-
EvmBlockRewardViewer =
|
|
143
|
-
|
|
99
|
+
EvmBlockRewardViewer = _ts_decorate([
|
|
100
|
+
creatable()
|
|
144
101
|
], EvmBlockRewardViewer);
|
|
145
102
|
|
|
146
103
|
// src/blockViewerFromChainIteratorAndArchivist.ts
|
|
147
104
|
import { isDefined } from "@xylabs/sdk-js";
|
|
148
105
|
import { PayloadBuilder } from "@xyo-network/payload-builder";
|
|
149
|
-
import { asSignedBlockBoundWitness, asSignedBlockBoundWitnessWithStorageMeta } from "@xyo-network/xl1-
|
|
150
|
-
import { BlockViewerMoniker } from "@xyo-network/xl1-protocol-sdk";
|
|
106
|
+
import { asSignedBlockBoundWitness, asSignedBlockBoundWitnessWithStorageMeta, BlockViewerMoniker } from "@xyo-network/xl1-sdk";
|
|
151
107
|
function blockViewerFromChainIteratorAndArchivist(chainIterator, chainArchivist) {
|
|
152
108
|
const result = {
|
|
153
109
|
blockByHash: /* @__PURE__ */ __name(async function(hash) {
|
|
@@ -225,7 +181,16 @@ function blockViewerFromChainIteratorAndArchivist(chainIterator, chainArchivist)
|
|
|
225
181
|
}, "payloadByHash"),
|
|
226
182
|
payloadsByHash: /* @__PURE__ */ __name(function(_hashes) {
|
|
227
183
|
throw new Error("Function not implemented.");
|
|
228
|
-
}, "payloadsByHash")
|
|
184
|
+
}, "payloadsByHash"),
|
|
185
|
+
rate(..._args) {
|
|
186
|
+
throw new Error("Function not implemented.");
|
|
187
|
+
},
|
|
188
|
+
stepSizeRate(..._args) {
|
|
189
|
+
throw new Error("Function not implemented.");
|
|
190
|
+
},
|
|
191
|
+
timeDurationRate(..._args) {
|
|
192
|
+
throw new Error("Function not implemented.");
|
|
193
|
+
}
|
|
229
194
|
};
|
|
230
195
|
return result;
|
|
231
196
|
}
|
|
@@ -233,9 +198,9 @@ __name(blockViewerFromChainIteratorAndArchivist, "blockViewerFromChainIteratorAn
|
|
|
233
198
|
|
|
234
199
|
// src/ChainService/Evm/Evm.ts
|
|
235
200
|
import { toAddress, toEthAddress as toEthAddress2 } from "@xylabs/sdk-js";
|
|
236
|
-
import { ChainContractViewerMoniker } from "@xyo-network/xl1-
|
|
201
|
+
import { AbstractCreatableProvider, ChainContractViewerMoniker } from "@xyo-network/xl1-sdk";
|
|
237
202
|
import { getAddress } from "ethers/address";
|
|
238
|
-
var EvmChainViewer = class _EvmChainViewer extends
|
|
203
|
+
var EvmChainViewer = class _EvmChainViewer extends AbstractCreatableProvider {
|
|
239
204
|
static {
|
|
240
205
|
__name(this, "EvmChainViewer");
|
|
241
206
|
}
|
|
@@ -308,8 +273,8 @@ var EvmChainViewer = class _EvmChainViewer extends BaseService {
|
|
|
308
273
|
|
|
309
274
|
// src/ChainService/Memory/Memory.ts
|
|
310
275
|
import { toAddress as toAddress2, ZERO_ADDRESS } from "@xylabs/sdk-js";
|
|
311
|
-
import { ChainContractViewerMoniker as ChainContractViewerMoniker2 } from "@xyo-network/xl1-
|
|
312
|
-
var MemoryChainViewer = class _MemoryChainViewer extends
|
|
276
|
+
import { AbstractCreatableProvider as AbstractCreatableProvider2, ChainContractViewerMoniker as ChainContractViewerMoniker2 } from "@xyo-network/xl1-sdk";
|
|
277
|
+
var MemoryChainViewer = class _MemoryChainViewer extends AbstractCreatableProvider2 {
|
|
313
278
|
static {
|
|
314
279
|
__name(this, "MemoryChainViewer");
|
|
315
280
|
}
|
|
@@ -382,19 +347,12 @@ var MemoryChainViewer = class _MemoryChainViewer extends BaseService {
|
|
|
382
347
|
};
|
|
383
348
|
|
|
384
349
|
// src/ChainValidator/XyoValidator.ts
|
|
385
|
-
import {
|
|
386
|
-
|
|
387
|
-
function _ts_decorate3(decorators, target, key, desc) {
|
|
388
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
389
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
390
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
391
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
392
|
-
}
|
|
393
|
-
__name(_ts_decorate3, "_ts_decorate");
|
|
394
|
-
var XyoValidator = class extends BaseService {
|
|
350
|
+
import { AbstractCreatableProvider as AbstractCreatableProvider3, BlockViewerMoniker as BlockViewerMoniker2 } from "@xyo-network/xl1-sdk";
|
|
351
|
+
var XyoValidator = class extends AbstractCreatableProvider3 {
|
|
395
352
|
static {
|
|
396
353
|
__name(this, "XyoValidator");
|
|
397
354
|
}
|
|
355
|
+
moniker = "Validator";
|
|
398
356
|
_blockViewer;
|
|
399
357
|
// get address() {
|
|
400
358
|
// return this.account.address
|
|
@@ -430,24 +388,28 @@ var XyoValidator = class extends BaseService {
|
|
|
430
388
|
return await Promise.resolve(true);
|
|
431
389
|
}
|
|
432
390
|
};
|
|
433
|
-
XyoValidator = _ts_decorate3([
|
|
434
|
-
creatable3()
|
|
435
|
-
], XyoValidator);
|
|
436
391
|
|
|
437
392
|
// src/Election/BaseElectionService.ts
|
|
438
|
-
import { assertEx as assertEx3
|
|
393
|
+
import { assertEx as assertEx3 } from "@xylabs/sdk-js";
|
|
439
394
|
import { hexToLast4BytesInt, shuffleWithSeed } from "@xyo-network/chain-utils";
|
|
440
|
-
|
|
395
|
+
import { AbstractCreatableProvider as AbstractCreatableProvider4, creatableProvider } from "@xyo-network/xl1-sdk";
|
|
396
|
+
function _ts_decorate2(decorators, target, key, desc) {
|
|
441
397
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
442
398
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
443
399
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
444
400
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
445
401
|
}
|
|
446
|
-
__name(
|
|
447
|
-
var BaseElectionService = class extends
|
|
402
|
+
__name(_ts_decorate2, "_ts_decorate");
|
|
403
|
+
var BaseElectionService = class _BaseElectionService extends AbstractCreatableProvider4 {
|
|
448
404
|
static {
|
|
449
405
|
__name(this, "BaseElectionService");
|
|
450
406
|
}
|
|
407
|
+
static defaultMoniker = "Election";
|
|
408
|
+
static dependencies = [];
|
|
409
|
+
static monikers = [
|
|
410
|
+
"Election"
|
|
411
|
+
];
|
|
412
|
+
moniker = _BaseElectionService.defaultMoniker;
|
|
451
413
|
get blockViewer() {
|
|
452
414
|
return assertEx3(this.params.blockViewer, () => "No block viewer");
|
|
453
415
|
}
|
|
@@ -472,71 +434,28 @@ var BaseElectionService = class extends BaseService {
|
|
|
472
434
|
return creatorArray.slice(0, maxSize);
|
|
473
435
|
}
|
|
474
436
|
};
|
|
475
|
-
BaseElectionService =
|
|
476
|
-
|
|
437
|
+
BaseElectionService = _ts_decorate2([
|
|
438
|
+
creatableProvider()
|
|
477
439
|
], BaseElectionService);
|
|
478
440
|
|
|
479
|
-
// src/implementation/accountBalance.ts
|
|
480
|
-
import { isDefined as isDefined2 } from "@xylabs/sdk-js";
|
|
481
|
-
import { AccountBalanceViewerRpcSchemas, HttpRpcTransport, JsonRpcAccountBalanceViewer } from "@xyo-network/xl1-rpc";
|
|
482
|
-
var balanceServiceSingleton;
|
|
483
|
-
var initAccountBalanceService = /* @__PURE__ */ __name(async (params) => {
|
|
484
|
-
const { config, logger } = params;
|
|
485
|
-
if (balanceServiceSingleton) return balanceServiceSingleton;
|
|
486
|
-
const endpoint = config.services?.accountBalanceViewerEndpoint ?? config.services?.apiEndpoint;
|
|
487
|
-
if (isDefined2(endpoint)) {
|
|
488
|
-
const transport = new HttpRpcTransport(endpoint, {
|
|
489
|
-
...AccountBalanceViewerRpcSchemas
|
|
490
|
-
});
|
|
491
|
-
const viewer = await JsonRpcAccountBalanceViewer.create({
|
|
492
|
-
transport
|
|
493
|
-
});
|
|
494
|
-
logger?.log("Using AccountBalanceViewer RPC service at", endpoint);
|
|
495
|
-
return viewer;
|
|
496
|
-
} else {
|
|
497
|
-
throw new Error("No AccountBalanceViewer endpoint configured");
|
|
498
|
-
}
|
|
499
|
-
}, "initAccountBalanceService");
|
|
500
|
-
|
|
501
|
-
// src/implementation/blockViewer.ts
|
|
502
|
-
import { isDefined as isDefined3 } from "@xylabs/sdk-js";
|
|
503
|
-
import { BlockViewerRpcSchemas, HttpRpcTransport as HttpRpcTransport2, JsonRpcBlockViewer } from "@xyo-network/xl1-rpc";
|
|
504
|
-
var blockViewerSingleton;
|
|
505
|
-
var initBlockViewer = /* @__PURE__ */ __name(async ({ config, logger }) => {
|
|
506
|
-
if (blockViewerSingleton) return blockViewerSingleton;
|
|
507
|
-
const endpoint = config.services?.apiEndpoint;
|
|
508
|
-
if (isDefined3(endpoint)) {
|
|
509
|
-
const transport = new HttpRpcTransport2(endpoint, {
|
|
510
|
-
...BlockViewerRpcSchemas
|
|
511
|
-
});
|
|
512
|
-
const viewer = await JsonRpcBlockViewer.create({
|
|
513
|
-
transport
|
|
514
|
-
});
|
|
515
|
-
logger?.log("Using BlockViewer RPC service at", endpoint);
|
|
516
|
-
return viewer;
|
|
517
|
-
} else {
|
|
518
|
-
throw new Error("No BlockViewer endpoint configured");
|
|
519
|
-
}
|
|
520
|
-
}, "initBlockViewer");
|
|
521
|
-
|
|
522
441
|
// src/implementation/chain/index.ts
|
|
523
442
|
import { assertEx as assertEx9 } from "@xylabs/sdk-js";
|
|
524
443
|
|
|
525
444
|
// src/implementation/chain/evm.ts
|
|
526
|
-
import { asAddress, assertEx as assertEx8, isDefined as
|
|
445
|
+
import { asAddress, assertEx as assertEx8, isDefined as isDefined5, ZERO_ADDRESS as ZERO_ADDRESS2 } from "@xylabs/sdk-js";
|
|
527
446
|
import { Wallet } from "ethers/wallet";
|
|
528
447
|
|
|
529
448
|
// src/implementation/evm/initEvmProvider.ts
|
|
530
449
|
import { assertEx as assertEx7 } from "@xylabs/sdk-js";
|
|
531
450
|
|
|
532
451
|
// src/implementation/evm/initInfuraProvider.ts
|
|
533
|
-
import { assertEx as assertEx5, isDefined as
|
|
452
|
+
import { assertEx as assertEx5, isDefined as isDefined3 } from "@xylabs/sdk-js";
|
|
534
453
|
import { InfuraProvider } from "ethers/providers";
|
|
535
454
|
|
|
536
455
|
// src/implementation/evm/initChainId.ts
|
|
537
|
-
import { assertEx as assertEx4, hexFrom, isDefined as
|
|
456
|
+
import { assertEx as assertEx4, hexFrom, isDefined as isDefined2, isHex } from "@xylabs/sdk-js";
|
|
538
457
|
var canUseChainId = /* @__PURE__ */ __name((config) => {
|
|
539
|
-
return
|
|
458
|
+
return isDefined2(config.evm.chainId);
|
|
540
459
|
}, "canUseChainId");
|
|
541
460
|
var getChainId = /* @__PURE__ */ __name((config) => {
|
|
542
461
|
const chainId = assertEx4(config.evm.chainId, () => "Missing config.evm.chainId");
|
|
@@ -561,7 +480,7 @@ var initInfuraProvider = /* @__PURE__ */ __name((config) => {
|
|
|
561
480
|
return instance;
|
|
562
481
|
}, "initInfuraProvider");
|
|
563
482
|
var canUseInfuraProvider = /* @__PURE__ */ __name((config) => {
|
|
564
|
-
return canUseChainId(config) &&
|
|
483
|
+
return canUseChainId(config) && isDefined3(config.evm?.infura?.projectId) && isDefined3(config.evm?.infura?.projectSecret);
|
|
565
484
|
}, "canUseInfuraProvider");
|
|
566
485
|
var getInfuraProviderConfig = /* @__PURE__ */ __name((config) => {
|
|
567
486
|
const projectId = assertEx5(config.evm?.infura?.projectId, () => "Missing config.evm.infura.projectId");
|
|
@@ -574,14 +493,14 @@ var getInfuraProviderConfig = /* @__PURE__ */ __name((config) => {
|
|
|
574
493
|
}, "getInfuraProviderConfig");
|
|
575
494
|
|
|
576
495
|
// src/implementation/evm/initJsonRpcProvider.ts
|
|
577
|
-
import { assertEx as assertEx6, isDefined as
|
|
496
|
+
import { assertEx as assertEx6, isDefined as isDefined4 } from "@xylabs/sdk-js";
|
|
578
497
|
import { JsonRpcProvider } from "ethers/providers";
|
|
579
498
|
var initJsonRpcProvider = /* @__PURE__ */ __name((config) => {
|
|
580
499
|
const providerConfig = getJsonRpcProviderConfig(config);
|
|
581
500
|
return Promise.resolve(new JsonRpcProvider(...providerConfig));
|
|
582
501
|
}, "initJsonRpcProvider");
|
|
583
502
|
var canUseJsonRpcProvider = /* @__PURE__ */ __name((config) => {
|
|
584
|
-
return canUseChainId(config) &&
|
|
503
|
+
return canUseChainId(config) && isDefined4(config.evm.jsonRpc?.url);
|
|
585
504
|
}, "canUseJsonRpcProvider");
|
|
586
505
|
var getJsonRpcProviderConfig = /* @__PURE__ */ __name((config) => {
|
|
587
506
|
const jsonRpcUrl = assertEx6(config.evm.jsonRpc?.url, () => "Missing config.evm.jsonRpc.url");
|
|
@@ -610,7 +529,7 @@ var canUseEvmProvider = /* @__PURE__ */ __name(({ config }) => {
|
|
|
610
529
|
var chainStakeServiceSingleton;
|
|
611
530
|
var canUseEvmContractChainService = /* @__PURE__ */ __name((config) => {
|
|
612
531
|
const { id } = config.chain;
|
|
613
|
-
return
|
|
532
|
+
return isDefined5(id) && id !== ZERO_ADDRESS2 && canUseEvmProvider({
|
|
614
533
|
config
|
|
615
534
|
});
|
|
616
535
|
}, "canUseEvmContractChainService");
|
|
@@ -668,7 +587,7 @@ var init = /* @__PURE__ */ __name(async (params) => {
|
|
|
668
587
|
|
|
669
588
|
// src/implementation/head/createBootstrapHead.ts
|
|
670
589
|
import { buildNextBlock, createGenesisBlock } from "@xyo-network/chain-protocol";
|
|
671
|
-
import { createDeclarationIntent } from "@xyo-network/xl1-
|
|
590
|
+
import { createDeclarationIntent } from "@xyo-network/xl1-sdk";
|
|
672
591
|
var createBootstrapHead = /* @__PURE__ */ __name(async (account, chainId, genesisBlockRewardAmount, genesisBlockRewardAddress) => {
|
|
673
592
|
const chain = [];
|
|
674
593
|
const genesisBlock = await createGenesisBlock(account, chainId, genesisBlockRewardAmount, genesisBlockRewardAddress);
|
|
@@ -683,84 +602,94 @@ var createBootstrapHead = /* @__PURE__ */ __name(async (account, chainId, genesi
|
|
|
683
602
|
return chain;
|
|
684
603
|
}, "createBootstrapHead");
|
|
685
604
|
|
|
686
|
-
// src/
|
|
687
|
-
import {
|
|
688
|
-
|
|
689
|
-
var
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
await delay(1e3);
|
|
699
|
-
}
|
|
605
|
+
// src/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.ts
|
|
606
|
+
import { AbstractCreatableProvider as AbstractCreatableProvider5, creatableProvider as creatableProvider2, NetworkStakeStepRewardViewerMoniker } from "@xyo-network/xl1-sdk";
|
|
607
|
+
function _ts_decorate3(decorators, target, key, desc) {
|
|
608
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
609
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
610
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
611
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
612
|
+
}
|
|
613
|
+
__name(_ts_decorate3, "_ts_decorate");
|
|
614
|
+
var BaseNetworkStakeStepRewardService = class _BaseNetworkStakeStepRewardService extends AbstractCreatableProvider5 {
|
|
615
|
+
static {
|
|
616
|
+
__name(this, "BaseNetworkStakeStepRewardService");
|
|
700
617
|
}
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
if (mempoolRunnerSingleton) return mempoolRunnerSingleton;
|
|
710
|
-
const endpoint = config.services?.apiEndpoint;
|
|
711
|
-
if (isDefined8(endpoint)) {
|
|
712
|
-
const transport = new HttpRpcTransport3(endpoint, {
|
|
713
|
-
...MempoolRunnerRpcSchemas
|
|
714
|
-
});
|
|
715
|
-
const runner = await JsonRpcMempoolRunner.create({
|
|
716
|
-
transport
|
|
717
|
-
});
|
|
718
|
-
logger?.log("Using mempoolRunner RPC service at", endpoint);
|
|
719
|
-
return runner;
|
|
720
|
-
} else {
|
|
721
|
-
throw new Error("No MempoolRunner endpoint configured");
|
|
618
|
+
static defaultMoniker = NetworkStakeStepRewardViewerMoniker;
|
|
619
|
+
static dependencies = [];
|
|
620
|
+
static monikers = [
|
|
621
|
+
NetworkStakeStepRewardViewerMoniker
|
|
622
|
+
];
|
|
623
|
+
moniker = _BaseNetworkStakeStepRewardService.defaultMoniker;
|
|
624
|
+
networkStakeStepRewardAddressHistory(_address) {
|
|
625
|
+
throw new Error("Method [networkStakeStepRewardAddressHistory] not implemented.");
|
|
722
626
|
}
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
// src/implementation/mempoolViewer.ts
|
|
726
|
-
import { isDefined as isDefined9 } from "@xylabs/sdk-js";
|
|
727
|
-
import { HttpRpcTransport as HttpRpcTransport4, JsonRpcMempoolViewer, MempoolViewerRpcSchemas } from "@xyo-network/xl1-rpc";
|
|
728
|
-
var mempoolViewerSingleton;
|
|
729
|
-
var initMempoolViewer = /* @__PURE__ */ __name(async (params) => {
|
|
730
|
-
const { config, logger } = params;
|
|
731
|
-
if (mempoolViewerSingleton) return mempoolViewerSingleton;
|
|
732
|
-
const endpoint = config.services?.apiEndpoint;
|
|
733
|
-
if (isDefined9(endpoint)) {
|
|
734
|
-
const transport = new HttpRpcTransport4(endpoint, {
|
|
735
|
-
...MempoolViewerRpcSchemas
|
|
736
|
-
});
|
|
737
|
-
const viewer = await JsonRpcMempoolViewer.create({
|
|
738
|
-
transport
|
|
739
|
-
});
|
|
740
|
-
logger?.log("Using MempoolViewer RPC service at", endpoint);
|
|
741
|
-
return viewer;
|
|
742
|
-
} else {
|
|
743
|
-
throw new Error("No MempoolViewer endpoint configured");
|
|
627
|
+
networkStakeStepRewardAddressReward(_context, _address) {
|
|
628
|
+
throw new Error("Method [networkStakeStepRewardAddressReward] not implemented.");
|
|
744
629
|
}
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
630
|
+
networkStakeStepRewardAddressShare(_context, _address) {
|
|
631
|
+
throw new Error("Method [networkStakeStepRewardAddressShare] not implemented.");
|
|
632
|
+
}
|
|
633
|
+
networkStakeStepRewardClaimedByAddress(_address) {
|
|
634
|
+
throw new Error("Method [networkStakeStepRewardClaimedByAddress] not implemented.");
|
|
635
|
+
}
|
|
636
|
+
networkStakeStepRewardForPosition(_position, _range) {
|
|
637
|
+
throw new Error("Method [networkStakeStepRewardForPosition] not implemented.");
|
|
638
|
+
}
|
|
639
|
+
networkStakeStepRewardForStep(_context) {
|
|
640
|
+
throw new Error("Method [networkStakeStepRewardForStep] not implemented.");
|
|
641
|
+
}
|
|
642
|
+
networkStakeStepRewardForStepForPosition(_context, _position) {
|
|
643
|
+
throw new Error("Method [networkStakeStepRewardForStepForPosition] not implemented.");
|
|
644
|
+
}
|
|
645
|
+
networkStakeStepRewardPoolRewards(_context) {
|
|
646
|
+
throw new Error("Method [networkStakeStepRewardPoolRewards] not implemented.");
|
|
647
|
+
}
|
|
648
|
+
networkStakeStepRewardPoolShares(_context) {
|
|
649
|
+
throw new Error("Method [networkStakeStepRewardPoolShares] not implemented.");
|
|
650
|
+
}
|
|
651
|
+
networkStakeStepRewardPositionWeight(_context, _position) {
|
|
652
|
+
throw new Error("Method [networkStakeStepRewardPositionWeight] not implemented.");
|
|
653
|
+
}
|
|
654
|
+
networkStakeStepRewardPotentialPositionLoss(_context, _position) {
|
|
655
|
+
throw new Error("Method [networkStakeStepRewardPotentialPositionLoss] not implemented.");
|
|
656
|
+
}
|
|
657
|
+
networkStakeStepRewardRandomizer(_context) {
|
|
658
|
+
throw new Error("Method [networkStakeStepRewardRandomizer] not implemented.");
|
|
659
|
+
}
|
|
660
|
+
networkStakeStepRewardStakerCount(_context) {
|
|
661
|
+
throw new Error("Method [networkStakeStepRewardStakerCount] not implemented.");
|
|
662
|
+
}
|
|
663
|
+
networkStakeStepRewardUnclaimedByAddress(_address) {
|
|
664
|
+
throw new Error("Method [networkStakeStepRewardUnclaimedByAddress] not implemented.");
|
|
665
|
+
}
|
|
666
|
+
networkStakeStepRewardWeightForAddress(_context, _address) {
|
|
667
|
+
throw new Error("Method [networkStakeStepRewardWeightForAddress] not implemented.");
|
|
668
|
+
}
|
|
669
|
+
networkStakeStepRewardsForPosition(_position, _range) {
|
|
670
|
+
throw new Error("Method [networkStakeStepRewardsForPosition] not implemented.");
|
|
671
|
+
}
|
|
672
|
+
networkStakeStepRewardsForRange(_range) {
|
|
673
|
+
throw new Error("Method [networkStakeStepRewardsForRange] not implemented.");
|
|
674
|
+
}
|
|
675
|
+
networkStakeStepRewardsForStepLevel(_stepLevel, _range) {
|
|
676
|
+
throw new Error("Method [networkStakeStepRewardsForStepLevel] not implemented.");
|
|
677
|
+
}
|
|
678
|
+
};
|
|
679
|
+
BaseNetworkStakeStepRewardService = _ts_decorate3([
|
|
680
|
+
creatableProvider2()
|
|
681
|
+
], BaseNetworkStakeStepRewardService);
|
|
751
682
|
|
|
752
683
|
// src/PendingTransactions/BasePendingTransactions.ts
|
|
753
684
|
import { ValueType } from "@opentelemetry/api";
|
|
754
|
-
import { assertEx as assertEx10,
|
|
685
|
+
import { assertEx as assertEx10, exists, filterAs, filterAsync, forget, isDefined as isDefined6, isUndefined } from "@xylabs/sdk-js";
|
|
755
686
|
import { MemoryArchivist } from "@xyo-network/archivist-memory";
|
|
756
|
-
import { asBlockBoundWitnessWithHashMeta, asXL1BlockNumber, isTransactionBoundWitnessWithStorageMeta } from "@xyo-network/xl1-
|
|
757
|
-
import {
|
|
758
|
-
import { TransactionJsonSchemaValidator, validateTransaction } from "@xyo-network/xl1-validation";
|
|
759
|
-
import { Mutex as Mutex2 } from "async-mutex";
|
|
687
|
+
import { AbstractCreatableProvider as AbstractCreatableProvider6, asBlockBoundWitnessWithHashMeta, asXL1BlockNumber, creatableProvider as creatableProvider3, findMostRecentBlock as findMostRecentBlock2, isTransactionBoundWitnessWithStorageMeta, MempoolViewerMoniker, TransactionJsonSchemaValidator, validateTransaction } from "@xyo-network/xl1-sdk";
|
|
688
|
+
import { Mutex } from "async-mutex";
|
|
760
689
|
|
|
761
690
|
// src/PendingTransactions/bundledPayloadToHydratedTransaction.ts
|
|
762
691
|
import { PayloadBuilder as PayloadBuilder2 } from "@xyo-network/payload-builder";
|
|
763
|
-
import { asSignedTransactionBoundWitnessWithHashMeta } from "@xyo-network/xl1-
|
|
692
|
+
import { asSignedTransactionBoundWitnessWithHashMeta } from "@xyo-network/xl1-sdk";
|
|
764
693
|
var bundledPayloadToHydratedTransaction = /* @__PURE__ */ __name(async (payload) => {
|
|
765
694
|
const withHashMeta = await PayloadBuilder2.addHashMeta(payload.payloads);
|
|
766
695
|
const tx = asSignedTransactionBoundWitnessWithHashMeta(withHashMeta.find((p) => p._hash === payload.root));
|
|
@@ -775,7 +704,7 @@ var bundledPayloadToHydratedTransaction = /* @__PURE__ */ __name(async (payload)
|
|
|
775
704
|
// src/PendingTransactions/hydratedTransactionToPayloadBundle.ts
|
|
776
705
|
import { PayloadBuilder as PayloadBuilder3 } from "@xyo-network/payload-builder";
|
|
777
706
|
import { PayloadBundleSchema } from "@xyo-network/payload-model";
|
|
778
|
-
import { flattenHydratedTransaction } from "@xyo-network/xl1-
|
|
707
|
+
import { flattenHydratedTransaction } from "@xyo-network/xl1-sdk";
|
|
779
708
|
var hydratedTransactionToPayloadBundle = /* @__PURE__ */ __name((transaction) => {
|
|
780
709
|
const root = transaction[0]._hash;
|
|
781
710
|
return bundle(root, transaction);
|
|
@@ -791,18 +720,19 @@ var bundle = /* @__PURE__ */ __name((root, transaction) => {
|
|
|
791
720
|
}, "bundle");
|
|
792
721
|
|
|
793
722
|
// src/PendingTransactions/BasePendingTransactions.ts
|
|
794
|
-
function
|
|
723
|
+
function _ts_decorate4(decorators, target, key, desc) {
|
|
795
724
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
796
725
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
797
726
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
798
727
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
799
728
|
}
|
|
800
|
-
__name(
|
|
801
|
-
var BasePendingTransactionsService = class _BasePendingTransactionsService extends
|
|
729
|
+
__name(_ts_decorate4, "_ts_decorate");
|
|
730
|
+
var BasePendingTransactionsService = class _BasePendingTransactionsService extends AbstractCreatableProvider6 {
|
|
802
731
|
static {
|
|
803
732
|
__name(this, "BasePendingTransactionsService");
|
|
804
733
|
}
|
|
805
734
|
static defaultMoniker = MempoolViewerMoniker;
|
|
735
|
+
static dependencies = [];
|
|
806
736
|
static monikers = [
|
|
807
737
|
MempoolViewerMoniker
|
|
808
738
|
];
|
|
@@ -825,7 +755,7 @@ var BasePendingTransactionsService = class _BasePendingTransactionsService exten
|
|
|
825
755
|
* A mutex to ensure that the counting the number of pending transactions is
|
|
826
756
|
* not called concurrently
|
|
827
757
|
*/
|
|
828
|
-
_countPendingTransactionsMutex = new
|
|
758
|
+
_countPendingTransactionsMutex = new Mutex();
|
|
829
759
|
/**
|
|
830
760
|
* A local Archivist optimized for fast retrieval that stores only validated
|
|
831
761
|
* pending transactions
|
|
@@ -845,7 +775,7 @@ var BasePendingTransactionsService = class _BasePendingTransactionsService exten
|
|
|
845
775
|
* A mutex to ensure that the curated pending transactions archivist is
|
|
846
776
|
* updated in a thread-safe manner
|
|
847
777
|
*/
|
|
848
|
-
_updateCuratedPendingTransactionsArchivistMutex = new
|
|
778
|
+
_updateCuratedPendingTransactionsArchivistMutex = new Mutex();
|
|
849
779
|
get additionalPendingTransactionValidators() {
|
|
850
780
|
return this.params.additionalPendingTransactionValidators ?? [];
|
|
851
781
|
}
|
|
@@ -943,7 +873,7 @@ var BasePendingTransactionsService = class _BasePendingTransactionsService exten
|
|
|
943
873
|
async cleanupWorker() {
|
|
944
874
|
return await this._updateCuratedPendingTransactionsArchivistMutex.runExclusive(async () => {
|
|
945
875
|
const lastHead = await findMostRecentBlock2(this.chainArchivist);
|
|
946
|
-
if (
|
|
876
|
+
if (isDefined6(lastHead)) await this.pruneCuratedPendingTransactionsArchivist(lastHead._hash);
|
|
947
877
|
}, _BasePendingTransactionsService.MutexPriority.PurgeTransactions);
|
|
948
878
|
}
|
|
949
879
|
async countPendingTransactions() {
|
|
@@ -1005,7 +935,7 @@ var BasePendingTransactionsService = class _BasePendingTransactionsService exten
|
|
|
1005
935
|
let [lastHead] = filterAs(await this.chainArchivist.get([
|
|
1006
936
|
head
|
|
1007
937
|
]), (x) => asBlockBoundWitnessWithHashMeta(x));
|
|
1008
|
-
while (
|
|
938
|
+
while (isDefined6(lastHead)) {
|
|
1009
939
|
const pendingBundledTransactions = await this.pendingBundledTransactionsLocalArchivist.next({
|
|
1010
940
|
limit: 100,
|
|
1011
941
|
order: "asc",
|
|
@@ -1039,163 +969,32 @@ var BasePendingTransactionsService = class _BasePendingTransactionsService exten
|
|
|
1039
969
|
});
|
|
1040
970
|
}
|
|
1041
971
|
};
|
|
1042
|
-
BasePendingTransactionsService =
|
|
1043
|
-
|
|
972
|
+
BasePendingTransactionsService = _ts_decorate4([
|
|
973
|
+
creatableProvider3()
|
|
1044
974
|
], BasePendingTransactionsService);
|
|
1045
975
|
var isTransactionExpired = /* @__PURE__ */ __name((block) => ([txBw]) => txBw.exp < block, "isTransactionExpired");
|
|
1046
976
|
var isTransactionActive = /* @__PURE__ */ __name((block) => ([txBw]) => txBw.nbf <= block && txBw.exp >= block, "isTransactionActive");
|
|
1047
977
|
|
|
1048
|
-
// src/implementation/pendingTransactions.ts
|
|
1049
|
-
var serviceSingleton;
|
|
1050
|
-
var initPendingTransactions = /* @__PURE__ */ __name(async ({ config, params, logger }) => {
|
|
1051
|
-
if (serviceSingleton) return serviceSingleton;
|
|
1052
|
-
return await timeBudget("initPendingTransactions", logger, async () => {
|
|
1053
|
-
const endpoint = config.services?.apiEndpoint;
|
|
1054
|
-
if (isDefined11(endpoint)) {
|
|
1055
|
-
const transport = new HttpRpcTransport5(endpoint, {
|
|
1056
|
-
...MempoolViewerRpcSchemas2
|
|
1057
|
-
});
|
|
1058
|
-
const viewer = await JsonRpcMempoolViewer2.create({
|
|
1059
|
-
transport
|
|
1060
|
-
});
|
|
1061
|
-
logger?.log("Using MempoolViewer RPC service at", endpoint);
|
|
1062
|
-
return viewer;
|
|
1063
|
-
} else {
|
|
1064
|
-
serviceSingleton = await BasePendingTransactionsService.create(params);
|
|
1065
|
-
}
|
|
1066
|
-
return serviceSingleton;
|
|
1067
|
-
}, 2e3, true);
|
|
1068
|
-
}, "initPendingTransactions");
|
|
1069
|
-
|
|
1070
|
-
// src/implementation/reward.ts
|
|
1071
|
-
import { assertEx as assertEx11 } from "@xylabs/sdk-js";
|
|
1072
|
-
import { SimpleBlockRewardViewer, timeBudget as timeBudget2 } from "@xyo-network/xl1-protocol-sdk";
|
|
1073
|
-
var rewardServiceSingleton;
|
|
1074
|
-
var initBlockRewardViewer = /* @__PURE__ */ __name((params) => {
|
|
1075
|
-
if (rewardServiceSingleton) return rewardServiceSingleton;
|
|
1076
|
-
return timeBudget2("initBlockRewardViewer", params.logger, () => {
|
|
1077
|
-
const { config } = params;
|
|
1078
|
-
rewardServiceSingleton = canUseEvmBlockRewardViewer({
|
|
1079
|
-
config
|
|
1080
|
-
}) ? initEvmBlockRewardViewer(params) : initXyoBlockRewardViewer(params);
|
|
1081
|
-
return rewardServiceSingleton;
|
|
1082
|
-
}, 2e3, true);
|
|
1083
|
-
}, "initBlockRewardViewer");
|
|
1084
|
-
var initXyoBlockRewardViewer = /* @__PURE__ */ __name((params) => {
|
|
1085
|
-
if (rewardServiceSingleton) return rewardServiceSingleton;
|
|
1086
|
-
return timeBudget2("initXyoBlockRewardViewer", params.logger, () => {
|
|
1087
|
-
rewardServiceSingleton = SimpleBlockRewardViewer.create(params);
|
|
1088
|
-
return rewardServiceSingleton;
|
|
1089
|
-
}, 2e3, true);
|
|
1090
|
-
}, "initXyoBlockRewardViewer");
|
|
1091
|
-
var canUseEvmBlockRewardViewer = /* @__PURE__ */ __name((params) => canUseEvmProvider({
|
|
1092
|
-
config: params.config
|
|
1093
|
-
}), "canUseEvmBlockRewardViewer");
|
|
1094
|
-
var initEvmBlockRewardViewer = /* @__PURE__ */ __name(async (params) => {
|
|
1095
|
-
if (rewardServiceSingleton) return rewardServiceSingleton;
|
|
1096
|
-
return await timeBudget2("initEvmBlockRewardViewer", params.logger, async () => {
|
|
1097
|
-
const provider2 = assertEx11(await initEvmProvider(params));
|
|
1098
|
-
const evmBlockRewardViewerParams = {
|
|
1099
|
-
...params,
|
|
1100
|
-
provider: provider2
|
|
1101
|
-
};
|
|
1102
|
-
rewardServiceSingleton = EvmBlockRewardViewer.create(evmBlockRewardViewerParams);
|
|
1103
|
-
return rewardServiceSingleton;
|
|
1104
|
-
}, 2e3, true);
|
|
1105
|
-
}, "initEvmBlockRewardViewer");
|
|
1106
|
-
|
|
1107
|
-
// src/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.ts
|
|
1108
|
-
import { creatable as creatable6 } from "@xylabs/sdk-js";
|
|
1109
|
-
import { NetworkStakeStepRewardViewerMoniker } from "@xyo-network/xl1-protocol-sdk";
|
|
1110
|
-
function _ts_decorate6(decorators, target, key, desc) {
|
|
1111
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1112
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1113
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
1114
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1115
|
-
}
|
|
1116
|
-
__name(_ts_decorate6, "_ts_decorate");
|
|
1117
|
-
var BaseNetworkStakeStepRewardService = class _BaseNetworkStakeStepRewardService extends BaseService {
|
|
1118
|
-
static {
|
|
1119
|
-
__name(this, "BaseNetworkStakeStepRewardService");
|
|
1120
|
-
}
|
|
1121
|
-
static defaultMoniker = NetworkStakeStepRewardViewerMoniker;
|
|
1122
|
-
static monikers = [
|
|
1123
|
-
NetworkStakeStepRewardViewerMoniker
|
|
1124
|
-
];
|
|
1125
|
-
moniker = _BaseNetworkStakeStepRewardService.defaultMoniker;
|
|
1126
|
-
networkStakeStepRewardAddressHistory(_address) {
|
|
1127
|
-
throw new Error("Method [networkStakeStepRewardAddressHistory] not implemented.");
|
|
1128
|
-
}
|
|
1129
|
-
networkStakeStepRewardAddressReward(_context, _address) {
|
|
1130
|
-
throw new Error("Method [networkStakeStepRewardAddressReward] not implemented.");
|
|
1131
|
-
}
|
|
1132
|
-
networkStakeStepRewardAddressShare(_context, _address) {
|
|
1133
|
-
throw new Error("Method [networkStakeStepRewardAddressShare] not implemented.");
|
|
1134
|
-
}
|
|
1135
|
-
networkStakeStepRewardClaimedByAddress(_address) {
|
|
1136
|
-
throw new Error("Method [networkStakeStepRewardClaimedByAddress] not implemented.");
|
|
1137
|
-
}
|
|
1138
|
-
networkStakeStepRewardForPosition(_position, _range) {
|
|
1139
|
-
throw new Error("Method [networkStakeStepRewardForPosition] not implemented.");
|
|
1140
|
-
}
|
|
1141
|
-
networkStakeStepRewardForStep(_context) {
|
|
1142
|
-
throw new Error("Method [networkStakeStepRewardForStep] not implemented.");
|
|
1143
|
-
}
|
|
1144
|
-
networkStakeStepRewardForStepForPosition(_context, _position) {
|
|
1145
|
-
throw new Error("Method [networkStakeStepRewardForStepForPosition] not implemented.");
|
|
1146
|
-
}
|
|
1147
|
-
networkStakeStepRewardPoolRewards(_context) {
|
|
1148
|
-
throw new Error("Method [networkStakeStepRewardPoolRewards] not implemented.");
|
|
1149
|
-
}
|
|
1150
|
-
networkStakeStepRewardPoolShares(_context) {
|
|
1151
|
-
throw new Error("Method [networkStakeStepRewardPoolShares] not implemented.");
|
|
1152
|
-
}
|
|
1153
|
-
networkStakeStepRewardPositionWeight(_context, _position) {
|
|
1154
|
-
throw new Error("Method [networkStakeStepRewardPositionWeight] not implemented.");
|
|
1155
|
-
}
|
|
1156
|
-
networkStakeStepRewardPotentialPositionLoss(_context, _position) {
|
|
1157
|
-
throw new Error("Method [networkStakeStepRewardPotentialPositionLoss] not implemented.");
|
|
1158
|
-
}
|
|
1159
|
-
networkStakeStepRewardRandomizer(_context) {
|
|
1160
|
-
throw new Error("Method [networkStakeStepRewardRandomizer] not implemented.");
|
|
1161
|
-
}
|
|
1162
|
-
networkStakeStepRewardStakerCount(_context) {
|
|
1163
|
-
throw new Error("Method [networkStakeStepRewardStakerCount] not implemented.");
|
|
1164
|
-
}
|
|
1165
|
-
networkStakeStepRewardUnclaimedByAddress(_address) {
|
|
1166
|
-
throw new Error("Method [networkStakeStepRewardUnclaimedByAddress] not implemented.");
|
|
1167
|
-
}
|
|
1168
|
-
networkStakeStepRewardWeightForAddress(_context, _address) {
|
|
1169
|
-
throw new Error("Method [networkStakeStepRewardWeightForAddress] not implemented.");
|
|
1170
|
-
}
|
|
1171
|
-
networkStakeStepRewardsForPosition(_position, _range) {
|
|
1172
|
-
throw new Error("Method [networkStakeStepRewardsForPosition] not implemented.");
|
|
1173
|
-
}
|
|
1174
|
-
networkStakeStepRewardsForRange(_range) {
|
|
1175
|
-
throw new Error("Method [networkStakeStepRewardsForRange] not implemented.");
|
|
1176
|
-
}
|
|
1177
|
-
networkStakeStepRewardsForStepLevel(_stepLevel, _range) {
|
|
1178
|
-
throw new Error("Method [networkStakeStepRewardsForStepLevel] not implemented.");
|
|
1179
|
-
}
|
|
1180
|
-
};
|
|
1181
|
-
BaseNetworkStakeStepRewardService = _ts_decorate6([
|
|
1182
|
-
creatable6()
|
|
1183
|
-
], BaseNetworkStakeStepRewardService);
|
|
1184
|
-
|
|
1185
978
|
// src/Schemas/BaseSchemasService.ts
|
|
1186
|
-
import {
|
|
1187
|
-
import { schemasSummary } from "@xyo-network/xl1-
|
|
1188
|
-
function
|
|
979
|
+
import { spanRootAsync } from "@xylabs/sdk-js";
|
|
980
|
+
import { AbstractCreatableProvider as AbstractCreatableProvider7, creatableProvider as creatableProvider4, schemasSummary } from "@xyo-network/xl1-sdk";
|
|
981
|
+
function _ts_decorate5(decorators, target, key, desc) {
|
|
1189
982
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1190
983
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1191
984
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
1192
985
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1193
986
|
}
|
|
1194
|
-
__name(
|
|
1195
|
-
var BaseSchemasService = class extends
|
|
987
|
+
__name(_ts_decorate5, "_ts_decorate");
|
|
988
|
+
var BaseSchemasService = class _BaseSchemasService extends AbstractCreatableProvider7 {
|
|
1196
989
|
static {
|
|
1197
990
|
__name(this, "BaseSchemasService");
|
|
1198
991
|
}
|
|
992
|
+
static defaultMoniker = "SchemasService";
|
|
993
|
+
static dependencies = [];
|
|
994
|
+
static monikers = [
|
|
995
|
+
_BaseSchemasService.defaultMoniker
|
|
996
|
+
];
|
|
997
|
+
moniker = _BaseSchemasService.defaultMoniker;
|
|
1199
998
|
async schema(head, schema) {
|
|
1200
999
|
return (await this.schemas(head, [
|
|
1201
1000
|
schema
|
|
@@ -1213,26 +1012,23 @@ var BaseSchemasService = class extends BaseService {
|
|
|
1213
1012
|
});
|
|
1214
1013
|
}
|
|
1215
1014
|
};
|
|
1216
|
-
BaseSchemasService =
|
|
1217
|
-
|
|
1015
|
+
BaseSchemasService = _ts_decorate5([
|
|
1016
|
+
creatableProvider4()
|
|
1218
1017
|
], BaseSchemasService);
|
|
1219
1018
|
|
|
1220
1019
|
// src/simple/block/runner/SimpleBlockRunner.ts
|
|
1221
|
-
import { assertEx as
|
|
1020
|
+
import { assertEx as assertEx12, exists as exists2, hexToBigInt, isDefined as isDefined7 } from "@xylabs/sdk-js";
|
|
1222
1021
|
import { MemoryArchivist as MemoryArchivist2 } from "@xyo-network/archivist-memory";
|
|
1223
1022
|
import { FixedPercentageBlockRewardDiviner, FixedPercentageBlockRewardDivinerConfigSchema } from "@xyo-network/chain-modules";
|
|
1224
1023
|
import { buildNextBlock as buildNextBlock2 } from "@xyo-network/chain-protocol";
|
|
1225
1024
|
import { PayloadBuilder as PayloadBuilder5 } from "@xyo-network/payload-builder";
|
|
1226
|
-
import { asBlockBoundWitness, AttoXL1, BlockNumberSchema, defaultRewardRatio, XYO_STEP_REWARD_ADDRESS } from "@xyo-network/xl1-
|
|
1227
|
-
import { AbstractCreatableProvider as AbstractCreatableProvider2, AccountBalanceViewerMoniker, BlockRewardViewerMoniker as BlockRewardViewerMoniker2, BlockRunnerMoniker, creatableProvider, createDeclarationIntent as createDeclarationIntent2, MempoolRunnerMoniker, MempoolViewerMoniker as MempoolViewerMoniker2, TimeSyncViewerMoniker } from "@xyo-network/xl1-protocol-sdk";
|
|
1025
|
+
import { AbstractCreatableProvider as AbstractCreatableProvider8, AccountBalanceViewerMoniker, asBlockBoundWitness, AttoXL1, BlockNumberSchema, BlockRewardViewerMoniker as BlockRewardViewerMoniker2, BlockRunnerMoniker, BlockValidationViewerMoniker, creatableProvider as creatableProvider5, createDeclarationIntent as createDeclarationIntent2, defaultRewardRatio, MempoolRunnerMoniker, MempoolViewerMoniker as MempoolViewerMoniker2, TimeSyncViewerMoniker, XYO_STEP_REWARD_ADDRESS } from "@xyo-network/xl1-sdk";
|
|
1228
1026
|
|
|
1229
1027
|
// src/simple/block/runner/generateTransactionFeeTransfers.ts
|
|
1230
1028
|
import { hexFromBigInt } from "@xylabs/sdk-js";
|
|
1231
|
-
import { assertEx as
|
|
1029
|
+
import { assertEx as assertEx11 } from "@xylabs/sdk-js";
|
|
1232
1030
|
import { PayloadBuilder as PayloadBuilder4 } from "@xyo-network/payload-builder";
|
|
1233
|
-
import { TransferSchema, XYO_ZERO_ADDRESS } from "@xyo-network/xl1-
|
|
1234
|
-
import { transactionRequiredGas } from "@xyo-network/xl1-protocol-sdk";
|
|
1235
|
-
import { HydratedTransactionWrapper } from "@xyo-network/xl1-wrappers";
|
|
1031
|
+
import { HydratedTransactionWrapper, transactionRequiredGas, TransferSchema, XYO_ZERO_ADDRESS } from "@xyo-network/xl1-sdk";
|
|
1236
1032
|
async function generateTransactionFeeTransfers(address, transactions) {
|
|
1237
1033
|
const txs = await Promise.all(transactions.map(async (tx) => {
|
|
1238
1034
|
return HydratedTransactionWrapper.parse([
|
|
@@ -1263,7 +1059,7 @@ async function generateTransactionFeeTransfers(address, transactions) {
|
|
|
1263
1059
|
return payload;
|
|
1264
1060
|
});
|
|
1265
1061
|
for (const [from, amount] of Object.entries(txGasCosts)) {
|
|
1266
|
-
const fromPayload =
|
|
1062
|
+
const fromPayload = assertEx11(payloads.find((p) => p.from === from), () => "from payload not found");
|
|
1267
1063
|
fromPayload.transfers[address] = hexFromBigInt(amount);
|
|
1268
1064
|
}
|
|
1269
1065
|
return payloads;
|
|
@@ -1271,21 +1067,29 @@ async function generateTransactionFeeTransfers(address, transactions) {
|
|
|
1271
1067
|
__name(generateTransactionFeeTransfers, "generateTransactionFeeTransfers");
|
|
1272
1068
|
|
|
1273
1069
|
// src/simple/block/runner/SimpleBlockRunner.ts
|
|
1274
|
-
function
|
|
1070
|
+
function _ts_decorate6(decorators, target, key, desc) {
|
|
1275
1071
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1276
1072
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1277
1073
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
1278
1074
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1279
1075
|
}
|
|
1280
|
-
__name(
|
|
1076
|
+
__name(_ts_decorate6, "_ts_decorate");
|
|
1281
1077
|
var DEFAULT_BLOCK_SIZE = 10;
|
|
1282
1078
|
var XYO_PRODUCER_REDECLARATION_DURATION = 1e4;
|
|
1283
1079
|
var XYO_PRODUCER_REDECLARATION_WINDOW = 500;
|
|
1284
|
-
var SimpleBlockRunner = class _SimpleBlockRunner extends
|
|
1080
|
+
var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvider8 {
|
|
1285
1081
|
static {
|
|
1286
1082
|
__name(this, "SimpleBlockRunner");
|
|
1287
1083
|
}
|
|
1288
1084
|
static defaultMoniker = BlockRunnerMoniker;
|
|
1085
|
+
static dependencies = [
|
|
1086
|
+
AccountBalanceViewerMoniker,
|
|
1087
|
+
BlockRewardViewerMoniker2,
|
|
1088
|
+
BlockValidationViewerMoniker,
|
|
1089
|
+
MempoolRunnerMoniker,
|
|
1090
|
+
MempoolViewerMoniker2,
|
|
1091
|
+
TimeSyncViewerMoniker
|
|
1092
|
+
];
|
|
1289
1093
|
static monikers = [
|
|
1290
1094
|
BlockRunnerMoniker
|
|
1291
1095
|
];
|
|
@@ -1297,6 +1101,7 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
|
|
|
1297
1101
|
_accountBalanceViewer;
|
|
1298
1102
|
_address;
|
|
1299
1103
|
_blockRewardViewer;
|
|
1104
|
+
_blockValidationViewer;
|
|
1300
1105
|
_mempoolRunner;
|
|
1301
1106
|
_mempoolViewer;
|
|
1302
1107
|
_rewardAddress;
|
|
@@ -1333,6 +1138,9 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
|
|
|
1333
1138
|
get blockRewardViewer() {
|
|
1334
1139
|
return this._blockRewardViewer;
|
|
1335
1140
|
}
|
|
1141
|
+
get blockValidationViewer() {
|
|
1142
|
+
return this._blockValidationViewer;
|
|
1143
|
+
}
|
|
1336
1144
|
// protected get electionService() {
|
|
1337
1145
|
// return assertEx(this.params.electionService, () => 'electionService is required')
|
|
1338
1146
|
// }
|
|
@@ -1349,7 +1157,7 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
|
|
|
1349
1157
|
return this._rejectedTransactionsArchivist;
|
|
1350
1158
|
}
|
|
1351
1159
|
get rewardAddress() {
|
|
1352
|
-
return
|
|
1160
|
+
return this._rewardAddress;
|
|
1353
1161
|
}
|
|
1354
1162
|
// protected get stakeIntentService(): StakeIntentService {
|
|
1355
1163
|
// return assertEx(this.params.stakeIntentService, () => 'No StakeIntentService provided')
|
|
@@ -1362,13 +1170,14 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
|
|
|
1362
1170
|
// }
|
|
1363
1171
|
async createHandler() {
|
|
1364
1172
|
this._rejectedTransactionsArchivist = this.params.rejectedTransactionsArchivist ?? await MemoryArchivist2.create();
|
|
1365
|
-
this._account =
|
|
1366
|
-
this._rewardAddress = assertEx13(this.params.rewardAddress, () => "No reward address provided");
|
|
1173
|
+
this._account = assertEx12(this.params.account, () => "Account is required");
|
|
1367
1174
|
this._address = this.account.address;
|
|
1368
1175
|
this._accountBalanceViewer = await this.locateAndCreate(AccountBalanceViewerMoniker);
|
|
1369
1176
|
this._blockRewardViewer = await this.locateAndCreate(BlockRewardViewerMoniker2);
|
|
1177
|
+
this._blockValidationViewer = await this.locator.getInstance(BlockValidationViewerMoniker);
|
|
1370
1178
|
this._mempoolRunner = await this.locateAndCreate(MempoolRunnerMoniker);
|
|
1371
1179
|
this._mempoolViewer = await this.locateAndCreate(MempoolViewerMoniker2);
|
|
1180
|
+
this._rewardAddress = this.params.rewardAddress ?? this.context.config.producer.rewardAddress;
|
|
1372
1181
|
this._timeSyncViewer = await this.locateAndCreate(TimeSyncViewerMoniker);
|
|
1373
1182
|
}
|
|
1374
1183
|
async next(head) {
|
|
@@ -1376,7 +1185,7 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
|
|
|
1376
1185
|
}
|
|
1377
1186
|
async produceNextBlock(head, force) {
|
|
1378
1187
|
const result = await this.proposeNextValidBlock(head);
|
|
1379
|
-
return force ?
|
|
1188
|
+
return force ? assertEx12(result, () => "Failed to produce next block") : result;
|
|
1380
1189
|
}
|
|
1381
1190
|
async getBlockRewardTransfers(block) {
|
|
1382
1191
|
if (!this._blockRewardDiviner) {
|
|
@@ -1413,7 +1222,7 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
|
|
|
1413
1222
|
async proposeNextValidBlock(head, validateBalances = false, force = false) {
|
|
1414
1223
|
return await this.spanAsync("proposeNextValidBlock", async () => {
|
|
1415
1224
|
try {
|
|
1416
|
-
const { block: previousBlock } =
|
|
1225
|
+
const { block: previousBlock } = assertEx12(asBlockBoundWitness(head), () => "Invalid head block");
|
|
1417
1226
|
const nextBlock = previousBlock + 1;
|
|
1418
1227
|
const nextBlockTransactions = await this.mempoolViewer.pendingTransactions({
|
|
1419
1228
|
limit: _SimpleBlockRunner.DefaultBlockSize
|
|
@@ -1427,7 +1236,7 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
|
|
|
1427
1236
|
blockPayloads.push(...rewardTransferPayloads);
|
|
1428
1237
|
const transactionTransfers = await generateTransactionFeeTransfers(this.address, nextBlockTransactions);
|
|
1429
1238
|
const timeStart = Date.now();
|
|
1430
|
-
const timePayload = await this.generateTimePayload(
|
|
1239
|
+
const timePayload = await this.generateTimePayload();
|
|
1431
1240
|
const timeDuration = Date.now() - timeStart;
|
|
1432
1241
|
if (timeDuration > 100) {
|
|
1433
1242
|
this.logger?.warn(`[Slow] Generated time payload in ${timeDuration}ms`);
|
|
@@ -1443,11 +1252,23 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
|
|
|
1443
1252
|
this.account
|
|
1444
1253
|
], XYO_STEP_REWARD_ADDRESS, stepRewardPoolBalance);
|
|
1445
1254
|
this.logger?.info(`Built block ${block[0].block} in ${Date.now() - startBuild}ms with ${block[1].length} payloads`);
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1255
|
+
this.logger?.info(`Validating block ${block[0].block} with ${block[1].length} payloads`);
|
|
1256
|
+
const startValidate = Date.now();
|
|
1257
|
+
const errors = await this.blockValidationViewer.validateBlock(block);
|
|
1258
|
+
this.logger?.info(`Validated block ${block[0].block} in ${Date.now() - startValidate}ms with ${block[1].length} payloads`);
|
|
1259
|
+
if (errors.length > 0) {
|
|
1260
|
+
this.logger?.warn(`Validation of produced block failed: ${errors.at(0)?.message}`);
|
|
1261
|
+
const rejectedTransactions = block[1];
|
|
1262
|
+
await this.rejectedTransactionsArchivist.insert(rejectedTransactions);
|
|
1263
|
+
} else {
|
|
1264
|
+
await this.mempoolRunner.submitBlocks([
|
|
1265
|
+
block
|
|
1266
|
+
]);
|
|
1267
|
+
return block;
|
|
1268
|
+
}
|
|
1269
|
+
} catch (error) {
|
|
1270
|
+
this.logger?.error(`Error proposing next valid block: ${error.message}`);
|
|
1271
|
+
throw error;
|
|
1451
1272
|
}
|
|
1452
1273
|
});
|
|
1453
1274
|
}
|
|
@@ -1476,7 +1297,7 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
|
|
|
1476
1297
|
fundedTransfers
|
|
1477
1298
|
];
|
|
1478
1299
|
}
|
|
1479
|
-
async generateTimePayload(
|
|
1300
|
+
async generateTimePayload() {
|
|
1480
1301
|
return await this.timeSyncViewer.currentTimePayload();
|
|
1481
1302
|
}
|
|
1482
1303
|
/**
|
|
@@ -1486,7 +1307,7 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
|
|
|
1486
1307
|
*/
|
|
1487
1308
|
heartbeatRequired(head) {
|
|
1488
1309
|
const epoch = head.$epoch;
|
|
1489
|
-
if (
|
|
1310
|
+
if (isDefined7(epoch)) {
|
|
1490
1311
|
const { heartbeatInterval } = this.params.context.config.producer;
|
|
1491
1312
|
if (Date.now() - epoch > heartbeatInterval) {
|
|
1492
1313
|
return true;
|
|
@@ -1495,8 +1316,8 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
|
|
|
1495
1316
|
return false;
|
|
1496
1317
|
}
|
|
1497
1318
|
};
|
|
1498
|
-
SimpleBlockRunner =
|
|
1499
|
-
|
|
1319
|
+
SimpleBlockRunner = _ts_decorate6([
|
|
1320
|
+
creatableProvider5()
|
|
1500
1321
|
], SimpleBlockRunner);
|
|
1501
1322
|
|
|
1502
1323
|
// src/StakeIntent/lib/getBlockSignedStakeDeclarations.ts
|
|
@@ -1504,7 +1325,7 @@ import { exists as exists3, filterAs as filterAs2 } from "@xylabs/sdk-js";
|
|
|
1504
1325
|
import { isBoundWitness } from "@xyo-network/boundwitness-model";
|
|
1505
1326
|
import { payloadSchemasContains } from "@xyo-network/boundwitness-validator";
|
|
1506
1327
|
import { BoundWitnessWrapper } from "@xyo-network/boundwitness-wrapper";
|
|
1507
|
-
import { asChainStakeIntent, ChainStakeIntentSchema } from "@xyo-network/xl1-
|
|
1328
|
+
import { asChainStakeIntent, ChainStakeIntentSchema } from "@xyo-network/xl1-sdk";
|
|
1508
1329
|
var getBlockSignedStakeDeclarations = /* @__PURE__ */ __name(async (block, archivist, intent) => {
|
|
1509
1330
|
const blockData = await archivist.get(block.payload_hashes);
|
|
1510
1331
|
const bwsFromBlock = blockData.filter((x) => isBoundWitness(x));
|
|
@@ -1526,28 +1347,34 @@ var mapBoundWitnessToStakeIntentHashes = /* @__PURE__ */ __name((bw) => {
|
|
|
1526
1347
|
}, "mapBoundWitnessToStakeIntentHashes");
|
|
1527
1348
|
|
|
1528
1349
|
// src/StakeIntent/XyoStakeIntentService.ts
|
|
1529
|
-
import { asAddress as asAddress2, assertEx as
|
|
1350
|
+
import { asAddress as asAddress2, assertEx as assertEx13, filterAs as filterAs3, isUndefined as isUndefined2 } from "@xylabs/sdk-js";
|
|
1530
1351
|
import { analyzeChain, ChainStakeIntentAnalyzer, isChainSummaryStakeIntent } from "@xyo-network/chain-analyze";
|
|
1531
1352
|
import { DEFAULT_FIND_FIRST_MATCHING_NEXT_OPTIONS, findFirstMatching, IntervalMap } from "@xyo-network/chain-utils";
|
|
1532
1353
|
import { PayloadBuilder as PayloadBuilder6 } from "@xyo-network/payload-builder";
|
|
1533
|
-
import {
|
|
1534
|
-
import {
|
|
1535
|
-
import { Mutex as
|
|
1354
|
+
import { AbstractCreatableProvider as AbstractCreatableProvider9, asChainIndexingServiceStateWithStorageMeta, BlockViewerMoniker as BlockViewerMoniker3, ChainIndexingServiceStateSchema, ChainStakeViewerMoniker, creatableProvider as creatableProvider6, isChainIndexingServiceState, readPayloadMapFromStore, timeBudget } from "@xyo-network/xl1-sdk";
|
|
1355
|
+
import { asBlockBoundWitness as asBlockBoundWitness2, asBlockBoundWitnessWithStorageMeta, asChainStakeIntent as asChainStakeIntent2 } from "@xyo-network/xl1-sdk";
|
|
1356
|
+
import { Mutex as Mutex2 } from "async-mutex";
|
|
1536
1357
|
import { LRUCache } from "lru-cache";
|
|
1537
|
-
function
|
|
1358
|
+
function _ts_decorate7(decorators, target, key, desc) {
|
|
1538
1359
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1539
1360
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1540
1361
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
1541
1362
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1542
1363
|
}
|
|
1543
|
-
__name(
|
|
1364
|
+
__name(_ts_decorate7, "_ts_decorate");
|
|
1544
1365
|
var ACTIVE_STAKE_TTL = 1e3 * 60 * 60 * 2;
|
|
1545
1366
|
var NO_ACTIVE_STAKE_TTL = 1e3 * 2;
|
|
1546
1367
|
var STAKE_CACHE_MAX_ENTRIES = 1e4;
|
|
1547
|
-
var XyoStakeIntentService = class extends
|
|
1368
|
+
var XyoStakeIntentService = class _XyoStakeIntentService extends AbstractCreatableProvider9 {
|
|
1548
1369
|
static {
|
|
1549
1370
|
__name(this, "XyoStakeIntentService");
|
|
1550
1371
|
}
|
|
1372
|
+
static defaultMoniker = "StakeIntent";
|
|
1373
|
+
static dependencies = [];
|
|
1374
|
+
static monikers = [
|
|
1375
|
+
_XyoStakeIntentService.defaultMoniker
|
|
1376
|
+
];
|
|
1377
|
+
moniker = "StakeIntent";
|
|
1551
1378
|
// TODO: Use hash instead of block number to handle chain reorgs
|
|
1552
1379
|
_lastIndexedBlockHash = void 0;
|
|
1553
1380
|
// TODO: Interval tree per declaration (bank, validator, etc.)
|
|
@@ -1561,26 +1388,26 @@ var XyoStakeIntentService = class extends BaseService {
|
|
|
1561
1388
|
_stakeCache = new LRUCache({
|
|
1562
1389
|
max: STAKE_CACHE_MAX_ENTRIES
|
|
1563
1390
|
});
|
|
1564
|
-
_updateMutex = new
|
|
1391
|
+
_updateMutex = new Mutex2();
|
|
1565
1392
|
_blockViewer;
|
|
1566
1393
|
_chainStakeViewer;
|
|
1567
1394
|
get blockViewer() {
|
|
1568
1395
|
return this._blockViewer;
|
|
1569
1396
|
}
|
|
1570
1397
|
get chainArchivist() {
|
|
1571
|
-
return
|
|
1398
|
+
return assertEx13(this.params.chainArchivist, () => "chainArchivist not set");
|
|
1572
1399
|
}
|
|
1573
1400
|
get chainStakeViewer() {
|
|
1574
1401
|
return this._chainStakeViewer;
|
|
1575
1402
|
}
|
|
1576
1403
|
get stakeIntentStateArchivist() {
|
|
1577
|
-
return
|
|
1404
|
+
return assertEx13(this.params.stakeIntentStateArchivist, () => "stakeIntentStateArchivist not set");
|
|
1578
1405
|
}
|
|
1579
1406
|
static async paramsHandler(params) {
|
|
1580
1407
|
return {
|
|
1581
1408
|
...await super.paramsHandler(params),
|
|
1582
|
-
chainArchivist:
|
|
1583
|
-
stakeIntentStateArchivist:
|
|
1409
|
+
chainArchivist: assertEx13(params?.chainArchivist, () => "chainArchivist is required"),
|
|
1410
|
+
stakeIntentStateArchivist: assertEx13(params?.stakeIntentStateArchivist, () => "stakeIntentStateArchivist is required")
|
|
1584
1411
|
};
|
|
1585
1412
|
}
|
|
1586
1413
|
async createHandler() {
|
|
@@ -1592,13 +1419,13 @@ var XyoStakeIntentService = class extends BaseService {
|
|
|
1592
1419
|
}
|
|
1593
1420
|
async getDeclaredCandidateRanges(address, intent) {
|
|
1594
1421
|
await Promise.resolve();
|
|
1595
|
-
|
|
1422
|
+
assertEx13(intent === "producer", () => `Support not yet added for intent ${intent}`);
|
|
1596
1423
|
const results = this._producers.get(address);
|
|
1597
1424
|
return results ?? [];
|
|
1598
1425
|
}
|
|
1599
1426
|
async getDeclaredCandidatesForBlock(block, intent) {
|
|
1600
1427
|
return await this.spanAsync("getDeclaredCandidatesForBlock", async () => {
|
|
1601
|
-
|
|
1428
|
+
assertEx13(intent === "producer", () => `Support not yet added for intent ${intent}`);
|
|
1602
1429
|
const results = this._producers.findAllContaining(block);
|
|
1603
1430
|
const candidates = [
|
|
1604
1431
|
...results
|
|
@@ -1663,8 +1490,8 @@ var XyoStakeIntentService = class extends BaseService {
|
|
|
1663
1490
|
]);
|
|
1664
1491
|
}
|
|
1665
1492
|
async recoverState(current) {
|
|
1666
|
-
return await
|
|
1667
|
-
const currentBlock =
|
|
1493
|
+
return await timeBudget("XyoStakeIntentService.recoverState", console, async () => {
|
|
1494
|
+
const currentBlock = assertEx13(asBlockBoundWitness2((await this.chainArchivist.get([
|
|
1668
1495
|
current
|
|
1669
1496
|
]))?.[0]), () => `Block ${current} not found`);
|
|
1670
1497
|
const currentBlockNum = currentBlock.block;
|
|
@@ -1706,7 +1533,7 @@ var XyoStakeIntentService = class extends BaseService {
|
|
|
1706
1533
|
return await this.spanAsync("updateIndex", async () => {
|
|
1707
1534
|
const currentHead = (await this.blockViewer.currentBlock())[0];
|
|
1708
1535
|
if (isUndefined2(currentHead)) return;
|
|
1709
|
-
return await
|
|
1536
|
+
return await timeBudget("XyoStakeIntentService.updateIndex", console, async () => {
|
|
1710
1537
|
const currentHeadHash = currentHead._hash;
|
|
1711
1538
|
const chainMap = readPayloadMapFromStore(this.chainArchivist);
|
|
1712
1539
|
const result = await analyzeChain({
|
|
@@ -1733,29 +1560,21 @@ var XyoStakeIntentService = class extends BaseService {
|
|
|
1733
1560
|
});
|
|
1734
1561
|
}
|
|
1735
1562
|
};
|
|
1736
|
-
XyoStakeIntentService =
|
|
1737
|
-
|
|
1563
|
+
XyoStakeIntentService = _ts_decorate7([
|
|
1564
|
+
creatableProvider6()
|
|
1738
1565
|
], XyoStakeIntentService);
|
|
1739
1566
|
|
|
1740
1567
|
// src/StepStake/BaseStepStakeService.ts
|
|
1741
|
-
import {
|
|
1742
|
-
|
|
1743
|
-
function _ts_decorate10(decorators, target, key, desc) {
|
|
1744
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1745
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1746
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
1747
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1748
|
-
}
|
|
1749
|
-
__name(_ts_decorate10, "_ts_decorate");
|
|
1750
|
-
var BaseStepStakeService = class _BaseStepStakeService extends BaseService {
|
|
1568
|
+
import { AbstractCreatableProvider as AbstractCreatableProvider10, StepStakeViewerMoniker } from "@xyo-network/xl1-sdk";
|
|
1569
|
+
var AbstractStepStakeService = class _AbstractStepStakeService extends AbstractCreatableProvider10 {
|
|
1751
1570
|
static {
|
|
1752
|
-
__name(this, "
|
|
1571
|
+
__name(this, "AbstractStepStakeService");
|
|
1753
1572
|
}
|
|
1754
1573
|
static defaultMoniker = StepStakeViewerMoniker;
|
|
1755
1574
|
static monikers = [
|
|
1756
1575
|
StepStakeViewerMoniker
|
|
1757
1576
|
];
|
|
1758
|
-
moniker =
|
|
1577
|
+
moniker = _AbstractStepStakeService.defaultMoniker;
|
|
1759
1578
|
stepStake(_step) {
|
|
1760
1579
|
throw new Error("Method [stepStake] not implemented.");
|
|
1761
1580
|
}
|
|
@@ -1763,17 +1582,12 @@ var BaseStepStakeService = class _BaseStepStakeService extends BaseService {
|
|
|
1763
1582
|
throw new Error("Method [stepStakeForAddress] not implemented.");
|
|
1764
1583
|
}
|
|
1765
1584
|
};
|
|
1766
|
-
BaseStepStakeService = _ts_decorate10([
|
|
1767
|
-
creatable9()
|
|
1768
|
-
], BaseStepStakeService);
|
|
1769
1585
|
export {
|
|
1770
|
-
|
|
1586
|
+
AbstractStepStakeService,
|
|
1771
1587
|
BaseElectionService,
|
|
1772
1588
|
BaseNetworkStakeStepRewardService,
|
|
1773
1589
|
BasePendingTransactionsService,
|
|
1774
1590
|
BaseSchemasService,
|
|
1775
|
-
BaseService,
|
|
1776
|
-
BaseStepStakeService,
|
|
1777
1591
|
DEFAULT_BLOCK_SIZE,
|
|
1778
1592
|
EvmBlockRewardViewer,
|
|
1779
1593
|
EvmChainViewer,
|
|
@@ -1786,20 +1600,10 @@ export {
|
|
|
1786
1600
|
accountBalancesViewerFromArchivist,
|
|
1787
1601
|
blockViewerFromChainIteratorAndArchivist,
|
|
1788
1602
|
canUseEvmProvider,
|
|
1789
|
-
creatableService,
|
|
1790
1603
|
createBootstrapHead,
|
|
1791
1604
|
getBlockSignedStakeDeclarations,
|
|
1792
|
-
initAccountBalanceService,
|
|
1793
|
-
initBlockRewardViewer,
|
|
1794
|
-
initBlockViewer,
|
|
1795
1605
|
initChainService,
|
|
1796
|
-
initEvmBlockRewardViewer,
|
|
1797
1606
|
initEvmProvider,
|
|
1798
|
-
initMemoryChainService
|
|
1799
|
-
initMempoolRunner,
|
|
1800
|
-
initMempoolViewer,
|
|
1801
|
-
initPendingTransactions,
|
|
1802
|
-
initXyoBlockRewardViewer,
|
|
1803
|
-
submitNewChain
|
|
1607
|
+
initMemoryChainService
|
|
1804
1608
|
};
|
|
1805
1609
|
//# sourceMappingURL=index.mjs.map
|