@xyo-network/chain-services 1.18.4 → 1.19.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/neutral/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.d.ts +1 -2
- package/dist/neutral/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.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 +36 -149
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/simple/block/runner/SimpleBlockRunner.d.ts +5 -3
- package/dist/neutral/simple/block/runner/SimpleBlockRunner.d.ts.map +1 -1
- package/package.json +20 -20
- package/src/Election/BaseElectionService.ts +1 -1
- package/src/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.ts +1 -2
- package/src/PendingTransactions/BasePendingTransactions.ts +3 -3
- package/src/Schemas/BaseSchemasService.ts +1 -1
- package/src/StakeIntent/XyoStakeIntentService.ts +3 -3
- package/src/index.ts +0 -1
- package/src/simple/block/runner/SimpleBlockRunner.ts +1 -1
- package/dist/neutral/blockViewerFromChainIteratorAndArchivist.d.ts +0 -4
- package/dist/neutral/blockViewerFromChainIteratorAndArchivist.d.ts.map +0 -1
- package/src/blockViewerFromChainIteratorAndArchivist.ts +0 -102
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { Address, Promisable } from '@xylabs/sdk-js';
|
|
2
2
|
import { ReadArchivist } from '@xyo-network/archivist-model';
|
|
3
|
-
import { AbstractCreatableProvider, AttoXL1,
|
|
3
|
+
import { AbstractCreatableProvider, AttoXL1, NetworkStakeStepRewardService, StepIdentity, StepIdentityString } from '@xyo-network/xl1-sdk';
|
|
4
4
|
import { Provider } from 'ethers';
|
|
5
5
|
import { BaseServiceParams } from '../model/index.ts';
|
|
6
6
|
export interface BaseNetworkStakeStepRewardServiceParams extends BaseServiceParams {
|
|
7
7
|
chainArchivist: ReadArchivist;
|
|
8
|
-
chainIterator: EventingChainBlockNumberIteratorService;
|
|
9
8
|
ethProvider?: Provider;
|
|
10
9
|
}
|
|
11
10
|
export declare class BaseNetworkStakeStepRewardService extends AbstractCreatableProvider<BaseNetworkStakeStepRewardServiceParams> implements NetworkStakeStepRewardService {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseNetworkStakeStepRewardService.d.ts","sourceRoot":"","sources":["../../../src/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EACL,yBAAyB,EACzB,OAAO,EAEP,
|
|
1
|
+
{"version":3,"file":"BaseNetworkStakeStepRewardService.d.ts","sourceRoot":"","sources":["../../../src/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.ts"],"names":[],"mappings":"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"}
|
package/dist/neutral/index.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export * from './AccountBalance/index.ts';
|
|
2
2
|
export * from './BlockReward/index.ts';
|
|
3
|
-
export * from './blockViewerFromChainIteratorAndArchivist.ts';
|
|
4
3
|
export * from './ChainValidator/index.ts';
|
|
5
4
|
export * from './Election/index.ts';
|
|
6
5
|
export * from './implementation/index.ts';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA;AACzC,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA;AACzC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mCAAmC,CAAA;AACjD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA"}
|
package/dist/neutral/index.mjs
CHANGED
|
@@ -102,104 +102,8 @@ EvmBlockRewardViewer = _ts_decorate([
|
|
|
102
102
|
creatable()
|
|
103
103
|
], EvmBlockRewardViewer);
|
|
104
104
|
|
|
105
|
-
// src/blockViewerFromChainIteratorAndArchivist.ts
|
|
106
|
-
import { isDefined } from "@xylabs/sdk-js";
|
|
107
|
-
import { PayloadBuilder } from "@xyo-network/payload-builder";
|
|
108
|
-
import { asSignedBlockBoundWitness, asSignedBlockBoundWitnessWithStorageMeta, BlockViewerMoniker } from "@xyo-network/xl1-sdk";
|
|
109
|
-
function blockViewerFromChainIteratorAndArchivist(chainIterator, chainArchivist) {
|
|
110
|
-
const result = {
|
|
111
|
-
blockByHash: /* @__PURE__ */ __name(async function(hash) {
|
|
112
|
-
const [payload] = await chainArchivist.get([
|
|
113
|
-
hash
|
|
114
|
-
]);
|
|
115
|
-
const block = asSignedBlockBoundWitnessWithStorageMeta(payload);
|
|
116
|
-
if (isDefined(block)) {
|
|
117
|
-
const payloads = await chainArchivist.get(block.payload_hashes);
|
|
118
|
-
return [
|
|
119
|
-
block,
|
|
120
|
-
payloads
|
|
121
|
-
];
|
|
122
|
-
}
|
|
123
|
-
return null;
|
|
124
|
-
}, "blockByHash"),
|
|
125
|
-
blockByNumber: /* @__PURE__ */ __name(async function(blockNumber) {
|
|
126
|
-
const payload = asSignedBlockBoundWitness(await chainIterator.get(blockNumber));
|
|
127
|
-
const block = payload ? await PayloadBuilder.addHashMeta(payload) : void 0;
|
|
128
|
-
if (isDefined(block)) {
|
|
129
|
-
const payloads = await chainArchivist.get(block.payload_hashes);
|
|
130
|
-
return [
|
|
131
|
-
block,
|
|
132
|
-
payloads
|
|
133
|
-
];
|
|
134
|
-
}
|
|
135
|
-
return null;
|
|
136
|
-
}, "blockByNumber"),
|
|
137
|
-
blocksByHash: /* @__PURE__ */ __name(async function(hash, limit = 10) {
|
|
138
|
-
const results = [];
|
|
139
|
-
for (let i = 0; i < limit; i++) {
|
|
140
|
-
const block = await this.blockByHash(hash);
|
|
141
|
-
if (block) {
|
|
142
|
-
results.push(block);
|
|
143
|
-
} else {
|
|
144
|
-
break;
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
return results;
|
|
148
|
-
}, "blocksByHash"),
|
|
149
|
-
blocksByNumber: /* @__PURE__ */ __name(async function(number, limit = 10) {
|
|
150
|
-
const results = [];
|
|
151
|
-
for (let i = 0; i < limit; i++) {
|
|
152
|
-
const block = await this.blockByNumber(number);
|
|
153
|
-
if (block) {
|
|
154
|
-
results.push(block);
|
|
155
|
-
} else {
|
|
156
|
-
break;
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
return results;
|
|
160
|
-
}, "blocksByNumber"),
|
|
161
|
-
chainId: /* @__PURE__ */ __name(async function(blockNumber = "latest") {
|
|
162
|
-
const block = blockNumber === "latest" ? await this.currentBlock() : await this.blockByNumber(blockNumber);
|
|
163
|
-
if (!block) {
|
|
164
|
-
throw new Error(`Block not found for block number: ${blockNumber}`);
|
|
165
|
-
}
|
|
166
|
-
return block[0].chain;
|
|
167
|
-
}, "chainId"),
|
|
168
|
-
currentBlock: /* @__PURE__ */ __name(async function() {
|
|
169
|
-
const head = await chainIterator.head();
|
|
170
|
-
return this.blockByHash(head._hash);
|
|
171
|
-
}, "currentBlock"),
|
|
172
|
-
currentBlockHash: /* @__PURE__ */ __name(async function() {
|
|
173
|
-
const head = await chainIterator.head();
|
|
174
|
-
return head._hash;
|
|
175
|
-
}, "currentBlockHash"),
|
|
176
|
-
currentBlockNumber: /* @__PURE__ */ __name(async function() {
|
|
177
|
-
const head = await chainIterator.head();
|
|
178
|
-
return head.block;
|
|
179
|
-
}, "currentBlockNumber"),
|
|
180
|
-
moniker: BlockViewerMoniker,
|
|
181
|
-
payloadByHash: /* @__PURE__ */ __name(function(_hash) {
|
|
182
|
-
throw new Error("Function not implemented.");
|
|
183
|
-
}, "payloadByHash"),
|
|
184
|
-
payloadsByHash: /* @__PURE__ */ __name(function(_hashes) {
|
|
185
|
-
throw new Error("Function not implemented.");
|
|
186
|
-
}, "payloadsByHash"),
|
|
187
|
-
rate(..._args) {
|
|
188
|
-
throw new Error("Function not implemented.");
|
|
189
|
-
},
|
|
190
|
-
stepSizeRate(..._args) {
|
|
191
|
-
throw new Error("Function not implemented.");
|
|
192
|
-
},
|
|
193
|
-
timeDurationRate(..._args) {
|
|
194
|
-
throw new Error("Function not implemented.");
|
|
195
|
-
}
|
|
196
|
-
};
|
|
197
|
-
return result;
|
|
198
|
-
}
|
|
199
|
-
__name(blockViewerFromChainIteratorAndArchivist, "blockViewerFromChainIteratorAndArchivist");
|
|
200
|
-
|
|
201
105
|
// src/ChainValidator/XyoValidator.ts
|
|
202
|
-
import { AbstractCreatableProvider, BlockViewerMoniker
|
|
106
|
+
import { AbstractCreatableProvider, BlockViewerMoniker } from "@xyo-network/xl1-sdk";
|
|
203
107
|
var XyoValidator = class extends AbstractCreatableProvider {
|
|
204
108
|
static {
|
|
205
109
|
__name(this, "XyoValidator");
|
|
@@ -228,7 +132,7 @@ var XyoValidator = class extends AbstractCreatableProvider {
|
|
|
228
132
|
// return assertEx(this.params.blockRewardService, () => 'blockRewardService is required')
|
|
229
133
|
// }
|
|
230
134
|
async createHandler() {
|
|
231
|
-
this._blockViewer = await this.locator.getInstance(
|
|
135
|
+
this._blockViewer = await this.locator.getInstance(BlockViewerMoniker);
|
|
232
136
|
}
|
|
233
137
|
validatePendingBlock(_block) {
|
|
234
138
|
return [];
|
|
@@ -277,9 +181,7 @@ var BaseElectionService = class _BaseElectionService extends AbstractCreatablePr
|
|
|
277
181
|
const candidates = await this.stakeIntentService.getDeclaredCandidatesForBlock(nextBlock, "producer");
|
|
278
182
|
const previousBlockHash = current._hash;
|
|
279
183
|
return this.generateCreatorCommittee(candidates, previousBlockHash);
|
|
280
|
-
},
|
|
281
|
-
timeBudgetLimit: 200
|
|
282
|
-
});
|
|
184
|
+
}, this.context);
|
|
283
185
|
}
|
|
284
186
|
generateCreatorCommittee(candidates, previousBlockHash, maxSize = 3) {
|
|
285
187
|
const creators = new Set(candidates);
|
|
@@ -296,13 +198,13 @@ BaseElectionService = _ts_decorate2([
|
|
|
296
198
|
import { assertEx as assertEx7 } from "@xylabs/sdk-js";
|
|
297
199
|
|
|
298
200
|
// src/implementation/evm/initInfuraProvider.ts
|
|
299
|
-
import { assertEx as assertEx5, isDefined as
|
|
201
|
+
import { assertEx as assertEx5, isDefined as isDefined2 } from "@xylabs/sdk-js";
|
|
300
202
|
import { InfuraProvider } from "ethers/providers";
|
|
301
203
|
|
|
302
204
|
// src/implementation/evm/initChainId.ts
|
|
303
|
-
import { assertEx as assertEx4, hexFrom, isDefined
|
|
205
|
+
import { assertEx as assertEx4, hexFrom, isDefined, isHex } from "@xylabs/sdk-js";
|
|
304
206
|
var canUseChainId = /* @__PURE__ */ __name((config) => {
|
|
305
|
-
return
|
|
207
|
+
return isDefined(config.evm.chainId);
|
|
306
208
|
}, "canUseChainId");
|
|
307
209
|
var getChainId = /* @__PURE__ */ __name((config) => {
|
|
308
210
|
const chainId = assertEx4(config.evm.chainId, () => "Missing config.evm.chainId");
|
|
@@ -327,7 +229,7 @@ var initInfuraProvider = /* @__PURE__ */ __name((config) => {
|
|
|
327
229
|
return instance;
|
|
328
230
|
}, "initInfuraProvider");
|
|
329
231
|
var canUseInfuraProvider = /* @__PURE__ */ __name((config) => {
|
|
330
|
-
return canUseChainId(config) &&
|
|
232
|
+
return canUseChainId(config) && isDefined2(config.evm?.infura?.projectId) && isDefined2(config.evm?.infura?.projectSecret);
|
|
331
233
|
}, "canUseInfuraProvider");
|
|
332
234
|
var getInfuraProviderConfig = /* @__PURE__ */ __name((config) => {
|
|
333
235
|
const projectId = assertEx5(config.evm?.infura?.projectId, () => "Missing config.evm.infura.projectId");
|
|
@@ -340,14 +242,14 @@ var getInfuraProviderConfig = /* @__PURE__ */ __name((config) => {
|
|
|
340
242
|
}, "getInfuraProviderConfig");
|
|
341
243
|
|
|
342
244
|
// src/implementation/evm/initJsonRpcProvider.ts
|
|
343
|
-
import { assertEx as assertEx6, isDefined as
|
|
245
|
+
import { assertEx as assertEx6, isDefined as isDefined3 } from "@xylabs/sdk-js";
|
|
344
246
|
import { JsonRpcProvider } from "ethers/providers";
|
|
345
247
|
var initJsonRpcProvider = /* @__PURE__ */ __name((config) => {
|
|
346
248
|
const providerConfig = getJsonRpcProviderConfig(config);
|
|
347
249
|
return Promise.resolve(new JsonRpcProvider(...providerConfig));
|
|
348
250
|
}, "initJsonRpcProvider");
|
|
349
251
|
var canUseJsonRpcProvider = /* @__PURE__ */ __name((config) => {
|
|
350
|
-
return canUseChainId(config) &&
|
|
252
|
+
return canUseChainId(config) && isDefined3(config.evm.jsonRpc?.url);
|
|
351
253
|
}, "canUseJsonRpcProvider");
|
|
352
254
|
var getJsonRpcProviderConfig = /* @__PURE__ */ __name((config) => {
|
|
353
255
|
const jsonRpcUrl = assertEx6(config.evm.jsonRpc?.url, () => "Missing config.evm.jsonRpc.url");
|
|
@@ -469,16 +371,16 @@ BaseNetworkStakeStepRewardService = _ts_decorate3([
|
|
|
469
371
|
|
|
470
372
|
// src/PendingTransactions/BasePendingTransactions.ts
|
|
471
373
|
import { ValueType } from "@opentelemetry/api";
|
|
472
|
-
import { assertEx as assertEx8, exists, filterAs, filterAsync, forget, isDefined as
|
|
374
|
+
import { assertEx as assertEx8, exists, filterAs, filterAsync, forget, isDefined as isDefined4, isUndefined } from "@xylabs/sdk-js";
|
|
473
375
|
import { MemoryArchivist } from "@xyo-network/archivist-memory";
|
|
474
376
|
import { AbstractCreatableProvider as AbstractCreatableProvider4, asBlockBoundWitnessWithHashMeta, asXL1BlockNumber, creatableProvider as creatableProvider3, findMostRecentBlock as findMostRecentBlock2, isTransactionBoundWitnessWithStorageMeta, MempoolViewerMoniker, TransactionJsonSchemaValidator, validateTransaction } from "@xyo-network/xl1-sdk";
|
|
475
377
|
import { Mutex } from "async-mutex";
|
|
476
378
|
|
|
477
379
|
// src/PendingTransactions/bundledPayloadToHydratedTransaction.ts
|
|
478
|
-
import { PayloadBuilder
|
|
380
|
+
import { PayloadBuilder } from "@xyo-network/payload-builder";
|
|
479
381
|
import { asSignedTransactionBoundWitnessWithHashMeta } from "@xyo-network/xl1-sdk";
|
|
480
382
|
var bundledPayloadToHydratedTransaction = /* @__PURE__ */ __name(async (payload) => {
|
|
481
|
-
const withHashMeta = await
|
|
383
|
+
const withHashMeta = await PayloadBuilder.addHashMeta(payload.payloads);
|
|
482
384
|
const tx = asSignedTransactionBoundWitnessWithHashMeta(withHashMeta.find((p) => p._hash === payload.root));
|
|
483
385
|
if (tx) {
|
|
484
386
|
return [
|
|
@@ -489,7 +391,7 @@ var bundledPayloadToHydratedTransaction = /* @__PURE__ */ __name(async (payload)
|
|
|
489
391
|
}, "bundledPayloadToHydratedTransaction");
|
|
490
392
|
|
|
491
393
|
// src/PendingTransactions/hydratedTransactionToPayloadBundle.ts
|
|
492
|
-
import { PayloadBuilder as
|
|
394
|
+
import { PayloadBuilder as PayloadBuilder2 } from "@xyo-network/payload-builder";
|
|
493
395
|
import { PayloadBundleSchema } from "@xyo-network/payload-model";
|
|
494
396
|
import { flattenHydratedTransaction } from "@xyo-network/xl1-sdk";
|
|
495
397
|
var hydratedTransactionToPayloadBundle = /* @__PURE__ */ __name((transaction) => {
|
|
@@ -497,8 +399,8 @@ var hydratedTransactionToPayloadBundle = /* @__PURE__ */ __name((transaction) =>
|
|
|
497
399
|
return bundle(root, transaction);
|
|
498
400
|
}, "hydratedTransactionToPayloadBundle");
|
|
499
401
|
var bundle = /* @__PURE__ */ __name((root, transaction) => {
|
|
500
|
-
const payloads = flattenHydratedTransaction(transaction).flatMap((p) =>
|
|
501
|
-
return new
|
|
402
|
+
const payloads = flattenHydratedTransaction(transaction).flatMap((p) => PayloadBuilder2.omitStorageMeta(p));
|
|
403
|
+
return new PayloadBuilder2({
|
|
502
404
|
schema: PayloadBundleSchema
|
|
503
405
|
}).fields({
|
|
504
406
|
payloads,
|
|
@@ -655,14 +557,12 @@ var BasePendingTransactionsService = class _BasePendingTransactionsService exten
|
|
|
655
557
|
}
|
|
656
558
|
return foundPendingTransactions;
|
|
657
559
|
}, _BasePendingTransactionsService.MutexPriority.ReadTransactions);
|
|
658
|
-
},
|
|
659
|
-
timeBudgetLimit: 100
|
|
660
|
-
});
|
|
560
|
+
}, this.context);
|
|
661
561
|
}
|
|
662
562
|
async cleanupWorker() {
|
|
663
563
|
return await this._updateCuratedPendingTransactionsArchivistMutex.runExclusive(async () => {
|
|
664
564
|
const lastHead = await findMostRecentBlock2(this.chainArchivist);
|
|
665
|
-
if (
|
|
565
|
+
if (isDefined4(lastHead)) await this.pruneCuratedPendingTransactionsArchivist(lastHead._hash);
|
|
666
566
|
}, _BasePendingTransactionsService.MutexPriority.PurgeTransactions);
|
|
667
567
|
}
|
|
668
568
|
async countPendingTransactions() {
|
|
@@ -703,9 +603,7 @@ var BasePendingTransactionsService = class _BasePendingTransactionsService exten
|
|
|
703
603
|
await this.pendingBundledTransactionsLocalArchivist.insert(bundledTransactions);
|
|
704
604
|
}
|
|
705
605
|
}, _BasePendingTransactionsService.MutexPriority.InsertNewTransactions);
|
|
706
|
-
},
|
|
707
|
-
timeBudgetLimit: 200
|
|
708
|
-
});
|
|
606
|
+
}, this.context);
|
|
709
607
|
}
|
|
710
608
|
/**
|
|
711
609
|
* Marks any included transactions in the provided payloads for removal preventing them
|
|
@@ -726,7 +624,7 @@ var BasePendingTransactionsService = class _BasePendingTransactionsService exten
|
|
|
726
624
|
let [lastHead] = filterAs(await this.chainArchivist.get([
|
|
727
625
|
head
|
|
728
626
|
]), (x) => asBlockBoundWitnessWithHashMeta(x));
|
|
729
|
-
while (
|
|
627
|
+
while (isDefined4(lastHead)) {
|
|
730
628
|
const pendingBundledTransactions = await this.pendingBundledTransactionsLocalArchivist.next({
|
|
731
629
|
limit: 100,
|
|
732
630
|
order: "asc",
|
|
@@ -757,9 +655,7 @@ var BasePendingTransactionsService = class _BasePendingTransactionsService exten
|
|
|
757
655
|
this.logger?.log(payload._hash);
|
|
758
656
|
}
|
|
759
657
|
}
|
|
760
|
-
},
|
|
761
|
-
timeBudgetLimit: 200
|
|
762
|
-
});
|
|
658
|
+
}, this.context);
|
|
763
659
|
}
|
|
764
660
|
};
|
|
765
661
|
BasePendingTransactionsService = _ts_decorate4([
|
|
@@ -801,9 +697,7 @@ var BaseSchemasService = class _BaseSchemasService extends AbstractCreatableProv
|
|
|
801
697
|
result[schema] = count;
|
|
802
698
|
}
|
|
803
699
|
return result;
|
|
804
|
-
},
|
|
805
|
-
timeBudgetLimit: 100
|
|
806
|
-
});
|
|
700
|
+
}, this.context);
|
|
807
701
|
}
|
|
808
702
|
};
|
|
809
703
|
BaseSchemasService = _ts_decorate5([
|
|
@@ -811,23 +705,23 @@ BaseSchemasService = _ts_decorate5([
|
|
|
811
705
|
], BaseSchemasService);
|
|
812
706
|
|
|
813
707
|
// src/simple/block/runner/SimpleBlockRunner.ts
|
|
814
|
-
import { assertEx as assertEx10, exists as exists2, hexToBigInt, isDefined as
|
|
708
|
+
import { assertEx as assertEx10, exists as exists2, hexToBigInt, isDefined as isDefined5 } from "@xylabs/sdk-js";
|
|
815
709
|
import { MemoryArchivist as MemoryArchivist2 } from "@xyo-network/archivist-memory";
|
|
816
710
|
import { FixedPercentageBlockRewardDiviner, FixedPercentageBlockRewardDivinerConfigSchema } from "@xyo-network/chain-modules";
|
|
817
711
|
import { buildNextBlock as buildNextBlock2 } from "@xyo-network/chain-protocol";
|
|
818
|
-
import { PayloadBuilder as
|
|
712
|
+
import { PayloadBuilder as PayloadBuilder4 } from "@xyo-network/payload-builder";
|
|
819
713
|
import { AbstractCreatableProvider as AbstractCreatableProvider6, 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";
|
|
820
714
|
|
|
821
715
|
// src/simple/block/runner/generateTransactionFeeTransfers.ts
|
|
822
716
|
import { hexFromBigInt } from "@xylabs/sdk-js";
|
|
823
717
|
import { assertEx as assertEx9 } from "@xylabs/sdk-js";
|
|
824
|
-
import { PayloadBuilder as
|
|
718
|
+
import { PayloadBuilder as PayloadBuilder3 } from "@xyo-network/payload-builder";
|
|
825
719
|
import { HydratedTransactionWrapper, transactionRequiredGas, TransferSchema, XYO_ZERO_ADDRESS } from "@xyo-network/xl1-sdk";
|
|
826
720
|
async function generateTransactionFeeTransfers(address, transactions) {
|
|
827
721
|
const txs = await Promise.all(transactions.map(async (tx) => {
|
|
828
722
|
return HydratedTransactionWrapper.parse([
|
|
829
|
-
await
|
|
830
|
-
await
|
|
723
|
+
await PayloadBuilder3.addStorageMeta(tx[0]),
|
|
724
|
+
await PayloadBuilder3.addStorageMeta(tx[1])
|
|
831
725
|
]);
|
|
832
726
|
}));
|
|
833
727
|
const txBaseFeeCosts = {};
|
|
@@ -998,7 +892,7 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
|
|
|
998
892
|
}
|
|
999
893
|
});
|
|
1000
894
|
}
|
|
1001
|
-
const blockId = new
|
|
895
|
+
const blockId = new PayloadBuilder4({
|
|
1002
896
|
schema: BlockNumberSchema
|
|
1003
897
|
}).fields({
|
|
1004
898
|
block
|
|
@@ -1071,9 +965,7 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
|
|
|
1071
965
|
this.logger?.error(`Error proposing next valid block: ${error.message}`);
|
|
1072
966
|
throw error;
|
|
1073
967
|
}
|
|
1074
|
-
},
|
|
1075
|
-
timeBudgetLimit: 200
|
|
1076
|
-
});
|
|
968
|
+
}, this.context);
|
|
1077
969
|
}
|
|
1078
970
|
// remove unfunded transactions and block transfers
|
|
1079
971
|
async filterByFunded(head, txs, transfers, validateBalances = false) {
|
|
@@ -1110,7 +1002,7 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
|
|
|
1110
1002
|
*/
|
|
1111
1003
|
heartbeatRequired(head) {
|
|
1112
1004
|
const epoch = head.$epoch;
|
|
1113
|
-
if (
|
|
1005
|
+
if (isDefined5(epoch)) {
|
|
1114
1006
|
const { heartbeatInterval } = this.params.context.config.producer;
|
|
1115
1007
|
if (Date.now() - epoch > heartbeatInterval) {
|
|
1116
1008
|
return true;
|
|
@@ -1153,8 +1045,8 @@ var mapBoundWitnessToStakeIntentHashes = /* @__PURE__ */ __name((bw) => {
|
|
|
1153
1045
|
import { asAddress, assertEx as assertEx11, filterAs as filterAs3, isUndefined as isUndefined2 } from "@xylabs/sdk-js";
|
|
1154
1046
|
import { analyzeChain, ChainStakeIntentAnalyzer, isChainSummaryStakeIntent } from "@xyo-network/chain-analyze";
|
|
1155
1047
|
import { DEFAULT_FIND_FIRST_MATCHING_NEXT_OPTIONS, findFirstMatching, IntervalMap } from "@xyo-network/chain-utils";
|
|
1156
|
-
import { PayloadBuilder as
|
|
1157
|
-
import { AbstractCreatableProvider as AbstractCreatableProvider7, asChainIndexingServiceStateWithStorageMeta, BlockViewerMoniker as
|
|
1048
|
+
import { PayloadBuilder as PayloadBuilder5 } from "@xyo-network/payload-builder";
|
|
1049
|
+
import { AbstractCreatableProvider as AbstractCreatableProvider7, asChainIndexingServiceStateWithStorageMeta, BlockViewerMoniker as BlockViewerMoniker2, ChainIndexingServiceStateSchema, ChainStakeViewerMoniker, creatableProvider as creatableProvider6, isChainIndexingServiceState, readPayloadMapFromStore, timeBudget } from "@xyo-network/xl1-sdk";
|
|
1158
1050
|
import { asBlockBoundWitness as asBlockBoundWitness2, asBlockBoundWitnessWithStorageMeta, asChainStakeIntent as asChainStakeIntent2 } from "@xyo-network/xl1-sdk";
|
|
1159
1051
|
import { Mutex as Mutex2 } from "async-mutex";
|
|
1160
1052
|
import { LRUCache } from "lru-cache";
|
|
@@ -1214,7 +1106,7 @@ var XyoStakeIntentService = class _XyoStakeIntentService extends AbstractCreatab
|
|
|
1214
1106
|
};
|
|
1215
1107
|
}
|
|
1216
1108
|
async createHandler() {
|
|
1217
|
-
this._blockViewer = await this.locator.getInstance(
|
|
1109
|
+
this._blockViewer = await this.locator.getInstance(BlockViewerMoniker2);
|
|
1218
1110
|
this._chainStakeViewer = await this.locator.getInstance(ChainStakeViewerMoniker);
|
|
1219
1111
|
const head = await this.blockViewer.currentBlock();
|
|
1220
1112
|
if (isUndefined2(head)) return;
|
|
@@ -1236,9 +1128,7 @@ var XyoStakeIntentService = class _XyoStakeIntentService extends AbstractCreatab
|
|
|
1236
1128
|
const requiredMinimumStake = this.getRequiredMinimumStakeForIntent(intent);
|
|
1237
1129
|
const validCandidates = await this.filterToValidStake(candidates, this.chainStakeViewer, requiredMinimumStake);
|
|
1238
1130
|
return validCandidates;
|
|
1239
|
-
},
|
|
1240
|
-
timeBudgetLimit: 200
|
|
1241
|
-
});
|
|
1131
|
+
}, this.context);
|
|
1242
1132
|
}
|
|
1243
1133
|
getRequiredMinimumStakeForIntent(intent) {
|
|
1244
1134
|
switch (intent) {
|
|
@@ -1284,7 +1174,7 @@ var XyoStakeIntentService = class _XyoStakeIntentService extends AbstractCreatab
|
|
|
1284
1174
|
}
|
|
1285
1175
|
async persistState(current) {
|
|
1286
1176
|
const state = this._producers.serialize();
|
|
1287
|
-
const payload = new
|
|
1177
|
+
const payload = new PayloadBuilder5({
|
|
1288
1178
|
schema: ChainIndexingServiceStateSchema
|
|
1289
1179
|
}).fields({
|
|
1290
1180
|
endBlockHash: current,
|
|
@@ -1340,7 +1230,7 @@ var XyoStakeIntentService = class _XyoStakeIntentService extends AbstractCreatab
|
|
|
1340
1230
|
if (isUndefined2(currentHead)) return;
|
|
1341
1231
|
const currentHeadHash = currentHead._hash;
|
|
1342
1232
|
const chainMap = readPayloadMapFromStore(this.chainArchivist);
|
|
1343
|
-
const result = await analyzeChain({
|
|
1233
|
+
const result = await analyzeChain(this.context, {
|
|
1344
1234
|
chainMap
|
|
1345
1235
|
}, [
|
|
1346
1236
|
new ChainStakeIntentAnalyzer("producer")
|
|
@@ -1359,9 +1249,7 @@ var XyoStakeIntentService = class _XyoStakeIntentService extends AbstractCreatab
|
|
|
1359
1249
|
}
|
|
1360
1250
|
}
|
|
1361
1251
|
this._lastIndexedBlockHash = currentHeadHash;
|
|
1362
|
-
},
|
|
1363
|
-
timeBudgetLimit: 1e3
|
|
1364
|
-
});
|
|
1252
|
+
}, this.context);
|
|
1365
1253
|
});
|
|
1366
1254
|
}
|
|
1367
1255
|
};
|
|
@@ -1401,7 +1289,6 @@ export {
|
|
|
1401
1289
|
XyoStakeIntentService,
|
|
1402
1290
|
XyoValidator,
|
|
1403
1291
|
accountBalancesViewerFromArchivist,
|
|
1404
|
-
blockViewerFromChainIteratorAndArchivist,
|
|
1405
1292
|
canUseEvmProvider,
|
|
1406
1293
|
createBootstrapHead,
|
|
1407
1294
|
getBlockSignedStakeDeclarations,
|