-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathe7f8d6aa-80533a482c70ed472f7a.js
2 lines (2 loc) · 77.1 KB
/
e7f8d6aa-80533a482c70ed472f7a.js
1
2
"use strict";(self.webpackChunk_fex_cash_bch_site=self.webpackChunk_fex_cash_bch_site||[]).push([[697],{15306:function(e,t){t.Z=function e(t){let{instancePath:s="",parentData:i,parentDataProperty:a,rootData:r=t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=null,o=0;f(t,{instancePath:s,parentData:i,parentDataProperty:a,rootData:r})||(n=null===n?f.errors:n.concat(f.errors),o=n.length);return e.errors=n,0===o};const s={additionalProperties:!1,properties:{lockingType:{description:'Indicates if P2SH20 infrastructure should be used when producing bytecode related to this script. For more information on P2SH20, see BIP16.\n\nWhen compiling locking scripts of type `p2sh20`, the result will be placed in a P2SH20 "redeem script" format: `OP_HASH160 <$(<lockingBytecode> OP_HASH160)> OP_EQUAL`\n\nWhen compiling unlocking scripts that unlock locking scripts of type `p2sh20`, the result will be transformed into the P2SH20 unlocking format: `unlockingBytecode <lockingBytecode>` (where `lockingBytecode` is the compiled bytecode of the locking script, without the "redeem script" transformation.)\n\nThe presence of the `lockingType` property indicates that this script is a locking script. It must be present on any script referenced by the `unlocks` property of another script.',enum:["p2sh20","p2sh32","standard"],type:"string"},name:{description:"A single-line, human-readable name for this script (for use in user interfaces).",type:"string"},script:{description:"The script definition in CashAssembly.",type:"string"}},required:["lockingType","script"],type:"object"},i={additionalProperties:!1,properties:{ageLock:{description:'TODO: not yet implemented\n\nThe minimum input age required for this unlocking script to become valid.\n\nThis value is provided as a CashAssembly script that must compile to the least significant 3 bytes of the minimum sequence number required for this unlocking script to be valid (the "type bit" and the 2-byte "value" – see BIP68 for details). This script has access to all other template scripts and variables, but cyclical references will produce an error at compile time.\n\nIn supporting wallets, this value can be computed at address creation time, and the remaining time for which any UTXO remains "age-locked" can be displayed in user interfaces (by parsing the "type bit" and "value" as described in BIP68).\n\nNote, because the precise value used by `OP_CHECKSEQUENCEVERIFY` can be provided in the unlocking script, it is trivial to create an unlocking script for which a proper value for `ageLock` is not possible to determine until the spending transaction is prepared. These cases are intentionally out-of-scope for this property. Instead, `ageLock` should only be used for unlocking scripts where the expected value can be compiled at address creation time.',type:"string"},estimate:{description:'The identifier of the scenario to use for this unlocking script when compiling an estimated transaction.\n\nUsing estimate scenarios, it\'s possible for wallet software to compute an "estimated transaction", an invalid transaction that is guaranteed to be the same byte length as the final transaction. This length can be used to calculate the required transaction fee and assign values to the transaction\'s change output(s). Because estimate scenarios provide "estimated" values for all variables, this estimation can be done by a single entity without input from other entities.\n\nIf not provided, the default scenario will be used for estimation. The default scenario only provides values for each `Key` and `HdKey` variable, so compilations requiring other variables will produce errors. See `AuthenticationTemplateScenario.extends` for details.',type:"string"},fails:{description:"A list of the scenario identifiers that – when used to compile this unlocking script and the script it unlocks – result in bytecode that fails program verification.\n\nThese scenarios can be used to test this script in development and review.",items:{type:"string"},type:"array"},invalid:{description:"A list of the scenario identifiers that – when used to compile this unlocking script and the script it unlocks – result in a compilation error.\n\nThese scenarios can be used to test this script in development and review.",items:{type:"string"},type:"array"},name:{description:"A single-line, human-readable name for this script (for use in user interfaces).",type:"string"},passes:{description:"A list of the scenario identifiers that – when used to compile this unlocking script and the script it unlocks – result in bytecode that passes program verification.\n\nThese scenarios can be used to test this script in development and review.",items:{type:"string"},type:"array"},script:{description:"The script definition in CashAssembly.",type:"string"},timeLockType:{description:"The expected type of time locks in this script.\n\nBecause `OP_CHECKLOCKTIMEVERIFY` reads from a transaction's `locktime` property, every input to a given transaction must share the same time lock type. This differs from `OP_CHECKSEQUENCEVERIFY` in that each input has its own `sequenceNumber`, so compatibility is not required.\n\nIf a transaction includes multiple inputs using scripts with `timeLockType` defined, and the types are not compatible, generation should fail.\n\nThe `timestamp` type indicates that the transaction's locktime is provided as a UNIX timestamp (the `locktime` value is greater than or equal to `500000000`).\n\nThe `height` type indicates that the transaction's locktime is provided as a block height (the `locktime` value is less than `500000000`).\n\nIf `timeLockType` is undefined, the script is assumed to have no reliance on absolute time locks.",enum:["height","timestamp"],type:"string"},unlocks:{description:"The identifier of the script that can be unlocked by this script.\n\nThe presence of the `unlocks` property indicates that this script is an unlocking script, and the script it unlocks must be a locking script.",type:"string"}},required:["script","unlocks"],type:"object"},a={description:"Allowable identifiers for authentication virtual machine versions. The `BCH` prefix identifies the Bitcoin Cash network, the `XEC` prefix identifies the eCash network, the `BSV` prefix identifies the Bitcoin SV network, and the `BTC` prefix identifies the Bitcoin Core network. VM versions are named according to the date they were deployed on the indicated network.\n\nFor each network prefix, a `_SPEC` VM version is reserved to indicate that the template requires a custom, not-yet-deployed VM version (e.g. one or more CHIPs). By convention, templates marked for `_SPEC` VMs should indicate their requirements in the template description. After deployment of the `_SPEC` VM, when template compatibility is verified, the template's `supported` array should be updated to indicate compatibility with the live VM version.",enum:["BCH_2020_05","BCH_2021_05","BCH_2022_05","BCH_2023_05","BCH_SPEC","BSV_2020_02","BSV_SPEC","BTC_2017_08","BTC_SPEC","XEC_2020_05","XEC_SPEC"],type:"string"};function r(e){let{instancePath:t="",parentData:s,parentDataProperty:i,rootData:a=e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=null,o=0;const p=o;let c=!1;const l=o;if(o===o)if(e&&"object"==typeof e&&!Array.isArray(e)){let s;if(void 0===e.type&&(s="type")){const e={instancePath:t,schemaPath:"#/definitions/AuthenticationTemplateAddressData/required",keyword:"required",params:{missingProperty:s},message:"must have required property '"+s+"'"};null===n?n=[e]:n.push(e),o++}else{const s=o;for(const i in e)if("description"!==i&&"name"!==i&&"type"!==i){const e={instancePath:t,schemaPath:"#/definitions/AuthenticationTemplateAddressData/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:i},message:"must NOT have additional properties"};null===n?n=[e]:n.push(e),o++;break}if(s===o){if(void 0!==e.description){const s=o;if("string"!=typeof e.description){const e={instancePath:t+"/description",schemaPath:"#/definitions/AuthenticationTemplateAddressData/properties/description/type",keyword:"type",params:{type:"string"},message:"must be string"};null===n?n=[e]:n.push(e),o++}var y=s===o}else y=!0;if(y){if(void 0!==e.name){const s=o;if("string"!=typeof e.name){const e={instancePath:t+"/name",schemaPath:"#/definitions/AuthenticationTemplateAddressData/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};null===n?n=[e]:n.push(e),o++}y=s===o}else y=!0;if(y)if(void 0!==e.type){let s=e.type;const i=o;if("string"!=typeof s){const e={instancePath:t+"/type",schemaPath:"#/definitions/AuthenticationTemplateAddressData/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};null===n?n=[e]:n.push(e),o++}if("AddressData"!==s){const e={instancePath:t+"/type",schemaPath:"#/definitions/AuthenticationTemplateAddressData/properties/type/const",keyword:"const",params:{allowedValue:"AddressData"},message:"must be equal to constant"};null===n?n=[e]:n.push(e),o++}y=i===o}else y=!0}}}}else{const e={instancePath:t,schemaPath:"#/definitions/AuthenticationTemplateAddressData/type",keyword:"type",params:{type:"object"},message:"must be object"};null===n?n=[e]:n.push(e),o++}var h=l===o;if(c=c||h,!c){const s=o;if(o===o)if(e&&"object"==typeof e&&!Array.isArray(e)){let s;if(void 0===e.type&&(s="type")){const e={instancePath:t,schemaPath:"#/definitions/AuthenticationTemplateHdKey/required",keyword:"required",params:{missingProperty:s},message:"must have required property '"+s+"'"};null===n?n=[e]:n.push(e),o++}else{const s=o;for(const i in e)if("addressOffset"!==i&&"description"!==i&&"hdPublicKeyDerivationPath"!==i&&"name"!==i&&"privateDerivationPath"!==i&&"publicDerivationPath"!==i&&"type"!==i){const e={instancePath:t,schemaPath:"#/definitions/AuthenticationTemplateHdKey/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:i},message:"must NOT have additional properties"};null===n?n=[e]:n.push(e),o++;break}if(s===o){if(void 0!==e.addressOffset){let s=e.addressOffset;const i=o;if("number"!=typeof s||!isFinite(s)){const e={instancePath:t+"/addressOffset",schemaPath:"#/definitions/AuthenticationTemplateHdKey/properties/addressOffset/type",keyword:"type",params:{type:"number"},message:"must be number"};null===n?n=[e]:n.push(e),o++}var m=i===o}else m=!0;if(m){if(void 0!==e.description){const s=o;if("string"!=typeof e.description){const e={instancePath:t+"/description",schemaPath:"#/definitions/AuthenticationTemplateHdKey/properties/description/type",keyword:"type",params:{type:"string"},message:"must be string"};null===n?n=[e]:n.push(e),o++}m=s===o}else m=!0;if(m){if(void 0!==e.hdPublicKeyDerivationPath){const s=o;if("string"!=typeof e.hdPublicKeyDerivationPath){const e={instancePath:t+"/hdPublicKeyDerivationPath",schemaPath:"#/definitions/AuthenticationTemplateHdKey/properties/hdPublicKeyDerivationPath/type",keyword:"type",params:{type:"string"},message:"must be string"};null===n?n=[e]:n.push(e),o++}m=s===o}else m=!0;if(m){if(void 0!==e.name){const s=o;if("string"!=typeof e.name){const e={instancePath:t+"/name",schemaPath:"#/definitions/AuthenticationTemplateHdKey/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};null===n?n=[e]:n.push(e),o++}m=s===o}else m=!0;if(m){if(void 0!==e.privateDerivationPath){const s=o;if("string"!=typeof e.privateDerivationPath){const e={instancePath:t+"/privateDerivationPath",schemaPath:"#/definitions/AuthenticationTemplateHdKey/properties/privateDerivationPath/type",keyword:"type",params:{type:"string"},message:"must be string"};null===n?n=[e]:n.push(e),o++}m=s===o}else m=!0;if(m){if(void 0!==e.publicDerivationPath){const s=o;if("string"!=typeof e.publicDerivationPath){const e={instancePath:t+"/publicDerivationPath",schemaPath:"#/definitions/AuthenticationTemplateHdKey/properties/publicDerivationPath/type",keyword:"type",params:{type:"string"},message:"must be string"};null===n?n=[e]:n.push(e),o++}m=s===o}else m=!0;if(m)if(void 0!==e.type){let s=e.type;const i=o;if("string"!=typeof s){const e={instancePath:t+"/type",schemaPath:"#/definitions/AuthenticationTemplateHdKey/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};null===n?n=[e]:n.push(e),o++}if("HdKey"!==s){const e={instancePath:t+"/type",schemaPath:"#/definitions/AuthenticationTemplateHdKey/properties/type/const",keyword:"const",params:{allowedValue:"HdKey"},message:"must be equal to constant"};null===n?n=[e]:n.push(e),o++}m=i===o}else m=!0}}}}}}}}else{const e={instancePath:t,schemaPath:"#/definitions/AuthenticationTemplateHdKey/type",keyword:"type",params:{type:"object"},message:"must be object"};null===n?n=[e]:n.push(e),o++}h=s===o;if(c=c||h,!c){const s=o;if(o===o)if(e&&"object"==typeof e&&!Array.isArray(e)){let s;if(void 0===e.type&&(s="type")){const e={instancePath:t,schemaPath:"#/definitions/AuthenticationTemplateKey/required",keyword:"required",params:{missingProperty:s},message:"must have required property '"+s+"'"};null===n?n=[e]:n.push(e),o++}else{const s=o;for(const i in e)if("description"!==i&&"name"!==i&&"type"!==i){const e={instancePath:t,schemaPath:"#/definitions/AuthenticationTemplateKey/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:i},message:"must NOT have additional properties"};null===n?n=[e]:n.push(e),o++;break}if(s===o){if(void 0!==e.description){const s=o;if("string"!=typeof e.description){const e={instancePath:t+"/description",schemaPath:"#/definitions/AuthenticationTemplateKey/properties/description/type",keyword:"type",params:{type:"string"},message:"must be string"};null===n?n=[e]:n.push(e),o++}var d=s===o}else d=!0;if(d){if(void 0!==e.name){const s=o;if("string"!=typeof e.name){const e={instancePath:t+"/name",schemaPath:"#/definitions/AuthenticationTemplateKey/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};null===n?n=[e]:n.push(e),o++}d=s===o}else d=!0;if(d)if(void 0!==e.type){let s=e.type;const i=o;if("string"!=typeof s){const e={instancePath:t+"/type",schemaPath:"#/definitions/AuthenticationTemplateKey/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};null===n?n=[e]:n.push(e),o++}if("Key"!==s){const e={instancePath:t+"/type",schemaPath:"#/definitions/AuthenticationTemplateKey/properties/type/const",keyword:"const",params:{allowedValue:"Key"},message:"must be equal to constant"};null===n?n=[e]:n.push(e),o++}d=i===o}else d=!0}}}}else{const e={instancePath:t,schemaPath:"#/definitions/AuthenticationTemplateKey/type",keyword:"type",params:{type:"object"},message:"must be object"};null===n?n=[e]:n.push(e),o++}h=s===o;if(c=c||h,!c){const s=o;if(o===o)if(e&&"object"==typeof e&&!Array.isArray(e)){let s;if(void 0===e.type&&(s="type")){const e={instancePath:t,schemaPath:"#/definitions/AuthenticationTemplateWalletData/required",keyword:"required",params:{missingProperty:s},message:"must have required property '"+s+"'"};null===n?n=[e]:n.push(e),o++}else{const s=o;for(const i in e)if("description"!==i&&"name"!==i&&"type"!==i){const e={instancePath:t,schemaPath:"#/definitions/AuthenticationTemplateWalletData/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:i},message:"must NOT have additional properties"};null===n?n=[e]:n.push(e),o++;break}if(s===o){if(void 0!==e.description){const s=o;if("string"!=typeof e.description){const e={instancePath:t+"/description",schemaPath:"#/definitions/AuthenticationTemplateWalletData/properties/description/type",keyword:"type",params:{type:"string"},message:"must be string"};null===n?n=[e]:n.push(e),o++}var u=s===o}else u=!0;if(u){if(void 0!==e.name){const s=o;if("string"!=typeof e.name){const e={instancePath:t+"/name",schemaPath:"#/definitions/AuthenticationTemplateWalletData/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};null===n?n=[e]:n.push(e),o++}u=s===o}else u=!0;if(u)if(void 0!==e.type){let s=e.type;const i=o;if("string"!=typeof s){const e={instancePath:t+"/type",schemaPath:"#/definitions/AuthenticationTemplateWalletData/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};null===n?n=[e]:n.push(e),o++}if("WalletData"!==s){const e={instancePath:t+"/type",schemaPath:"#/definitions/AuthenticationTemplateWalletData/properties/type/const",keyword:"const",params:{allowedValue:"WalletData"},message:"must be equal to constant"};null===n?n=[e]:n.push(e),o++}u=i===o}else u=!0}}}}else{const e={instancePath:t,schemaPath:"#/definitions/AuthenticationTemplateWalletData/type",keyword:"type",params:{type:"object"},message:"must be object"};null===n?n=[e]:n.push(e),o++}h=s===o;c=c||h}}}if(!c){const e={instancePath:t,schemaPath:"#/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};return null===n?n=[e]:n.push(e),o++,r.errors=n,!1}return o=p,null!==n&&(p?n.length=p:n=null),r.errors=n,0===o}function n(e){let{instancePath:t="",parentData:s,parentDataProperty:i,rootData:a=e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=null,p=0;if(0===p){if(!e||"object"!=typeof e||Array.isArray(e))return n.errors=[{instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;{const s=p;for(const i in e)if("description"!==i&&"name"!==i&&"scripts"!==i&&"variables"!==i)return n.errors=[{instancePath:t,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:i},message:"must NOT have additional properties"}],!1;if(s===p){if(void 0!==e.description){const s=p;if("string"!=typeof e.description)return n.errors=[{instancePath:t+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var c=s===p}else c=!0;if(c){if(void 0!==e.name){const s=p;if("string"!=typeof e.name)return n.errors=[{instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;c=s===p}else c=!0;if(c){if(void 0!==e.scripts){let s=e.scripts;const i=p;if(p===i){if(!Array.isArray(s))return n.errors=[{instancePath:t+"/scripts",schemaPath:"#/properties/scripts/type",keyword:"type",params:{type:"array"},message:"must be array"}],!1;{const e=s.length;for(let i=0;i<e;i++){const e=p;if("string"!=typeof s[i])return n.errors=[{instancePath:t+"/scripts/"+i,schemaPath:"#/properties/scripts/items/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if(!(e===p))break}}}c=i===p}else c=!0;if(c)if(void 0!==e.variables){let s=e.variables;const i=p;if(p===i){if(!s||"object"!=typeof s||Array.isArray(s))return n.errors=[{instancePath:t+"/variables",schemaPath:"#/properties/variables/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;for(const e in s){const i=p;if(r(s[e],{instancePath:t+"/variables/"+e.replace(/~/g,"~0").replace(/\//g,"~1"),parentData:s,parentDataProperty:e,rootData:a})||(o=null===o?r.errors:o.concat(r.errors),p=o.length),!(i===p))break}}c=i===p}else c=!0}}}}}return n.errors=o,0===p}const o={additionalProperties:!1,description:"An example output used to define a scenario for an authentication template.",properties:{lockingBytecode:{anyOf:[{$ref:"#/definitions/AuthenticationTemplateScenarioBytecode"},{items:{const:"slot",type:"string"},maxItems:1,minItems:1,type:"array"}],description:'The locking bytecode used to encumber this output.\n\n`lockingBytecode` values may be provided as a hexadecimal-encoded string or as an object describing the required compilation. If undefined, defaults to `{}`, which uses the default values for `script` and `overrides`, respectively.\n\nOnly source outputs may specify a `lockingBytecode` of `["slot"]`; this identifies the source output in which the locking script under test will be placed. (To be valid, every scenario\'s `sourceOutputs` property must have exactly one source output slot and one input slot at the same index.)'},token:{additionalProperties:!1,description:"The CashToken contents of this output. This property is only defined if the output contains one or more tokens. For details, see `CHIP-2022-02-CashTokens`.",properties:{amount:{description:'The number of fungible tokens (of `category`) held in this output.\n\nBecause `Number.MAX_SAFE_INTEGER` (`9007199254740991`) is less than the maximum token amount (`9223372036854775807`), this value may also be provided as a string, e.g. `"9223372036854775807"`.\n\nIf undefined, this defaults to: `0`.',type:["number","string"]},category:{description:"The 32-byte, hexadecimal-encoded token category ID to which the token(s) in this output belong in big-endian byte order. This is the byte order typically seen in block explorers and user interfaces (as opposed to little-endian byte order, which is used in standard P2P network messages).\n\nIf undefined, this defaults to the value: `0000000000000000000000000000000000000000000000000000000000000002`",type:"string"},nft:{additionalProperties:!1,description:"If present, the non-fungible token (NFT) held by this output. If the output does not include a non-fungible token, `undefined`.",properties:{capability:{description:"The capability of this non-fungible token, must be either `minting`, `mutable`, or `none`.\n\nIf undefined, this defaults to: `none`.",enum:["minting","mutable","none"],type:"string"},commitment:{description:'The hex-encoded commitment contents included in the non-fungible token held in this output.\n\nIf undefined, this defaults to: `""` (a zero-length commitment).',type:"string"}},type:"object"}},type:"object"},valueSatoshis:{description:'The value of the output in satoshis, the smallest unit of bitcoin.\n\nIn a valid transaction, this is a positive integer, from `0` to the maximum number of satoshis available to the transaction.\n\nThe maximum number of satoshis in existence is about 1/4 of `Number.MAX_SAFE_INTEGER` (`9007199254740991`), so typically, this value is defined using a `number`. However, this value may also be defined using a 16-character, hexadecimal-encoded `string`, to allow for the full range of the 64-bit unsigned, little-endian integer used to encode `valueSatoshis` in the encoded output format, e.g. `"ffffffffffffffff"`. This is useful for representing scenarios where intentionally excessive values are provided (to ensure an otherwise properly-signed transaction can never be included in the blockchain), e.g. transaction size estimations or off-chain Bitauth signatures.\n\nIf undefined, this defaults to: `0`.',type:["number","string"]}},type:"object"};function p(e){let{instancePath:t="",parentData:s,parentDataProperty:i,rootData:a=e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=null,n=0;const o=n;let c=!1;const l=n;if("string"!=typeof e){const e={instancePath:t,schemaPath:"#/anyOf/0/type",keyword:"type",params:{type:"string"},message:"must be string"};null===r?r=[e]:r.push(e),n++}var y=l===n;if(c=c||y,!c){const s=n;if(n===s)if(e&&"object"==typeof e&&!Array.isArray(e)){const s=n;for(const i in e)if("overrides"!==i&&"script"!==i){const e={instancePath:t,schemaPath:"#/anyOf/1/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:i},message:"must NOT have additional properties"};null===r?r=[e]:r.push(e),n++;break}if(s===n){if(void 0!==e.overrides){let s=e.overrides;const i=n;if(n===n)if(s&&"object"==typeof s&&!Array.isArray(s)){const e=n;for(const i in s)if("bytecode"!==i&&"currentBlockHeight"!==i&&"currentBlockTime"!==i&&"hdKeys"!==i&&"keys"!==i){const e={instancePath:t+"/overrides",schemaPath:"#/definitions/AuthenticationTemplateScenarioData/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:i},message:"must NOT have additional properties"};null===r?r=[e]:r.push(e),n++;break}if(e===n){if(void 0!==s.bytecode){let e=s.bytecode;const i=n;if(n===i)if(e&&"object"==typeof e&&!Array.isArray(e))for(const s in e){const i=n;if("string"!=typeof e[s]){const e={instancePath:t+"/overrides/bytecode/"+s.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/definitions/AuthenticationTemplateScenarioData/properties/bytecode/additionalProperties/type",keyword:"type",params:{type:"string"},message:"must be string"};null===r?r=[e]:r.push(e),n++}if(!(i===n))break}else{const e={instancePath:t+"/overrides/bytecode",schemaPath:"#/definitions/AuthenticationTemplateScenarioData/properties/bytecode/type",keyword:"type",params:{type:"object"},message:"must be object"};null===r?r=[e]:r.push(e),n++}var h=i===n}else h=!0;if(h){if(void 0!==s.currentBlockHeight){let e=s.currentBlockHeight;const i=n;if("number"!=typeof e||!isFinite(e)){const e={instancePath:t+"/overrides/currentBlockHeight",schemaPath:"#/definitions/AuthenticationTemplateScenarioData/properties/currentBlockHeight/type",keyword:"type",params:{type:"number"},message:"must be number"};null===r?r=[e]:r.push(e),n++}h=i===n}else h=!0;if(h){if(void 0!==s.currentBlockTime){let e=s.currentBlockTime;const i=n;if("number"!=typeof e||!isFinite(e)){const e={instancePath:t+"/overrides/currentBlockTime",schemaPath:"#/definitions/AuthenticationTemplateScenarioData/properties/currentBlockTime/type",keyword:"type",params:{type:"number"},message:"must be number"};null===r?r=[e]:r.push(e),n++}h=i===n}else h=!0;if(h){if(void 0!==s.hdKeys){let e=s.hdKeys;const i=n;if(n===i)if(e&&"object"==typeof e&&!Array.isArray(e)){const s=n;for(const i in e)if("addressIndex"!==i&&"hdPrivateKeys"!==i&&"hdPublicKeys"!==i){const e={instancePath:t+"/overrides/hdKeys",schemaPath:"#/definitions/AuthenticationTemplateScenarioData/properties/hdKeys/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:i},message:"must NOT have additional properties"};null===r?r=[e]:r.push(e),n++;break}if(s===n){if(void 0!==e.addressIndex){let s=e.addressIndex;const i=n;if("number"!=typeof s||!isFinite(s)){const e={instancePath:t+"/overrides/hdKeys/addressIndex",schemaPath:"#/definitions/AuthenticationTemplateScenarioData/properties/hdKeys/properties/addressIndex/type",keyword:"type",params:{type:"number"},message:"must be number"};null===r?r=[e]:r.push(e),n++}var m=i===n}else m=!0;if(m){if(void 0!==e.hdPrivateKeys){let s=e.hdPrivateKeys;const i=n;if(n===i)if(s&&"object"==typeof s&&!Array.isArray(s))for(const e in s){const i=n;if("string"!=typeof s[e]){const s={instancePath:t+"/overrides/hdKeys/hdPrivateKeys/"+e.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/definitions/AuthenticationTemplateScenarioData/properties/hdKeys/properties/hdPrivateKeys/additionalProperties/type",keyword:"type",params:{type:"string"},message:"must be string"};null===r?r=[s]:r.push(s),n++}if(!(i===n))break}else{const e={instancePath:t+"/overrides/hdKeys/hdPrivateKeys",schemaPath:"#/definitions/AuthenticationTemplateScenarioData/properties/hdKeys/properties/hdPrivateKeys/type",keyword:"type",params:{type:"object"},message:"must be object"};null===r?r=[e]:r.push(e),n++}m=i===n}else m=!0;if(m)if(void 0!==e.hdPublicKeys){let s=e.hdPublicKeys;const i=n;if(n===i)if(s&&"object"==typeof s&&!Array.isArray(s))for(const e in s){const i=n;if("string"!=typeof s[e]){const s={instancePath:t+"/overrides/hdKeys/hdPublicKeys/"+e.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/definitions/AuthenticationTemplateScenarioData/properties/hdKeys/properties/hdPublicKeys/additionalProperties/type",keyword:"type",params:{type:"string"},message:"must be string"};null===r?r=[s]:r.push(s),n++}if(!(i===n))break}else{const e={instancePath:t+"/overrides/hdKeys/hdPublicKeys",schemaPath:"#/definitions/AuthenticationTemplateScenarioData/properties/hdKeys/properties/hdPublicKeys/type",keyword:"type",params:{type:"object"},message:"must be object"};null===r?r=[e]:r.push(e),n++}m=i===n}else m=!0}}}else{const e={instancePath:t+"/overrides/hdKeys",schemaPath:"#/definitions/AuthenticationTemplateScenarioData/properties/hdKeys/type",keyword:"type",params:{type:"object"},message:"must be object"};null===r?r=[e]:r.push(e),n++}h=i===n}else h=!0;if(h)if(void 0!==s.keys){let e=s.keys;const i=n;if(n===i)if(e&&"object"==typeof e&&!Array.isArray(e)){const s=n;for(const i in e)if("privateKeys"!==i){const e={instancePath:t+"/overrides/keys",schemaPath:"#/definitions/AuthenticationTemplateScenarioData/properties/keys/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:i},message:"must NOT have additional properties"};null===r?r=[e]:r.push(e),n++;break}if(s===n&&void 0!==e.privateKeys){let s=e.privateKeys;if(n===n)if(s&&"object"==typeof s&&!Array.isArray(s))for(const e in s){const i=n;if("string"!=typeof s[e]){const s={instancePath:t+"/overrides/keys/privateKeys/"+e.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/definitions/AuthenticationTemplateScenarioData/properties/keys/properties/privateKeys/additionalProperties/type",keyword:"type",params:{type:"string"},message:"must be string"};null===r?r=[s]:r.push(s),n++}if(!(i===n))break}else{const e={instancePath:t+"/overrides/keys/privateKeys",schemaPath:"#/definitions/AuthenticationTemplateScenarioData/properties/keys/properties/privateKeys/type",keyword:"type",params:{type:"object"},message:"must be object"};null===r?r=[e]:r.push(e),n++}}}else{const e={instancePath:t+"/overrides/keys",schemaPath:"#/definitions/AuthenticationTemplateScenarioData/properties/keys/type",keyword:"type",params:{type:"object"},message:"must be object"};null===r?r=[e]:r.push(e),n++}h=i===n}else h=!0}}}}}else{const e={instancePath:t+"/overrides",schemaPath:"#/definitions/AuthenticationTemplateScenarioData/type",keyword:"type",params:{type:"object"},message:"must be object"};null===r?r=[e]:r.push(e),n++}var d=i===n}else d=!0;if(d)if(void 0!==e.script){let s=e.script;const i=n,a=n;let o=!1;const p=n;if("string"!=typeof s){const e={instancePath:t+"/script",schemaPath:"#/anyOf/1/properties/script/anyOf/0/type",keyword:"type",params:{type:"string"},message:"must be string"};null===r?r=[e]:r.push(e),n++}var u=p===n;if(o=o||u,!o){const e=n;if(n===e)if(Array.isArray(s))if(s.length>1){const e={instancePath:t+"/script",schemaPath:"#/anyOf/1/properties/script/anyOf/1/maxItems",keyword:"maxItems",params:{limit:1},message:"must NOT have more than 1 items"};null===r?r=[e]:r.push(e),n++}else if(s.length<1){const e={instancePath:t+"/script",schemaPath:"#/anyOf/1/properties/script/anyOf/1/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};null===r?r=[e]:r.push(e),n++}else{const e=s.length;for(let i=0;i<e;i++){let e=s[i];const a=n;if("string"!=typeof e){const e={instancePath:t+"/script/"+i,schemaPath:"#/anyOf/1/properties/script/anyOf/1/items/type",keyword:"type",params:{type:"string"},message:"must be string"};null===r?r=[e]:r.push(e),n++}if("copy"!==e){const e={instancePath:t+"/script/"+i,schemaPath:"#/anyOf/1/properties/script/anyOf/1/items/const",keyword:"const",params:{allowedValue:"copy"},message:"must be equal to constant"};null===r?r=[e]:r.push(e),n++}if(!(a===n))break}}else{const e={instancePath:t+"/script",schemaPath:"#/anyOf/1/properties/script/anyOf/1/type",keyword:"type",params:{type:"array"},message:"must be array"};null===r?r=[e]:r.push(e),n++}u=e===n;o=o||u}if(o)n=a,null!==r&&(a?r.length=a:r=null);else{const e={instancePath:t+"/script",schemaPath:"#/anyOf/1/properties/script/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};null===r?r=[e]:r.push(e),n++}d=i===n}else d=!0}}else{const e={instancePath:t,schemaPath:"#/anyOf/1/type",keyword:"type",params:{type:"object"},message:"must be object"};null===r?r=[e]:r.push(e),n++}y=s===n;c=c||y}if(!c){const e={instancePath:t,schemaPath:"#/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};return null===r?r=[e]:r.push(e),n++,p.errors=r,!1}return n=o,null!==r&&(o?r.length=o:r=null),p.errors=r,0===n}function c(e){let{instancePath:t="",parentData:s,parentDataProperty:i,rootData:a=e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=null,n=0;if(0===n){if(!e||"object"!=typeof e||Array.isArray(e))return c.errors=[{instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;{const s=n;for(const i in e)if("lockingBytecode"!==i&&"token"!==i&&"valueSatoshis"!==i)return c.errors=[{instancePath:t,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:i},message:"must NOT have additional properties"}],!1;if(s===n){if(void 0!==e.lockingBytecode){let s=e.lockingBytecode;const i=n,o=n;let h=!1;const m=n;p(s,{instancePath:t+"/lockingBytecode",parentData:e,parentDataProperty:"lockingBytecode",rootData:a})||(r=null===r?p.errors:r.concat(p.errors),n=r.length);var l=m===n;if(h=h||l,!h){const e=n;if(n===e)if(Array.isArray(s))if(s.length>1){const e={instancePath:t+"/lockingBytecode",schemaPath:"#/properties/lockingBytecode/anyOf/1/maxItems",keyword:"maxItems",params:{limit:1},message:"must NOT have more than 1 items"};null===r?r=[e]:r.push(e),n++}else if(s.length<1){const e={instancePath:t+"/lockingBytecode",schemaPath:"#/properties/lockingBytecode/anyOf/1/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};null===r?r=[e]:r.push(e),n++}else{const e=s.length;for(let i=0;i<e;i++){let e=s[i];const a=n;if("string"!=typeof e){const e={instancePath:t+"/lockingBytecode/"+i,schemaPath:"#/properties/lockingBytecode/anyOf/1/items/type",keyword:"type",params:{type:"string"},message:"must be string"};null===r?r=[e]:r.push(e),n++}if("slot"!==e){const e={instancePath:t+"/lockingBytecode/"+i,schemaPath:"#/properties/lockingBytecode/anyOf/1/items/const",keyword:"const",params:{allowedValue:"slot"},message:"must be equal to constant"};null===r?r=[e]:r.push(e),n++}if(!(a===n))break}}else{const e={instancePath:t+"/lockingBytecode",schemaPath:"#/properties/lockingBytecode/anyOf/1/type",keyword:"type",params:{type:"array"},message:"must be array"};null===r?r=[e]:r.push(e),n++}l=e===n;h=h||l}if(!h){const e={instancePath:t+"/lockingBytecode",schemaPath:"#/properties/lockingBytecode/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};return null===r?r=[e]:r.push(e),n++,c.errors=r,!1}n=o,null!==r&&(o?r.length=o:r=null);var y=i===n}else y=!0;if(y){if(void 0!==e.token){let s=e.token;const i=n;if(n===i){if(!s||"object"!=typeof s||Array.isArray(s))return c.errors=[{instancePath:t+"/token",schemaPath:"#/properties/token/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;{const e=n;for(const i in s)if("amount"!==i&&"category"!==i&&"nft"!==i)return c.errors=[{instancePath:t+"/token",schemaPath:"#/properties/token/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:i},message:"must NOT have additional properties"}],!1;if(e===n){if(void 0!==s.amount){let e=s.amount;const i=n;if(("number"!=typeof e||!isFinite(e))&&"string"!=typeof e)return c.errors=[{instancePath:t+"/token/amount",schemaPath:"#/properties/token/properties/amount/type",keyword:"type",params:{type:o.properties.token.properties.amount.type},message:"must be number,string"}],!1;var h=i===n}else h=!0;if(h){if(void 0!==s.category){const e=n;if("string"!=typeof s.category)return c.errors=[{instancePath:t+"/token/category",schemaPath:"#/properties/token/properties/category/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;h=e===n}else h=!0;if(h)if(void 0!==s.nft){let e=s.nft;const i=n;if(n===i){if(!e||"object"!=typeof e||Array.isArray(e))return c.errors=[{instancePath:t+"/token/nft",schemaPath:"#/properties/token/properties/nft/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;{const s=n;for(const i in e)if("capability"!==i&&"commitment"!==i)return c.errors=[{instancePath:t+"/token/nft",schemaPath:"#/properties/token/properties/nft/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:i},message:"must NOT have additional properties"}],!1;if(s===n){if(void 0!==e.capability){let s=e.capability;const i=n;if("string"!=typeof s)return c.errors=[{instancePath:t+"/token/nft/capability",schemaPath:"#/properties/token/properties/nft/properties/capability/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if("minting"!==s&&"mutable"!==s&&"none"!==s)return c.errors=[{instancePath:t+"/token/nft/capability",schemaPath:"#/properties/token/properties/nft/properties/capability/enum",keyword:"enum",params:{allowedValues:o.properties.token.properties.nft.properties.capability.enum},message:"must be equal to one of the allowed values"}],!1;var m=i===n}else m=!0;if(m)if(void 0!==e.commitment){const s=n;if("string"!=typeof e.commitment)return c.errors=[{instancePath:t+"/token/nft/commitment",schemaPath:"#/properties/token/properties/nft/properties/commitment/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;m=s===n}else m=!0}}}h=i===n}else h=!0}}}}y=i===n}else y=!0;if(y)if(void 0!==e.valueSatoshis){let s=e.valueSatoshis;const i=n;if(("number"!=typeof s||!isFinite(s))&&"string"!=typeof s)return c.errors=[{instancePath:t+"/valueSatoshis",schemaPath:"#/properties/valueSatoshis/type",keyword:"type",params:{type:o.properties.valueSatoshis.type},message:"must be number,string"}],!1;y=i===n}else y=!0}}}}return c.errors=r,0===n}function l(e){let{instancePath:t="",parentData:s,parentDataProperty:i,rootData:a=e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=null,n=0;if(0===n){if(!e||"object"!=typeof e||Array.isArray(e))return l.errors=[{instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;{const s=n;for(const i in e)if("outpointIndex"!==i&&"outpointTransactionHash"!==i&&"sequenceNumber"!==i&&"unlockingBytecode"!==i)return l.errors=[{instancePath:t,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:i},message:"must NOT have additional properties"}],!1;if(s===n){if(void 0!==e.outpointIndex){let s=e.outpointIndex;const i=n;if("number"!=typeof s||!isFinite(s))return l.errors=[{instancePath:t+"/outpointIndex",schemaPath:"#/properties/outpointIndex/type",keyword:"type",params:{type:"number"},message:"must be number"}],!1;var o=i===n}else o=!0;if(o){if(void 0!==e.outpointTransactionHash){const s=n;if("string"!=typeof e.outpointTransactionHash)return l.errors=[{instancePath:t+"/outpointTransactionHash",schemaPath:"#/properties/outpointTransactionHash/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;o=s===n}else o=!0;if(o){if(void 0!==e.sequenceNumber){let s=e.sequenceNumber;const i=n;if("number"!=typeof s||!isFinite(s))return l.errors=[{instancePath:t+"/sequenceNumber",schemaPath:"#/properties/sequenceNumber/type",keyword:"type",params:{type:"number"},message:"must be number"}],!1;o=i===n}else o=!0;if(o)if(void 0!==e.unlockingBytecode){let s=e.unlockingBytecode;const i=n,y=n;let h=!1;const m=n;p(s,{instancePath:t+"/unlockingBytecode",parentData:e,parentDataProperty:"unlockingBytecode",rootData:a})||(r=null===r?p.errors:r.concat(p.errors),n=r.length);var c=m===n;if(h=h||c,!h){const e=n;if(n===e)if(Array.isArray(s))if(s.length>1){const e={instancePath:t+"/unlockingBytecode",schemaPath:"#/properties/unlockingBytecode/anyOf/1/maxItems",keyword:"maxItems",params:{limit:1},message:"must NOT have more than 1 items"};null===r?r=[e]:r.push(e),n++}else if(s.length<1){const e={instancePath:t+"/unlockingBytecode",schemaPath:"#/properties/unlockingBytecode/anyOf/1/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};null===r?r=[e]:r.push(e),n++}else{const e=s.length;for(let i=0;i<e;i++){let e=s[i];const a=n;if("string"!=typeof e){const e={instancePath:t+"/unlockingBytecode/"+i,schemaPath:"#/properties/unlockingBytecode/anyOf/1/items/type",keyword:"type",params:{type:"string"},message:"must be string"};null===r?r=[e]:r.push(e),n++}if("slot"!==e){const e={instancePath:t+"/unlockingBytecode/"+i,schemaPath:"#/properties/unlockingBytecode/anyOf/1/items/const",keyword:"const",params:{allowedValue:"slot"},message:"must be equal to constant"};null===r?r=[e]:r.push(e),n++}if(!(a===n))break}}else{const e={instancePath:t+"/unlockingBytecode",schemaPath:"#/properties/unlockingBytecode/anyOf/1/type",keyword:"type",params:{type:"array"},message:"must be array"};null===r?r=[e]:r.push(e),n++}c=e===n;h=h||c}if(!h){const e={instancePath:t+"/unlockingBytecode",schemaPath:"#/properties/unlockingBytecode/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};return null===r?r=[e]:r.push(e),n++,l.errors=r,!1}n=y,null!==r&&(y?r.length=y:r=null);o=i===n}else o=!0}}}}}return l.errors=r,0===n}const y={additionalProperties:!1,description:"An example output used to define a scenario for an authentication template.",properties:{lockingBytecode:{$ref:"#/definitions/AuthenticationTemplateScenarioBytecode",description:'The locking bytecode used to encumber this output.\n\n`lockingBytecode` values may be provided as a hexadecimal-encoded string or as an object describing the required compilation. If undefined, defaults to `{}`, which uses the default values for `script` and `overrides`, respectively.\n\nOnly source outputs may specify a `lockingBytecode` of `["slot"]`; this identifies the source output in which the locking script under test will be placed. (To be valid, every scenario\'s `sourceOutputs` property must have exactly one source output slot and one input slot at the same index.)'},token:{additionalProperties:!1,description:"The CashToken contents of this output. This property is only defined if the output contains one or more tokens. For details, see `CHIP-2022-02-CashTokens`.",properties:{amount:{description:'The number of fungible tokens (of `category`) held in this output.\n\nBecause `Number.MAX_SAFE_INTEGER` (`9007199254740991`) is less than the maximum token amount (`9223372036854775807`), this value may also be provided as a string, e.g. `"9223372036854775807"`.\n\nIf undefined, this defaults to: `0`.',type:["number","string"]},category:{description:"The 32-byte, hexadecimal-encoded token category ID to which the token(s) in this output belong in big-endian byte order. This is the byte order typically seen in block explorers and user interfaces (as opposed to little-endian byte order, which is used in standard P2P network messages).\n\nIf undefined, this defaults to the value: `0000000000000000000000000000000000000000000000000000000000000002`",type:"string"},nft:{additionalProperties:!1,description:"If present, the non-fungible token (NFT) held by this output. If the output does not include a non-fungible token, `undefined`.",properties:{capability:{description:"The capability of this non-fungible token, must be either `minting`, `mutable`, or `none`.\n\nIf undefined, this defaults to: `none`.",enum:["minting","mutable","none"],type:"string"},commitment:{description:'The hex-encoded commitment contents included in the non-fungible token held in this output.\n\nIf undefined, this defaults to: `""` (a zero-length commitment).',type:"string"}},type:"object"}},type:"object"},valueSatoshis:{description:'The value of the output in satoshis, the smallest unit of bitcoin.\n\nIn a valid transaction, this is a positive integer, from `0` to the maximum number of satoshis available to the transaction.\n\nThe maximum number of satoshis in existence is about 1/4 of `Number.MAX_SAFE_INTEGER` (`9007199254740991`), so typically, this value is defined using a `number`. However, this value may also be defined using a 16-character, hexadecimal-encoded `string`, to allow for the full range of the 64-bit unsigned, little-endian integer used to encode `valueSatoshis` in the encoded output format, e.g. `"ffffffffffffffff"`. This is useful for representing scenarios where intentionally excessive values are provided (to ensure an otherwise properly-signed transaction can never be included in the blockchain), e.g. transaction size estimations or off-chain Bitauth signatures.\n\nIf undefined, this defaults to: `0`.',type:["number","string"]}},type:"object"};function h(e){let{instancePath:t="",parentData:s,parentDataProperty:i,rootData:a=e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=null,n=0;if(0===n){if(!e||"object"!=typeof e||Array.isArray(e))return h.errors=[{instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;{const s=n;for(const i in e)if("lockingBytecode"!==i&&"token"!==i&&"valueSatoshis"!==i)return h.errors=[{instancePath:t,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:i},message:"must NOT have additional properties"}],!1;if(s===n){if(void 0!==e.lockingBytecode){const s=n;p(e.lockingBytecode,{instancePath:t+"/lockingBytecode",parentData:e,parentDataProperty:"lockingBytecode",rootData:a})||(r=null===r?p.errors:r.concat(p.errors),n=r.length);var o=s===n}else o=!0;if(o){if(void 0!==e.token){let s=e.token;const i=n;if(n===i){if(!s||"object"!=typeof s||Array.isArray(s))return h.errors=[{instancePath:t+"/token",schemaPath:"#/properties/token/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;{const e=n;for(const i in s)if("amount"!==i&&"category"!==i&&"nft"!==i)return h.errors=[{instancePath:t+"/token",schemaPath:"#/properties/token/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:i},message:"must NOT have additional properties"}],!1;if(e===n){if(void 0!==s.amount){let e=s.amount;const i=n;if(("number"!=typeof e||!isFinite(e))&&"string"!=typeof e)return h.errors=[{instancePath:t+"/token/amount",schemaPath:"#/properties/token/properties/amount/type",keyword:"type",params:{type:y.properties.token.properties.amount.type},message:"must be number,string"}],!1;var c=i===n}else c=!0;if(c){if(void 0!==s.category){const e=n;if("string"!=typeof s.category)return h.errors=[{instancePath:t+"/token/category",schemaPath:"#/properties/token/properties/category/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;c=e===n}else c=!0;if(c)if(void 0!==s.nft){let e=s.nft;const i=n;if(n===i){if(!e||"object"!=typeof e||Array.isArray(e))return h.errors=[{instancePath:t+"/token/nft",schemaPath:"#/properties/token/properties/nft/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;{const s=n;for(const i in e)if("capability"!==i&&"commitment"!==i)return h.errors=[{instancePath:t+"/token/nft",schemaPath:"#/properties/token/properties/nft/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:i},message:"must NOT have additional properties"}],!1;if(s===n){if(void 0!==e.capability){let s=e.capability;const i=n;if("string"!=typeof s)return h.errors=[{instancePath:t+"/token/nft/capability",schemaPath:"#/properties/token/properties/nft/properties/capability/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if("minting"!==s&&"mutable"!==s&&"none"!==s)return h.errors=[{instancePath:t+"/token/nft/capability",schemaPath:"#/properties/token/properties/nft/properties/capability/enum",keyword:"enum",params:{allowedValues:y.properties.token.properties.nft.properties.capability.enum},message:"must be equal to one of the allowed values"}],!1;var l=i===n}else l=!0;if(l)if(void 0!==e.commitment){const s=n;if("string"!=typeof e.commitment)return h.errors=[{instancePath:t+"/token/nft/commitment",schemaPath:"#/properties/token/properties/nft/properties/commitment/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;l=s===n}else l=!0}}}c=i===n}else c=!0}}}}o=i===n}else o=!0;if(o)if(void 0!==e.valueSatoshis){let s=e.valueSatoshis;const i=n;if(("number"!=typeof s||!isFinite(s))&&"string"!=typeof s)return h.errors=[{instancePath:t+"/valueSatoshis",schemaPath:"#/properties/valueSatoshis/type",keyword:"type",params:{type:y.properties.valueSatoshis.type},message:"must be number,string"}],!1;o=i===n}else o=!0}}}}return h.errors=r,0===n}function m(e){let{instancePath:t="",parentData:s,parentDataProperty:i,rootData:a=e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=null,n=0;if(0===n){if(!e||"object"!=typeof e||Array.isArray(e))return m.errors=[{instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;{const s=n;for(const i in e)if("data"!==i&&"description"!==i&&"extends"!==i&&"name"!==i&&"sourceOutputs"!==i&&"transaction"!==i)return m.errors=[{instancePath:t,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:i},message:"must NOT have additional properties"}],!1;if(s===n){if(void 0!==e.data){let s=e.data;const i=n;if(n===n){if(!s||"object"!=typeof s||Array.isArray(s))return m.errors=[{instancePath:t+"/data",schemaPath:"#/definitions/AuthenticationTemplateScenarioData/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;{const e=n;for(const i in s)if("bytecode"!==i&&"currentBlockHeight"!==i&&"currentBlockTime"!==i&&"hdKeys"!==i&&"keys"!==i)return m.errors=[{instancePath:t+"/data",schemaPath:"#/definitions/AuthenticationTemplateScenarioData/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:i},message:"must NOT have additional properties"}],!1;if(e===n){if(void 0!==s.bytecode){let e=s.bytecode;const i=n;if(n===i){if(!e||"object"!=typeof e||Array.isArray(e))return m.errors=[{instancePath:t+"/data/bytecode",schemaPath:"#/definitions/AuthenticationTemplateScenarioData/properties/bytecode/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;for(const s in e){const i=n;if("string"!=typeof e[s])return m.errors=[{instancePath:t+"/data/bytecode/"+s.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/definitions/AuthenticationTemplateScenarioData/properties/bytecode/additionalProperties/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if(!(i===n))break}}var o=i===n}else o=!0;if(o){if(void 0!==s.currentBlockHeight){let e=s.currentBlockHeight;const i=n;if("number"!=typeof e||!isFinite(e))return m.errors=[{instancePath:t+"/data/currentBlockHeight",schemaPath:"#/definitions/AuthenticationTemplateScenarioData/properties/currentBlockHeight/type",keyword:"type",params:{type:"number"},message:"must be number"}],!1;o=i===n}else o=!0;if(o){if(void 0!==s.currentBlockTime){let e=s.currentBlockTime;const i=n;if("number"!=typeof e||!isFinite(e))return m.errors=[{instancePath:t+"/data/currentBlockTime",schemaPath:"#/definitions/AuthenticationTemplateScenarioData/properties/currentBlockTime/type",keyword:"type",params:{type:"number"},message:"must be number"}],!1;o=i===n}else o=!0;if(o){if(void 0!==s.hdKeys){let e=s.hdKeys;const i=n;if(n===i){if(!e||"object"!=typeof e||Array.isArray(e))return m.errors=[{instancePath:t+"/data/hdKeys",schemaPath:"#/definitions/AuthenticationTemplateScenarioData/properties/hdKeys/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;{const s=n;for(const i in e)if("addressIndex"!==i&&"hdPrivateKeys"!==i&&"hdPublicKeys"!==i)return m.errors=[{instancePath:t+"/data/hdKeys",schemaPath:"#/definitions/AuthenticationTemplateScenarioData/properties/hdKeys/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:i},message:"must NOT have additional properties"}],!1;if(s===n){if(void 0!==e.addressIndex){let s=e.addressIndex;const i=n;if("number"!=typeof s||!isFinite(s))return m.errors=[{instancePath:t+"/data/hdKeys/addressIndex",schemaPath:"#/definitions/AuthenticationTemplateScenarioData/properties/hdKeys/properties/addressIndex/type",keyword:"type",params:{type:"number"},message:"must be number"}],!1;var p=i===n}else p=!0;if(p){if(void 0!==e.hdPrivateKeys){let s=e.hdPrivateKeys;const i=n;if(n===i){if(!s||"object"!=typeof s||Array.isArray(s))return m.errors=[{instancePath:t+"/data/hdKeys/hdPrivateKeys",schemaPath:"#/definitions/AuthenticationTemplateScenarioData/properties/hdKeys/properties/hdPrivateKeys/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;for(const e in s){const i=n;if("string"!=typeof s[e])return m.errors=[{instancePath:t+"/data/hdKeys/hdPrivateKeys/"+e.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/definitions/AuthenticationTemplateScenarioData/properties/hdKeys/properties/hdPrivateKeys/additionalProperties/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if(!(i===n))break}}p=i===n}else p=!0;if(p)if(void 0!==e.hdPublicKeys){let s=e.hdPublicKeys;const i=n;if(n===i){if(!s||"object"!=typeof s||Array.isArray(s))return m.errors=[{instancePath:t+"/data/hdKeys/hdPublicKeys",schemaPath:"#/definitions/AuthenticationTemplateScenarioData/properties/hdKeys/properties/hdPublicKeys/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;for(const e in s){const i=n;if("string"!=typeof s[e])return m.errors=[{instancePath:t+"/data/hdKeys/hdPublicKeys/"+e.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/definitions/AuthenticationTemplateScenarioData/properties/hdKeys/properties/hdPublicKeys/additionalProperties/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if(!(i===n))break}}p=i===n}else p=!0}}}}o=i===n}else o=!0;if(o)if(void 0!==s.keys){let e=s.keys;const i=n;if(n===i){if(!e||"object"!=typeof e||Array.isArray(e))return m.errors=[{instancePath:t+"/data/keys",schemaPath:"#/definitions/AuthenticationTemplateScenarioData/properties/keys/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;{const s=n;for(const i in e)if("privateKeys"!==i)return m.errors=[{instancePath:t+"/data/keys",schemaPath:"#/definitions/AuthenticationTemplateScenarioData/properties/keys/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:i},message:"must NOT have additional properties"}],!1;if(s===n&&void 0!==e.privateKeys){let s=e.privateKeys;if(n===n){if(!s||"object"!=typeof s||Array.isArray(s))return m.errors=[{instancePath:t+"/data/keys/privateKeys",schemaPath:"#/definitions/AuthenticationTemplateScenarioData/properties/keys/properties/privateKeys/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;for(const e in s){const i=n;if("string"!=typeof s[e])return m.errors=[{instancePath:t+"/data/keys/privateKeys/"+e.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/definitions/AuthenticationTemplateScenarioData/properties/keys/properties/privateKeys/additionalProperties/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if(!(i===n))break}}}}}o=i===n}else o=!0}}}}}}var y=i===n}else y=!0;if(y){if(void 0!==e.description){const s=n;if("string"!=typeof e.description)return m.errors=[{instancePath:t+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;y=s===n}else y=!0;if(y){if(void 0!==e.extends){const s=n;if("string"!=typeof e.extends)return m.errors=[{instancePath:t+"/extends",schemaPath:"#/properties/extends/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;y=s===n}else y=!0;if(y){if(void 0!==e.name){const s=n;if("string"!=typeof e.name)return m.errors=[{instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;y=s===n}else y=!0;if(y){if(void 0!==e.sourceOutputs){let s=e.sourceOutputs;const i=n;if(n===i){if(!Array.isArray(s))return m.errors=[{instancePath:t+"/sourceOutputs",schemaPath:"#/properties/sourceOutputs/type",keyword:"type",params:{type:"array"},message:"must be array"}],!1;{const e=s.length;for(let i=0;i<e;i++){const e=n;if(c(s[i],{instancePath:t+"/sourceOutputs/"+i,parentData:s,parentDataProperty:i,rootData:a})||(r=null===r?c.errors:r.concat(c.errors),n=r.length),!(e===n))break}}}y=i===n}else y=!0;if(y)if(void 0!==e.transaction){let s=e.transaction;const i=n;if(n===i){if(!s||"object"!=typeof s||Array.isArray(s))return m.errors=[{instancePath:t+"/transaction",schemaPath:"#/properties/transaction/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;{const e=n;for(const i in s)if("inputs"!==i&&"locktime"!==i&&"outputs"!==i&&"version"!==i)return m.errors=[{instancePath:t+"/transaction",schemaPath:"#/properties/transaction/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:i},message:"must NOT have additional properties"}],!1;if(e===n){if(void 0!==s.inputs){let e=s.inputs;const i=n;if(n===i){if(!Array.isArray(e))return m.errors=[{instancePath:t+"/transaction/inputs",schemaPath:"#/properties/transaction/properties/inputs/type",keyword:"type",params:{type:"array"},message:"must be array"}],!1;{const s=e.length;for(let i=0;i<s;i++){const s=n;if(l(e[i],{instancePath:t+"/transaction/inputs/"+i,parentData:e,parentDataProperty:i,rootData:a})||(r=null===r?l.errors:r.concat(l.errors),n=r.length),!(s===n))break}}}var d=i===n}else d=!0;if(d){if(void 0!==s.locktime){let e=s.locktime;const i=n;if("number"!=typeof e||!isFinite(e))return m.errors=[{instancePath:t+"/transaction/locktime",schemaPath:"#/properties/transaction/properties/locktime/type",keyword:"type",params:{type:"number"},message:"must be number"}],!1;d=i===n}else d=!0;if(d){if(void 0!==s.outputs){let e=s.outputs;const i=n;if(n===i){if(!Array.isArray(e))return m.errors=[{instancePath:t+"/transaction/outputs",schemaPath:"#/properties/transaction/properties/outputs/type",keyword:"type",params:{type:"array"},message:"must be array"}],!1;{const s=e.length;for(let i=0;i<s;i++){const s=n;if(h(e[i],{instancePath:t+"/transaction/outputs/"+i,parentData:e,parentDataProperty:i,rootData:a})||(r=null===r?h.errors:r.concat(h.errors),n=r.length),!(s===n))break}}}d=i===n}else d=!0;if(d)if(void 0!==s.version){let e=s.version;const i=n;if("number"!=typeof e||!isFinite(e))return m.errors=[{instancePath:t+"/transaction/version",schemaPath:"#/properties/transaction/properties/version/type",keyword:"type",params:{type:"number"},message:"must be number"}],!1;d=i===n}else d=!0}}}}}y=i===n}else y=!0}}}}}}}return m.errors=r,0===n}function d(e){let{instancePath:t="",parentData:s,parentDataProperty:i,rootData:a=e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e||"object"!=typeof e||Array.isArray(e))return d.errors=[{instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;{let s;if(void 0===e.script&&(s="script")||void 0===e.tests&&(s="tests"))return d.errors=[{instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:s},message:"must have required property '"+s+"'"}],!1;{const s=0;for(const i in e)if("name"!==i&&"pushed"!==i&&"script"!==i&&"tests"!==i)return d.errors=[{instancePath:t,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:i},message:"must NOT have additional properties"}],!1;if(0===s){if(void 0!==e.name){const s=0;if("string"!=typeof e.name)return d.errors=[{instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var r=0===s}else r=!0;if(r){if(void 0!==e.pushed){const s=0;if("boolean"!=typeof e.pushed)return d.errors=[{instancePath:t+"/pushed",schemaPath:"#/properties/pushed/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;r=0===s}else r=!0;if(r){if(void 0!==e.script){const s=0;if("string"!=typeof e.script)return d.errors=[{instancePath:t+"/script",schemaPath:"#/properties/script/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;r=0===s}else r=!0;if(r)if(void 0!==e.tests){let s=e.tests;const i=0;if(0===i){if(!s||"object"!=typeof s||Array.isArray(s))return d.errors=[{instancePath:t+"/tests",schemaPath:"#/properties/tests/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;for(const e in s){let i=s[e];const a=0;if(0===0){if(!i||"object"!=typeof i||Array.isArray(i))return d.errors=[{instancePath:t+"/tests/"+e.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/definitions/AuthenticationTemplateScriptTest/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;{let s;if(void 0===i.check&&(s="check"))return d.errors=[{instancePath:t+"/tests/"+e.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/definitions/AuthenticationTemplateScriptTest/required",keyword:"required",params:{missingProperty:s},message:"must have required property '"+s+"'"}],!1;{const s=0;for(const a in i)if("check"!==a&&"fails"!==a&&"invalid"!==a&&"name"!==a&&"passes"!==a&&"setup"!==a)return d.errors=[{instancePath:t+"/tests/"+e.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/definitions/AuthenticationTemplateScriptTest/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:a},message:"must NOT have additional properties"}],!1;if(0===s){if(void 0!==i.check){const s=0;if("string"!=typeof i.check)return d.errors=[{instancePath:t+"/tests/"+e.replace(/~/g,"~0").replace(/\//g,"~1")+"/check",schemaPath:"#/definitions/AuthenticationTemplateScriptTest/properties/check/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var n=0===s}else n=!0;if(n){if(void 0!==i.fails){let s=i.fails;const a=0;if(0===a){if(!Array.isArray(s))return d.errors=[{instancePath:t+"/tests/"+e.replace(/~/g,"~0").replace(/\//g,"~1")+"/fails",schemaPath:"#/definitions/AuthenticationTemplateScriptTest/properties/fails/type",keyword:"type",params:{type:"array"},message:"must be array"}],!1;{const i=s.length;for(let a=0;a<i;a++){const i=0;if("string"!=typeof s[a])return d.errors=[{instancePath:t+"/tests/"+e.replace(/~/g,"~0").replace(/\//g,"~1")+"/fails/"+a,schemaPath:"#/definitions/AuthenticationTemplateScriptTest/properties/fails/items/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if(!(0===i))break}}}n=0===a}else n=!0;if(n){if(void 0!==i.invalid){let s=i.invalid;const a=0;if(0===a){if(!Array.isArray(s))return d.errors=[{instancePath:t+"/tests/"+e.replace(/~/g,"~0").replace(/\//g,"~1")+"/invalid",schemaPath:"#/definitions/AuthenticationTemplateScriptTest/properties/invalid/type",keyword:"type",params:{type:"array"},message:"must be array"}],!1;{const i=s.length;for(let a=0;a<i;a++){const i=0;if("string"!=typeof s[a])return d.errors=[{instancePath:t+"/tests/"+e.replace(/~/g,"~0").replace(/\//g,"~1")+"/invalid/"+a,schemaPath:"#/definitions/AuthenticationTemplateScriptTest/properties/invalid/items/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if(!(0===i))break}}}n=0===a}else n=!0;if(n){if(void 0!==i.name){const s=0;if("string"!=typeof i.name)return d.errors=[{instancePath:t+"/tests/"+e.replace(/~/g,"~0").replace(/\//g,"~1")+"/name",schemaPath:"#/definitions/AuthenticationTemplateScriptTest/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;n=0===s}else n=!0;if(n){if(void 0!==i.passes){let s=i.passes;const a=0;if(0===a){if(!Array.isArray(s))return d.errors=[{instancePath:t+"/tests/"+e.replace(/~/g,"~0").replace(/\//g,"~1")+"/passes",schemaPath:"#/definitions/AuthenticationTemplateScriptTest/properties/passes/type",keyword:"type",params:{type:"array"},message:"must be array"}],!1;{const i=s.length;for(let a=0;a<i;a++){const i=0;if("string"!=typeof s[a])return d.errors=[{instancePath:t+"/tests/"+e.replace(/~/g,"~0").replace(/\//g,"~1")+"/passes/"+a,schemaPath:"#/definitions/AuthenticationTemplateScriptTest/properties/passes/items/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if(!(0===i))break}}}n=0===a}else n=!0;if(n)if(void 0!==i.setup){const s=0;if("string"!=typeof i.setup)return d.errors=[{instancePath:t+"/tests/"+e.replace(/~/g,"~0").replace(/\//g,"~1")+"/setup",schemaPath:"#/definitions/AuthenticationTemplateScriptTest/properties/setup/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;n=0===s}else n=!0}}}}}}}}if(!(0===a))break}}r=0===i}else r=!0}}}}}return d.errors=null,!0}const u=Object.prototype.hasOwnProperty;function f(e){let{instancePath:t="",parentData:r,parentDataProperty:o,rootData:p=e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},c=null,l=0;if(0===l){if(!e||"object"!=typeof e||Array.isArray(e))return f.errors=[{instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;{let r;if(void 0===e.entities&&(r="entities")||void 0===e.scripts&&(r="scripts")||void 0===e.supported&&(r="supported")||void 0===e.version&&(r="version"))return f.errors=[{instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:r},message:"must have required property '"+r+"'"}],!1;{const r=l;for(const s in e)if("$schema"!==s&&"description"!==s&&"entities"!==s&&"name"!==s&&"scenarios"!==s&&"scripts"!==s&&"supported"!==s&&"version"!==s)return f.errors=[{instancePath:t,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:s},message:"must NOT have additional properties"}],!1;if(r===l){if(void 0!==e.$schema){const s=l;if("string"!=typeof e.$schema)return f.errors=[{instancePath:t+"/$schema",schemaPath:"#/properties/%24schema/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var y=s===l}else y=!0;if(y){if(void 0!==e.description){const s=l;if("string"!=typeof e.description)return f.errors=[{instancePath:t+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;y=s===l}else y=!0;if(y){if(void 0!==e.entities){let s=e.entities;const i=l;if(l===i){if(!s||"object"!=typeof s||Array.isArray(s))return f.errors=[{instancePath:t+"/entities",schemaPath:"#/properties/entities/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;for(const e in s){const i=l;if(n(s[e],{instancePath:t+"/entities/"+e.replace(/~/g,"~0").replace(/\//g,"~1"),parentData:s,parentDataProperty:e,rootData:p})||(c=null===c?n.errors:c.concat(n.errors),l=c.length),!(i===l))break}}y=i===l}else y=!0;if(y){if(void 0!==e.name){const s=l;if("string"!=typeof e.name)return f.errors=[{instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;y=s===l}else y=!0;if(y){if(void 0!==e.scenarios){let s=e.scenarios;const i=l;if(l===i){if(!s||"object"!=typeof s||Array.isArray(s))return f.errors=[{instancePath:t+"/scenarios",schemaPath:"#/properties/scenarios/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;for(const e in s){const i=l;if(m(s[e],{instancePath:t+"/scenarios/"+e.replace(/~/g,"~0").replace(/\//g,"~1"),parentData:s,parentDataProperty:e,rootData:p})||(c=null===c?m.errors:c.concat(m.errors),l=c.length),!(i===l))break}}y=i===l}else y=!0;if(y){if(void 0!==e.scripts){let a=e.scripts;const r=l;if(l===r){if(!a||"object"!=typeof a||Array.isArray(a))return f.errors=[{instancePath:t+"/scripts",schemaPath:"#/properties/scripts/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;for(const e in a){let r=a[e];const n=l,o=l;let y=!1;const m=l;if(l===l)if(r&&"object"==typeof r&&!Array.isArray(r)){let s;if(void 0===r.script&&(s="script")){const i={instancePath:t+"/scripts/"+e.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/definitions/AuthenticationTemplateScript/required",keyword:"required",params:{missingProperty:s},message:"must have required property '"+s+"'"};null===c?c=[i]:c.push(i),l++}else{const s=l;for(const i in r)if("name"!==i&&"script"!==i){const s={instancePath:t+"/scripts/"+e.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/definitions/AuthenticationTemplateScript/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:i},message:"must NOT have additional properties"};null===c?c=[s]:c.push(s),l++;break}if(s===l){if(void 0!==r.name){const s=l;if("string"!=typeof r.name){const s={instancePath:t+"/scripts/"+e.replace(/~/g,"~0").replace(/\//g,"~1")+"/name",schemaPath:"#/definitions/AuthenticationTemplateScript/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};null===c?c=[s]:c.push(s),l++}var h=s===l}else h=!0;if(h)if(void 0!==r.script){const s=l;if("string"!=typeof r.script){const s={instancePath:t+"/scripts/"+e.replace(/~/g,"~0").replace(/\//g,"~1")+"/script",schemaPath:"#/definitions/AuthenticationTemplateScript/properties/script/type",keyword:"type",params:{type:"string"},message:"must be string"};null===c?c=[s]:c.push(s),l++}h=s===l}else h=!0}}}else{const s={instancePath:t+"/scripts/"+e.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/definitions/AuthenticationTemplateScript/type",keyword:"type",params:{type:"object"},message:"must be object"};null===c?c=[s]:c.push(s),l++}var g=m===l;if(y=y||g,!y){const n=l;if(l===l)if(r&&"object"==typeof r&&!Array.isArray(r)){let i;if(void 0===r.lockingType&&(i="lockingType")||void 0===r.script&&(i="script")){const s={instancePath:t+"/scripts/"+e.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/definitions/AuthenticationTemplateScriptLocking/required",keyword:"required",params:{missingProperty:i},message:"must have required property '"+i+"'"};null===c?c=[s]:c.push(s),l++}else{const i=l;for(const s in r)if("lockingType"!==s&&"name"!==s&&"script"!==s){const i={instancePath:t+"/scripts/"+e.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/definitions/AuthenticationTemplateScriptLocking/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:s},message:"must NOT have additional properties"};null===c?c=[i]:c.push(i),l++;break}if(i===l){if(void 0!==r.lockingType){let i=r.lockingType;const a=l;if("string"!=typeof i){const s={instancePath:t+"/scripts/"+e.replace(/~/g,"~0").replace(/\//g,"~1")+"/lockingType",schemaPath:"#/definitions/AuthenticationTemplateScriptLocking/properties/lockingType/type",keyword:"type",params:{type:"string"},message:"must be string"};null===c?c=[s]:c.push(s),l++}if("p2sh20"!==i&&"p2sh32"!==i&&"standard"!==i){const i={instancePath:t+"/scripts/"+e.replace(/~/g,"~0").replace(/\//g,"~1")+"/lockingType",schemaPath:"#/definitions/AuthenticationTemplateScriptLocking/properties/lockingType/enum",keyword:"enum",params:{allowedValues:s.properties.lockingType.enum},message:"must be equal to one of the allowed values"};null===c?c=[i]:c.push(i),l++}var P=a===l}else P=!0;if(P){if(void 0!==r.name){const s=l;if("string"!=typeof r.name){const s={instancePath:t+"/scripts/"+e.replace(/~/g,"~0").replace(/\//g,"~1")+"/name",schemaPath:"#/definitions/AuthenticationTemplateScriptLocking/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};null===c?c=[s]:c.push(s),l++}P=s===l}else P=!0;if(P)if(void 0!==r.script){const s=l;if("string"!=typeof r.script){const s={instancePath:t+"/scripts/"+e.replace(/~/g,"~0").replace(/\//g,"~1")+"/script",schemaPath:"#/definitions/AuthenticationTemplateScriptLocking/properties/script/type",keyword:"type",params:{type:"string"},message:"must be string"};null===c?c=[s]:c.push(s),l++}P=s===l}else P=!0}}}}else{const s={instancePath:t+"/scripts/"+e.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/definitions/AuthenticationTemplateScriptLocking/type",keyword:"type",params:{type:"object"},message:"must be object"};null===c?c=[s]:c.push(s),l++}g=n===l;if(y=y||g,!y){const s=l;d(r,{instancePath:t+"/scripts/"+e.replace(/~/g,"~0").replace(/\//g,"~1"),parentData:a,parentDataProperty:e,rootData:p})||(c=null===c?d.errors:c.concat(d.errors),l=c.length);g=s===l;if(y=y||g,!y){const s=l;if(l===l)if(r&&"object"==typeof r&&!Array.isArray(r)){let s;if(void 0===r.script&&(s="script")||void 0===r.unlocks&&(s="unlocks")){const i={instancePath:t+"/scripts/"+e.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/definitions/AuthenticationTemplateScriptUnlocking/required",keyword:"required",params:{missingProperty:s},message:"must have required property '"+s+"'"};null===c?c=[i]:c.push(i),l++}else{const s=l;for(const a in r)if(!u.call(i.properties,a)){const s={instancePath:t+"/scripts/"+e.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/definitions/AuthenticationTemplateScriptUnlocking/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:a},message:"must NOT have additional properties"};null===c?c=[s]:c.push(s),l++;break}if(s===l){if(void 0!==r.ageLock){const s=l;if("string"!=typeof r.ageLock){const s={instancePath:t+"/scripts/"+e.replace(/~/g,"~0").replace(/\//g,"~1")+"/ageLock",schemaPath:"#/definitions/AuthenticationTemplateScriptUnlocking/properties/ageLock/type",keyword:"type",params:{type:"string"},message:"must be string"};null===c?c=[s]:c.push(s),l++}var b=s===l}else b=!0;if(b){if(void 0!==r.estimate){const s=l;if("string"!=typeof r.estimate){const s={instancePath:t+"/scripts/"+e.replace(/~/g,"~0").replace(/\//g,"~1")+"/estimate",schemaPath:"#/definitions/AuthenticationTemplateScriptUnlocking/properties/estimate/type",keyword:"type",params:{type:"string"},message:"must be string"};null===c?c=[s]:c.push(s),l++}b=s===l}else b=!0;if(b){if(void 0!==r.fails){let s=r.fails;const i=l;if(l===i)if(Array.isArray(s)){const i=s.length;for(let a=0;a<i;a++){const i=l;if("string"!=typeof s[a]){const s={instancePath:t+"/scripts/"+e.replace(/~/g,"~0").replace(/\//g,"~1")+"/fails/"+a,schemaPath:"#/definitions/AuthenticationTemplateScriptUnlocking/properties/fails/items/type",keyword:"type",params:{type:"string"},message:"must be string"};null===c?c=[s]:c.push(s),l++}if(!(i===l))break}}else{const s={instancePath:t+"/scripts/"+e.replace(/~/g,"~0").replace(/\//g,"~1")+"/fails",schemaPath:"#/definitions/AuthenticationTemplateScriptUnlocking/properties/fails/type",keyword:"type",params:{type:"array"},message:"must be array"};null===c?c=[s]:c.push(s),l++}b=i===l}else b=!0;if(b){if(void 0!==r.invalid){let s=r.invalid;const i=l;if(l===i)if(Array.isArray(s)){const i=s.length;for(let a=0;a<i;a++){const i=l;if("string"!=typeof s[a]){const s={instancePath:t+"/scripts/"+e.replace(/~/g,"~0").replace(/\//g,"~1")+"/invalid/"+a,schemaPath:"#/definitions/AuthenticationTemplateScriptUnlocking/properties/invalid/items/type",keyword:"type",params:{type:"string"},message:"must be string"};null===c?c=[s]:c.push(s),l++}if(!(i===l))break}}else{const s={instancePath:t+"/scripts/"+e.replace(/~/g,"~0").replace(/\//g,"~1")+"/invalid",schemaPath:"#/definitions/AuthenticationTemplateScriptUnlocking/properties/invalid/type",keyword:"type",params:{type:"array"},message:"must be array"};null===c?c=[s]:c.push(s),l++}b=i===l}else b=!0;if(b){if(void 0!==r.name){const s=l;if("string"!=typeof r.name){const s={instancePath:t+"/scripts/"+e.replace(/~/g,"~0").replace(/\//g,"~1")+"/name",schemaPath:"#/definitions/AuthenticationTemplateScriptUnlocking/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};null===c?c=[s]:c.push(s),l++}b=s===l}else b=!0;if(b){if(void 0!==r.passes){let s=r.passes;const i=l;if(l===i)if(Array.isArray(s)){const i=s.length;for(let a=0;a<i;a++){const i=l;if("string"!=typeof s[a]){const s={instancePath:t+"/scripts/"+e.replace(/~/g,"~0").replace(/\//g,"~1")+"/passes/"+a,schemaPath:"#/definitions/AuthenticationTemplateScriptUnlocking/properties/passes/items/type",keyword:"type",params:{type:"string"},message:"must be string"};null===c?c=[s]:c.push(s),l++}if(!(i===l))break}}else{const s={instancePath:t+"/scripts/"+e.replace(/~/g,"~0").replace(/\//g,"~1")+"/passes",schemaPath:"#/definitions/AuthenticationTemplateScriptUnlocking/properties/passes/type",keyword:"type",params:{type:"array"},message:"must be array"};null===c?c=[s]:c.push(s),l++}b=i===l}else b=!0;if(b){if(void 0!==r.script){const s=l;if("string"!=typeof r.script){const s={instancePath:t+"/scripts/"+e.replace(/~/g,"~0").replace(/\//g,"~1")+"/script",schemaPath:"#/definitions/AuthenticationTemplateScriptUnlocking/properties/script/type",keyword:"type",params:{type:"string"},message:"must be string"};null===c?c=[s]:c.push(s),l++}b=s===l}else b=!0;if(b){if(void 0!==r.timeLockType){let s=r.timeLockType;const a=l;if("string"!=typeof s){const s={instancePath:t+"/scripts/"+e.replace(/~/g,"~0").replace(/\//g,"~1")+"/timeLockType",schemaPath:"#/definitions/AuthenticationTemplateScriptUnlocking/properties/timeLockType/type",keyword:"type",params:{type:"string"},message:"must be string"};null===c?c=[s]:c.push(s),l++}if("height"!==s&&"timestamp"!==s){const s={instancePath:t+"/scripts/"+e.replace(/~/g,"~0").replace(/\//g,"~1")+"/timeLockType",schemaPath:"#/definitions/AuthenticationTemplateScriptUnlocking/properties/timeLockType/enum",keyword:"enum",params:{allowedValues:i.properties.timeLockType.enum},message:"must be equal to one of the allowed values"};null===c?c=[s]:c.push(s),l++}b=a===l}else b=!0;if(b)if(void 0!==r.unlocks){const s=l;if("string"!=typeof r.unlocks){const s={instancePath:t+"/scripts/"+e.replace(/~/g,"~0").replace(/\//g,"~1")+"/unlocks",schemaPath:"#/definitions/AuthenticationTemplateScriptUnlocking/properties/unlocks/type",keyword:"type",params:{type:"string"},message:"must be string"};null===c?c=[s]:c.push(s),l++}b=s===l}else b=!0}}}}}}}}}}else{const s={instancePath:t+"/scripts/"+e.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/definitions/AuthenticationTemplateScriptUnlocking/type",keyword:"type",params:{type:"object"},message:"must be object"};null===c?c=[s]:c.push(s),l++}g=s===l;y=y||g}}}if(!y){const s={instancePath:t+"/scripts/"+e.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/scripts/additionalProperties/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};return null===c?c=[s]:c.push(s),l++,f.errors=c,!1}if(l=o,null!==c&&(o?c.length=o:c=null),!(n===l))break}}y=r===l}else y=!0;if(y){if(void 0!==e.supported){let s=e.supported;const i=l;if(l===i){if(!Array.isArray(s))return f.errors=[{instancePath:t+"/supported",schemaPath:"#/properties/supported/type",keyword:"type",params:{type:"array"},message:"must be array"}],!1;{const e=s.length;for(let i=0;i<e;i++){let e=s[i];const r=l;if("string"!=typeof e)return f.errors=[{instancePath:t+"/supported/"+i,schemaPath:"#/definitions/AuthenticationVirtualMachineIdentifier/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if("BCH_2020_05"!==e&&"BCH_2021_05"!==e&&"BCH_2022_05"!==e&&"BCH_2023_05"!==e&&"BCH_SPEC"!==e&&"BSV_2020_02"!==e&&"BSV_SPEC"!==e&&"BTC_2017_08"!==e&&"BTC_SPEC"!==e&&"XEC_2020_05"!==e&&"XEC_SPEC"!==e)return f.errors=[{instancePath:t+"/supported/"+i,schemaPath:"#/definitions/AuthenticationVirtualMachineIdentifier/enum",keyword:"enum",params:{allowedValues:a.enum},message:"must be equal to one of the allowed values"}],!1;if(!(r===l))break}}}y=i===l}else y=!0;if(y)if(void 0!==e.version){let s=e.version;const i=l;if("number"!=typeof s||!isFinite(s))return f.errors=[{instancePath:t+"/version",schemaPath:"#/properties/version/type",keyword:"type",params:{type:"number"},message:"must be number"}],!1;if(0!==s)return f.errors=[{instancePath:t+"/version",schemaPath:"#/properties/version/const",keyword:"const",params:{allowedValue:0},message:"must be equal to constant"}],!1;y=i===l}else y=!0}}}}}}}}}}return f.errors=c,0===l}}}]);
//# sourceMappingURL=e7f8d6aa-80533a482c70ed472f7a.js.map