@xyo-network/chain-validation 1.1.7 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/dist/neutral/index.mjs +116 -105
  2. package/dist/neutral/index.mjs.map +1 -1
  3. package/dist/types/block/index.d.ts +0 -1
  4. package/dist/types/block/index.d.ts.map +1 -1
  5. package/dist/types/block/validateBlock.d.ts +1 -1
  6. package/dist/types/block/validateBlock.d.ts.map +1 -1
  7. package/dist/types/block/validators/AllowedPayloadSchemas.d.ts +1 -1
  8. package/dist/types/block/validators/AllowedPayloadSchemas.d.ts.map +1 -1
  9. package/dist/types/block/validators/Fields.d.ts +1 -1
  10. package/dist/types/block/validators/Fields.d.ts.map +1 -1
  11. package/dist/types/block/validators/JsonSchema.d.ts +1 -1
  12. package/dist/types/block/validators/JsonSchema.d.ts.map +1 -1
  13. package/dist/types/block/validators/PreviousHash.d.ts +1 -1
  14. package/dist/types/block/validators/PreviousHash.d.ts.map +1 -1
  15. package/dist/types/boundwitness/index.d.ts +0 -2
  16. package/dist/types/boundwitness/index.d.ts.map +1 -1
  17. package/dist/types/boundwitness/validators/BoundWitnessReferences.d.ts +1 -1
  18. package/dist/types/boundwitness/validators/BoundWitnessReferences.d.ts.map +1 -1
  19. package/dist/types/boundwitness/validators/BoundWitnessSignatures.d.ts +1 -1
  20. package/dist/types/boundwitness/validators/BoundWitnessSignatures.d.ts.map +1 -1
  21. package/dist/types/elevatedPayload/index.d.ts +1 -7
  22. package/dist/types/elevatedPayload/index.d.ts.map +1 -1
  23. package/dist/types/elevatedPayload/lib/index.d.ts +7 -0
  24. package/dist/types/elevatedPayload/lib/index.d.ts.map +1 -0
  25. package/dist/types/elevatedPayload/lib/isElevatedFromBlock.d.ts +4 -0
  26. package/dist/types/elevatedPayload/lib/isElevatedFromBlock.d.ts.map +1 -0
  27. package/dist/types/elevatedPayload/lib/validateElevatedFromBlock.d.ts +3 -0
  28. package/dist/types/elevatedPayload/lib/validateElevatedFromBlock.d.ts.map +1 -0
  29. package/dist/types/elevatedPayload/lib/validateElevatedFromTransaction.d.ts +3 -0
  30. package/dist/types/elevatedPayload/lib/validateElevatedFromTransaction.d.ts.map +1 -0
  31. package/dist/types/elevatedPayload/lib/validateIncludedInBlock.d.ts +4 -0
  32. package/dist/types/elevatedPayload/lib/validateIncludedInBlock.d.ts.map +1 -0
  33. package/dist/types/elevatedPayload/lib/validateTransactionInBlock.d.ts +3 -0
  34. package/dist/types/elevatedPayload/lib/validateTransactionInBlock.d.ts.map +1 -0
  35. package/dist/types/elevatedPayload/lib/validateTypedPayloadInBlock.d.ts +5 -0
  36. package/dist/types/elevatedPayload/lib/validateTypedPayloadInBlock.d.ts.map +1 -0
  37. package/dist/types/elevatedPayload/payloads/index.d.ts +5 -0
  38. package/dist/types/elevatedPayload/payloads/index.d.ts.map +1 -0
  39. package/dist/types/elevatedPayload/payloads/validateChainStakeIntentInBlock.d.ts +3 -0
  40. package/dist/types/elevatedPayload/payloads/validateChainStakeIntentInBlock.d.ts.map +1 -0
  41. package/dist/types/elevatedPayload/payloads/validateHashInBlock.d.ts +3 -0
  42. package/dist/types/elevatedPayload/payloads/validateHashInBlock.d.ts.map +1 -0
  43. package/dist/types/elevatedPayload/payloads/validateSchemaInBlock.d.ts +3 -0
  44. package/dist/types/elevatedPayload/payloads/validateSchemaInBlock.d.ts.map +1 -0
  45. package/dist/types/elevatedPayload/payloads/validateTransferInBlock.d.ts +3 -0
  46. package/dist/types/elevatedPayload/payloads/validateTransferInBlock.d.ts.map +1 -0
  47. package/dist/types/elevatedPayload/validatePayloadInBlock.d.ts +3 -0
  48. package/dist/types/elevatedPayload/validatePayloadInBlock.d.ts.map +1 -0
  49. package/dist/types/hydratedBlock/index.d.ts +0 -1
  50. package/dist/types/hydratedBlock/index.d.ts.map +1 -1
  51. package/dist/types/hydratedBlock/validateHydratedBlock.d.ts +1 -1
  52. package/dist/types/hydratedBlock/validateHydratedBlock.d.ts.map +1 -1
  53. package/dist/types/hydratedBlock/validators/Payloads.d.ts +1 -1
  54. package/dist/types/hydratedBlock/validators/Payloads.d.ts.map +1 -1
  55. package/dist/types/hydratedBlockState/validateHydratedBlockState.d.ts +2 -2
  56. package/dist/types/hydratedBlockState/validateHydratedBlockState.d.ts.map +1 -1
  57. package/dist/types/hydratedBlockState/validators/RequiredBalance.d.ts +2 -2
  58. package/dist/types/hydratedBlockState/validators/RequiredBalance.d.ts.map +1 -1
  59. package/dist/types/transaction/validateTransaction.d.ts +3 -2
  60. package/dist/types/transaction/validateTransaction.d.ts.map +1 -1
  61. package/dist/types/transaction/validators/{TransactionElevation.d.ts → TransactionElevationValidator.d.ts} +1 -1
  62. package/dist/types/transaction/validators/TransactionElevationValidator.d.ts.map +1 -0
  63. package/dist/types/transaction/validators/TransactionFromValidator.d.ts +3 -0
  64. package/dist/types/transaction/validators/TransactionFromValidator.d.ts.map +1 -0
  65. package/dist/types/transaction/validators/{TransactionJsonSchema.d.ts → TransactionJsonSchemaValidator.d.ts} +1 -1
  66. package/dist/types/transaction/validators/TransactionJsonSchemaValidator.d.ts.map +1 -0
  67. package/dist/types/transaction/validators/{TransactionProtocol.d.ts → TransactionProtocolValidator.d.ts} +1 -1
  68. package/dist/types/transaction/validators/TransactionProtocolValidator.d.ts.map +1 -0
  69. package/dist/types/transaction/validators/index.d.ts +4 -3
  70. package/dist/types/transaction/validators/index.d.ts.map +1 -1
  71. package/package.json +16 -17
  72. package/src/block/index.ts +0 -1
  73. package/src/block/validateBlock.ts +1 -2
  74. package/src/block/validators/AllowedPayloadSchemas.ts +3 -4
  75. package/src/block/validators/Fields.ts +1 -3
  76. package/src/block/validators/JsonSchema.ts +1 -3
  77. package/src/block/validators/PreviousHash.ts +1 -3
  78. package/src/boundwitness/index.ts +0 -2
  79. package/src/boundwitness/validators/BoundWitnessReferences.ts +1 -2
  80. package/src/boundwitness/validators/BoundWitnessSignatures.ts +1 -2
  81. package/src/elevatedPayload/index.ts +1 -7
  82. package/src/elevatedPayload/lib/index.ts +6 -0
  83. package/src/elevatedPayload/lib/isElevatedFromBlock.ts +12 -0
  84. package/src/elevatedPayload/{validateElevatedInBlock.ts → lib/validateElevatedFromBlock.ts} +2 -4
  85. package/src/elevatedPayload/lib/validateElevatedFromTransaction.ts +20 -0
  86. package/src/elevatedPayload/lib/validateIncludedInBlock.ts +10 -0
  87. package/src/elevatedPayload/lib/validateTransactionInBlock.ts +18 -0
  88. package/src/elevatedPayload/lib/validateTypedPayloadInBlock.ts +27 -0
  89. package/src/elevatedPayload/payloads/index.ts +4 -0
  90. package/src/elevatedPayload/payloads/validateChainStakeIntentInBlock.ts +13 -0
  91. package/src/elevatedPayload/payloads/validateHashInBlock.ts +13 -0
  92. package/src/elevatedPayload/payloads/validateSchemaInBlock.ts +13 -0
  93. package/src/elevatedPayload/payloads/validateTransferInBlock.ts +14 -0
  94. package/src/elevatedPayload/validatePayloadInBlock.ts +37 -0
  95. package/src/hydratedBlock/index.ts +0 -1
  96. package/src/hydratedBlock/validateHydratedBlock.ts +6 -3
  97. package/src/hydratedBlock/validators/Payloads.ts +9 -36
  98. package/src/hydratedBlockState/validateHydratedBlockState.ts +4 -4
  99. package/src/hydratedBlockState/validators/RequiredBalance.ts +2 -2
  100. package/src/transaction/validateTransaction.ts +8 -9
  101. package/src/transaction/validators/TransactionElevationValidator.ts +12 -0
  102. package/src/transaction/validators/TransactionFromValidator.ts +16 -0
  103. package/src/transaction/validators/{TransactionJsonSchema.ts → TransactionJsonSchemaValidator.ts} +2 -1
  104. package/src/transaction/validators/{TransactionProtocol.ts → TransactionProtocolValidator.ts} +4 -6
  105. package/src/transaction/validators/index.ts +4 -3
  106. package/babel.config.json +0 -6
  107. package/dist/types/block/BlockValidationFunction.d.ts +0 -5
  108. package/dist/types/block/BlockValidationFunction.d.ts.map +0 -1
  109. package/dist/types/boundwitness/BoundWitnessValidationFunction.d.ts +0 -4
  110. package/dist/types/boundwitness/BoundWitnessValidationFunction.d.ts.map +0 -1
  111. package/dist/types/boundwitness/HydratedBoundWitnessValidationFunction.d.ts +0 -5
  112. package/dist/types/boundwitness/HydratedBoundWitnessValidationFunction.d.ts.map +0 -1
  113. package/dist/types/elevatedPayload/InBlockPayloadValidationFunction.d.ts +0 -6
  114. package/dist/types/elevatedPayload/InBlockPayloadValidationFunction.d.ts.map +0 -1
  115. package/dist/types/elevatedPayload/validateChainStakeIntentInBlock.d.ts +0 -3
  116. package/dist/types/elevatedPayload/validateChainStakeIntentInBlock.d.ts.map +0 -1
  117. package/dist/types/elevatedPayload/validateElevatedInBlock.d.ts +0 -3
  118. package/dist/types/elevatedPayload/validateElevatedInBlock.d.ts.map +0 -1
  119. package/dist/types/elevatedPayload/validateElevatedInTransaction.d.ts +0 -3
  120. package/dist/types/elevatedPayload/validateElevatedInTransaction.d.ts.map +0 -1
  121. package/dist/types/elevatedPayload/validateSchemaInBlock.d.ts +0 -3
  122. package/dist/types/elevatedPayload/validateSchemaInBlock.d.ts.map +0 -1
  123. package/dist/types/elevatedPayload/validateTransactionInBlock.d.ts +0 -3
  124. package/dist/types/elevatedPayload/validateTransactionInBlock.d.ts.map +0 -1
  125. package/dist/types/elevatedPayload/validateTransferInBlock.d.ts +0 -3
  126. package/dist/types/elevatedPayload/validateTransferInBlock.d.ts.map +0 -1
  127. package/dist/types/hydratedBlock/HydratedBlockValidationFunction.d.ts +0 -5
  128. package/dist/types/hydratedBlock/HydratedBlockValidationFunction.d.ts.map +0 -1
  129. package/dist/types/transaction/validators/TransactionElevation.d.ts.map +0 -1
  130. package/dist/types/transaction/validators/TransactionJsonSchema.d.ts.map +0 -1
  131. package/dist/types/transaction/validators/TransactionProtocol.d.ts.map +0 -1
  132. package/src/block/BlockValidationFunction.ts +0 -8
  133. package/src/boundwitness/BoundWitnessValidationFunction.ts +0 -6
  134. package/src/boundwitness/HydratedBoundWitnessValidationFunction.ts +0 -7
  135. package/src/elevatedPayload/InBlockPayloadValidationFunction.ts +0 -8
  136. package/src/elevatedPayload/validateChainStakeIntentInBlock.ts +0 -29
  137. package/src/elevatedPayload/validateElevatedInTransaction.ts +0 -23
  138. package/src/elevatedPayload/validateSchemaInBlock.ts +0 -24
  139. package/src/elevatedPayload/validateTransactionInBlock.ts +0 -18
  140. package/src/elevatedPayload/validateTransferInBlock.ts +0 -24
  141. package/src/hydratedBlock/HydratedBlockValidationFunction.ts +0 -8
  142. package/src/transaction/validators/TransactionElevation.ts +0 -28
@@ -1 +1 @@
1
- {"version":3,"file":"PreviousHash.d.ts","sourceRoot":"","sources":["../../../../src/block/validators/PreviousHash.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AAE3E,eAAO,MAAM,0BAA0B,EAAE,sBAoBxC,CAAA"}
1
+ {"version":3,"file":"PreviousHash.d.ts","sourceRoot":"","sources":["../../../../src/block/validators/PreviousHash.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAqB,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAEvF,eAAO,MAAM,0BAA0B,EAAE,sBAoBxC,CAAA"}
@@ -1,4 +1,2 @@
1
- export * from './BoundWitnessValidationFunction.ts';
2
- export * from './HydratedBoundWitnessValidationFunction.ts';
3
1
  export * from './validators/index.ts';
4
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/boundwitness/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAA;AACnD,cAAc,6CAA6C,CAAA;AAC3D,cAAc,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/boundwitness/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import type { BoundWitness } from '@xyo-network/boundwitness-model';
2
2
  import type { Schema } from '@xyo-network/payload-model';
3
- import type { HydratedBoundWitnessValidationFunction } from '../HydratedBoundWitnessValidationFunction.ts';
3
+ import type { HydratedBoundWitnessValidationFunction } from '@xyo-network/xl1-model';
4
4
  export declare const BoundWitnessReferencesValidator: <T extends BoundWitness = BoundWitness>(allowedSchemas?: Schema[]) => HydratedBoundWitnessValidationFunction<T>;
5
5
  //# sourceMappingURL=BoundWitnessReferences.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BoundWitnessReferences.d.ts","sourceRoot":"","sources":["../../../../src/boundwitness/validators/BoundWitnessReferences.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,KAAK,EAEV,MAAM,EAEP,MAAM,4BAA4B,CAAA;AAGnC,OAAO,KAAK,EAAE,sCAAsC,EAAE,MAAM,8CAA8C,CAAA;AAM1G,eAAO,MAAM,+BAA+B,GACzC,CAAC,SAAS,YAAY,GAAG,YAAY,EAAE,iBAAiB,MAAM,EAAE,KAAG,sCAAsC,CAAC,CAAC,CAoC7G,CAAA"}
1
+ {"version":3,"file":"BoundWitnessReferences.d.ts","sourceRoot":"","sources":["../../../../src/boundwitness/validators/BoundWitnessReferences.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,KAAK,EAEV,MAAM,EAEP,MAAM,4BAA4B,CAAA;AAEnC,OAAO,KAAK,EAAE,sCAAsC,EAAE,MAAM,wBAAwB,CAAA;AAMpF,eAAO,MAAM,+BAA+B,GACzC,CAAC,SAAS,YAAY,GAAG,YAAY,EAAE,iBAAiB,MAAM,EAAE,KAAG,sCAAsC,CAAC,CAAC,CAoC7G,CAAA"}
@@ -1,3 +1,3 @@
1
- import type { BoundWitnessValidationFunction } from '../BoundWitnessValidationFunction.ts';
1
+ import type { BoundWitnessValidationFunction } from '@xyo-network/xl1-model';
2
2
  export declare const BoundWitnessSignaturesValidator: BoundWitnessValidationFunction;
3
3
  //# sourceMappingURL=BoundWitnessSignatures.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BoundWitnessSignatures.d.ts","sourceRoot":"","sources":["../../../../src/boundwitness/validators/BoundWitnessSignatures.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAA;AAE1F,eAAO,MAAM,+BAA+B,EAAE,8BAgB7C,CAAA"}
1
+ {"version":3,"file":"BoundWitnessSignatures.d.ts","sourceRoot":"","sources":["../../../../src/boundwitness/validators/BoundWitnessSignatures.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAA;AAE5E,eAAO,MAAM,+BAA+B,EAAE,8BAgB7C,CAAA"}
@@ -1,8 +1,2 @@
1
- export * from './InBlockPayloadValidationFunction.ts';
2
- export * from './validateChainStakeIntentInBlock.ts';
3
- export * from './validateElevatedInBlock.ts';
4
- export * from './validateElevatedInTransaction.ts';
5
- export * from './validateSchemaInBlock.ts';
6
- export * from './validateTransactionInBlock.ts';
7
- export * from './validateTransferInBlock.ts';
1
+ export * from './validatePayloadInBlock.ts';
8
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elevatedPayload/index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAA;AACrD,cAAc,sCAAsC,CAAA;AACpD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,oCAAoC,CAAA;AAClD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,8BAA8B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elevatedPayload/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAA"}
@@ -0,0 +1,7 @@
1
+ export * from './isElevatedFromBlock.ts';
2
+ export * from './validateElevatedFromBlock.ts';
3
+ export * from './validateElevatedFromTransaction.ts';
4
+ export * from './validateIncludedInBlock.ts';
5
+ export * from './validateTransactionInBlock.ts';
6
+ export * from './validateTypedPayloadInBlock.ts';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elevatedPayload/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,sCAAsC,CAAA;AACpD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,kCAAkC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { Payload, WithStorageMeta } from '@xyo-network/payload-model';
2
+ import { type HydratedBlock } from '@xyo-network/xl1-model';
3
+ export declare const isElevatedFromBlock: (payload: WithStorageMeta<Payload>, [, payloads]: HydratedBlock) => boolean;
4
+ //# sourceMappingURL=isElevatedFromBlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isElevatedFromBlock.d.ts","sourceRoot":"","sources":["../../../../src/elevatedPayload/lib/isElevatedFromBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC1E,OAAO,EAAE,KAAK,aAAa,EAA6B,MAAM,wBAAwB,CAAA;AAEtF,eAAO,MAAM,mBAAmB,GAAI,SAAS,eAAe,CAAC,OAAO,CAAC,EAAE,cAAc,aAAa,KAAG,OAQpG,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { InBlockPayloadValidationFunction } from '@xyo-network/xl1-model';
2
+ export declare const validateElevatedFromBlock: InBlockPayloadValidationFunction;
3
+ //# sourceMappingURL=validateElevatedFromBlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateElevatedFromBlock.d.ts","sourceRoot":"","sources":["../../../../src/elevatedPayload/lib/validateElevatedFromBlock.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAiB,gCAAgC,EAAE,MAAM,wBAAwB,CAAA;AAE7F,eAAO,MAAM,yBAAyB,EAAE,gCAUvC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { InBlockPayloadValidationFunction } from '@xyo-network/xl1-model';
2
+ export declare const validateElevatedFromTransaction: InBlockPayloadValidationFunction;
3
+ //# sourceMappingURL=validateElevatedFromTransaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateElevatedFromTransaction.d.ts","sourceRoot":"","sources":["../../../../src/elevatedPayload/lib/validateElevatedFromTransaction.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAiB,gCAAgC,EAAE,MAAM,wBAAwB,CAAA;AAE7F,eAAO,MAAM,+BAA+B,EAAE,gCAe7C,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { Payload, WithStorageMeta } from '@xyo-network/payload-model';
2
+ import type { BlockBoundWitness } from '@xyo-network/xl1-model';
3
+ export declare const validateIncludedInBlock: (payload: WithStorageMeta<Payload>, block: BlockBoundWitness) => Error[];
4
+ //# sourceMappingURL=validateIncludedInBlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateIncludedInBlock.d.ts","sourceRoot":"","sources":["../../../../src/elevatedPayload/lib/validateIncludedInBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE/D,eAAO,MAAM,uBAAuB,GAAI,SAAS,eAAe,CAAC,OAAO,CAAC,EAAE,OAAO,iBAAiB,KAAG,KAAK,EAM1G,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { InBlockPayloadValidationFunction } from '@xyo-network/xl1-model';
2
+ export declare const validateTransactionInBlock: InBlockPayloadValidationFunction;
3
+ //# sourceMappingURL=validateTransactionInBlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateTransactionInBlock.d.ts","sourceRoot":"","sources":["../../../../src/elevatedPayload/lib/validateTransactionInBlock.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,gCAAgC,EAAE,MAAM,wBAAwB,CAAA;AAK7F,eAAO,MAAM,0BAA0B,EAAE,gCAWxC,CAAA"}
@@ -0,0 +1,5 @@
1
+ import type { IdentityFunction } from '@xyo-network/chain-protocol';
2
+ import type { Payload } from '@xyo-network/payload-model';
3
+ import type { HydratedBlock } from '@xyo-network/xl1-model';
4
+ export declare const validateTypedPayloadInBlock: <T extends Payload>(payload: Payload, block: HydratedBlock, identityFunction: IdentityFunction<T>) => Promise<Error[]>;
5
+ //# sourceMappingURL=validateTypedPayloadInBlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateTypedPayloadInBlock.d.ts","sourceRoot":"","sources":["../../../../src/elevatedPayload/lib/validateTypedPayloadInBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAM3D,eAAO,MAAM,2BAA2B,GAAU,CAAC,SAAS,OAAO,EACjE,SAAS,OAAO,EAChB,OAAO,aAAa,EACpB,kBAAkB,gBAAgB,CAAC,CAAC,CAAC,KACpC,OAAO,CAAC,KAAK,EAAE,CAYjB,CAAA"}
@@ -0,0 +1,5 @@
1
+ export * from './validateChainStakeIntentInBlock.ts';
2
+ export * from './validateHashInBlock.ts';
3
+ export * from './validateSchemaInBlock.ts';
4
+ export * from './validateTransferInBlock.ts';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elevatedPayload/payloads/index.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAA;AACpD,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,8BAA8B,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { InBlockPayloadValidationFunction } from '@xyo-network/xl1-model';
2
+ export declare const validateChainStakeIntentInBlock: InBlockPayloadValidationFunction;
3
+ //# sourceMappingURL=validateChainStakeIntentInBlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateChainStakeIntentInBlock.d.ts","sourceRoot":"","sources":["../../../../src/elevatedPayload/payloads/validateChainStakeIntentInBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,gCAAgC,EAAE,MAAM,wBAAwB,CAAA;AAK7F,eAAO,MAAM,+BAA+B,EAAE,gCAO7C,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { InBlockPayloadValidationFunction } from '@xyo-network/xl1-model';
2
+ export declare const validateHashInBlock: InBlockPayloadValidationFunction;
3
+ //# sourceMappingURL=validateHashInBlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateHashInBlock.d.ts","sourceRoot":"","sources":["../../../../src/elevatedPayload/payloads/validateHashInBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,gCAAgC,EAAE,MAAM,wBAAwB,CAAA;AAK7F,eAAO,MAAM,mBAAmB,EAAE,gCAOjC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { InBlockPayloadValidationFunction } from '@xyo-network/xl1-model';
2
+ export declare const validateSchemaInBlock: InBlockPayloadValidationFunction;
3
+ //# sourceMappingURL=validateSchemaInBlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateSchemaInBlock.d.ts","sourceRoot":"","sources":["../../../../src/elevatedPayload/payloads/validateSchemaInBlock.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,gCAAgC,EAAE,MAAM,wBAAwB,CAAA;AAI7F,eAAO,MAAM,qBAAqB,EAAE,gCAOnC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { type InBlockPayloadValidationFunction } from '@xyo-network/xl1-model';
2
+ export declare const validateTransferInBlock: InBlockPayloadValidationFunction;
3
+ //# sourceMappingURL=validateTransferInBlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateTransferInBlock.d.ts","sourceRoot":"","sources":["../../../../src/elevatedPayload/payloads/validateTransferInBlock.ts"],"names":[],"mappings":"AAAA,OAAO,EACe,KAAK,gCAAgC,EAC1D,MAAM,wBAAwB,CAAA;AAI/B,eAAO,MAAM,uBAAuB,EAAE,gCAOrC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { InBlockPayloadValidationFunction } from '@xyo-network/xl1-model';
2
+ export declare const validatePayloadInBlock: InBlockPayloadValidationFunction;
3
+ //# sourceMappingURL=validatePayloadInBlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validatePayloadInBlock.d.ts","sourceRoot":"","sources":["../../../src/elevatedPayload/validatePayloadInBlock.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,gCAAgC,EACjC,MAAM,wBAAwB,CAAA;AAkB/B,eAAO,MAAM,sBAAsB,EAAE,gCAYpC,CAAA"}
@@ -1,4 +1,3 @@
1
- export * from './HydratedBlockValidationFunction.ts';
2
1
  export * from './validateHydratedBlock.ts';
3
2
  export * from './validators/index.ts';
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hydratedBlock/index.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAA;AACpD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hydratedBlock/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uBAAuB,CAAA"}
@@ -1,3 +1,3 @@
1
- import type { HydratedBlockValidatorFunction } from './HydratedBlockValidationFunction.ts';
1
+ import type { HydratedBlockValidatorFunction } from '@xyo-network/xl1-model';
2
2
  export declare const validateHydratedBlock: HydratedBlockValidatorFunction;
3
3
  //# sourceMappingURL=validateHydratedBlock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validateHydratedBlock.d.ts","sourceRoot":"","sources":["../../../src/hydratedBlock/validateHydratedBlock.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAA;AAG1F,eAAO,MAAM,qBAAqB,EAAE,8BAQnC,CAAA"}
1
+ {"version":3,"file":"validateHydratedBlock.d.ts","sourceRoot":"","sources":["../../../src/hydratedBlock/validateHydratedBlock.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,8BAA8B,EAAE,MAAM,wBAAwB,CAAA;AAM3F,eAAO,MAAM,qBAAqB,EAAE,8BAYnC,CAAA"}
@@ -1,3 +1,3 @@
1
- import type { HydratedBlockValidatorFunction } from '../HydratedBlockValidationFunction.ts';
1
+ import type { HydratedBlockValidatorFunction } from '@xyo-network/xl1-model';
2
2
  export declare const PayloadsInBlockValidator: HydratedBlockValidatorFunction;
3
3
  //# sourceMappingURL=Payloads.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Payloads.d.ts","sourceRoot":"","sources":["../../../../src/hydratedBlock/validators/Payloads.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,uCAAuC,CAAA;AAE3F,eAAO,MAAM,wBAAwB,EAAE,8BA2CtC,CAAA"}
1
+ {"version":3,"file":"Payloads.d.ts","sourceRoot":"","sources":["../../../../src/hydratedBlock/validators/Payloads.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,8BAA8B,EAC/B,MAAM,wBAAwB,CAAA;AAI/B,eAAO,MAAM,wBAAwB,EAAE,8BA2BtC,CAAA"}
@@ -1,3 +1,3 @@
1
- import type { HydratedBlockStateValidatorFunction } from '@xyo-network/xl1-model';
2
- export declare const validateHydratedBlockState: HydratedBlockStateValidatorFunction;
1
+ import type { HydratedBlockStateValidationFunction } from '@xyo-network/xl1-model';
2
+ export declare const validateHydratedBlockState: HydratedBlockStateValidationFunction;
3
3
  //# sourceMappingURL=validateHydratedBlockState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validateHydratedBlockState.d.ts","sourceRoot":"","sources":["../../../src/hydratedBlockState/validateHydratedBlockState.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAiB,mCAAmC,EAAE,MAAM,wBAAwB,CAAA;AAKhG,eAAO,MAAM,0BAA0B,EAAE,mCASxC,CAAA"}
1
+ {"version":3,"file":"validateHydratedBlockState.d.ts","sourceRoot":"","sources":["../../../src/hydratedBlockState/validateHydratedBlockState.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAiB,oCAAoC,EAAE,MAAM,wBAAwB,CAAA;AAKjG,eAAO,MAAM,0BAA0B,EAAE,oCASxC,CAAA"}
@@ -1,3 +1,3 @@
1
- import type { HydratedBlockStateValidatorFunction } from '@xyo-network/xl1-model';
2
- export declare const RequiredBalanceBlockStateValidator: HydratedBlockStateValidatorFunction;
1
+ import type { HydratedBlockStateValidationFunction } from '@xyo-network/xl1-model';
2
+ export declare const RequiredBalanceBlockStateValidator: HydratedBlockStateValidationFunction;
3
3
  //# sourceMappingURL=RequiredBalance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RequiredBalance.d.ts","sourceRoot":"","sources":["../../../../src/hydratedBlockState/validators/RequiredBalance.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAiB,mCAAmC,EAAE,MAAM,wBAAwB,CAAA;AAEhG,eAAO,MAAM,kCAAkC,EAAE,mCAgChD,CAAA"}
1
+ {"version":3,"file":"RequiredBalance.d.ts","sourceRoot":"","sources":["../../../../src/hydratedBlockState/validators/RequiredBalance.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAiB,oCAAoC,EAAE,MAAM,wBAAwB,CAAA;AAEjG,eAAO,MAAM,kCAAkC,EAAE,oCAgChD,CAAA"}
@@ -1,3 +1,4 @@
1
- import type { ChainIdentification, HydratedTransactionValidatorFunction, HydratedTransactionWithStorageMeta } from '@xyo-network/xl1-model';
2
- export declare function validateTransaction(tx: HydratedTransactionWithStorageMeta, chainIdentification: ChainIdentification, additionalValidators?: HydratedTransactionValidatorFunction[]): Promise<Error[]>;
1
+ import type { Address } from '@xylabs/hex';
2
+ import type { HydratedTransactionValidatorFunction, HydratedTransactionWithStorageMeta } from '@xyo-network/xl1-model';
3
+ export declare function validateTransaction(tx: HydratedTransactionWithStorageMeta, chainId: Address, additionalValidators?: HydratedTransactionValidatorFunction[]): Promise<Error[]>;
3
4
  //# sourceMappingURL=validateTransaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validateTransaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/validateTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EAAE,oCAAoC,EACzD,kCAAkC,EACnC,MAAM,wBAAwB,CAAA;AAQ/B,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,kCAAkC,EACtC,mBAAmB,EAAE,mBAAmB,EACxC,oBAAoB,GAAE,oCAAoC,EAAO,GAChE,OAAO,CAAC,KAAK,EAAE,CAAC,CAalB"}
1
+ {"version":3,"file":"validateTransaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/validateTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,oCAAoC,EAAE,kCAAkC,EAAE,MAAM,wBAAwB,CAAA;AAQtH,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,kCAAkC,EACtC,OAAO,EAAE,OAAO,EAChB,oBAAoB,GAAE,oCAAoC,EAAO,GAChE,OAAO,CAAC,KAAK,EAAE,CAAC,CAclB"}
@@ -1,3 +1,3 @@
1
1
  import type { HydratedTransactionValidatorFunction, TransactionBoundWitness } from '@xyo-network/xl1-model';
2
2
  export declare const TransactionElevationValidator: HydratedTransactionValidatorFunction<TransactionBoundWitness>;
3
- //# sourceMappingURL=TransactionElevation.d.ts.map
3
+ //# sourceMappingURL=TransactionElevationValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransactionElevationValidator.d.ts","sourceRoot":"","sources":["../../../../src/transaction/validators/TransactionElevationValidator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oCAAoC,EAAsC,uBAAuB,EAClG,MAAM,wBAAwB,CAAA;AAE/B,eAAO,MAAM,6BAA6B,EAAE,oCAAoC,CAAC,uBAAuB,CAMvG,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { HydratedTransactionValidatorFunction, TransactionBoundWitness } from '@xyo-network/xl1-model';
2
+ export declare const TransactionFromValidator: HydratedTransactionValidatorFunction<TransactionBoundWitness>;
3
+ //# sourceMappingURL=TransactionFromValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransactionFromValidator.d.ts","sourceRoot":"","sources":["../../../../src/transaction/validators/TransactionFromValidator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACW,oCAAoC,EAAE,uBAAuB,EACnF,MAAM,wBAAwB,CAAA;AAE/B,eAAO,MAAM,wBAAwB,EAAE,oCAAoC,CAAC,uBAAuB,CASlG,CAAA"}
@@ -1,3 +1,3 @@
1
1
  import type { HydratedTransactionValidatorFunction, TransactionBoundWitness } from '@xyo-network/xl1-model';
2
2
  export declare const TransactionJsonSchemaValidator: HydratedTransactionValidatorFunction<TransactionBoundWitness>;
3
- //# sourceMappingURL=TransactionJsonSchema.d.ts.map
3
+ //# sourceMappingURL=TransactionJsonSchemaValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransactionJsonSchemaValidator.d.ts","sourceRoot":"","sources":["../../../../src/transaction/validators/TransactionJsonSchemaValidator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACW,oCAAoC,EAAE,uBAAuB,EACnF,MAAM,wBAAwB,CAAA;AAG/B,eAAO,MAAM,8BAA8B,EAAE,oCAAoC,CAAC,uBAAuB,CAiBxG,CAAA"}
@@ -1,3 +1,3 @@
1
1
  import type { HydratedTransactionValidatorFunction, TransactionBoundWitness } from '@xyo-network/xl1-model';
2
2
  export declare const TransactionProtocolValidator: HydratedTransactionValidatorFunction<TransactionBoundWitness>;
3
- //# sourceMappingURL=TransactionProtocol.d.ts.map
3
+ //# sourceMappingURL=TransactionProtocolValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransactionProtocolValidator.d.ts","sourceRoot":"","sources":["../../../../src/transaction/validators/TransactionProtocolValidator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACW,oCAAoC,EAAE,uBAAuB,EACnF,MAAM,wBAAwB,CAAA;AAE/B,eAAO,MAAM,4BAA4B,EAAE,oCAAoC,CAAC,uBAAuB,CAgBtG,CAAA"}
@@ -1,4 +1,5 @@
1
- export * from './TransactionElevation.ts';
2
- export * from './TransactionJsonSchema.ts';
3
- export * from './TransactionProtocol.ts';
1
+ export * from './TransactionElevationValidator.ts';
2
+ export * from './TransactionFromValidator.ts';
3
+ export * from './TransactionJsonSchemaValidator.ts';
4
+ export * from './TransactionProtocolValidator.ts';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/transaction/validators/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/transaction/validators/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAA;AAClD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,qCAAqC,CAAA;AACnD,cAAc,mCAAmC,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/chain-validation",
4
- "version": "1.1.7",
4
+ "version": "1.2.1",
5
5
  "description": "XYO Layer One SDK Validation",
6
6
  "homepage": "https://xylabs.com",
7
7
  "bugs": {
@@ -34,25 +34,24 @@
34
34
  "deploy3": "echo Deploy3 not allowed!"
35
35
  },
36
36
  "dependencies": {
37
- "@xylabs/arraybuffer": "^4.8.0",
38
- "@xylabs/assert": "^4.8.0",
39
- "@xylabs/exists": "^4.8.0",
40
- "@xylabs/hex": "^4.8.0",
41
- "@xylabs/promise": "^4.8.0",
42
- "@xyo-network/archivist-model": "^3.12.0",
43
- "@xyo-network/boundwitness-builder": "^3.12.0",
44
- "@xyo-network/boundwitness-model": "^3.12.0",
45
- "@xyo-network/boundwitness-validator": "^3.12.0",
46
- "@xyo-network/boundwitness-wrapper": "^3.12.0",
47
- "@xyo-network/chain-protocol": "^1.1.7",
48
- "@xyo-network/chain-schema": "^1.1.7",
49
- "@xyo-network/payload-model": "^3.12.0",
50
- "@xyo-network/schema-payload-plugin": "^3.12.0",
51
- "@xyo-network/xl1-model": "^1.1.7",
37
+ "@xylabs/arraybuffer": "^4.8.4",
38
+ "@xylabs/assert": "^4.8.4",
39
+ "@xylabs/hex": "^4.8.4",
40
+ "@xylabs/promise": "^4.8.4",
41
+ "@xyo-network/archivist-model": "^3.12.3",
42
+ "@xyo-network/boundwitness-builder": "^3.12.3",
43
+ "@xyo-network/boundwitness-model": "^3.12.3",
44
+ "@xyo-network/boundwitness-validator": "^3.12.3",
45
+ "@xyo-network/boundwitness-wrapper": "^3.12.3",
46
+ "@xyo-network/chain-protocol": "^1.2.1",
47
+ "@xyo-network/chain-schema": "^1.2.1",
48
+ "@xyo-network/payload-model": "^3.12.3",
49
+ "@xyo-network/schema-payload-plugin": "^3.12.3",
50
+ "@xyo-network/xl1-model": "^1.2.1",
52
51
  "ajv": "^8.17.1"
53
52
  },
54
53
  "devDependencies": {
55
- "@types/node": "^22.14.0",
54
+ "@types/node": "^22.14.1",
56
55
  "@xylabs/ts-scripts-yarn3": "^6.2.1",
57
56
  "@xylabs/tsconfig": "^6.2.1",
58
57
  "typescript": "^5.8.3"
@@ -1,2 +1 @@
1
- export * from './BlockValidationFunction.ts'
2
1
  export * from './validateBlock.ts'
@@ -1,8 +1,7 @@
1
1
  import type { Address } from '@xylabs/hex'
2
- import type { BlockBoundWitness } from '@xyo-network/xl1-model'
2
+ import type { BlockBoundWitness, BlockValidatorFunction } from '@xyo-network/xl1-model'
3
3
 
4
4
  import { BoundWitnessSignaturesValidator } from '../boundwitness/index.ts'
5
- import type { BlockValidatorFunction } from './BlockValidationFunction.ts'
6
5
  import {
7
6
  BlockAllowedPayloadSchemasValidator,
8
7
  BlockFieldsValidator, BlockJsonSchemaValidator, BlockPreviousHashValidator,
@@ -1,7 +1,6 @@
1
- import { isAllowedBlockPayloadSchema } from '@xyo-network/chain-protocol'
2
- import type { BlockBoundWitness } from '@xyo-network/xl1-model'
3
-
4
- import type { BlockValidatorFunction } from '../BlockValidationFunction.ts'
1
+ import {
2
+ type BlockBoundWitness, type BlockValidatorFunction, isAllowedBlockPayloadSchema,
3
+ } from '@xyo-network/xl1-model'
5
4
 
6
5
  export const BlockAllowedPayloadSchemasValidator: BlockValidatorFunction = (
7
6
  block: BlockBoundWitness,
@@ -1,7 +1,5 @@
1
1
  import type { Address } from '@xylabs/hex'
2
- import type { BlockBoundWitness } from '@xyo-network/xl1-model'
3
-
4
- import type { BlockValidatorFunction } from '../BlockValidationFunction.ts'
2
+ import type { BlockBoundWitness, BlockValidatorFunction } from '@xyo-network/xl1-model'
5
3
 
6
4
  export const BlockFieldsValidator: BlockValidatorFunction = (
7
5
  block: BlockBoundWitness,
@@ -1,10 +1,8 @@
1
1
  import { BlockBoundWitnessWithStorageMetaJsonSchema } from '@xyo-network/chain-schema'
2
- import type { BlockBoundWitness } from '@xyo-network/xl1-model'
2
+ import type { BlockBoundWitness, BlockValidatorFunction } from '@xyo-network/xl1-model'
3
3
  import type { AnySchema } from 'ajv'
4
4
  import { Ajv } from 'ajv'
5
5
 
6
- import type { BlockValidatorFunction } from '../BlockValidationFunction.ts'
7
-
8
6
  export const BlockJsonSchemaValidator = (jsonSchema: AnySchema = BlockBoundWitnessWithStorageMetaJsonSchema): BlockValidatorFunction => async (
9
7
  block: BlockBoundWitness,
10
8
  ) => {
@@ -1,7 +1,5 @@
1
1
  import { isHash } from '@xylabs/hex'
2
- import type { BlockBoundWitness } from '@xyo-network/xl1-model'
3
-
4
- import type { BlockValidatorFunction } from '../BlockValidationFunction.ts'
2
+ import type { BlockBoundWitness, BlockValidatorFunction } from '@xyo-network/xl1-model'
5
3
 
6
4
  export const BlockPreviousHashValidator: BlockValidatorFunction = (
7
5
  block: BlockBoundWitness,
@@ -1,3 +1 @@
1
- export * from './BoundWitnessValidationFunction.ts'
2
- export * from './HydratedBoundWitnessValidationFunction.ts'
3
1
  export * from './validators/index.ts'
@@ -8,8 +8,7 @@ import type {
8
8
  WithHashStorageMeta,
9
9
  } from '@xyo-network/payload-model'
10
10
  import { isAnyPayload } from '@xyo-network/payload-model'
11
-
12
- import type { HydratedBoundWitnessValidationFunction } from '../HydratedBoundWitnessValidationFunction.ts'
11
+ import type { HydratedBoundWitnessValidationFunction } from '@xyo-network/xl1-model'
13
12
 
14
13
  function getPayloadsFromPayloadArray(payloads: WithHashStorageMeta<Payload>[], hashes: Hash[]): (WithHashStorageMeta<Payload> | undefined)[] {
15
14
  return hashes.map(hash => payloads.find(payload => payload._hash === hash || payload._dataHash === hash))
@@ -3,8 +3,7 @@ import type { Address } from '@xylabs/hex'
3
3
  import { BoundWitnessBuilder } from '@xyo-network/boundwitness-builder'
4
4
  import type { BoundWitness } from '@xyo-network/boundwitness-model'
5
5
  import { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'
6
-
7
- import type { BoundWitnessValidationFunction } from '../BoundWitnessValidationFunction.ts'
6
+ import type { BoundWitnessValidationFunction } from '@xyo-network/xl1-model'
8
7
 
9
8
  export const BoundWitnessSignaturesValidator: BoundWitnessValidationFunction = async (
10
9
  bw: BoundWitness,
@@ -1,7 +1 @@
1
- export * from './InBlockPayloadValidationFunction.ts'
2
- export * from './validateChainStakeIntentInBlock.ts'
3
- export * from './validateElevatedInBlock.ts'
4
- export * from './validateElevatedInTransaction.ts'
5
- export * from './validateSchemaInBlock.ts'
6
- export * from './validateTransactionInBlock.ts'
7
- export * from './validateTransferInBlock.ts'
1
+ export * from './validatePayloadInBlock.ts'
@@ -0,0 +1,6 @@
1
+ export * from './isElevatedFromBlock.ts'
2
+ export * from './validateElevatedFromBlock.ts'
3
+ export * from './validateElevatedFromTransaction.ts'
4
+ export * from './validateIncludedInBlock.ts'
5
+ export * from './validateTransactionInBlock.ts'
6
+ export * from './validateTypedPayloadInBlock.ts'
@@ -0,0 +1,12 @@
1
+ import type { Payload, WithStorageMeta } from '@xyo-network/payload-model'
2
+ import { type HydratedBlock, isTransactionBoundWitness } from '@xyo-network/xl1-model'
3
+
4
+ export const isElevatedFromBlock = (payload: WithStorageMeta<Payload>, [, payloads]: HydratedBlock): boolean => {
5
+ const txs = payloads.filter(p => isTransactionBoundWitness(p))
6
+ for (const tx of txs) {
7
+ if (tx.payload_hashes.includes(payload._hash)) {
8
+ return false
9
+ }
10
+ }
11
+ return true
12
+ }
@@ -1,10 +1,8 @@
1
1
  import type { Promisable } from '@xylabs/promise'
2
2
  import { transactionPayloadsFromHydratedBlock } from '@xyo-network/chain-protocol'
3
- import type { HydratedBlock } from '@xyo-network/xl1-model'
3
+ import type { HydratedBlock, InBlockPayloadValidationFunction } from '@xyo-network/xl1-model'
4
4
 
5
- import type { InBlockPayloadValidationFunction } from './InBlockPayloadValidationFunction.ts'
6
-
7
- export const validateElevatedInBlock: InBlockPayloadValidationFunction = (
5
+ export const validateElevatedFromBlock: InBlockPayloadValidationFunction = (
8
6
  payload,
9
7
  block: HydratedBlock,
10
8
  ): Promisable<Error[]> => {
@@ -0,0 +1,20 @@
1
+ import type { Promisable } from '@xylabs/promise'
2
+ import { transactionsFromHydratedBlock } from '@xyo-network/chain-protocol'
3
+ import type { HydratedBlock, InBlockPayloadValidationFunction } from '@xyo-network/xl1-model'
4
+
5
+ export const validateElevatedFromTransaction: InBlockPayloadValidationFunction = (
6
+ payload,
7
+ block: HydratedBlock,
8
+ ): Promisable<Error[]> => {
9
+ const errors: Error[] = []
10
+ const txs = transactionsFromHydratedBlock(block)
11
+ if (txs.length > 0) {
12
+ const hashes = txs.flatMap(tx => tx.payload_hashes)
13
+ if (!hashes.includes(payload._hash)) {
14
+ errors.push(new Error('Transaction does not include payload'))
15
+ }
16
+ } else {
17
+ errors.push(new Error('No Transactions in block'))
18
+ }
19
+ return errors
20
+ }
@@ -0,0 +1,10 @@
1
+ import type { Payload, WithStorageMeta } from '@xyo-network/payload-model'
2
+ import type { BlockBoundWitness } from '@xyo-network/xl1-model'
3
+
4
+ export const validateIncludedInBlock = (payload: WithStorageMeta<Payload>, block: BlockBoundWitness): Error[] => {
5
+ const errors: Error[] = []
6
+ if (!block.payload_hashes.includes(payload._hash)) {
7
+ errors.push(new Error('Payload not included in block'))
8
+ }
9
+ return errors
10
+ }
@@ -0,0 +1,18 @@
1
+ import { isStorageMeta } from '@xyo-network/payload-model'
2
+ import type { HydratedBlock, InBlockPayloadValidationFunction } from '@xyo-network/xl1-model'
3
+ import { isTransactionBoundWitness } from '@xyo-network/xl1-model'
4
+
5
+ import { BoundWitnessSignaturesValidator } from '../../boundwitness/index.ts'
6
+
7
+ export const validateTransactionInBlock: InBlockPayloadValidationFunction = async (
8
+ payload,
9
+ _block: HydratedBlock,
10
+ ): Promise<Error[]> => {
11
+ const errors: Error[] = []
12
+ if (isTransactionBoundWitness(payload) && isStorageMeta(payload)) {
13
+ errors.push(...await BoundWitnessSignaturesValidator(payload))
14
+ } else {
15
+ errors.push(new Error('Payload failed isTransactionBoundWitness or isStorageMeta'))
16
+ }
17
+ return errors
18
+ }