@xyo-network/diviner-hash-lease 2.92.7 → 2.92.8

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
@@ -10,13 +10,13 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xylabs/assert": "^3.0.13",
14
- "@xyo-network/archivist-model": "~2.92.7",
15
- "@xyo-network/diviner-abstract": "~2.92.7",
16
- "@xyo-network/diviner-model": "~2.92.7",
17
- "@xyo-network/module-model": "~2.92.7",
18
- "@xyo-network/payload-builder": "~2.92.7",
19
- "@xyo-network/payload-model": "~2.92.7"
13
+ "@xylabs/assert": "^3.0.15",
14
+ "@xyo-network/archivist-model": "~2.92.8",
15
+ "@xyo-network/diviner-abstract": "~2.92.8",
16
+ "@xyo-network/diviner-model": "~2.92.8",
17
+ "@xyo-network/module-model": "~2.92.8",
18
+ "@xyo-network/payload-builder": "~2.92.8",
19
+ "@xyo-network/payload-model": "~2.92.8"
20
20
  },
21
21
  "devDependencies": {
22
22
  "@xylabs/ts-scripts-yarn3": "^3.5.2",
@@ -62,6 +62,6 @@
62
62
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
63
63
  },
64
64
  "sideEffects": false,
65
- "version": "2.92.7",
65
+ "version": "2.92.8",
66
66
  "type": "module"
67
67
  }
package/src/Diviner.ts CHANGED
@@ -53,6 +53,7 @@ export class HashLeaseEstimateDiviner<
53
53
  TParams extends HashLeaseEstimateDivinerParams = HashLeaseEstimateDivinerParams,
54
54
  TIn extends WithSources<HashLease> | Name = WithSources<HashLease> | Name,
55
55
  > extends AbstractDiviner<TParams, TIn, HashLeaseEstimate> {
56
+ static override configSchemas = [HashLeaseEstimateDivinerConfigSchema]
56
57
  static override targetSchema = HashLeaseEstimateSchema
57
58
 
58
59
  private _reservedFragments: string[] = ['xyo', 'xy', 'coin', 'lifehash', 'foreventry']
@@ -91,29 +92,29 @@ export class HashLeaseEstimateDiviner<
91
92
  const payloadMap = await PayloadBuilder.toDataHashMap(payloads)
92
93
  return leases.map((lease) => {
93
94
  const sources = lease.sources ?? []
94
- assertEx(sources.length === 1, 'Must pass single source')
95
- const leaseSource = assertEx(sources.at(0), 'Failed to load lease source')
96
- const sourcePayload = assertEx(payloadMap[leaseSource], 'Hash lease payload not provided')
95
+ assertEx(sources.length === 1, () => 'Must pass single source')
96
+ const leaseSource = assertEx(sources.at(0), () => 'Failed to load lease source')
97
+ const sourcePayload = assertEx(payloadMap[leaseSource], () => 'Hash lease payload not provided')
97
98
  assertEx(sourcePayload.schema === NameSchema, () => `Invalid source schema [${sourcePayload.schema}]`)
98
99
  const sourceName = sourcePayload as Name
99
100
 
100
101
  const duration = lease.expire - Date.now()
101
102
 
102
- assertEx(duration <= ONE_YEAR, 'Max expiration may be one year in the future')
103
- assertEx(duration >= ONE_YEAR / 2, 'Min expiration must be half year in the future')
103
+ assertEx(duration <= ONE_YEAR, () => 'Max expiration may be one year in the future')
104
+ assertEx(duration >= ONE_YEAR / 2, () => 'Min expiration must be half year in the future')
104
105
 
105
106
  //check if all lowercase
106
- assertEx(sourceName.name.toLowerCase() === sourceName.name, 'name must be lowercase')
107
+ assertEx(sourceName.name.toLowerCase() === sourceName.name, () => 'name must be lowercase')
107
108
 
108
109
  //check if min length
109
- assertEx(sourceName.name.length >= this.minNameLength, 'name must be at least 3 characters')
110
+ assertEx(sourceName.name.length >= this.minNameLength, () => 'name must be at least 3 characters')
110
111
 
111
112
  //check if in one of the reserved name lists
112
- assertEx(!this.reservedStrings.includes(sourceName.name), 'Reserved name')
113
+ assertEx(!this.reservedStrings.includes(sourceName.name), () => 'Reserved name')
113
114
 
114
115
  //check if any of our fragments are in the name
115
116
  for (const reserved of this._reservedFragments) {
116
- assertEx(!sourceName.name.includes(reserved), 'Reserved name fragment')
117
+ assertEx(!sourceName.name.includes(reserved), () => 'Reserved name fragment')
117
118
  }
118
119
  const price = this.calculateLengthCost(sourceName.name, duration)
119
120
  return { price, schema: HashLeaseEstimateSchema, sources: [lease.$hash] }