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

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 +8 -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 +296 -298
  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 +29 -29
  83. package/src/block/hydrate/hydrateBlock.ts +32 -10
  84. package/src/block/primitives/balances/balancesStepSummaryFromRange.ts +5 -4
  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 +13 -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 +25 -15
  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
@@ -1,4 +1,4 @@
1
- /** @deprecated use from @xyo-network/xl1-protocol instead */
1
+ /** @deprecated use from \@xyo-network/xl1-protocol instead */
2
2
  export interface ShiftedBigIntConfig {
3
3
  locale: Intl.LocalesArgument;
4
4
  maxCharacters: number;
@@ -1 +1 @@
1
- {"version":3,"file":"ShiftedBigIntConfig.d.ts","sourceRoot":"","sources":["../../../src/instances/ShiftedBigIntConfig.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAA;IAC5B,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;CACf"}
1
+ {"version":3,"file":"ShiftedBigIntConfig.d.ts","sourceRoot":"","sources":["../../../src/instances/ShiftedBigIntConfig.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAA;IAC5B,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;CACf"}
@@ -1,6 +1,6 @@
1
1
  import type { AttoXL1, FemtoXL1, MicroXL1, MilliXL1, NanoXL1, PicoXL1 } from '@xyo-network/xl1-protocol';
2
2
  import type { ShiftedBigIntConfig } from './ShiftedBigIntConfig.ts';
3
- /** @deprecated use from @xyo-network/xl1-protocol instead */
3
+ /** @deprecated use from \@xyo-network/xl1-protocol instead */
4
4
  export interface XL1AmountInstance {
5
5
  value: AttoXL1;
6
6
  to(places: bigint | number): bigint;
@@ -1 +1 @@
1
- {"version":3,"file":"XL1Amount.d.ts","sourceRoot":"","sources":["../../../src/instances/XL1Amount.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EACxD,MAAM,2BAA2B,CAAA;AAElC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAEnE,6DAA6D;AAC7D,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,OAAO,CAAA;IAEd,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;IAEnC,KAAK,EAAE,QAAQ,CAAA;IAEf,KAAK,EAAE,QAAQ,CAAA;IAEf,IAAI,EAAE,OAAO,CAAA;IAEb,IAAI,EAAE,OAAO,CAAA;IAEb,KAAK,EAAE,QAAQ,CAAA;IAEf,IAAI,EAAE,OAAO,CAAA;IAEb,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAAA;CACvE"}
1
+ {"version":3,"file":"XL1Amount.d.ts","sourceRoot":"","sources":["../../../src/instances/XL1Amount.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EACxD,MAAM,2BAA2B,CAAA;AAElC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAEnE,8DAA8D;AAC9D,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,OAAO,CAAA;IAEd,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;IAEnC,KAAK,EAAE,QAAQ,CAAA;IAEf,KAAK,EAAE,QAAQ,CAAA;IAEf,IAAI,EAAE,OAAO,CAAA;IAEb,IAAI,EAAE,OAAO,CAAA;IAEb,KAAK,EAAE,QAAQ,CAAA;IAEf,IAAI,EAAE,OAAO,CAAA;IAEb,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAAA;CACvE"}
@@ -0,0 +1,14 @@
1
+ import type { Promisable } from '@xylabs/promise';
2
+ export interface AsynchronousMapRead<K, V> {
3
+ get(id: K): Promisable<V | undefined>;
4
+ getMany(id: K[]): Promisable<V[]>;
5
+ has(id: K): Promisable<boolean>;
6
+ }
7
+ export interface AsynchronousMapWrite<K, V> {
8
+ clear(): Promisable<void>;
9
+ delete(id: K): Promisable<boolean>;
10
+ set(id: K, data: V): Promisable<void>;
11
+ }
12
+ export interface AsynchronousMap<K, V> extends AsynchronousMapRead<K, V>, AsynchronousMapWrite<K, V> {
13
+ }
14
+ //# sourceMappingURL=AsynchronousMap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsynchronousMap.d.ts","sourceRoot":"","sources":["../../../src/map/AsynchronousMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,MAAM,WAAW,mBAAmB,CAAC,CAAC,EAAE,CAAC;IACvC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;IACrC,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAA;IACjC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;CAChC;AAED,MAAM,WAAW,oBAAoB,CAAC,CAAC,EAAE,CAAC;IACxC,KAAK,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;IACzB,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IAClC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;CACtC;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC;CAAG"}
@@ -0,0 +1,6 @@
1
+ import type { AsynchronousMapRead, AsynchronousMapWrite } from './AsynchronousMap.ts';
2
+ import type { SynchronousMapRead, SynchronousMapWrite } from './SynchronousMap.ts';
3
+ export type MapTypeWrite<TId, TData> = SynchronousMapWrite<TId, TData> | AsynchronousMapWrite<TId, TData>;
4
+ export type MapTypeRead<TId, TData> = SynchronousMapRead<TId, TData> | AsynchronousMapRead<TId, TData>;
5
+ export type MapType<TId, TData> = MapTypeRead<TId, TData> & MapTypeWrite<TId, TData>;
6
+ //# sourceMappingURL=MapType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MapType.d.ts","sourceRoot":"","sources":["../../../src/map/MapType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AACrF,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAElF,MAAM,MAAM,YAAY,CAAC,GAAG,EAAE,KAAK,IAAI,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;AAEzG,MAAM,MAAM,WAAW,CAAC,GAAG,EAAE,KAAK,IAAI,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;AAEtG,MAAM,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,IAAI,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA"}
@@ -0,0 +1,13 @@
1
+ export interface SynchronousMapRead<K, V> {
2
+ get(id: K): V | undefined;
3
+ getMany(id: K[]): V[];
4
+ has(id: K): boolean;
5
+ }
6
+ export interface SynchronousMapWrite<K, V> {
7
+ clear(): void;
8
+ delete(id: K): boolean;
9
+ set(id: K, data: V): void;
10
+ }
11
+ export interface SynchronousMap<K, V> extends SynchronousMapRead<K, V>, SynchronousMapWrite<K, V> {
12
+ }
13
+ //# sourceMappingURL=SynchronousMap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SynchronousMap.d.ts","sourceRoot":"","sources":["../../../src/map/SynchronousMap.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB,CAAC,CAAC,EAAE,CAAC;IACtC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;IACzB,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAA;IACrB,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC,EAAE,CAAC;IACvC,KAAK,IAAI,IAAI,CAAA;IACb,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAA;IACtB,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAA;CAC1B;AAED,MAAM,WAAW,cAAc,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC;CAAG"}
@@ -0,0 +1,4 @@
1
+ export * from './AsynchronousMap.ts';
2
+ export * from './MapType.ts';
3
+ export * from './SynchronousMap.ts';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/map/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA"}
@@ -0,0 +1,15 @@
1
+ import type { ChainIdentity } from '../ChainIdentity.ts';
2
+ import type { ChainStakeContext, ChainStakeContextRead, ChainStakeContextWrite } from './ChainStakeContext.ts';
3
+ import type { ChainStateContextRead, ChainStateContextWrite } from './ChainStateContext.ts';
4
+ import type { ChainStoreContext, ChainStoreContextRead, ChainStoreContextWrite } from './ChainStoreContext.ts';
5
+ export interface ChainContextWrite extends ChainIdentity, ChainStateContextWrite, ChainStoreContextWrite {
6
+ }
7
+ export interface StakedChainContextWrite extends ChainContextWrite, ChainStakeContextWrite {
8
+ }
9
+ export interface ChainContextRead extends ChainIdentity, ChainStateContextRead, ChainStoreContextRead {
10
+ }
11
+ export interface StakedChainContextRead extends ChainContextRead, ChainStakeContextRead {
12
+ }
13
+ export type ChainContext = ChainIdentity & ChainContextRead & ChainContextWrite & ChainStoreContext;
14
+ export type StakedChainContext = ChainContext & ChainStakeContext & ChainStakeContextRead & ChainStakeContextWrite;
15
+ //# sourceMappingURL=ChainContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChainContext.d.ts","sourceRoot":"","sources":["../../../../src/model/ChainContext/ChainContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EACV,iBAAiB,EAAE,qBAAqB,EAAE,sBAAsB,EACjE,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAC3F,OAAO,KAAK,EACV,iBAAiB,EAAE,qBAAqB,EAAE,sBAAsB,EACjE,MAAM,wBAAwB,CAAA;AAE/B,MAAM,WAAW,iBAAkB,SAAQ,aAAa,EAAE,sBAAsB,EAAE,sBAAsB;CAAG;AAE3G,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB,EAAE,sBAAsB;CAAG;AAE7F,MAAM,WAAW,gBAAiB,SAAQ,aAAa,EAAE,qBAAqB,EAAE,qBAAqB;CAAG;AAExG,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB,EAAE,qBAAqB;CAAG;AAE1F,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,iBAAiB,CAAA;AAEnG,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,iBAAiB,GAAG,qBAAqB,GAAG,sBAAsB,CAAA"}
@@ -0,0 +1,10 @@
1
+ import type { ChainIdentity } from '../ChainIdentity.ts';
2
+ import type { ChainStakeRead, ChainStakeWrite } from '../ChainStake/index.ts';
3
+ export interface ChainStakeContextWrite extends ChainIdentity {
4
+ stake: ChainStakeWrite;
5
+ }
6
+ export interface ChainStakeContextRead extends ChainIdentity {
7
+ stake: ChainStakeRead;
8
+ }
9
+ export type ChainStakeContext = ChainStakeContextRead & ChainStakeContextWrite;
10
+ //# sourceMappingURL=ChainStakeContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChainStakeContext.d.ts","sourceRoot":"","sources":["../../../../src/model/ChainContext/ChainStakeContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAE7E,MAAM,WAAW,sBAAuB,SAAQ,aAAa;IAC3D,KAAK,EAAE,eAAe,CAAA;CACvB;AAED,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC1D,KAAK,EAAE,cAAc,CAAA;CACtB;AAED,MAAM,MAAM,iBAAiB,GAAG,qBAAqB,GAAG,sBAAsB,CAAA"}
@@ -0,0 +1,9 @@
1
+ import type { Hash } from '@xylabs/hex';
2
+ import type { Promisable } from '@xylabs/promise';
3
+ export interface ChainStateContextRead {
4
+ head(): Promisable<Hash>;
5
+ }
6
+ export interface ChainStateContextWrite {
7
+ }
8
+ export type ChainStateContext = ChainStateContextRead & ChainStateContextWrite;
9
+ //# sourceMappingURL=ChainStateContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChainStateContext.d.ts","sourceRoot":"","sources":["../../../../src/model/ChainContext/ChainStateContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,MAAM,WAAW,qBAAqB;IACpC,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;CACzB;AAED,MAAM,WAAW,sBAAsB;CAAG;AAE1C,MAAM,MAAM,iBAAiB,GAAG,qBAAqB,GAAG,sBAAsB,CAAA"}
@@ -0,0 +1,10 @@
1
+ import type { ChainIdentity } from '../ChainIdentity.ts';
2
+ import type { ChainStoreRead, ChainStoreWrite } from '../ChainStore.ts';
3
+ export interface ChainStoreContextWrite extends ChainIdentity {
4
+ store: ChainStoreWrite;
5
+ }
6
+ export interface ChainStoreContextRead extends ChainIdentity {
7
+ store: ChainStoreRead;
8
+ }
9
+ export type ChainStoreContext = ChainStoreContextRead & ChainStoreContextWrite;
10
+ //# sourceMappingURL=ChainStoreContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChainStoreContext.d.ts","sourceRoot":"","sources":["../../../../src/model/ChainContext/ChainStoreContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAEvE,MAAM,WAAW,sBAAuB,SAAQ,aAAa;IAC3D,KAAK,EAAE,eAAe,CAAA;CACvB;AAED,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC1D,KAAK,EAAE,cAAc,CAAA;CACtB;AAED,MAAM,MAAM,iBAAiB,GAAG,qBAAqB,GAAG,sBAAsB,CAAA"}
@@ -0,0 +1,5 @@
1
+ export * from './ChainContext.ts';
2
+ export * from './ChainStakeContext.ts';
3
+ export * from './ChainStateContext.ts';
4
+ export * from './ChainStoreContext.ts';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/model/ChainContext/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA"}
@@ -0,0 +1,8 @@
1
+ import type { Hash } from '@xylabs/hex';
2
+ import type { ChainId } from '@xyo-network/xl1-protocol';
3
+ export interface ChainForkStatic {
4
+ forkedAtBlockNumber: number;
5
+ forkedAtHash: Hash;
6
+ forkedChainId: ChainId;
7
+ }
8
+ //# sourceMappingURL=ChainForkStatic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChainForkStatic.d.ts","sourceRoot":"","sources":["../../../../src/model/ChainFork/ChainForkStatic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAExD,MAAM,WAAW,eAAe;IAC9B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,YAAY,EAAE,IAAI,CAAA;IAClB,aAAa,EAAE,OAAO,CAAA;CACvB"}
@@ -0,0 +1,2 @@
1
+ export * from './ChainForkStatic.ts';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/model/ChainFork/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA"}
@@ -0,0 +1,5 @@
1
+ import type { ChainId } from '@xyo-network/xl1-protocol';
2
+ export interface ChainIdentity {
3
+ chainId: ChainId;
4
+ }
5
+ //# sourceMappingURL=ChainIdentity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChainIdentity.d.ts","sourceRoot":"","sources":["../../../src/model/ChainIdentity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAExD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAA;CACjB"}
@@ -0,0 +1,17 @@
1
+ import type { Address } from '@xylabs/hex';
2
+ import type { Promisable } from '@xylabs/promise';
3
+ import type { Stake } from '@xyo-network/xl1-protocol';
4
+ export interface ChainStakeRead {
5
+ active(): Promisable<bigint>;
6
+ activeByAddressStaked(address: string): Promisable<bigint>;
7
+ activeByStaker(address: string): Promisable<bigint>;
8
+ pending(): Promisable<bigint>;
9
+ pendingByStaker(staker: string): Promisable<bigint>;
10
+ stakeById(id: number): Promisable<Stake>;
11
+ stakeByStaker(staker: Address, slot: number): Promisable<Stake>;
12
+ stakesByStaked(staked: Address, range?: [number, number | 'latest']): Promisable<Stake[]>;
13
+ stakesByStaker(staker: Address, range?: [number, number | 'latest']): Promisable<Stake[]>;
14
+ withdrawn(): Promisable<bigint>;
15
+ withdrawnByStaker(staker: string): Promisable<bigint>;
16
+ }
17
+ //# sourceMappingURL=ChainStakeRead.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChainStakeRead.d.ts","sourceRoot":"","sources":["../../../../src/model/ChainStake/ChainStakeRead.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AAEtD,MAAM,WAAW,cAAc;IAC7B,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;IAC5B,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAC1D,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IACnD,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;IAC7B,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IACnD,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IACxC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IAC/D,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,CAAA;IACzF,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,CAAA;IACzF,SAAS,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;IAC/B,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;CACtD"}
@@ -0,0 +1,7 @@
1
+ import type { Address } from '@xylabs/hex';
2
+ export interface ChainStakeStatic {
3
+ minWithdrawalBlocks: number;
4
+ rewardsContract: Address;
5
+ stakingTokenAddress: Address;
6
+ }
7
+ //# sourceMappingURL=ChainStakeStatic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChainStakeStatic.d.ts","sourceRoot":"","sources":["../../../../src/model/ChainStake/ChainStakeStatic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,MAAM,WAAW,gBAAgB;IAC/B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,eAAe,EAAE,OAAO,CAAA;IACxB,mBAAmB,EAAE,OAAO,CAAA;CAC7B"}
@@ -0,0 +1,6 @@
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
+ }
6
+ //# sourceMappingURL=ChainStakeWrite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChainStakeWrite.d.ts","sourceRoot":"","sources":["../../../../src/model/ChainStake/ChainStakeWrite.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC1D,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC3C,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAC9C"}
@@ -0,0 +1,4 @@
1
+ export * from './ChainStakeRead.ts';
2
+ export * from './ChainStakeStatic.ts';
3
+ export * from './ChainStakeWrite.ts';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/model/ChainStake/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA"}
@@ -0,0 +1,10 @@
1
+ import type { Payload, WithStorageMeta } from '@xyo-network/payload-model';
2
+ import type { PayloadMapRead, PayloadMapWrite } from './PayloadMap.ts';
3
+ export interface ChainStoreWrite {
4
+ chainMap: PayloadMapWrite<WithStorageMeta<Payload>>;
5
+ }
6
+ export interface ChainStoreRead {
7
+ chainMap: PayloadMapRead<WithStorageMeta<Payload>>;
8
+ }
9
+ export type ChainStore = ChainStoreRead & ChainStoreWrite;
10
+ //# sourceMappingURL=ChainStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChainStore.d.ts","sourceRoot":"","sources":["../../../src/model/ChainStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE1E,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtE,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAA;CACpD;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAA;CACnD;AAED,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,eAAe,CAAA"}
@@ -0,0 +1,7 @@
1
+ import type { Hash } from '@xylabs/hex';
2
+ import type { Payload } from '@xyo-network/payload-model';
3
+ import type { MapType, MapTypeRead, MapTypeWrite } from '../map/index.ts';
4
+ export type PayloadMapWrite<T extends Payload = Payload> = MapTypeWrite<Hash, T>;
5
+ export type PayloadMapRead<T extends Payload = Payload> = MapTypeRead<Hash, T>;
6
+ export type PayloadMap<T extends Payload = Payload> = MapType<Hash, T>;
7
+ //# sourceMappingURL=PayloadMap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PayloadMap.d.ts","sourceRoot":"","sources":["../../../src/model/PayloadMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,KAAK,EACV,OAAO,EAAE,WAAW,EAAE,YAAY,EACnC,MAAM,iBAAiB,CAAA;AAExB,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;AAChF,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;AAC9E,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA"}
@@ -0,0 +1,31 @@
1
+ import type { Address } from '@xylabs/hex';
2
+ import type { JsonObject } from '@xylabs/object';
3
+ import type { Promisable } from '@xylabs/promise';
4
+ export declare const StakeEventNames: readonly ["StakeAdded", "StakeRemoved", "StakeWithdrawn"];
5
+ export type StakeEventName = typeof StakeEventNames[number];
6
+ export interface ExternalEvent<TName extends string = string, TArgs extends JsonObject = {}> {
7
+ args: TArgs;
8
+ name: TName;
9
+ time: number;
10
+ }
11
+ export interface EventFilter<TName extends string = string> {
12
+ name?: TName;
13
+ time?: [number, number];
14
+ }
15
+ export interface StakeEventArgs {
16
+ amount: bigint;
17
+ id: number;
18
+ staked: Address;
19
+ staker: Address;
20
+ }
21
+ export type StakeEventFilterArgs = Partial<Pick<StakeEventArgs, 'staker' | 'staked'>>;
22
+ export interface StakeEventFilter<TName extends StakeEventName = StakeEventName> extends EventFilter<TName> {
23
+ args?: StakeEventFilterArgs;
24
+ }
25
+ export interface StakeEvent<TName extends StakeEventName = StakeEventName> extends ExternalEvent<TName> {
26
+ args: StakeEventArgs;
27
+ }
28
+ export interface StakeEventsRead {
29
+ stakeEvents<TName extends StakeEventName>(range: [number, number | 'latest'], filter?: StakeEventFilter<TName>): Promisable<StakeEvent<TName>[]>;
30
+ }
31
+ //# sourceMappingURL=StakeEvents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StakeEvents.d.ts","sourceRoot":"","sources":["../../../src/model/StakeEvents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,eAAO,MAAM,eAAe,2DAA4D,CAAA;AACxF,MAAM,MAAM,cAAc,GAAG,OAAO,eAAe,CAAC,MAAM,CAAC,CAAA;AAE3D,MAAM,WAAW,aAAa,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EAAE,KAAK,SAAS,UAAU,GAAG,EAAE;IACzF,IAAI,EAAE,KAAK,CAAA;IACX,IAAI,EAAE,KAAK,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,WAAW,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM;IACxD,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAA;AAErF,MAAM,WAAW,gBAAgB,CAAC,KAAK,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,WAAW,CAAC,KAAK,CAAC;IACzG,IAAI,CAAC,EAAE,oBAAoB,CAAA;CAC5B;AAED,MAAM,WAAW,UAAU,CAAC,KAAK,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,aAAa,CAAC,KAAK,CAAC;IACrG,IAAI,EAAE,cAAc,CAAA;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,KAAK,SAAS,cAAc,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,EAAE,MAAM,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;CACjJ"}
@@ -0,0 +1,8 @@
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';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import { type Address } from '@xylabs/hex';
2
2
  import type { Payload } from '@xyo-network/payload-model';
3
- export declare function netTransfersForPayloads(payloads: Payload[], account: Address): Record<Address, bigint>;
3
+ export declare function netTransfersForPayloads(payloads: Payload[]): Record<Address, Record<Address, bigint>>;
4
4
  //# sourceMappingURL=netTransfersForPayloads.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"netTransfersForPayloads.d.ts","sourceRoot":"","sources":["../../../src/payload/netTransfersForPayloads.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACb,MAAM,aAAa,CAAA;AAEpB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAIzD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAqBtG"}
1
+ {"version":3,"file":"netTransfersForPayloads.d.ts","sourceRoot":"","sources":["../../../src/payload/netTransfersForPayloads.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACb,MAAM,aAAa,CAAA;AAEpB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAIzD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAgBrG"}
@@ -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 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/steps/primitives/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oCAAoC,CAAA;AAClD,cAAc,kCAAkC,CAAA;AAChD,cAAc,uCAAuC,CAAA;AACrD,cAAc,2CAA2C,CAAA;AACzD,cAAc,yCAAyC,CAAA;AACvD,cAAc,oCAAoC,CAAA;AAClD,cAAc,2CAA2C,CAAA;AACzD,cAAc,kDAAkD,CAAA;AAChE,cAAc,uCAAuC,CAAA;AACrD,cAAc,6CAA6C,CAAA;AAC3D,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/steps/primitives/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA"}
@@ -1,3 +1,3 @@
1
- import { type ChainContext } from '../../block/index.ts';
2
- export declare function xl1BlockNumberToEthBlockNumber(context: ChainContext, xl1BlockNumber: number): Promise<number>;
1
+ import type { ChainContextRead } from '../../model/index.ts';
2
+ export declare function xl1BlockNumberToEthBlockNumber(context: ChainContextRead, xl1BlockNumber: number): Promise<number>;
3
3
  //# sourceMappingURL=xl1BlockNumberToEthBlockNumber.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"xl1BlockNumberToEthBlockNumber.d.ts","sourceRoot":"","sources":["../../../../src/time/primitives/xl1BlockNumberToEthBlockNumber.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAA;AAE7B,wBAAsB,8BAA8B,CAAC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAKnH"}
1
+ {"version":3,"file":"xl1BlockNumberToEthBlockNumber.d.ts","sourceRoot":"","sources":["../../../../src/time/primitives/xl1BlockNumberToEthBlockNumber.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAE5D,wBAAsB,8BAA8B,CAAC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAKvH"}
@@ -1,6 +1,6 @@
1
1
  import type { Address } from '@xylabs/hex';
2
2
  import type { AccountInstance } from '@xyo-network/account-model';
3
3
  import type { Payload } from '@xyo-network/payload-model';
4
- import type { AllowedBlockPayload, Chain, SignedHydratedTransactionWithStorageMeta, TransactionFeesBigInt } from '@xyo-network/xl1-protocol';
5
- export declare function buildTransaction(chain: Chain, onChainPayloads: AllowedBlockPayload[], offChainPayloads: Payload[], signer: AccountInstance | AccountInstance[], nbf: number, exp: number, from?: Address, fees?: TransactionFeesBigInt): Promise<SignedHydratedTransactionWithStorageMeta>;
4
+ import type { AllowedBlockPayload, ChainId, SignedHydratedTransactionWithStorageMeta, TransactionFeesBigInt } from '@xyo-network/xl1-protocol';
5
+ export declare function buildTransaction(chain: ChainId, onChainPayloads: AllowedBlockPayload[], offChainPayloads: Payload[], signer: AccountInstance | AccountInstance[], nbf: number, exp: number, from?: Address, fees?: TransactionFeesBigInt): Promise<SignedHydratedTransactionWithStorageMeta>;
6
6
  //# sourceMappingURL=buildTransaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildTransaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/buildTransaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAGjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,KAAK,EACV,mBAAmB,EACnB,KAAK,EAGL,wCAAwC,EAA0D,qBAAqB,EACxH,MAAM,2BAA2B,CAAA;AAGlC,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,KAAK,EACZ,eAAe,EAAE,mBAAmB,EAAE,EACtC,gBAAgB,EAAE,OAAO,EAAE,EAC3B,MAAM,EAAE,eAAe,GAAG,eAAe,EAAE,EAC3C,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,OAAO,EACd,IAAI,GAAE,qBAA8C,GACnD,OAAO,CAAC,wCAAwC,CAAC,CAwCnD"}
1
+ {"version":3,"file":"buildTransaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/buildTransaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAGjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,KAAK,EACV,mBAAmB,EACnB,OAAO,EAGP,wCAAwC,EAA0D,qBAAqB,EACxH,MAAM,2BAA2B,CAAA;AAGlC,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,OAAO,EACd,eAAe,EAAE,mBAAmB,EAAE,EACtC,gBAAgB,EAAE,OAAO,EAAE,EAC3B,MAAM,EAAE,eAAe,GAAG,eAAe,EAAE,EAC3C,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,OAAO,EACd,IAAI,GAAE,qBAA8C,GACnD,OAAO,CAAC,wCAAwC,CAAC,CAwCnD"}
@@ -1,5 +1,5 @@
1
1
  import type { Address } from '@xylabs/hex';
2
2
  import type { Payload } from '@xyo-network/payload-model';
3
- import type { AllowedBlockPayload, Chain, SignedHydratedTransactionWithStorageMeta, TransactionFeesBigInt } from '@xyo-network/xl1-protocol';
4
- export declare function buildUnsignedTransaction(chain: Chain, onChainPayloads: AllowedBlockPayload[], offChainPayloads: Payload[], nbf: number, exp: number, from: Address, fees?: TransactionFeesBigInt): Promise<SignedHydratedTransactionWithStorageMeta>;
3
+ import type { AllowedBlockPayload, ChainId, SignedHydratedTransactionWithStorageMeta, TransactionFeesBigInt } from '@xyo-network/xl1-protocol';
4
+ export declare function buildUnsignedTransaction(chain: ChainId, onChainPayloads: AllowedBlockPayload[], offChainPayloads: Payload[], nbf: number, exp: number, from: Address, fees?: TransactionFeesBigInt): Promise<SignedHydratedTransactionWithStorageMeta>;
5
5
  //# sourceMappingURL=buildUnsignedTransaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildUnsignedTransaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/buildUnsignedTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAI1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,KAAK,EACV,mBAAmB,EACnB,KAAK,EAGL,wCAAwC,EAA0D,qBAAqB,EACxH,MAAM,2BAA2B,CAAA;AAGlC,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,KAAK,EACZ,eAAe,EAAE,mBAAmB,EAAE,EACtC,gBAAgB,EAAE,OAAO,EAAE,EAC3B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,OAAO,EACb,IAAI,GAAE,qBAA8C,GACnD,OAAO,CAAC,wCAAwC,CAAC,CAmCnD"}
1
+ {"version":3,"file":"buildUnsignedTransaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/buildUnsignedTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAI1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,KAAK,EACV,mBAAmB,EACnB,OAAO,EAGP,wCAAwC,EAA0D,qBAAqB,EACxH,MAAM,2BAA2B,CAAA;AAGlC,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,OAAO,EACd,eAAe,EAAE,mBAAmB,EAAE,EACtC,gBAAgB,EAAE,OAAO,EAAE,EAC3B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,OAAO,EACb,IAAI,GAAE,qBAA8C,GACnD,OAAO,CAAC,wCAAwC,CAAC,CAmCnD"}
@@ -1,11 +1,11 @@
1
1
  import type { Hash } from '@xylabs/hex';
2
- import type { ReadArchivist } from '@xyo-network/archivist-model';
3
2
  import type { Payload } from '@xyo-network/payload-model';
4
3
  import type { SignedHydratedTransaction, SignedHydratedTransactionWithStorageMeta } from '@xyo-network/xl1-protocol';
5
- export declare const tryHydrateTransaction: (archivist: ReadArchivist, hash: Hash) => Promise<SignedHydratedTransactionWithStorageMeta | undefined>;
6
- export declare const hydrateTransaction: (archivist: ReadArchivist, hash: Hash) => Promise<SignedHydratedTransaction>;
4
+ import type { ChainStoreRead } from '../model/index.ts';
5
+ export declare const tryHydrateTransaction: ({ chainMap }: ChainStoreRead, hash: Hash) => Promise<SignedHydratedTransactionWithStorageMeta | undefined>;
6
+ export declare const hydrateTransaction: ({ chainMap }: ChainStoreRead, hash: Hash) => Promise<SignedHydratedTransaction>;
7
7
  export declare const flattenHydratedTransaction: (hydratedTransaction: SignedHydratedTransaction) => Payload[];
8
8
  export declare const flattenHydratedTransactions: (hydratedTransactions: SignedHydratedTransaction[]) => Payload[];
9
- export declare const tryHydrateElevatedTransaction: (archivist: ReadArchivist, hash: Hash) => Promise<SignedHydratedTransactionWithStorageMeta | undefined>;
10
- export declare const hydrateElevatedTransaction: (archivist: ReadArchivist, hash: Hash) => Promise<SignedHydratedTransaction>;
9
+ export declare const tryHydrateElevatedTransaction: ({ chainMap }: ChainStoreRead, hash: Hash) => Promise<SignedHydratedTransactionWithStorageMeta | undefined>;
10
+ export declare const hydrateElevatedTransaction: (context: ChainStoreRead, hash: Hash) => Promise<SignedHydratedTransaction>;
11
11
  //# sourceMappingURL=hydrateTransaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hydrateTransaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/hydrateTransaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAEjE,OAAO,KAAK,EAAE,OAAO,EAAmB,MAAM,4BAA4B,CAAA;AAC1E,OAAO,KAAK,EAEV,yBAAyB,EAAE,wCAAwC,EACpE,MAAM,2BAA2B,CAAA;AAGlC,eAAO,MAAM,qBAAqB,GAChC,WAAW,aAAa,EACxB,MAAM,IAAI,KACT,OAAO,CAAC,wCAAwC,GAAG,SAAS,CAM9D,CAAA;AAED,eAAO,MAAM,kBAAkB,GAC7B,WAAW,aAAa,EACxB,MAAM,IAAI,KACT,OAAO,CAAC,yBAAyB,CAMnC,CAAA;AAED,eAAO,MAAM,0BAA0B,GAAI,qBAAqB,yBAAyB,KAAG,OAAO,EAGlG,CAAA;AAED,eAAO,MAAM,2BAA2B,GAAI,sBAAsB,yBAAyB,EAAE,KAAG,OAAO,EACnC,CAAA;AAEpE,eAAO,MAAM,6BAA6B,GACxC,WAAW,aAAa,EACxB,MAAM,IAAI,KACT,OAAO,CAAC,wCAAwC,GAAG,SAAS,CAqB9D,CAAA;AAED,eAAO,MAAM,0BAA0B,GACrC,WAAW,aAAa,EACxB,MAAM,IAAI,KACT,OAAO,CAAC,yBAAyB,CAEnC,CAAA"}
1
+ {"version":3,"file":"hydrateTransaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/hydrateTransaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAEvC,OAAO,KAAK,EAAE,OAAO,EAAmB,MAAM,4BAA4B,CAAA;AAC1E,OAAO,KAAK,EAEV,yBAAyB,EAAE,wCAAwC,EACpE,MAAM,2BAA2B,CAAA;AAGlC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD,eAAO,MAAM,qBAAqB,GAChC,cAAc,cAAc,EAC5B,MAAM,IAAI,KACT,OAAO,CAAC,wCAAwC,GAAG,SAAS,CAa9D,CAAA;AAED,eAAO,MAAM,kBAAkB,GAC7B,cAAc,cAAc,EAC5B,MAAM,IAAI,KACT,OAAO,CAAC,yBAAyB,CAanC,CAAA;AAED,eAAO,MAAM,0BAA0B,GAAI,qBAAqB,yBAAyB,KAAG,OAAO,EAGlG,CAAA;AAED,eAAO,MAAM,2BAA2B,GAAI,sBAAsB,yBAAyB,EAAE,KAAG,OAAO,EACnC,CAAA;AAEpE,eAAO,MAAM,6BAA6B,GACxC,cAAc,cAAc,EAC5B,MAAM,IAAI,KACT,OAAO,CAAC,wCAAwC,GAAG,SAAS,CAqB9D,CAAA;AAED,eAAO,MAAM,0BAA0B,GACrC,SAAS,cAAc,EACvB,MAAM,IAAI,KACT,OAAO,CAAC,yBAAyB,CAEnC,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "http://json.schemastore.org/package.json",
3
3
  "name": "@xyo-network/xl1-protocol-sdk",
4
- "version": "1.15.2",
4
+ "version": "1.15.3",
5
5
  "description": "XYO Layer One SDK Protocol",
6
6
  "homepage": "https://xylabs.com",
7
7
  "bugs": {
@@ -36,36 +36,36 @@
36
36
  "src"
37
37
  ],
38
38
  "dependencies": {
39
- "@xylabs/array": "~5.0.11",
40
- "@xylabs/arraybuffer": "~5.0.11",
41
- "@xylabs/assert": "~5.0.11",
42
- "@xylabs/delay": "~5.0.11",
43
- "@xylabs/hex": "~5.0.11",
44
- "@xylabs/logger": "~5.0.11",
45
- "@xylabs/object": "~5.0.11",
46
- "@xylabs/promise": "~5.0.11",
47
- "@xylabs/telemetry": "~5.0.11",
48
- "@xylabs/typeof": "~5.0.11",
49
- "@xyo-network/account-model": "~5.1.3",
50
- "@xyo-network/archivist-model": "~5.1.3",
51
- "@xyo-network/boundwitness-builder": "~5.1.3",
52
- "@xyo-network/boundwitness-model": "~5.1.3",
53
- "@xyo-network/payload-builder": "~5.1.3",
54
- "@xyo-network/payload-model": "~5.1.3",
55
- "@xyo-network/typechain": "^4.0.8",
56
- "@xyo-network/wallet": "~5.1.3",
57
- "@xyo-network/wallet-model": "~5.1.3",
58
- "@xyo-network/xl1-protocol": "~1.12.40",
59
- "zod": "~4.1.11"
39
+ "@xylabs/array": "~5.0.12",
40
+ "@xylabs/arraybuffer": "~5.0.12",
41
+ "@xylabs/assert": "~5.0.12",
42
+ "@xylabs/delay": "~5.0.12",
43
+ "@xylabs/hex": "~5.0.12",
44
+ "@xylabs/logger": "~5.0.12",
45
+ "@xylabs/object": "~5.0.12",
46
+ "@xylabs/promise": "~5.0.12",
47
+ "@xylabs/telemetry": "~5.0.12",
48
+ "@xylabs/typeof": "~5.0.12",
49
+ "@xyo-network/account-model": "~5.1.6",
50
+ "@xyo-network/archivist-model": "~5.1.6",
51
+ "@xyo-network/boundwitness-builder": "~5.1.6",
52
+ "@xyo-network/boundwitness-model": "~5.1.6",
53
+ "@xyo-network/payload-builder": "~5.1.6",
54
+ "@xyo-network/payload-model": "~5.1.6",
55
+ "@xyo-network/typechain": "~4.0.10",
56
+ "@xyo-network/wallet": "~5.1.6",
57
+ "@xyo-network/wallet-model": "~5.1.6",
58
+ "@xyo-network/xl1-protocol": "~1.12.66",
59
+ "zod": "~4.1.12"
60
60
  },
61
61
  "devDependencies": {
62
- "@types/node": "~24.5.2",
63
- "@xylabs/ts-scripts-yarn3": "~7.1.7",
64
- "@xylabs/tsconfig": "~7.1.7",
65
- "@xyo-network/account": "~5.1.3",
66
- "@xyo-network/boundwitness-validator": "~5.1.3",
67
- "eslint": "^9.36.0",
68
- "typescript": "~5.9.2",
62
+ "@types/node": "~24.7.2",
63
+ "@xylabs/ts-scripts-yarn3": "~7.1.8",
64
+ "@xylabs/tsconfig": "~7.1.8",
65
+ "@xyo-network/account": "~5.1.6",
66
+ "@xyo-network/boundwitness-validator": "~5.1.6",
67
+ "eslint": "^9.37.0",
68
+ "typescript": "~5.9.3",
69
69
  "vitest": "~3.2.4"
70
70
  },
71
71
  "engines": {
@@ -1,13 +1,34 @@
1
1
  import { assertEx } from '@xylabs/assert'
2
2
  import type { Hash } from '@xylabs/hex'
3
- import type { ReadArchivist } from '@xyo-network/archivist-model'
3
+ import { isDefined } from '@xylabs/typeof'
4
+ import { type ReadArchivist } from '@xyo-network/archivist-model'
5
+ import type { Payload } from '@xyo-network/payload-model'
4
6
  import type { HydratedBlock } from '@xyo-network/xl1-protocol'
5
- import { isBlockBoundWitnessWithStorageMeta, isTransactionBoundWitnessWithStorageMeta } from '@xyo-network/xl1-protocol'
7
+ import { asBlockBoundWitnessWithStorageMeta, isTransactionBoundWitnessWithStorageMeta } from '@xyo-network/xl1-protocol'
6
8
 
9
+ import type { ChainStoreRead, PayloadMapRead } from '../../model/index.ts'
10
+ import { isReadArchivist } from '../primitives/index.ts'
7
11
  import { allHashesPresent } from './allHashesPresent.ts'
8
12
 
13
+ export function readPayloadMapFromStore<T extends Payload>(store: ReadArchivist<T> | PayloadMapRead<T>): PayloadMapRead<T> {
14
+ if (isReadArchivist(store)) {
15
+ return {
16
+ get: async (hash: Hash): Promise<T | undefined> => {
17
+ return (await store.get([hash]))[0]
18
+ },
19
+ getMany: async (hashes: Hash[]): Promise<T[]> => {
20
+ return (await store.get(hashes))
21
+ },
22
+ has: async (hash: Hash): Promise<boolean> => {
23
+ return isDefined((await store.get([hash]))[0])
24
+ },
25
+ }
26
+ }
27
+ return store
28
+ }
29
+
9
30
  export const hydrateBlock = async (
10
- archivist: ReadArchivist,
31
+ { chainMap }: ChainStoreRead,
11
32
  hash: Hash,
12
33
  maxDepth: number = 1,
13
34
  minDepth = maxDepth,
@@ -15,20 +36,21 @@ export const hydrateBlock = async (
15
36
  assertEx(maxDepth >= 0, () => 'maxDepth must be greater than or equal to 0')
16
37
  assertEx(minDepth >= 0, () => 'minDepth must be greater than or equal to 0')
17
38
  assertEx(maxDepth >= minDepth, () => 'maxDepth must be greater than or equal to minDepth')
18
- const bw = assertEx(
19
- (await archivist.get([hash])).find(isBlockBoundWitnessWithStorageMeta),
20
- () => `block ${hash} not found`,
21
- )
39
+
40
+ const bw = assertEx(asBlockBoundWitnessWithStorageMeta(
41
+ assertEx(await chainMap.get(hash), () => `block ${hash} not found`),
42
+ ), () => `hash ${hash} is not a BlockBoundWitness`)
43
+
22
44
  if (maxDepth === 0) return [bw, []]
23
- const blkPayloads = await archivist.get(bw.payload_hashes)
45
+ const blkPayloads = await chainMap.getMany(bw.payload_hashes)
24
46
  if (minDepth === 1) assertEx(allHashesPresent(bw.payload_hashes, blkPayloads), () => `Unable to find all payloads for block ${hash}`)
25
47
  if (maxDepth === 1) return [bw, blkPayloads]
26
48
  const transactions = blkPayloads.filter(isTransactionBoundWitnessWithStorageMeta)
27
49
  const transactionsPayloadHashes = transactions.flatMap(tx => tx.payload_hashes)
28
- const transactionsPayloads = await archivist.get(transactionsPayloadHashes)
50
+ const transactionsPayloads = await chainMap.getMany(transactionsPayloadHashes)
29
51
  assertEx(allHashesPresent(transactionsPayloadHashes, transactionsPayloads), () => `Unable to find all payloads for transactions in block ${hash}`)
30
52
  const allPayloadsHashes = new Set([...blkPayloads, ...transactionsPayloads].flatMap(p => p._hash))
31
- const allPayloads = await archivist.get([...allPayloadsHashes])
53
+ const allPayloads = await chainMap.getMany([...allPayloadsHashes])
32
54
  const allPayloadsFiltered = allPayloads.filter(p => allPayloadsHashes.has(p._hash))
33
55
  if (maxDepth === 2) assertEx(allHashesPresent(
34
56
  [...allPayloadsHashes],