Skip to content

Add changes for generic signed requests#39

Open
michaeltout wants to merge 129 commits intoVerusCoin:masterfrom
michaeltout:generic-signed-request
Open

Add changes for generic signed requests#39
michaeltout wants to merge 129 commits intoVerusCoin:masterfrom
michaeltout:generic-signed-request

Conversation

@michaeltout
Copy link
Contributor

This PR adds support for the new deeplink format, concerning generic signed requests, and adds the currently used requests as generic signed request/response details.

michaeltout and others added 30 commits September 12, 2025 18:01
commit d051bf6
Author: monkins <monkins1010@gmail.com>
Date:   Mon Sep 15 09:56:03 2025 +0100

    initialize empty buffer

commit b75adc0
Author: monkins <monkins1010@gmail.com>
Date:   Fri Sep 12 13:42:53 2025 +0100

    handle empty objectdata toJson()

commit 97cced4
Author: monkins <monkins1010@gmail.com>
Date:   Mon Sep 1 14:12:23 2025 +0100

    Fix Endorsement serializer bug

commit 4bfe926
Author: monkins <monkins1010@gmail.com>
Date:   Mon Sep 1 13:33:53 2025 +0100

    update dist for Endorsement

commit 04d0329
Author: monkins <monkins1010@gmail.com>
Date:   Mon Sep 1 13:08:58 2025 +0100

    Add Endorsement Object

commit 9980e16
Author: monkins <monkins1010@gmail.com>
Date:   Tue Aug 19 20:30:22 2025 +0100

    update dist

commit 42c6f0a
Merge: 59cbd81 93d6814
Author: monkins <monkins1010@gmail.com>
Date:   Tue Aug 19 20:19:10 2025 +0100

    Merge remote-tracking branch 'upstream/master' into attestandvdxfobj

commit 59cbd81
Author: monkins <monkins1010@gmail.com>
Date:   Tue Aug 19 20:03:01 2025 +0100

    handle context being passed

commit fad9442
Author: monkins <monkins1010@gmail.com>
Date:   Tue Aug 19 17:31:43 2025 +0100

    fix BN from null bug

commit f8215a1
Author: monkins <monkins1010@gmail.com>
Date:   Fri Aug 8 11:02:17 2025 +0100

    export new types

commit 38cbb78
Author: monkins <monkins1010@gmail.com>
Date:   Fri Aug 8 10:32:34 2025 +0100

    Add InformationRequest object

commit aa9417e
Author: monkins <monkins1010@gmail.com>
Date:   Wed Aug 6 19:54:08 2025 +0100

    add multiple request key

commit dc77d4b
Author: monkins <monkins1010@gmail.com>
Date:   Thu Jul 31 11:10:50 2025 +0100

    Make sure flags are set
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds support for the new deeplink format by introducing generic signed request/response envelopes and ordinal-backed VDXF object encoding, while expanding supporting primitives (hash constants, sapling extended keys, address versions) and updating exports/tests.

Changes:

  • Add generic request/response envelope model with ordinal VDXF object mapping + registration.
  • Extend serialization primitives (ResponseURI encoding, hash length constants, sapling extended key encode/decode, X-address versioning).
  • Update VerusPay invoice versioning/constants and add Jest round-trip tests for several new VDXF request/detail objects.

Reviewed changes

Copilot reviewed 88 out of 215 changed files in this pull request and generated 31 comments.

Show a summary per file
File Description
src/vdxf/index.ts Adds BufferDataVdxfObject.fromJson() helper.
src/vdxf/classes/response/GenericResponse.ts Introduces generic signed response with optional request hash.
src/vdxf/classes/payment/VerusPayInvoice.ts Moves veruspay version constants + adjusts signing/version handling.
src/vdxf/classes/ordinals/index.ts Exports ordinal VDXF helpers and triggers ordinal registration.
src/vdxf/classes/ordinals/VerusPayInvoiceOrdinalVDXFObject.ts Adds ordinal wrapper for VerusPayInvoiceDetails.
src/vdxf/classes/ordinals/UserSpecificDataPacketDetailsOrdinalVDXFObject.ts Adds ordinal wrapper for UserSpecificDataPacketDetails.
src/vdxf/classes/ordinals/UserDataRequestOrdinalVDXFObject.ts Adds ordinal wrapper for UserDataRequestDetails.
src/vdxf/classes/ordinals/SerializableEntityOrdinalVDXFObject.ts Adds generic ordinal wrapper for serializable entities.
src/vdxf/classes/ordinals/ProvisionIdentityDetailsOrdinalVDXFObject.ts Adds ordinal wrapper for ProvisionIdentityDetails.
src/vdxf/classes/ordinals/OrdinalVDXFObjectOrdinalMap.ts Adds global ordinal↔vdxfKey↔class registry.
src/vdxf/classes/ordinals/IdentityUpdateResponseOrdinalVDXFObject.ts Adds ordinal wrapper for identity update response details.
src/vdxf/classes/ordinals/IdentityUpdateRequestOrdinalVDXFObject.ts Adds ordinal wrapper for identity update request details.
src/vdxf/classes/ordinals/DataPacketResponseOrdinalVDXFObject.ts Adds ordinal wrapper for DataPacketResponse.
src/vdxf/classes/ordinals/DataDescriptorOrdinalVDXFObject.ts Adds ordinal wrapper for DataDescriptor.
src/vdxf/classes/ordinals/AuthenticationResponseOrdinalVDXFObject.ts Adds ordinal wrapper for auth response details.
src/vdxf/classes/ordinals/AuthenticationRequestOrdinalVDXFObject.ts Adds ordinal wrapper for auth request details.
src/vdxf/classes/ordinals/AppEncryptionResponseOrdinalVDXFObject.ts Adds ordinal wrapper for app-encryption response details.
src/vdxf/classes/ordinals/AppEncryptionRequestOrdinalVDXFObject.ts Adds ordinal wrapper for app-encryption request details.
src/vdxf/classes/login/AuthenticationResponseDetails.ts Adds auth response detail serialization.
src/vdxf/classes/index.ts Updates public exports to include new generic/ordinal APIs (and removes old exports).
src/vdxf/classes/datapacket/DataPacketResponse.ts Adds generic “data response” detail object for request correlation.
src/vdxf/classes/SaltedData.ts Replaces magic length constants with HASH160_BYTE_LENGTH.
src/vdxf/classes/ResponseURI.ts Renames ResponseUriResponseURI and switches to compactSize encoding.
src/vdxf/classes/Challenge.ts Minor formatting change (closing brace alignment).
src/utils/types/SerializableEntity.ts Adds SerializableDataEntity interface for ordinal wrappers.
src/utils/sapling.ts Allows longer bech32 strings + adds sapling extended key encode/decode.
src/utils/address.ts Adds address-versioned helpers (fqnToAddress, nameAndParentAddrToAddr, X_ADDR_VERSION).
src/pbaas/UTXORef.ts Uses HASH256_BYTE_LENGTH constant.
src/pbaas/URLRef.ts Uses HASH256_BYTE_LENGTH constant.
src/pbaas/SignatureData.ts Uses hash length constants + tightens return typing/doc comment.
src/pbaas/SaplingExtendedViewingKey.ts Adds serializable Sapling extended viewing key wrapper.
src/pbaas/SaplingExtendedSpendingKey.ts Adds serializable Sapling extended spending key wrapper.
src/pbaas/SaltedData.ts Uses HASH160_BYTE_LENGTH constant.
src/pbaas/Rating.ts Uses HASH160_BYTE_LENGTH constant.
src/pbaas/PBaaSEvidenceRef.ts Uses HASH160_BYTE_LENGTH constant.
src/pbaas/IdentityMultimapRef.ts Uses hash length constants for serialized fields.
src/pbaas/Identity.ts Makes lock/revoke flag-setting idempotent (or vs xor) + uses hash length constants.
src/pbaas/EvidenceData.ts Uses HASH160_BYTE_LENGTH constant.
src/pbaas/DataDescriptor.ts Aligns EHashTypes to central hash constants.
src/pbaas/CurrencyValueMap.ts Uses HASH160_BYTE_LENGTH constant.
src/pbaas/Credential.ts Uses HASH160_BYTE_LENGTH constant.
src/pbaas/ContentMultiMapRemove.ts Uses hash length constants.
src/index.ts Exposes new constants + VDXF classes from package root.
src/constants/vdxf/veruspay.ts New centralized veruspay version constants.
src/constants/vdxf.ts Adds X_ADDR_VERSION.
src/constants/pbaas.ts Adds/realigns hash type constants.
src/constants/ordinals/types.ts Defines reserved ordinal data unions (types + JSON).
src/constants/ordinals/register.ts Registers known ordinals↔vdxfKeys↔classes.
src/constants/ordinals/ordinals.ts Defines ordinal constants for reserved VDXF objects.
src/constants/deeplink.ts Defines deeplink protocol string + version constant.
src/api/classes/SendCurrency/SendCurrencyRequest.ts Adds optional vdxftag field to outputs.
src/tests/vdxf/userspecificdatapacketdetails.test.ts Adds round-trip test for UserSpecificDataPacketDetails.
src/tests/vdxf/userdatarequest.test.ts Adds round-trip tests for UserDataRequestDetails.
src/tests/vdxf/provisioningidentitydetails.test.ts Adds round-trip tests for ProvisionIdentityDetails.
src/tests/vdxf/authenticationresponsedetails.test.ts Adds round-trip test for AuthenticationResponseDetails.
src/tests/vdxf/authenticationrequestdetails.test.ts Adds tests for AuthenticationRequestDetails.
src/tests/vdxf/appencryptionrequestdetails.test.ts Adds tests for AppEncryptionRequestDetails + CompactAddressObject.
src/tests/utils/address.test.ts Extends tests to validate I-address vs X-address derived keys.
src/tests/pbaas/saplingextendedviewingkey.test.ts Adds encode/decode + buffer round-trip test for Sapling viewing keys.
src/tests/pbaas/saplingextendedspendingkey.test.ts Adds encode/decode + buffer round-trip test for Sapling spending keys.
src/tests/pbaas/partialsigndata.test.ts Updates field naming to camelCase in tests.
dist/vdxf/keys.d.ts Build output: updated VDXF key declarations.
dist/vdxf/index.js Build output: includes BufferDataVdxfObject.fromJson().
dist/vdxf/index.d.ts Build output: adds fromJson typing for BufferDataVdxfObject.
dist/vdxf/classes/response/GenericResponse.js Build output: generic response implementation.
dist/vdxf/classes/response/GenericResponse.d.ts Build output: generic response typings.
dist/vdxf/classes/response/AppEncryptionResponseDetails.d.ts Build output: response typings (generated).
dist/vdxf/classes/requestobjects/UserSpecificDataPacketDetails.d.ts Build output: requestobject typings.
dist/vdxf/classes/requestobjects/UserDataRequestDetails.d.ts Build output: requestobject typings.
dist/vdxf/classes/requestobjects/ProvisionIdentityDetails.d.ts Build output: requestobject typings.
dist/vdxf/classes/requestobjects/AppEncryptionRequestDetails.d.ts Build output: requestobject typings.
dist/vdxf/classes/request/GenericRequest.d.ts Build output: generic request typings.
dist/vdxf/classes/payment/VerusPayInvoiceDetails.d.ts Build output: updated invoice detail typings.
dist/vdxf/classes/payment/VerusPayInvoice.js Build output: updated invoice implementation.
dist/vdxf/classes/payment/VerusPayInvoice.d.ts Build output: updated invoice typings.
dist/vdxf/classes/ordinals/index.js Build output: ordinal exports + registration side-effect.
dist/vdxf/classes/ordinals/index.d.ts Build output: ordinal export typings.
dist/vdxf/classes/ordinals/VerusPayInvoiceOrdinalVDXFObject.js Build output: ordinal wrapper.
dist/vdxf/classes/ordinals/VerusPayInvoiceOrdinalVDXFObject.d.ts Build output: ordinal wrapper typings.
dist/vdxf/classes/ordinals/UserSpecificDataPacketDetailsOrdinalVDXFObject.js Build output: ordinal wrapper.
dist/vdxf/classes/ordinals/UserSpecificDataPacketDetailsOrdinalVDXFObject.d.ts Build output: ordinal wrapper typings.
dist/vdxf/classes/ordinals/UserDataRequestOrdinalVDXFObject.js Build output: ordinal wrapper.
dist/vdxf/classes/ordinals/UserDataRequestOrdinalVDXFObject.d.ts Build output: ordinal wrapper typings.
dist/vdxf/classes/ordinals/SerializableEntityOrdinalVDXFObject.js Build output: serializable ordinal wrapper.
dist/vdxf/classes/ordinals/SerializableEntityOrdinalVDXFObject.d.ts Build output: serializable ordinal wrapper typings.
dist/vdxf/classes/ordinals/ProvisionIdentityDetailsOrdinalVDXFObject.js Build output: ordinal wrapper.
dist/vdxf/classes/ordinals/ProvisionIdentityDetailsOrdinalVDXFObject.d.ts Build output: ordinal wrapper typings.
dist/vdxf/classes/ordinals/OrdinalVDXFObjectOrdinalMap.js Build output: ordinal map implementation.
dist/vdxf/classes/ordinals/OrdinalVDXFObjectOrdinalMap.d.ts Build output: ordinal map typings.
dist/vdxf/classes/ordinals/OrdinalVDXFObject.d.ts Build output: ordinal VDXF object typings.
dist/vdxf/classes/ordinals/IdentityUpdateResponseOrdinalVDXFObject.js Build output: ordinal wrapper.
dist/vdxf/classes/ordinals/IdentityUpdateResponseOrdinalVDXFObject.d.ts Build output: ordinal wrapper typings.
dist/vdxf/classes/ordinals/IdentityUpdateRequestOrdinalVDXFObject.js Build output: ordinal wrapper.
dist/vdxf/classes/ordinals/IdentityUpdateRequestOrdinalVDXFObject.d.ts Build output: ordinal wrapper typings.
dist/vdxf/classes/ordinals/DataPacketResponseOrdinalVDXFObject.js Build output: ordinal wrapper.
dist/vdxf/classes/ordinals/DataPacketResponseOrdinalVDXFObject.d.ts Build output: ordinal wrapper typings.
dist/vdxf/classes/ordinals/DataDescriptorOrdinalVDXFObject.js Build output: ordinal wrapper.
dist/vdxf/classes/ordinals/DataDescriptorOrdinalVDXFObject.d.ts Build output: ordinal wrapper typings.
dist/vdxf/classes/ordinals/AuthenticationResponseOrdinalVDXFObject.js Build output: ordinal wrapper.
dist/vdxf/classes/ordinals/AuthenticationResponseOrdinalVDXFObject.d.ts Build output: ordinal wrapper typings.
dist/vdxf/classes/ordinals/AuthenticationRequestOrdinalVDXFObject.js Build output: ordinal wrapper.
dist/vdxf/classes/ordinals/AuthenticationRequestOrdinalVDXFObject.d.ts Build output: ordinal wrapper typings.
dist/vdxf/classes/ordinals/AppEncryptionResponseOrdinalVDXFObject.js Build output: ordinal wrapper.
dist/vdxf/classes/ordinals/AppEncryptionResponseOrdinalVDXFObject.d.ts Build output: ordinal wrapper typings.
dist/vdxf/classes/ordinals/AppEncryptionRequestOrdinalVDXFObject.js Build output: ordinal wrapper.
dist/vdxf/classes/ordinals/AppEncryptionRequestOrdinalVDXFObject.d.ts Build output: ordinal wrapper typings.
dist/vdxf/classes/login/AuthenticationResponseDetails.js Build output: auth response details implementation.
dist/vdxf/classes/login/AuthenticationResponseDetails.d.ts Build output: auth response details typings.
dist/vdxf/classes/login/AuthenticationRequestDetails.d.ts Build output: auth request details typings.
dist/vdxf/classes/index.js Build output: updated VDXF class exports.
dist/vdxf/classes/index.d.ts Build output: updated VDXF class export typings.
dist/vdxf/classes/identity/IdentityUpdateResponseDetails.d.ts Build output: updated identity update response typings.
dist/vdxf/classes/identity/IdentityUpdateRequestDetails.d.ts Build output: updated identity update request typings.
dist/vdxf/classes/identity/IdentityUpdateEnvelope.d.ts Build output: removed legacy identity update envelope typings.
dist/vdxf/classes/envelope/GenericEnvelope.d.ts Build output: generic envelope typings.
dist/vdxf/classes/datapacket/DataPacketResponse.js Build output: data packet response implementation.
dist/vdxf/classes/datapacket/DataPacketResponse.d.ts Build output: data packet response typings.
dist/vdxf/classes/attestation/AttestationDetails.d.ts Build output: removed attestation details typings.
dist/vdxf/classes/appencryption/AppEncryptionResponseDetails.d.ts Build output: app-encryption response details typings.
dist/vdxf/classes/appencryption/AppEncryptionRequestDetails.d.ts Build output: app-encryption request details typings.
dist/vdxf/classes/VerifiableSignatureData.d.ts Build output: verifiable signature typings.
dist/vdxf/classes/SaltedData.js Build output: salted data updates.
dist/vdxf/classes/ResponseURI.js Build output: ResponseURI rename/encoding updates.
dist/vdxf/classes/ResponseURI.d.ts Build output: ResponseURI typings.
dist/vdxf/classes/CompactAddressObject.d.ts Build output: compact address typings.
dist/utils/types/SerializableEntity.d.ts Build output: adds SerializableDataEntity typings.
dist/utils/sapling.js Build output: bech32 limit + extended key encode/decode.
dist/utils/sapling.d.ts Build output: sapling extended key typings.
dist/utils/address.js Build output: address helpers updated for versioning.
dist/utils/address.d.ts Build output: address helper typings updated.
dist/pbaas/UTXORef.js Build output: uses hash length constants.
dist/pbaas/URLRef.js Build output: uses hash length constants.
dist/pbaas/SignatureData.js Build output: uses hash length constants + doc update.
dist/pbaas/SignatureData.d.ts Build output: typing tweaks for signature data.
dist/pbaas/SaplingExtendedViewingKey.js Build output: sapling viewing key wrapper.
dist/pbaas/SaplingExtendedViewingKey.d.ts Build output: sapling viewing key typings.
dist/pbaas/SaplingExtendedSpendingKey.js Build output: sapling spending key wrapper.
dist/pbaas/SaplingExtendedSpendingKey.d.ts Build output: sapling spending key typings.
dist/pbaas/SaltedData.js Build output: salted data updates.
dist/pbaas/Rating.js Build output: uses hash length constants.
dist/pbaas/PartialSignData.d.ts Build output: camelCase field renames.
dist/pbaas/PBaaSEvidenceRef.js Build output: uses hash length constants.
dist/pbaas/IdentityMultimapRef.js Build output: uses hash length constants.
dist/pbaas/Identity.js Build output: flag-setting update + hash length constants.
dist/pbaas/EvidenceData.js Build output: uses hash length constants.
dist/pbaas/DataDescriptor.js Build output: hash type constants wired into enum.
dist/pbaas/DataDescriptor.d.ts Build output: DataDescriptor typings updated.
dist/pbaas/CurrencyValueMap.js Build output: uses hash length constants.
dist/pbaas/Credential.js Build output: uses hash length constants.
dist/pbaas/ContentMultiMapRemove.js Build output: uses hash length constants.
dist/index.js Build output: root exports updated.
dist/index.d.ts Build output: root export typings updated.
dist/constants/vdxf/veruspay.js Build output: veruspay constants.
dist/constants/vdxf/veruspay.d.ts Build output: veruspay constant typings.
dist/constants/vdxf.js Build output: adds X_ADDR_VERSION.
dist/constants/vdxf.d.ts Build output: X_ADDR_VERSION typing.
dist/constants/pbaas.js Build output: updated hash-type constants.
dist/constants/pbaas.d.ts Build output: updated hash-type typings.
dist/constants/ordinals/types.js Build output: ordinals types module stub.
dist/constants/ordinals/types.d.ts Build output: ordinals types typings.
dist/constants/ordinals/register.js Build output: ordinal registration implementation.
dist/constants/ordinals/register.d.ts Build output: ordinal registration typings.
dist/constants/ordinals/ordinals.js Build output: ordinal constants.
dist/constants/ordinals/ordinals.d.ts Build output: ordinal constant typings.
dist/constants/deeplink.js Build output: deeplink constants.
dist/constants/deeplink.d.ts Build output: deeplink constant typings.
dist/api/classes/SendCurrency/SendCurrencyRequest.d.ts Build output: API request typing update for vdxftag.
Comments suppressed due to low confidence (1)

src/vdxf/classes/ResponseURI.ts:6

  • varint is now unused in this module after switching to compactSize/varuint encoding. Please remove the unused import.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 21 to 54
constructor (data?: {
flags?: BigNumber,
requestID?: string
}) {
this.flags = data && data.flags ? data.flags : new BN("0", 10);

if (data?.requestID) {
this.requestID = data.requestID;
} else this.requestID = '';
}

toSha256() {
return createHash("sha256").update(this.toBuffer()).digest();
}

getByteLength(): number {
let length = 0;

length += varint.encodingLength(this.flags);

length += HASH160_BYTE_LENGTH;

return length;
}

toBuffer() {
const writer = new BufferWriter(Buffer.alloc(this.getByteLength()));

writer.writeVarInt(this.flags);

writer.writeSlice(fromBase58Check(this.requestID).hash);

return writer.buffer;
}
Copy link

Copilot AI Feb 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AuthenticationResponseDetails sets requestID to an empty string when it isn't provided, but toBuffer() always serializes requestID via fromBase58Check(this.requestID). Calling toBuffer() on a default-constructed instance (or any instance without a valid requestID) will throw.

Either make requestID required (and remove the empty-string default), or gate serialization/byte length behind a flag like other request/response detail classes do.

Copilot uses AI. Check for mistakes.
Comment on lines 8 to 10
import { HASH160_BYTE_LENGTH, I_ADDR_VERSION } from '../../../constants/vdxf';
import varuint from '../../../utils/varuint';
const { BufferReader, BufferWriter } = bufferutils;
Copy link

Copilot AI Feb 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unused import varuint should be removed to avoid dead code and keep the module clean.

Copilot uses AI. Check for mistakes.
Comment on lines 1 to 4
import { DEFAULT_VERUS_CHAINID, DEFAULT_VERUS_CHAINNAME, KOMODO_ASSETCHAIN_MAXLEN, NULL_I_ADDR } from "../constants/pbaas";
import { I_ADDR_VERSION } from "../constants/vdxf";
import { I_ADDR_VERSION, X_ADDR_VERSION } from "../constants/vdxf";
import { hash, hash160 } from "./hash";
import { toLowerCaseCLocale } from "./tolower";
Copy link

Copilot AI Feb 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file imports X_ADDR_VERSION but doesn't use it. Please remove the unused import (or use it where intended) to avoid dead code.

Copilot uses AI. Check for mistakes.
Comment on lines 28 to +34
export * from "./identity/IdentityUpdateRequestDetails";
export * from "./identity/IdentityUpdateResponseDetails";
export * from './ResponseUri';
export * from './ResponseURI';
export * from './request/GenericRequest';
export * from './response/GenericResponse';
export * from './appencryption/AppEncryptionResponseDetails'

export * from './ordinals';
Copy link

Copilot AI Feb 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This index stops exporting the legacy IdentityUpdateEnvelope API and also renames the exported response URI type/class to ResponseURI only. If this package is consumed externally, that’s a breaking API change.

Consider providing backward-compatible re-exports/aliases (e.g., keep exporting ResponseUri/ResponseUriJson and the previous envelope types) or ensure the package versioning/changelog reflects the breaking change.

Copilot uses AI. Check for mistakes.
flags: ProvisionIdentityDetails.FLAG_HAS_SYSTEMID.or(ProvisionIdentityDetails.FLAG_HAS_PARENTID),
systemID: new CompactAddressObject({ version: CompactAddressObject.DEFAULT_VERSION, type: CompactAddressObject.TYPE_I_ADDRESS, address: TEST_IDENTITY_ID_1, rootSystemName: "VRSC" }),
parentID: new CompactAddressObject({ version: CompactAddressObject.DEFAULT_VERSION, type: CompactAddressObject.TYPE_I_ADDRESS, address: TEST_IDENTITY_ID_2, rootSystemName: "VRSC" })
})
Copy link

Copilot AI Feb 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Avoid automated semicolon insertion (92% of all statements in the enclosing function have an explicit semicolon).

Copilot uses AI. Check for mistakes.
length += varint.encodingLength(this.flags);

length += 20 // Credential key
length += HASH160_BYTE_LENGTH // Credential key
Copy link

Copilot AI Feb 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Avoid automated semicolon insertion (93% of all statements in the enclosing function have an explicit semicolon).

Copilot uses AI. Check for mistakes.
length += 20; //uint160 key
length += 32; //uint256 hash
length += HASH160_BYTE_LENGTH; //uint160 key
length += HASH256_BYTE_LENGTH
Copy link

Copilot AI Feb 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Avoid automated semicolon insertion (95% of all statements in the enclosing function have an explicit semicolon).

Copilot uses AI. Check for mistakes.
const ord = OrdinalVDXFObject.createFromBuffer(reader.buffer, reader.offset);

reader.offset = ord.offset;
this.details = [ord.obj]
Copy link

Copilot AI Feb 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Avoid automated semicolon insertion (95% of all statements in the enclosing function have an explicit semicolon).

Copilot uses AI. Check for mistakes.
this.key = reader.readVarSlice().toString('utf8');
}
} else {
this.key = key
Copy link

Copilot AI Feb 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Avoid automated semicolon insertion (90% of all statements in the enclosing function have an explicit semicolon).

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants