multifactor_test.abi.json

Overview

This file defines the Application Binary Interface (ABI) for a smart contract focused on multifactor authentication and secure transaction management. It specifies the contract's versioning, data fields, and an extensive set of functions that enable management of cryptographic keys, zero-knowledge proof (ZKP) factors, recovery mechanisms, security cards, and transaction lifecycle operations. The contract is designed to maintain a layered security model by integrating cryptographic proofs, key rotations, and multifactor authentication elements.

The ABI version is 2, with contract version 2.4. The contract maintains persistent state variables such as cryptographic keys, timestamps, security card mappings, and transaction records.


Fields

The contract stores several fields representing cryptographic keys, state flags, collections for multifactor elements, and transaction data:


Functions

Constructor

constructor

Initializes the contract with multifactor authentication parameters and cryptographic keys.

Inputs:

Outputs: None

Usage Example:

{
  "zkid": "zk123",
  "proof": "...",
  "epk": 123456789,
  "epk_sig": "...",
  "epk_expire_at": 1680000000,
  "jwk_modulus": "...",
  "kid": "...",
  "jwk_modulus_expire_at": 1680000000,
  "index_mod_4": 2,
  "iss_base_64": "issuerBase64",
  "provider": "providerName",
  "header_base_64": "headerBase64",
  "pub_recovery_key": 987654321,
  "pub_recovery_key_sig": "...",
  "jwk_update_key": 111222333,
  "jwk_update_key_sig": "...",
  "value": 100,
  "root_provider_certificates": {"1": "...", "2": "..."}
}

JWK Modulus Management


Zero-Knowledge Proof (ZKP) Factor Management


Security Card Management


Seed Phrase and Recovery Management


Transaction Management


Accessors / Getters


Important Implementation Details and Algorithms


Interaction with Other System Components


Mermaid Diagram

flowchart TD
A[Constructor] --> B[AddJwkModulus]
A --> C[AddZKPfactor]
B --> D[DeleteJwkModulus]
C --> E[DeleteZKPfactor]
A --> F[AddSecurityCard]
F --> G[DeleteSecurityCard]
A --> H[SendTransaction]
H --> I[SubmitTransaction]
I --> J[ConfirmTransaction]
A --> K[UpdateRecoveryPhrase]
A --> L[UpdateSeedPhrase]
A --> M[GetTransaction]
M --> N[GetTransactions]
M --> O[GetTransactionIds]
A --> P[CleanAllExpiredJwks]
A --> Q[CleanAllExpiredZKPFactors]
A --> R[TurnOnSecurityCards]
R --> S[TurnOffSecurityCards]
A --> T[SetMinValue]
A --> U[SetMaxCleanupTxns]

This diagram represents the primary workflow and relationships between key functions facilitating multifactor authentication, key management, transaction processing, and security card operations within the contract.