Some dependencies are referenced transitively multiple times with different versions. Only the latest version is available in the application folder. To resolve older versions at runtime and return the latest version, we use the AssemblyResolver class.
ComGuids type
Namespace
vBase
Summary
Contains the GUIDs for the COM interfaces and classes.
IReceipt type
Namespace
vBase.Receipts
Summary
Represents a transaction receipt.
Timestamp property
Summary
The transaction timestamp in Unix time format (seconds).
IVerificationResult type
Namespace
vBase
Summary
Represents the result of a verification operation.
VerificationFindings property
Summary
A collection of verification findings.
VerificationPassed property
Summary
Indicates whether the verification passed.
IWeb3Receipt type
Namespace
vBase.Receipts
Summary
WEB3-specific receipt. Additionally to the base timestamp, it contains the transaction hash.
In COM interfaces can inherit from one another. However, the .NET implementation that exposes the .NET interface to COM does not support inheritance. Therefore, you must replicate any interface members in a base interface to the derived interface. The interop code does not look at base interface types when building the exposed COM interface.
Timestamp property
Summary
The transaction timestamp in Unix time format (seconds).
TransactionHash property
Summary
The transaction hash.
IvBaseBuilder type
Namespace
vBase
Summary
COM does not support constructors with parameters, so we need to use a factory method to create the objects.
JSON string that can be deserialized using vBase SDK on any other platform.
Parameters
This method has no parameters.
VerifyCommitments() method
Summary
Verifies if all records in the dataset were actually created on the Validity Base platform at the specified timestamps.
Returns
Validation result: A collection of errors. For each record that was not found on the Validity Base platform, or was added with a different timestamp, there will be a separate error item in the collection. Additionally, an error item will be added if the dataset on the Validity Base platform contains more records than exist in this client-side dataset.
When running the shim in the VBA environment, we observed on some machines that the security protocol is explicitly set to Ssl3 or Tls. Such a configuration is incompatible with TLS 1.2, which is the protocol used by the Forwarder server. Experimentally, we found that setting the security protocol to 0 (SystemDefault) does not resolve the issue. Setting explicitly to Tls12 does.
ResetSecurityProtocol() method
Summary
Updates the security protocol to Tls12.
Parameters
This method has no parameters.
ShimInstaller type
Namespace
vBase.Infrastructure
Summary
It's important to register the assembly using both versions of regasm—32-bit and 64-bit. Even though the Excel process is 64-bit, it seems that the VBA execution process is 32-bit, so it doesn't recognize the registrations in the 64-bit registry.
Utils type
Namespace
vBase
Summary
Utility methods.
PreprocessException(action,logger) method
Summary
Executes an action and logs any exceptions that occur. Additionally, converts the exception into a VBA-friendly exception.
Converts a regular .NET exception into a VBA-friendly exception with all relevant information aggregated into the exception message. This improves the user experience in a VBA environment, where the error object does not include the stack trace or the original exception type.
Returns
A VBA-friendly exception with aggregated information.