@xyo-network/boundwitness-model 5.0.0 → 5.0.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.
@@ -33,6 +33,9 @@ export interface BoundWitnessOptionalFields extends Partial<BoundWitnessBlockFie
33
33
  export interface BoundWitnessFields extends BoundWitnessRequiredFields, Partial<BoundWitnessOptionalFields> {
34
34
  }
35
35
  export type UnsignedBoundWitness<T extends EmptyObject | void = void> = Payload<T extends void ? BoundWitnessFields : BoundWitnessFields & T, BoundWitnessSchema> & BoundWitnessMeta;
36
+ export type Unsigned<T extends UnsignedBoundWitness = UnsignedBoundWitness> = T & {
37
+ $signatures: Hex[];
38
+ };
36
39
  export type Signed<T extends UnsignedBoundWitness = UnsignedBoundWitness> = T & {
37
40
  $signatures: Hex[];
38
41
  };
@@ -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,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC7D,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;IAC/B;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;OAEG;IACH,YAAY,CAAC,EAAE,IAAI,CAAA;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,qFAAqF;IACrF,KAAK,EAAE,MAAM,CAAA;CACd;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,WAAW,GAAG,IAAI,GAAG,IAAI,IAAI,OAAO,CAC7E,CAAC,SAAS,IAAI,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,CAAC,EAC5D,kBAAkB,CACnB,GAAG,gBAAgB,CAAA;AAEpB,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,IAAI,CAAC,GAAG;IAC9E,WAAW,EAAE,GAAG,EAAE,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAA;AAE7D,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,sBAAsB,CAAA;AAE7D,eAAO,MAAM,QAAQ,GAAI,IAAI,YAAY,KAAG,EAAE,IAAI,SAAmE,CAAA;AACrH,eAAO,MAAM,OAAO,GAAI,IAAI,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;AAEzG,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA"}
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,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC7D,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;IAC/B;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;OAEG;IACH,YAAY,CAAC,EAAE,IAAI,CAAA;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,qFAAqF;IACrF,KAAK,EAAE,MAAM,CAAA;CACd;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,WAAW,GAAG,IAAI,GAAG,IAAI,IAAI,OAAO,CAC7E,CAAC,SAAS,IAAI,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,CAAC,EAC5D,kBAAkB,CACnB,GAAG,gBAAgB,CAAA;AAEpB,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,IAAI,CAAC,GAAG;IAChF,WAAW,EAAE,GAAG,EAAE,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,IAAI,CAAC,GAAG;IAC9E,WAAW,EAAE,GAAG,EAAE,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAA;AAE7D,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,sBAAsB,CAAA;AAE7D,eAAO,MAAM,QAAQ,GAAI,IAAI,YAAY,KAAG,EAAE,IAAI,SAAmE,CAAA;AACrH,eAAO,MAAM,OAAO,GAAI,IAAI,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;AAEzG,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA"}
@@ -36,8 +36,12 @@ var asOptionalBoundWitness = AsObjectFactory.createOptional(isBoundWitness);
36
36
  var isBoundWitnessWithStorageMeta = (value) => isPayloadOfSchemaType(BoundWitnessSchema)(value) && isStorageMeta(value);
37
37
  var asBoundWitnessWithStorageMeta = AsObjectFactory.createOptional(isBoundWitnessWithStorageMeta);
38
38
  var asOptionalBoundWitnessWithStorageMeta = AsObjectFactory.createOptional(isBoundWitnessWithStorageMeta);
39
- var isSigned = (value) => isBoundWitness(value) && value.$signatures.length === value.addresses.length && value.addresses.length > 0;
40
- var isUnsigned = (value) => isBoundWitness(value) && !isSigned(value);
39
+ function isSigned(value) {
40
+ return isBoundWitness(value) && value.$signatures.length === value.addresses.length && value.addresses.length > 0;
41
+ }
42
+ function isUnsigned(value) {
43
+ return isBoundWitness(value) && value.$signatures.length === value.addresses.length && value.addresses.length === 0;
44
+ }
41
45
 
42
46
  // src/QueryBoundWitness.ts
43
47
  import { isStorageMeta as isStorageMeta2 } from "@xyo-network/payload-model";
@@ -1 +1 @@
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, JsonObject } 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 /**\n * @field The address to which the query is directed\n */\n $destination?: Address\n /**\n * @field The query that initiated the bound witness\n */\n $sourceQuery?: Hash\n}\n\nexport interface BoundWitnessBlockField {\n /** @field sequential number (if this boundwitness is part of a multi-party chain) */\n block: number\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 EmptyObject | void = void> = Payload<\n T extends void ? BoundWitnessFields : BoundWitnessFields & T,\n BoundWitnessSchema\n> & BoundWitnessMeta\n\nexport type Signed<T extends UnsignedBoundWitness = UnsignedBoundWitness> = T & {\n $signatures: Hex[]\n}\n\nexport type SignedBoundWitness = Signed<UnsignedBoundWitness>\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\nexport type AnyBoundWitness = BoundWitness<JsonObject>\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 const BoundWitnessSchema = 'network.xyo.boundwitness' as const\nexport type BoundWitnessSchema = typeof BoundWitnessSchema\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 {\n BoundWitness, Signed, UnsignedBoundWitness,\n} from './BoundWitness/index.ts'\nimport { BoundWitnessSchema } from './BoundWitness/index.ts'\n\nexport const isBoundWitness = (value: unknown): value is BoundWitness => isPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)(value)\n\nexport const notBoundWitness = notPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)\n\n// TODO: Use AsObjectFactory here to match standard pattern\n// TODO: Other as identity functions throw if not valid, this one returns undefined with is more of a asOptional behavior\nexport const asBoundWitness = <T extends BoundWitness<{ schema: string }> = BoundWitness>(payload?: unknown) =>\n isBoundWitness(payload) ? (payload as T) : undefined\n\nexport const asOptionalBoundWitness = AsObjectFactory.createOptional<BoundWitness>(isBoundWitness)\n\nexport const isBoundWitnessWithStorageMeta = (value: unknown): value is WithStorageMeta<BoundWitness> =>\n isPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)(value) && isStorageMeta(value)\nexport const asBoundWitnessWithStorageMeta = AsObjectFactory.createOptional<WithStorageMeta<BoundWitness>>(isBoundWitnessWithStorageMeta)\nexport const asOptionalBoundWitnessWithStorageMeta = AsObjectFactory.createOptional<WithStorageMeta<BoundWitness>>(isBoundWitnessWithStorageMeta)\n\nexport const isSigned = (value: unknown): value is Signed =>\n isBoundWitness(value)\n && value.$signatures.length === value.addresses.length\n && value.addresses.length > 0\n\nexport const isUnsigned = (value: unknown): value is UnsignedBoundWitness =>\n isBoundWitness(value) && !isSigned(value)\n","import type { Hash } from '@xylabs/hex'\nimport type { WithStorageMeta } from '@xyo-network/payload-model'\nimport { isStorageMeta } 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":";AAwDO,IAAM,WAAW,CAAC,OAAsC,GAAG,UAAU,UAAa,OAAO,GAAG,UAAU;AACtG,IAAM,UAAU,CAAC,OAAgC;;;ACtDjD,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;;;ACjBO,IAAM,qBAAqB;;;ACAlC,SAAS,uBAAuB;AAEhC;AAAA,EACE;AAAA,EAAuB;AAAA,EAAe;AAAA,OACjC;AAOA,IAAM,iBAAiB,CAAC,UAA0C,sBAAoC,kBAAkB,EAAE,KAAK;AAE/H,IAAM,kBAAkB,uBAAqC,kBAAkB;AAI/E,IAAM,iBAAiB,CAA4D,YACxF,eAAe,OAAO,IAAK,UAAgB;AAEtC,IAAM,yBAAyB,gBAAgB,eAA6B,cAAc;AAE1F,IAAM,gCAAgC,CAAC,UAC5C,sBAAoC,kBAAkB,EAAE,KAAK,KAAK,cAAc,KAAK;AAChF,IAAM,gCAAgC,gBAAgB,eAA8C,6BAA6B;AACjI,IAAM,wCAAwC,gBAAgB,eAA8C,6BAA6B;AAEzI,IAAM,WAAW,CAAC,UACvB,eAAe,KAAK,KACjB,MAAM,YAAY,WAAW,MAAM,UAAU,UAC7C,MAAM,UAAU,SAAS;AAEvB,IAAM,aAAa,CAAC,UACzB,eAAe,KAAK,KAAK,CAAC,SAAS,KAAK;;;AC/B1C,SAAS,iBAAAA,sBAAqB;AAcvB,IAAM,sBAAsB,CAAC,MAAwC,eAAe,CAAC,KAAM,GAAyB,UAAU;AAC9H,IAAM,qCAAqC,CAAC,MAAyD,oBAAoB,CAAC,KAAKC,eAAc,CAAC;","names":["isStorageMeta","isStorageMeta"]}
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, JsonObject } 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 /**\n * @field The address to which the query is directed\n */\n $destination?: Address\n /**\n * @field The query that initiated the bound witness\n */\n $sourceQuery?: Hash\n}\n\nexport interface BoundWitnessBlockField {\n /** @field sequential number (if this boundwitness is part of a multi-party chain) */\n block: number\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 EmptyObject | void = void> = Payload<\n T extends void ? BoundWitnessFields : BoundWitnessFields & T,\n BoundWitnessSchema\n> & BoundWitnessMeta\n\nexport type Unsigned<T extends UnsignedBoundWitness = UnsignedBoundWitness> = T & {\n $signatures: Hex[]\n}\n\nexport type Signed<T extends UnsignedBoundWitness = UnsignedBoundWitness> = T & {\n $signatures: Hex[]\n}\n\nexport type SignedBoundWitness = Signed<UnsignedBoundWitness>\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\nexport type AnyBoundWitness = BoundWitness<JsonObject>\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 const BoundWitnessSchema = 'network.xyo.boundwitness' as const\nexport type BoundWitnessSchema = typeof BoundWitnessSchema\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 {\n BoundWitness, Signed, Unsigned,\n} from './BoundWitness/index.ts'\nimport { BoundWitnessSchema } from './BoundWitness/index.ts'\n\nexport const isBoundWitness = (value: unknown): value is BoundWitness => isPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)(value)\n\nexport const notBoundWitness = notPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)\n\n// TODO: Use AsObjectFactory here to match standard pattern\n// TODO: Other as identity functions throw if not valid, this one returns undefined with is more of a asOptional behavior\nexport const asBoundWitness = <T extends BoundWitness<{ schema: string }> = BoundWitness>(payload?: unknown) =>\n isBoundWitness(payload) ? (payload as T) : undefined\n\nexport const asOptionalBoundWitness = AsObjectFactory.createOptional<BoundWitness>(isBoundWitness)\n\nexport const isBoundWitnessWithStorageMeta = (value: unknown): value is WithStorageMeta<BoundWitness> =>\n isPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)(value) && isStorageMeta(value)\nexport const asBoundWitnessWithStorageMeta = AsObjectFactory.createOptional<WithStorageMeta<BoundWitness>>(isBoundWitnessWithStorageMeta)\nexport const asOptionalBoundWitnessWithStorageMeta = AsObjectFactory.createOptional<WithStorageMeta<BoundWitness>>(isBoundWitnessWithStorageMeta)\n\nexport function isSigned(value: unknown): value is Signed\nexport function isSigned<T extends Unsigned>(value: T): value is Signed<T>\nexport function isSigned(value: unknown): value is Signed {\n return isBoundWitness(value)\n && value.$signatures.length === value.addresses.length\n && value.addresses.length > 0\n}\n\nexport function isUnsigned(value: unknown): value is Unsigned\nexport function isUnsigned<T extends BoundWitness>(value: T): value is Unsigned<T>\nexport function isUnsigned(value: unknown): value is Unsigned {\n return isBoundWitness(value)\n && value.$signatures.length === value.addresses.length\n && value.addresses.length === 0\n}\n","import type { Hash } from '@xylabs/hex'\nimport type { WithStorageMeta } from '@xyo-network/payload-model'\nimport { isStorageMeta } 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":";AA4DO,IAAM,WAAW,CAAC,OAAsC,GAAG,UAAU,UAAa,OAAO,GAAG,UAAU;AACtG,IAAM,UAAU,CAAC,OAAgC;;;AC1DjD,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;;;ACjBO,IAAM,qBAAqB;;;ACAlC,SAAS,uBAAuB;AAEhC;AAAA,EACE;AAAA,EAAuB;AAAA,EAAe;AAAA,OACjC;AAOA,IAAM,iBAAiB,CAAC,UAA0C,sBAAoC,kBAAkB,EAAE,KAAK;AAE/H,IAAM,kBAAkB,uBAAqC,kBAAkB;AAI/E,IAAM,iBAAiB,CAA4D,YACxF,eAAe,OAAO,IAAK,UAAgB;AAEtC,IAAM,yBAAyB,gBAAgB,eAA6B,cAAc;AAE1F,IAAM,gCAAgC,CAAC,UAC5C,sBAAoC,kBAAkB,EAAE,KAAK,KAAK,cAAc,KAAK;AAChF,IAAM,gCAAgC,gBAAgB,eAA8C,6BAA6B;AACjI,IAAM,wCAAwC,gBAAgB,eAA8C,6BAA6B;AAIzI,SAAS,SAAS,OAAiC;AACxD,SAAO,eAAe,KAAK,KACtB,MAAM,YAAY,WAAW,MAAM,UAAU,UAC7C,MAAM,UAAU,SAAS;AAChC;AAIO,SAAS,WAAW,OAAmC;AAC5D,SAAO,eAAe,KAAK,KACtB,MAAM,YAAY,WAAW,MAAM,UAAU,UAC7C,MAAM,UAAU,WAAW;AAClC;;;ACvCA,SAAS,iBAAAA,sBAAqB;AAcvB,IAAM,sBAAsB,CAAC,MAAwC,eAAe,CAAC,KAAM,GAAyB,UAAU;AAC9H,IAAM,qCAAqC,CAAC,MAAyD,oBAAoB,CAAC,KAAKC,eAAc,CAAC;","names":["isStorageMeta","isStorageMeta"]}
@@ -1,14 +1,16 @@
1
1
  import type { WithStorageMeta } from '@xyo-network/payload-model';
2
- import type { BoundWitness, Signed, UnsignedBoundWitness } from './BoundWitness/index.ts';
2
+ import type { BoundWitness, Signed, Unsigned } from './BoundWitness/index.ts';
3
3
  export declare const isBoundWitness: (value: unknown) => value is BoundWitness;
4
4
  export declare const notBoundWitness: (x?: unknown | null) => x is BoundWitness;
5
5
  export declare const asBoundWitness: <T extends BoundWitness<{
6
6
  schema: string;
7
7
  }> = BoundWitness>(payload?: unknown) => T | undefined;
8
- export declare const asOptionalBoundWitness: (value: import(".store/@xylabs-promise-npm-5.0.0-c3b37237fd/package").AnyNonPromise) => BoundWitness | undefined;
8
+ export declare const asOptionalBoundWitness: (value: import(".store/@xylabs-promise-npm-5.0.3-c3d7024d49/package").AnyNonPromise) => BoundWitness | undefined;
9
9
  export declare const isBoundWitnessWithStorageMeta: (value: unknown) => value is WithStorageMeta<BoundWitness>;
10
- export declare const asBoundWitnessWithStorageMeta: (value: import(".store/@xylabs-promise-npm-5.0.0-c3b37237fd/package").AnyNonPromise) => WithStorageMeta<BoundWitness> | undefined;
11
- export declare const asOptionalBoundWitnessWithStorageMeta: (value: import(".store/@xylabs-promise-npm-5.0.0-c3b37237fd/package").AnyNonPromise) => WithStorageMeta<BoundWitness> | undefined;
12
- export declare const isSigned: (value: unknown) => value is Signed;
13
- export declare const isUnsigned: (value: unknown) => value is UnsignedBoundWitness;
10
+ export declare const asBoundWitnessWithStorageMeta: (value: import(".store/@xylabs-promise-npm-5.0.3-c3d7024d49/package").AnyNonPromise) => WithStorageMeta<BoundWitness> | undefined;
11
+ export declare const asOptionalBoundWitnessWithStorageMeta: (value: import(".store/@xylabs-promise-npm-5.0.3-c3d7024d49/package").AnyNonPromise) => WithStorageMeta<BoundWitness> | undefined;
12
+ export declare function isSigned(value: unknown): value is Signed;
13
+ export declare function isSigned<T extends Unsigned>(value: T): value is Signed<T>;
14
+ export declare function isUnsigned(value: unknown): value is Unsigned;
15
+ export declare function isUnsigned<T extends BoundWitness>(value: T): value is Unsigned<T>;
14
16
  //# sourceMappingURL=isBoundWitness.d.ts.map
@@ -1 +1 @@
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,EACV,YAAY,EAAE,MAAM,EAAE,oBAAoB,EAC3C,MAAM,yBAAyB,CAAA;AAGhC,eAAO,MAAM,cAAc,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,YAA8E,CAAA;AAEvI,eAAO,MAAM,eAAe,2CAA2D,CAAA;AAIvF,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,YAAY,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,YAAY,EAAE,UAAU,OAAO,kBACrD,CAAA;AAEtD,eAAO,MAAM,sBAAsB,kHAA+D,CAAA;AAElG,eAAO,MAAM,6BAA6B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,eAAe,CAAC,YAAY,CACZ,CAAA;AACxF,eAAO,MAAM,6BAA6B,mIAA+F,CAAA;AACzI,eAAO,MAAM,qCAAqC,mIAA+F,CAAA;AAEjJ,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAGpB,CAAA;AAE/B,eAAO,MAAM,UAAU,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,oBACV,CAAA"}
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,EACV,YAAY,EAAE,MAAM,EAAE,QAAQ,EAC/B,MAAM,yBAAyB,CAAA;AAGhC,eAAO,MAAM,cAAc,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,YAA8E,CAAA;AAEvI,eAAO,MAAM,eAAe,2CAA2D,CAAA;AAIvF,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,YAAY,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,YAAY,EAAE,UAAU,OAAO,kBACrD,CAAA;AAEtD,eAAO,MAAM,sBAAsB,kHAA+D,CAAA;AAElG,eAAO,MAAM,6BAA6B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,eAAe,CAAC,YAAY,CACZ,CAAA;AACxF,eAAO,MAAM,6BAA6B,mIAA+F,CAAA;AACzI,eAAO,MAAM,qCAAqC,mIAA+F,CAAA;AAEjJ,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAA;AACzD,wBAAgB,QAAQ,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,CAAA;AAO1E,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAAA;AAC7D,wBAAgB,UAAU,CAAC,CAAC,SAAS,YAAY,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAA"}
@@ -33,6 +33,9 @@ export interface BoundWitnessOptionalFields extends Partial<BoundWitnessBlockFie
33
33
  export interface BoundWitnessFields extends BoundWitnessRequiredFields, Partial<BoundWitnessOptionalFields> {
34
34
  }
35
35
  export type UnsignedBoundWitness<T extends EmptyObject | void = void> = Payload<T extends void ? BoundWitnessFields : BoundWitnessFields & T, BoundWitnessSchema> & BoundWitnessMeta;
36
+ export type Unsigned<T extends UnsignedBoundWitness = UnsignedBoundWitness> = T & {
37
+ $signatures: Hex[];
38
+ };
36
39
  export type Signed<T extends UnsignedBoundWitness = UnsignedBoundWitness> = T & {
37
40
  $signatures: Hex[];
38
41
  };
@@ -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,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC7D,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;IAC/B;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;OAEG;IACH,YAAY,CAAC,EAAE,IAAI,CAAA;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,qFAAqF;IACrF,KAAK,EAAE,MAAM,CAAA;CACd;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,WAAW,GAAG,IAAI,GAAG,IAAI,IAAI,OAAO,CAC7E,CAAC,SAAS,IAAI,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,CAAC,EAC5D,kBAAkB,CACnB,GAAG,gBAAgB,CAAA;AAEpB,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,IAAI,CAAC,GAAG;IAC9E,WAAW,EAAE,GAAG,EAAE,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAA;AAE7D,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,sBAAsB,CAAA;AAE7D,eAAO,MAAM,QAAQ,GAAI,IAAI,YAAY,KAAG,EAAE,IAAI,SAAmE,CAAA;AACrH,eAAO,MAAM,OAAO,GAAI,IAAI,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;AAEzG,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA"}
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,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC7D,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;IAC/B;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;OAEG;IACH,YAAY,CAAC,EAAE,IAAI,CAAA;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,qFAAqF;IACrF,KAAK,EAAE,MAAM,CAAA;CACd;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,WAAW,GAAG,IAAI,GAAG,IAAI,IAAI,OAAO,CAC7E,CAAC,SAAS,IAAI,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,CAAC,EAC5D,kBAAkB,CACnB,GAAG,gBAAgB,CAAA;AAEpB,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,IAAI,CAAC,GAAG;IAChF,WAAW,EAAE,GAAG,EAAE,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,IAAI,CAAC,GAAG;IAC9E,WAAW,EAAE,GAAG,EAAE,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAA;AAE7D,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,sBAAsB,CAAA;AAE7D,eAAO,MAAM,QAAQ,GAAI,IAAI,YAAY,KAAG,EAAE,IAAI,SAAmE,CAAA;AACrH,eAAO,MAAM,OAAO,GAAI,IAAI,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;AAEzG,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA"}
@@ -36,8 +36,12 @@ var asOptionalBoundWitness = AsObjectFactory.createOptional(isBoundWitness);
36
36
  var isBoundWitnessWithStorageMeta = (value) => isPayloadOfSchemaType(BoundWitnessSchema)(value) && isStorageMeta(value);
37
37
  var asBoundWitnessWithStorageMeta = AsObjectFactory.createOptional(isBoundWitnessWithStorageMeta);
38
38
  var asOptionalBoundWitnessWithStorageMeta = AsObjectFactory.createOptional(isBoundWitnessWithStorageMeta);
39
- var isSigned = (value) => isBoundWitness(value) && value.$signatures.length === value.addresses.length && value.addresses.length > 0;
40
- var isUnsigned = (value) => isBoundWitness(value) && !isSigned(value);
39
+ function isSigned(value) {
40
+ return isBoundWitness(value) && value.$signatures.length === value.addresses.length && value.addresses.length > 0;
41
+ }
42
+ function isUnsigned(value) {
43
+ return isBoundWitness(value) && value.$signatures.length === value.addresses.length && value.addresses.length === 0;
44
+ }
41
45
 
42
46
  // src/QueryBoundWitness.ts
43
47
  import { isStorageMeta as isStorageMeta2 } from "@xyo-network/payload-model";
@@ -1 +1 @@
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, JsonObject } 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 /**\n * @field The address to which the query is directed\n */\n $destination?: Address\n /**\n * @field The query that initiated the bound witness\n */\n $sourceQuery?: Hash\n}\n\nexport interface BoundWitnessBlockField {\n /** @field sequential number (if this boundwitness is part of a multi-party chain) */\n block: number\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 EmptyObject | void = void> = Payload<\n T extends void ? BoundWitnessFields : BoundWitnessFields & T,\n BoundWitnessSchema\n> & BoundWitnessMeta\n\nexport type Signed<T extends UnsignedBoundWitness = UnsignedBoundWitness> = T & {\n $signatures: Hex[]\n}\n\nexport type SignedBoundWitness = Signed<UnsignedBoundWitness>\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\nexport type AnyBoundWitness = BoundWitness<JsonObject>\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 const BoundWitnessSchema = 'network.xyo.boundwitness' as const\nexport type BoundWitnessSchema = typeof BoundWitnessSchema\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 {\n BoundWitness, Signed, UnsignedBoundWitness,\n} from './BoundWitness/index.ts'\nimport { BoundWitnessSchema } from './BoundWitness/index.ts'\n\nexport const isBoundWitness = (value: unknown): value is BoundWitness => isPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)(value)\n\nexport const notBoundWitness = notPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)\n\n// TODO: Use AsObjectFactory here to match standard pattern\n// TODO: Other as identity functions throw if not valid, this one returns undefined with is more of a asOptional behavior\nexport const asBoundWitness = <T extends BoundWitness<{ schema: string }> = BoundWitness>(payload?: unknown) =>\n isBoundWitness(payload) ? (payload as T) : undefined\n\nexport const asOptionalBoundWitness = AsObjectFactory.createOptional<BoundWitness>(isBoundWitness)\n\nexport const isBoundWitnessWithStorageMeta = (value: unknown): value is WithStorageMeta<BoundWitness> =>\n isPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)(value) && isStorageMeta(value)\nexport const asBoundWitnessWithStorageMeta = AsObjectFactory.createOptional<WithStorageMeta<BoundWitness>>(isBoundWitnessWithStorageMeta)\nexport const asOptionalBoundWitnessWithStorageMeta = AsObjectFactory.createOptional<WithStorageMeta<BoundWitness>>(isBoundWitnessWithStorageMeta)\n\nexport const isSigned = (value: unknown): value is Signed =>\n isBoundWitness(value)\n && value.$signatures.length === value.addresses.length\n && value.addresses.length > 0\n\nexport const isUnsigned = (value: unknown): value is UnsignedBoundWitness =>\n isBoundWitness(value) && !isSigned(value)\n","import type { Hash } from '@xylabs/hex'\nimport type { WithStorageMeta } from '@xyo-network/payload-model'\nimport { isStorageMeta } 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":";AAwDO,IAAM,WAAW,CAAC,OAAsC,GAAG,UAAU,UAAa,OAAO,GAAG,UAAU;AACtG,IAAM,UAAU,CAAC,OAAgC;;;ACtDjD,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;;;ACjBO,IAAM,qBAAqB;;;ACAlC,SAAS,uBAAuB;AAEhC;AAAA,EACE;AAAA,EAAuB;AAAA,EAAe;AAAA,OACjC;AAOA,IAAM,iBAAiB,CAAC,UAA0C,sBAAoC,kBAAkB,EAAE,KAAK;AAE/H,IAAM,kBAAkB,uBAAqC,kBAAkB;AAI/E,IAAM,iBAAiB,CAA4D,YACxF,eAAe,OAAO,IAAK,UAAgB;AAEtC,IAAM,yBAAyB,gBAAgB,eAA6B,cAAc;AAE1F,IAAM,gCAAgC,CAAC,UAC5C,sBAAoC,kBAAkB,EAAE,KAAK,KAAK,cAAc,KAAK;AAChF,IAAM,gCAAgC,gBAAgB,eAA8C,6BAA6B;AACjI,IAAM,wCAAwC,gBAAgB,eAA8C,6BAA6B;AAEzI,IAAM,WAAW,CAAC,UACvB,eAAe,KAAK,KACjB,MAAM,YAAY,WAAW,MAAM,UAAU,UAC7C,MAAM,UAAU,SAAS;AAEvB,IAAM,aAAa,CAAC,UACzB,eAAe,KAAK,KAAK,CAAC,SAAS,KAAK;;;AC/B1C,SAAS,iBAAAA,sBAAqB;AAcvB,IAAM,sBAAsB,CAAC,MAAwC,eAAe,CAAC,KAAM,GAAyB,UAAU;AAC9H,IAAM,qCAAqC,CAAC,MAAyD,oBAAoB,CAAC,KAAKC,eAAc,CAAC;","names":["isStorageMeta","isStorageMeta"]}
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, JsonObject } 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 /**\n * @field The address to which the query is directed\n */\n $destination?: Address\n /**\n * @field The query that initiated the bound witness\n */\n $sourceQuery?: Hash\n}\n\nexport interface BoundWitnessBlockField {\n /** @field sequential number (if this boundwitness is part of a multi-party chain) */\n block: number\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 EmptyObject | void = void> = Payload<\n T extends void ? BoundWitnessFields : BoundWitnessFields & T,\n BoundWitnessSchema\n> & BoundWitnessMeta\n\nexport type Unsigned<T extends UnsignedBoundWitness = UnsignedBoundWitness> = T & {\n $signatures: Hex[]\n}\n\nexport type Signed<T extends UnsignedBoundWitness = UnsignedBoundWitness> = T & {\n $signatures: Hex[]\n}\n\nexport type SignedBoundWitness = Signed<UnsignedBoundWitness>\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\nexport type AnyBoundWitness = BoundWitness<JsonObject>\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 const BoundWitnessSchema = 'network.xyo.boundwitness' as const\nexport type BoundWitnessSchema = typeof BoundWitnessSchema\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 {\n BoundWitness, Signed, Unsigned,\n} from './BoundWitness/index.ts'\nimport { BoundWitnessSchema } from './BoundWitness/index.ts'\n\nexport const isBoundWitness = (value: unknown): value is BoundWitness => isPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)(value)\n\nexport const notBoundWitness = notPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)\n\n// TODO: Use AsObjectFactory here to match standard pattern\n// TODO: Other as identity functions throw if not valid, this one returns undefined with is more of a asOptional behavior\nexport const asBoundWitness = <T extends BoundWitness<{ schema: string }> = BoundWitness>(payload?: unknown) =>\n isBoundWitness(payload) ? (payload as T) : undefined\n\nexport const asOptionalBoundWitness = AsObjectFactory.createOptional<BoundWitness>(isBoundWitness)\n\nexport const isBoundWitnessWithStorageMeta = (value: unknown): value is WithStorageMeta<BoundWitness> =>\n isPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)(value) && isStorageMeta(value)\nexport const asBoundWitnessWithStorageMeta = AsObjectFactory.createOptional<WithStorageMeta<BoundWitness>>(isBoundWitnessWithStorageMeta)\nexport const asOptionalBoundWitnessWithStorageMeta = AsObjectFactory.createOptional<WithStorageMeta<BoundWitness>>(isBoundWitnessWithStorageMeta)\n\nexport function isSigned(value: unknown): value is Signed\nexport function isSigned<T extends Unsigned>(value: T): value is Signed<T>\nexport function isSigned(value: unknown): value is Signed {\n return isBoundWitness(value)\n && value.$signatures.length === value.addresses.length\n && value.addresses.length > 0\n}\n\nexport function isUnsigned(value: unknown): value is Unsigned\nexport function isUnsigned<T extends BoundWitness>(value: T): value is Unsigned<T>\nexport function isUnsigned(value: unknown): value is Unsigned {\n return isBoundWitness(value)\n && value.$signatures.length === value.addresses.length\n && value.addresses.length === 0\n}\n","import type { Hash } from '@xylabs/hex'\nimport type { WithStorageMeta } from '@xyo-network/payload-model'\nimport { isStorageMeta } 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":";AA4DO,IAAM,WAAW,CAAC,OAAsC,GAAG,UAAU,UAAa,OAAO,GAAG,UAAU;AACtG,IAAM,UAAU,CAAC,OAAgC;;;AC1DjD,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;;;ACjBO,IAAM,qBAAqB;;;ACAlC,SAAS,uBAAuB;AAEhC;AAAA,EACE;AAAA,EAAuB;AAAA,EAAe;AAAA,OACjC;AAOA,IAAM,iBAAiB,CAAC,UAA0C,sBAAoC,kBAAkB,EAAE,KAAK;AAE/H,IAAM,kBAAkB,uBAAqC,kBAAkB;AAI/E,IAAM,iBAAiB,CAA4D,YACxF,eAAe,OAAO,IAAK,UAAgB;AAEtC,IAAM,yBAAyB,gBAAgB,eAA6B,cAAc;AAE1F,IAAM,gCAAgC,CAAC,UAC5C,sBAAoC,kBAAkB,EAAE,KAAK,KAAK,cAAc,KAAK;AAChF,IAAM,gCAAgC,gBAAgB,eAA8C,6BAA6B;AACjI,IAAM,wCAAwC,gBAAgB,eAA8C,6BAA6B;AAIzI,SAAS,SAAS,OAAiC;AACxD,SAAO,eAAe,KAAK,KACtB,MAAM,YAAY,WAAW,MAAM,UAAU,UAC7C,MAAM,UAAU,SAAS;AAChC;AAIO,SAAS,WAAW,OAAmC;AAC5D,SAAO,eAAe,KAAK,KACtB,MAAM,YAAY,WAAW,MAAM,UAAU,UAC7C,MAAM,UAAU,WAAW;AAClC;;;ACvCA,SAAS,iBAAAA,sBAAqB;AAcvB,IAAM,sBAAsB,CAAC,MAAwC,eAAe,CAAC,KAAM,GAAyB,UAAU;AAC9H,IAAM,qCAAqC,CAAC,MAAyD,oBAAoB,CAAC,KAAKC,eAAc,CAAC;","names":["isStorageMeta","isStorageMeta"]}
@@ -1,14 +1,16 @@
1
1
  import type { WithStorageMeta } from '@xyo-network/payload-model';
2
- import type { BoundWitness, Signed, UnsignedBoundWitness } from './BoundWitness/index.ts';
2
+ import type { BoundWitness, Signed, Unsigned } from './BoundWitness/index.ts';
3
3
  export declare const isBoundWitness: (value: unknown) => value is BoundWitness;
4
4
  export declare const notBoundWitness: (x?: unknown | null) => x is BoundWitness;
5
5
  export declare const asBoundWitness: <T extends BoundWitness<{
6
6
  schema: string;
7
7
  }> = BoundWitness>(payload?: unknown) => T | undefined;
8
- export declare const asOptionalBoundWitness: (value: import(".store/@xylabs-promise-npm-5.0.0-c3b37237fd/package").AnyNonPromise) => BoundWitness | undefined;
8
+ export declare const asOptionalBoundWitness: (value: import(".store/@xylabs-promise-npm-5.0.3-c3d7024d49/package").AnyNonPromise) => BoundWitness | undefined;
9
9
  export declare const isBoundWitnessWithStorageMeta: (value: unknown) => value is WithStorageMeta<BoundWitness>;
10
- export declare const asBoundWitnessWithStorageMeta: (value: import(".store/@xylabs-promise-npm-5.0.0-c3b37237fd/package").AnyNonPromise) => WithStorageMeta<BoundWitness> | undefined;
11
- export declare const asOptionalBoundWitnessWithStorageMeta: (value: import(".store/@xylabs-promise-npm-5.0.0-c3b37237fd/package").AnyNonPromise) => WithStorageMeta<BoundWitness> | undefined;
12
- export declare const isSigned: (value: unknown) => value is Signed;
13
- export declare const isUnsigned: (value: unknown) => value is UnsignedBoundWitness;
10
+ export declare const asBoundWitnessWithStorageMeta: (value: import(".store/@xylabs-promise-npm-5.0.3-c3d7024d49/package").AnyNonPromise) => WithStorageMeta<BoundWitness> | undefined;
11
+ export declare const asOptionalBoundWitnessWithStorageMeta: (value: import(".store/@xylabs-promise-npm-5.0.3-c3d7024d49/package").AnyNonPromise) => WithStorageMeta<BoundWitness> | undefined;
12
+ export declare function isSigned(value: unknown): value is Signed;
13
+ export declare function isSigned<T extends Unsigned>(value: T): value is Signed<T>;
14
+ export declare function isUnsigned(value: unknown): value is Unsigned;
15
+ export declare function isUnsigned<T extends BoundWitness>(value: T): value is Unsigned<T>;
14
16
  //# sourceMappingURL=isBoundWitness.d.ts.map
@@ -1 +1 @@
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,EACV,YAAY,EAAE,MAAM,EAAE,oBAAoB,EAC3C,MAAM,yBAAyB,CAAA;AAGhC,eAAO,MAAM,cAAc,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,YAA8E,CAAA;AAEvI,eAAO,MAAM,eAAe,2CAA2D,CAAA;AAIvF,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,YAAY,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,YAAY,EAAE,UAAU,OAAO,kBACrD,CAAA;AAEtD,eAAO,MAAM,sBAAsB,kHAA+D,CAAA;AAElG,eAAO,MAAM,6BAA6B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,eAAe,CAAC,YAAY,CACZ,CAAA;AACxF,eAAO,MAAM,6BAA6B,mIAA+F,CAAA;AACzI,eAAO,MAAM,qCAAqC,mIAA+F,CAAA;AAEjJ,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAGpB,CAAA;AAE/B,eAAO,MAAM,UAAU,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,oBACV,CAAA"}
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,EACV,YAAY,EAAE,MAAM,EAAE,QAAQ,EAC/B,MAAM,yBAAyB,CAAA;AAGhC,eAAO,MAAM,cAAc,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,YAA8E,CAAA;AAEvI,eAAO,MAAM,eAAe,2CAA2D,CAAA;AAIvF,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,YAAY,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,YAAY,EAAE,UAAU,OAAO,kBACrD,CAAA;AAEtD,eAAO,MAAM,sBAAsB,kHAA+D,CAAA;AAElG,eAAO,MAAM,6BAA6B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,eAAe,CAAC,YAAY,CACZ,CAAA;AACxF,eAAO,MAAM,6BAA6B,mIAA+F,CAAA;AACzI,eAAO,MAAM,qCAAqC,mIAA+F,CAAA;AAEjJ,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAA;AACzD,wBAAgB,QAAQ,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,CAAA;AAO1E,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAAA;AAC7D,wBAAgB,UAAU,CAAC,CAAC,SAAS,YAAY,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAA"}
@@ -33,6 +33,9 @@ export interface BoundWitnessOptionalFields extends Partial<BoundWitnessBlockFie
33
33
  export interface BoundWitnessFields extends BoundWitnessRequiredFields, Partial<BoundWitnessOptionalFields> {
34
34
  }
35
35
  export type UnsignedBoundWitness<T extends EmptyObject | void = void> = Payload<T extends void ? BoundWitnessFields : BoundWitnessFields & T, BoundWitnessSchema> & BoundWitnessMeta;
36
+ export type Unsigned<T extends UnsignedBoundWitness = UnsignedBoundWitness> = T & {
37
+ $signatures: Hex[];
38
+ };
36
39
  export type Signed<T extends UnsignedBoundWitness = UnsignedBoundWitness> = T & {
37
40
  $signatures: Hex[];
38
41
  };
@@ -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,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC7D,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;IAC/B;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;OAEG;IACH,YAAY,CAAC,EAAE,IAAI,CAAA;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,qFAAqF;IACrF,KAAK,EAAE,MAAM,CAAA;CACd;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,WAAW,GAAG,IAAI,GAAG,IAAI,IAAI,OAAO,CAC7E,CAAC,SAAS,IAAI,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,CAAC,EAC5D,kBAAkB,CACnB,GAAG,gBAAgB,CAAA;AAEpB,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,IAAI,CAAC,GAAG;IAC9E,WAAW,EAAE,GAAG,EAAE,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAA;AAE7D,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,sBAAsB,CAAA;AAE7D,eAAO,MAAM,QAAQ,GAAI,IAAI,YAAY,KAAG,EAAE,IAAI,SAAmE,CAAA;AACrH,eAAO,MAAM,OAAO,GAAI,IAAI,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;AAEzG,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA"}
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,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC7D,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;IAC/B;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;OAEG;IACH,YAAY,CAAC,EAAE,IAAI,CAAA;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,qFAAqF;IACrF,KAAK,EAAE,MAAM,CAAA;CACd;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,WAAW,GAAG,IAAI,GAAG,IAAI,IAAI,OAAO,CAC7E,CAAC,SAAS,IAAI,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,CAAC,EAC5D,kBAAkB,CACnB,GAAG,gBAAgB,CAAA;AAEpB,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,IAAI,CAAC,GAAG;IAChF,WAAW,EAAE,GAAG,EAAE,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,IAAI,CAAC,GAAG;IAC9E,WAAW,EAAE,GAAG,EAAE,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAA;AAE7D,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,sBAAsB,CAAA;AAE7D,eAAO,MAAM,QAAQ,GAAI,IAAI,YAAY,KAAG,EAAE,IAAI,SAAmE,CAAA;AACrH,eAAO,MAAM,OAAO,GAAI,IAAI,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;AAEzG,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA"}
@@ -36,8 +36,12 @@ var asOptionalBoundWitness = AsObjectFactory.createOptional(isBoundWitness);
36
36
  var isBoundWitnessWithStorageMeta = (value) => isPayloadOfSchemaType(BoundWitnessSchema)(value) && isStorageMeta(value);
37
37
  var asBoundWitnessWithStorageMeta = AsObjectFactory.createOptional(isBoundWitnessWithStorageMeta);
38
38
  var asOptionalBoundWitnessWithStorageMeta = AsObjectFactory.createOptional(isBoundWitnessWithStorageMeta);
39
- var isSigned = (value) => isBoundWitness(value) && value.$signatures.length === value.addresses.length && value.addresses.length > 0;
40
- var isUnsigned = (value) => isBoundWitness(value) && !isSigned(value);
39
+ function isSigned(value) {
40
+ return isBoundWitness(value) && value.$signatures.length === value.addresses.length && value.addresses.length > 0;
41
+ }
42
+ function isUnsigned(value) {
43
+ return isBoundWitness(value) && value.$signatures.length === value.addresses.length && value.addresses.length === 0;
44
+ }
41
45
 
42
46
  // src/QueryBoundWitness.ts
43
47
  import { isStorageMeta as isStorageMeta2 } from "@xyo-network/payload-model";
@@ -1 +1 @@
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, JsonObject } 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 /**\n * @field The address to which the query is directed\n */\n $destination?: Address\n /**\n * @field The query that initiated the bound witness\n */\n $sourceQuery?: Hash\n}\n\nexport interface BoundWitnessBlockField {\n /** @field sequential number (if this boundwitness is part of a multi-party chain) */\n block: number\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 EmptyObject | void = void> = Payload<\n T extends void ? BoundWitnessFields : BoundWitnessFields & T,\n BoundWitnessSchema\n> & BoundWitnessMeta\n\nexport type Signed<T extends UnsignedBoundWitness = UnsignedBoundWitness> = T & {\n $signatures: Hex[]\n}\n\nexport type SignedBoundWitness = Signed<UnsignedBoundWitness>\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\nexport type AnyBoundWitness = BoundWitness<JsonObject>\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 const BoundWitnessSchema = 'network.xyo.boundwitness' as const\nexport type BoundWitnessSchema = typeof BoundWitnessSchema\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 {\n BoundWitness, Signed, UnsignedBoundWitness,\n} from './BoundWitness/index.ts'\nimport { BoundWitnessSchema } from './BoundWitness/index.ts'\n\nexport const isBoundWitness = (value: unknown): value is BoundWitness => isPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)(value)\n\nexport const notBoundWitness = notPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)\n\n// TODO: Use AsObjectFactory here to match standard pattern\n// TODO: Other as identity functions throw if not valid, this one returns undefined with is more of a asOptional behavior\nexport const asBoundWitness = <T extends BoundWitness<{ schema: string }> = BoundWitness>(payload?: unknown) =>\n isBoundWitness(payload) ? (payload as T) : undefined\n\nexport const asOptionalBoundWitness = AsObjectFactory.createOptional<BoundWitness>(isBoundWitness)\n\nexport const isBoundWitnessWithStorageMeta = (value: unknown): value is WithStorageMeta<BoundWitness> =>\n isPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)(value) && isStorageMeta(value)\nexport const asBoundWitnessWithStorageMeta = AsObjectFactory.createOptional<WithStorageMeta<BoundWitness>>(isBoundWitnessWithStorageMeta)\nexport const asOptionalBoundWitnessWithStorageMeta = AsObjectFactory.createOptional<WithStorageMeta<BoundWitness>>(isBoundWitnessWithStorageMeta)\n\nexport const isSigned = (value: unknown): value is Signed =>\n isBoundWitness(value)\n && value.$signatures.length === value.addresses.length\n && value.addresses.length > 0\n\nexport const isUnsigned = (value: unknown): value is UnsignedBoundWitness =>\n isBoundWitness(value) && !isSigned(value)\n","import type { Hash } from '@xylabs/hex'\nimport type { WithStorageMeta } from '@xyo-network/payload-model'\nimport { isStorageMeta } 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":";AAwDO,IAAM,WAAW,CAAC,OAAsC,GAAG,UAAU,UAAa,OAAO,GAAG,UAAU;AACtG,IAAM,UAAU,CAAC,OAAgC;;;ACtDjD,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;;;ACjBO,IAAM,qBAAqB;;;ACAlC,SAAS,uBAAuB;AAEhC;AAAA,EACE;AAAA,EAAuB;AAAA,EAAe;AAAA,OACjC;AAOA,IAAM,iBAAiB,CAAC,UAA0C,sBAAoC,kBAAkB,EAAE,KAAK;AAE/H,IAAM,kBAAkB,uBAAqC,kBAAkB;AAI/E,IAAM,iBAAiB,CAA4D,YACxF,eAAe,OAAO,IAAK,UAAgB;AAEtC,IAAM,yBAAyB,gBAAgB,eAA6B,cAAc;AAE1F,IAAM,gCAAgC,CAAC,UAC5C,sBAAoC,kBAAkB,EAAE,KAAK,KAAK,cAAc,KAAK;AAChF,IAAM,gCAAgC,gBAAgB,eAA8C,6BAA6B;AACjI,IAAM,wCAAwC,gBAAgB,eAA8C,6BAA6B;AAEzI,IAAM,WAAW,CAAC,UACvB,eAAe,KAAK,KACjB,MAAM,YAAY,WAAW,MAAM,UAAU,UAC7C,MAAM,UAAU,SAAS;AAEvB,IAAM,aAAa,CAAC,UACzB,eAAe,KAAK,KAAK,CAAC,SAAS,KAAK;;;AC/B1C,SAAS,iBAAAA,sBAAqB;AAcvB,IAAM,sBAAsB,CAAC,MAAwC,eAAe,CAAC,KAAM,GAAyB,UAAU;AAC9H,IAAM,qCAAqC,CAAC,MAAyD,oBAAoB,CAAC,KAAKC,eAAc,CAAC;","names":["isStorageMeta","isStorageMeta"]}
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, JsonObject } 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 /**\n * @field The address to which the query is directed\n */\n $destination?: Address\n /**\n * @field The query that initiated the bound witness\n */\n $sourceQuery?: Hash\n}\n\nexport interface BoundWitnessBlockField {\n /** @field sequential number (if this boundwitness is part of a multi-party chain) */\n block: number\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 EmptyObject | void = void> = Payload<\n T extends void ? BoundWitnessFields : BoundWitnessFields & T,\n BoundWitnessSchema\n> & BoundWitnessMeta\n\nexport type Unsigned<T extends UnsignedBoundWitness = UnsignedBoundWitness> = T & {\n $signatures: Hex[]\n}\n\nexport type Signed<T extends UnsignedBoundWitness = UnsignedBoundWitness> = T & {\n $signatures: Hex[]\n}\n\nexport type SignedBoundWitness = Signed<UnsignedBoundWitness>\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\nexport type AnyBoundWitness = BoundWitness<JsonObject>\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 const BoundWitnessSchema = 'network.xyo.boundwitness' as const\nexport type BoundWitnessSchema = typeof BoundWitnessSchema\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 {\n BoundWitness, Signed, Unsigned,\n} from './BoundWitness/index.ts'\nimport { BoundWitnessSchema } from './BoundWitness/index.ts'\n\nexport const isBoundWitness = (value: unknown): value is BoundWitness => isPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)(value)\n\nexport const notBoundWitness = notPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)\n\n// TODO: Use AsObjectFactory here to match standard pattern\n// TODO: Other as identity functions throw if not valid, this one returns undefined with is more of a asOptional behavior\nexport const asBoundWitness = <T extends BoundWitness<{ schema: string }> = BoundWitness>(payload?: unknown) =>\n isBoundWitness(payload) ? (payload as T) : undefined\n\nexport const asOptionalBoundWitness = AsObjectFactory.createOptional<BoundWitness>(isBoundWitness)\n\nexport const isBoundWitnessWithStorageMeta = (value: unknown): value is WithStorageMeta<BoundWitness> =>\n isPayloadOfSchemaType<BoundWitness>(BoundWitnessSchema)(value) && isStorageMeta(value)\nexport const asBoundWitnessWithStorageMeta = AsObjectFactory.createOptional<WithStorageMeta<BoundWitness>>(isBoundWitnessWithStorageMeta)\nexport const asOptionalBoundWitnessWithStorageMeta = AsObjectFactory.createOptional<WithStorageMeta<BoundWitness>>(isBoundWitnessWithStorageMeta)\n\nexport function isSigned(value: unknown): value is Signed\nexport function isSigned<T extends Unsigned>(value: T): value is Signed<T>\nexport function isSigned(value: unknown): value is Signed {\n return isBoundWitness(value)\n && value.$signatures.length === value.addresses.length\n && value.addresses.length > 0\n}\n\nexport function isUnsigned(value: unknown): value is Unsigned\nexport function isUnsigned<T extends BoundWitness>(value: T): value is Unsigned<T>\nexport function isUnsigned(value: unknown): value is Unsigned {\n return isBoundWitness(value)\n && value.$signatures.length === value.addresses.length\n && value.addresses.length === 0\n}\n","import type { Hash } from '@xylabs/hex'\nimport type { WithStorageMeta } from '@xyo-network/payload-model'\nimport { isStorageMeta } 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":";AA4DO,IAAM,WAAW,CAAC,OAAsC,GAAG,UAAU,UAAa,OAAO,GAAG,UAAU;AACtG,IAAM,UAAU,CAAC,OAAgC;;;AC1DjD,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;;;ACjBO,IAAM,qBAAqB;;;ACAlC,SAAS,uBAAuB;AAEhC;AAAA,EACE;AAAA,EAAuB;AAAA,EAAe;AAAA,OACjC;AAOA,IAAM,iBAAiB,CAAC,UAA0C,sBAAoC,kBAAkB,EAAE,KAAK;AAE/H,IAAM,kBAAkB,uBAAqC,kBAAkB;AAI/E,IAAM,iBAAiB,CAA4D,YACxF,eAAe,OAAO,IAAK,UAAgB;AAEtC,IAAM,yBAAyB,gBAAgB,eAA6B,cAAc;AAE1F,IAAM,gCAAgC,CAAC,UAC5C,sBAAoC,kBAAkB,EAAE,KAAK,KAAK,cAAc,KAAK;AAChF,IAAM,gCAAgC,gBAAgB,eAA8C,6BAA6B;AACjI,IAAM,wCAAwC,gBAAgB,eAA8C,6BAA6B;AAIzI,SAAS,SAAS,OAAiC;AACxD,SAAO,eAAe,KAAK,KACtB,MAAM,YAAY,WAAW,MAAM,UAAU,UAC7C,MAAM,UAAU,SAAS;AAChC;AAIO,SAAS,WAAW,OAAmC;AAC5D,SAAO,eAAe,KAAK,KACtB,MAAM,YAAY,WAAW,MAAM,UAAU,UAC7C,MAAM,UAAU,WAAW;AAClC;;;ACvCA,SAAS,iBAAAA,sBAAqB;AAcvB,IAAM,sBAAsB,CAAC,MAAwC,eAAe,CAAC,KAAM,GAAyB,UAAU;AAC9H,IAAM,qCAAqC,CAAC,MAAyD,oBAAoB,CAAC,KAAKC,eAAc,CAAC;","names":["isStorageMeta","isStorageMeta"]}
@@ -1,14 +1,16 @@
1
1
  import type { WithStorageMeta } from '@xyo-network/payload-model';
2
- import type { BoundWitness, Signed, UnsignedBoundWitness } from './BoundWitness/index.ts';
2
+ import type { BoundWitness, Signed, Unsigned } from './BoundWitness/index.ts';
3
3
  export declare const isBoundWitness: (value: unknown) => value is BoundWitness;
4
4
  export declare const notBoundWitness: (x?: unknown | null) => x is BoundWitness;
5
5
  export declare const asBoundWitness: <T extends BoundWitness<{
6
6
  schema: string;
7
7
  }> = BoundWitness>(payload?: unknown) => T | undefined;
8
- export declare const asOptionalBoundWitness: (value: import(".store/@xylabs-promise-npm-5.0.0-c3b37237fd/package").AnyNonPromise) => BoundWitness | undefined;
8
+ export declare const asOptionalBoundWitness: (value: import(".store/@xylabs-promise-npm-5.0.3-c3d7024d49/package").AnyNonPromise) => BoundWitness | undefined;
9
9
  export declare const isBoundWitnessWithStorageMeta: (value: unknown) => value is WithStorageMeta<BoundWitness>;
10
- export declare const asBoundWitnessWithStorageMeta: (value: import(".store/@xylabs-promise-npm-5.0.0-c3b37237fd/package").AnyNonPromise) => WithStorageMeta<BoundWitness> | undefined;
11
- export declare const asOptionalBoundWitnessWithStorageMeta: (value: import(".store/@xylabs-promise-npm-5.0.0-c3b37237fd/package").AnyNonPromise) => WithStorageMeta<BoundWitness> | undefined;
12
- export declare const isSigned: (value: unknown) => value is Signed;
13
- export declare const isUnsigned: (value: unknown) => value is UnsignedBoundWitness;
10
+ export declare const asBoundWitnessWithStorageMeta: (value: import(".store/@xylabs-promise-npm-5.0.3-c3d7024d49/package").AnyNonPromise) => WithStorageMeta<BoundWitness> | undefined;
11
+ export declare const asOptionalBoundWitnessWithStorageMeta: (value: import(".store/@xylabs-promise-npm-5.0.3-c3d7024d49/package").AnyNonPromise) => WithStorageMeta<BoundWitness> | undefined;
12
+ export declare function isSigned(value: unknown): value is Signed;
13
+ export declare function isSigned<T extends Unsigned>(value: T): value is Signed<T>;
14
+ export declare function isUnsigned(value: unknown): value is Unsigned;
15
+ export declare function isUnsigned<T extends BoundWitness>(value: T): value is Unsigned<T>;
14
16
  //# sourceMappingURL=isBoundWitness.d.ts.map
@@ -1 +1 @@
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,EACV,YAAY,EAAE,MAAM,EAAE,oBAAoB,EAC3C,MAAM,yBAAyB,CAAA;AAGhC,eAAO,MAAM,cAAc,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,YAA8E,CAAA;AAEvI,eAAO,MAAM,eAAe,2CAA2D,CAAA;AAIvF,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,YAAY,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,YAAY,EAAE,UAAU,OAAO,kBACrD,CAAA;AAEtD,eAAO,MAAM,sBAAsB,kHAA+D,CAAA;AAElG,eAAO,MAAM,6BAA6B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,eAAe,CAAC,YAAY,CACZ,CAAA;AACxF,eAAO,MAAM,6BAA6B,mIAA+F,CAAA;AACzI,eAAO,MAAM,qCAAqC,mIAA+F,CAAA;AAEjJ,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAGpB,CAAA;AAE/B,eAAO,MAAM,UAAU,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,oBACV,CAAA"}
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,EACV,YAAY,EAAE,MAAM,EAAE,QAAQ,EAC/B,MAAM,yBAAyB,CAAA;AAGhC,eAAO,MAAM,cAAc,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,YAA8E,CAAA;AAEvI,eAAO,MAAM,eAAe,2CAA2D,CAAA;AAIvF,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,YAAY,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,YAAY,EAAE,UAAU,OAAO,kBACrD,CAAA;AAEtD,eAAO,MAAM,sBAAsB,kHAA+D,CAAA;AAElG,eAAO,MAAM,6BAA6B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,eAAe,CAAC,YAAY,CACZ,CAAA;AACxF,eAAO,MAAM,6BAA6B,mIAA+F,CAAA;AACzI,eAAO,MAAM,qCAAqC,mIAA+F,CAAA;AAEjJ,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAA;AACzD,wBAAgB,QAAQ,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,CAAA;AAO1E,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAAA;AAC7D,wBAAgB,UAAU,CAAC,CAAC,SAAS,YAAY,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/boundwitness-model",
3
- "version": "5.0.0",
3
+ "version": "5.0.2",
4
4
  "description": "Primary SDK for using XYO Protocol 2.0",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -33,15 +33,15 @@
33
33
  "src"
34
34
  ],
35
35
  "dependencies": {
36
- "@xylabs/hex": "^5.0.0",
37
- "@xylabs/object": "^5.0.0",
38
- "@xyo-network/payload-model": "^5.0.0"
36
+ "@xylabs/hex": "~5.0.3",
37
+ "@xylabs/object": "~5.0.3",
38
+ "@xyo-network/payload-model": "~5.0.2"
39
39
  },
40
40
  "devDependencies": {
41
- "@types/node": "^24.1.0",
42
- "@xylabs/ts-scripts-yarn3": "^7.0.2",
43
- "@xylabs/tsconfig": "^7.0.2",
44
- "typescript": "^5.8.3"
41
+ "@types/node": "~24.2.0",
42
+ "@xylabs/ts-scripts-yarn3": "~7.1.0",
43
+ "@xylabs/tsconfig": "~7.1.0",
44
+ "typescript": "~5.9.2"
45
45
  },
46
46
  "publishConfig": {
47
47
  "access": "public"
@@ -46,6 +46,10 @@ export type UnsignedBoundWitness<T extends EmptyObject | void = void> = Payload<
46
46
  BoundWitnessSchema
47
47
  > & BoundWitnessMeta
48
48
 
49
+ export type Unsigned<T extends UnsignedBoundWitness = UnsignedBoundWitness> = T & {
50
+ $signatures: Hex[]
51
+ }
52
+
49
53
  export type Signed<T extends UnsignedBoundWitness = UnsignedBoundWitness> = T & {
50
54
  $signatures: Hex[]
51
55
  }
@@ -5,7 +5,7 @@ import {
5
5
  } from '@xyo-network/payload-model'
6
6
 
7
7
  import type {
8
- BoundWitness, Signed, UnsignedBoundWitness,
8
+ BoundWitness, Signed, Unsigned,
9
9
  } from './BoundWitness/index.ts'
10
10
  import { BoundWitnessSchema } from './BoundWitness/index.ts'
11
11
 
@@ -25,10 +25,18 @@ export const isBoundWitnessWithStorageMeta = (value: unknown): value is WithStor
25
25
  export const asBoundWitnessWithStorageMeta = AsObjectFactory.createOptional<WithStorageMeta<BoundWitness>>(isBoundWitnessWithStorageMeta)
26
26
  export const asOptionalBoundWitnessWithStorageMeta = AsObjectFactory.createOptional<WithStorageMeta<BoundWitness>>(isBoundWitnessWithStorageMeta)
27
27
 
28
- export const isSigned = (value: unknown): value is Signed =>
29
- isBoundWitness(value)
30
- && value.$signatures.length === value.addresses.length
31
- && value.addresses.length > 0
32
-
33
- export const isUnsigned = (value: unknown): value is UnsignedBoundWitness =>
34
- isBoundWitness(value) && !isSigned(value)
28
+ export function isSigned(value: unknown): value is Signed
29
+ export function isSigned<T extends Unsigned>(value: T): value is Signed<T>
30
+ export function isSigned(value: unknown): value is Signed {
31
+ return isBoundWitness(value)
32
+ && value.$signatures.length === value.addresses.length
33
+ && value.addresses.length > 0
34
+ }
35
+
36
+ export function isUnsigned(value: unknown): value is Unsigned
37
+ export function isUnsigned<T extends BoundWitness>(value: T): value is Unsigned<T>
38
+ export function isUnsigned(value: unknown): value is Unsigned {
39
+ return isBoundWitness(value)
40
+ && value.$signatures.length === value.addresses.length
41
+ && value.addresses.length === 0
42
+ }