@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/dist/browser/Diviner.d.cts +1 -0
- package/dist/browser/Diviner.d.cts.map +1 -1
- package/dist/browser/Diviner.d.mts +1 -0
- package/dist/browser/Diviner.d.mts.map +1 -1
- package/dist/browser/Diviner.d.ts +1 -0
- package/dist/browser/Diviner.d.ts.map +1 -1
- package/dist/browser/index.cjs +12 -9
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +12 -9
- package/dist/browser/index.js.map +1 -1
- package/dist/node/Diviner.d.cts +1 -0
- package/dist/node/Diviner.d.cts.map +1 -1
- package/dist/node/Diviner.d.mts +1 -0
- package/dist/node/Diviner.d.mts.map +1 -1
- package/dist/node/Diviner.d.ts +1 -0
- package/dist/node/Diviner.d.ts.map +1 -1
- package/dist/node/index.cjs +12 -9
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.js +12 -9
- package/dist/node/index.js.map +1 -1
- package/package.json +8 -8
- package/src/Diviner.ts +10 -9
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.
|
|
14
|
-
"@xyo-network/archivist-model": "~2.92.
|
|
15
|
-
"@xyo-network/diviner-abstract": "~2.92.
|
|
16
|
-
"@xyo-network/diviner-model": "~2.92.
|
|
17
|
-
"@xyo-network/module-model": "~2.92.
|
|
18
|
-
"@xyo-network/payload-builder": "~2.92.
|
|
19
|
-
"@xyo-network/payload-model": "~2.92.
|
|
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.
|
|
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] }
|