@xyo-network/xl1-protocol 1.4.4 → 1.4.6

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 (134) hide show
  1. package/dist/neutral/index.mjs +80 -70
  2. package/dist/neutral/index.mjs.map +1 -1
  3. package/dist/node/index.mjs +80 -70
  4. package/dist/node/index.mjs.map +1 -1
  5. package/dist/types/block/AllowedBlockPayload.d.ts +2 -2
  6. package/dist/types/block/AllowedBlockPayload.d.ts.map +1 -1
  7. package/dist/types/chain/ChainAnalyzer.d.ts +1 -1
  8. package/dist/types/chain/ChainAnalyzer.d.ts.map +1 -1
  9. package/dist/types/index.d.ts +12 -12
  10. package/dist/types/index.d.ts.map +1 -1
  11. package/dist/types/iterator/ChainIterator.d.ts +3 -3
  12. package/dist/types/iterator/ChainIterator.d.ts.map +1 -1
  13. package/dist/types/iterator/ChainIteratorEventData.d.ts +1 -1
  14. package/dist/types/iterator/ChainIteratorEventData.d.ts.map +1 -1
  15. package/dist/types/payload/elevatable/ChainStakeIntent.d.ts +1 -1
  16. package/dist/types/payload/elevatable/ChainStakeIntent.d.ts.map +1 -1
  17. package/dist/types/provider/v1/XyoNetwork.d.ts +1 -1
  18. package/dist/types/provider/v1/XyoNetwork.d.ts.map +1 -1
  19. package/dist/types/provider/v1/XyoProvider.d.ts +2 -2
  20. package/dist/types/provider/v1/XyoProvider.d.ts.map +1 -1
  21. package/dist/types/provider/v1/XyoRunner.d.ts +1 -1
  22. package/dist/types/provider/v1/XyoRunner.d.ts.map +1 -1
  23. package/dist/types/provider/v1/XyoSigner.d.ts +2 -2
  24. package/dist/types/provider/v1/XyoSigner.d.ts.map +1 -1
  25. package/dist/types/provider/v1/XyoViewer.d.ts +3 -3
  26. package/dist/types/provider/v1/XyoViewer.d.ts.map +1 -1
  27. package/dist/types/provider/v2/index.d.ts +1 -1
  28. package/dist/types/provider/v2/index.d.ts.map +1 -1
  29. package/dist/types/provider/v2/lake/DataLakeProvider.d.ts +8 -0
  30. package/dist/types/provider/v2/lake/DataLakeProvider.d.ts.map +1 -0
  31. package/dist/types/provider/v2/{viewer/DataLake.d.ts → lake/DataLakeViewer.d.ts} +2 -4
  32. package/dist/types/provider/v2/lake/DataLakeViewer.d.ts.map +1 -0
  33. package/dist/types/provider/v2/{provider/DataLake.d.ts → lake/PayloadLakeProvider.d.ts} +2 -5
  34. package/dist/types/provider/v2/lake/PayloadLakeProvider.d.ts.map +1 -0
  35. package/dist/types/provider/v2/lake/PayloadLakeViewer.d.ts +7 -0
  36. package/dist/types/provider/v2/lake/PayloadLakeViewer.d.ts.map +1 -0
  37. package/dist/types/provider/v2/lake/index.d.ts +5 -0
  38. package/dist/types/provider/v2/lake/index.d.ts.map +1 -0
  39. package/dist/types/provider/v2/viewer/Account.d.ts +4 -3
  40. package/dist/types/provider/v2/viewer/Account.d.ts.map +1 -1
  41. package/dist/types/provider/v2/viewer/Block.d.ts +3 -3
  42. package/dist/types/provider/v2/viewer/Block.d.ts.map +1 -1
  43. package/dist/types/provider/v2/viewer/Chain.d.ts +3 -3
  44. package/dist/types/provider/v2/viewer/Chain.d.ts.map +1 -1
  45. package/dist/types/provider/v2/viewer/Transaction.d.ts +3 -3
  46. package/dist/types/provider/v2/viewer/Transaction.d.ts.map +1 -1
  47. package/dist/types/provider/v2/viewer/Viewer.d.ts +4 -0
  48. package/dist/types/provider/v2/viewer/Viewer.d.ts.map +1 -0
  49. package/dist/types/provider/v2/viewer/Xyo.d.ts +1 -1
  50. package/dist/types/provider/v2/viewer/Xyo.d.ts.map +1 -1
  51. package/dist/types/provider/v2/viewer/index.d.ts +0 -1
  52. package/dist/types/provider/v2/viewer/index.d.ts.map +1 -1
  53. package/dist/types/repository/TransactionReadRepository.d.ts +1 -1
  54. package/dist/types/repository/TransactionReadRepository.d.ts.map +1 -1
  55. package/dist/types/repository/TransactionRepositoryIterator.d.ts +1 -1
  56. package/dist/types/repository/TransactionRepositoryIterator.d.ts.map +1 -1
  57. package/dist/types/repository/TransactionWriteRepository.d.ts +1 -1
  58. package/dist/types/repository/TransactionWriteRepository.d.ts.map +1 -1
  59. package/dist/types/services/BlockProducer.d.ts +3 -3
  60. package/dist/types/services/BlockProducer.d.ts.map +1 -1
  61. package/dist/types/services/Election.d.ts +1 -1
  62. package/dist/types/services/Election.d.ts.map +1 -1
  63. package/dist/types/services/PendingTransactionsService.d.ts +1 -1
  64. package/dist/types/services/PendingTransactionsService.d.ts.map +1 -1
  65. package/dist/types/services/stakeIntent/StakeIntentService.d.ts +1 -1
  66. package/dist/types/services/stakeIntent/StakeIntentService.d.ts.map +1 -1
  67. package/dist/types/transaction/HydratedBoundWitnessPayload.d.ts +11 -0
  68. package/dist/types/transaction/HydratedBoundWitnessPayload.d.ts.map +1 -0
  69. package/dist/types/transaction/TransactionBoundWitness.d.ts +2 -2
  70. package/dist/types/transaction/TransactionBoundWitness.d.ts.map +1 -1
  71. package/dist/types/transaction/index.d.ts +1 -0
  72. package/dist/types/transaction/index.d.ts.map +1 -1
  73. package/dist/types/validation/block/BlockValidationFunction.d.ts +1 -1
  74. package/dist/types/validation/block/BlockValidationFunction.d.ts.map +1 -1
  75. package/dist/types/validation/block/HydratedBlockStateValidationFunction.d.ts +5 -3
  76. package/dist/types/validation/block/HydratedBlockStateValidationFunction.d.ts.map +1 -1
  77. package/dist/types/validation/block/HydratedBlockValidationFunction.d.ts +1 -1
  78. package/dist/types/validation/block/HydratedBlockValidationFunction.d.ts.map +1 -1
  79. package/dist/types/validation/payload/InBlockPayloadValidationFunction.d.ts +1 -1
  80. package/dist/types/validation/payload/InBlockPayloadValidationFunction.d.ts.map +1 -1
  81. package/dist/types/validation/transaction/HydratedTransactionStateValidationFunction.d.ts +1 -1
  82. package/dist/types/validation/transaction/HydratedTransactionStateValidationFunction.d.ts.map +1 -1
  83. package/dist/types/validation/transaction/HydratedTransactionValidationFunction.d.ts +1 -1
  84. package/dist/types/validation/transaction/HydratedTransactionValidationFunction.d.ts.map +1 -1
  85. package/package.json +3 -10
  86. package/src/block/AllowedBlockPayload.ts +3 -3
  87. package/src/chain/ChainAnalyzer.ts +1 -1
  88. package/src/index.ts +12 -12
  89. package/src/iterator/ChainIterator.ts +3 -4
  90. package/src/iterator/ChainIteratorEventData.ts +1 -1
  91. package/src/payload/elevatable/ChainStakeIntent.ts +1 -2
  92. package/src/provider/v1/XyoNetwork.ts +1 -1
  93. package/src/provider/v1/XyoProvider.ts +2 -3
  94. package/src/provider/v1/XyoRunner.ts +1 -1
  95. package/src/provider/v1/XyoSigner.ts +2 -2
  96. package/src/provider/v1/XyoViewer.ts +3 -3
  97. package/src/provider/v2/index.ts +1 -1
  98. package/src/provider/v2/lake/DataLakeProvider.ts +9 -0
  99. package/src/provider/v2/{viewer/DataLake.ts → lake/DataLakeViewer.ts} +1 -3
  100. package/src/provider/v2/{provider/DataLake.ts → lake/PayloadLakeProvider.ts} +1 -5
  101. package/src/provider/v2/lake/PayloadLakeViewer.ts +7 -0
  102. package/src/provider/v2/lake/index.ts +4 -0
  103. package/src/provider/v2/viewer/Account.ts +4 -3
  104. package/src/provider/v2/viewer/Block.ts +3 -4
  105. package/src/provider/v2/viewer/Chain.ts +3 -4
  106. package/src/provider/v2/viewer/Transaction.ts +3 -4
  107. package/src/provider/v2/viewer/Viewer.ts +3 -0
  108. package/src/provider/v2/viewer/Xyo.ts +6 -1
  109. package/src/provider/v2/viewer/index.ts +0 -1
  110. package/src/repository/TransactionReadRepository.ts +1 -2
  111. package/src/repository/TransactionRepositoryIterator.ts +1 -2
  112. package/src/repository/TransactionWriteRepository.ts +1 -2
  113. package/src/services/BlockProducer.ts +3 -3
  114. package/src/services/Election.ts +1 -2
  115. package/src/services/PendingTransactionsService.ts +1 -2
  116. package/src/services/stakeIntent/StakeIntentService.ts +1 -1
  117. package/src/transaction/HydratedBoundWitnessPayload.ts +15 -0
  118. package/src/transaction/TransactionBoundWitness.ts +2 -3
  119. package/src/transaction/TransactionFeesFields.ts +2 -2
  120. package/src/transaction/index.ts +1 -0
  121. package/src/validation/block/BlockValidationFunction.ts +1 -1
  122. package/src/validation/block/HydratedBlockStateValidationFunction.ts +3 -3
  123. package/src/validation/block/HydratedBlockValidationFunction.ts +1 -1
  124. package/src/validation/payload/InBlockPayloadValidationFunction.ts +1 -1
  125. package/src/validation/transaction/HydratedTransactionStateValidationFunction.ts +1 -1
  126. package/src/validation/transaction/HydratedTransactionValidationFunction.ts +1 -1
  127. package/tsconfig.json +0 -21
  128. package/dist/index.d.ts +0 -527
  129. package/dist/index.d.ts.map +0 -1
  130. package/dist/types/provider/v2/provider/DataLake.d.ts.map +0 -1
  131. package/dist/types/provider/v2/provider/index.d.ts +0 -2
  132. package/dist/types/provider/v2/provider/index.d.ts.map +0 -1
  133. package/dist/types/provider/v2/viewer/DataLake.d.ts.map +0 -1
  134. package/src/provider/v2/provider/index.ts +0 -1
@@ -1,42 +1,3 @@
1
- // src/xl1/XL1.ts
2
- var XL1 = (value) => value;
3
- var MilliXL1 = (value) => value;
4
- var MicroXL1 = (value) => value;
5
- var NanoXL1 = (value) => value;
6
- var PicoXL1 = (value) => value;
7
- var FemtoXL1 = (value) => value;
8
- var AttoXL1 = (value) => value;
9
- var XL1ConvertDict = {
10
- xl1: 18,
11
- milli: 15,
12
- micro: 12,
13
- nano: 9,
14
- pico: 6,
15
- femto: 3,
16
- atto: 0
17
- };
18
- var XL1Places = {
19
- xl1: 18n,
20
- milli: 15n,
21
- micro: 12n,
22
- nano: 9n,
23
- pico: 6n,
24
- femto: 3n,
25
- atto: 0n
26
- };
27
- var AttoXL1ConvertFactor = {
28
- xl1: 10n ** XL1Places.xl1,
29
- milli: 10n ** XL1Places.milli,
30
- micro: 10n ** XL1Places.micro,
31
- nano: 10n ** XL1Places.nano,
32
- pico: 10n ** XL1Places.pico,
33
- femto: 10n ** XL1Places.femto,
34
- atto: 10n ** XL1Places.atto
35
- };
36
- function xl1ConvertFactor(unit) {
37
- return 10n ** XL1Places[unit];
38
- }
39
-
40
1
  // src/block/AllowedBlockPayload.ts
41
2
  import { BoundWitnessSchema } from "@xyo-network/boundwitness-model";
42
3
  import { isHashStorageMeta, isSchema } from "@xyo-network/payload-model";
@@ -84,8 +45,15 @@ var isTransfer = isPayloadOfSchemaType3(TransferSchema);
84
45
  var asTransfer = AsObjectFactory3.create(isTransfer);
85
46
  var asOptionalTransfer = AsObjectFactory3.createOptional(isTransfer);
86
47
 
87
- // src/transaction/TransactionBoundWitness.ts
48
+ // src/transaction/HydratedBoundWitnessPayload.ts
88
49
  import { AsObjectFactory as AsObjectFactory4 } from "@xylabs/object";
50
+ import { isPayloadOfSchemaType as isPayloadOfSchemaType4 } from "@xyo-network/payload-model";
51
+ var HydratedBoundWitnessSchema = "network.xyo.boundwitness.hydrated";
52
+ var isHydratedBoundWitnessPayload = isPayloadOfSchemaType4(HydratedBoundWitnessSchema);
53
+ var asHydratedBoundWitnessPayload = AsObjectFactory4.createOptional(isHydratedBoundWitnessPayload);
54
+
55
+ // src/transaction/TransactionBoundWitness.ts
56
+ import { AsObjectFactory as AsObjectFactory5 } from "@xylabs/object";
89
57
  import { isBoundWitness } from "@xyo-network/boundwitness-model";
90
58
  import { isStorageMeta } from "@xyo-network/payload-model";
91
59
  var isTransactionBoundWitness = (value) => {
@@ -98,20 +66,59 @@ var isSignedTransactionBoundWitness = (value) => {
98
66
  var isSigned = (value) => isBoundWitness(value) && value.$signatures.length === value.addresses.length && value.addresses.length > 0;
99
67
  var isTransactionBoundWitnessWithStorageMeta = (value) => isTransactionBoundWitness(value) && isStorageMeta(value);
100
68
  var isSignedTransactionBoundWitnessWithStorageMeta = (value) => isSignedTransactionBoundWitness(value) && isStorageMeta(value);
101
- var asTransactionBoundWitness = AsObjectFactory4.create(isTransactionBoundWitness);
102
- var asOptionalTransactionBoundWitness = AsObjectFactory4.createOptional(isTransactionBoundWitness);
103
- var asTransactionBoundWitnessWithStorageMeta = AsObjectFactory4.create(isTransactionBoundWitnessWithStorageMeta);
104
- var asOptionalTransactionBoundWitnessWithStorageMeta = AsObjectFactory4.createOptional(isTransactionBoundWitnessWithStorageMeta);
69
+ var asTransactionBoundWitness = AsObjectFactory5.create(isTransactionBoundWitness);
70
+ var asOptionalTransactionBoundWitness = AsObjectFactory5.createOptional(isTransactionBoundWitness);
71
+ var asTransactionBoundWitnessWithStorageMeta = AsObjectFactory5.create(isTransactionBoundWitnessWithStorageMeta);
72
+ var asOptionalTransactionBoundWitnessWithStorageMeta = AsObjectFactory5.createOptional(isTransactionBoundWitnessWithStorageMeta);
73
+
74
+ // src/xl1/XL1.ts
75
+ var XL1 = (value) => value;
76
+ var MilliXL1 = (value) => value;
77
+ var MicroXL1 = (value) => value;
78
+ var NanoXL1 = (value) => value;
79
+ var PicoXL1 = (value) => value;
80
+ var FemtoXL1 = (value) => value;
81
+ var AttoXL1 = (value) => value;
82
+ var XL1ConvertDict = {
83
+ xl1: 18,
84
+ milli: 15,
85
+ micro: 12,
86
+ nano: 9,
87
+ pico: 6,
88
+ femto: 3,
89
+ atto: 0
90
+ };
91
+ var XL1Places = {
92
+ xl1: 18n,
93
+ milli: 15n,
94
+ micro: 12n,
95
+ nano: 9n,
96
+ pico: 6n,
97
+ femto: 3n,
98
+ atto: 0n
99
+ };
100
+ var AttoXL1ConvertFactor = {
101
+ xl1: 10n ** XL1Places.xl1,
102
+ milli: 10n ** XL1Places.milli,
103
+ micro: 10n ** XL1Places.micro,
104
+ nano: 10n ** XL1Places.nano,
105
+ pico: 10n ** XL1Places.pico,
106
+ femto: 10n ** XL1Places.femto,
107
+ atto: 10n ** XL1Places.atto
108
+ };
109
+ function xl1ConvertFactor(unit) {
110
+ return 10n ** XL1Places[unit];
111
+ }
105
112
 
106
113
  // src/transaction/TransactionFeesFields.ts
107
114
  var minTransactionFees = {
108
- base: AttoXL1(1000n * AttoXL1ConvertFactor.micro),
115
+ base: AttoXL1(1n),
109
116
  gasPrice: AttoXL1(1n * AttoXL1ConvertFactor.micro),
110
117
  gasLimit: AttoXL1(1000n * AttoXL1ConvertFactor.micro),
111
118
  priority: AttoXL1(0n * AttoXL1ConvertFactor.micro)
112
119
  };
113
120
  var defaultTransactionFees = {
114
- base: minTransactionFees.base,
121
+ base: AttoXL1(1000n * AttoXL1ConvertFactor.micro),
115
122
  gasPrice: AttoXL1(10n * AttoXL1ConvertFactor.micro),
116
123
  gasLimit: AttoXL1(1000000n * AttoXL1ConvertFactor.micro),
117
124
  priority: minTransactionFees.priority
@@ -131,7 +138,7 @@ var isAllowedBlockPayloadWithHashStorageMeta = (value) => {
131
138
 
132
139
  // src/block/BlockBoundWitness.ts
133
140
  import { isHex } from "@xylabs/hex";
134
- import { AsObjectFactory as AsObjectFactory5 } from "@xylabs/object";
141
+ import { AsObjectFactory as AsObjectFactory6 } from "@xylabs/object";
135
142
  import { isBoundWitness as isBoundWitness2 } from "@xyo-network/boundwitness-model";
136
143
  import { isStorageMeta as isStorageMeta2 } from "@xyo-network/payload-model";
137
144
  var isBlockBoundWitness = (value) => {
@@ -141,10 +148,10 @@ var isBlockBoundWitness = (value) => {
141
148
  var isBlockBoundWitnessWithStorageMeta = (value) => {
142
149
  return isBlockBoundWitness(value) && isStorageMeta2(value);
143
150
  };
144
- var asBlockBoundWitness = AsObjectFactory5.create(isBlockBoundWitness);
145
- var asOptionalBlockBoundWitness = AsObjectFactory5.createOptional(isBlockBoundWitness);
146
- var asBlockBoundWitnessWithStorageMeta = AsObjectFactory5.create(isBlockBoundWitnessWithStorageMeta);
147
- var asOptionalBlockBoundWitnessWithStorageMeta = AsObjectFactory5.createOptional(isBlockBoundWitnessWithStorageMeta);
151
+ var asBlockBoundWitness = AsObjectFactory6.create(isBlockBoundWitness);
152
+ var asOptionalBlockBoundWitness = AsObjectFactory6.createOptional(isBlockBoundWitness);
153
+ var asBlockBoundWitnessWithStorageMeta = AsObjectFactory6.create(isBlockBoundWitnessWithStorageMeta);
154
+ var asOptionalBlockBoundWitnessWithStorageMeta = AsObjectFactory6.createOptional(isBlockBoundWitnessWithStorageMeta);
148
155
 
149
156
  // src/constants/StepSizes.ts
150
157
  var StepSizes = [10, 105, 1103, 11576, 121551, 1276282, 13400956];
@@ -167,45 +174,45 @@ var TransactionGasCosts = {
167
174
  };
168
175
 
169
176
  // src/fields/BlockNumber.ts
170
- import { AsObjectFactory as AsObjectFactory6 } from "@xylabs/object";
177
+ import { AsObjectFactory as AsObjectFactory7 } from "@xylabs/object";
171
178
  import {
172
- isPayloadOfSchemaType as isPayloadOfSchemaType4,
179
+ isPayloadOfSchemaType as isPayloadOfSchemaType5,
173
180
  isPayloadOfSchemaTypeWithSources
174
181
  } from "@xyo-network/payload-model";
175
182
  var BlockNumberSchema = "network.xyo.chain.block.number";
176
- var isBlockNumber = isPayloadOfSchemaType4(BlockNumberSchema);
177
- var asBlockNumber = AsObjectFactory6.create(isBlockNumber);
178
- var asOptionalBlockNumber = AsObjectFactory6.createOptional(isBlockNumber);
183
+ var isBlockNumber = isPayloadOfSchemaType5(BlockNumberSchema);
184
+ var asBlockNumber = AsObjectFactory7.create(isBlockNumber);
185
+ var asOptionalBlockNumber = AsObjectFactory7.createOptional(isBlockNumber);
179
186
  var isBlockNumberWithSources = isPayloadOfSchemaTypeWithSources(BlockNumberSchema);
180
- var asBlockNumberWithSources = AsObjectFactory6.create(isBlockNumberWithSources);
181
- var asOptionalBlockNumberWithSources = AsObjectFactory6.createOptional(isBlockNumberWithSources);
187
+ var asBlockNumberWithSources = AsObjectFactory7.create(isBlockNumberWithSources);
188
+ var asOptionalBlockNumberWithSources = AsObjectFactory7.createOptional(isBlockNumberWithSources);
182
189
 
183
190
  // src/network/Status.ts
184
- import { isPayloadOfSchemaType as isPayloadOfSchemaType5 } from "@xyo-network/payload-model";
191
+ import { isPayloadOfSchemaType as isPayloadOfSchemaType6 } from "@xyo-network/payload-model";
185
192
  var NetworkStatusSchema = "network.xyo.chain.status";
186
- var isNetworkStatus = isPayloadOfSchemaType5(NetworkStatusSchema);
193
+ var isNetworkStatus = isPayloadOfSchemaType6(NetworkStatusSchema);
187
194
 
188
195
  // src/services/Chain/ChainIdentification.ts
189
- import { isPayloadOfSchemaType as isPayloadOfSchemaType6 } from "@xyo-network/payload-model";
196
+ import { isPayloadOfSchemaType as isPayloadOfSchemaType7 } from "@xyo-network/payload-model";
190
197
  var ChainIdentificationPayloadSchema = "network.xyo.chain.identification";
191
- var isChainIdentificationPayload = isPayloadOfSchemaType6(ChainIdentificationPayloadSchema);
198
+ var isChainIdentificationPayload = isPayloadOfSchemaType7(ChainIdentificationPayloadSchema);
192
199
 
193
200
  // src/services/Chain/ChainInformation.ts
194
- import { isPayloadOfSchemaType as isPayloadOfSchemaType7 } from "@xyo-network/payload-model";
201
+ import { isPayloadOfSchemaType as isPayloadOfSchemaType8 } from "@xyo-network/payload-model";
195
202
  var ChainInformationPayloadSchema = "network.xyo.chain.information";
196
- var isChainInformationPayload = isPayloadOfSchemaType7(ChainInformationPayloadSchema);
203
+ var isChainInformationPayload = isPayloadOfSchemaType8(ChainInformationPayloadSchema);
197
204
 
198
205
  // src/services/stakeIntent/ChainIndexingServiceStateSchema.ts
199
- import { AsObjectFactory as AsObjectFactory7 } from "@xylabs/object";
200
- import { isPayloadOfSchemaType as isPayloadOfSchemaType8, isStorageMeta as isStorageMeta3 } from "@xyo-network/payload-model";
206
+ import { AsObjectFactory as AsObjectFactory8 } from "@xylabs/object";
207
+ import { isPayloadOfSchemaType as isPayloadOfSchemaType9, isStorageMeta as isStorageMeta3 } from "@xyo-network/payload-model";
201
208
  var ChainIndexingServiceStateSchema = "network.xyo.chain.indexing.service.state";
202
209
  var isChainIndexingServiceState = (payload) => {
203
- return isPayloadOfSchemaType8(ChainIndexingServiceStateSchema)(payload);
210
+ return isPayloadOfSchemaType9(ChainIndexingServiceStateSchema)(payload);
204
211
  };
205
- var asChainIndexingServiceState = AsObjectFactory7.create(isChainIndexingServiceState);
212
+ var asChainIndexingServiceState = AsObjectFactory8.create(isChainIndexingServiceState);
206
213
  var isChainIndexingServiceStateWithStorageMeta = (value) => isChainIndexingServiceState(value) && isStorageMeta3(value);
207
- var asChainIndexingServiceStateWithStorageMeta = AsObjectFactory7.create(isChainIndexingServiceStateWithStorageMeta);
208
- var asOptionalChainIndexingServiceStateWithStorageMeta = AsObjectFactory7.createOptional(isChainIndexingServiceStateWithStorageMeta);
214
+ var asChainIndexingServiceStateWithStorageMeta = AsObjectFactory8.create(isChainIndexingServiceStateWithStorageMeta);
215
+ var asOptionalChainIndexingServiceStateWithStorageMeta = AsObjectFactory8.createOptional(isChainIndexingServiceStateWithStorageMeta);
209
216
  export {
210
217
  AllowedBlockPayloadSchemas,
211
218
  AttoXL1,
@@ -217,6 +224,7 @@ export {
217
224
  ChainStakeIntentSchema,
218
225
  FemtoXL1,
219
226
  HashSchema,
227
+ HydratedBoundWitnessSchema,
220
228
  MicroXL1,
221
229
  MilliXL1,
222
230
  NanoXL1,
@@ -238,6 +246,7 @@ export {
238
246
  asExecutable,
239
247
  asHashPayload,
240
248
  asHashPayloadWithStorageMeta,
249
+ asHydratedBoundWitnessPayload,
241
250
  asOptionalBlockBoundWitness,
242
251
  asOptionalBlockBoundWitnessWithStorageMeta,
243
252
  asOptionalBlockNumber,
@@ -267,6 +276,7 @@ export {
267
276
  isChainStakeIntent,
268
277
  isExecutable,
269
278
  isHashPayload,
279
+ isHydratedBoundWitnessPayload,
270
280
  isNetworkStatus,
271
281
  isSigned,
272
282
  isSignedTransactionBoundWitness,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/xl1/XL1.ts","../../src/block/AllowedBlockPayload.ts","../../src/payload/elevatable/ChainStakeIntent.ts","../../src/payload/elevatable/Executable.ts","../../src/payload/elevatable/Hash.ts","../../src/payload/elevatable/TransferPayload.ts","../../src/transaction/TransactionBoundWitness.ts","../../src/transaction/TransactionFeesFields.ts","../../src/block/BlockBoundWitness.ts","../../src/constants/StepSizes.ts","../../src/constants/TransactionGasCosts.ts","../../src/fields/BlockNumber.ts","../../src/network/Status.ts","../../src/services/Chain/ChainIdentification.ts","../../src/services/Chain/ChainInformation.ts","../../src/services/stakeIntent/ChainIndexingServiceStateSchema.ts"],"sourcesContent":["export type XL1 = bigint & { readonly _tag: 'XL1' } // 1e-18\nexport type MilliXL1 = bigint & { readonly _tag: 'MilliXL1' } // 1e-15 [XL1 * 1e3 = milliXL1] [milliXL1 / 1e3 = XL1]\nexport type MicroXL1 = bigint & { readonly _tag: 'MicroXL1' } // 1e-12 [XL1 * 1e6 = microXL1] [microXL1 / 1e6 = XL1]\nexport type NanoXL1 = bigint & { readonly _tag: 'NanoXL1' } // 1e-9 [XL1 * 1e9 = nanoXL1] [nanoXL1 / 1e9 = XL1]\nexport type PicoXL1 = bigint & { readonly _tag: 'PicoXL1' } // 1e-6 [XL1 * 1e12 = picoXL1] [picoXL1 / 1e12 = XL1]\nexport type FemtoXL1 = bigint & { readonly _tag: 'FemtoXL1' } // 1e-3 [XL1 * 1e15 = femtoXL1] [femtoXL1 / 1e15 = XL1]\nexport type AttoXL1 = bigint & { readonly _tag: 'AttoXL1' } // 1e-0 [XL1 * 1e18 = attoXL1] [attoXL1 / 1e18 = XL1]\n\nexport type TypingFunc<T extends bigint> = (value: bigint) => T\n\nexport const XL1: TypingFunc<XL1> = (value: bigint): XL1 => value as XL1\nexport const MilliXL1: TypingFunc<MilliXL1> = (value: bigint): MilliXL1 => value as MilliXL1\nexport const MicroXL1: TypingFunc<MicroXL1> = (value: bigint): MicroXL1 => value as MicroXL1\nexport const NanoXL1: TypingFunc<NanoXL1> = (value: bigint): NanoXL1 => value as NanoXL1\nexport const PicoXL1: TypingFunc<PicoXL1> = (value: bigint): PicoXL1 => value as PicoXL1\nexport const FemtoXL1: TypingFunc<FemtoXL1> = (value: bigint): FemtoXL1 => value as FemtoXL1\nexport const AttoXL1: TypingFunc<AttoXL1> = (value: bigint): AttoXL1 => value as AttoXL1\n\ntype XL1Units = 'xl1' | 'milli' | 'micro' | 'nano' | 'pico' | 'femto' | 'atto'\n\n/** @deprecated use XL1Places and xl1ConvertFactor(unit) instead */\nexport const XL1ConvertDict: Record<XL1Units, number> = {\n xl1: 18,\n milli: 15,\n micro: 12,\n nano: 9,\n pico: 6,\n femto: 3,\n atto: 0,\n} as const\n\nexport const XL1Places: Record<XL1Units, bigint> = {\n xl1: 18n,\n milli: 15n,\n micro: 12n,\n nano: 9n,\n pico: 6n,\n femto: 3n,\n atto: 0n,\n} as const\n\n/**\n * Convert factor by which a respective unit is multiplied to convert it to AttoXL1 or\n * by which AttoXL1 is divided to convert it to respective unit is multiplied.\n */\nexport const AttoXL1ConvertFactor: Record<XL1Units, bigint> = {\n xl1: 10n ** XL1Places.xl1,\n milli: 10n ** XL1Places.milli,\n micro: 10n ** XL1Places.micro,\n nano: 10n ** XL1Places.nano,\n pico: 10n ** XL1Places.pico,\n femto: 10n ** XL1Places.femto,\n atto: 10n ** XL1Places.atto,\n} as const\n\n/** @deprecated use AttoXL1ConvertFactor instead */\nexport function xl1ConvertFactor(unit: XL1Units) {\n return 10n ** XL1Places[unit]\n}\n","import { BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport type { Schema, WithStorageMeta } from '@xyo-network/payload-model'\nimport { isHashStorageMeta, isSchema } from '@xyo-network/payload-model'\nimport type { SchemaPayload } from '@xyo-network/schema-payload-plugin'\nimport { isSchemaPayload, SchemaSchema } from '@xyo-network/schema-payload-plugin'\n\nimport type {\n ChainStakeIntent, HashPayload, Transfer,\n} from '#payload'\nimport {\n ChainStakeIntentSchema, HashSchema, isChainStakeIntent, isHashPayload, isTransfer, TransferSchema,\n} from '#payload'\nimport { isTransactionBoundWitness, type TransactionBoundWitness } from '#transaction'\n\nexport type AllowedBlockPayload = Transfer | ChainStakeIntent | SchemaPayload | TransactionBoundWitness | HashPayload\nexport const AllowedBlockPayloadSchemas: Schema[] = [TransferSchema, ChainStakeIntentSchema, SchemaSchema, BoundWitnessSchema, HashSchema]\nexport type AllowedBlockPayloadSchema = typeof AllowedBlockPayloadSchemas[number]\n\nexport const isAllowedBlockPayloadSchema = (value: unknown): value is AllowedBlockPayloadSchema => {\n return isSchema(value) && AllowedBlockPayloadSchemas.includes(value)\n}\n\nexport const isAllowedBlockPayload = (value: unknown): value is AllowedBlockPayload => {\n return isTransfer(value) || isChainStakeIntent(value) || isSchemaPayload(value) || isTransactionBoundWitness(value) || isHashPayload(value)\n}\n\nexport const isAllowedBlockPayloadWithHashStorageMeta = (value: unknown): value is WithStorageMeta<AllowedBlockPayload> => {\n return isAllowedBlockPayload(value) && isHashStorageMeta(value)\n}\n","import { AsObjectFactory } from '@xylabs/object'\nimport type { Payload } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport type { BlockDuration } from '#fields'\n\nimport type { FromFields } from './Executable.ts'\n\nexport const ChainStakeIntentSchema = 'network.xyo.chain.stake.intent' as const\nexport type ChainStakeIntentSchema = typeof ChainStakeIntentSchema\n\nexport type Intent = 'producer' // | 'bank'\n\nexport interface ChainStakeIntentFields extends BlockDuration, FromFields {\n /*\n * The intent of the staking\n */\n intent: Intent\n}\n\nexport type ChainStakeIntent = Payload<ChainStakeIntentFields, ChainStakeIntentSchema>\n\nexport const isChainStakeIntent = (x?: unknown | null): x is ChainStakeIntent => {\n return isPayloadOfSchemaType<ChainStakeIntent>(ChainStakeIntentSchema)(x)\n && asNonNegativeInteger(x.nbf) !== undefined\n && asNonNegativeInteger(x.exp) !== undefined\n}\nexport const asChainStakeIntent = AsObjectFactory.create(isChainStakeIntent)\nexport const asOptionalChainStakeIntent = AsObjectFactory.createOptional(isChainStakeIntent)\n\nconst asNonNegativeInteger = (num: number) => {\n return (Number.isInteger(num) && num >= 0) ? num : undefined\n}\n","import type { Address } from '@xylabs/hex'\nimport type { EmptyObject } from '@xylabs/object'\nimport { isAnyPayload } from '@xyo-network/payload-model'\n\nexport interface FromFields {\n // the address that is treated as the source of this action\n from: Address\n}\n\nexport const hasFrom = (value: unknown): value is FromFields => {\n return (value as FromFields).from !== undefined\n}\n\nexport interface ExecutableFields {\n script: string[]\n}\n\nexport type Executable<T extends EmptyObject = EmptyObject> = T & ExecutableFields\nexport type OptionalExecutable<T extends EmptyObject = EmptyObject> = T & Partial<ExecutableFields>\n\nexport const isExecutable = <T extends EmptyObject>(value: T | undefined): value is Executable<T> => {\n return isAnyPayload(value) && Array.isArray((value as unknown as ExecutableFields).script)\n}\n\nexport const asExecutable = <T extends EmptyObject>(value: T | undefined): Executable<T> | undefined => {\n return isExecutable(value)\n ? value as unknown as Executable<T>\n : undefined\n}\n","import type { Hash } from '@xylabs/hex'\nimport { AsObjectFactory } from '@xylabs/object'\nimport type { Payload } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nexport const HashSchema = 'network.xyo.hash' as const\nexport type HashSchema = typeof HashSchema\n\nexport interface HashFields {\n hash: Hash\n}\n\nexport type HashPayload = Payload<HashFields, HashSchema>\n\nexport const isHashPayload = isPayloadOfSchemaType<HashPayload>(HashSchema)\n\nexport const asHashPayload = AsObjectFactory.create(isHashPayload)\nexport const asHashPayloadWithStorageMeta = AsObjectFactory.create(isHashPayload)\nexport const asOptionalHashPayload = AsObjectFactory.createOptional(isHashPayload)\n","import type {\n Address,\n Hex,\n} from '@xylabs/hex'\nimport { AsObjectFactory } from '@xylabs/object'\nimport type { Payload } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport type { FromFields } from './Executable.ts'\n\nexport const TransferSchema = 'network.xyo.transfer' as const\nexport type TransferSchema = typeof TransferSchema\n\nexport interface TransferFields extends FromFields {\n epoch: number\n // the amount that is being sent to another address\n transfers: Record<Address, Hex>\n}\n\n// if this payload is included in a boundwitness, it needs to be available for inspection to be included in block\nexport type Transfer = Payload<TransferFields, TransferSchema>\n\nexport const isTransfer = isPayloadOfSchemaType<Transfer>(TransferSchema)\n\nexport const asTransfer = AsObjectFactory.create(isTransfer)\nexport const asOptionalTransfer = AsObjectFactory.createOptional(isTransfer)\n","import type { Address } from '@xylabs/hex'\nimport { AsObjectFactory } from '@xylabs/object'\nimport type { BoundWitness, Signed } from '@xyo-network/boundwitness-model'\nimport { isBoundWitness } from '@xyo-network/boundwitness-model'\nimport type { WithStorageMeta } from '@xyo-network/payload-model'\nimport { isStorageMeta } from '@xyo-network/payload-model'\n\nimport type { BlockDuration } from '#fields'\nimport type { FromFields, OptionalExecutable } from '#payload'\n\nimport type { TransactionFeesFields } from './TransactionFeesFields.ts'\n\nexport interface TransactionBoundWitnessFields extends BlockDuration, TransactionFeesFields {\n chain: Address\n}\n\nexport type TransactionBoundWitness = BoundWitness<TransactionBoundWitnessFields & OptionalExecutable & FromFields>\n\nexport const isTransactionBoundWitness = (value: unknown): value is TransactionBoundWitness => {\n const typedObj = value as TransactionBoundWitness\n return isBoundWitness(value)\n && typedObj.chain !== undefined\n && typedObj.fees !== undefined\n && typedObj.exp !== undefined\n && typedObj.nbf !== undefined\n}\n\nexport const isSignedTransactionBoundWitness = (value: unknown): value is Signed<TransactionBoundWitness> => {\n return isTransactionBoundWitness(value) && isSigned(value)\n}\n\nexport const isSigned = <T extends BoundWitness = BoundWitness>(value: unknown): value is Signed<T> =>\n isBoundWitness(value)\n && value.$signatures.length === value.addresses.length\n && value.addresses.length > 0\n\nexport const isTransactionBoundWitnessWithStorageMeta = (value: unknown): value is WithStorageMeta<TransactionBoundWitness> =>\n isTransactionBoundWitness(value)\n && isStorageMeta(value)\n\nexport const isSignedTransactionBoundWitnessWithStorageMeta = (value: unknown): value is WithStorageMeta<Signed<TransactionBoundWitness>> =>\n isSignedTransactionBoundWitness(value)\n && isStorageMeta(value)\n\nexport const asTransactionBoundWitness = AsObjectFactory.create(isTransactionBoundWitness)\nexport const asOptionalTransactionBoundWitness = AsObjectFactory.createOptional(isTransactionBoundWitness)\n\nexport const asTransactionBoundWitnessWithStorageMeta = AsObjectFactory.create(isTransactionBoundWitnessWithStorageMeta)\nexport const asOptionalTransactionBoundWitnessWithStorageMeta = AsObjectFactory.createOptional(isTransactionBoundWitnessWithStorageMeta)\n","import type { Hex } from '@xylabs/hex'\n\nimport {\n AttoXL1,\n AttoXL1ConvertFactor,\n} from '../xl1/index.ts'\n\nexport interface TransactionFeesBigInt {\n base: AttoXL1\n gasLimit: AttoXL1\n gasPrice: AttoXL1\n priority: AttoXL1\n}\n\nexport type TransactionFeesHex = {\n [K in keyof TransactionFeesBigInt]: Hex;\n}\n\nexport interface TransactionFeesFields {\n fees: TransactionFeesHex\n}\n\nexport const minTransactionFees: TransactionFeesBigInt = {\n base: AttoXL1(1000n * AttoXL1ConvertFactor.micro),\n gasPrice: AttoXL1(1n * AttoXL1ConvertFactor.micro),\n gasLimit: AttoXL1(1000n * AttoXL1ConvertFactor.micro),\n priority: AttoXL1(0n * AttoXL1ConvertFactor.micro),\n} as const\n\nexport const defaultTransactionFees: TransactionFeesBigInt = {\n base: minTransactionFees.base,\n gasPrice: AttoXL1(10n * AttoXL1ConvertFactor.micro),\n gasLimit: AttoXL1(1_000_000n * AttoXL1ConvertFactor.micro),\n priority: minTransactionFees.priority,\n} as const\n","import type { Hash, Hex } from '@xylabs/hex'\nimport { isHex } from '@xylabs/hex'\nimport { AsObjectFactory } from '@xylabs/object'\nimport type { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { isBoundWitness } from '@xyo-network/boundwitness-model'\nimport type { WithStorageMeta } from '@xyo-network/payload-model'\nimport { isStorageMeta } from '@xyo-network/payload-model'\n\nexport interface BlockBoundWitnessMeta {\n $epoch: number\n}\n\nexport interface BlockBoundWitnessFields {\n /** Block number */\n block: number\n /** Chain id - this should be \"0\" for the genesis block */\n chain: Hex\n /** Previous block hash if not block 0 */\n previous: Hash | null /* the previous block hash */\n /** Version of the protocol being used major * 1,000,000 + minor * 1,000 + patch */\n protocol: number\n /** Step hashes */\n step_hashes: Hex[]\n}\n\nexport type BlockBoundWitness = BoundWitness<BlockBoundWitnessFields & BlockBoundWitnessMeta>\n\nexport const isBlockBoundWitness = (value: unknown): value is BlockBoundWitness => {\n const typedObj = value as BlockBoundWitness\n return isBoundWitness(value)\n && Number.isInteger(typedObj.block)\n && isHex(typedObj.chain)\n}\n\nexport const isBlockBoundWitnessWithStorageMeta = (value: unknown): value is WithStorageMeta<BlockBoundWitness> => {\n return isBlockBoundWitness(value) && isStorageMeta(value)\n}\n\nexport const asBlockBoundWitness = AsObjectFactory.create(isBlockBoundWitness)\nexport const asOptionalBlockBoundWitness = AsObjectFactory.createOptional(isBlockBoundWitness)\n\nexport const asBlockBoundWitnessWithStorageMeta = AsObjectFactory.create(isBlockBoundWitnessWithStorageMeta)\nexport const asOptionalBlockBoundWitnessWithStorageMeta = AsObjectFactory.createOptional(isBlockBoundWitnessWithStorageMeta)\n","export const StepSizes = [10, 105, 1103, 11_576, 121_551, 1_276_282, 13_400_956] as const\n","import { MicroXL1 } from '../xl1/index.ts'\n\nexport const TransactionGasCosts = {\n /**\n * The cost of storing each character that is added to the chain\n * This includes the transaction JSON and all the elevated payloads' JSON\n */\n characterStorage: MicroXL1(10n),\n\n /** The cost of static validating every payload that will be included in the chain */\n payloadValidation: MicroXL1(1000n),\n\n /** The cost of validating each signature that will be included in the chain */\n signatureValidation: MicroXL1(1000n),\n\n /** The cost of validating each hash that will be included in the chain */\n hashValidation: MicroXL1(100n),\n\n /** The cost of validating a balance state, triggered by a Transfer payload or gas collection */\n balanceValidation: MicroXL1(100n),\n} as const\n\n/** Gas Calculation\n *\n * 1 Million microXL1 (mXL1) = 1 XL1\n *\n * Gas amount is calculated as follows:\n *\n * 1. Each byte in the transaction cost 10 gas\n * 2. Each payload validation in the transaction costs 1000 gas\n * 3. Each signature verification in the transaction costs 1000 gas\n * 4. Each hash validation in the transaction costs 100 gas\n * 5. Each balance validation in the transaction costs 100 gas\n * 6. Processing/Compute/Storage Cost?\n * 7. operation Costs?\n *\n * The total gas cost is calculated by multiplying the gas amount by the gas price.\n *\n * minGasPrice is initially set to 100 mXL1\n * minBase is initially set to 1000 mXL1\n * minPriority is always 0 mXL1, but can be set to increase the priority of the transaction\n *\n */\n","import type { Hex } from '@xylabs/hex'\nimport { AsObjectFactory } from '@xylabs/object'\nimport type { Payload, WithSources } from '@xyo-network/payload-model'\nimport {\n isPayloadOfSchemaType,\n isPayloadOfSchemaTypeWithSources,\n} from '@xyo-network/payload-model'\n\nexport const BlockNumberSchema = 'network.xyo.chain.block.number' as const\nexport type BlockNumberSchema = typeof BlockNumberSchema\n\nexport interface BlockNumberFields {\n /**\n * The block number\n */\n block: Hex\n /**\n * The chain id\n */\n chain?: Hex\n}\n/**\n * The number of a block\n */\nexport type BlockNumber = Payload<BlockNumberFields, BlockNumberSchema>\n\n/**\n * Identity function for determining if an object is a BlockNumber\n */\nexport const isBlockNumber = isPayloadOfSchemaType<BlockNumber>(BlockNumberSchema)\nexport const asBlockNumber = AsObjectFactory.create<BlockNumber>(isBlockNumber)\nexport const asOptionalBlockNumber = AsObjectFactory.createOptional<BlockNumber>(isBlockNumber)\n\n/**\n * Identity function for determining if an object is a BlockNumber with sources\n */\nexport const isBlockNumberWithSources = isPayloadOfSchemaTypeWithSources<BlockNumber>(BlockNumberSchema)\nexport const asBlockNumberWithSources = AsObjectFactory.create<WithSources<BlockNumber>>(isBlockNumberWithSources)\nexport const asOptionalBlockNumberWithSources = AsObjectFactory.createOptional<WithSources<BlockNumber>>(isBlockNumberWithSources)\n","import type { Payload } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nexport const NetworkStatusSchema = 'network.xyo.chain.status' as const\nexport type NetworkStatusSchema = typeof NetworkStatusSchema\n\nexport type NetworkStatusState = 'online' | 'offline' | 'degraded' | 'unknown'\n\nexport type NetworkStatusUpdate = {\n end: number\n start: number\n update: string\n}\n\nexport interface NetworkStatusFields {\n description: string\n state: NetworkStatusState\n updates?: NetworkStatusUpdate[]\n}\n\nexport type NetworkStatus = Payload<NetworkStatusFields, NetworkStatusSchema>\n\nexport const isNetworkStatus = isPayloadOfSchemaType<NetworkStatus>(NetworkStatusSchema)\n","import type { Address } from '@xylabs/hex'\nimport type { Payload } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nexport const ChainIdentificationPayloadSchema = 'network.xyo.chain.identification' as const\nexport type ChainIdentificationPayloadSchema = typeof ChainIdentificationPayloadSchema\n\n/**\n * Identification required to uniquely identify a chain\n */\nexport interface ChainIdentification {\n /** @field the id of the chain */\n id: Address\n}\n\nexport type ChainIdentificationPayload = Payload<ChainIdentification, ChainIdentificationPayloadSchema>\nexport const isChainIdentificationPayload = isPayloadOfSchemaType<ChainIdentificationPayload>(ChainIdentificationPayloadSchema)\n","import type { Payload } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nexport const ChainInformationPayloadSchema = 'network.xyo.chain.information' as const\nexport type ChainInformationPayloadSchema = typeof ChainInformationPayloadSchema\n\nimport type { ChainIdentification } from './ChainIdentification.ts'\n\n/**\n * Information required to produce a chain\n */\nexport interface ChainInformation extends ChainIdentification {\n // TODO: Add these fields which are currently promises on the smart contract\n // forkedAtBlockNumber: bigint\n // forkedAtHash: Hash\n // forkedChainId: Address\n}\n\nexport type ChainInformationPayload = Payload<ChainIdentification, ChainInformationPayloadSchema>\nexport const isChainInformationPayload = isPayloadOfSchemaType<ChainInformationPayload>(ChainInformationPayloadSchema)\n","import type { Hash } from '@xylabs/hex'\nimport type { JsonValue } from '@xylabs/object'\nimport { AsObjectFactory } from '@xylabs/object'\nimport type { Payload, WithStorageMeta } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType, isStorageMeta } from '@xyo-network/payload-model'\n\nexport interface ChainIndexingServiceStateFields<T extends JsonValue = JsonValue> {\n /**\n * The hash of the last block that this service has indexing\n */\n endBlockHash: Hash\n /**\n * The hash of the block that the service started indexing. If undefined, the service is\n * assumed to have started indexing from the genesis block\n */\n startBlockHash?: Hash\n /**\n * The indexed state for the range\n */\n state: T\n}\nexport const ChainIndexingServiceStateSchema = 'network.xyo.chain.indexing.service.state' as const\nexport type ChainIndexingServiceStateSchema = typeof ChainIndexingServiceStateSchema\n\n/**\n * The result of a ChainIndexingServiceState\n */\nexport type ChainIndexingServiceState<T extends JsonValue = JsonValue> = Payload<ChainIndexingServiceStateFields<T>, ChainIndexingServiceStateSchema>\n\n/**\n * Identity functions for determining if an object is an ChainIndexingServiceState\n */\nexport const isChainIndexingServiceState = <T extends JsonValue = JsonValue>(payload?: unknown): payload is ChainIndexingServiceState<T> => {\n return isPayloadOfSchemaType<ChainIndexingServiceState<T>>(ChainIndexingServiceStateSchema)(payload)\n}\nexport const asChainIndexingServiceState = AsObjectFactory.create<ChainIndexingServiceState<JsonValue>>(isChainIndexingServiceState)\n\nexport const isChainIndexingServiceStateWithStorageMeta\n= <T extends JsonValue = JsonValue>(value: unknown): value is WithStorageMeta<ChainIndexingServiceState<T>> =>\n isChainIndexingServiceState<T>(value) && isStorageMeta(value)\n\nexport const asChainIndexingServiceStateWithStorageMeta\n= AsObjectFactory.create<WithStorageMeta<ChainIndexingServiceState>>(isChainIndexingServiceStateWithStorageMeta)\n\nexport const asOptionalChainIndexingServiceStateWithStorageMeta\n= AsObjectFactory.createOptional<WithStorageMeta<ChainIndexingServiceState>>(isChainIndexingServiceStateWithStorageMeta)\n"],"mappings":"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","names":["AsObjectFactory","isPayloadOfSchemaType","AsObjectFactory","isPayloadOfSchemaType","AsObjectFactory","AsObjectFactory","isBoundWitness","isStorageMeta","AsObjectFactory","isPayloadOfSchemaType","isPayloadOfSchemaType","isPayloadOfSchemaType","isPayloadOfSchemaType","AsObjectFactory","isPayloadOfSchemaType","isStorageMeta"]}
1
+ {"version":3,"sources":["../../src/block/AllowedBlockPayload.ts","../../src/payload/elevatable/ChainStakeIntent.ts","../../src/payload/elevatable/Executable.ts","../../src/payload/elevatable/Hash.ts","../../src/payload/elevatable/TransferPayload.ts","../../src/transaction/HydratedBoundWitnessPayload.ts","../../src/transaction/TransactionBoundWitness.ts","../../src/xl1/XL1.ts","../../src/transaction/TransactionFeesFields.ts","../../src/block/BlockBoundWitness.ts","../../src/constants/StepSizes.ts","../../src/constants/TransactionGasCosts.ts","../../src/fields/BlockNumber.ts","../../src/network/Status.ts","../../src/services/Chain/ChainIdentification.ts","../../src/services/Chain/ChainInformation.ts","../../src/services/stakeIntent/ChainIndexingServiceStateSchema.ts"],"sourcesContent":["import { BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport type { Schema, WithStorageMeta } from '@xyo-network/payload-model'\nimport { isHashStorageMeta, isSchema } from '@xyo-network/payload-model'\nimport type { SchemaPayload } from '@xyo-network/schema-payload-plugin'\nimport { isSchemaPayload, SchemaSchema } from '@xyo-network/schema-payload-plugin'\n\nimport type {\n ChainStakeIntent, HashPayload, Transfer,\n} from '../payload/index.ts'\nimport {\n ChainStakeIntentSchema, HashSchema, isChainStakeIntent, isHashPayload, isTransfer, TransferSchema,\n} from '../payload/index.ts'\nimport { isTransactionBoundWitness, type TransactionBoundWitness } from '../transaction/index.ts'\n\nexport type AllowedBlockPayload = Transfer | ChainStakeIntent | SchemaPayload | TransactionBoundWitness | HashPayload\nexport const AllowedBlockPayloadSchemas: Schema[] = [TransferSchema, ChainStakeIntentSchema, SchemaSchema, BoundWitnessSchema, HashSchema]\nexport type AllowedBlockPayloadSchema = typeof AllowedBlockPayloadSchemas[number]\n\nexport const isAllowedBlockPayloadSchema = (value: unknown): value is AllowedBlockPayloadSchema => {\n return isSchema(value) && AllowedBlockPayloadSchemas.includes(value)\n}\n\nexport const isAllowedBlockPayload = (value: unknown): value is AllowedBlockPayload => {\n return isTransfer(value) || isChainStakeIntent(value) || isSchemaPayload(value) || isTransactionBoundWitness(value) || isHashPayload(value)\n}\n\nexport const isAllowedBlockPayloadWithHashStorageMeta = (value: unknown): value is WithStorageMeta<AllowedBlockPayload> => {\n return isAllowedBlockPayload(value) && isHashStorageMeta(value)\n}\n","import { AsObjectFactory } from '@xylabs/object'\nimport type { Payload } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport type { BlockDuration } from '../../fields/index.ts'\nimport type { FromFields } from './Executable.ts'\n\nexport const ChainStakeIntentSchema = 'network.xyo.chain.stake.intent' as const\nexport type ChainStakeIntentSchema = typeof ChainStakeIntentSchema\n\nexport type Intent = 'producer' // | 'bank'\n\nexport interface ChainStakeIntentFields extends BlockDuration, FromFields {\n /*\n * The intent of the staking\n */\n intent: Intent\n}\n\nexport type ChainStakeIntent = Payload<ChainStakeIntentFields, ChainStakeIntentSchema>\n\nexport const isChainStakeIntent = (x?: unknown | null): x is ChainStakeIntent => {\n return isPayloadOfSchemaType<ChainStakeIntent>(ChainStakeIntentSchema)(x)\n && asNonNegativeInteger(x.nbf) !== undefined\n && asNonNegativeInteger(x.exp) !== undefined\n}\nexport const asChainStakeIntent = AsObjectFactory.create(isChainStakeIntent)\nexport const asOptionalChainStakeIntent = AsObjectFactory.createOptional(isChainStakeIntent)\n\nconst asNonNegativeInteger = (num: number) => {\n return (Number.isInteger(num) && num >= 0) ? num : undefined\n}\n","import type { Address } from '@xylabs/hex'\nimport type { EmptyObject } from '@xylabs/object'\nimport { isAnyPayload } from '@xyo-network/payload-model'\n\nexport interface FromFields {\n // the address that is treated as the source of this action\n from: Address\n}\n\nexport const hasFrom = (value: unknown): value is FromFields => {\n return (value as FromFields).from !== undefined\n}\n\nexport interface ExecutableFields {\n script: string[]\n}\n\nexport type Executable<T extends EmptyObject = EmptyObject> = T & ExecutableFields\nexport type OptionalExecutable<T extends EmptyObject = EmptyObject> = T & Partial<ExecutableFields>\n\nexport const isExecutable = <T extends EmptyObject>(value: T | undefined): value is Executable<T> => {\n return isAnyPayload(value) && Array.isArray((value as unknown as ExecutableFields).script)\n}\n\nexport const asExecutable = <T extends EmptyObject>(value: T | undefined): Executable<T> | undefined => {\n return isExecutable(value)\n ? value as unknown as Executable<T>\n : undefined\n}\n","import type { Hash } from '@xylabs/hex'\nimport { AsObjectFactory } from '@xylabs/object'\nimport type { Payload } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nexport const HashSchema = 'network.xyo.hash' as const\nexport type HashSchema = typeof HashSchema\n\nexport interface HashFields {\n hash: Hash\n}\n\nexport type HashPayload = Payload<HashFields, HashSchema>\n\nexport const isHashPayload = isPayloadOfSchemaType<HashPayload>(HashSchema)\n\nexport const asHashPayload = AsObjectFactory.create(isHashPayload)\nexport const asHashPayloadWithStorageMeta = AsObjectFactory.create(isHashPayload)\nexport const asOptionalHashPayload = AsObjectFactory.createOptional(isHashPayload)\n","import type {\n Address,\n Hex,\n} from '@xylabs/hex'\nimport { AsObjectFactory } from '@xylabs/object'\nimport type { Payload } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport type { FromFields } from './Executable.ts'\n\nexport const TransferSchema = 'network.xyo.transfer' as const\nexport type TransferSchema = typeof TransferSchema\n\nexport interface TransferFields extends FromFields {\n epoch: number\n // the amount that is being sent to another address\n transfers: Record<Address, Hex>\n}\n\n// if this payload is included in a boundwitness, it needs to be available for inspection to be included in block\nexport type Transfer = Payload<TransferFields, TransferSchema>\n\nexport const isTransfer = isPayloadOfSchemaType<Transfer>(TransferSchema)\n\nexport const asTransfer = AsObjectFactory.create(isTransfer)\nexport const asOptionalTransfer = AsObjectFactory.createOptional(isTransfer)\n","import { AsObjectFactory } from '@xylabs/object'\nimport type { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { isPayloadOfSchemaType, type Payload } from '@xyo-network/payload-model'\n\nexport const HydratedBoundWitnessSchema = 'network.xyo.boundwitness.hydrated'\nexport type HydratedBoundWitnessSchema = typeof HydratedBoundWitnessSchema\n\nexport type HydratedBoundWitnessPayload = Payload<{\n bw: BoundWitness\n payloads: Payload[]\n},\n HydratedBoundWitnessSchema>\n\nexport const isHydratedBoundWitnessPayload = isPayloadOfSchemaType<HydratedBoundWitnessPayload>(HydratedBoundWitnessSchema)\nexport const asHydratedBoundWitnessPayload = AsObjectFactory.createOptional<HydratedBoundWitnessPayload>(isHydratedBoundWitnessPayload)\n","import type { Address } from '@xylabs/hex'\nimport { AsObjectFactory } from '@xylabs/object'\nimport type { BoundWitness, Signed } from '@xyo-network/boundwitness-model'\nimport { isBoundWitness } from '@xyo-network/boundwitness-model'\nimport type { WithStorageMeta } from '@xyo-network/payload-model'\nimport { isStorageMeta } from '@xyo-network/payload-model'\n\nimport type { BlockDuration } from '../fields/index.ts'\nimport type { FromFields, OptionalExecutable } from '../payload/index.ts'\nimport type { TransactionFeesFields } from './TransactionFeesFields.ts'\n\nexport interface TransactionBoundWitnessFields extends BlockDuration, TransactionFeesFields {\n chain: Address\n}\n\nexport type TransactionBoundWitness = BoundWitness<TransactionBoundWitnessFields & OptionalExecutable & FromFields>\n\nexport const isTransactionBoundWitness = (value: unknown): value is TransactionBoundWitness => {\n const typedObj = value as TransactionBoundWitness\n return isBoundWitness(value)\n && typedObj.chain !== undefined\n && typedObj.fees !== undefined\n && typedObj.exp !== undefined\n && typedObj.nbf !== undefined\n}\n\nexport const isSignedTransactionBoundWitness = (value: unknown): value is Signed<TransactionBoundWitness> => {\n return isTransactionBoundWitness(value) && isSigned(value)\n}\n\nexport const isSigned = <T extends BoundWitness = BoundWitness>(value: unknown): value is Signed<T> =>\n isBoundWitness(value)\n && value.$signatures.length === value.addresses.length\n && value.addresses.length > 0\n\nexport const isTransactionBoundWitnessWithStorageMeta = (value: unknown): value is WithStorageMeta<TransactionBoundWitness> =>\n isTransactionBoundWitness(value)\n && isStorageMeta(value)\n\nexport const isSignedTransactionBoundWitnessWithStorageMeta = (value: unknown): value is WithStorageMeta<Signed<TransactionBoundWitness>> =>\n isSignedTransactionBoundWitness(value)\n && isStorageMeta(value)\n\nexport const asTransactionBoundWitness = AsObjectFactory.create(isTransactionBoundWitness)\nexport const asOptionalTransactionBoundWitness = AsObjectFactory.createOptional(isTransactionBoundWitness)\n\nexport const asTransactionBoundWitnessWithStorageMeta = AsObjectFactory.create(isTransactionBoundWitnessWithStorageMeta)\nexport const asOptionalTransactionBoundWitnessWithStorageMeta = AsObjectFactory.createOptional(isTransactionBoundWitnessWithStorageMeta)\n","export type XL1 = bigint & { readonly _tag: 'XL1' } // 1e-18\nexport type MilliXL1 = bigint & { readonly _tag: 'MilliXL1' } // 1e-15 [XL1 * 1e3 = milliXL1] [milliXL1 / 1e3 = XL1]\nexport type MicroXL1 = bigint & { readonly _tag: 'MicroXL1' } // 1e-12 [XL1 * 1e6 = microXL1] [microXL1 / 1e6 = XL1]\nexport type NanoXL1 = bigint & { readonly _tag: 'NanoXL1' } // 1e-9 [XL1 * 1e9 = nanoXL1] [nanoXL1 / 1e9 = XL1]\nexport type PicoXL1 = bigint & { readonly _tag: 'PicoXL1' } // 1e-6 [XL1 * 1e12 = picoXL1] [picoXL1 / 1e12 = XL1]\nexport type FemtoXL1 = bigint & { readonly _tag: 'FemtoXL1' } // 1e-3 [XL1 * 1e15 = femtoXL1] [femtoXL1 / 1e15 = XL1]\nexport type AttoXL1 = bigint & { readonly _tag: 'AttoXL1' } // 1e-0 [XL1 * 1e18 = attoXL1] [attoXL1 / 1e18 = XL1]\n\nexport type TypingFunc<T extends bigint> = (value: bigint) => T\n\nexport const XL1: TypingFunc<XL1> = (value: bigint): XL1 => value as XL1\nexport const MilliXL1: TypingFunc<MilliXL1> = (value: bigint): MilliXL1 => value as MilliXL1\nexport const MicroXL1: TypingFunc<MicroXL1> = (value: bigint): MicroXL1 => value as MicroXL1\nexport const NanoXL1: TypingFunc<NanoXL1> = (value: bigint): NanoXL1 => value as NanoXL1\nexport const PicoXL1: TypingFunc<PicoXL1> = (value: bigint): PicoXL1 => value as PicoXL1\nexport const FemtoXL1: TypingFunc<FemtoXL1> = (value: bigint): FemtoXL1 => value as FemtoXL1\nexport const AttoXL1: TypingFunc<AttoXL1> = (value: bigint): AttoXL1 => value as AttoXL1\n\ntype XL1Units = 'xl1' | 'milli' | 'micro' | 'nano' | 'pico' | 'femto' | 'atto'\n\n/** @deprecated use XL1Places and xl1ConvertFactor(unit) instead */\nexport const XL1ConvertDict: Record<XL1Units, number> = {\n xl1: 18,\n milli: 15,\n micro: 12,\n nano: 9,\n pico: 6,\n femto: 3,\n atto: 0,\n} as const\n\nexport const XL1Places: Record<XL1Units, bigint> = {\n xl1: 18n,\n milli: 15n,\n micro: 12n,\n nano: 9n,\n pico: 6n,\n femto: 3n,\n atto: 0n,\n} as const\n\n/**\n * Convert factor by which a respective unit is multiplied to convert it to AttoXL1 or\n * by which AttoXL1 is divided to convert it to respective unit is multiplied.\n */\nexport const AttoXL1ConvertFactor: Record<XL1Units, bigint> = {\n xl1: 10n ** XL1Places.xl1,\n milli: 10n ** XL1Places.milli,\n micro: 10n ** XL1Places.micro,\n nano: 10n ** XL1Places.nano,\n pico: 10n ** XL1Places.pico,\n femto: 10n ** XL1Places.femto,\n atto: 10n ** XL1Places.atto,\n} as const\n\n/** @deprecated use AttoXL1ConvertFactor instead */\nexport function xl1ConvertFactor(unit: XL1Units) {\n return 10n ** XL1Places[unit]\n}\n","import type { Hex } from '@xylabs/hex'\n\nimport {\n AttoXL1,\n AttoXL1ConvertFactor,\n} from '../xl1/index.ts'\n\nexport interface TransactionFeesBigInt {\n base: AttoXL1\n gasLimit: AttoXL1\n gasPrice: AttoXL1\n priority: AttoXL1\n}\n\nexport type TransactionFeesHex = {\n [K in keyof TransactionFeesBigInt]: Hex;\n}\n\nexport interface TransactionFeesFields {\n fees: TransactionFeesHex\n}\n\nexport const minTransactionFees: TransactionFeesBigInt = {\n base: AttoXL1(1n),\n gasPrice: AttoXL1(1n * AttoXL1ConvertFactor.micro),\n gasLimit: AttoXL1(1000n * AttoXL1ConvertFactor.micro),\n priority: AttoXL1(0n * AttoXL1ConvertFactor.micro),\n} as const\n\nexport const defaultTransactionFees: TransactionFeesBigInt = {\n base: AttoXL1(1000n * AttoXL1ConvertFactor.micro),\n gasPrice: AttoXL1(10n * AttoXL1ConvertFactor.micro),\n gasLimit: AttoXL1(1_000_000n * AttoXL1ConvertFactor.micro),\n priority: minTransactionFees.priority,\n} as const\n","import type { Hash, Hex } from '@xylabs/hex'\nimport { isHex } from '@xylabs/hex'\nimport { AsObjectFactory } from '@xylabs/object'\nimport type { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { isBoundWitness } from '@xyo-network/boundwitness-model'\nimport type { WithStorageMeta } from '@xyo-network/payload-model'\nimport { isStorageMeta } from '@xyo-network/payload-model'\n\nexport interface BlockBoundWitnessMeta {\n $epoch: number\n}\n\nexport interface BlockBoundWitnessFields {\n /** Block number */\n block: number\n /** Chain id - this should be \"0\" for the genesis block */\n chain: Hex\n /** Previous block hash if not block 0 */\n previous: Hash | null /* the previous block hash */\n /** Version of the protocol being used major * 1,000,000 + minor * 1,000 + patch */\n protocol: number\n /** Step hashes */\n step_hashes: Hex[]\n}\n\nexport type BlockBoundWitness = BoundWitness<BlockBoundWitnessFields & BlockBoundWitnessMeta>\n\nexport const isBlockBoundWitness = (value: unknown): value is BlockBoundWitness => {\n const typedObj = value as BlockBoundWitness\n return isBoundWitness(value)\n && Number.isInteger(typedObj.block)\n && isHex(typedObj.chain)\n}\n\nexport const isBlockBoundWitnessWithStorageMeta = (value: unknown): value is WithStorageMeta<BlockBoundWitness> => {\n return isBlockBoundWitness(value) && isStorageMeta(value)\n}\n\nexport const asBlockBoundWitness = AsObjectFactory.create(isBlockBoundWitness)\nexport const asOptionalBlockBoundWitness = AsObjectFactory.createOptional(isBlockBoundWitness)\n\nexport const asBlockBoundWitnessWithStorageMeta = AsObjectFactory.create(isBlockBoundWitnessWithStorageMeta)\nexport const asOptionalBlockBoundWitnessWithStorageMeta = AsObjectFactory.createOptional(isBlockBoundWitnessWithStorageMeta)\n","export const StepSizes = [10, 105, 1103, 11_576, 121_551, 1_276_282, 13_400_956] as const\n","import { MicroXL1 } from '../xl1/index.ts'\n\nexport const TransactionGasCosts = {\n /**\n * The cost of storing each character that is added to the chain\n * This includes the transaction JSON and all the elevated payloads' JSON\n */\n characterStorage: MicroXL1(10n),\n\n /** The cost of static validating every payload that will be included in the chain */\n payloadValidation: MicroXL1(1000n),\n\n /** The cost of validating each signature that will be included in the chain */\n signatureValidation: MicroXL1(1000n),\n\n /** The cost of validating each hash that will be included in the chain */\n hashValidation: MicroXL1(100n),\n\n /** The cost of validating a balance state, triggered by a Transfer payload or gas collection */\n balanceValidation: MicroXL1(100n),\n} as const\n\n/** Gas Calculation\n *\n * 1 Million microXL1 (mXL1) = 1 XL1\n *\n * Gas amount is calculated as follows:\n *\n * 1. Each byte in the transaction cost 10 gas\n * 2. Each payload validation in the transaction costs 1000 gas\n * 3. Each signature verification in the transaction costs 1000 gas\n * 4. Each hash validation in the transaction costs 100 gas\n * 5. Each balance validation in the transaction costs 100 gas\n * 6. Processing/Compute/Storage Cost?\n * 7. operation Costs?\n *\n * The total gas cost is calculated by multiplying the gas amount by the gas price.\n *\n * minGasPrice is initially set to 100 mXL1\n * minBase is initially set to 1000 mXL1\n * minPriority is always 0 mXL1, but can be set to increase the priority of the transaction\n *\n */\n","import type { Hex } from '@xylabs/hex'\nimport { AsObjectFactory } from '@xylabs/object'\nimport type { Payload, WithSources } from '@xyo-network/payload-model'\nimport {\n isPayloadOfSchemaType,\n isPayloadOfSchemaTypeWithSources,\n} from '@xyo-network/payload-model'\n\nexport const BlockNumberSchema = 'network.xyo.chain.block.number' as const\nexport type BlockNumberSchema = typeof BlockNumberSchema\n\nexport interface BlockNumberFields {\n /**\n * The block number\n */\n block: Hex\n /**\n * The chain id\n */\n chain?: Hex\n}\n/**\n * The number of a block\n */\nexport type BlockNumber = Payload<BlockNumberFields, BlockNumberSchema>\n\n/**\n * Identity function for determining if an object is a BlockNumber\n */\nexport const isBlockNumber = isPayloadOfSchemaType<BlockNumber>(BlockNumberSchema)\nexport const asBlockNumber = AsObjectFactory.create<BlockNumber>(isBlockNumber)\nexport const asOptionalBlockNumber = AsObjectFactory.createOptional<BlockNumber>(isBlockNumber)\n\n/**\n * Identity function for determining if an object is a BlockNumber with sources\n */\nexport const isBlockNumberWithSources = isPayloadOfSchemaTypeWithSources<BlockNumber>(BlockNumberSchema)\nexport const asBlockNumberWithSources = AsObjectFactory.create<WithSources<BlockNumber>>(isBlockNumberWithSources)\nexport const asOptionalBlockNumberWithSources = AsObjectFactory.createOptional<WithSources<BlockNumber>>(isBlockNumberWithSources)\n","import type { Payload } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nexport const NetworkStatusSchema = 'network.xyo.chain.status' as const\nexport type NetworkStatusSchema = typeof NetworkStatusSchema\n\nexport type NetworkStatusState = 'online' | 'offline' | 'degraded' | 'unknown'\n\nexport type NetworkStatusUpdate = {\n end: number\n start: number\n update: string\n}\n\nexport interface NetworkStatusFields {\n description: string\n state: NetworkStatusState\n updates?: NetworkStatusUpdate[]\n}\n\nexport type NetworkStatus = Payload<NetworkStatusFields, NetworkStatusSchema>\n\nexport const isNetworkStatus = isPayloadOfSchemaType<NetworkStatus>(NetworkStatusSchema)\n","import type { Address } from '@xylabs/hex'\nimport type { Payload } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nexport const ChainIdentificationPayloadSchema = 'network.xyo.chain.identification' as const\nexport type ChainIdentificationPayloadSchema = typeof ChainIdentificationPayloadSchema\n\n/**\n * Identification required to uniquely identify a chain\n */\nexport interface ChainIdentification {\n /** @field the id of the chain */\n id: Address\n}\n\nexport type ChainIdentificationPayload = Payload<ChainIdentification, ChainIdentificationPayloadSchema>\nexport const isChainIdentificationPayload = isPayloadOfSchemaType<ChainIdentificationPayload>(ChainIdentificationPayloadSchema)\n","import type { Payload } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nexport const ChainInformationPayloadSchema = 'network.xyo.chain.information' as const\nexport type ChainInformationPayloadSchema = typeof ChainInformationPayloadSchema\n\nimport type { ChainIdentification } from './ChainIdentification.ts'\n\n/**\n * Information required to produce a chain\n */\nexport interface ChainInformation extends ChainIdentification {\n // TODO: Add these fields which are currently promises on the smart contract\n // forkedAtBlockNumber: bigint\n // forkedAtHash: Hash\n // forkedChainId: Address\n}\n\nexport type ChainInformationPayload = Payload<ChainIdentification, ChainInformationPayloadSchema>\nexport const isChainInformationPayload = isPayloadOfSchemaType<ChainInformationPayload>(ChainInformationPayloadSchema)\n","import type { Hash } from '@xylabs/hex'\nimport type { JsonValue } from '@xylabs/object'\nimport { AsObjectFactory } from '@xylabs/object'\nimport type { Payload, WithStorageMeta } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType, isStorageMeta } from '@xyo-network/payload-model'\n\nexport interface ChainIndexingServiceStateFields<T extends JsonValue = JsonValue> {\n /**\n * The hash of the last block that this service has indexing\n */\n endBlockHash: Hash\n /**\n * The hash of the block that the service started indexing. If undefined, the service is\n * assumed to have started indexing from the genesis block\n */\n startBlockHash?: Hash\n /**\n * The indexed state for the range\n */\n state: T\n}\nexport const ChainIndexingServiceStateSchema = 'network.xyo.chain.indexing.service.state' as const\nexport type ChainIndexingServiceStateSchema = typeof ChainIndexingServiceStateSchema\n\n/**\n * The result of a ChainIndexingServiceState\n */\nexport type ChainIndexingServiceState<T extends JsonValue = JsonValue> = Payload<ChainIndexingServiceStateFields<T>, ChainIndexingServiceStateSchema>\n\n/**\n * Identity functions for determining if an object is an ChainIndexingServiceState\n */\nexport const isChainIndexingServiceState = <T extends JsonValue = JsonValue>(payload?: unknown): payload is ChainIndexingServiceState<T> => {\n return isPayloadOfSchemaType<ChainIndexingServiceState<T>>(ChainIndexingServiceStateSchema)(payload)\n}\nexport const asChainIndexingServiceState = AsObjectFactory.create<ChainIndexingServiceState<JsonValue>>(isChainIndexingServiceState)\n\nexport const isChainIndexingServiceStateWithStorageMeta\n= <T extends JsonValue = JsonValue>(value: unknown): value is WithStorageMeta<ChainIndexingServiceState<T>> =>\n isChainIndexingServiceState<T>(value) && isStorageMeta(value)\n\nexport const asChainIndexingServiceStateWithStorageMeta\n= AsObjectFactory.create<WithStorageMeta<ChainIndexingServiceState>>(isChainIndexingServiceStateWithStorageMeta)\n\nexport const asOptionalChainIndexingServiceStateWithStorageMeta\n= AsObjectFactory.createOptional<WithStorageMeta<ChainIndexingServiceState>>(isChainIndexingServiceStateWithStorageMeta)\n"],"mappings":";AAAA,SAAS,0BAA0B;AAEnC,SAAS,mBAAmB,gBAAgB;AAE5C,SAAS,iBAAiB,oBAAoB;;;ACJ9C,SAAS,uBAAuB;AAEhC,SAAS,6BAA6B;AAK/B,IAAM,yBAAyB;AAc/B,IAAM,qBAAqB,CAAC,MAA8C;AAC/E,SAAO,sBAAwC,sBAAsB,EAAE,CAAC,KACnE,qBAAqB,EAAE,GAAG,MAAM,UAChC,qBAAqB,EAAE,GAAG,MAAM;AACvC;AACO,IAAM,qBAAqB,gBAAgB,OAAO,kBAAkB;AACpE,IAAM,6BAA6B,gBAAgB,eAAe,kBAAkB;AAE3F,IAAM,uBAAuB,CAAC,QAAgB;AAC5C,SAAQ,OAAO,UAAU,GAAG,KAAK,OAAO,IAAK,MAAM;AACrD;;;AC7BA,SAAS,oBAAoB;AAOtB,IAAM,UAAU,CAAC,UAAwC;AAC9D,SAAQ,MAAqB,SAAS;AACxC;AASO,IAAM,eAAe,CAAwB,UAAiD;AACnG,SAAO,aAAa,KAAK,KAAK,MAAM,QAAS,MAAsC,MAAM;AAC3F;AAEO,IAAM,eAAe,CAAwB,UAAoD;AACtG,SAAO,aAAa,KAAK,IACrB,QACA;AACN;;;AC3BA,SAAS,mBAAAA,wBAAuB;AAEhC,SAAS,yBAAAC,8BAA6B;AAE/B,IAAM,aAAa;AASnB,IAAM,gBAAgBA,uBAAmC,UAAU;AAEnE,IAAM,gBAAgBD,iBAAgB,OAAO,aAAa;AAC1D,IAAM,+BAA+BA,iBAAgB,OAAO,aAAa;AACzE,IAAM,wBAAwBA,iBAAgB,eAAe,aAAa;;;ACdjF,SAAS,mBAAAE,wBAAuB;AAEhC,SAAS,yBAAAC,8BAA6B;AAI/B,IAAM,iBAAiB;AAYvB,IAAM,aAAaA,uBAAgC,cAAc;AAEjE,IAAM,aAAaD,iBAAgB,OAAO,UAAU;AACpD,IAAM,qBAAqBA,iBAAgB,eAAe,UAAU;;;ACzB3E,SAAS,mBAAAE,wBAAuB;AAEhC,SAAS,yBAAAC,8BAA2C;AAE7C,IAAM,6BAA6B;AASnC,IAAM,gCAAgCA,uBAAmD,0BAA0B;AACnH,IAAM,gCAAgCD,iBAAgB,eAA4C,6BAA6B;;;ACbtI,SAAS,mBAAAE,wBAAuB;AAEhC,SAAS,sBAAsB;AAE/B,SAAS,qBAAqB;AAYvB,IAAM,4BAA4B,CAAC,UAAqD;AAC7F,QAAM,WAAW;AACjB,SAAO,eAAe,KAAK,KACtB,SAAS,UAAU,UACnB,SAAS,SAAS,UAClB,SAAS,QAAQ,UACjB,SAAS,QAAQ;AACxB;AAEO,IAAM,kCAAkC,CAAC,UAA6D;AAC3G,SAAO,0BAA0B,KAAK,KAAK,SAAS,KAAK;AAC3D;AAEO,IAAM,WAAW,CAAwC,UAC9D,eAAe,KAAK,KACjB,MAAM,YAAY,WAAW,MAAM,UAAU,UAC7C,MAAM,UAAU,SAAS;AAEvB,IAAM,2CAA2C,CAAC,UACvD,0BAA0B,KAAK,KAC5B,cAAc,KAAK;AAEjB,IAAM,iDAAiD,CAAC,UAC7D,gCAAgC,KAAK,KAClC,cAAc,KAAK;AAEjB,IAAM,4BAA4BA,iBAAgB,OAAO,yBAAyB;AAClF,IAAM,oCAAoCA,iBAAgB,eAAe,yBAAyB;AAElG,IAAM,2CAA2CA,iBAAgB,OAAO,wCAAwC;AAChH,IAAM,mDAAmDA,iBAAgB,eAAe,wCAAwC;;;ACrChI,IAAM,MAAuB,CAAC,UAAuB;AACrD,IAAM,WAAiC,CAAC,UAA4B;AACpE,IAAM,WAAiC,CAAC,UAA4B;AACpE,IAAM,UAA+B,CAAC,UAA2B;AACjE,IAAM,UAA+B,CAAC,UAA2B;AACjE,IAAM,WAAiC,CAAC,UAA4B;AACpE,IAAM,UAA+B,CAAC,UAA2B;AAKjE,IAAM,iBAA2C;AAAA,EACtD,KAAK;AAAA,EACL,OAAO;AAAA,EACP,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACR;AAEO,IAAM,YAAsC;AAAA,EACjD,KAAK;AAAA,EACL,OAAO;AAAA,EACP,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACR;AAMO,IAAM,uBAAiD;AAAA,EAC5D,KAAK,OAAO,UAAU;AAAA,EACtB,OAAO,OAAO,UAAU;AAAA,EACxB,OAAO,OAAO,UAAU;AAAA,EACxB,MAAM,OAAO,UAAU;AAAA,EACvB,MAAM,OAAO,UAAU;AAAA,EACvB,OAAO,OAAO,UAAU;AAAA,EACxB,MAAM,OAAO,UAAU;AACzB;AAGO,SAAS,iBAAiB,MAAgB;AAC/C,SAAO,OAAO,UAAU,IAAI;AAC9B;;;ACpCO,IAAM,qBAA4C;AAAA,EACvD,MAAM,QAAQ,EAAE;AAAA,EAChB,UAAU,QAAQ,KAAK,qBAAqB,KAAK;AAAA,EACjD,UAAU,QAAQ,QAAQ,qBAAqB,KAAK;AAAA,EACpD,UAAU,QAAQ,KAAK,qBAAqB,KAAK;AACnD;AAEO,IAAM,yBAAgD;AAAA,EAC3D,MAAM,QAAQ,QAAQ,qBAAqB,KAAK;AAAA,EAChD,UAAU,QAAQ,MAAM,qBAAqB,KAAK;AAAA,EAClD,UAAU,QAAQ,WAAa,qBAAqB,KAAK;AAAA,EACzD,UAAU,mBAAmB;AAC/B;;;ARnBO,IAAM,6BAAuC,CAAC,gBAAgB,wBAAwB,cAAc,oBAAoB,UAAU;AAGlI,IAAM,8BAA8B,CAAC,UAAuD;AACjG,SAAO,SAAS,KAAK,KAAK,2BAA2B,SAAS,KAAK;AACrE;AAEO,IAAM,wBAAwB,CAAC,UAAiD;AACrF,SAAO,WAAW,KAAK,KAAK,mBAAmB,KAAK,KAAK,gBAAgB,KAAK,KAAK,0BAA0B,KAAK,KAAK,cAAc,KAAK;AAC5I;AAEO,IAAM,2CAA2C,CAAC,UAAkE;AACzH,SAAO,sBAAsB,KAAK,KAAK,kBAAkB,KAAK;AAChE;;;AS3BA,SAAS,aAAa;AACtB,SAAS,mBAAAC,wBAAuB;AAEhC,SAAS,kBAAAC,uBAAsB;AAE/B,SAAS,iBAAAC,sBAAqB;AAqBvB,IAAM,sBAAsB,CAAC,UAA+C;AACjF,QAAM,WAAW;AACjB,SAAOD,gBAAe,KAAK,KACtB,OAAO,UAAU,SAAS,KAAK,KAC/B,MAAM,SAAS,KAAK;AAC3B;AAEO,IAAM,qCAAqC,CAAC,UAAgE;AACjH,SAAO,oBAAoB,KAAK,KAAKC,eAAc,KAAK;AAC1D;AAEO,IAAM,sBAAsBF,iBAAgB,OAAO,mBAAmB;AACtE,IAAM,8BAA8BA,iBAAgB,eAAe,mBAAmB;AAEtF,IAAM,qCAAqCA,iBAAgB,OAAO,kCAAkC;AACpG,IAAM,6CAA6CA,iBAAgB,eAAe,kCAAkC;;;AC1CpH,IAAM,YAAY,CAAC,IAAI,KAAK,MAAM,OAAQ,QAAS,SAAW,QAAU;;;ACExE,IAAM,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKjC,kBAAkB,SAAS,GAAG;AAAA;AAAA,EAG9B,mBAAmB,SAAS,KAAK;AAAA;AAAA,EAGjC,qBAAqB,SAAS,KAAK;AAAA;AAAA,EAGnC,gBAAgB,SAAS,IAAI;AAAA;AAAA,EAG7B,mBAAmB,SAAS,IAAI;AAClC;;;ACnBA,SAAS,mBAAAG,wBAAuB;AAEhC;AAAA,EACE,yBAAAC;AAAA,EACA;AAAA,OACK;AAEA,IAAM,oBAAoB;AAqB1B,IAAM,gBAAgBA,uBAAmC,iBAAiB;AAC1E,IAAM,gBAAgBD,iBAAgB,OAAoB,aAAa;AACvE,IAAM,wBAAwBA,iBAAgB,eAA4B,aAAa;AAKvF,IAAM,2BAA2B,iCAA8C,iBAAiB;AAChG,IAAM,2BAA2BA,iBAAgB,OAAiC,wBAAwB;AAC1G,IAAM,mCAAmCA,iBAAgB,eAAyC,wBAAwB;;;ACrCjI,SAAS,yBAAAE,8BAA6B;AAE/B,IAAM,sBAAsB;AAmB5B,IAAM,kBAAkBA,uBAAqC,mBAAmB;;;ACpBvF,SAAS,yBAAAC,8BAA6B;AAE/B,IAAM,mCAAmC;AAYzC,IAAM,+BAA+BA,uBAAkD,gCAAgC;;;ACf9H,SAAS,yBAAAC,8BAA6B;AAE/B,IAAM,gCAAgC;AAgBtC,IAAM,4BAA4BA,uBAA+C,6BAA6B;;;ACjBrH,SAAS,mBAAAC,wBAAuB;AAEhC,SAAS,yBAAAC,wBAAuB,iBAAAC,sBAAqB;AAiB9C,IAAM,kCAAkC;AAWxC,IAAM,8BAA8B,CAAkC,YAA+D;AAC1I,SAAOD,uBAAoD,+BAA+B,EAAE,OAAO;AACrG;AACO,IAAM,8BAA8BD,iBAAgB,OAA6C,2BAA2B;AAE5H,IAAM,6CACX,CAAkC,UAClC,4BAA+B,KAAK,KAAKE,eAAc,KAAK;AAEvD,IAAM,6CACXF,iBAAgB,OAAmD,0CAA0C;AAExG,IAAM,qDACXA,iBAAgB,eAA2D,0CAA0C;","names":["AsObjectFactory","isPayloadOfSchemaType","AsObjectFactory","isPayloadOfSchemaType","AsObjectFactory","isPayloadOfSchemaType","AsObjectFactory","AsObjectFactory","isBoundWitness","isStorageMeta","AsObjectFactory","isPayloadOfSchemaType","isPayloadOfSchemaType","isPayloadOfSchemaType","isPayloadOfSchemaType","AsObjectFactory","isPayloadOfSchemaType","isStorageMeta"]}
@@ -1,42 +1,3 @@
1
- // src/xl1/XL1.ts
2
- var XL1 = (value) => value;
3
- var MilliXL1 = (value) => value;
4
- var MicroXL1 = (value) => value;
5
- var NanoXL1 = (value) => value;
6
- var PicoXL1 = (value) => value;
7
- var FemtoXL1 = (value) => value;
8
- var AttoXL1 = (value) => value;
9
- var XL1ConvertDict = {
10
- xl1: 18,
11
- milli: 15,
12
- micro: 12,
13
- nano: 9,
14
- pico: 6,
15
- femto: 3,
16
- atto: 0
17
- };
18
- var XL1Places = {
19
- xl1: 18n,
20
- milli: 15n,
21
- micro: 12n,
22
- nano: 9n,
23
- pico: 6n,
24
- femto: 3n,
25
- atto: 0n
26
- };
27
- var AttoXL1ConvertFactor = {
28
- xl1: 10n ** XL1Places.xl1,
29
- milli: 10n ** XL1Places.milli,
30
- micro: 10n ** XL1Places.micro,
31
- nano: 10n ** XL1Places.nano,
32
- pico: 10n ** XL1Places.pico,
33
- femto: 10n ** XL1Places.femto,
34
- atto: 10n ** XL1Places.atto
35
- };
36
- function xl1ConvertFactor(unit) {
37
- return 10n ** XL1Places[unit];
38
- }
39
-
40
1
  // src/block/AllowedBlockPayload.ts
41
2
  import { BoundWitnessSchema } from "@xyo-network/boundwitness-model";
42
3
  import { isHashStorageMeta, isSchema } from "@xyo-network/payload-model";
@@ -84,8 +45,15 @@ var isTransfer = isPayloadOfSchemaType3(TransferSchema);
84
45
  var asTransfer = AsObjectFactory3.create(isTransfer);
85
46
  var asOptionalTransfer = AsObjectFactory3.createOptional(isTransfer);
86
47
 
87
- // src/transaction/TransactionBoundWitness.ts
48
+ // src/transaction/HydratedBoundWitnessPayload.ts
88
49
  import { AsObjectFactory as AsObjectFactory4 } from "@xylabs/object";
50
+ import { isPayloadOfSchemaType as isPayloadOfSchemaType4 } from "@xyo-network/payload-model";
51
+ var HydratedBoundWitnessSchema = "network.xyo.boundwitness.hydrated";
52
+ var isHydratedBoundWitnessPayload = isPayloadOfSchemaType4(HydratedBoundWitnessSchema);
53
+ var asHydratedBoundWitnessPayload = AsObjectFactory4.createOptional(isHydratedBoundWitnessPayload);
54
+
55
+ // src/transaction/TransactionBoundWitness.ts
56
+ import { AsObjectFactory as AsObjectFactory5 } from "@xylabs/object";
89
57
  import { isBoundWitness } from "@xyo-network/boundwitness-model";
90
58
  import { isStorageMeta } from "@xyo-network/payload-model";
91
59
  var isTransactionBoundWitness = (value) => {
@@ -98,20 +66,59 @@ var isSignedTransactionBoundWitness = (value) => {
98
66
  var isSigned = (value) => isBoundWitness(value) && value.$signatures.length === value.addresses.length && value.addresses.length > 0;
99
67
  var isTransactionBoundWitnessWithStorageMeta = (value) => isTransactionBoundWitness(value) && isStorageMeta(value);
100
68
  var isSignedTransactionBoundWitnessWithStorageMeta = (value) => isSignedTransactionBoundWitness(value) && isStorageMeta(value);
101
- var asTransactionBoundWitness = AsObjectFactory4.create(isTransactionBoundWitness);
102
- var asOptionalTransactionBoundWitness = AsObjectFactory4.createOptional(isTransactionBoundWitness);
103
- var asTransactionBoundWitnessWithStorageMeta = AsObjectFactory4.create(isTransactionBoundWitnessWithStorageMeta);
104
- var asOptionalTransactionBoundWitnessWithStorageMeta = AsObjectFactory4.createOptional(isTransactionBoundWitnessWithStorageMeta);
69
+ var asTransactionBoundWitness = AsObjectFactory5.create(isTransactionBoundWitness);
70
+ var asOptionalTransactionBoundWitness = AsObjectFactory5.createOptional(isTransactionBoundWitness);
71
+ var asTransactionBoundWitnessWithStorageMeta = AsObjectFactory5.create(isTransactionBoundWitnessWithStorageMeta);
72
+ var asOptionalTransactionBoundWitnessWithStorageMeta = AsObjectFactory5.createOptional(isTransactionBoundWitnessWithStorageMeta);
73
+
74
+ // src/xl1/XL1.ts
75
+ var XL1 = (value) => value;
76
+ var MilliXL1 = (value) => value;
77
+ var MicroXL1 = (value) => value;
78
+ var NanoXL1 = (value) => value;
79
+ var PicoXL1 = (value) => value;
80
+ var FemtoXL1 = (value) => value;
81
+ var AttoXL1 = (value) => value;
82
+ var XL1ConvertDict = {
83
+ xl1: 18,
84
+ milli: 15,
85
+ micro: 12,
86
+ nano: 9,
87
+ pico: 6,
88
+ femto: 3,
89
+ atto: 0
90
+ };
91
+ var XL1Places = {
92
+ xl1: 18n,
93
+ milli: 15n,
94
+ micro: 12n,
95
+ nano: 9n,
96
+ pico: 6n,
97
+ femto: 3n,
98
+ atto: 0n
99
+ };
100
+ var AttoXL1ConvertFactor = {
101
+ xl1: 10n ** XL1Places.xl1,
102
+ milli: 10n ** XL1Places.milli,
103
+ micro: 10n ** XL1Places.micro,
104
+ nano: 10n ** XL1Places.nano,
105
+ pico: 10n ** XL1Places.pico,
106
+ femto: 10n ** XL1Places.femto,
107
+ atto: 10n ** XL1Places.atto
108
+ };
109
+ function xl1ConvertFactor(unit) {
110
+ return 10n ** XL1Places[unit];
111
+ }
105
112
 
106
113
  // src/transaction/TransactionFeesFields.ts
107
114
  var minTransactionFees = {
108
- base: AttoXL1(1000n * AttoXL1ConvertFactor.micro),
115
+ base: AttoXL1(1n),
109
116
  gasPrice: AttoXL1(1n * AttoXL1ConvertFactor.micro),
110
117
  gasLimit: AttoXL1(1000n * AttoXL1ConvertFactor.micro),
111
118
  priority: AttoXL1(0n * AttoXL1ConvertFactor.micro)
112
119
  };
113
120
  var defaultTransactionFees = {
114
- base: minTransactionFees.base,
121
+ base: AttoXL1(1000n * AttoXL1ConvertFactor.micro),
115
122
  gasPrice: AttoXL1(10n * AttoXL1ConvertFactor.micro),
116
123
  gasLimit: AttoXL1(1000000n * AttoXL1ConvertFactor.micro),
117
124
  priority: minTransactionFees.priority
@@ -131,7 +138,7 @@ var isAllowedBlockPayloadWithHashStorageMeta = (value) => {
131
138
 
132
139
  // src/block/BlockBoundWitness.ts
133
140
  import { isHex } from "@xylabs/hex";
134
- import { AsObjectFactory as AsObjectFactory5 } from "@xylabs/object";
141
+ import { AsObjectFactory as AsObjectFactory6 } from "@xylabs/object";
135
142
  import { isBoundWitness as isBoundWitness2 } from "@xyo-network/boundwitness-model";
136
143
  import { isStorageMeta as isStorageMeta2 } from "@xyo-network/payload-model";
137
144
  var isBlockBoundWitness = (value) => {
@@ -141,10 +148,10 @@ var isBlockBoundWitness = (value) => {
141
148
  var isBlockBoundWitnessWithStorageMeta = (value) => {
142
149
  return isBlockBoundWitness(value) && isStorageMeta2(value);
143
150
  };
144
- var asBlockBoundWitness = AsObjectFactory5.create(isBlockBoundWitness);
145
- var asOptionalBlockBoundWitness = AsObjectFactory5.createOptional(isBlockBoundWitness);
146
- var asBlockBoundWitnessWithStorageMeta = AsObjectFactory5.create(isBlockBoundWitnessWithStorageMeta);
147
- var asOptionalBlockBoundWitnessWithStorageMeta = AsObjectFactory5.createOptional(isBlockBoundWitnessWithStorageMeta);
151
+ var asBlockBoundWitness = AsObjectFactory6.create(isBlockBoundWitness);
152
+ var asOptionalBlockBoundWitness = AsObjectFactory6.createOptional(isBlockBoundWitness);
153
+ var asBlockBoundWitnessWithStorageMeta = AsObjectFactory6.create(isBlockBoundWitnessWithStorageMeta);
154
+ var asOptionalBlockBoundWitnessWithStorageMeta = AsObjectFactory6.createOptional(isBlockBoundWitnessWithStorageMeta);
148
155
 
149
156
  // src/constants/StepSizes.ts
150
157
  var StepSizes = [10, 105, 1103, 11576, 121551, 1276282, 13400956];
@@ -167,45 +174,45 @@ var TransactionGasCosts = {
167
174
  };
168
175
 
169
176
  // src/fields/BlockNumber.ts
170
- import { AsObjectFactory as AsObjectFactory6 } from "@xylabs/object";
177
+ import { AsObjectFactory as AsObjectFactory7 } from "@xylabs/object";
171
178
  import {
172
- isPayloadOfSchemaType as isPayloadOfSchemaType4,
179
+ isPayloadOfSchemaType as isPayloadOfSchemaType5,
173
180
  isPayloadOfSchemaTypeWithSources
174
181
  } from "@xyo-network/payload-model";
175
182
  var BlockNumberSchema = "network.xyo.chain.block.number";
176
- var isBlockNumber = isPayloadOfSchemaType4(BlockNumberSchema);
177
- var asBlockNumber = AsObjectFactory6.create(isBlockNumber);
178
- var asOptionalBlockNumber = AsObjectFactory6.createOptional(isBlockNumber);
183
+ var isBlockNumber = isPayloadOfSchemaType5(BlockNumberSchema);
184
+ var asBlockNumber = AsObjectFactory7.create(isBlockNumber);
185
+ var asOptionalBlockNumber = AsObjectFactory7.createOptional(isBlockNumber);
179
186
  var isBlockNumberWithSources = isPayloadOfSchemaTypeWithSources(BlockNumberSchema);
180
- var asBlockNumberWithSources = AsObjectFactory6.create(isBlockNumberWithSources);
181
- var asOptionalBlockNumberWithSources = AsObjectFactory6.createOptional(isBlockNumberWithSources);
187
+ var asBlockNumberWithSources = AsObjectFactory7.create(isBlockNumberWithSources);
188
+ var asOptionalBlockNumberWithSources = AsObjectFactory7.createOptional(isBlockNumberWithSources);
182
189
 
183
190
  // src/network/Status.ts
184
- import { isPayloadOfSchemaType as isPayloadOfSchemaType5 } from "@xyo-network/payload-model";
191
+ import { isPayloadOfSchemaType as isPayloadOfSchemaType6 } from "@xyo-network/payload-model";
185
192
  var NetworkStatusSchema = "network.xyo.chain.status";
186
- var isNetworkStatus = isPayloadOfSchemaType5(NetworkStatusSchema);
193
+ var isNetworkStatus = isPayloadOfSchemaType6(NetworkStatusSchema);
187
194
 
188
195
  // src/services/Chain/ChainIdentification.ts
189
- import { isPayloadOfSchemaType as isPayloadOfSchemaType6 } from "@xyo-network/payload-model";
196
+ import { isPayloadOfSchemaType as isPayloadOfSchemaType7 } from "@xyo-network/payload-model";
190
197
  var ChainIdentificationPayloadSchema = "network.xyo.chain.identification";
191
- var isChainIdentificationPayload = isPayloadOfSchemaType6(ChainIdentificationPayloadSchema);
198
+ var isChainIdentificationPayload = isPayloadOfSchemaType7(ChainIdentificationPayloadSchema);
192
199
 
193
200
  // src/services/Chain/ChainInformation.ts
194
- import { isPayloadOfSchemaType as isPayloadOfSchemaType7 } from "@xyo-network/payload-model";
201
+ import { isPayloadOfSchemaType as isPayloadOfSchemaType8 } from "@xyo-network/payload-model";
195
202
  var ChainInformationPayloadSchema = "network.xyo.chain.information";
196
- var isChainInformationPayload = isPayloadOfSchemaType7(ChainInformationPayloadSchema);
203
+ var isChainInformationPayload = isPayloadOfSchemaType8(ChainInformationPayloadSchema);
197
204
 
198
205
  // src/services/stakeIntent/ChainIndexingServiceStateSchema.ts
199
- import { AsObjectFactory as AsObjectFactory7 } from "@xylabs/object";
200
- import { isPayloadOfSchemaType as isPayloadOfSchemaType8, isStorageMeta as isStorageMeta3 } from "@xyo-network/payload-model";
206
+ import { AsObjectFactory as AsObjectFactory8 } from "@xylabs/object";
207
+ import { isPayloadOfSchemaType as isPayloadOfSchemaType9, isStorageMeta as isStorageMeta3 } from "@xyo-network/payload-model";
201
208
  var ChainIndexingServiceStateSchema = "network.xyo.chain.indexing.service.state";
202
209
  var isChainIndexingServiceState = (payload) => {
203
- return isPayloadOfSchemaType8(ChainIndexingServiceStateSchema)(payload);
210
+ return isPayloadOfSchemaType9(ChainIndexingServiceStateSchema)(payload);
204
211
  };
205
- var asChainIndexingServiceState = AsObjectFactory7.create(isChainIndexingServiceState);
212
+ var asChainIndexingServiceState = AsObjectFactory8.create(isChainIndexingServiceState);
206
213
  var isChainIndexingServiceStateWithStorageMeta = (value) => isChainIndexingServiceState(value) && isStorageMeta3(value);
207
- var asChainIndexingServiceStateWithStorageMeta = AsObjectFactory7.create(isChainIndexingServiceStateWithStorageMeta);
208
- var asOptionalChainIndexingServiceStateWithStorageMeta = AsObjectFactory7.createOptional(isChainIndexingServiceStateWithStorageMeta);
214
+ var asChainIndexingServiceStateWithStorageMeta = AsObjectFactory8.create(isChainIndexingServiceStateWithStorageMeta);
215
+ var asOptionalChainIndexingServiceStateWithStorageMeta = AsObjectFactory8.createOptional(isChainIndexingServiceStateWithStorageMeta);
209
216
  export {
210
217
  AllowedBlockPayloadSchemas,
211
218
  AttoXL1,
@@ -217,6 +224,7 @@ export {
217
224
  ChainStakeIntentSchema,
218
225
  FemtoXL1,
219
226
  HashSchema,
227
+ HydratedBoundWitnessSchema,
220
228
  MicroXL1,
221
229
  MilliXL1,
222
230
  NanoXL1,
@@ -238,6 +246,7 @@ export {
238
246
  asExecutable,
239
247
  asHashPayload,
240
248
  asHashPayloadWithStorageMeta,
249
+ asHydratedBoundWitnessPayload,
241
250
  asOptionalBlockBoundWitness,
242
251
  asOptionalBlockBoundWitnessWithStorageMeta,
243
252
  asOptionalBlockNumber,
@@ -267,6 +276,7 @@ export {
267
276
  isChainStakeIntent,
268
277
  isExecutable,
269
278
  isHashPayload,
279
+ isHydratedBoundWitnessPayload,
270
280
  isNetworkStatus,
271
281
  isSigned,
272
282
  isSignedTransactionBoundWitness,