Enums

The enum type (also known as enumerations) is a special kind of scalar that is restricted to a particular set of allowed values. This allows you to validate that any arguments of this type are of the allowed values.

ProtocolType

The type of the protocol (e.g. EVM, UTXO, etc.).

Name

Description

EVM

Etheruem Virtual Machine (EVM)

TVM

Tron Virtual Machine (TVM)

UTXO

Unspent Transaction Output (UTXO)

NetworkFamily

The family of the network (Main, Test or Local).

Name

Description

Local

Network that is on localhost.

Test

Network that is on testnet.

Main

Network that is on mainnet.

WalletType

The type of wallet.

Name

Description

EvmContractSimpleMultiSig

A 2-of-3 multi-sig wallet implemented as an Ethereum smart contract.

EvmContractSafe

A Safe smart contract wallet.

UtxoP2tr

UtxoP2wshMultiSig

TronNativeMultiSig

OrganizationMemberRole

Organization member role.

Name

Description

OWNER

Owners can manage all settings within the organization account, including organization-level settings, users, API access tokens and wallets that they are assigned to. The first user created on every organization-level account will always be the first owner of that organization.

ADMIN

Admins can manage most organization-level settings, users, API access tokens and wallets that they are assigned to.

USER

Users have no access unless they are specifically added to wallets.

OrganizationInvitationStatus

Organization invitation status.

Name

Description

INVITED

The organization invite has been sent to the user and is pending their acceptance.

REVOKED

The organization invite has been revoked.

ACCEPTED

The user has accepted the organization invite.

OrganizationMemberStatus

Organization member status to indicate if the member is active or disabled.

Name

Description

ACTIVE

The organization member is currently active.

DISABLED

The organization member has been disabled.

WalletDepositAddressStatus

Wallet deposit address status to indicate whether the wallet deposit address is active, deploying or failed.

Name

Description

PENDING_DEPLOYMENT

The wallet deposit address is not deployed yet.

DEPLOYING

The wallet deposit address is deploying.

ACTIVE

The wallet deposit address is active.

FAILED

The wallet deposit address failed to deploy.

WalletKeyPasswordStatus

The status of the wallet key password.

Name

Description

PENDING_ENCRYPTION

The password is pending further encryption.

ACTIVE

The password is active and can be used to sign transactions.

OrganizationNetworkWalletStatus

The status of the wallet, indicating whether or not it is ready for use. Every newly created Wallet will have a status of INACTIVE until it is activated. Smart contract wallets can only be activated if their deployment transaction has met a sufficient number of confirmations on the network, e.g. 12 on Ethereum mainnet. Wallets can be deactivated and reactivated at any time.

Name

Description

ACTIVE

The wallet is active and ready for use.

INACTIVE

The wallet is inactive.

FAILED

The wallet failed to activate.

PENDING_DEPLOYMENT

DISABLED

TransactionRequestStatus

The status of a wallet transaction request.

Name

Description

PENDING_APPROVALS

The transaction request is pending approvals from other wallet approvers.

APPROVED

The transaction request has been approved by all wallet approvers.

PENDING_SIGNATURES

The transaction request is pending signatures from wallet signers.

REJECTED

The transaction request has been rejected by one or more wallet approvers.

PENDING_GAS_TANK_SIGNATURE

The transaction request has been approved & signed by the signatories, and is ready to be signed by the gas tank for execution on-chain.

SIGNED

The transaction has been signed by the gas tank, and is now ready to be executed on chain.

EXECUTED

The transaction request has been sent to the blockchain.

NetworkFeeLevel

The network fee level for a transaction request. For most chains, the higher the level, the faster the transaction speed.

Name

Description

High

Low

Standard

TransactionType

Specifies the kind of activity performed in a transaction.

Name

Description

SEND

Outbound token transfer.

RECEIVE

Inbound token transfer.

CONTRACT_CALL

The transaction is a smart contract interaction. A smart contract interaction is a transaction that invokes a smart contract method, which may or may not result in a token transfer (or other methods). For example, a smart contract interaction may be a transaction that invokes a smart contract method to approve a token transfer, which is then followed by a token transfer transaction.

UNKNOWN

The transaction type is unknown. This occurs when the decoded transaction data does contain enough information to determine its objective.

TransactionStatus

The status of transaction.

Name

Description

FAILED

The transaction failed due to an error or being rejected by the blockchain network.

CONFIRMED

The transaction is deemed CONFIRMED once it has been added and validated on the blockchain, and subsequently followed by N additional blocks; where N represents the minimum number of block confirmations specified by the Levain Configuration (network.minConfirmations).

UNCONFIRMED

The transaction is marked as UNCONFIRMED when it has been broadcast to the network but hasn't been added to the blockchain yet or is awaiting the required N block confirmations as set by the Levain Configuration (network.minConfirmations).

OrganizationPlanType

Name

Description

PERSONAL_FREE

TEAM_FREE

TEAM_PRO

ENTERPRISE

KeyType

The type of Key.

Name

Description

SCALAR

Key material stored as a scalar.

SCALAR_NEUTERED

Key material stored as scalar with private key omitted (aka neutered).

RSA

Key material stored with private and public key in PEM format.

BIP32_HARDENED

Key material stored as scalar (private key), point (public key), chain code (extra 32 bytes entropy) and a relative BIP32 path.

WalletKeyType

The type of WalletKey.

Name

Description

MAIN

The Main key is only held by the client, and is used to sign transactions such as transferring funds out of the wallet.

BACKUP

The Backup key is meant for you to backup safely, and only used in situations when you need to perform wallet recovery. Levain never keeps this key at all, except for the public key.

LEVAIN

The Levain key is held by Levain, and it is used to co-sign transactions with you.

AddressFormat

The different ways to format a gas tank address.

Name

Description

EVM_HEX

Formats the address in hex for the EVM.

TRON_HEX

Formats the address in hex for Tron.

TRON_BASE58

Formats the address in base58. Only for Tron.

WalletMemberRole

The role of an organization member access to an organization wallet.

Name

Description

APPROVER

A wallet approver is able to manage the wallet's approval quorum, whitelist addresses, and initiate and approve transactions. They can also be the final approver for signing of transactions.

INITIATOR

A wallet initiator can initiate transactions that wallet approvers must first approve. After sufficient approvals have been given, the transaction can be signed and broadcast. A wallet initiator can also view the transaction history of a wallet.

VIEWER

A wallet viewer can only view the transaction history of a wallet.

TransactionRequestWarningType

A short phrase describing the warning for a given transaction request.

Name

Description

NonceExpired

The transaction request nonce has expired.

InsufficientFunds

The wallet has insufficient funds to execute the transaction request.

WalletSignerStatus

The status of the wallet signer to indicate if the signer is active or disabled.

Name

Description

ACTIVE

The wallet signer is currently a signer of the wallet.

DISABLED

The wallet signer has been disabled and is no longer a signer of the wallet.

ApprovalActionType

The type of approval action.

Name

Description

APPROVE

Approve the transaction request.

REJECT

Reject the transaction request.

DigestState

The state of the digest.

Name

Description

PENDING

Represents a digest awaiting signature. It is the sole state indicating ongoing processing. Digests related to remote private keys not stored in Levain KVS will always initiate in this state.

SIGNED

Successful completion of the signing process.

CANCELLED

Unsuccessful signing process. It was manually cancelled by the user.

EXPIRED

Unsuccessful signing process. It was cancelled by the system.

COMPLETED

Unsuccessful signing process. It was cancelled by the system, often because while this specific KeyDigest was not signed, other associated KeyDigests received signatures from a valid key.

SignatureActionType

The type of signature action.

Name

Description

APPROVE

Approve the transaction request.

REJECT

Reject the transaction request.