@xyo-network/chain-validation 1.1.6 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/dist/neutral/index.mjs +107 -97
  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 +1 -1
  60. package/dist/types/transaction/validateTransaction.d.ts.map +1 -1
  61. package/dist/types/transaction/validators/TransactionElevation.d.ts +1 -1
  62. package/dist/types/transaction/validators/TransactionElevation.d.ts.map +1 -1
  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 +1 -1
  66. package/dist/types/transaction/validators/TransactionJsonSchema.d.ts.map +1 -1
  67. package/dist/types/transaction/validators/TransactionProtocol.d.ts +1 -1
  68. package/dist/types/transaction/validators/TransactionProtocol.d.ts.map +1 -1
  69. package/dist/types/transaction/validators/index.d.ts +1 -0
  70. package/dist/types/transaction/validators/index.d.ts.map +1 -1
  71. package/package.json +16 -16
  72. package/src/block/index.ts +0 -1
  73. package/src/block/validateBlock.ts +1 -2
  74. package/src/block/validators/AllowedPayloadSchemas.ts +1 -3
  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 +10 -37
  98. package/src/hydratedBlockState/validateHydratedBlockState.ts +4 -4
  99. package/src/hydratedBlockState/validators/RequiredBalance.ts +2 -2
  100. package/src/transaction/validateTransaction.ts +5 -4
  101. package/src/transaction/validators/TransactionElevation.ts +2 -17
  102. package/src/transaction/validators/TransactionFromValidator.ts +16 -0
  103. package/src/transaction/validators/TransactionJsonSchema.ts +2 -2
  104. package/src/transaction/validators/TransactionProtocol.ts +5 -7
  105. package/src/transaction/validators/index.ts +1 -0
  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/src/block/BlockValidationFunction.ts +0 -8
  130. package/src/boundwitness/BoundWitnessValidationFunction.ts +0 -6
  131. package/src/boundwitness/HydratedBoundWitnessValidationFunction.ts +0 -7
  132. package/src/elevatedPayload/InBlockPayloadValidationFunction.ts +0 -8
  133. package/src/elevatedPayload/validateChainStakeIntentInBlock.ts +0 -29
  134. package/src/elevatedPayload/validateElevatedInTransaction.ts +0 -23
  135. package/src/elevatedPayload/validateSchemaInBlock.ts +0 -24
  136. package/src/elevatedPayload/validateTransactionInBlock.ts +0 -18
  137. package/src/elevatedPayload/validateTransferInBlock.ts +0 -24
  138. package/src/hydratedBlock/HydratedBlockValidationFunction.ts +0 -8
@@ -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/chain-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,0BAA0B,CAAA;AAKlG,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/chain-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":"AAGA,OAAO,KAAK,EAAiB,mCAAmC,EAAE,MAAM,0BAA0B,CAAA;AAKlG,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,3 @@
1
- import type { ChainIdentification, HydratedTransactionValidatorFunction, HydratedTransactionWithStorageMeta } from '@xyo-network/chain-model';
1
+ import type { ChainIdentification, HydratedTransactionValidatorFunction, HydratedTransactionWithStorageMeta } from '@xyo-network/xl1-model';
2
2
  export declare function validateTransaction(tx: HydratedTransactionWithStorageMeta, chainIdentification: ChainIdentification, additionalValidators?: HydratedTransactionValidatorFunction[]): Promise<Error[]>;
3
3
  //# 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,0BAA0B,CAAA;AAQjC,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,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,CAclB"}
@@ -1,3 +1,3 @@
1
- import type { HydratedTransactionValidatorFunction, TransactionBoundWitness } from '@xyo-network/chain-model';
1
+ import type { HydratedTransactionValidatorFunction, TransactionBoundWitness } from '@xyo-network/xl1-model';
2
2
  export declare const TransactionElevationValidator: HydratedTransactionValidatorFunction<TransactionBoundWitness>;
3
3
  //# sourceMappingURL=TransactionElevation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionElevation.d.ts","sourceRoot":"","sources":["../../../../src/transaction/validators/TransactionElevation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oCAAoC,EAAsC,uBAAuB,EAClG,MAAM,0BAA0B,CAAA;AAEjC,eAAO,MAAM,6BAA6B,EAAE,oCAAoC,CAAC,uBAAuB,CAqBvG,CAAA"}
1
+ {"version":3,"file":"TransactionElevation.d.ts","sourceRoot":"","sources":["../../../../src/transaction/validators/TransactionElevation.ts"],"names":[],"mappings":"AAEA,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
- import type { HydratedTransactionValidatorFunction, TransactionBoundWitness } from '@xyo-network/chain-model';
1
+ import type { HydratedTransactionValidatorFunction, TransactionBoundWitness } from '@xyo-network/xl1-model';
2
2
  export declare const TransactionJsonSchemaValidator: HydratedTransactionValidatorFunction<TransactionBoundWitness>;
3
3
  //# sourceMappingURL=TransactionJsonSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionJsonSchema.d.ts","sourceRoot":"","sources":["../../../../src/transaction/validators/TransactionJsonSchema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACW,oCAAoC,EAAE,uBAAuB,EACnF,MAAM,0BAA0B,CAAA;AAIjC,eAAO,MAAM,8BAA8B,EAAE,oCAAoC,CAAC,uBAAuB,CAiBxG,CAAA"}
1
+ {"version":3,"file":"TransactionJsonSchema.d.ts","sourceRoot":"","sources":["../../../../src/transaction/validators/TransactionJsonSchema.ts"],"names":[],"mappings":"AAEA,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
- import type { HydratedTransactionValidatorFunction, TransactionBoundWitness } from '@xyo-network/chain-model';
1
+ import type { HydratedTransactionValidatorFunction, TransactionBoundWitness } from '@xyo-network/xl1-model';
2
2
  export declare const TransactionProtocolValidator: HydratedTransactionValidatorFunction<TransactionBoundWitness>;
3
3
  //# sourceMappingURL=TransactionProtocol.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionProtocol.d.ts","sourceRoot":"","sources":["../../../../src/transaction/validators/TransactionProtocol.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACgC,oCAAoC,EAAE,uBAAuB,EACxG,MAAM,0BAA0B,CAAA;AAEjC,eAAO,MAAM,4BAA4B,EAAE,oCAAoC,CAAC,uBAAuB,CAmBtG,CAAA"}
1
+ {"version":3,"file":"TransactionProtocol.d.ts","sourceRoot":"","sources":["../../../../src/transaction/validators/TransactionProtocol.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
1
  export * from './TransactionElevation.ts';
2
+ export * from './TransactionFromValidator.ts';
2
3
  export * from './TransactionJsonSchema.ts';
3
4
  export * from './TransactionProtocol.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,2BAA2B,CAAA;AACzC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,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.6",
4
+ "version": "1.2.0",
5
5
  "description": "XYO Layer One SDK Validation",
6
6
  "homepage": "https://xylabs.com",
7
7
  "bugs": {
@@ -34,21 +34,21 @@
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-model": "^1.1.6",
48
- "@xyo-network/chain-protocol": "^1.1.6",
49
- "@xyo-network/chain-schema": "^1.1.6",
50
- "@xyo-network/payload-model": "^3.12.0",
51
- "@xyo-network/schema-payload-plugin": "^3.12.0",
37
+ "@xylabs/arraybuffer": "^4.8.4",
38
+ "@xylabs/assert": "^4.8.4",
39
+ "@xylabs/exists": "^4.8.4",
40
+ "@xylabs/hex": "^4.8.4",
41
+ "@xylabs/promise": "^4.8.4",
42
+ "@xyo-network/archivist-model": "^3.12.2",
43
+ "@xyo-network/boundwitness-builder": "^3.12.2",
44
+ "@xyo-network/boundwitness-model": "^3.12.2",
45
+ "@xyo-network/boundwitness-validator": "^3.12.2",
46
+ "@xyo-network/boundwitness-wrapper": "^3.12.2",
47
+ "@xyo-network/chain-protocol": "^1.2.0",
48
+ "@xyo-network/chain-schema": "^1.2.0",
49
+ "@xyo-network/payload-model": "^3.12.2",
50
+ "@xyo-network/schema-payload-plugin": "^3.12.2",
51
+ "@xyo-network/xl1-model": "^1.2.0",
52
52
  "ajv": "^8.17.1"
53
53
  },
54
54
  "devDependencies": {
@@ -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/chain-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,5 @@
1
- import type { BlockBoundWitness } from '@xyo-network/chain-model'
2
1
  import { isAllowedBlockPayloadSchema } from '@xyo-network/chain-protocol'
3
-
4
- import type { BlockValidatorFunction } from '../BlockValidationFunction.ts'
2
+ import type { BlockBoundWitness, BlockValidatorFunction } from '@xyo-network/xl1-model'
5
3
 
6
4
  export const BlockAllowedPayloadSchemasValidator: BlockValidatorFunction = (
7
5
  block: BlockBoundWitness,
@@ -1,7 +1,5 @@
1
1
  import type { Address } from '@xylabs/hex'
2
- import type { BlockBoundWitness } from '@xyo-network/chain-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
- import type { BlockBoundWitness } from '@xyo-network/chain-model'
2
1
  import { BlockBoundWitnessWithStorageMetaJsonSchema } from '@xyo-network/chain-schema'
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/chain-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
- import type { HydratedBlock } from '@xyo-network/chain-model'
3
2
  import { transactionPayloadsFromHydratedBlock } from '@xyo-network/chain-protocol'
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
+ }
@@ -0,0 +1,27 @@
1
+ import type { IdentityFunction } from '@xyo-network/chain-protocol'
2
+ import type { Payload } from '@xyo-network/payload-model'
3
+ import { isStorageMeta } from '@xyo-network/payload-model'
4
+ import type { HydratedBlock } from '@xyo-network/xl1-model'
5
+
6
+ import { isElevatedFromBlock } from './isElevatedFromBlock.ts'
7
+ import { validateElevatedFromBlock } from './validateElevatedFromBlock.ts'
8
+ import { validateElevatedFromTransaction } from './validateElevatedFromTransaction.ts'
9
+
10
+ export const validateTypedPayloadInBlock = async <T extends Payload>(
11
+ payload: Payload,
12
+ block: HydratedBlock,
13
+ identityFunction: IdentityFunction<T>,
14
+ ): Promise<Error[]> => {
15
+ const errors: Error[] = []
16
+ if (identityFunction(payload) && isStorageMeta(payload)) {
17
+ if (isElevatedFromBlock(payload, block)) {
18
+ errors.push(...await validateElevatedFromBlock(payload, block))
19
+ } else {
20
+ errors.push(...await validateElevatedFromTransaction(payload, block))
21
+ }
22
+ } else {
23
+ errors.push(new Error('Payload failed identityFunction or isElevated or isStorageMeta'))
24
+ }
25
+ return errors
26
+ }
27
+ //
@@ -0,0 +1,4 @@
1
+ export * from './validateChainStakeIntentInBlock.ts'
2
+ export * from './validateHashInBlock.ts'
3
+ export * from './validateSchemaInBlock.ts'
4
+ export * from './validateTransferInBlock.ts'
@@ -0,0 +1,13 @@
1
+ import type { HydratedBlock, InBlockPayloadValidationFunction } from '@xyo-network/xl1-model'
2
+ import { isChainStakeIntent } from '@xyo-network/xl1-model'
3
+
4
+ import { validateTypedPayloadInBlock } from '../lib/index.ts'
5
+
6
+ export const validateChainStakeIntentInBlock: InBlockPayloadValidationFunction = async (
7
+ payload,
8
+ block: HydratedBlock,
9
+ ): Promise<Error[]> => {
10
+ const errors: Error[] = []
11
+ errors.push(...await validateTypedPayloadInBlock(payload, block, isChainStakeIntent))
12
+ return errors
13
+ }