@xyo-network/diviner-temporal-indexing-memory 2.84.19 → 2.85.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.
package/package.json CHANGED
@@ -13,36 +13,37 @@
13
13
  "@xylabs/array": "^2.13.20",
14
14
  "@xylabs/assert": "^2.13.20",
15
15
  "@xylabs/exists": "^2.13.20",
16
- "@xyo-network/abstract-diviner": "~2.84.19",
17
- "@xyo-network/archivist-model": "~2.84.19",
18
- "@xyo-network/archivist-wrapper": "~2.84.19",
19
- "@xyo-network/boundwitness-model": "~2.84.19",
20
- "@xyo-network/diviner-boundwitness-model": "~2.84.19",
21
- "@xyo-network/diviner-indexing-memory": "~2.84.19",
22
- "@xyo-network/diviner-indexing-model": "~2.84.19",
23
- "@xyo-network/diviner-jsonpath-aggregate-memory": "~2.84.19",
24
- "@xyo-network/diviner-jsonpath-model": "~2.84.19",
25
- "@xyo-network/diviner-model": "~2.84.19",
26
- "@xyo-network/diviner-payload-model": "~2.84.19",
27
- "@xyo-network/diviner-temporal-indexing-model": "~2.84.19",
28
- "@xyo-network/diviner-wrapper": "~2.84.19",
29
- "@xyo-network/hash": "~2.84.19",
30
- "@xyo-network/module-model": "~2.84.19",
31
- "@xyo-network/payload-builder": "~2.84.19",
32
- "@xyo-network/payload-model": "~2.84.19",
33
- "@xyo-network/witness-timestamp": "~2.84.19"
16
+ "@xyo-network/abstract-diviner": "~2.85.1",
17
+ "@xyo-network/archivist-model": "~2.85.1",
18
+ "@xyo-network/archivist-wrapper": "~2.85.1",
19
+ "@xyo-network/boundwitness-model": "~2.85.1",
20
+ "@xyo-network/diviner-boundwitness-model": "~2.85.1",
21
+ "@xyo-network/diviner-indexing-memory": "~2.85.1",
22
+ "@xyo-network/diviner-indexing-model": "~2.85.1",
23
+ "@xyo-network/diviner-jsonpath-aggregate-memory": "~2.85.1",
24
+ "@xyo-network/diviner-jsonpath-model": "~2.85.1",
25
+ "@xyo-network/diviner-model": "~2.85.1",
26
+ "@xyo-network/diviner-payload-model": "~2.85.1",
27
+ "@xyo-network/diviner-temporal-indexing-model": "~2.85.1",
28
+ "@xyo-network/diviner-wrapper": "~2.85.1",
29
+ "@xyo-network/hash": "~2.85.1",
30
+ "@xyo-network/module-model": "~2.85.1",
31
+ "@xyo-network/payload-builder": "~2.85.1",
32
+ "@xyo-network/payload-model": "~2.85.1",
33
+ "@xyo-network/payload-utils": "^2.85.1",
34
+ "@xyo-network/witness-timestamp": "~2.85.1"
34
35
  },
35
36
  "devDependencies": {
36
37
  "@xylabs/delay": "^2.13.20",
37
38
  "@xylabs/ts-scripts-yarn3": "^3.2.25",
38
39
  "@xylabs/tsconfig": "^3.2.25",
39
- "@xyo-network/account": "~2.84.19",
40
- "@xyo-network/boundwitness-builder": "~2.84.19",
41
- "@xyo-network/diviner-boundwitness-memory": "~2.84.19",
42
- "@xyo-network/diviner-payload-memory": "~2.84.19",
43
- "@xyo-network/manifest": "~2.84.19",
44
- "@xyo-network/memory-archivist": "~2.84.19",
45
- "@xyo-network/node-memory": "~2.84.19",
40
+ "@xyo-network/account": "~2.85.1",
41
+ "@xyo-network/boundwitness-builder": "~2.85.1",
42
+ "@xyo-network/diviner-boundwitness-memory": "~2.85.1",
43
+ "@xyo-network/diviner-payload-memory": "~2.85.1",
44
+ "@xyo-network/manifest": "~2.85.1",
45
+ "@xyo-network/memory-archivist": "~2.85.1",
46
+ "@xyo-network/node-memory": "~2.85.1",
46
47
  "typescript": "^5.3.3"
47
48
  },
48
49
  "description": "Primary SDK for using XYO Protocol 2.0",
@@ -84,6 +85,6 @@
84
85
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
85
86
  },
86
87
  "sideEffects": false,
87
- "version": "2.84.19",
88
+ "version": "2.85.1",
88
89
  "type": "module"
89
90
  }
@@ -16,6 +16,7 @@ import { PayloadHasher } from '@xyo-network/hash'
16
16
  import { Labels } from '@xyo-network/module-model'
17
17
  import { PayloadBuilder } from '@xyo-network/payload-builder'
18
18
  import { Payload, PayloadFields } from '@xyo-network/payload-model'
19
+ import { intraBoundwitnessSchemaCombinations } from '@xyo-network/payload-utils'
19
20
 
20
21
  export type IndexablePayloads = [BoundWitness, ...Payload[]]
21
22
 
@@ -72,13 +73,14 @@ export class TemporalIndexingDivinerIndexCandidateToIndexDiviner<
72
73
  const validIndexableTuples: IndexablePayloads[] = bws.reduce<IndexablePayloads[]>((indexableTuples, bw) => {
73
74
  // If this Bound Witness doesn't contain all the required schemas don't index it
74
75
  if (!containsAll(bw.payload_schemas, this.indexableSchemas)) return indexableTuples
75
- // Find the remaining indexable payloads
76
- const indexablePayloadPositions = this.indexableSchemas.map((schema) => bw.payload_schemas.indexOf(schema))
77
- const indexablePayloadHashes = indexablePayloadPositions.map((index) => bw.payload_hashes?.[index])
78
- const indexablePayloads = indexablePayloadHashes.map((hash) => payloadDictionary[hash]).filter(exists)
79
- // If we found a timestamp and the right amount of indexable payloads (of the
80
- // correct schema as checked above) in this BW, then index it
81
- if (indexablePayloads.length === this.indexableSchemas.length) indexableTuples.push([bw, ...indexablePayloads])
76
+ // If it does contain all the required schemas, then find the combinations of payloads
77
+ // that satisfy the required schemas
78
+ intraBoundwitnessSchemaCombinations(bw, this.indexableSchemas).map((combination) => {
79
+ const indexablePayloads = combination.map((hash) => payloadDictionary[hash]).filter(exists)
80
+ // If we found a timestamp and the right amount of indexable payloads (of the
81
+ // correct schema as checked above) in this BW, then index it
82
+ if (indexablePayloads.length === this.indexableSchemas.length) indexableTuples.push([bw, ...indexablePayloads])
83
+ })
82
84
  return indexableTuples
83
85
  }, [])
84
86
  // Create the indexes from the tuples