@xyo-network/xl1-protocol-sdk 1.15.2 → 1.15.4

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.
Files changed (153) hide show
  1. package/README.md +1507 -388
  2. package/dist/neutral/block/hydrate/hydrateBlock.d.ts +5 -2
  3. package/dist/neutral/block/hydrate/hydrateBlock.d.ts.map +1 -1
  4. package/dist/neutral/block/primitives/balances/balancesStepSummaryFromRange.d.ts.map +1 -1
  5. package/dist/neutral/block/primitives/balances/balancesSummary.d.ts.map +1 -1
  6. package/dist/neutral/block/primitives/blockFromBlockNumber.d.ts +2 -2
  7. package/dist/neutral/block/primitives/blockFromBlockNumber.d.ts.map +1 -1
  8. package/dist/neutral/block/primitives/hashFromBlockNumber.d.ts +2 -2
  9. package/dist/neutral/block/primitives/hashFromBlockNumber.d.ts.map +1 -1
  10. package/dist/neutral/block/primitives/model.d.ts +10 -8
  11. package/dist/neutral/block/primitives/model.d.ts.map +1 -1
  12. package/dist/neutral/block/primitives/payloads/StepSummary.d.ts.map +1 -1
  13. package/dist/neutral/block/primitives/payloads/TransfersSummary.d.ts +1 -2
  14. package/dist/neutral/block/primitives/payloads/TransfersSummary.d.ts.map +1 -1
  15. package/dist/neutral/block/primitives/transfers/transfersStepSummaryFromRange.d.ts.map +1 -1
  16. package/dist/neutral/block/primitives/transfers/transfersSummary.d.ts +1 -1
  17. package/dist/neutral/block/primitives/transfers/transfersSummary.d.ts.map +1 -1
  18. package/dist/neutral/config/Bridge.d.ts +8 -0
  19. package/dist/neutral/config/Bridge.d.ts.map +1 -0
  20. package/dist/neutral/config/Config.d.ts +5 -0
  21. package/dist/neutral/config/Config.d.ts.map +1 -1
  22. package/dist/neutral/index.d.ts +2 -0
  23. package/dist/neutral/index.d.ts.map +1 -1
  24. package/dist/neutral/index.mjs +335 -327
  25. package/dist/neutral/index.mjs.map +1 -1
  26. package/dist/neutral/instances/ShiftedBigIntConfig.d.ts +1 -1
  27. package/dist/neutral/instances/ShiftedBigIntConfig.d.ts.map +1 -1
  28. package/dist/neutral/instances/XL1Amount.d.ts +1 -1
  29. package/dist/neutral/instances/XL1Amount.d.ts.map +1 -1
  30. package/dist/neutral/map/AsynchronousMap.d.ts +14 -0
  31. package/dist/neutral/map/AsynchronousMap.d.ts.map +1 -0
  32. package/dist/neutral/map/MapType.d.ts +6 -0
  33. package/dist/neutral/map/MapType.d.ts.map +1 -0
  34. package/dist/neutral/map/SynchronousMap.d.ts +13 -0
  35. package/dist/neutral/map/SynchronousMap.d.ts.map +1 -0
  36. package/dist/neutral/map/index.d.ts +4 -0
  37. package/dist/neutral/map/index.d.ts.map +1 -0
  38. package/dist/neutral/model/ChainContext/ChainContext.d.ts +15 -0
  39. package/dist/neutral/model/ChainContext/ChainContext.d.ts.map +1 -0
  40. package/dist/neutral/model/ChainContext/ChainStakeContext.d.ts +10 -0
  41. package/dist/neutral/model/ChainContext/ChainStakeContext.d.ts.map +1 -0
  42. package/dist/neutral/model/ChainContext/ChainStateContext.d.ts +9 -0
  43. package/dist/neutral/model/ChainContext/ChainStateContext.d.ts.map +1 -0
  44. package/dist/neutral/model/ChainContext/ChainStoreContext.d.ts +10 -0
  45. package/dist/neutral/model/ChainContext/ChainStoreContext.d.ts.map +1 -0
  46. package/dist/neutral/model/ChainContext/index.d.ts +5 -0
  47. package/dist/neutral/model/ChainContext/index.d.ts.map +1 -0
  48. package/dist/neutral/model/ChainFork/ChainForkStatic.d.ts +8 -0
  49. package/dist/neutral/model/ChainFork/ChainForkStatic.d.ts.map +1 -0
  50. package/dist/neutral/model/ChainFork/index.d.ts +2 -0
  51. package/dist/neutral/model/ChainFork/index.d.ts.map +1 -0
  52. package/dist/neutral/model/ChainIdentity.d.ts +5 -0
  53. package/dist/neutral/model/ChainIdentity.d.ts.map +1 -0
  54. package/dist/neutral/model/ChainStake/ChainStakeRead.d.ts +17 -0
  55. package/dist/neutral/model/ChainStake/ChainStakeRead.d.ts.map +1 -0
  56. package/dist/neutral/model/ChainStake/ChainStakeStatic.d.ts +7 -0
  57. package/dist/neutral/model/ChainStake/ChainStakeStatic.d.ts.map +1 -0
  58. package/dist/neutral/model/ChainStake/ChainStakeWrite.d.ts +6 -0
  59. package/dist/neutral/model/ChainStake/ChainStakeWrite.d.ts.map +1 -0
  60. package/dist/neutral/model/ChainStake/index.d.ts +4 -0
  61. package/dist/neutral/model/ChainStake/index.d.ts.map +1 -0
  62. package/dist/neutral/model/ChainStore.d.ts +10 -0
  63. package/dist/neutral/model/ChainStore.d.ts.map +1 -0
  64. package/dist/neutral/model/PayloadMap.d.ts +7 -0
  65. package/dist/neutral/model/PayloadMap.d.ts.map +1 -0
  66. package/dist/neutral/model/StakeEvents.d.ts +31 -0
  67. package/dist/neutral/model/StakeEvents.d.ts.map +1 -0
  68. package/dist/neutral/model/index.d.ts +8 -0
  69. package/dist/neutral/model/index.d.ts.map +1 -0
  70. package/dist/neutral/payload/netTransfersForPayloads.d.ts +1 -1
  71. package/dist/neutral/payload/netTransfersForPayloads.d.ts.map +1 -1
  72. package/dist/neutral/steps/primitives/index.d.ts +0 -10
  73. package/dist/neutral/steps/primitives/index.d.ts.map +1 -1
  74. package/dist/neutral/time/primitives/xl1BlockNumberToEthBlockNumber.d.ts +2 -2
  75. package/dist/neutral/time/primitives/xl1BlockNumberToEthBlockNumber.d.ts.map +1 -1
  76. package/dist/neutral/transaction/buildTransaction.d.ts +2 -2
  77. package/dist/neutral/transaction/buildTransaction.d.ts.map +1 -1
  78. package/dist/neutral/transaction/buildUnsignedTransaction.d.ts +2 -2
  79. package/dist/neutral/transaction/buildUnsignedTransaction.d.ts.map +1 -1
  80. package/dist/neutral/transaction/hydrateTransaction.d.ts +5 -5
  81. package/dist/neutral/transaction/hydrateTransaction.d.ts.map +1 -1
  82. package/package.json +30 -29
  83. package/src/block/hydrate/hydrateBlock.ts +32 -10
  84. package/src/block/primitives/balances/balancesStepSummaryFromRange.ts +30 -23
  85. package/src/block/primitives/balances/balancesSummary.ts +3 -2
  86. package/src/block/primitives/blockFromBlockNumber.ts +8 -6
  87. package/src/block/primitives/hashFromBlockNumber.ts +2 -2
  88. package/src/block/primitives/model.ts +15 -11
  89. package/src/block/primitives/payloads/StepSummary.ts +1 -1
  90. package/src/block/primitives/payloads/TransfersSummary.ts +1 -2
  91. package/src/block/primitives/transfers/transfersStepSummaryFromRange.ts +43 -28
  92. package/src/block/primitives/transfers/transfersSummary.ts +12 -7
  93. package/src/config/Bridge.ts +26 -0
  94. package/src/config/Config.ts +2 -0
  95. package/src/index.ts +2 -0
  96. package/src/instances/ShiftedBigIntConfig.ts +1 -1
  97. package/src/instances/XL1Amount.ts +1 -1
  98. package/src/map/AsynchronousMap.ts +15 -0
  99. package/src/map/MapType.ts +8 -0
  100. package/src/map/SynchronousMap.ts +13 -0
  101. package/src/map/index.ts +3 -0
  102. package/src/model/ChainContext/ChainContext.ts +20 -0
  103. package/src/model/ChainContext/ChainStakeContext.ts +12 -0
  104. package/src/model/ChainContext/ChainStateContext.ts +10 -0
  105. package/src/model/ChainContext/ChainStoreContext.ts +12 -0
  106. package/src/model/ChainContext/index.ts +4 -0
  107. package/src/model/ChainFork/ChainForkStatic.ts +8 -0
  108. package/src/model/ChainFork/index.ts +1 -0
  109. package/src/model/ChainIdentity.ts +5 -0
  110. package/src/model/ChainStake/ChainStakeRead.ts +17 -0
  111. package/src/model/ChainStake/ChainStakeStatic.ts +7 -0
  112. package/src/model/ChainStake/ChainStakeWrite.ts +5 -0
  113. package/src/model/ChainStake/index.ts +3 -0
  114. package/src/model/ChainStore.ts +13 -0
  115. package/src/model/PayloadMap.ts +10 -0
  116. package/src/model/StakeEvents.ts +38 -0
  117. package/src/model/index.ts +7 -0
  118. package/src/payload/netTransfersForPayloads.ts +7 -12
  119. package/src/steps/primitives/index.ts +0 -10
  120. package/src/time/primitives/xl1BlockNumberToEthBlockNumber.ts +4 -5
  121. package/src/transaction/buildTransaction.ts +2 -2
  122. package/src/transaction/buildUnsignedTransaction.ts +2 -2
  123. package/src/transaction/hydrateTransaction.ts +24 -9
  124. package/dist/neutral/steps/primitives/networkStakeStepAddressReward.d.ts +0 -4
  125. package/dist/neutral/steps/primitives/networkStakeStepAddressReward.d.ts.map +0 -1
  126. package/dist/neutral/steps/primitives/networkStakeStepPoolRewardShares.d.ts +0 -4
  127. package/dist/neutral/steps/primitives/networkStakeStepPoolRewardShares.d.ts.map +0 -1
  128. package/dist/neutral/steps/primitives/networkStakeStepPoolRewards.d.ts +0 -4
  129. package/dist/neutral/steps/primitives/networkStakeStepPoolRewards.d.ts.map +0 -1
  130. package/dist/neutral/steps/primitives/networkStakeStepRewardAddressHistory.d.ts +0 -4
  131. package/dist/neutral/steps/primitives/networkStakeStepRewardAddressHistory.d.ts.map +0 -1
  132. package/dist/neutral/steps/primitives/networkStakeStepRewardAddressShare.d.ts +0 -4
  133. package/dist/neutral/steps/primitives/networkStakeStepRewardAddressShare.d.ts.map +0 -1
  134. package/dist/neutral/steps/primitives/networkStakeStepRewardForStep.d.ts +0 -3
  135. package/dist/neutral/steps/primitives/networkStakeStepRewardForStep.d.ts.map +0 -1
  136. package/dist/neutral/steps/primitives/networkStakeStepRewardPositionWeight.d.ts +0 -3
  137. package/dist/neutral/steps/primitives/networkStakeStepRewardPositionWeight.d.ts.map +0 -1
  138. package/dist/neutral/steps/primitives/networkStakeStepRewardPotentialPositionLoss.d.ts +0 -3
  139. package/dist/neutral/steps/primitives/networkStakeStepRewardPotentialPositionLoss.d.ts.map +0 -1
  140. package/dist/neutral/steps/primitives/networkStakeStepRewardRandomizer.d.ts +0 -3
  141. package/dist/neutral/steps/primitives/networkStakeStepRewardRandomizer.d.ts.map +0 -1
  142. package/dist/neutral/steps/primitives/networkStakeStepRewardWeightForAddress.d.ts +0 -4
  143. package/dist/neutral/steps/primitives/networkStakeStepRewardWeightForAddress.d.ts.map +0 -1
  144. package/src/steps/primitives/networkStakeStepAddressReward.ts +0 -6
  145. package/src/steps/primitives/networkStakeStepPoolRewardShares.ts +0 -6
  146. package/src/steps/primitives/networkStakeStepPoolRewards.ts +0 -6
  147. package/src/steps/primitives/networkStakeStepRewardAddressHistory.ts +0 -6
  148. package/src/steps/primitives/networkStakeStepRewardAddressShare.ts +0 -6
  149. package/src/steps/primitives/networkStakeStepRewardForStep.ts +0 -5
  150. package/src/steps/primitives/networkStakeStepRewardPositionWeight.ts +0 -5
  151. package/src/steps/primitives/networkStakeStepRewardPotentialPositionLoss.ts +0 -5
  152. package/src/steps/primitives/networkStakeStepRewardRandomizer.ts +0 -5
  153. package/src/steps/primitives/networkStakeStepRewardWeightForAddress.ts +0 -6
@@ -0,0 +1,7 @@
1
+ import type { Address } from '@xylabs/hex'
2
+
3
+ export interface ChainStakeStatic {
4
+ minWithdrawalBlocks: number
5
+ rewardsContract: Address
6
+ stakingTokenAddress: Address
7
+ }
@@ -0,0 +1,5 @@
1
+ export interface ChainStakeWrite {
2
+ addStake(staked: string, amount: bigint): Promise<boolean>
3
+ removeStake(slot: bigint): Promise<boolean>
4
+ withdrawStake(slot: bigint): Promise<boolean>
5
+ }
@@ -0,0 +1,3 @@
1
+ export * from './ChainStakeRead.ts'
2
+ export * from './ChainStakeStatic.ts'
3
+ export * from './ChainStakeWrite.ts'
@@ -0,0 +1,13 @@
1
+ import type { Payload, WithStorageMeta } from '@xyo-network/payload-model'
2
+
3
+ import type { PayloadMapRead, PayloadMapWrite } from './PayloadMap.ts'
4
+
5
+ export interface ChainStoreWrite {
6
+ chainMap: PayloadMapWrite<WithStorageMeta<Payload>>
7
+ }
8
+
9
+ export interface ChainStoreRead {
10
+ chainMap: PayloadMapRead<WithStorageMeta<Payload>>
11
+ }
12
+
13
+ export type ChainStore = ChainStoreRead & ChainStoreWrite
@@ -0,0 +1,10 @@
1
+ import type { Hash } from '@xylabs/hex'
2
+ import type { Payload } from '@xyo-network/payload-model'
3
+
4
+ import type {
5
+ MapType, MapTypeRead, MapTypeWrite,
6
+ } from '../map/index.ts'
7
+
8
+ export type PayloadMapWrite<T extends Payload = Payload> = MapTypeWrite<Hash, T>
9
+ export type PayloadMapRead<T extends Payload = Payload> = MapTypeRead<Hash, T>
10
+ export type PayloadMap<T extends Payload = Payload> = MapType<Hash, T>
@@ -0,0 +1,38 @@
1
+ import type { Address } from '@xylabs/hex'
2
+ import type { JsonObject } from '@xylabs/object'
3
+ import type { Promisable } from '@xylabs/promise'
4
+
5
+ export const StakeEventNames = ['StakeAdded', 'StakeRemoved', 'StakeWithdrawn'] as const
6
+ export type StakeEventName = typeof StakeEventNames[number]
7
+
8
+ export interface ExternalEvent<TName extends string = string, TArgs extends JsonObject = {}> {
9
+ args: TArgs
10
+ name: TName
11
+ time: number // usually block number
12
+ }
13
+
14
+ export interface EventFilter<TName extends string = string> {
15
+ name?: TName
16
+ time?: [number, number]
17
+ }
18
+
19
+ export interface StakeEventArgs {
20
+ amount: bigint
21
+ id: number
22
+ staked: Address
23
+ staker: Address
24
+ }
25
+
26
+ export type StakeEventFilterArgs = Partial<Pick<StakeEventArgs, 'staker' | 'staked'>>
27
+
28
+ export interface StakeEventFilter<TName extends StakeEventName = StakeEventName> extends EventFilter<TName> {
29
+ args?: StakeEventFilterArgs
30
+ }
31
+
32
+ export interface StakeEvent<TName extends StakeEventName = StakeEventName> extends ExternalEvent<TName> {
33
+ args: StakeEventArgs
34
+ }
35
+
36
+ export interface StakeEventsRead {
37
+ stakeEvents<TName extends StakeEventName>(range: [number, number | 'latest'], filter?: StakeEventFilter<TName>): Promisable<StakeEvent<TName>[]>
38
+ }
@@ -0,0 +1,7 @@
1
+ export * from './ChainContext/index.ts'
2
+ export * from './ChainFork/index.ts'
3
+ export * from './ChainIdentity.ts'
4
+ export * from './ChainStake/index.ts'
5
+ export * from './ChainStore.ts'
6
+ export * from './PayloadMap.ts'
7
+ export * from './StakeEvents.ts'
@@ -6,22 +6,17 @@ import type { Payload } from '@xyo-network/payload-model'
6
6
  import { isTransfer } from '@xyo-network/xl1-protocol'
7
7
 
8
8
  // the net transfer amounts for the specified accounts only
9
- export function netTransfersForPayloads(payloads: Payload[], account: Address): Record<Address, bigint> {
9
+ export function netTransfersForPayloads(payloads: Payload[]): Record<Address, Record<Address, bigint>> {
10
10
  return span('netTransfersForPayloads', () => {
11
- const transfers: Record<Address, bigint> = {}
11
+ const transfers: Record<Address, Record<Address, bigint>> = {}
12
12
  for (const payload of payloads) {
13
13
  if (isTransfer(payload)) {
14
14
  const { from } = payload
15
- for (let [address, amount] of Object.entries(payload.transfers) as [Address, Hex][]) {
16
- if (account === from) {
17
- if (address !== from) {
18
- transfers[address] = (transfers[address] ?? 0n) + hexToBigInt(amount)
19
- }
20
- } else {
21
- if (account === address) {
22
- transfers[from] = (transfers[from] ?? 0n) - hexToBigInt(amount)
23
- }
24
- }
15
+ transfers[from] = transfers[from] ?? {}
16
+ for (let [to, amount] of Object.entries(payload.transfers) as [Address, Hex][]) {
17
+ transfers[to] = transfers[to] ?? {}
18
+ transfers[to][from] = (transfers[to][from] ?? 0n) + hexToBigInt(amount)
19
+ transfers[from][to] = (transfers[from][to] ?? 0n) - hexToBigInt(amount)
25
20
  }
26
21
  }
27
22
  }
@@ -1,15 +1,5 @@
1
1
  export * from './addressStakeWeight.ts'
2
2
  export * from './claimedRewards.ts'
3
- export * from './networkStakeStepAddressReward.ts'
4
- export * from './networkStakeStepPoolRewards.ts'
5
- export * from './networkStakeStepPoolRewardShares.ts'
6
- export * from './networkStakeStepRewardAddressHistory.ts'
7
- export * from './networkStakeStepRewardAddressShare.ts'
8
- export * from './networkStakeStepRewardForStep.ts'
9
- export * from './networkStakeStepRewardPositionWeight.ts'
10
- export * from './networkStakeStepRewardPotentialPositionLoss.ts'
11
- export * from './networkStakeStepRewardRandomizer.ts'
12
- export * from './networkStakeStepRewardWeightForAddress.ts'
13
3
  export * from './stakersAsOfBlock.ts'
14
4
  export * from './startingStakes.ts'
15
5
  export * from './totalStakeWeight.ts'
@@ -1,13 +1,12 @@
1
1
  import { assertEx } from '@xylabs/assert'
2
2
  import { asTimePayload, TimeSchema } from '@xyo-network/xl1-protocol'
3
3
 
4
- import {
5
- type ChainContext, hashFromBlockNumber, hydrateBlock,
6
- } from '../../block/index.ts'
4
+ import { hashFromBlockNumber, hydrateBlock } from '../../block/index.ts'
5
+ import type { ChainContextRead } from '../../model/index.ts'
7
6
 
8
- export async function xl1BlockNumberToEthBlockNumber(context: ChainContext, xl1BlockNumber: number): Promise<number> {
7
+ export async function xl1BlockNumberToEthBlockNumber(context: ChainContextRead, xl1BlockNumber: number): Promise<number> {
9
8
  const blockHash = await hashFromBlockNumber(context, xl1BlockNumber)
10
- const hydratedBlock = await hydrateBlock(context.chainArchivist, blockHash)
9
+ const hydratedBlock = await hydrateBlock(context.store, blockHash)
11
10
  const timePayload = asTimePayload(hydratedBlock[1].find(p => p.schema === TimeSchema), { required: true })
12
11
  return assertEx(timePayload.ethereum, () => 'No ethereum timestamp found on block')
13
12
  }
@@ -7,7 +7,7 @@ import { PayloadBuilder } from '@xyo-network/payload-builder'
7
7
  import type { Payload } from '@xyo-network/payload-model'
8
8
  import type {
9
9
  AllowedBlockPayload,
10
- Chain,
10
+ ChainId,
11
11
  ExecutableFields,
12
12
  FromFields,
13
13
  SignedHydratedTransactionWithStorageMeta, TransactionBoundWitness, TransactionBoundWitnessFields, TransactionFeesBigInt,
@@ -15,7 +15,7 @@ import type {
15
15
  import { defaultTransactionFees } from '@xyo-network/xl1-protocol'
16
16
 
17
17
  export async function buildTransaction(
18
- chain: Chain,
18
+ chain: ChainId,
19
19
  onChainPayloads: AllowedBlockPayload[],
20
20
  offChainPayloads: Payload[],
21
21
  signer: AccountInstance | AccountInstance[],
@@ -5,7 +5,7 @@ import { PayloadBuilder } from '@xyo-network/payload-builder'
5
5
  import type { Payload } from '@xyo-network/payload-model'
6
6
  import type {
7
7
  AllowedBlockPayload,
8
- Chain,
8
+ ChainId,
9
9
  ExecutableFields,
10
10
  FromFields,
11
11
  SignedHydratedTransactionWithStorageMeta, TransactionBoundWitness, TransactionBoundWitnessFields, TransactionFeesBigInt,
@@ -13,7 +13,7 @@ import type {
13
13
  import { defaultTransactionFees } from '@xyo-network/xl1-protocol'
14
14
 
15
15
  export async function buildUnsignedTransaction(
16
- chain: Chain,
16
+ chain: ChainId,
17
17
  onChainPayloads: AllowedBlockPayload[],
18
18
  offChainPayloads: Payload[],
19
19
  nbf: number,
@@ -1,6 +1,5 @@
1
1
  import { assertEx } from '@xylabs/assert'
2
2
  import type { Hash } from '@xylabs/hex'
3
- import type { ReadArchivist } from '@xyo-network/archivist-model'
4
3
  import { hydrateTypedBoundWitness, tryHydrateTypedBoundWitness } from '@xyo-network/archivist-model'
5
4
  import type { Payload, WithStorageMeta } from '@xyo-network/payload-model'
6
5
  import type {
@@ -9,23 +8,39 @@ import type {
9
8
  } from '@xyo-network/xl1-protocol'
10
9
  import { isAllowedBlockPayload, isSignedTransactionBoundWitnessWithStorageMeta } from '@xyo-network/xl1-protocol'
11
10
 
11
+ import type { ChainStoreRead } from '../model/index.ts'
12
+
12
13
  export const tryHydrateTransaction = async (
13
- archivist: ReadArchivist,
14
+ { chainMap }: ChainStoreRead,
14
15
  hash: Hash,
15
16
  ): Promise<SignedHydratedTransactionWithStorageMeta | undefined> => {
16
17
  return (await tryHydrateTypedBoundWitness<TransactionBoundWitness>(
17
- archivist,
18
+ {
19
+ get(hashes: Hash[]) {
20
+ return chainMap.getMany(hashes)
21
+ },
22
+ next() {
23
+ throw new Error('Not implemented')
24
+ },
25
+ },
18
26
  hash,
19
27
  isSignedTransactionBoundWitnessWithStorageMeta,
20
28
  )) as SignedHydratedTransactionWithStorageMeta | undefined
21
29
  }
22
30
 
23
31
  export const hydrateTransaction = async (
24
- archivist: ReadArchivist,
32
+ { chainMap }: ChainStoreRead,
25
33
  hash: Hash,
26
34
  ): Promise<SignedHydratedTransaction> => {
27
35
  return await hydrateTypedBoundWitness<TransactionBoundWitness>(
28
- archivist,
36
+ {
37
+ get(hashes: Hash[]) {
38
+ return chainMap.getMany(hashes)
39
+ },
40
+ next() {
41
+ throw new Error('Not implemented')
42
+ },
43
+ },
29
44
  hash,
30
45
  isSignedTransactionBoundWitnessWithStorageMeta,
31
46
  ) as SignedHydratedTransaction
@@ -40,10 +55,10 @@ export const flattenHydratedTransactions = (hydratedTransactions: SignedHydrated
40
55
  hydratedTransactions.flatMap(tx => flattenHydratedTransaction(tx))
41
56
 
42
57
  export const tryHydrateElevatedTransaction = async (
43
- archivist: ReadArchivist,
58
+ { chainMap }: ChainStoreRead,
44
59
  hash: Hash,
45
60
  ): Promise<SignedHydratedTransactionWithStorageMeta | undefined> => {
46
- const hydratedTransaction = await tryHydrateTransaction(archivist, hash)
61
+ const hydratedTransaction = await tryHydrateTransaction({ chainMap }, hash)
47
62
  if (!hydratedTransaction) {
48
63
  return undefined
49
64
  }
@@ -66,8 +81,8 @@ export const tryHydrateElevatedTransaction = async (
66
81
  }
67
82
 
68
83
  export const hydrateElevatedTransaction = async (
69
- archivist: ReadArchivist,
84
+ context: ChainStoreRead,
70
85
  hash: Hash,
71
86
  ): Promise<SignedHydratedTransaction> => {
72
- return assertEx(await tryHydrateElevatedTransaction(archivist, hash), () => 'Hydration failed')
87
+ return assertEx(await tryHydrateElevatedTransaction(context, hash), () => 'Hydration failed')
73
88
  }
@@ -1,4 +0,0 @@
1
- import type { Address } from '@xylabs/hex';
2
- import type { Promisable } from '@xylabs/promise';
3
- export declare function networkStakeStepAddressReward(address: Address, _step: number, _block: number): Promisable<Record<Address, bigint>>;
4
- //# sourceMappingURL=networkStakeStepAddressReward.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"networkStakeStepAddressReward.d.ts","sourceRoot":"","sources":["../../../../src/steps/primitives/networkStakeStepAddressReward.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAElI"}
@@ -1,4 +0,0 @@
1
- import type { Address } from '@xylabs/hex';
2
- import type { Promisable } from '@xylabs/promise';
3
- export declare function networkStakeStepPoolRewardShares(_step: number, _block: number): Promisable<Record<Address, bigint>>;
4
- //# sourceMappingURL=networkStakeStepPoolRewardShares.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"networkStakeStepPoolRewardShares.d.ts","sourceRoot":"","sources":["../../../../src/steps/primitives/networkStakeStepPoolRewardShares.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAEnH"}
@@ -1,4 +0,0 @@
1
- import type { Address } from '@xylabs/hex';
2
- import type { Promisable } from '@xylabs/promise';
3
- export declare function networkStakeStepPoolRewards(_step: number, _block: number): Promisable<Record<Address, bigint>>;
4
- //# sourceMappingURL=networkStakeStepPoolRewards.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"networkStakeStepPoolRewards.d.ts","sourceRoot":"","sources":["../../../../src/steps/primitives/networkStakeStepPoolRewards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAE9G"}
@@ -1,4 +0,0 @@
1
- import type { Address } from '@xylabs/hex';
2
- import type { Promisable } from '@xylabs/promise';
3
- export declare function networkStakeStepRewardAddressHistory(address: Address): Promisable<Record<Address, bigint>>;
4
- //# sourceMappingURL=networkStakeStepRewardAddressHistory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"networkStakeStepRewardAddressHistory.d.ts","sourceRoot":"","sources":["../../../../src/steps/primitives/networkStakeStepRewardAddressHistory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,wBAAgB,oCAAoC,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAE1G"}
@@ -1,4 +0,0 @@
1
- import type { Address } from '@xylabs/hex';
2
- import type { Promisable } from '@xylabs/promise';
3
- export declare function networkStakeStepRewardAddressShare(_address: Address, _step: number, _block: number): Promisable<[bigint, bigint]>;
4
- //# sourceMappingURL=networkStakeStepRewardAddressShare.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"networkStakeStepRewardAddressShare.d.ts","sourceRoot":"","sources":["../../../../src/steps/primitives/networkStakeStepRewardAddressShare.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,wBAAgB,kCAAkC,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAEjI"}
@@ -1,3 +0,0 @@
1
- import type { Promisable } from '@xylabs/promise';
2
- export declare function networkStakeStepRewardForStep(_step: number): Promisable<bigint>;
3
- //# sourceMappingURL=networkStakeStepRewardForStep.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"networkStakeStepRewardForStep.d.ts","sourceRoot":"","sources":["../../../../src/steps/primitives/networkStakeStepRewardForStep.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAE/E"}
@@ -1,3 +0,0 @@
1
- import type { Promisable } from '@xylabs/promise';
2
- export declare function networkStakeStepRewardPositionWeight(_position: bigint, _step: number): Promisable<number>;
3
- //# sourceMappingURL=networkStakeStepRewardPositionWeight.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"networkStakeStepRewardPositionWeight.d.ts","sourceRoot":"","sources":["../../../../src/steps/primitives/networkStakeStepRewardPositionWeight.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,wBAAgB,oCAAoC,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAEzG"}
@@ -1,3 +0,0 @@
1
- import type { Promisable } from '@xylabs/promise';
2
- export declare function networkStakeStepRewardPotentialPositionLoss(_position: bigint, _step: number): Promisable<bigint>;
3
- //# sourceMappingURL=networkStakeStepRewardPotentialPositionLoss.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"networkStakeStepRewardPotentialPositionLoss.d.ts","sourceRoot":"","sources":["../../../../src/steps/primitives/networkStakeStepRewardPotentialPositionLoss.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,wBAAgB,2CAA2C,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAEhH"}
@@ -1,3 +0,0 @@
1
- import type { Promisable } from '@xylabs/promise';
2
- export declare function networkStakeStepRewardRandomizer(_step: number, _block: number): Promisable<bigint>;
3
- //# sourceMappingURL=networkStakeStepRewardRandomizer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"networkStakeStepRewardRandomizer.d.ts","sourceRoot":"","sources":["../../../../src/steps/primitives/networkStakeStepRewardRandomizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAElG"}
@@ -1,4 +0,0 @@
1
- import type { Address } from '@xylabs/hex';
2
- import type { Promisable } from '@xylabs/promise';
3
- export declare function networkStakeStepRewardWeightForAddress(_address: Address, _step: number): Promisable<bigint>;
4
- //# sourceMappingURL=networkStakeStepRewardWeightForAddress.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"networkStakeStepRewardWeightForAddress.d.ts","sourceRoot":"","sources":["../../../../src/steps/primitives/networkStakeStepRewardWeightForAddress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,wBAAgB,sCAAsC,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAE3G"}
@@ -1,6 +0,0 @@
1
- import type { Address } from '@xylabs/hex'
2
- import type { Promisable } from '@xylabs/promise'
3
-
4
- export function networkStakeStepAddressReward(address: Address, _step: number, _block: number): Promisable<Record<Address, bigint>> {
5
- return { [address]: 0n }
6
- }
@@ -1,6 +0,0 @@
1
- import type { Address } from '@xylabs/hex'
2
- import type { Promisable } from '@xylabs/promise'
3
-
4
- export function networkStakeStepPoolRewardShares(_step: number, _block: number): Promisable<Record<Address, bigint>> {
5
- return {}
6
- }
@@ -1,6 +0,0 @@
1
- import type { Address } from '@xylabs/hex'
2
- import type { Promisable } from '@xylabs/promise'
3
-
4
- export function networkStakeStepPoolRewards(_step: number, _block: number): Promisable<Record<Address, bigint>> {
5
- return {}
6
- }
@@ -1,6 +0,0 @@
1
- import type { Address } from '@xylabs/hex'
2
- import type { Promisable } from '@xylabs/promise'
3
-
4
- export function networkStakeStepRewardAddressHistory(address: Address): Promisable<Record<Address, bigint>> {
5
- return { [address]: 0n }
6
- }
@@ -1,6 +0,0 @@
1
- import type { Address } from '@xylabs/hex'
2
- import type { Promisable } from '@xylabs/promise'
3
-
4
- export function networkStakeStepRewardAddressShare(_address: Address, _step: number, _block: number): Promisable<[bigint, bigint]> {
5
- throw new Error('Method not implemented.')
6
- }
@@ -1,5 +0,0 @@
1
- import type { Promisable } from '@xylabs/promise'
2
-
3
- export function networkStakeStepRewardForStep(_step: number): Promisable<bigint> {
4
- return 0n
5
- }
@@ -1,5 +0,0 @@
1
- import type { Promisable } from '@xylabs/promise'
2
-
3
- export function networkStakeStepRewardPositionWeight(_position: bigint, _step: number): Promisable<number> {
4
- throw new Error('Method not implemented.')
5
- }
@@ -1,5 +0,0 @@
1
- import type { Promisable } from '@xylabs/promise'
2
-
3
- export function networkStakeStepRewardPotentialPositionLoss(_position: bigint, _step: number): Promisable<bigint> {
4
- throw new Error('Method not implemented.')
5
- }
@@ -1,5 +0,0 @@
1
- import type { Promisable } from '@xylabs/promise'
2
-
3
- export function networkStakeStepRewardRandomizer(_step: number, _block: number): Promisable<bigint> {
4
- throw new Error('Method not implemented.')
5
- }
@@ -1,6 +0,0 @@
1
- import type { Address } from '@xylabs/hex'
2
- import type { Promisable } from '@xylabs/promise'
3
-
4
- export function networkStakeStepRewardWeightForAddress(_address: Address, _step: number): Promisable<bigint> {
5
- throw new Error('Method not implemented.')
6
- }