LogoLogo
vBase.comvBase App
  • Welcome
    • Welcome to vBase
    • Unique Advantages
    • Core Concepts
      • How vBase Works
      • What is a Stamp?
      • Technical Overview
      • Why Blockchains?
    • Example Use Cases
  • Getting Started
    • Start your Journey
    • Stamping Best Practices
    • Python Quickstart
      • Cloud Notebooks
      • Local Installation
  • Web Tools
    • Stamp an Object
    • Verify an Object
  • Use Case How-Tos
    • Verified Investment Track Records
  • Python SDK
    • Samples
      • Creating a Dataset
      • Adding a Dataset Record
      • Adding a Dataset Record Asynchronously
      • Restoring Dataset Provenance
      • Stamp Interactive Brokers Portfolio
      • Stamp Alpaca Portfolio
    • Windows Setup Guide
    • Package vbase-py
    • Package vbase-py-tools
      • Setup
      • commit_s3_objects
      • verify_s3_objects
  • Other SDKs
    • COM Library Overview
    • Working in Excel
      • Via vBase Workbook
      • Via Excel VBA
    • COM API Reference
    • C#
    • TypeScript
  • Technical Reference
    • Command Line Interface
    • Windows Subsystem for Linux (WSL) Guide
    • GCE S3 Compatible Bucket Setup
    • Smart Contract Addresses
Powered by GitBook
On this page
  • Contents
  • AssemblyResolver type
  • ComGuids type
  • IReceipt type
  • Timestamp property
  • IVerificationResult type
  • VerificationFindings property
  • VerificationPassed property
  • IWeb3Receipt type
  • Timestamp property
  • TransactionHash property
  • IvBaseBuilder type
  • CreateDataset(client,name,objectType) method
  • CreateDatasetFromJson(client,json) method
  • CreateForwarderClient(forwarderUrl,apiKey,privateKey) method
  • IvBaseClient type
  • DefaultUser property
  • AddNamedSet(name) method
  • AddSet(setCid) method
  • AddSetObject(setCid,objectCid) method
  • UserNamedSetExists(user,name) method
  • VerifyUserObject(user,objectCid,timestamp) method
  • VerifyUserSetObjects(user,setCid,userSetObjectsCidSum) method
  • IvBaseDataset type
  • AddRecord(recordData) method
  • ToJson() method
  • VerifyCommitments() method
  • ObjectTypes type
  • ReceiptConverter type
  • ToCom(receipt) method
  • SecurityProtocolHelper type
  • ResetSecurityProtocol() method
  • ShimInstaller type
  • Utils type
  • PreprocessException(action,logger) method
  • PreprocessException(ex) method
  • PreprocessException``1(func,logger) method
  1. Other SDKs

COM API Reference

PreviousVia Excel VBANextC#

Last updated 2 months ago

Contents

AssemblyResolver type

Namespace

vBase.Infrastructure

Summary

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.

CreateDataset(client,name,objectType) method

Summary

Create a COM visible dataset object.

Returns

Newly created dataset object.

Parameters

Name
Type
Description

client

vBase client.

name

The name of the dataset.

objectType

Type of the objects that will be stored in the dataset.

CreateDatasetFromJson(client,json) method

Summary

Create a COM visible dataset object.

Returns

Newly created dataset object.

Parameters

Name
Type
Description

client

vBase client.

json

Json that contains all data records, and dataset properties.

CreateForwarderClient(forwarderUrl,apiKey,privateKey) method

Summary

Create a COM visible client for the vBase API.

Returns

Newly created client object.

Parameters

Name
Type
Description

forwarderUrl

Forwarder API url.

apiKey

API key.

privateKey

Private key.

IvBaseClient type

Namespace

vBase

Summary

COM visible client interface for the vBase API. It's a shim between the COM client and the vBase.Core client class.

DefaultUser property

Summary

Return the default user address used in vBase transactions.

AddNamedSet(name) method

Summary

Creates a commitment for a set with a given name. The set will be added for the account associated with the client object.

Parameters

Name
Type
Description

name

The name of the set.

AddSet(setCid) method

Summary

Records a set commitment.

Parameters

Name
Type
Description

setCid

The HEX encoded CID (hash) identifying the set.

AddSetObject(setCid,objectCid) method

Summary

Adds a record to the dataset.

Returns

The transaction timestamp of the record addition in Unix time format (seconds).

Parameters

Name
Type
Description

setCid

HEX encoded CID for the set containing the object.

objectCid

HEX encoded CID of the object to record.

UserNamedSetExists(user,name) method

Summary

Checks if a named dataset exists.

Returns

True if the set with the given name exists; False otherwise.

Parameters

Name
Type
Description

user

The address for the user who recorded the commitment.

name

The name of the set.

VerifyUserObject(user,objectCid,timestamp) method

Summary

Verifies an object commitment previously recorded.

Returns

True if the commitment has been verified successfully; False otherwise.

Parameters

Name
Type
Description

user

The address for the user who recorded the commitment.

objectCid

The HEX encoded CID of the object.

timestamp

The timestamp of the object's creation, in Unix time format (seconds).

VerifyUserSetObjects(user,setCid,userSetObjectsCidSum) method

Summary

Verifies an object commitment previously recorded.

Returns

True if the commitment has been verified successfully; False otherwise.

Parameters

Name
Type
Description

user

The address for the user who recorded the commitment.

setCid

The CID for the set containing the object.

userSetObjectsCidSum

The sum of all object hashes for the user set.

IvBaseDataset type

Namespace

vBase

Summary

Represents a set of records created on the Validity Base platform.

AddRecord(recordData) method

Summary

Adds a record to the dataset.

Parameters

Name
Type
Description

recordData

Record to add.

ToJson() method

Summary

Serializes the dataset to a JSON string.

Returns

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.

Parameters

This method has no parameters.

ObjectTypes type

Namespace

vBase

Summary

Types of objects that can be stored in a dataset.

ReceiptConverter type

Namespace

vBase.Infrastructure

Summary

ToCom(receipt) method

Summary

Returns

The converted receipt.

Parameters

Name
Type
Description

receipt

The receipt to convert.

SecurityProtocolHelper type

Namespace

vBase.Infrastructure

Summary

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.

Parameters

Name
Type
Description

action

Action to execute.

logger

Logger.

PreprocessException(ex) method

Summary

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.

Parameters

Name
Type
Description

ex

The original exception.

PreprocessException``1(func,logger) method

Summary

Executes a function and logs any exceptions that occur. Additionally, converts the exception into a VBA-friendly exception.

Returns

Function execution result.

Parameters

Name
Type
Description

func

Function to execute.

logger

Logger.

Generic Types

Name
Description

T

Function return type.

Converts between and COM-compatible .

Converts a to a .

AssemblyResolver
ComGuids
IReceipt
Timestamp
IVerificationResult
VerificationFindings
VerificationPassed
IWeb3Receipt
Timestamp
TransactionHash
IvBaseBuilder
CreateDataset(client,name,objectType)
CreateDatasetFromJson(client,json)
CreateForwarderClient(forwarderUrl,apiKey,privateKey)
IvBaseClient
DefaultUser
AddNamedSet(name)
AddSet(setCid)
AddSetObject(setCid,objectCid)
UserNamedSetExists(user,name)
VerifyUserObject(user,objectCid,timestamp)
VerifyUserSetObjects(user,setCid,userSetObjectsCidSum)
IvBaseDataset
AddRecord(recordData)
ToJson()
VerifyCommitments()
ObjectTypes
ReceiptConverter
ToCom(receipt)
SecurityProtocolHelper
ResetSecurityProtocol()
ShimInstaller
Utils
PreprocessException(action,logger)
PreprocessException(ex)
PreprocessException``1(func,logger)
Receipt
IReceipt
Receipt
IReceipt
System.String
System.String
System.String
System.String
System.String
System.String
System.String
System.String
System.String
System.String
System.String
System.String
System.String
System.Int64
System.String
System.String
System.String
System.Object
System.Action
System.Exception
System.Func{``0}
vBase.IvBaseClient
vBase.ObjectTypes
vBase.IvBaseClient
vBase.Core.Receipt
Microsoft.Extensions.Logging.ILogger
Microsoft.Extensions.Logging.ILogger