@xyo-network/boundwitness-model 3.5.2 → 3.6.0-rc.10
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/BoundWitness/BoundWitness.d.ts +25 -11
- package/dist/browser/BoundWitness/BoundWitness.d.ts.map +1 -1
- package/dist/browser/QueryBoundWitness.d.ts +7 -10
- package/dist/browser/QueryBoundWitness.d.ts.map +1 -1
- package/dist/browser/index.mjs +17 -9
- package/dist/browser/index.mjs.map +1 -1
- package/dist/browser/isBoundWitness.d.ts +9 -10
- package/dist/browser/isBoundWitness.d.ts.map +1 -1
- package/dist/neutral/BoundWitness/BoundWitness.d.ts +25 -11
- package/dist/neutral/BoundWitness/BoundWitness.d.ts.map +1 -1
- package/dist/neutral/QueryBoundWitness.d.ts +7 -10
- package/dist/neutral/QueryBoundWitness.d.ts.map +1 -1
- package/dist/neutral/index.mjs +17 -9
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/isBoundWitness.d.ts +9 -10
- package/dist/neutral/isBoundWitness.d.ts.map +1 -1
- package/dist/node/BoundWitness/BoundWitness.d.ts +25 -11
- package/dist/node/BoundWitness/BoundWitness.d.ts.map +1 -1
- package/dist/node/QueryBoundWitness.d.ts +7 -10
- package/dist/node/QueryBoundWitness.d.ts.map +1 -1
- package/dist/node/index.mjs +17 -9
- package/dist/node/index.mjs.map +1 -1
- package/dist/node/isBoundWitness.d.ts +9 -10
- package/dist/node/isBoundWitness.d.ts.map +1 -1
- package/package.json +9 -8
- package/src/BoundWitness/BoundWitness.ts +35 -12
- package/src/QueryBoundWitness.ts +10 -13
- package/src/isBoundWitness.ts +11 -8
|
@@ -2,21 +2,35 @@ import type { Address, Hash, Hex } from '@xylabs/hex';
|
|
|
2
2
|
import type { EmptyObject } from '@xylabs/object';
|
|
3
3
|
import type { Payload, Schema } from '@xyo-network/payload-model';
|
|
4
4
|
import type { BoundWitnessSchema } from './BoundWitnessSchema.ts';
|
|
5
|
-
export
|
|
6
|
-
$meta: {
|
|
7
|
-
/** @field Array of signatures by the accounts that are listed in addresses */
|
|
8
|
-
signatures: Hex[];
|
|
9
|
-
};
|
|
5
|
+
export interface BoundWitnessRequiredFields {
|
|
10
6
|
/** @field Array of signatures by the accounts that are listed in addresses */
|
|
11
7
|
addresses: Address[];
|
|
12
|
-
blockNumber?: number;
|
|
13
|
-
error_hashes?: Hash[];
|
|
14
8
|
payload_hashes: Hash[];
|
|
15
9
|
payload_schemas: Schema[];
|
|
16
10
|
previous_hashes: (Hash | null)[];
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
11
|
+
}
|
|
12
|
+
export interface BoundWitnessMeta {
|
|
13
|
+
$sourceQuery?: Hash;
|
|
14
|
+
}
|
|
15
|
+
export interface BoundWitnessBlockField {
|
|
16
|
+
/** @field sequential number (if this boundwitness is part of a multi-party chain) zero padded to 32 characters */
|
|
17
|
+
block: Hex;
|
|
18
|
+
}
|
|
19
|
+
export interface BoundWitnessChainField {
|
|
20
|
+
/** @field unique id of a multi-party chain (usually staking contract address) */
|
|
21
|
+
chain: Hex;
|
|
22
|
+
}
|
|
23
|
+
export interface BoundWitnessOptionalFields extends Partial<BoundWitnessBlockField>, Partial<BoundWitnessChainField> {
|
|
24
|
+
root: Hash;
|
|
25
|
+
}
|
|
26
|
+
export interface BoundWitnessFields extends BoundWitnessRequiredFields, Partial<BoundWitnessOptionalFields> {
|
|
27
|
+
}
|
|
28
|
+
export type UnsignedBoundWitness<T extends Payload | EmptyObject | void = void> = Payload<T extends void ? BoundWitnessFields : BoundWitnessFields & T, T extends void ? BoundWitnessSchema : T extends Payload ? T['schema'] : BoundWitnessSchema> & BoundWitnessMeta;
|
|
29
|
+
export type Signed<T> = T & {
|
|
30
|
+
$signatures: Hex[];
|
|
20
31
|
};
|
|
21
|
-
export type
|
|
32
|
+
export type WithBlock = BoundWitness & BoundWitnessBlockField;
|
|
33
|
+
export declare const hasBlock: (bw: BoundWitness) => bw is WithBlock;
|
|
34
|
+
export declare const asBlock: (bw: BoundWitness) => WithBlock;
|
|
35
|
+
export type BoundWitness<T extends Payload | EmptyObject | void = void> = Signed<UnsignedBoundWitness<T>>;
|
|
22
36
|
//# sourceMappingURL=BoundWitness.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoundWitness.d.ts","sourceRoot":"","sources":["../../../src/BoundWitness/BoundWitness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EAAE,IAAI,EAAE,GAAG,EACnB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAEjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAEjE,MAAM,
|
|
1
|
+
{"version":3,"file":"BoundWitness.d.ts","sourceRoot":"","sources":["../../../src/BoundWitness/BoundWitness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EAAE,IAAI,EAAE,GAAG,EACnB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAEjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAEjE,MAAM,WAAW,0BAA0B;IACzC,8EAA8E;IAC9E,SAAS,EAAE,OAAO,EAAE,CAAA;IACpB,cAAc,EAAE,IAAI,EAAE,CAAA;IACtB,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,eAAe,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAA;CACjC;AAED,MAAM,WAAW,gBAAgB;IAE/B,YAAY,CAAC,EAAE,IAAI,CAAA;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,kHAAkH;IAClH,KAAK,EAAE,GAAG,CAAA;CACX;AAED,MAAM,WAAW,sBAAsB;IACrC,iFAAiF;IACjF,KAAK,EAAE,GAAG,CAAA;CACX;AAED,MAAM,WAAW,0BAA2B,SAAQ,OAAO,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC;IAClH,IAAI,EAAE,IAAI,CAAA;CACX;AAED,MAAM,WAAW,kBAAmB,SAAQ,0BAA0B,EAAE,OAAO,CAAC,0BAA0B,CAAC;CAAG;AAE9G,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,OAAO,GAAG,WAAW,GAAG,IAAI,GAAG,IAAI,IAAI,OAAO,CACvF,CAAC,SAAS,IAAI,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,CAAC,EAC5D,CAAC,SAAS,IAAI,GAAG,kBAAkB,GAC/B,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,GAC7B,kBAAkB,CACzB,GAAG,gBAAgB,CAAA;AAEpB,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG;IAC1B,WAAW,EAAE,GAAG,EAAE,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,sBAAsB,CAAA;AAE7D,eAAO,MAAM,QAAQ,OAAQ,YAAY,KAAG,EAAE,IAAI,SAAmE,CAAA;AACrH,eAAO,MAAM,OAAO,OAAQ,YAAY,KAAG,SAA4B,CAAA;AAEvE,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,OAAO,GAAG,WAAW,GAAG,IAAI,GAAG,IAAI,IAAI,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAA"}
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
import type { Hash } from '@xylabs/hex';
|
|
2
|
-
import type
|
|
2
|
+
import { type WithStorageMeta } from '@xyo-network/payload-model';
|
|
3
3
|
import type { BoundWitness } from './BoundWitness/index.ts';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export declare const QueryBoundWitnessSchema: QueryBoundWitnessSchema;
|
|
7
|
-
export type QueryBoundWitness = BoundWitness<{
|
|
8
|
-
additional?: Hash[];
|
|
4
|
+
export type QueryBoundWitnessFields = {
|
|
5
|
+
error_hashes?: Hash[];
|
|
9
6
|
query: Hash;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
};
|
|
8
|
+
export type UnsignedQueryBoundWitness = BoundWitness<QueryBoundWitnessFields>;
|
|
9
|
+
export type QueryBoundWitness = UnsignedQueryBoundWitness;
|
|
13
10
|
export declare const isQueryBoundWitness: (x?: unknown) => x is QueryBoundWitness;
|
|
14
|
-
export declare const
|
|
11
|
+
export declare const isQueryBoundWitnessWithStorageMeta: (x?: unknown) => x is WithStorageMeta<QueryBoundWitness>;
|
|
15
12
|
//# sourceMappingURL=QueryBoundWitness.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryBoundWitness.d.ts","sourceRoot":"","sources":["../../src/QueryBoundWitness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"QueryBoundWitness.d.ts","sourceRoot":"","sources":["../../src/QueryBoundWitness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAEhF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAG3D,MAAM,MAAM,uBAAuB,GAAG;IACpC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAA;IACrB,KAAK,EAAE,IAAI,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAAA;AAE7E,MAAM,MAAM,iBAAiB,GAAG,yBAAyB,CAAA;AAEzD,eAAO,MAAM,mBAAmB,OAAQ,OAAO,KAAG,CAAC,IAAI,iBAAuF,CAAA;AAC9I,eAAO,MAAM,kCAAkC,OAAQ,OAAO,KAAG,CAAC,IAAI,eAAe,CAAC,iBAAiB,CAA+C,CAAA"}
|
package/dist/browser/index.mjs
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
// src/BoundWitness/BoundWitness.ts
|
|
2
|
+
var hasBlock = (bw) => bw.block !== void 0 && typeof bw.block === "string";
|
|
3
|
+
var asBlock = (bw) => bw;
|
|
4
|
+
|
|
1
5
|
// src/BoundWitness/BoundWitnessJsonSchema.ts
|
|
2
6
|
var BoundWitnessJsonSchema = () => {
|
|
3
7
|
return {
|
|
@@ -19,31 +23,35 @@ var BoundWitnessJsonSchema = () => {
|
|
|
19
23
|
var BoundWitnessSchema = "network.xyo.boundwitness";
|
|
20
24
|
|
|
21
25
|
// src/isBoundWitness.ts
|
|
26
|
+
import { AsObjectFactory } from "@xylabs/object";
|
|
22
27
|
import {
|
|
23
28
|
isPayloadOfSchemaType,
|
|
24
|
-
|
|
29
|
+
isStorageMeta,
|
|
25
30
|
notPayloadOfSchemaType
|
|
26
31
|
} from "@xyo-network/payload-model";
|
|
27
32
|
var isBoundWitness = (value) => isPayloadOfSchemaType(BoundWitnessSchema)(value);
|
|
28
|
-
var
|
|
33
|
+
var isBoundWitnessWithStorageMeta = (value) => isPayloadOfSchemaType(BoundWitnessSchema)(value) && isStorageMeta(value);
|
|
34
|
+
var asBoundWitnessWithStorageMeta = AsObjectFactory.create(isBoundWitnessWithStorageMeta);
|
|
35
|
+
var isUnsignedBoundWitness = (value) => isPayloadOfSchemaType(BoundWitnessSchema)(value);
|
|
29
36
|
var notBoundWitness = notPayloadOfSchemaType(BoundWitnessSchema);
|
|
30
37
|
var asBoundWitness = (payload) => isBoundWitness(payload) ? payload : void 0;
|
|
31
|
-
var isBoundWitnessPayload = isBoundWitness;
|
|
32
38
|
|
|
33
39
|
// src/QueryBoundWitness.ts
|
|
34
|
-
|
|
40
|
+
import { isStorageMeta as isStorageMeta2 } from "@xyo-network/payload-model";
|
|
35
41
|
var isQueryBoundWitness = (x) => isBoundWitness(x) && x?.query !== void 0;
|
|
36
|
-
var
|
|
42
|
+
var isQueryBoundWitnessWithStorageMeta = (x) => isQueryBoundWitness(x) && isStorageMeta2(x);
|
|
37
43
|
export {
|
|
38
44
|
BoundWitnessJsonSchema,
|
|
39
45
|
BoundWitnessSchema,
|
|
40
|
-
|
|
46
|
+
asBlock,
|
|
41
47
|
asBoundWitness,
|
|
48
|
+
asBoundWitnessWithStorageMeta,
|
|
49
|
+
hasBlock,
|
|
42
50
|
isBoundWitness,
|
|
43
|
-
|
|
44
|
-
isBoundWitnessWithMeta,
|
|
51
|
+
isBoundWitnessWithStorageMeta,
|
|
45
52
|
isQueryBoundWitness,
|
|
46
|
-
|
|
53
|
+
isQueryBoundWitnessWithStorageMeta,
|
|
54
|
+
isUnsignedBoundWitness,
|
|
47
55
|
notBoundWitness
|
|
48
56
|
};
|
|
49
57
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/BoundWitness/BoundWitnessJsonSchema.ts","../../src/BoundWitness/BoundWitnessSchema.ts","../../src/isBoundWitness.ts","../../src/QueryBoundWitness.ts"],"sourcesContent":["// Should type as JSONSchemaType<BoundWitness> once ajv/eslint issue is fixed\n// https://github.com/microsoft/TypeScript/issues/44851\n\nexport const BoundWitnessJsonSchema = () => {\n return {\n $id: 'https://schemas.xyo.network/2.0/boundwitness',\n additionalProperties: false,\n properties: {\n addresses: { items: { type: 'string' }, type: 'array' },\n payload_hashes: { items: { type: 'string' }, type: 'array' },\n payload_schemas: { items: { type: 'string' }, type: 'array' },\n previous_hashes: { items: { nullable: true, type: 'string' }, type: 'array' },\n schema: { type: 'string' },\n },\n required: ['addresses', 'payload_hashes', 'payload_schemas', 'previous_hashes', 'schema'],\n type: 'object',\n }\n}\n","export type BoundWitnessSchema = 'network.xyo.boundwitness'\nexport const BoundWitnessSchema: BoundWitnessSchema = 'network.xyo.boundwitness'\n","import type {
|
|
1
|
+
{"version":3,"sources":["../../src/BoundWitness/BoundWitness.ts","../../src/BoundWitness/BoundWitnessJsonSchema.ts","../../src/BoundWitness/BoundWitnessSchema.ts","../../src/isBoundWitness.ts","../../src/QueryBoundWitness.ts"],"sourcesContent":["import type {\n Address, Hash, Hex,\n} from '@xylabs/hex'\nimport type { EmptyObject } from '@xylabs/object'\nimport type { Payload, Schema } from '@xyo-network/payload-model'\n\nimport type { BoundWitnessSchema } from './BoundWitnessSchema.ts'\n\nexport interface BoundWitnessRequiredFields {\n /** @field Array of signatures by the accounts that are listed in addresses */\n addresses: Address[]\n payload_hashes: Hash[]\n payload_schemas: Schema[]\n previous_hashes: (Hash | null)[]\n}\n\nexport interface BoundWitnessMeta {\n // the query that initiated the bound witness\n $sourceQuery?: Hash\n}\n\nexport interface BoundWitnessBlockField {\n /** @field sequential number (if this boundwitness is part of a multi-party chain) zero padded to 32 characters */\n block: Hex\n}\n\nexport interface BoundWitnessChainField {\n /** @field unique id of a multi-party chain (usually staking contract address) */\n chain: Hex\n}\n\nexport interface BoundWitnessOptionalFields extends Partial<BoundWitnessBlockField>, Partial<BoundWitnessChainField> {\n root: Hash\n}\n\nexport interface BoundWitnessFields extends BoundWitnessRequiredFields, Partial<BoundWitnessOptionalFields> {}\n\nexport type UnsignedBoundWitness<T extends Payload | EmptyObject | void = void> = Payload<\n T extends void ? BoundWitnessFields : BoundWitnessFields & T,\n T extends void ? BoundWitnessSchema\n : T extends Payload ? T['schema']\n : BoundWitnessSchema\n> & BoundWitnessMeta\n\nexport type Signed<T> = T & {\n $signatures: Hex[]\n}\n\nexport type WithBlock = BoundWitness & BoundWitnessBlockField\n\nexport const hasBlock = (bw: BoundWitness): bw is WithBlock => bw.block !== undefined && typeof bw.block === 'string'\nexport const asBlock = (bw: BoundWitness): WithBlock => bw as WithBlock\n\nexport type BoundWitness<T extends Payload | EmptyObject | void = void> = Signed<UnsignedBoundWitness<T>>\n","// Should type as JSONSchemaType<BoundWitness> once ajv/eslint issue is fixed\n// https://github.com/microsoft/TypeScript/issues/44851\n\nexport const BoundWitnessJsonSchema = () => {\n return {\n $id: 'https://schemas.xyo.network/2.0/boundwitness',\n additionalProperties: false,\n properties: {\n addresses: { items: { type: 'string' }, type: 'array' },\n payload_hashes: { items: { type: 'string' }, type: 'array' },\n payload_schemas: { items: { type: 'string' }, type: 'array' },\n previous_hashes: { items: { nullable: true, type: 'string' }, type: 'array' },\n schema: { type: 'string' },\n },\n required: ['addresses', 'payload_hashes', 'payload_schemas', 'previous_hashes', 'schema'],\n type: 'object',\n }\n}\n","export type BoundWitnessSchema = 'network.xyo.boundwitness'\nexport const BoundWitnessSchema: BoundWitnessSchema = 'network.xyo.boundwitness'\n","import { AsObjectFactory } from '@xylabs/object'\nimport type { WithStorageMeta } from '@xyo-network/payload-model'\nimport {\n isPayloadOfSchemaType, isStorageMeta, notPayloadOfSchemaType,\n} from '@xyo-network/payload-model'\n\nimport type { BoundWitness, UnsignedBoundWitness } from './BoundWitness/index.ts'\nimport { BoundWitnessSchema } from './BoundWitness/index.ts'\n\nexport const isBoundWitness = (value: unknown): value is BoundWitness => isPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)(value)\nexport const isBoundWitnessWithStorageMeta = (value: unknown): value is WithStorageMeta<BoundWitness> =>\n isPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)(value) && isStorageMeta(value)\nexport const asBoundWitnessWithStorageMeta = AsObjectFactory.create<WithStorageMeta<BoundWitness>>(isBoundWitnessWithStorageMeta)\n\nexport const isUnsignedBoundWitness = (value: unknown): value is UnsignedBoundWitness =>\n isPayloadOfSchemaType<UnsignedBoundWitness>(BoundWitnessSchema)(value)\nexport const notBoundWitness = notPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)\n\n// TODO: Use AsObjectFactory here to match standard patter\nexport const asBoundWitness = <T extends BoundWitness<{ schema: string }> = BoundWitness>(payload?: unknown) =>\n isBoundWitness(payload) ? (payload as T) : undefined\n","import type { Hash } from '@xylabs/hex'\nimport { isStorageMeta, type WithStorageMeta } from '@xyo-network/payload-model'\n\nimport type { BoundWitness } from './BoundWitness/index.ts'\nimport { isBoundWitness } from './isBoundWitness.ts'\n\nexport type QueryBoundWitnessFields = {\n error_hashes?: Hash[]\n query: Hash\n}\n\nexport type UnsignedQueryBoundWitness = BoundWitness<QueryBoundWitnessFields>\n\nexport type QueryBoundWitness = UnsignedQueryBoundWitness\n\nexport const isQueryBoundWitness = (x?: unknown): x is QueryBoundWitness => isBoundWitness(x) && (x as QueryBoundWitness)?.query !== undefined\nexport const isQueryBoundWitnessWithStorageMeta = (x?: unknown): x is WithStorageMeta<QueryBoundWitness> => isQueryBoundWitness(x) && isStorageMeta(x)\n"],"mappings":";AAkDO,IAAM,WAAW,CAAC,OAAsC,GAAG,UAAU,UAAa,OAAO,GAAG,UAAU;AACtG,IAAM,UAAU,CAAC,OAAgC;;;AChDjD,IAAM,yBAAyB,MAAM;AAC1C,SAAO;AAAA,IACL,KAAK;AAAA,IACL,sBAAsB;AAAA,IACtB,YAAY;AAAA,MACV,WAAW,EAAE,OAAO,EAAE,MAAM,SAAS,GAAG,MAAM,QAAQ;AAAA,MACtD,gBAAgB,EAAE,OAAO,EAAE,MAAM,SAAS,GAAG,MAAM,QAAQ;AAAA,MAC3D,iBAAiB,EAAE,OAAO,EAAE,MAAM,SAAS,GAAG,MAAM,QAAQ;AAAA,MAC5D,iBAAiB,EAAE,OAAO,EAAE,UAAU,MAAM,MAAM,SAAS,GAAG,MAAM,QAAQ;AAAA,MAC5E,QAAQ,EAAE,MAAM,SAAS;AAAA,IAC3B;AAAA,IACA,UAAU,CAAC,aAAa,kBAAkB,mBAAmB,mBAAmB,QAAQ;AAAA,IACxF,MAAM;AAAA,EACR;AACF;;;AChBO,IAAM,qBAAyC;;;ACDtD,SAAS,uBAAuB;AAEhC;AAAA,EACE;AAAA,EAAuB;AAAA,EAAe;AAAA,OACjC;AAKA,IAAM,iBAAiB,CAAC,UAA0C,sBAAoC,kBAAkB,EAAE,KAAK;AAC/H,IAAM,gCAAgC,CAAC,UAC5C,sBAAoC,kBAAkB,EAAE,KAAK,KAAK,cAAc,KAAK;AAChF,IAAM,gCAAgC,gBAAgB,OAAsC,6BAA6B;AAEzH,IAAM,yBAAyB,CAAC,UACrC,sBAA4C,kBAAkB,EAAE,KAAK;AAChE,IAAM,kBAAkB,uBAAqC,kBAAkB;AAG/E,IAAM,iBAAiB,CAA4D,YACxF,eAAe,OAAO,IAAK,UAAgB;;;ACnB7C,SAAS,iBAAAA,sBAA2C;AAc7C,IAAM,sBAAsB,CAAC,MAAwC,eAAe,CAAC,KAAM,GAAyB,UAAU;AAC9H,IAAM,qCAAqC,CAAC,MAAyD,oBAAoB,CAAC,KAAKC,eAAc,CAAC;","names":["isStorageMeta","isStorageMeta"]}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { BoundWitness } from './BoundWitness/index.ts';
|
|
1
|
+
import type { WithStorageMeta } from '@xyo-network/payload-model';
|
|
2
|
+
import type { BoundWitness, UnsignedBoundWitness } from './BoundWitness/index.ts';
|
|
3
3
|
export declare const isBoundWitness: (value: unknown) => value is BoundWitness;
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const
|
|
6
|
-
|
|
4
|
+
export declare const isBoundWitnessWithStorageMeta: (value: unknown) => value is WithStorageMeta<BoundWitness>;
|
|
5
|
+
export declare const asBoundWitnessWithStorageMeta: {
|
|
6
|
+
<TType extends WithStorageMeta<BoundWitness>>(value: import(".store/@xylabs-promise-npm-4.4.21-54890ce283/package").AnyNonPromise, config?: import("@xylabs/object").TypeCheckConfig): TType | undefined;
|
|
7
|
+
<TType extends WithStorageMeta<BoundWitness>>(value: import(".store/@xylabs-promise-npm-4.4.21-54890ce283/package").AnyNonPromise, assert: import("@xylabs/object").StringOrAlertFunction<WithStorageMeta<BoundWitness>>, config?: import("@xylabs/object").TypeCheckConfig): TType;
|
|
7
8
|
};
|
|
9
|
+
export declare const isUnsignedBoundWitness: (value: unknown) => value is UnsignedBoundWitness;
|
|
10
|
+
export declare const notBoundWitness: (x?: unknown | null) => x is BoundWitness;
|
|
8
11
|
export declare const asBoundWitness: <T extends BoundWitness<{
|
|
9
12
|
schema: string;
|
|
10
|
-
}> =
|
|
11
|
-
schema: "network.xyo.boundwitness";
|
|
12
|
-
}>(payload?: unknown) => T | undefined;
|
|
13
|
-
/** @deprecated use isBoundWitness instead */
|
|
14
|
-
export declare const isBoundWitnessPayload: (value: unknown) => value is BoundWitness;
|
|
13
|
+
}> = BoundWitness>(payload?: unknown) => T | undefined;
|
|
15
14
|
//# sourceMappingURL=isBoundWitness.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isBoundWitness.d.ts","sourceRoot":"","sources":["../../src/isBoundWitness.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"isBoundWitness.d.ts","sourceRoot":"","sources":["../../src/isBoundWitness.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAKjE,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAGjF,eAAO,MAAM,cAAc,UAAW,OAAO,KAAG,KAAK,IAAI,YAA8E,CAAA;AACvI,eAAO,MAAM,6BAA6B,UAAW,OAAO,KAAG,KAAK,IAAI,eAAe,CAAC,YAAY,CACZ,CAAA;AACxF,eAAO,MAAM,6BAA6B;gEANjB,sDAAiB,iCAAiC,gBAC9D;gEAEiB,sDAAiB,wHACxC,gBAAoB;CAEsG,CAAA;AAEjI,eAAO,MAAM,sBAAsB,UAAW,OAAO,KAAG,KAAK,IAAI,oBACO,CAAA;AACxE,eAAO,MAAM,eAAe,2CAA2D,CAAA;AAGvF,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,YAAY,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,2BAA2B,OAAO,kBACrD,CAAA"}
|
|
@@ -2,21 +2,35 @@ import type { Address, Hash, Hex } from '@xylabs/hex';
|
|
|
2
2
|
import type { EmptyObject } from '@xylabs/object';
|
|
3
3
|
import type { Payload, Schema } from '@xyo-network/payload-model';
|
|
4
4
|
import type { BoundWitnessSchema } from './BoundWitnessSchema.ts';
|
|
5
|
-
export
|
|
6
|
-
$meta: {
|
|
7
|
-
/** @field Array of signatures by the accounts that are listed in addresses */
|
|
8
|
-
signatures: Hex[];
|
|
9
|
-
};
|
|
5
|
+
export interface BoundWitnessRequiredFields {
|
|
10
6
|
/** @field Array of signatures by the accounts that are listed in addresses */
|
|
11
7
|
addresses: Address[];
|
|
12
|
-
blockNumber?: number;
|
|
13
|
-
error_hashes?: Hash[];
|
|
14
8
|
payload_hashes: Hash[];
|
|
15
9
|
payload_schemas: Schema[];
|
|
16
10
|
previous_hashes: (Hash | null)[];
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
11
|
+
}
|
|
12
|
+
export interface BoundWitnessMeta {
|
|
13
|
+
$sourceQuery?: Hash;
|
|
14
|
+
}
|
|
15
|
+
export interface BoundWitnessBlockField {
|
|
16
|
+
/** @field sequential number (if this boundwitness is part of a multi-party chain) zero padded to 32 characters */
|
|
17
|
+
block: Hex;
|
|
18
|
+
}
|
|
19
|
+
export interface BoundWitnessChainField {
|
|
20
|
+
/** @field unique id of a multi-party chain (usually staking contract address) */
|
|
21
|
+
chain: Hex;
|
|
22
|
+
}
|
|
23
|
+
export interface BoundWitnessOptionalFields extends Partial<BoundWitnessBlockField>, Partial<BoundWitnessChainField> {
|
|
24
|
+
root: Hash;
|
|
25
|
+
}
|
|
26
|
+
export interface BoundWitnessFields extends BoundWitnessRequiredFields, Partial<BoundWitnessOptionalFields> {
|
|
27
|
+
}
|
|
28
|
+
export type UnsignedBoundWitness<T extends Payload | EmptyObject | void = void> = Payload<T extends void ? BoundWitnessFields : BoundWitnessFields & T, T extends void ? BoundWitnessSchema : T extends Payload ? T['schema'] : BoundWitnessSchema> & BoundWitnessMeta;
|
|
29
|
+
export type Signed<T> = T & {
|
|
30
|
+
$signatures: Hex[];
|
|
20
31
|
};
|
|
21
|
-
export type
|
|
32
|
+
export type WithBlock = BoundWitness & BoundWitnessBlockField;
|
|
33
|
+
export declare const hasBlock: (bw: BoundWitness) => bw is WithBlock;
|
|
34
|
+
export declare const asBlock: (bw: BoundWitness) => WithBlock;
|
|
35
|
+
export type BoundWitness<T extends Payload | EmptyObject | void = void> = Signed<UnsignedBoundWitness<T>>;
|
|
22
36
|
//# sourceMappingURL=BoundWitness.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoundWitness.d.ts","sourceRoot":"","sources":["../../../src/BoundWitness/BoundWitness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EAAE,IAAI,EAAE,GAAG,EACnB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAEjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAEjE,MAAM,
|
|
1
|
+
{"version":3,"file":"BoundWitness.d.ts","sourceRoot":"","sources":["../../../src/BoundWitness/BoundWitness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EAAE,IAAI,EAAE,GAAG,EACnB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAEjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAEjE,MAAM,WAAW,0BAA0B;IACzC,8EAA8E;IAC9E,SAAS,EAAE,OAAO,EAAE,CAAA;IACpB,cAAc,EAAE,IAAI,EAAE,CAAA;IACtB,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,eAAe,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAA;CACjC;AAED,MAAM,WAAW,gBAAgB;IAE/B,YAAY,CAAC,EAAE,IAAI,CAAA;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,kHAAkH;IAClH,KAAK,EAAE,GAAG,CAAA;CACX;AAED,MAAM,WAAW,sBAAsB;IACrC,iFAAiF;IACjF,KAAK,EAAE,GAAG,CAAA;CACX;AAED,MAAM,WAAW,0BAA2B,SAAQ,OAAO,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC;IAClH,IAAI,EAAE,IAAI,CAAA;CACX;AAED,MAAM,WAAW,kBAAmB,SAAQ,0BAA0B,EAAE,OAAO,CAAC,0BAA0B,CAAC;CAAG;AAE9G,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,OAAO,GAAG,WAAW,GAAG,IAAI,GAAG,IAAI,IAAI,OAAO,CACvF,CAAC,SAAS,IAAI,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,CAAC,EAC5D,CAAC,SAAS,IAAI,GAAG,kBAAkB,GAC/B,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,GAC7B,kBAAkB,CACzB,GAAG,gBAAgB,CAAA;AAEpB,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG;IAC1B,WAAW,EAAE,GAAG,EAAE,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,sBAAsB,CAAA;AAE7D,eAAO,MAAM,QAAQ,OAAQ,YAAY,KAAG,EAAE,IAAI,SAAmE,CAAA;AACrH,eAAO,MAAM,OAAO,OAAQ,YAAY,KAAG,SAA4B,CAAA;AAEvE,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,OAAO,GAAG,WAAW,GAAG,IAAI,GAAG,IAAI,IAAI,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAA"}
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
import type { Hash } from '@xylabs/hex';
|
|
2
|
-
import type
|
|
2
|
+
import { type WithStorageMeta } from '@xyo-network/payload-model';
|
|
3
3
|
import type { BoundWitness } from './BoundWitness/index.ts';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export declare const QueryBoundWitnessSchema: QueryBoundWitnessSchema;
|
|
7
|
-
export type QueryBoundWitness = BoundWitness<{
|
|
8
|
-
additional?: Hash[];
|
|
4
|
+
export type QueryBoundWitnessFields = {
|
|
5
|
+
error_hashes?: Hash[];
|
|
9
6
|
query: Hash;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
};
|
|
8
|
+
export type UnsignedQueryBoundWitness = BoundWitness<QueryBoundWitnessFields>;
|
|
9
|
+
export type QueryBoundWitness = UnsignedQueryBoundWitness;
|
|
13
10
|
export declare const isQueryBoundWitness: (x?: unknown) => x is QueryBoundWitness;
|
|
14
|
-
export declare const
|
|
11
|
+
export declare const isQueryBoundWitnessWithStorageMeta: (x?: unknown) => x is WithStorageMeta<QueryBoundWitness>;
|
|
15
12
|
//# sourceMappingURL=QueryBoundWitness.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryBoundWitness.d.ts","sourceRoot":"","sources":["../../src/QueryBoundWitness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"QueryBoundWitness.d.ts","sourceRoot":"","sources":["../../src/QueryBoundWitness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAEhF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAG3D,MAAM,MAAM,uBAAuB,GAAG;IACpC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAA;IACrB,KAAK,EAAE,IAAI,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAAA;AAE7E,MAAM,MAAM,iBAAiB,GAAG,yBAAyB,CAAA;AAEzD,eAAO,MAAM,mBAAmB,OAAQ,OAAO,KAAG,CAAC,IAAI,iBAAuF,CAAA;AAC9I,eAAO,MAAM,kCAAkC,OAAQ,OAAO,KAAG,CAAC,IAAI,eAAe,CAAC,iBAAiB,CAA+C,CAAA"}
|
package/dist/neutral/index.mjs
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
// src/BoundWitness/BoundWitness.ts
|
|
2
|
+
var hasBlock = (bw) => bw.block !== void 0 && typeof bw.block === "string";
|
|
3
|
+
var asBlock = (bw) => bw;
|
|
4
|
+
|
|
1
5
|
// src/BoundWitness/BoundWitnessJsonSchema.ts
|
|
2
6
|
var BoundWitnessJsonSchema = () => {
|
|
3
7
|
return {
|
|
@@ -19,31 +23,35 @@ var BoundWitnessJsonSchema = () => {
|
|
|
19
23
|
var BoundWitnessSchema = "network.xyo.boundwitness";
|
|
20
24
|
|
|
21
25
|
// src/isBoundWitness.ts
|
|
26
|
+
import { AsObjectFactory } from "@xylabs/object";
|
|
22
27
|
import {
|
|
23
28
|
isPayloadOfSchemaType,
|
|
24
|
-
|
|
29
|
+
isStorageMeta,
|
|
25
30
|
notPayloadOfSchemaType
|
|
26
31
|
} from "@xyo-network/payload-model";
|
|
27
32
|
var isBoundWitness = (value) => isPayloadOfSchemaType(BoundWitnessSchema)(value);
|
|
28
|
-
var
|
|
33
|
+
var isBoundWitnessWithStorageMeta = (value) => isPayloadOfSchemaType(BoundWitnessSchema)(value) && isStorageMeta(value);
|
|
34
|
+
var asBoundWitnessWithStorageMeta = AsObjectFactory.create(isBoundWitnessWithStorageMeta);
|
|
35
|
+
var isUnsignedBoundWitness = (value) => isPayloadOfSchemaType(BoundWitnessSchema)(value);
|
|
29
36
|
var notBoundWitness = notPayloadOfSchemaType(BoundWitnessSchema);
|
|
30
37
|
var asBoundWitness = (payload) => isBoundWitness(payload) ? payload : void 0;
|
|
31
|
-
var isBoundWitnessPayload = isBoundWitness;
|
|
32
38
|
|
|
33
39
|
// src/QueryBoundWitness.ts
|
|
34
|
-
|
|
40
|
+
import { isStorageMeta as isStorageMeta2 } from "@xyo-network/payload-model";
|
|
35
41
|
var isQueryBoundWitness = (x) => isBoundWitness(x) && x?.query !== void 0;
|
|
36
|
-
var
|
|
42
|
+
var isQueryBoundWitnessWithStorageMeta = (x) => isQueryBoundWitness(x) && isStorageMeta2(x);
|
|
37
43
|
export {
|
|
38
44
|
BoundWitnessJsonSchema,
|
|
39
45
|
BoundWitnessSchema,
|
|
40
|
-
|
|
46
|
+
asBlock,
|
|
41
47
|
asBoundWitness,
|
|
48
|
+
asBoundWitnessWithStorageMeta,
|
|
49
|
+
hasBlock,
|
|
42
50
|
isBoundWitness,
|
|
43
|
-
|
|
44
|
-
isBoundWitnessWithMeta,
|
|
51
|
+
isBoundWitnessWithStorageMeta,
|
|
45
52
|
isQueryBoundWitness,
|
|
46
|
-
|
|
53
|
+
isQueryBoundWitnessWithStorageMeta,
|
|
54
|
+
isUnsignedBoundWitness,
|
|
47
55
|
notBoundWitness
|
|
48
56
|
};
|
|
49
57
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/BoundWitness/BoundWitnessJsonSchema.ts","../../src/BoundWitness/BoundWitnessSchema.ts","../../src/isBoundWitness.ts","../../src/QueryBoundWitness.ts"],"sourcesContent":["// Should type as JSONSchemaType<BoundWitness> once ajv/eslint issue is fixed\n// https://github.com/microsoft/TypeScript/issues/44851\n\nexport const BoundWitnessJsonSchema = () => {\n return {\n $id: 'https://schemas.xyo.network/2.0/boundwitness',\n additionalProperties: false,\n properties: {\n addresses: { items: { type: 'string' }, type: 'array' },\n payload_hashes: { items: { type: 'string' }, type: 'array' },\n payload_schemas: { items: { type: 'string' }, type: 'array' },\n previous_hashes: { items: { nullable: true, type: 'string' }, type: 'array' },\n schema: { type: 'string' },\n },\n required: ['addresses', 'payload_hashes', 'payload_schemas', 'previous_hashes', 'schema'],\n type: 'object',\n }\n}\n","export type BoundWitnessSchema = 'network.xyo.boundwitness'\nexport const BoundWitnessSchema: BoundWitnessSchema = 'network.xyo.boundwitness'\n","import type {
|
|
1
|
+
{"version":3,"sources":["../../src/BoundWitness/BoundWitness.ts","../../src/BoundWitness/BoundWitnessJsonSchema.ts","../../src/BoundWitness/BoundWitnessSchema.ts","../../src/isBoundWitness.ts","../../src/QueryBoundWitness.ts"],"sourcesContent":["import type {\n Address, Hash, Hex,\n} from '@xylabs/hex'\nimport type { EmptyObject } from '@xylabs/object'\nimport type { Payload, Schema } from '@xyo-network/payload-model'\n\nimport type { BoundWitnessSchema } from './BoundWitnessSchema.ts'\n\nexport interface BoundWitnessRequiredFields {\n /** @field Array of signatures by the accounts that are listed in addresses */\n addresses: Address[]\n payload_hashes: Hash[]\n payload_schemas: Schema[]\n previous_hashes: (Hash | null)[]\n}\n\nexport interface BoundWitnessMeta {\n // the query that initiated the bound witness\n $sourceQuery?: Hash\n}\n\nexport interface BoundWitnessBlockField {\n /** @field sequential number (if this boundwitness is part of a multi-party chain) zero padded to 32 characters */\n block: Hex\n}\n\nexport interface BoundWitnessChainField {\n /** @field unique id of a multi-party chain (usually staking contract address) */\n chain: Hex\n}\n\nexport interface BoundWitnessOptionalFields extends Partial<BoundWitnessBlockField>, Partial<BoundWitnessChainField> {\n root: Hash\n}\n\nexport interface BoundWitnessFields extends BoundWitnessRequiredFields, Partial<BoundWitnessOptionalFields> {}\n\nexport type UnsignedBoundWitness<T extends Payload | EmptyObject | void = void> = Payload<\n T extends void ? BoundWitnessFields : BoundWitnessFields & T,\n T extends void ? BoundWitnessSchema\n : T extends Payload ? T['schema']\n : BoundWitnessSchema\n> & BoundWitnessMeta\n\nexport type Signed<T> = T & {\n $signatures: Hex[]\n}\n\nexport type WithBlock = BoundWitness & BoundWitnessBlockField\n\nexport const hasBlock = (bw: BoundWitness): bw is WithBlock => bw.block !== undefined && typeof bw.block === 'string'\nexport const asBlock = (bw: BoundWitness): WithBlock => bw as WithBlock\n\nexport type BoundWitness<T extends Payload | EmptyObject | void = void> = Signed<UnsignedBoundWitness<T>>\n","// Should type as JSONSchemaType<BoundWitness> once ajv/eslint issue is fixed\n// https://github.com/microsoft/TypeScript/issues/44851\n\nexport const BoundWitnessJsonSchema = () => {\n return {\n $id: 'https://schemas.xyo.network/2.0/boundwitness',\n additionalProperties: false,\n properties: {\n addresses: { items: { type: 'string' }, type: 'array' },\n payload_hashes: { items: { type: 'string' }, type: 'array' },\n payload_schemas: { items: { type: 'string' }, type: 'array' },\n previous_hashes: { items: { nullable: true, type: 'string' }, type: 'array' },\n schema: { type: 'string' },\n },\n required: ['addresses', 'payload_hashes', 'payload_schemas', 'previous_hashes', 'schema'],\n type: 'object',\n }\n}\n","export type BoundWitnessSchema = 'network.xyo.boundwitness'\nexport const BoundWitnessSchema: BoundWitnessSchema = 'network.xyo.boundwitness'\n","import { AsObjectFactory } from '@xylabs/object'\nimport type { WithStorageMeta } from '@xyo-network/payload-model'\nimport {\n isPayloadOfSchemaType, isStorageMeta, notPayloadOfSchemaType,\n} from '@xyo-network/payload-model'\n\nimport type { BoundWitness, UnsignedBoundWitness } from './BoundWitness/index.ts'\nimport { BoundWitnessSchema } from './BoundWitness/index.ts'\n\nexport const isBoundWitness = (value: unknown): value is BoundWitness => isPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)(value)\nexport const isBoundWitnessWithStorageMeta = (value: unknown): value is WithStorageMeta<BoundWitness> =>\n isPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)(value) && isStorageMeta(value)\nexport const asBoundWitnessWithStorageMeta = AsObjectFactory.create<WithStorageMeta<BoundWitness>>(isBoundWitnessWithStorageMeta)\n\nexport const isUnsignedBoundWitness = (value: unknown): value is UnsignedBoundWitness =>\n isPayloadOfSchemaType<UnsignedBoundWitness>(BoundWitnessSchema)(value)\nexport const notBoundWitness = notPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)\n\n// TODO: Use AsObjectFactory here to match standard patter\nexport const asBoundWitness = <T extends BoundWitness<{ schema: string }> = BoundWitness>(payload?: unknown) =>\n isBoundWitness(payload) ? (payload as T) : undefined\n","import type { Hash } from '@xylabs/hex'\nimport { isStorageMeta, type WithStorageMeta } from '@xyo-network/payload-model'\n\nimport type { BoundWitness } from './BoundWitness/index.ts'\nimport { isBoundWitness } from './isBoundWitness.ts'\n\nexport type QueryBoundWitnessFields = {\n error_hashes?: Hash[]\n query: Hash\n}\n\nexport type UnsignedQueryBoundWitness = BoundWitness<QueryBoundWitnessFields>\n\nexport type QueryBoundWitness = UnsignedQueryBoundWitness\n\nexport const isQueryBoundWitness = (x?: unknown): x is QueryBoundWitness => isBoundWitness(x) && (x as QueryBoundWitness)?.query !== undefined\nexport const isQueryBoundWitnessWithStorageMeta = (x?: unknown): x is WithStorageMeta<QueryBoundWitness> => isQueryBoundWitness(x) && isStorageMeta(x)\n"],"mappings":";AAkDO,IAAM,WAAW,CAAC,OAAsC,GAAG,UAAU,UAAa,OAAO,GAAG,UAAU;AACtG,IAAM,UAAU,CAAC,OAAgC;;;AChDjD,IAAM,yBAAyB,MAAM;AAC1C,SAAO;AAAA,IACL,KAAK;AAAA,IACL,sBAAsB;AAAA,IACtB,YAAY;AAAA,MACV,WAAW,EAAE,OAAO,EAAE,MAAM,SAAS,GAAG,MAAM,QAAQ;AAAA,MACtD,gBAAgB,EAAE,OAAO,EAAE,MAAM,SAAS,GAAG,MAAM,QAAQ;AAAA,MAC3D,iBAAiB,EAAE,OAAO,EAAE,MAAM,SAAS,GAAG,MAAM,QAAQ;AAAA,MAC5D,iBAAiB,EAAE,OAAO,EAAE,UAAU,MAAM,MAAM,SAAS,GAAG,MAAM,QAAQ;AAAA,MAC5E,QAAQ,EAAE,MAAM,SAAS;AAAA,IAC3B;AAAA,IACA,UAAU,CAAC,aAAa,kBAAkB,mBAAmB,mBAAmB,QAAQ;AAAA,IACxF,MAAM;AAAA,EACR;AACF;;;AChBO,IAAM,qBAAyC;;;ACDtD,SAAS,uBAAuB;AAEhC;AAAA,EACE;AAAA,EAAuB;AAAA,EAAe;AAAA,OACjC;AAKA,IAAM,iBAAiB,CAAC,UAA0C,sBAAoC,kBAAkB,EAAE,KAAK;AAC/H,IAAM,gCAAgC,CAAC,UAC5C,sBAAoC,kBAAkB,EAAE,KAAK,KAAK,cAAc,KAAK;AAChF,IAAM,gCAAgC,gBAAgB,OAAsC,6BAA6B;AAEzH,IAAM,yBAAyB,CAAC,UACrC,sBAA4C,kBAAkB,EAAE,KAAK;AAChE,IAAM,kBAAkB,uBAAqC,kBAAkB;AAG/E,IAAM,iBAAiB,CAA4D,YACxF,eAAe,OAAO,IAAK,UAAgB;;;ACnB7C,SAAS,iBAAAA,sBAA2C;AAc7C,IAAM,sBAAsB,CAAC,MAAwC,eAAe,CAAC,KAAM,GAAyB,UAAU;AAC9H,IAAM,qCAAqC,CAAC,MAAyD,oBAAoB,CAAC,KAAKC,eAAc,CAAC;","names":["isStorageMeta","isStorageMeta"]}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { BoundWitness } from './BoundWitness/index.ts';
|
|
1
|
+
import type { WithStorageMeta } from '@xyo-network/payload-model';
|
|
2
|
+
import type { BoundWitness, UnsignedBoundWitness } from './BoundWitness/index.ts';
|
|
3
3
|
export declare const isBoundWitness: (value: unknown) => value is BoundWitness;
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const
|
|
6
|
-
|
|
4
|
+
export declare const isBoundWitnessWithStorageMeta: (value: unknown) => value is WithStorageMeta<BoundWitness>;
|
|
5
|
+
export declare const asBoundWitnessWithStorageMeta: {
|
|
6
|
+
<TType extends WithStorageMeta<BoundWitness>>(value: import(".store/@xylabs-promise-npm-4.4.21-54890ce283/package").AnyNonPromise, config?: import("@xylabs/object").TypeCheckConfig): TType | undefined;
|
|
7
|
+
<TType extends WithStorageMeta<BoundWitness>>(value: import(".store/@xylabs-promise-npm-4.4.21-54890ce283/package").AnyNonPromise, assert: import("@xylabs/object").StringOrAlertFunction<WithStorageMeta<BoundWitness>>, config?: import("@xylabs/object").TypeCheckConfig): TType;
|
|
7
8
|
};
|
|
9
|
+
export declare const isUnsignedBoundWitness: (value: unknown) => value is UnsignedBoundWitness;
|
|
10
|
+
export declare const notBoundWitness: (x?: unknown | null) => x is BoundWitness;
|
|
8
11
|
export declare const asBoundWitness: <T extends BoundWitness<{
|
|
9
12
|
schema: string;
|
|
10
|
-
}> =
|
|
11
|
-
schema: "network.xyo.boundwitness";
|
|
12
|
-
}>(payload?: unknown) => T | undefined;
|
|
13
|
-
/** @deprecated use isBoundWitness instead */
|
|
14
|
-
export declare const isBoundWitnessPayload: (value: unknown) => value is BoundWitness;
|
|
13
|
+
}> = BoundWitness>(payload?: unknown) => T | undefined;
|
|
15
14
|
//# sourceMappingURL=isBoundWitness.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isBoundWitness.d.ts","sourceRoot":"","sources":["../../src/isBoundWitness.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"isBoundWitness.d.ts","sourceRoot":"","sources":["../../src/isBoundWitness.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAKjE,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAGjF,eAAO,MAAM,cAAc,UAAW,OAAO,KAAG,KAAK,IAAI,YAA8E,CAAA;AACvI,eAAO,MAAM,6BAA6B,UAAW,OAAO,KAAG,KAAK,IAAI,eAAe,CAAC,YAAY,CACZ,CAAA;AACxF,eAAO,MAAM,6BAA6B;gEANjB,sDAAiB,iCAAiC,gBAC9D;gEAEiB,sDAAiB,wHACxC,gBAAoB;CAEsG,CAAA;AAEjI,eAAO,MAAM,sBAAsB,UAAW,OAAO,KAAG,KAAK,IAAI,oBACO,CAAA;AACxE,eAAO,MAAM,eAAe,2CAA2D,CAAA;AAGvF,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,YAAY,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,2BAA2B,OAAO,kBACrD,CAAA"}
|
|
@@ -2,21 +2,35 @@ import type { Address, Hash, Hex } from '@xylabs/hex';
|
|
|
2
2
|
import type { EmptyObject } from '@xylabs/object';
|
|
3
3
|
import type { Payload, Schema } from '@xyo-network/payload-model';
|
|
4
4
|
import type { BoundWitnessSchema } from './BoundWitnessSchema.ts';
|
|
5
|
-
export
|
|
6
|
-
$meta: {
|
|
7
|
-
/** @field Array of signatures by the accounts that are listed in addresses */
|
|
8
|
-
signatures: Hex[];
|
|
9
|
-
};
|
|
5
|
+
export interface BoundWitnessRequiredFields {
|
|
10
6
|
/** @field Array of signatures by the accounts that are listed in addresses */
|
|
11
7
|
addresses: Address[];
|
|
12
|
-
blockNumber?: number;
|
|
13
|
-
error_hashes?: Hash[];
|
|
14
8
|
payload_hashes: Hash[];
|
|
15
9
|
payload_schemas: Schema[];
|
|
16
10
|
previous_hashes: (Hash | null)[];
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
11
|
+
}
|
|
12
|
+
export interface BoundWitnessMeta {
|
|
13
|
+
$sourceQuery?: Hash;
|
|
14
|
+
}
|
|
15
|
+
export interface BoundWitnessBlockField {
|
|
16
|
+
/** @field sequential number (if this boundwitness is part of a multi-party chain) zero padded to 32 characters */
|
|
17
|
+
block: Hex;
|
|
18
|
+
}
|
|
19
|
+
export interface BoundWitnessChainField {
|
|
20
|
+
/** @field unique id of a multi-party chain (usually staking contract address) */
|
|
21
|
+
chain: Hex;
|
|
22
|
+
}
|
|
23
|
+
export interface BoundWitnessOptionalFields extends Partial<BoundWitnessBlockField>, Partial<BoundWitnessChainField> {
|
|
24
|
+
root: Hash;
|
|
25
|
+
}
|
|
26
|
+
export interface BoundWitnessFields extends BoundWitnessRequiredFields, Partial<BoundWitnessOptionalFields> {
|
|
27
|
+
}
|
|
28
|
+
export type UnsignedBoundWitness<T extends Payload | EmptyObject | void = void> = Payload<T extends void ? BoundWitnessFields : BoundWitnessFields & T, T extends void ? BoundWitnessSchema : T extends Payload ? T['schema'] : BoundWitnessSchema> & BoundWitnessMeta;
|
|
29
|
+
export type Signed<T> = T & {
|
|
30
|
+
$signatures: Hex[];
|
|
20
31
|
};
|
|
21
|
-
export type
|
|
32
|
+
export type WithBlock = BoundWitness & BoundWitnessBlockField;
|
|
33
|
+
export declare const hasBlock: (bw: BoundWitness) => bw is WithBlock;
|
|
34
|
+
export declare const asBlock: (bw: BoundWitness) => WithBlock;
|
|
35
|
+
export type BoundWitness<T extends Payload | EmptyObject | void = void> = Signed<UnsignedBoundWitness<T>>;
|
|
22
36
|
//# sourceMappingURL=BoundWitness.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoundWitness.d.ts","sourceRoot":"","sources":["../../../src/BoundWitness/BoundWitness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EAAE,IAAI,EAAE,GAAG,EACnB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAEjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAEjE,MAAM,
|
|
1
|
+
{"version":3,"file":"BoundWitness.d.ts","sourceRoot":"","sources":["../../../src/BoundWitness/BoundWitness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EAAE,IAAI,EAAE,GAAG,EACnB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAEjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAEjE,MAAM,WAAW,0BAA0B;IACzC,8EAA8E;IAC9E,SAAS,EAAE,OAAO,EAAE,CAAA;IACpB,cAAc,EAAE,IAAI,EAAE,CAAA;IACtB,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,eAAe,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAA;CACjC;AAED,MAAM,WAAW,gBAAgB;IAE/B,YAAY,CAAC,EAAE,IAAI,CAAA;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,kHAAkH;IAClH,KAAK,EAAE,GAAG,CAAA;CACX;AAED,MAAM,WAAW,sBAAsB;IACrC,iFAAiF;IACjF,KAAK,EAAE,GAAG,CAAA;CACX;AAED,MAAM,WAAW,0BAA2B,SAAQ,OAAO,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC;IAClH,IAAI,EAAE,IAAI,CAAA;CACX;AAED,MAAM,WAAW,kBAAmB,SAAQ,0BAA0B,EAAE,OAAO,CAAC,0BAA0B,CAAC;CAAG;AAE9G,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,OAAO,GAAG,WAAW,GAAG,IAAI,GAAG,IAAI,IAAI,OAAO,CACvF,CAAC,SAAS,IAAI,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,CAAC,EAC5D,CAAC,SAAS,IAAI,GAAG,kBAAkB,GAC/B,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,GAC7B,kBAAkB,CACzB,GAAG,gBAAgB,CAAA;AAEpB,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG;IAC1B,WAAW,EAAE,GAAG,EAAE,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,sBAAsB,CAAA;AAE7D,eAAO,MAAM,QAAQ,OAAQ,YAAY,KAAG,EAAE,IAAI,SAAmE,CAAA;AACrH,eAAO,MAAM,OAAO,OAAQ,YAAY,KAAG,SAA4B,CAAA;AAEvE,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,OAAO,GAAG,WAAW,GAAG,IAAI,GAAG,IAAI,IAAI,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAA"}
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
import type { Hash } from '@xylabs/hex';
|
|
2
|
-
import type
|
|
2
|
+
import { type WithStorageMeta } from '@xyo-network/payload-model';
|
|
3
3
|
import type { BoundWitness } from './BoundWitness/index.ts';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export declare const QueryBoundWitnessSchema: QueryBoundWitnessSchema;
|
|
7
|
-
export type QueryBoundWitness = BoundWitness<{
|
|
8
|
-
additional?: Hash[];
|
|
4
|
+
export type QueryBoundWitnessFields = {
|
|
5
|
+
error_hashes?: Hash[];
|
|
9
6
|
query: Hash;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
};
|
|
8
|
+
export type UnsignedQueryBoundWitness = BoundWitness<QueryBoundWitnessFields>;
|
|
9
|
+
export type QueryBoundWitness = UnsignedQueryBoundWitness;
|
|
13
10
|
export declare const isQueryBoundWitness: (x?: unknown) => x is QueryBoundWitness;
|
|
14
|
-
export declare const
|
|
11
|
+
export declare const isQueryBoundWitnessWithStorageMeta: (x?: unknown) => x is WithStorageMeta<QueryBoundWitness>;
|
|
15
12
|
//# sourceMappingURL=QueryBoundWitness.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryBoundWitness.d.ts","sourceRoot":"","sources":["../../src/QueryBoundWitness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"QueryBoundWitness.d.ts","sourceRoot":"","sources":["../../src/QueryBoundWitness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAEhF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAG3D,MAAM,MAAM,uBAAuB,GAAG;IACpC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAA;IACrB,KAAK,EAAE,IAAI,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAAA;AAE7E,MAAM,MAAM,iBAAiB,GAAG,yBAAyB,CAAA;AAEzD,eAAO,MAAM,mBAAmB,OAAQ,OAAO,KAAG,CAAC,IAAI,iBAAuF,CAAA;AAC9I,eAAO,MAAM,kCAAkC,OAAQ,OAAO,KAAG,CAAC,IAAI,eAAe,CAAC,iBAAiB,CAA+C,CAAA"}
|
package/dist/node/index.mjs
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
// src/BoundWitness/BoundWitness.ts
|
|
2
|
+
var hasBlock = (bw) => bw.block !== void 0 && typeof bw.block === "string";
|
|
3
|
+
var asBlock = (bw) => bw;
|
|
4
|
+
|
|
1
5
|
// src/BoundWitness/BoundWitnessJsonSchema.ts
|
|
2
6
|
var BoundWitnessJsonSchema = () => {
|
|
3
7
|
return {
|
|
@@ -19,31 +23,35 @@ var BoundWitnessJsonSchema = () => {
|
|
|
19
23
|
var BoundWitnessSchema = "network.xyo.boundwitness";
|
|
20
24
|
|
|
21
25
|
// src/isBoundWitness.ts
|
|
26
|
+
import { AsObjectFactory } from "@xylabs/object";
|
|
22
27
|
import {
|
|
23
28
|
isPayloadOfSchemaType,
|
|
24
|
-
|
|
29
|
+
isStorageMeta,
|
|
25
30
|
notPayloadOfSchemaType
|
|
26
31
|
} from "@xyo-network/payload-model";
|
|
27
32
|
var isBoundWitness = (value) => isPayloadOfSchemaType(BoundWitnessSchema)(value);
|
|
28
|
-
var
|
|
33
|
+
var isBoundWitnessWithStorageMeta = (value) => isPayloadOfSchemaType(BoundWitnessSchema)(value) && isStorageMeta(value);
|
|
34
|
+
var asBoundWitnessWithStorageMeta = AsObjectFactory.create(isBoundWitnessWithStorageMeta);
|
|
35
|
+
var isUnsignedBoundWitness = (value) => isPayloadOfSchemaType(BoundWitnessSchema)(value);
|
|
29
36
|
var notBoundWitness = notPayloadOfSchemaType(BoundWitnessSchema);
|
|
30
37
|
var asBoundWitness = (payload) => isBoundWitness(payload) ? payload : void 0;
|
|
31
|
-
var isBoundWitnessPayload = isBoundWitness;
|
|
32
38
|
|
|
33
39
|
// src/QueryBoundWitness.ts
|
|
34
|
-
|
|
40
|
+
import { isStorageMeta as isStorageMeta2 } from "@xyo-network/payload-model";
|
|
35
41
|
var isQueryBoundWitness = (x) => isBoundWitness(x) && x?.query !== void 0;
|
|
36
|
-
var
|
|
42
|
+
var isQueryBoundWitnessWithStorageMeta = (x) => isQueryBoundWitness(x) && isStorageMeta2(x);
|
|
37
43
|
export {
|
|
38
44
|
BoundWitnessJsonSchema,
|
|
39
45
|
BoundWitnessSchema,
|
|
40
|
-
|
|
46
|
+
asBlock,
|
|
41
47
|
asBoundWitness,
|
|
48
|
+
asBoundWitnessWithStorageMeta,
|
|
49
|
+
hasBlock,
|
|
42
50
|
isBoundWitness,
|
|
43
|
-
|
|
44
|
-
isBoundWitnessWithMeta,
|
|
51
|
+
isBoundWitnessWithStorageMeta,
|
|
45
52
|
isQueryBoundWitness,
|
|
46
|
-
|
|
53
|
+
isQueryBoundWitnessWithStorageMeta,
|
|
54
|
+
isUnsignedBoundWitness,
|
|
47
55
|
notBoundWitness
|
|
48
56
|
};
|
|
49
57
|
//# sourceMappingURL=index.mjs.map
|
package/dist/node/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/BoundWitness/BoundWitnessJsonSchema.ts","../../src/BoundWitness/BoundWitnessSchema.ts","../../src/isBoundWitness.ts","../../src/QueryBoundWitness.ts"],"sourcesContent":["// Should type as JSONSchemaType<BoundWitness> once ajv/eslint issue is fixed\n// https://github.com/microsoft/TypeScript/issues/44851\n\nexport const BoundWitnessJsonSchema = () => {\n return {\n $id: 'https://schemas.xyo.network/2.0/boundwitness',\n additionalProperties: false,\n properties: {\n addresses: { items: { type: 'string' }, type: 'array' },\n payload_hashes: { items: { type: 'string' }, type: 'array' },\n payload_schemas: { items: { type: 'string' }, type: 'array' },\n previous_hashes: { items: { nullable: true, type: 'string' }, type: 'array' },\n schema: { type: 'string' },\n },\n required: ['addresses', 'payload_hashes', 'payload_schemas', 'previous_hashes', 'schema'],\n type: 'object',\n }\n}\n","export type BoundWitnessSchema = 'network.xyo.boundwitness'\nexport const BoundWitnessSchema: BoundWitnessSchema = 'network.xyo.boundwitness'\n","import type {
|
|
1
|
+
{"version":3,"sources":["../../src/BoundWitness/BoundWitness.ts","../../src/BoundWitness/BoundWitnessJsonSchema.ts","../../src/BoundWitness/BoundWitnessSchema.ts","../../src/isBoundWitness.ts","../../src/QueryBoundWitness.ts"],"sourcesContent":["import type {\n Address, Hash, Hex,\n} from '@xylabs/hex'\nimport type { EmptyObject } from '@xylabs/object'\nimport type { Payload, Schema } from '@xyo-network/payload-model'\n\nimport type { BoundWitnessSchema } from './BoundWitnessSchema.ts'\n\nexport interface BoundWitnessRequiredFields {\n /** @field Array of signatures by the accounts that are listed in addresses */\n addresses: Address[]\n payload_hashes: Hash[]\n payload_schemas: Schema[]\n previous_hashes: (Hash | null)[]\n}\n\nexport interface BoundWitnessMeta {\n // the query that initiated the bound witness\n $sourceQuery?: Hash\n}\n\nexport interface BoundWitnessBlockField {\n /** @field sequential number (if this boundwitness is part of a multi-party chain) zero padded to 32 characters */\n block: Hex\n}\n\nexport interface BoundWitnessChainField {\n /** @field unique id of a multi-party chain (usually staking contract address) */\n chain: Hex\n}\n\nexport interface BoundWitnessOptionalFields extends Partial<BoundWitnessBlockField>, Partial<BoundWitnessChainField> {\n root: Hash\n}\n\nexport interface BoundWitnessFields extends BoundWitnessRequiredFields, Partial<BoundWitnessOptionalFields> {}\n\nexport type UnsignedBoundWitness<T extends Payload | EmptyObject | void = void> = Payload<\n T extends void ? BoundWitnessFields : BoundWitnessFields & T,\n T extends void ? BoundWitnessSchema\n : T extends Payload ? T['schema']\n : BoundWitnessSchema\n> & BoundWitnessMeta\n\nexport type Signed<T> = T & {\n $signatures: Hex[]\n}\n\nexport type WithBlock = BoundWitness & BoundWitnessBlockField\n\nexport const hasBlock = (bw: BoundWitness): bw is WithBlock => bw.block !== undefined && typeof bw.block === 'string'\nexport const asBlock = (bw: BoundWitness): WithBlock => bw as WithBlock\n\nexport type BoundWitness<T extends Payload | EmptyObject | void = void> = Signed<UnsignedBoundWitness<T>>\n","// Should type as JSONSchemaType<BoundWitness> once ajv/eslint issue is fixed\n// https://github.com/microsoft/TypeScript/issues/44851\n\nexport const BoundWitnessJsonSchema = () => {\n return {\n $id: 'https://schemas.xyo.network/2.0/boundwitness',\n additionalProperties: false,\n properties: {\n addresses: { items: { type: 'string' }, type: 'array' },\n payload_hashes: { items: { type: 'string' }, type: 'array' },\n payload_schemas: { items: { type: 'string' }, type: 'array' },\n previous_hashes: { items: { nullable: true, type: 'string' }, type: 'array' },\n schema: { type: 'string' },\n },\n required: ['addresses', 'payload_hashes', 'payload_schemas', 'previous_hashes', 'schema'],\n type: 'object',\n }\n}\n","export type BoundWitnessSchema = 'network.xyo.boundwitness'\nexport const BoundWitnessSchema: BoundWitnessSchema = 'network.xyo.boundwitness'\n","import { AsObjectFactory } from '@xylabs/object'\nimport type { WithStorageMeta } from '@xyo-network/payload-model'\nimport {\n isPayloadOfSchemaType, isStorageMeta, notPayloadOfSchemaType,\n} from '@xyo-network/payload-model'\n\nimport type { BoundWitness, UnsignedBoundWitness } from './BoundWitness/index.ts'\nimport { BoundWitnessSchema } from './BoundWitness/index.ts'\n\nexport const isBoundWitness = (value: unknown): value is BoundWitness => isPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)(value)\nexport const isBoundWitnessWithStorageMeta = (value: unknown): value is WithStorageMeta<BoundWitness> =>\n isPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)(value) && isStorageMeta(value)\nexport const asBoundWitnessWithStorageMeta = AsObjectFactory.create<WithStorageMeta<BoundWitness>>(isBoundWitnessWithStorageMeta)\n\nexport const isUnsignedBoundWitness = (value: unknown): value is UnsignedBoundWitness =>\n isPayloadOfSchemaType<UnsignedBoundWitness>(BoundWitnessSchema)(value)\nexport const notBoundWitness = notPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)\n\n// TODO: Use AsObjectFactory here to match standard patter\nexport const asBoundWitness = <T extends BoundWitness<{ schema: string }> = BoundWitness>(payload?: unknown) =>\n isBoundWitness(payload) ? (payload as T) : undefined\n","import type { Hash } from '@xylabs/hex'\nimport { isStorageMeta, type WithStorageMeta } from '@xyo-network/payload-model'\n\nimport type { BoundWitness } from './BoundWitness/index.ts'\nimport { isBoundWitness } from './isBoundWitness.ts'\n\nexport type QueryBoundWitnessFields = {\n error_hashes?: Hash[]\n query: Hash\n}\n\nexport type UnsignedQueryBoundWitness = BoundWitness<QueryBoundWitnessFields>\n\nexport type QueryBoundWitness = UnsignedQueryBoundWitness\n\nexport const isQueryBoundWitness = (x?: unknown): x is QueryBoundWitness => isBoundWitness(x) && (x as QueryBoundWitness)?.query !== undefined\nexport const isQueryBoundWitnessWithStorageMeta = (x?: unknown): x is WithStorageMeta<QueryBoundWitness> => isQueryBoundWitness(x) && isStorageMeta(x)\n"],"mappings":";AAkDO,IAAM,WAAW,CAAC,OAAsC,GAAG,UAAU,UAAa,OAAO,GAAG,UAAU;AACtG,IAAM,UAAU,CAAC,OAAgC;;;AChDjD,IAAM,yBAAyB,MAAM;AAC1C,SAAO;AAAA,IACL,KAAK;AAAA,IACL,sBAAsB;AAAA,IACtB,YAAY;AAAA,MACV,WAAW,EAAE,OAAO,EAAE,MAAM,SAAS,GAAG,MAAM,QAAQ;AAAA,MACtD,gBAAgB,EAAE,OAAO,EAAE,MAAM,SAAS,GAAG,MAAM,QAAQ;AAAA,MAC3D,iBAAiB,EAAE,OAAO,EAAE,MAAM,SAAS,GAAG,MAAM,QAAQ;AAAA,MAC5D,iBAAiB,EAAE,OAAO,EAAE,UAAU,MAAM,MAAM,SAAS,GAAG,MAAM,QAAQ;AAAA,MAC5E,QAAQ,EAAE,MAAM,SAAS;AAAA,IAC3B;AAAA,IACA,UAAU,CAAC,aAAa,kBAAkB,mBAAmB,mBAAmB,QAAQ;AAAA,IACxF,MAAM;AAAA,EACR;AACF;;;AChBO,IAAM,qBAAyC;;;ACDtD,SAAS,uBAAuB;AAEhC;AAAA,EACE;AAAA,EAAuB;AAAA,EAAe;AAAA,OACjC;AAKA,IAAM,iBAAiB,CAAC,UAA0C,sBAAoC,kBAAkB,EAAE,KAAK;AAC/H,IAAM,gCAAgC,CAAC,UAC5C,sBAAoC,kBAAkB,EAAE,KAAK,KAAK,cAAc,KAAK;AAChF,IAAM,gCAAgC,gBAAgB,OAAsC,6BAA6B;AAEzH,IAAM,yBAAyB,CAAC,UACrC,sBAA4C,kBAAkB,EAAE,KAAK;AAChE,IAAM,kBAAkB,uBAAqC,kBAAkB;AAG/E,IAAM,iBAAiB,CAA4D,YACxF,eAAe,OAAO,IAAK,UAAgB;;;ACnB7C,SAAS,iBAAAA,sBAA2C;AAc7C,IAAM,sBAAsB,CAAC,MAAwC,eAAe,CAAC,KAAM,GAAyB,UAAU;AAC9H,IAAM,qCAAqC,CAAC,MAAyD,oBAAoB,CAAC,KAAKC,eAAc,CAAC;","names":["isStorageMeta","isStorageMeta"]}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { BoundWitness } from './BoundWitness/index.ts';
|
|
1
|
+
import type { WithStorageMeta } from '@xyo-network/payload-model';
|
|
2
|
+
import type { BoundWitness, UnsignedBoundWitness } from './BoundWitness/index.ts';
|
|
3
3
|
export declare const isBoundWitness: (value: unknown) => value is BoundWitness;
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const
|
|
6
|
-
|
|
4
|
+
export declare const isBoundWitnessWithStorageMeta: (value: unknown) => value is WithStorageMeta<BoundWitness>;
|
|
5
|
+
export declare const asBoundWitnessWithStorageMeta: {
|
|
6
|
+
<TType extends WithStorageMeta<BoundWitness>>(value: import(".store/@xylabs-promise-npm-4.4.21-54890ce283/package").AnyNonPromise, config?: import("@xylabs/object").TypeCheckConfig): TType | undefined;
|
|
7
|
+
<TType extends WithStorageMeta<BoundWitness>>(value: import(".store/@xylabs-promise-npm-4.4.21-54890ce283/package").AnyNonPromise, assert: import("@xylabs/object").StringOrAlertFunction<WithStorageMeta<BoundWitness>>, config?: import("@xylabs/object").TypeCheckConfig): TType;
|
|
7
8
|
};
|
|
9
|
+
export declare const isUnsignedBoundWitness: (value: unknown) => value is UnsignedBoundWitness;
|
|
10
|
+
export declare const notBoundWitness: (x?: unknown | null) => x is BoundWitness;
|
|
8
11
|
export declare const asBoundWitness: <T extends BoundWitness<{
|
|
9
12
|
schema: string;
|
|
10
|
-
}> =
|
|
11
|
-
schema: "network.xyo.boundwitness";
|
|
12
|
-
}>(payload?: unknown) => T | undefined;
|
|
13
|
-
/** @deprecated use isBoundWitness instead */
|
|
14
|
-
export declare const isBoundWitnessPayload: (value: unknown) => value is BoundWitness;
|
|
13
|
+
}> = BoundWitness>(payload?: unknown) => T | undefined;
|
|
15
14
|
//# sourceMappingURL=isBoundWitness.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isBoundWitness.d.ts","sourceRoot":"","sources":["../../src/isBoundWitness.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"isBoundWitness.d.ts","sourceRoot":"","sources":["../../src/isBoundWitness.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAKjE,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAGjF,eAAO,MAAM,cAAc,UAAW,OAAO,KAAG,KAAK,IAAI,YAA8E,CAAA;AACvI,eAAO,MAAM,6BAA6B,UAAW,OAAO,KAAG,KAAK,IAAI,eAAe,CAAC,YAAY,CACZ,CAAA;AACxF,eAAO,MAAM,6BAA6B;gEANjB,sDAAiB,iCAAiC,gBAC9D;gEAEiB,sDAAiB,wHACxC,gBAAoB;CAEsG,CAAA;AAEjI,eAAO,MAAM,sBAAsB,UAAW,OAAO,KAAG,KAAK,IAAI,oBACO,CAAA;AACxE,eAAO,MAAM,eAAe,2CAA2D,CAAA;AAGvF,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,YAAY,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,2BAA2B,OAAO,kBACrD,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/boundwitness-model",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.6.0-rc.10",
|
|
4
4
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
5
5
|
"homepage": "https://xyo.network",
|
|
6
6
|
"bugs": {
|
|
@@ -29,17 +29,18 @@
|
|
|
29
29
|
"module": "dist/neutral/index.mjs",
|
|
30
30
|
"types": "dist/neutral/index.d.ts",
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@xylabs/hex": "^4.4.
|
|
33
|
-
"@xylabs/object": "^4.4.
|
|
34
|
-
"@xyo-network/payload-model": "^3.
|
|
32
|
+
"@xylabs/hex": "^4.4.21",
|
|
33
|
+
"@xylabs/object": "^4.4.21",
|
|
34
|
+
"@xyo-network/payload-model": "^3.6.0-rc.10"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@types/node": "^22.10.
|
|
38
|
-
"@xylabs/ts-scripts-yarn3": "^4.2.
|
|
39
|
-
"@xylabs/tsconfig": "^4.2.
|
|
37
|
+
"@types/node": "^22.10.2",
|
|
38
|
+
"@xylabs/ts-scripts-yarn3": "^4.2.6",
|
|
39
|
+
"@xylabs/tsconfig": "^4.2.6",
|
|
40
40
|
"typescript": "^5.7.2"
|
|
41
41
|
},
|
|
42
42
|
"publishConfig": {
|
|
43
43
|
"access": "public"
|
|
44
|
-
}
|
|
44
|
+
},
|
|
45
|
+
"stableVersion": "3.5.2"
|
|
45
46
|
}
|
|
@@ -6,26 +6,49 @@ import type { Payload, Schema } from '@xyo-network/payload-model'
|
|
|
6
6
|
|
|
7
7
|
import type { BoundWitnessSchema } from './BoundWitnessSchema.ts'
|
|
8
8
|
|
|
9
|
-
export
|
|
10
|
-
$meta: {
|
|
11
|
-
/** @field Array of signatures by the accounts that are listed in addresses */
|
|
12
|
-
signatures: Hex[]
|
|
13
|
-
}
|
|
9
|
+
export interface BoundWitnessRequiredFields {
|
|
14
10
|
/** @field Array of signatures by the accounts that are listed in addresses */
|
|
15
11
|
addresses: Address[]
|
|
16
|
-
blockNumber?: number
|
|
17
|
-
error_hashes?: Hash[]
|
|
18
12
|
payload_hashes: Hash[]
|
|
19
13
|
payload_schemas: Schema[]
|
|
20
14
|
previous_hashes: (Hash | null)[]
|
|
21
|
-
/** @field Hash of the QueryBoundWitness that caused this BoundWitness to be created */
|
|
22
|
-
sourceQuery?: Hash
|
|
23
|
-
timestamp: number
|
|
24
15
|
}
|
|
25
16
|
|
|
26
|
-
export
|
|
17
|
+
export interface BoundWitnessMeta {
|
|
18
|
+
// the query that initiated the bound witness
|
|
19
|
+
$sourceQuery?: Hash
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export interface BoundWitnessBlockField {
|
|
23
|
+
/** @field sequential number (if this boundwitness is part of a multi-party chain) zero padded to 32 characters */
|
|
24
|
+
block: Hex
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export interface BoundWitnessChainField {
|
|
28
|
+
/** @field unique id of a multi-party chain (usually staking contract address) */
|
|
29
|
+
chain: Hex
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export interface BoundWitnessOptionalFields extends Partial<BoundWitnessBlockField>, Partial<BoundWitnessChainField> {
|
|
33
|
+
root: Hash
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface BoundWitnessFields extends BoundWitnessRequiredFields, Partial<BoundWitnessOptionalFields> {}
|
|
37
|
+
|
|
38
|
+
export type UnsignedBoundWitness<T extends Payload | EmptyObject | void = void> = Payload<
|
|
27
39
|
T extends void ? BoundWitnessFields : BoundWitnessFields & T,
|
|
28
40
|
T extends void ? BoundWitnessSchema
|
|
29
41
|
: T extends Payload ? T['schema']
|
|
30
42
|
: BoundWitnessSchema
|
|
31
|
-
>
|
|
43
|
+
> & BoundWitnessMeta
|
|
44
|
+
|
|
45
|
+
export type Signed<T> = T & {
|
|
46
|
+
$signatures: Hex[]
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export type WithBlock = BoundWitness & BoundWitnessBlockField
|
|
50
|
+
|
|
51
|
+
export const hasBlock = (bw: BoundWitness): bw is WithBlock => bw.block !== undefined && typeof bw.block === 'string'
|
|
52
|
+
export const asBlock = (bw: BoundWitness): WithBlock => bw as WithBlock
|
|
53
|
+
|
|
54
|
+
export type BoundWitness<T extends Payload | EmptyObject | void = void> = Signed<UnsignedBoundWitness<T>>
|
package/src/QueryBoundWitness.ts
CHANGED
|
@@ -1,20 +1,17 @@
|
|
|
1
1
|
import type { Hash } from '@xylabs/hex'
|
|
2
|
-
import type
|
|
2
|
+
import { isStorageMeta, type WithStorageMeta } from '@xyo-network/payload-model'
|
|
3
3
|
|
|
4
4
|
import type { BoundWitness } from './BoundWitness/index.ts'
|
|
5
|
-
import {
|
|
6
|
-
import { isBoundWitness, isBoundWitnessWithMeta } from './isBoundWitness.ts'
|
|
5
|
+
import { isBoundWitness } from './isBoundWitness.ts'
|
|
7
6
|
|
|
8
|
-
export type
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
export type QueryBoundWitness = BoundWitness<{
|
|
12
|
-
additional?: Hash[]
|
|
7
|
+
export type QueryBoundWitnessFields = {
|
|
8
|
+
error_hashes?: Hash[]
|
|
13
9
|
query: Hash
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export type UnsignedQueryBoundWitness = BoundWitness<QueryBoundWitnessFields>
|
|
13
|
+
|
|
14
|
+
export type QueryBoundWitness = UnsignedQueryBoundWitness
|
|
17
15
|
|
|
18
16
|
export const isQueryBoundWitness = (x?: unknown): x is QueryBoundWitness => isBoundWitness(x) && (x as QueryBoundWitness)?.query !== undefined
|
|
19
|
-
export const
|
|
20
|
-
isBoundWitness(x) && isBoundWitnessWithMeta(x) && (x as WithMeta<QueryBoundWitness>)?.query !== undefined
|
|
17
|
+
export const isQueryBoundWitnessWithStorageMeta = (x?: unknown): x is WithStorageMeta<QueryBoundWitness> => isQueryBoundWitness(x) && isStorageMeta(x)
|
package/src/isBoundWitness.ts
CHANGED
|
@@ -1,18 +1,21 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { AsObjectFactory } from '@xylabs/object'
|
|
2
|
+
import type { WithStorageMeta } from '@xyo-network/payload-model'
|
|
2
3
|
import {
|
|
3
|
-
isPayloadOfSchemaType,
|
|
4
|
+
isPayloadOfSchemaType, isStorageMeta, notPayloadOfSchemaType,
|
|
4
5
|
} from '@xyo-network/payload-model'
|
|
5
6
|
|
|
6
|
-
import type { BoundWitness } from './BoundWitness/index.ts'
|
|
7
|
+
import type { BoundWitness, UnsignedBoundWitness } from './BoundWitness/index.ts'
|
|
7
8
|
import { BoundWitnessSchema } from './BoundWitness/index.ts'
|
|
8
9
|
|
|
9
10
|
export const isBoundWitness = (value: unknown): value is BoundWitness => isPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)(value)
|
|
10
|
-
export const
|
|
11
|
-
|
|
11
|
+
export const isBoundWitnessWithStorageMeta = (value: unknown): value is WithStorageMeta<BoundWitness> =>
|
|
12
|
+
isPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)(value) && isStorageMeta(value)
|
|
13
|
+
export const asBoundWitnessWithStorageMeta = AsObjectFactory.create<WithStorageMeta<BoundWitness>>(isBoundWitnessWithStorageMeta)
|
|
14
|
+
|
|
15
|
+
export const isUnsignedBoundWitness = (value: unknown): value is UnsignedBoundWitness =>
|
|
16
|
+
isPayloadOfSchemaType<UnsignedBoundWitness>(BoundWitnessSchema)(value)
|
|
12
17
|
export const notBoundWitness = notPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)
|
|
13
18
|
|
|
19
|
+
// TODO: Use AsObjectFactory here to match standard patter
|
|
14
20
|
export const asBoundWitness = <T extends BoundWitness<{ schema: string }> = BoundWitness>(payload?: unknown) =>
|
|
15
21
|
isBoundWitness(payload) ? (payload as T) : undefined
|
|
16
|
-
|
|
17
|
-
/** @deprecated use isBoundWitness instead */
|
|
18
|
-
export const isBoundWitnessPayload = isBoundWitness
|