@xyo-network/boundwitness-model 3.5.2 → 3.6.0-rc.2
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 +23 -11
- package/dist/browser/BoundWitness/BoundWitness.d.ts.map +1 -1
- package/dist/browser/QueryBoundWitness.d.ts +6 -4
- package/dist/browser/QueryBoundWitness.d.ts.map +1 -1
- package/dist/browser/index.mjs +9 -9
- package/dist/browser/index.mjs.map +1 -1
- package/dist/browser/isBoundWitness.d.ts +4 -9
- package/dist/browser/isBoundWitness.d.ts.map +1 -1
- package/dist/neutral/BoundWitness/BoundWitness.d.ts +23 -11
- package/dist/neutral/BoundWitness/BoundWitness.d.ts.map +1 -1
- package/dist/neutral/QueryBoundWitness.d.ts +6 -4
- package/dist/neutral/QueryBoundWitness.d.ts.map +1 -1
- package/dist/neutral/index.mjs +9 -9
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/isBoundWitness.d.ts +4 -9
- package/dist/neutral/isBoundWitness.d.ts.map +1 -1
- package/dist/node/BoundWitness/BoundWitness.d.ts +23 -11
- package/dist/node/BoundWitness/BoundWitness.d.ts.map +1 -1
- package/dist/node/QueryBoundWitness.d.ts +6 -4
- package/dist/node/QueryBoundWitness.d.ts.map +1 -1
- package/dist/node/index.mjs +9 -9
- package/dist/node/index.mjs.map +1 -1
- package/dist/node/isBoundWitness.d.ts +4 -9
- package/dist/node/isBoundWitness.d.ts.map +1 -1
- package/package.json +7 -6
- package/src/BoundWitness/BoundWitness.ts +24 -11
- package/src/QueryBoundWitness.ts +10 -6
- package/src/isBoundWitness.ts +4 -7
|
@@ -2,21 +2,33 @@ 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 type BoundWitnessOptionalFields = {
|
|
13
|
+
/** @field sequential number (if this boundwitness is part of a multi-party chain) zero padded to 32 characters */
|
|
14
|
+
block?: Hex;
|
|
15
|
+
/** @field unique id of a multi-party chain (usually staking contract address) */
|
|
16
|
+
chain?: Hex;
|
|
20
17
|
};
|
|
21
|
-
export
|
|
18
|
+
export interface BoundWitnessFields extends BoundWitnessRequiredFields, BoundWitnessOptionalFields {
|
|
19
|
+
}
|
|
20
|
+
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>;
|
|
21
|
+
export type Signed<T> = T & {
|
|
22
|
+
$signatures: Hex[];
|
|
23
|
+
$timestamp?: number;
|
|
24
|
+
};
|
|
25
|
+
export type WithMetaTimestamp = BoundWitness & {
|
|
26
|
+
$timestamp: number;
|
|
27
|
+
};
|
|
28
|
+
export type WithBlock = BoundWitness & {
|
|
29
|
+
block: Hex;
|
|
30
|
+
};
|
|
31
|
+
export declare const hasMetaTimestamp: (bw: BoundWitness) => bw is WithMetaTimestamp;
|
|
32
|
+
export declare const hasBlock: (bw: BoundWitness) => bw is WithBlock;
|
|
33
|
+
export type BoundWitness<T extends Payload | EmptyObject | void = void> = Signed<UnsignedBoundWitness<T>>;
|
|
22
34
|
//# 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,MAAM,0BAA0B,GAAG;IACvC,kHAAkH;IAClH,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,iFAAiF;IACjF,KAAK,CAAC,EAAE,GAAG,CAAA;CACZ,CAAA;AAED,MAAM,WAAW,kBAAmB,SAAQ,0BAA0B,EAAE,0BAA0B;CAAG;AAErG,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,CAAA;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG;IAC1B,WAAW,EAAE,GAAG,EAAE,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAA;AACrE,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG;IAAE,KAAK,EAAE,GAAG,CAAA;CAAE,CAAA;AAErD,eAAO,MAAM,gBAAgB,OAAQ,YAAY,KAAG,EAAE,IAAI,iBAAqF,CAAA;AAC/I,eAAO,MAAM,QAAQ,OAAQ,YAAY,KAAG,EAAE,IAAI,SAAmE,CAAA;AAErH,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,17 @@
|
|
|
1
|
-
import type { Hash } from '@xylabs/hex';
|
|
2
|
-
import type { WithMeta } from '@xyo-network/payload-model';
|
|
1
|
+
import type { Address, Hash } from '@xylabs/hex';
|
|
3
2
|
import type { BoundWitness } from './BoundWitness/index.ts';
|
|
4
3
|
import { BoundWitnessSchema } from './BoundWitness/index.ts';
|
|
5
4
|
export type QueryBoundWitnessSchema = BoundWitnessSchema;
|
|
6
5
|
export declare const QueryBoundWitnessSchema: QueryBoundWitnessSchema;
|
|
7
|
-
export type
|
|
6
|
+
export type UnsignedQueryBoundWitness = BoundWitness<{
|
|
7
|
+
$destination?: Address;
|
|
8
|
+
$source?: Address;
|
|
8
9
|
additional?: Hash[];
|
|
10
|
+
error_hashes?: Hash[];
|
|
9
11
|
query: Hash;
|
|
10
12
|
resultSet?: string;
|
|
11
13
|
schema: QueryBoundWitnessSchema;
|
|
12
14
|
}>;
|
|
15
|
+
export type QueryBoundWitness = UnsignedQueryBoundWitness;
|
|
13
16
|
export declare const isQueryBoundWitness: (x?: unknown) => x is QueryBoundWitness;
|
|
14
|
-
export declare const isQueryBoundWitnessWithMeta: (x?: unknown) => x is WithMeta<QueryBoundWitness>;
|
|
15
17
|
//# 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,
|
|
1
|
+
{"version":3,"file":"QueryBoundWitness.d.ts","sourceRoot":"","sources":["../../src/QueryBoundWitness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAG5D,MAAM,MAAM,uBAAuB,GAAG,kBAAkB,CAAA;AACxD,eAAO,MAAM,uBAAuB,EAAE,uBAA4C,CAAA;AAElF,MAAM,MAAM,yBAAyB,GAAG,YAAY,CAAC;IAEnD,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,IAAI,EAAE,CAAA;IACnB,YAAY,CAAC,EAAE,IAAI,EAAE,CAAA;IACrB,KAAK,EAAE,IAAI,CAAA;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,uBAAuB,CAAA;CAChC,CAAC,CAAA;AAEF,MAAM,MAAM,iBAAiB,GAAG,yBAAyB,CAAA;AAEzD,eAAO,MAAM,mBAAmB,OAAQ,OAAO,KAAG,CAAC,IAAI,iBAAuF,CAAA"}
|
package/dist/browser/index.mjs
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
// src/BoundWitness/BoundWitness.ts
|
|
2
|
+
var hasMetaTimestamp = (bw) => bw.$timestamp !== void 0 && typeof bw.$timestamp === "number";
|
|
3
|
+
var hasBlock = (bw) => bw.block !== void 0 && typeof bw.block === "string";
|
|
4
|
+
|
|
1
5
|
// src/BoundWitness/BoundWitnessJsonSchema.ts
|
|
2
6
|
var BoundWitnessJsonSchema = () => {
|
|
3
7
|
return {
|
|
@@ -19,13 +23,9 @@ var BoundWitnessJsonSchema = () => {
|
|
|
19
23
|
var BoundWitnessSchema = "network.xyo.boundwitness";
|
|
20
24
|
|
|
21
25
|
// src/isBoundWitness.ts
|
|
22
|
-
import {
|
|
23
|
-
isPayloadOfSchemaType,
|
|
24
|
-
isPayloadOfSchemaTypeWithMeta,
|
|
25
|
-
notPayloadOfSchemaType
|
|
26
|
-
} from "@xyo-network/payload-model";
|
|
26
|
+
import { isPayloadOfSchemaType, notPayloadOfSchemaType } from "@xyo-network/payload-model";
|
|
27
27
|
var isBoundWitness = (value) => isPayloadOfSchemaType(BoundWitnessSchema)(value);
|
|
28
|
-
var
|
|
28
|
+
var isUnsignedBoundWitness = (value) => isPayloadOfSchemaType(BoundWitnessSchema)(value);
|
|
29
29
|
var notBoundWitness = notPayloadOfSchemaType(BoundWitnessSchema);
|
|
30
30
|
var asBoundWitness = (payload) => isBoundWitness(payload) ? payload : void 0;
|
|
31
31
|
var isBoundWitnessPayload = isBoundWitness;
|
|
@@ -33,17 +33,17 @@ var isBoundWitnessPayload = isBoundWitness;
|
|
|
33
33
|
// src/QueryBoundWitness.ts
|
|
34
34
|
var QueryBoundWitnessSchema = BoundWitnessSchema;
|
|
35
35
|
var isQueryBoundWitness = (x) => isBoundWitness(x) && x?.query !== void 0;
|
|
36
|
-
var isQueryBoundWitnessWithMeta = (x) => isBoundWitness(x) && isBoundWitnessWithMeta(x) && x?.query !== void 0;
|
|
37
36
|
export {
|
|
38
37
|
BoundWitnessJsonSchema,
|
|
39
38
|
BoundWitnessSchema,
|
|
40
39
|
QueryBoundWitnessSchema,
|
|
41
40
|
asBoundWitness,
|
|
41
|
+
hasBlock,
|
|
42
|
+
hasMetaTimestamp,
|
|
42
43
|
isBoundWitness,
|
|
43
44
|
isBoundWitnessPayload,
|
|
44
|
-
isBoundWitnessWithMeta,
|
|
45
45
|
isQueryBoundWitness,
|
|
46
|
-
|
|
46
|
+
isUnsignedBoundWitness,
|
|
47
47
|
notBoundWitness
|
|
48
48
|
};
|
|
49
49
|
//# 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
|
|
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 type BoundWitnessOptionalFields = {\n /** @field sequential number (if this boundwitness is part of a multi-party chain) zero padded to 32 characters */\n block?: Hex\n /** @field unique id of a multi-party chain (usually staking contract address) */\n chain?: Hex\n}\n\nexport interface BoundWitnessFields extends BoundWitnessRequiredFields, 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>\n\nexport type Signed<T> = T & {\n $signatures: Hex[]\n $timestamp?: number\n}\n\nexport type WithMetaTimestamp = BoundWitness & { $timestamp: number }\nexport type WithBlock = BoundWitness & { block: Hex }\n\nexport const hasMetaTimestamp = (bw: BoundWitness): bw is WithMetaTimestamp => bw.$timestamp !== undefined && typeof bw.$timestamp === 'number'\nexport const hasBlock = (bw: BoundWitness): bw is WithBlock => bw.block !== undefined && typeof bw.block === 'string'\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 { isPayloadOfSchemaType, notPayloadOfSchemaType } 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 isUnsignedBoundWitness = (value: unknown): value is UnsignedBoundWitness =>\n isPayloadOfSchemaType<UnsignedBoundWitness>(BoundWitnessSchema)(value)\nexport const notBoundWitness = notPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)\n\nexport const asBoundWitness = <T extends BoundWitness<{ schema: string }> = BoundWitness>(payload?: unknown) =>\n isBoundWitness(payload) ? (payload as T) : undefined\n\n/** @deprecated use isBoundWitness instead */\nexport const isBoundWitnessPayload = isBoundWitness\n","import type { Address, Hash } from '@xylabs/hex'\n\nimport type { BoundWitness } from './BoundWitness/index.ts'\nimport { BoundWitnessSchema } from './BoundWitness/index.ts'\nimport { isBoundWitness } from './isBoundWitness.ts'\n\nexport type QueryBoundWitnessSchema = BoundWitnessSchema\nexport const QueryBoundWitnessSchema: QueryBoundWitnessSchema = BoundWitnessSchema\n\nexport type UnsignedQueryBoundWitness = BoundWitness<{\n // address that initiated the query\n $destination?: Address\n // address for which the query is intended\n $source?: Address\n additional?: Hash[]\n error_hashes?: Hash[]\n query: Hash\n resultSet?: string\n schema: QueryBoundWitnessSchema\n}>\n\nexport type QueryBoundWitness = UnsignedQueryBoundWitness\n\nexport const isQueryBoundWitness = (x?: unknown): x is QueryBoundWitness => isBoundWitness(x) && (x as QueryBoundWitness)?.query !== undefined\n"],"mappings":";AAwCO,IAAM,mBAAmB,CAAC,OAA8C,GAAG,eAAe,UAAa,OAAO,GAAG,eAAe;AAChI,IAAM,WAAW,CAAC,OAAsC,GAAG,UAAU,UAAa,OAAO,GAAG,UAAU;;;ACtCtG,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,8BAA8B;AAKvD,IAAM,iBAAiB,CAAC,UAA0C,sBAAoC,kBAAkB,EAAE,KAAK;AAC/H,IAAM,yBAAyB,CAAC,UACrC,sBAA4C,kBAAkB,EAAE,KAAK;AAChE,IAAM,kBAAkB,uBAAqC,kBAAkB;AAE/E,IAAM,iBAAiB,CAA4D,YACxF,eAAe,OAAO,IAAK,UAAgB;AAGtC,IAAM,wBAAwB;;;ACP9B,IAAM,0BAAmD;AAgBzD,IAAM,sBAAsB,CAAC,MAAwC,eAAe,CAAC,KAAM,GAAyB,UAAU;","names":[]}
|
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { BoundWitness } from './BoundWitness/index.ts';
|
|
1
|
+
import type { BoundWitness, UnsignedBoundWitness } from './BoundWitness/index.ts';
|
|
3
2
|
export declare const isBoundWitness: (value: unknown) => value is BoundWitness;
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const notBoundWitness: (x?: unknown | null) => x is
|
|
6
|
-
schema: "network.xyo.boundwitness";
|
|
7
|
-
};
|
|
3
|
+
export declare const isUnsignedBoundWitness: (value: unknown) => value is UnsignedBoundWitness;
|
|
4
|
+
export declare const notBoundWitness: (x?: unknown | null) => x is BoundWitness;
|
|
8
5
|
export declare const asBoundWitness: <T extends BoundWitness<{
|
|
9
6
|
schema: string;
|
|
10
|
-
}> =
|
|
11
|
-
schema: "network.xyo.boundwitness";
|
|
12
|
-
}>(payload?: unknown) => T | undefined;
|
|
7
|
+
}> = BoundWitness>(payload?: unknown) => T | undefined;
|
|
13
8
|
/** @deprecated use isBoundWitness instead */
|
|
14
9
|
export declare const isBoundWitnessPayload: (value: unknown) => value is BoundWitness;
|
|
15
10
|
//# 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":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAGjF,eAAO,MAAM,cAAc,UAAW,OAAO,KAAG,KAAK,IAAI,YAA8E,CAAA;AACvI,eAAO,MAAM,sBAAsB,UAAW,OAAO,KAAG,KAAK,IAAI,oBACO,CAAA;AACxE,eAAO,MAAM,eAAe,2CAA2D,CAAA;AAEvF,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,YAAY,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,2BAA2B,OAAO,kBACrD,CAAA;AAEtD,6CAA6C;AAC7C,eAAO,MAAM,qBAAqB,UATI,OAAO,KAAG,KAAK,IAAI,YASN,CAAA"}
|
|
@@ -2,21 +2,33 @@ 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 type BoundWitnessOptionalFields = {
|
|
13
|
+
/** @field sequential number (if this boundwitness is part of a multi-party chain) zero padded to 32 characters */
|
|
14
|
+
block?: Hex;
|
|
15
|
+
/** @field unique id of a multi-party chain (usually staking contract address) */
|
|
16
|
+
chain?: Hex;
|
|
20
17
|
};
|
|
21
|
-
export
|
|
18
|
+
export interface BoundWitnessFields extends BoundWitnessRequiredFields, BoundWitnessOptionalFields {
|
|
19
|
+
}
|
|
20
|
+
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>;
|
|
21
|
+
export type Signed<T> = T & {
|
|
22
|
+
$signatures: Hex[];
|
|
23
|
+
$timestamp?: number;
|
|
24
|
+
};
|
|
25
|
+
export type WithMetaTimestamp = BoundWitness & {
|
|
26
|
+
$timestamp: number;
|
|
27
|
+
};
|
|
28
|
+
export type WithBlock = BoundWitness & {
|
|
29
|
+
block: Hex;
|
|
30
|
+
};
|
|
31
|
+
export declare const hasMetaTimestamp: (bw: BoundWitness) => bw is WithMetaTimestamp;
|
|
32
|
+
export declare const hasBlock: (bw: BoundWitness) => bw is WithBlock;
|
|
33
|
+
export type BoundWitness<T extends Payload | EmptyObject | void = void> = Signed<UnsignedBoundWitness<T>>;
|
|
22
34
|
//# 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,MAAM,0BAA0B,GAAG;IACvC,kHAAkH;IAClH,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,iFAAiF;IACjF,KAAK,CAAC,EAAE,GAAG,CAAA;CACZ,CAAA;AAED,MAAM,WAAW,kBAAmB,SAAQ,0BAA0B,EAAE,0BAA0B;CAAG;AAErG,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,CAAA;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG;IAC1B,WAAW,EAAE,GAAG,EAAE,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAA;AACrE,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG;IAAE,KAAK,EAAE,GAAG,CAAA;CAAE,CAAA;AAErD,eAAO,MAAM,gBAAgB,OAAQ,YAAY,KAAG,EAAE,IAAI,iBAAqF,CAAA;AAC/I,eAAO,MAAM,QAAQ,OAAQ,YAAY,KAAG,EAAE,IAAI,SAAmE,CAAA;AAErH,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,17 @@
|
|
|
1
|
-
import type { Hash } from '@xylabs/hex';
|
|
2
|
-
import type { WithMeta } from '@xyo-network/payload-model';
|
|
1
|
+
import type { Address, Hash } from '@xylabs/hex';
|
|
3
2
|
import type { BoundWitness } from './BoundWitness/index.ts';
|
|
4
3
|
import { BoundWitnessSchema } from './BoundWitness/index.ts';
|
|
5
4
|
export type QueryBoundWitnessSchema = BoundWitnessSchema;
|
|
6
5
|
export declare const QueryBoundWitnessSchema: QueryBoundWitnessSchema;
|
|
7
|
-
export type
|
|
6
|
+
export type UnsignedQueryBoundWitness = BoundWitness<{
|
|
7
|
+
$destination?: Address;
|
|
8
|
+
$source?: Address;
|
|
8
9
|
additional?: Hash[];
|
|
10
|
+
error_hashes?: Hash[];
|
|
9
11
|
query: Hash;
|
|
10
12
|
resultSet?: string;
|
|
11
13
|
schema: QueryBoundWitnessSchema;
|
|
12
14
|
}>;
|
|
15
|
+
export type QueryBoundWitness = UnsignedQueryBoundWitness;
|
|
13
16
|
export declare const isQueryBoundWitness: (x?: unknown) => x is QueryBoundWitness;
|
|
14
|
-
export declare const isQueryBoundWitnessWithMeta: (x?: unknown) => x is WithMeta<QueryBoundWitness>;
|
|
15
17
|
//# 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,
|
|
1
|
+
{"version":3,"file":"QueryBoundWitness.d.ts","sourceRoot":"","sources":["../../src/QueryBoundWitness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAG5D,MAAM,MAAM,uBAAuB,GAAG,kBAAkB,CAAA;AACxD,eAAO,MAAM,uBAAuB,EAAE,uBAA4C,CAAA;AAElF,MAAM,MAAM,yBAAyB,GAAG,YAAY,CAAC;IAEnD,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,IAAI,EAAE,CAAA;IACnB,YAAY,CAAC,EAAE,IAAI,EAAE,CAAA;IACrB,KAAK,EAAE,IAAI,CAAA;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,uBAAuB,CAAA;CAChC,CAAC,CAAA;AAEF,MAAM,MAAM,iBAAiB,GAAG,yBAAyB,CAAA;AAEzD,eAAO,MAAM,mBAAmB,OAAQ,OAAO,KAAG,CAAC,IAAI,iBAAuF,CAAA"}
|
package/dist/neutral/index.mjs
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
// src/BoundWitness/BoundWitness.ts
|
|
2
|
+
var hasMetaTimestamp = (bw) => bw.$timestamp !== void 0 && typeof bw.$timestamp === "number";
|
|
3
|
+
var hasBlock = (bw) => bw.block !== void 0 && typeof bw.block === "string";
|
|
4
|
+
|
|
1
5
|
// src/BoundWitness/BoundWitnessJsonSchema.ts
|
|
2
6
|
var BoundWitnessJsonSchema = () => {
|
|
3
7
|
return {
|
|
@@ -19,13 +23,9 @@ var BoundWitnessJsonSchema = () => {
|
|
|
19
23
|
var BoundWitnessSchema = "network.xyo.boundwitness";
|
|
20
24
|
|
|
21
25
|
// src/isBoundWitness.ts
|
|
22
|
-
import {
|
|
23
|
-
isPayloadOfSchemaType,
|
|
24
|
-
isPayloadOfSchemaTypeWithMeta,
|
|
25
|
-
notPayloadOfSchemaType
|
|
26
|
-
} from "@xyo-network/payload-model";
|
|
26
|
+
import { isPayloadOfSchemaType, notPayloadOfSchemaType } from "@xyo-network/payload-model";
|
|
27
27
|
var isBoundWitness = (value) => isPayloadOfSchemaType(BoundWitnessSchema)(value);
|
|
28
|
-
var
|
|
28
|
+
var isUnsignedBoundWitness = (value) => isPayloadOfSchemaType(BoundWitnessSchema)(value);
|
|
29
29
|
var notBoundWitness = notPayloadOfSchemaType(BoundWitnessSchema);
|
|
30
30
|
var asBoundWitness = (payload) => isBoundWitness(payload) ? payload : void 0;
|
|
31
31
|
var isBoundWitnessPayload = isBoundWitness;
|
|
@@ -33,17 +33,17 @@ var isBoundWitnessPayload = isBoundWitness;
|
|
|
33
33
|
// src/QueryBoundWitness.ts
|
|
34
34
|
var QueryBoundWitnessSchema = BoundWitnessSchema;
|
|
35
35
|
var isQueryBoundWitness = (x) => isBoundWitness(x) && x?.query !== void 0;
|
|
36
|
-
var isQueryBoundWitnessWithMeta = (x) => isBoundWitness(x) && isBoundWitnessWithMeta(x) && x?.query !== void 0;
|
|
37
36
|
export {
|
|
38
37
|
BoundWitnessJsonSchema,
|
|
39
38
|
BoundWitnessSchema,
|
|
40
39
|
QueryBoundWitnessSchema,
|
|
41
40
|
asBoundWitness,
|
|
41
|
+
hasBlock,
|
|
42
|
+
hasMetaTimestamp,
|
|
42
43
|
isBoundWitness,
|
|
43
44
|
isBoundWitnessPayload,
|
|
44
|
-
isBoundWitnessWithMeta,
|
|
45
45
|
isQueryBoundWitness,
|
|
46
|
-
|
|
46
|
+
isUnsignedBoundWitness,
|
|
47
47
|
notBoundWitness
|
|
48
48
|
};
|
|
49
49
|
//# 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
|
|
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 type BoundWitnessOptionalFields = {\n /** @field sequential number (if this boundwitness is part of a multi-party chain) zero padded to 32 characters */\n block?: Hex\n /** @field unique id of a multi-party chain (usually staking contract address) */\n chain?: Hex\n}\n\nexport interface BoundWitnessFields extends BoundWitnessRequiredFields, 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>\n\nexport type Signed<T> = T & {\n $signatures: Hex[]\n $timestamp?: number\n}\n\nexport type WithMetaTimestamp = BoundWitness & { $timestamp: number }\nexport type WithBlock = BoundWitness & { block: Hex }\n\nexport const hasMetaTimestamp = (bw: BoundWitness): bw is WithMetaTimestamp => bw.$timestamp !== undefined && typeof bw.$timestamp === 'number'\nexport const hasBlock = (bw: BoundWitness): bw is WithBlock => bw.block !== undefined && typeof bw.block === 'string'\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 { isPayloadOfSchemaType, notPayloadOfSchemaType } 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 isUnsignedBoundWitness = (value: unknown): value is UnsignedBoundWitness =>\n isPayloadOfSchemaType<UnsignedBoundWitness>(BoundWitnessSchema)(value)\nexport const notBoundWitness = notPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)\n\nexport const asBoundWitness = <T extends BoundWitness<{ schema: string }> = BoundWitness>(payload?: unknown) =>\n isBoundWitness(payload) ? (payload as T) : undefined\n\n/** @deprecated use isBoundWitness instead */\nexport const isBoundWitnessPayload = isBoundWitness\n","import type { Address, Hash } from '@xylabs/hex'\n\nimport type { BoundWitness } from './BoundWitness/index.ts'\nimport { BoundWitnessSchema } from './BoundWitness/index.ts'\nimport { isBoundWitness } from './isBoundWitness.ts'\n\nexport type QueryBoundWitnessSchema = BoundWitnessSchema\nexport const QueryBoundWitnessSchema: QueryBoundWitnessSchema = BoundWitnessSchema\n\nexport type UnsignedQueryBoundWitness = BoundWitness<{\n // address that initiated the query\n $destination?: Address\n // address for which the query is intended\n $source?: Address\n additional?: Hash[]\n error_hashes?: Hash[]\n query: Hash\n resultSet?: string\n schema: QueryBoundWitnessSchema\n}>\n\nexport type QueryBoundWitness = UnsignedQueryBoundWitness\n\nexport const isQueryBoundWitness = (x?: unknown): x is QueryBoundWitness => isBoundWitness(x) && (x as QueryBoundWitness)?.query !== undefined\n"],"mappings":";AAwCO,IAAM,mBAAmB,CAAC,OAA8C,GAAG,eAAe,UAAa,OAAO,GAAG,eAAe;AAChI,IAAM,WAAW,CAAC,OAAsC,GAAG,UAAU,UAAa,OAAO,GAAG,UAAU;;;ACtCtG,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,8BAA8B;AAKvD,IAAM,iBAAiB,CAAC,UAA0C,sBAAoC,kBAAkB,EAAE,KAAK;AAC/H,IAAM,yBAAyB,CAAC,UACrC,sBAA4C,kBAAkB,EAAE,KAAK;AAChE,IAAM,kBAAkB,uBAAqC,kBAAkB;AAE/E,IAAM,iBAAiB,CAA4D,YACxF,eAAe,OAAO,IAAK,UAAgB;AAGtC,IAAM,wBAAwB;;;ACP9B,IAAM,0BAAmD;AAgBzD,IAAM,sBAAsB,CAAC,MAAwC,eAAe,CAAC,KAAM,GAAyB,UAAU;","names":[]}
|
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { BoundWitness } from './BoundWitness/index.ts';
|
|
1
|
+
import type { BoundWitness, UnsignedBoundWitness } from './BoundWitness/index.ts';
|
|
3
2
|
export declare const isBoundWitness: (value: unknown) => value is BoundWitness;
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const notBoundWitness: (x?: unknown | null) => x is
|
|
6
|
-
schema: "network.xyo.boundwitness";
|
|
7
|
-
};
|
|
3
|
+
export declare const isUnsignedBoundWitness: (value: unknown) => value is UnsignedBoundWitness;
|
|
4
|
+
export declare const notBoundWitness: (x?: unknown | null) => x is BoundWitness;
|
|
8
5
|
export declare const asBoundWitness: <T extends BoundWitness<{
|
|
9
6
|
schema: string;
|
|
10
|
-
}> =
|
|
11
|
-
schema: "network.xyo.boundwitness";
|
|
12
|
-
}>(payload?: unknown) => T | undefined;
|
|
7
|
+
}> = BoundWitness>(payload?: unknown) => T | undefined;
|
|
13
8
|
/** @deprecated use isBoundWitness instead */
|
|
14
9
|
export declare const isBoundWitnessPayload: (value: unknown) => value is BoundWitness;
|
|
15
10
|
//# 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":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAGjF,eAAO,MAAM,cAAc,UAAW,OAAO,KAAG,KAAK,IAAI,YAA8E,CAAA;AACvI,eAAO,MAAM,sBAAsB,UAAW,OAAO,KAAG,KAAK,IAAI,oBACO,CAAA;AACxE,eAAO,MAAM,eAAe,2CAA2D,CAAA;AAEvF,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,YAAY,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,2BAA2B,OAAO,kBACrD,CAAA;AAEtD,6CAA6C;AAC7C,eAAO,MAAM,qBAAqB,UATI,OAAO,KAAG,KAAK,IAAI,YASN,CAAA"}
|
|
@@ -2,21 +2,33 @@ 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 type BoundWitnessOptionalFields = {
|
|
13
|
+
/** @field sequential number (if this boundwitness is part of a multi-party chain) zero padded to 32 characters */
|
|
14
|
+
block?: Hex;
|
|
15
|
+
/** @field unique id of a multi-party chain (usually staking contract address) */
|
|
16
|
+
chain?: Hex;
|
|
20
17
|
};
|
|
21
|
-
export
|
|
18
|
+
export interface BoundWitnessFields extends BoundWitnessRequiredFields, BoundWitnessOptionalFields {
|
|
19
|
+
}
|
|
20
|
+
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>;
|
|
21
|
+
export type Signed<T> = T & {
|
|
22
|
+
$signatures: Hex[];
|
|
23
|
+
$timestamp?: number;
|
|
24
|
+
};
|
|
25
|
+
export type WithMetaTimestamp = BoundWitness & {
|
|
26
|
+
$timestamp: number;
|
|
27
|
+
};
|
|
28
|
+
export type WithBlock = BoundWitness & {
|
|
29
|
+
block: Hex;
|
|
30
|
+
};
|
|
31
|
+
export declare const hasMetaTimestamp: (bw: BoundWitness) => bw is WithMetaTimestamp;
|
|
32
|
+
export declare const hasBlock: (bw: BoundWitness) => bw is WithBlock;
|
|
33
|
+
export type BoundWitness<T extends Payload | EmptyObject | void = void> = Signed<UnsignedBoundWitness<T>>;
|
|
22
34
|
//# 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,MAAM,0BAA0B,GAAG;IACvC,kHAAkH;IAClH,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,iFAAiF;IACjF,KAAK,CAAC,EAAE,GAAG,CAAA;CACZ,CAAA;AAED,MAAM,WAAW,kBAAmB,SAAQ,0BAA0B,EAAE,0BAA0B;CAAG;AAErG,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,CAAA;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG;IAC1B,WAAW,EAAE,GAAG,EAAE,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAA;AACrE,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG;IAAE,KAAK,EAAE,GAAG,CAAA;CAAE,CAAA;AAErD,eAAO,MAAM,gBAAgB,OAAQ,YAAY,KAAG,EAAE,IAAI,iBAAqF,CAAA;AAC/I,eAAO,MAAM,QAAQ,OAAQ,YAAY,KAAG,EAAE,IAAI,SAAmE,CAAA;AAErH,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,17 @@
|
|
|
1
|
-
import type { Hash } from '@xylabs/hex';
|
|
2
|
-
import type { WithMeta } from '@xyo-network/payload-model';
|
|
1
|
+
import type { Address, Hash } from '@xylabs/hex';
|
|
3
2
|
import type { BoundWitness } from './BoundWitness/index.ts';
|
|
4
3
|
import { BoundWitnessSchema } from './BoundWitness/index.ts';
|
|
5
4
|
export type QueryBoundWitnessSchema = BoundWitnessSchema;
|
|
6
5
|
export declare const QueryBoundWitnessSchema: QueryBoundWitnessSchema;
|
|
7
|
-
export type
|
|
6
|
+
export type UnsignedQueryBoundWitness = BoundWitness<{
|
|
7
|
+
$destination?: Address;
|
|
8
|
+
$source?: Address;
|
|
8
9
|
additional?: Hash[];
|
|
10
|
+
error_hashes?: Hash[];
|
|
9
11
|
query: Hash;
|
|
10
12
|
resultSet?: string;
|
|
11
13
|
schema: QueryBoundWitnessSchema;
|
|
12
14
|
}>;
|
|
15
|
+
export type QueryBoundWitness = UnsignedQueryBoundWitness;
|
|
13
16
|
export declare const isQueryBoundWitness: (x?: unknown) => x is QueryBoundWitness;
|
|
14
|
-
export declare const isQueryBoundWitnessWithMeta: (x?: unknown) => x is WithMeta<QueryBoundWitness>;
|
|
15
17
|
//# 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,
|
|
1
|
+
{"version":3,"file":"QueryBoundWitness.d.ts","sourceRoot":"","sources":["../../src/QueryBoundWitness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAG5D,MAAM,MAAM,uBAAuB,GAAG,kBAAkB,CAAA;AACxD,eAAO,MAAM,uBAAuB,EAAE,uBAA4C,CAAA;AAElF,MAAM,MAAM,yBAAyB,GAAG,YAAY,CAAC;IAEnD,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,IAAI,EAAE,CAAA;IACnB,YAAY,CAAC,EAAE,IAAI,EAAE,CAAA;IACrB,KAAK,EAAE,IAAI,CAAA;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,uBAAuB,CAAA;CAChC,CAAC,CAAA;AAEF,MAAM,MAAM,iBAAiB,GAAG,yBAAyB,CAAA;AAEzD,eAAO,MAAM,mBAAmB,OAAQ,OAAO,KAAG,CAAC,IAAI,iBAAuF,CAAA"}
|
package/dist/node/index.mjs
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
// src/BoundWitness/BoundWitness.ts
|
|
2
|
+
var hasMetaTimestamp = (bw) => bw.$timestamp !== void 0 && typeof bw.$timestamp === "number";
|
|
3
|
+
var hasBlock = (bw) => bw.block !== void 0 && typeof bw.block === "string";
|
|
4
|
+
|
|
1
5
|
// src/BoundWitness/BoundWitnessJsonSchema.ts
|
|
2
6
|
var BoundWitnessJsonSchema = () => {
|
|
3
7
|
return {
|
|
@@ -19,13 +23,9 @@ var BoundWitnessJsonSchema = () => {
|
|
|
19
23
|
var BoundWitnessSchema = "network.xyo.boundwitness";
|
|
20
24
|
|
|
21
25
|
// src/isBoundWitness.ts
|
|
22
|
-
import {
|
|
23
|
-
isPayloadOfSchemaType,
|
|
24
|
-
isPayloadOfSchemaTypeWithMeta,
|
|
25
|
-
notPayloadOfSchemaType
|
|
26
|
-
} from "@xyo-network/payload-model";
|
|
26
|
+
import { isPayloadOfSchemaType, notPayloadOfSchemaType } from "@xyo-network/payload-model";
|
|
27
27
|
var isBoundWitness = (value) => isPayloadOfSchemaType(BoundWitnessSchema)(value);
|
|
28
|
-
var
|
|
28
|
+
var isUnsignedBoundWitness = (value) => isPayloadOfSchemaType(BoundWitnessSchema)(value);
|
|
29
29
|
var notBoundWitness = notPayloadOfSchemaType(BoundWitnessSchema);
|
|
30
30
|
var asBoundWitness = (payload) => isBoundWitness(payload) ? payload : void 0;
|
|
31
31
|
var isBoundWitnessPayload = isBoundWitness;
|
|
@@ -33,17 +33,17 @@ var isBoundWitnessPayload = isBoundWitness;
|
|
|
33
33
|
// src/QueryBoundWitness.ts
|
|
34
34
|
var QueryBoundWitnessSchema = BoundWitnessSchema;
|
|
35
35
|
var isQueryBoundWitness = (x) => isBoundWitness(x) && x?.query !== void 0;
|
|
36
|
-
var isQueryBoundWitnessWithMeta = (x) => isBoundWitness(x) && isBoundWitnessWithMeta(x) && x?.query !== void 0;
|
|
37
36
|
export {
|
|
38
37
|
BoundWitnessJsonSchema,
|
|
39
38
|
BoundWitnessSchema,
|
|
40
39
|
QueryBoundWitnessSchema,
|
|
41
40
|
asBoundWitness,
|
|
41
|
+
hasBlock,
|
|
42
|
+
hasMetaTimestamp,
|
|
42
43
|
isBoundWitness,
|
|
43
44
|
isBoundWitnessPayload,
|
|
44
|
-
isBoundWitnessWithMeta,
|
|
45
45
|
isQueryBoundWitness,
|
|
46
|
-
|
|
46
|
+
isUnsignedBoundWitness,
|
|
47
47
|
notBoundWitness
|
|
48
48
|
};
|
|
49
49
|
//# 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
|
|
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 type BoundWitnessOptionalFields = {\n /** @field sequential number (if this boundwitness is part of a multi-party chain) zero padded to 32 characters */\n block?: Hex\n /** @field unique id of a multi-party chain (usually staking contract address) */\n chain?: Hex\n}\n\nexport interface BoundWitnessFields extends BoundWitnessRequiredFields, 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>\n\nexport type Signed<T> = T & {\n $signatures: Hex[]\n $timestamp?: number\n}\n\nexport type WithMetaTimestamp = BoundWitness & { $timestamp: number }\nexport type WithBlock = BoundWitness & { block: Hex }\n\nexport const hasMetaTimestamp = (bw: BoundWitness): bw is WithMetaTimestamp => bw.$timestamp !== undefined && typeof bw.$timestamp === 'number'\nexport const hasBlock = (bw: BoundWitness): bw is WithBlock => bw.block !== undefined && typeof bw.block === 'string'\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 { isPayloadOfSchemaType, notPayloadOfSchemaType } 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 isUnsignedBoundWitness = (value: unknown): value is UnsignedBoundWitness =>\n isPayloadOfSchemaType<UnsignedBoundWitness>(BoundWitnessSchema)(value)\nexport const notBoundWitness = notPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)\n\nexport const asBoundWitness = <T extends BoundWitness<{ schema: string }> = BoundWitness>(payload?: unknown) =>\n isBoundWitness(payload) ? (payload as T) : undefined\n\n/** @deprecated use isBoundWitness instead */\nexport const isBoundWitnessPayload = isBoundWitness\n","import type { Address, Hash } from '@xylabs/hex'\n\nimport type { BoundWitness } from './BoundWitness/index.ts'\nimport { BoundWitnessSchema } from './BoundWitness/index.ts'\nimport { isBoundWitness } from './isBoundWitness.ts'\n\nexport type QueryBoundWitnessSchema = BoundWitnessSchema\nexport const QueryBoundWitnessSchema: QueryBoundWitnessSchema = BoundWitnessSchema\n\nexport type UnsignedQueryBoundWitness = BoundWitness<{\n // address that initiated the query\n $destination?: Address\n // address for which the query is intended\n $source?: Address\n additional?: Hash[]\n error_hashes?: Hash[]\n query: Hash\n resultSet?: string\n schema: QueryBoundWitnessSchema\n}>\n\nexport type QueryBoundWitness = UnsignedQueryBoundWitness\n\nexport const isQueryBoundWitness = (x?: unknown): x is QueryBoundWitness => isBoundWitness(x) && (x as QueryBoundWitness)?.query !== undefined\n"],"mappings":";AAwCO,IAAM,mBAAmB,CAAC,OAA8C,GAAG,eAAe,UAAa,OAAO,GAAG,eAAe;AAChI,IAAM,WAAW,CAAC,OAAsC,GAAG,UAAU,UAAa,OAAO,GAAG,UAAU;;;ACtCtG,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,8BAA8B;AAKvD,IAAM,iBAAiB,CAAC,UAA0C,sBAAoC,kBAAkB,EAAE,KAAK;AAC/H,IAAM,yBAAyB,CAAC,UACrC,sBAA4C,kBAAkB,EAAE,KAAK;AAChE,IAAM,kBAAkB,uBAAqC,kBAAkB;AAE/E,IAAM,iBAAiB,CAA4D,YACxF,eAAe,OAAO,IAAK,UAAgB;AAGtC,IAAM,wBAAwB;;;ACP9B,IAAM,0BAAmD;AAgBzD,IAAM,sBAAsB,CAAC,MAAwC,eAAe,CAAC,KAAM,GAAyB,UAAU;","names":[]}
|
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { BoundWitness } from './BoundWitness/index.ts';
|
|
1
|
+
import type { BoundWitness, UnsignedBoundWitness } from './BoundWitness/index.ts';
|
|
3
2
|
export declare const isBoundWitness: (value: unknown) => value is BoundWitness;
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const notBoundWitness: (x?: unknown | null) => x is
|
|
6
|
-
schema: "network.xyo.boundwitness";
|
|
7
|
-
};
|
|
3
|
+
export declare const isUnsignedBoundWitness: (value: unknown) => value is UnsignedBoundWitness;
|
|
4
|
+
export declare const notBoundWitness: (x?: unknown | null) => x is BoundWitness;
|
|
8
5
|
export declare const asBoundWitness: <T extends BoundWitness<{
|
|
9
6
|
schema: string;
|
|
10
|
-
}> =
|
|
11
|
-
schema: "network.xyo.boundwitness";
|
|
12
|
-
}>(payload?: unknown) => T | undefined;
|
|
7
|
+
}> = BoundWitness>(payload?: unknown) => T | undefined;
|
|
13
8
|
/** @deprecated use isBoundWitness instead */
|
|
14
9
|
export declare const isBoundWitnessPayload: (value: unknown) => value is BoundWitness;
|
|
15
10
|
//# 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":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAGjF,eAAO,MAAM,cAAc,UAAW,OAAO,KAAG,KAAK,IAAI,YAA8E,CAAA;AACvI,eAAO,MAAM,sBAAsB,UAAW,OAAO,KAAG,KAAK,IAAI,oBACO,CAAA;AACxE,eAAO,MAAM,eAAe,2CAA2D,CAAA;AAEvF,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,YAAY,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,2BAA2B,OAAO,kBACrD,CAAA;AAEtD,6CAA6C;AAC7C,eAAO,MAAM,qBAAqB,UATI,OAAO,KAAG,KAAK,IAAI,YASN,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.2",
|
|
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.12",
|
|
33
|
+
"@xylabs/object": "^4.4.12",
|
|
34
|
+
"@xyo-network/payload-model": "^3.6.0-rc.2"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@types/node": "^22.10.
|
|
37
|
+
"@types/node": "^22.10.1",
|
|
38
38
|
"@xylabs/ts-scripts-yarn3": "^4.2.4",
|
|
39
39
|
"@xylabs/tsconfig": "^4.2.4",
|
|
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,39 @@ 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 type
|
|
17
|
+
export type BoundWitnessOptionalFields = {
|
|
18
|
+
/** @field sequential number (if this boundwitness is part of a multi-party chain) zero padded to 32 characters */
|
|
19
|
+
block?: Hex
|
|
20
|
+
/** @field unique id of a multi-party chain (usually staking contract address) */
|
|
21
|
+
chain?: Hex
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface BoundWitnessFields extends BoundWitnessRequiredFields, BoundWitnessOptionalFields {}
|
|
25
|
+
|
|
26
|
+
export type UnsignedBoundWitness<T extends Payload | EmptyObject | void = void> = Payload<
|
|
27
27
|
T extends void ? BoundWitnessFields : BoundWitnessFields & T,
|
|
28
28
|
T extends void ? BoundWitnessSchema
|
|
29
29
|
: T extends Payload ? T['schema']
|
|
30
30
|
: BoundWitnessSchema
|
|
31
31
|
>
|
|
32
|
+
|
|
33
|
+
export type Signed<T> = T & {
|
|
34
|
+
$signatures: Hex[]
|
|
35
|
+
$timestamp?: number
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export type WithMetaTimestamp = BoundWitness & { $timestamp: number }
|
|
39
|
+
export type WithBlock = BoundWitness & { block: Hex }
|
|
40
|
+
|
|
41
|
+
export const hasMetaTimestamp = (bw: BoundWitness): bw is WithMetaTimestamp => bw.$timestamp !== undefined && typeof bw.$timestamp === 'number'
|
|
42
|
+
export const hasBlock = (bw: BoundWitness): bw is WithBlock => bw.block !== undefined && typeof bw.block === 'string'
|
|
43
|
+
|
|
44
|
+
export type BoundWitness<T extends Payload | EmptyObject | void = void> = Signed<UnsignedBoundWitness<T>>
|
package/src/QueryBoundWitness.ts
CHANGED
|
@@ -1,20 +1,24 @@
|
|
|
1
|
-
import type { Hash } from '@xylabs/hex'
|
|
2
|
-
import type { WithMeta } from '@xyo-network/payload-model'
|
|
1
|
+
import type { Address, Hash } from '@xylabs/hex'
|
|
3
2
|
|
|
4
3
|
import type { BoundWitness } from './BoundWitness/index.ts'
|
|
5
4
|
import { BoundWitnessSchema } from './BoundWitness/index.ts'
|
|
6
|
-
import { isBoundWitness
|
|
5
|
+
import { isBoundWitness } from './isBoundWitness.ts'
|
|
7
6
|
|
|
8
7
|
export type QueryBoundWitnessSchema = BoundWitnessSchema
|
|
9
8
|
export const QueryBoundWitnessSchema: QueryBoundWitnessSchema = BoundWitnessSchema
|
|
10
9
|
|
|
11
|
-
export type
|
|
10
|
+
export type UnsignedQueryBoundWitness = BoundWitness<{
|
|
11
|
+
// address that initiated the query
|
|
12
|
+
$destination?: Address
|
|
13
|
+
// address for which the query is intended
|
|
14
|
+
$source?: Address
|
|
12
15
|
additional?: Hash[]
|
|
16
|
+
error_hashes?: Hash[]
|
|
13
17
|
query: Hash
|
|
14
18
|
resultSet?: string
|
|
15
19
|
schema: QueryBoundWitnessSchema
|
|
16
20
|
}>
|
|
17
21
|
|
|
22
|
+
export type QueryBoundWitness = UnsignedQueryBoundWitness
|
|
23
|
+
|
|
18
24
|
export const isQueryBoundWitness = (x?: unknown): x is QueryBoundWitness => isBoundWitness(x) && (x as QueryBoundWitness)?.query !== undefined
|
|
19
|
-
export const isQueryBoundWitnessWithMeta = (x?: unknown): x is WithMeta<QueryBoundWitness> =>
|
|
20
|
-
isBoundWitness(x) && isBoundWitnessWithMeta(x) && (x as WithMeta<QueryBoundWitness>)?.query !== undefined
|
package/src/isBoundWitness.ts
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, notPayloadOfSchemaType,
|
|
4
|
-
} from '@xyo-network/payload-model'
|
|
1
|
+
import { isPayloadOfSchemaType, notPayloadOfSchemaType } from '@xyo-network/payload-model'
|
|
5
2
|
|
|
6
|
-
import type { BoundWitness } from './BoundWitness/index.ts'
|
|
3
|
+
import type { BoundWitness, UnsignedBoundWitness } from './BoundWitness/index.ts'
|
|
7
4
|
import { BoundWitnessSchema } from './BoundWitness/index.ts'
|
|
8
5
|
|
|
9
6
|
export const isBoundWitness = (value: unknown): value is BoundWitness => isPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)(value)
|
|
10
|
-
export const
|
|
11
|
-
|
|
7
|
+
export const isUnsignedBoundWitness = (value: unknown): value is UnsignedBoundWitness =>
|
|
8
|
+
isPayloadOfSchemaType<UnsignedBoundWitness>(BoundWitnessSchema)(value)
|
|
12
9
|
export const notBoundWitness = notPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)
|
|
13
10
|
|
|
14
11
|
export const asBoundWitness = <T extends BoundWitness<{ schema: string }> = BoundWitness>(payload?: unknown) =>
|