Skip to content

feat(satp-hermes): create logs in oracle operations #3946

@AndreAugusto11

Description

@AndreAugusto11

We want to introduce logging in the Oracle operations, similar to what we already have in the SATP operations. Each operation should include the following log entries:

  1. Log "init" before starting the operation.
  2. Log "exec" immediately before executing the operation.
  3. After the operation is executed:
  • Log "done" if it was successful.
  • Log "fail" if it failed.

This will help us maintain consistent and traceable execution across both modules.

Example in SATP lockAsset:

async lockAsset(session: SATPSession): Promise<void> {

    this.dbLogger.storeProof({
      sessionID: sessionData.id,
      type: "lock-asset",
      operation: "init",
      data: safeStableStringify(sessionData),
      sequenceNumber: Number(sessionData.lastSequenceNumber),
    });
    try {
      this.Log.info(`exec-${stepTag}`);
      this.dbLogger.storeProof({
        sessionID: sessionData.id,
        type: "lock-asset",
        operation: "exec",
        data: safeStableStringify(sessionData),
        sequenceNumber: Number(sessionData.lastSequenceNumber),
      });

     ...

      const res = await bridge.lockAsset(token);

      this.dbLogger.storeProof({
        sessionID: sessionData.id,
        type: "lock-asset",
        operation: "done",
        data: safeStableStringify(sessionData.lockAssertionClaim.proof),
        sequenceNumber: Number(sessionData.lastSequenceNumber),
      });

    } catch (error) {
      this.dbLogger.storeProof({
        sessionID: sessionData.id,
        type: "lock-asset",
        operation: "fail",
        data: safeStableStringify(sessionData),
        sequenceNumber: Number(sessionData.lastSequenceNumber),
      });
      throw new FailedToProcessError(fnTag, "LockAsset", error);
    }

Steps required:

  1. create dbLogger just like it is being created for SATP, but for the Oracle
  2. insert, in the Oracle Manager, logs before/after every operation

Metadata

Metadata

Assignees

Labels

IETF-SATP-HermesRelated to the Secure Asset Transfer Protocol as defined by the Internet Engineering Task Force.P4Priority 4: LowenhancementNew feature or request

Type

No type

Projects

Status

In review

Relationships

None yet

Development

No branches or pull requests

Issue actions