@aptos-labs/ts-sdk
Version:
Aptos TypeScript SDK
464 lines • 21.8 kB
JavaScript
// Copyright © Aptos Foundation
// SPDX-License-Identifier: Apache-2.0
/**
* Different MIME types used for data interchange in transactions and responses.
*/
export var MimeType;
(function (MimeType) {
/**
* JSON representation, used for transaction submission and accept type JSON output
*/
MimeType["JSON"] = "application/json";
/**
* BCS representation, used for accept type BCS output
*/
MimeType["BCS"] = "application/x-bcs";
/**
* BCS representation, used for transaction submission in BCS input
*/
MimeType["BCS_SIGNED_TRANSACTION"] = "application/x.aptos.signed_transaction+bcs";
MimeType["BCS_VIEW_FUNCTION"] = "application/x.aptos.view_function+bcs";
})(MimeType || (MimeType = {}));
/**
* Variants of type tags used in the system, encompassing various data types and structures.
* {@link https://github.com/aptos-labs/aptos-core/blob/main/third_party/move/move-core/types/src/language_storage.rs#L27}
*/
export var TypeTagVariants;
(function (TypeTagVariants) {
TypeTagVariants[TypeTagVariants["Bool"] = 0] = "Bool";
TypeTagVariants[TypeTagVariants["U8"] = 1] = "U8";
TypeTagVariants[TypeTagVariants["U64"] = 2] = "U64";
TypeTagVariants[TypeTagVariants["U128"] = 3] = "U128";
TypeTagVariants[TypeTagVariants["Address"] = 4] = "Address";
TypeTagVariants[TypeTagVariants["Signer"] = 5] = "Signer";
TypeTagVariants[TypeTagVariants["Vector"] = 6] = "Vector";
TypeTagVariants[TypeTagVariants["Struct"] = 7] = "Struct";
TypeTagVariants[TypeTagVariants["U16"] = 8] = "U16";
TypeTagVariants[TypeTagVariants["U32"] = 9] = "U32";
TypeTagVariants[TypeTagVariants["U256"] = 10] = "U256";
TypeTagVariants[TypeTagVariants["I8"] = 11] = "I8";
TypeTagVariants[TypeTagVariants["I16"] = 12] = "I16";
TypeTagVariants[TypeTagVariants["I32"] = 13] = "I32";
TypeTagVariants[TypeTagVariants["I64"] = 14] = "I64";
TypeTagVariants[TypeTagVariants["I128"] = 15] = "I128";
TypeTagVariants[TypeTagVariants["I256"] = 16] = "I256";
TypeTagVariants[TypeTagVariants["Reference"] = 254] = "Reference";
TypeTagVariants[TypeTagVariants["Generic"] = 255] = "Generic";
})(TypeTagVariants || (TypeTagVariants = {}));
/**
* Variants of script transaction arguments used in Rust, encompassing various data types for transaction processing.
* {@link https://github.com/aptos-labs/aptos-core/blob/main/third_party/move/move-core/types/src/transaction_argument.rs#L11}
*/
export var ScriptTransactionArgumentVariants;
(function (ScriptTransactionArgumentVariants) {
ScriptTransactionArgumentVariants[ScriptTransactionArgumentVariants["U8"] = 0] = "U8";
ScriptTransactionArgumentVariants[ScriptTransactionArgumentVariants["U64"] = 1] = "U64";
ScriptTransactionArgumentVariants[ScriptTransactionArgumentVariants["U128"] = 2] = "U128";
ScriptTransactionArgumentVariants[ScriptTransactionArgumentVariants["Address"] = 3] = "Address";
ScriptTransactionArgumentVariants[ScriptTransactionArgumentVariants["U8Vector"] = 4] = "U8Vector";
ScriptTransactionArgumentVariants[ScriptTransactionArgumentVariants["Bool"] = 5] = "Bool";
ScriptTransactionArgumentVariants[ScriptTransactionArgumentVariants["U16"] = 6] = "U16";
ScriptTransactionArgumentVariants[ScriptTransactionArgumentVariants["U32"] = 7] = "U32";
ScriptTransactionArgumentVariants[ScriptTransactionArgumentVariants["U256"] = 8] = "U256";
ScriptTransactionArgumentVariants[ScriptTransactionArgumentVariants["Serialized"] = 9] = "Serialized";
// NOTE: Added in bytecode version v9, do not reorder!
ScriptTransactionArgumentVariants[ScriptTransactionArgumentVariants["I8"] = 10] = "I8";
ScriptTransactionArgumentVariants[ScriptTransactionArgumentVariants["I16"] = 11] = "I16";
ScriptTransactionArgumentVariants[ScriptTransactionArgumentVariants["I32"] = 12] = "I32";
ScriptTransactionArgumentVariants[ScriptTransactionArgumentVariants["I64"] = 13] = "I64";
ScriptTransactionArgumentVariants[ScriptTransactionArgumentVariants["I128"] = 14] = "I128";
ScriptTransactionArgumentVariants[ScriptTransactionArgumentVariants["I256"] = 15] = "I256";
})(ScriptTransactionArgumentVariants || (ScriptTransactionArgumentVariants = {}));
/**
* The payload for various transaction types in the system.
* {@link https://github.com/aptos-labs/aptos-core/blob/main/types/src/transaction/mod.rs#L478}
*/
export var TransactionPayloadVariants;
(function (TransactionPayloadVariants) {
TransactionPayloadVariants[TransactionPayloadVariants["Script"] = 0] = "Script";
TransactionPayloadVariants[TransactionPayloadVariants["EntryFunction"] = 2] = "EntryFunction";
TransactionPayloadVariants[TransactionPayloadVariants["Multisig"] = 3] = "Multisig";
TransactionPayloadVariants[TransactionPayloadVariants["Payload"] = 4] = "Payload";
TransactionPayloadVariants[TransactionPayloadVariants["EncryptedPayload"] = 5] = "EncryptedPayload";
})(TransactionPayloadVariants || (TransactionPayloadVariants = {}));
/**
* Variants for the inner payload of a multisig account transaction.
* {@link https://github.com/aptos-labs/aptos-core/blob/main/aptos-move/framework/aptos-framework/sources/multisig_account.move}
*/
export var MultiSigTransactionPayloadVariants;
(function (MultiSigTransactionPayloadVariants) {
MultiSigTransactionPayloadVariants[MultiSigTransactionPayloadVariants["EntryFunction"] = 0] = "EntryFunction";
MultiSigTransactionPayloadVariants[MultiSigTransactionPayloadVariants["Script"] = 1] = "Script";
})(MultiSigTransactionPayloadVariants || (MultiSigTransactionPayloadVariants = {}));
/**
* The inner payload type to support orderless transactions and all future transaction types.
* {@link https://github.com/aptos-labs/aptos-core/blob/main/types/src/transaction/mod.rs#L478}
*/
export var TransactionInnerPayloadVariants;
(function (TransactionInnerPayloadVariants) {
TransactionInnerPayloadVariants[TransactionInnerPayloadVariants["V1"] = 0] = "V1";
})(TransactionInnerPayloadVariants || (TransactionInnerPayloadVariants = {}));
/**
* Executable types for transactions, which can be either a script or an entry function.
*
* Empty is reserved for Multisig voting transactions, which do not have an executable payload.
* {@link https://github.com/aptos-labs/aptos-core/blob/main/types/src/transaction/mod.rs#L685}
*/
export var TransactionExecutableVariants;
(function (TransactionExecutableVariants) {
TransactionExecutableVariants[TransactionExecutableVariants["Script"] = 0] = "Script";
TransactionExecutableVariants[TransactionExecutableVariants["EntryFunction"] = 1] = "EntryFunction";
TransactionExecutableVariants[TransactionExecutableVariants["Empty"] = 2] = "Empty";
TransactionExecutableVariants[TransactionExecutableVariants["Encrypted"] = 3] = "Encrypted";
})(TransactionExecutableVariants || (TransactionExecutableVariants = {}));
/**
* Variants of transaction extra configurations, which can include additional settings or parameters.
* {@link https://github.com/aptos-labs/aptos-core/blob/main/types/src/transaction/mod.rs#L737}
*/
export var TransactionExtraConfigVariants;
(function (TransactionExtraConfigVariants) {
TransactionExtraConfigVariants[TransactionExtraConfigVariants["V1"] = 0] = "V1";
})(TransactionExtraConfigVariants || (TransactionExtraConfigVariants = {}));
/**
* Variants of transactions used in the system.
* {@link https://github.com/aptos-labs/aptos-core/blob/main/types/src/transaction/mod.rs#L440}
*/
export var TransactionVariants;
(function (TransactionVariants) {
TransactionVariants[TransactionVariants["MultiAgentTransaction"] = 0] = "MultiAgentTransaction";
TransactionVariants[TransactionVariants["FeePayerTransaction"] = 1] = "FeePayerTransaction";
})(TransactionVariants || (TransactionVariants = {}));
/**
* Variants of transaction authenticators used in the system.
* {@link https://github.com/aptos-labs/aptos-core/blob/main/types/src/transaction/authenticator.rs#L44}
*/
export var TransactionAuthenticatorVariant;
(function (TransactionAuthenticatorVariant) {
TransactionAuthenticatorVariant[TransactionAuthenticatorVariant["Ed25519"] = 0] = "Ed25519";
TransactionAuthenticatorVariant[TransactionAuthenticatorVariant["MultiEd25519"] = 1] = "MultiEd25519";
TransactionAuthenticatorVariant[TransactionAuthenticatorVariant["MultiAgent"] = 2] = "MultiAgent";
TransactionAuthenticatorVariant[TransactionAuthenticatorVariant["FeePayer"] = 3] = "FeePayer";
TransactionAuthenticatorVariant[TransactionAuthenticatorVariant["SingleSender"] = 4] = "SingleSender";
})(TransactionAuthenticatorVariant || (TransactionAuthenticatorVariant = {}));
/**
* Variants of account authenticators used in transactions.
* {@link https://github.com/aptos-labs/aptos-core/blob/main/types/src/transaction/authenticator.rs#L414}
*/
export var AccountAuthenticatorVariant;
(function (AccountAuthenticatorVariant) {
AccountAuthenticatorVariant[AccountAuthenticatorVariant["Ed25519"] = 0] = "Ed25519";
AccountAuthenticatorVariant[AccountAuthenticatorVariant["MultiEd25519"] = 1] = "MultiEd25519";
AccountAuthenticatorVariant[AccountAuthenticatorVariant["SingleKey"] = 2] = "SingleKey";
AccountAuthenticatorVariant[AccountAuthenticatorVariant["MultiKey"] = 3] = "MultiKey";
AccountAuthenticatorVariant[AccountAuthenticatorVariant["NoAccountAuthenticator"] = 4] = "NoAccountAuthenticator";
AccountAuthenticatorVariant[AccountAuthenticatorVariant["Abstraction"] = 5] = "Abstraction";
})(AccountAuthenticatorVariant || (AccountAuthenticatorVariant = {}));
/**
* Variants of private keys that can comply with the AIP-80 standard.
* {@link https://github.com/aptos-foundation/AIPs/blob/main/aips/aip-80.md}
*/
export var PrivateKeyVariants;
(function (PrivateKeyVariants) {
PrivateKeyVariants["Ed25519"] = "ed25519";
PrivateKeyVariants["Secp256k1"] = "secp256k1";
PrivateKeyVariants["Secp256r1"] = "secp256r1";
})(PrivateKeyVariants || (PrivateKeyVariants = {}));
/**
* Variants of public keys used in cryptographic operations.
*/
export var AnyPublicKeyVariant;
(function (AnyPublicKeyVariant) {
AnyPublicKeyVariant[AnyPublicKeyVariant["Ed25519"] = 0] = "Ed25519";
AnyPublicKeyVariant[AnyPublicKeyVariant["Secp256k1"] = 1] = "Secp256k1";
AnyPublicKeyVariant[AnyPublicKeyVariant["Secp256r1"] = 2] = "Secp256r1";
AnyPublicKeyVariant[AnyPublicKeyVariant["Keyless"] = 3] = "Keyless";
AnyPublicKeyVariant[AnyPublicKeyVariant["FederatedKeyless"] = 4] = "FederatedKeyless";
/**
* Post-quantum signature scheme (SLH-DSA-SHA2-128s).
* Note: Full implementation not yet available in this SDK.
*/
AnyPublicKeyVariant[AnyPublicKeyVariant["SlhDsaSha2_128s"] = 5] = "SlhDsaSha2_128s";
})(AnyPublicKeyVariant || (AnyPublicKeyVariant = {}));
export function anyPublicKeyVariantToString(variant) {
switch (variant) {
case AnyPublicKeyVariant.Ed25519:
return "ed25519";
case AnyPublicKeyVariant.Secp256k1:
return "secp256k1";
case AnyPublicKeyVariant.Secp256r1:
return "secp256r1";
case AnyPublicKeyVariant.Keyless:
return "keyless";
case AnyPublicKeyVariant.FederatedKeyless:
return "federated_keyless";
case AnyPublicKeyVariant.SlhDsaSha2_128s:
return "slh_dsa_sha2_128s";
default:
throw new Error("Unknown public key variant");
}
}
/**
* Variants of signature types used for cryptographic operations.
*/
export var AnySignatureVariant;
(function (AnySignatureVariant) {
AnySignatureVariant[AnySignatureVariant["Ed25519"] = 0] = "Ed25519";
AnySignatureVariant[AnySignatureVariant["Secp256k1"] = 1] = "Secp256k1";
AnySignatureVariant[AnySignatureVariant["WebAuthn"] = 2] = "WebAuthn";
AnySignatureVariant[AnySignatureVariant["Keyless"] = 3] = "Keyless";
/**
* Post-quantum signature scheme (SLH-DSA-SHA2-128s).
* Note: Full implementation not yet available in this SDK.
*/
AnySignatureVariant[AnySignatureVariant["SlhDsaSha2_128s"] = 4] = "SlhDsaSha2_128s";
})(AnySignatureVariant || (AnySignatureVariant = {}));
/**
* Variants of ephemeral public keys used in cryptographic operations.
*/
export var EphemeralPublicKeyVariant;
(function (EphemeralPublicKeyVariant) {
EphemeralPublicKeyVariant[EphemeralPublicKeyVariant["Ed25519"] = 0] = "Ed25519";
})(EphemeralPublicKeyVariant || (EphemeralPublicKeyVariant = {}));
/**
* Variants of ephemeral signatures used for secure communication.
*/
export var EphemeralSignatureVariant;
(function (EphemeralSignatureVariant) {
EphemeralSignatureVariant[EphemeralSignatureVariant["Ed25519"] = 0] = "Ed25519";
})(EphemeralSignatureVariant || (EphemeralSignatureVariant = {}));
/**
* Variants of ephemeral certificates used in secure transactions.
*/
export var EphemeralCertificateVariant;
(function (EphemeralCertificateVariant) {
EphemeralCertificateVariant[EphemeralCertificateVariant["ZkProof"] = 0] = "ZkProof";
})(EphemeralCertificateVariant || (EphemeralCertificateVariant = {}));
/**
* Variants of zero-knowledge proofs used in cryptographic operations.
*/
export var ZkpVariant;
(function (ZkpVariant) {
ZkpVariant[ZkpVariant["Groth16"] = 0] = "Groth16";
})(ZkpVariant || (ZkpVariant = {}));
/**
* TRANSACTION TYPES
*/
/**
* Different types of transaction responses that can occur in the system.
*/
export var TransactionResponseType;
(function (TransactionResponseType) {
TransactionResponseType["Pending"] = "pending_transaction";
TransactionResponseType["User"] = "user_transaction";
TransactionResponseType["Genesis"] = "genesis_transaction";
TransactionResponseType["BlockMetadata"] = "block_metadata_transaction";
TransactionResponseType["StateCheckpoint"] = "state_checkpoint_transaction";
TransactionResponseType["Validator"] = "validator_transaction";
TransactionResponseType["BlockEpilogue"] = "block_epilogue_transaction";
})(TransactionResponseType || (TransactionResponseType = {}));
/**
* Determine if the given transaction response is currently pending.
*
* @param response - The transaction response to evaluate.
* @returns A boolean indicating whether the transaction is pending.
*/
export function isPendingTransactionResponse(response) {
return response.type === TransactionResponseType.Pending;
}
/**
* Determines if the given transaction response is a user transaction.
*
* @param response - The transaction response to evaluate.
* @returns A boolean indicating whether the transaction is of type User.
*/
export function isUserTransactionResponse(response) {
return response.type === TransactionResponseType.User;
}
/**
* Determines if the given transaction response is a Genesis transaction.
*
* @param response - The transaction response to evaluate.
* @returns A boolean indicating whether the transaction is a Genesis transaction.
*/
export function isGenesisTransactionResponse(response) {
return response.type === TransactionResponseType.Genesis;
}
/**
* Determine if the given transaction response is of type BlockMetadata.
*
* @param response - The transaction response to evaluate.
* @returns A boolean indicating whether the response is a BlockMetadata transaction.
*/
export function isBlockMetadataTransactionResponse(response) {
return response.type === TransactionResponseType.BlockMetadata;
}
/**
* Determines if the provided transaction response is a state checkpoint transaction.
*
* @param response - The transaction response to evaluate.
* @returns A boolean indicating whether the transaction response is of type StateCheckpoint.
*/
export function isStateCheckpointTransactionResponse(response) {
return response.type === TransactionResponseType.StateCheckpoint;
}
/**
* Determine if the given transaction response is of type Validator.
*
* @param response - The transaction response to evaluate.
* @returns A boolean indicating whether the transaction response is a Validator type.
*/
export function isValidatorTransactionResponse(response) {
return response.type === TransactionResponseType.Validator;
}
/**
* Determines if the given transaction response is of the type Block Epilogue.
*
* @param response - The transaction response to evaluate.
* @returns A boolean indicating whether the response is a Block Epilogue transaction.
*/
export function isBlockEpilogueTransactionResponse(response) {
return response.type === TransactionResponseType.BlockEpilogue;
}
/**
* Determine if the provided signature is an Ed25519 signature.
* This function checks for the presence of the "signature" property
* and verifies that its value is "ed25519_signature".
*
* @param signature - The transaction signature to be checked.
* @returns A boolean indicating whether the signature is an Ed25519 signature.
*/
export function isEd25519Signature(signature) {
return "signature" in signature && signature.type === "ed25519_signature";
}
/**
* Determine if the provided signature is a valid secp256k1 ECDSA signature.
*
* @param signature - The transaction signature to validate.
* @returns A boolean indicating whether the signature is a secp256k1 ECDSA signature.
*/
export function isSecp256k1Signature(signature) {
return "signature" in signature && signature.signature === "secp256k1_ecdsa_signature";
}
/**
* Determine if the provided transaction signature is a multi-agent signature.
*
* @param signature - The transaction signature to evaluate.
* @returns A boolean indicating whether the signature is a multi-agent signature.
*/
export function isMultiAgentSignature(signature) {
return signature.type === "multi_agent_signature";
}
/**
* Determine if the provided signature is a fee payer signature.
*
* @param signature - The transaction signature to evaluate.
* @returns A boolean indicating whether the signature is a fee payer signature.
*/
export function isFeePayerSignature(signature) {
return signature.type === "fee_payer_signature";
}
/**
* Determine if the provided signature is of type "multi_ed25519_signature".
*
* @param signature - The transaction signature to check.
* @returns A boolean indicating whether the signature is a multi-ed25519 signature.
*/
export function isMultiEd25519Signature(signature) {
return signature.type === "multi_ed25519_signature";
}
/**
* Determine if the provided signature is of type "single_sender".
*
* @param signature - The transaction signature to check.
* @returns A boolean indicating whether the signature is a single-sender signature.
*/
export function isSingleSenderSignature(signature) {
return signature.type === "single_sender";
}
/**
* Specifies the visibility levels for move functions, controlling access permissions.
*/
export var MoveFunctionVisibility;
(function (MoveFunctionVisibility) {
MoveFunctionVisibility["PRIVATE"] = "private";
MoveFunctionVisibility["PUBLIC"] = "public";
MoveFunctionVisibility["FRIEND"] = "friend";
})(MoveFunctionVisibility || (MoveFunctionVisibility = {}));
/**
* Abilities related to moving items within the system.
*/
export var MoveAbility;
(function (MoveAbility) {
MoveAbility["STORE"] = "store";
MoveAbility["DROP"] = "drop";
MoveAbility["KEY"] = "key";
MoveAbility["COPY"] = "copy";
})(MoveAbility || (MoveAbility = {}));
/**
* Roles that can be assigned within the system, indicating different levels of access and functionality.
*/
export var RoleType;
(function (RoleType) {
RoleType["VALIDATOR"] = "validator";
RoleType["FULL_NODE"] = "full_node";
})(RoleType || (RoleType = {}));
/**
* Different schemes for signing keys used in cryptographic operations.
*/
export var SigningScheme;
(function (SigningScheme) {
/**
* For Ed25519PublicKey
*/
SigningScheme[SigningScheme["Ed25519"] = 0] = "Ed25519";
/**
* For MultiEd25519PublicKey
*/
SigningScheme[SigningScheme["MultiEd25519"] = 1] = "MultiEd25519";
/**
* For SingleKey ecdsa
*/
SigningScheme[SigningScheme["SingleKey"] = 2] = "SingleKey";
SigningScheme[SigningScheme["MultiKey"] = 3] = "MultiKey";
})(SigningScheme || (SigningScheme = {}));
/**
* Specifies the signing schemes available for cryptographic operations.
*/
export var SigningSchemeInput;
(function (SigningSchemeInput) {
/**
* For Ed25519PublicKey
*/
SigningSchemeInput[SigningSchemeInput["Ed25519"] = 0] = "Ed25519";
/**
* For Secp256k1Ecdsa
*/
SigningSchemeInput[SigningSchemeInput["Secp256k1Ecdsa"] = 2] = "Secp256k1Ecdsa";
})(SigningSchemeInput || (SigningSchemeInput = {}));
/**
* Specifies the schemes for deriving account addresses from various data sources.
*/
export var DeriveScheme;
(function (DeriveScheme) {
/**
* Derives an address using an AUID, used for objects
*/
DeriveScheme[DeriveScheme["DeriveAuid"] = 251] = "DeriveAuid";
/**
* Derives an address from another object address
*/
DeriveScheme[DeriveScheme["DeriveObjectAddressFromObject"] = 252] = "DeriveObjectAddressFromObject";
/**
* Derives an address from a GUID, used for objects
*/
DeriveScheme[DeriveScheme["DeriveObjectAddressFromGuid"] = 253] = "DeriveObjectAddressFromGuid";
/**
* Derives an address from seed bytes, used for named objects
*/
DeriveScheme[DeriveScheme["DeriveObjectAddressFromSeed"] = 254] = "DeriveObjectAddressFromSeed";
/**
* Derives an address from seed bytes, used for resource accounts
*/
DeriveScheme[DeriveScheme["DeriveResourceAccountAddress"] = 255] = "DeriveResourceAccountAddress";
})(DeriveScheme || (DeriveScheme = {}));
//# sourceMappingURL=types.js.map