"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.StakingOperationTypes = exports.DotAddressFormat = exports.AddressFormat = exports.TransactionType = void 0;
/**
 * Internal metadata. Defines the type of transaction.
 */
var TransactionType;
(function (TransactionType) {
    TransactionType[TransactionType["Send"] = 0] = "Send";
    // Send ERC721 compliant tokens
    TransactionType[TransactionType["SendERC721"] = 1] = "SendERC721";
    // Send ERC1155 compliant tokens
    TransactionType[TransactionType["SendERC1155"] = 2] = "SendERC1155";
    // Initialize a wallet on-chain (e.g. Multi-sig contract deployment)
    TransactionType[TransactionType["WalletInitialization"] = 3] = "WalletInitialization";
    // Initialize an address on-chain(e.g. Forwarder contract deployment)
    TransactionType[TransactionType["AddressInitialization"] = 4] = "AddressInitialization";
    // Initialized an associated token account
    TransactionType[TransactionType["AssociatedTokenAccountInitialization"] = 5] = "AssociatedTokenAccountInitialization";
    // Flush tokens from a forwarder address to its base address
    TransactionType[TransactionType["FlushTokens"] = 6] = "FlushTokens";
    // Flush native coins (eg. ETH) from a forwarder address to base address
    TransactionType[TransactionType["FlushCoins"] = 7] = "FlushCoins";
    // Send a raw single-sig transaction
    TransactionType[TransactionType["SingleSigSend"] = 8] = "SingleSigSend";
    // Update an account on-chain (e.g. Public key revelation operation for Tezos)
    TransactionType[TransactionType["AccountUpdate"] = 9] = "AccountUpdate";
    // Lock
    TransactionType[TransactionType["StakingLock"] = 10] = "StakingLock";
    // Vote
    TransactionType[TransactionType["StakingVote"] = 11] = "StakingVote";
    // Unvote
    TransactionType[TransactionType["StakingUnvote"] = 12] = "StakingUnvote";
    // Activate
    TransactionType[TransactionType["StakingActivate"] = 13] = "StakingActivate";
    // Unlock
    TransactionType[TransactionType["StakingUnlock"] = 14] = "StakingUnlock";
    // Withdraw
    TransactionType[TransactionType["StakingWithdraw"] = 15] = "StakingWithdraw";
    // Handle smart contract calls
    TransactionType[TransactionType["ContractCall"] = 16] = "ContractCall";
    // Deactivate
    TransactionType[TransactionType["StakingDeactivate"] = 17] = "StakingDeactivate";
    // Batch of multiple transactions broadcast as a single transaction
    TransactionType[TransactionType["Batch"] = 18] = "Batch";
    // Claim the staking rewards
    TransactionType[TransactionType["StakingClaim"] = 19] = "StakingClaim";
    // Add delegator to p-chain
    // @deprecated
    TransactionType[TransactionType["AddDelegator"] = 20] = "AddDelegator";
    // Add validator to p-chain
    // @deprecated
    TransactionType[TransactionType["AddValidator"] = 21] = "AddValidator";
    // Cross chain transfer at Avax and flare
    TransactionType[TransactionType["Export"] = 22] = "Export";
    TransactionType[TransactionType["Import"] = 23] = "Import";
    // Cross chain Recovery for evm like chains
    TransactionType[TransactionType["RecoveryWalletDeployment"] = 24] = "RecoveryWalletDeployment";
    // Add staking
    TransactionType[TransactionType["StakingAdd"] = 25] = "StakingAdd";
    // Staking pledge (e.g. ADA)
    TransactionType[TransactionType["StakingPledge"] = 26] = "StakingPledge";
    // Delegating vote (e.g. ADA)
    TransactionType[TransactionType["VoteDelegation"] = 27] = "VoteDelegation";
    // Staking Authorize (e.g. SOL)
    TransactionType[TransactionType["StakingAuthorize"] = 28] = "StakingAuthorize";
    // Staking Authorize from raw message (e.g. SOL)
    TransactionType[TransactionType["StakingAuthorizeRaw"] = 29] = "StakingAuthorizeRaw";
    // Delegate
    TransactionType[TransactionType["StakingDelegate"] = 30] = "StakingDelegate";
    // Custom transaction (e.g. SUI)
    TransactionType[TransactionType["CustomTx"] = 31] = "CustomTx";
    TransactionType[TransactionType["StakingRedelegate"] = 32] = "StakingRedelegate";
    TransactionType[TransactionType["AddPermissionlessDelegator"] = 33] = "AddPermissionlessDelegator";
    TransactionType[TransactionType["AddPermissionlessValidator"] = 34] = "AddPermissionlessValidator";
    // Closing an associated token account (e.g. SOL)
    TransactionType[TransactionType["CloseAssociatedTokenAccount"] = 35] = "CloseAssociatedTokenAccount";
    TransactionType[TransactionType["SingleNominatorWithdraw"] = 36] = "SingleNominatorWithdraw";
    // Send Tokens (e.g XRPL tokens)
    TransactionType[TransactionType["SendToken"] = 37] = "SendToken";
    // Setup a trustline with issuer of a token (eg. XRPL tokens)
    TransactionType[TransactionType["TrustLine"] = 38] = "TrustLine";
    // Send Non Fungible Token (e.g. APT NFTs)
    TransactionType[TransactionType["SendNFT"] = 39] = "SendNFT";
    // Delegate resource (e.g. TRX)
    TransactionType[TransactionType["DelegateResource"] = 40] = "DelegateResource";
    // Un-delegate resource (e.g. TRX)
    TransactionType[TransactionType["UnDelegateResource"] = 41] = "UnDelegateResource";
    TransactionType[TransactionType["StorageDeposit"] = 42] = "StorageDeposit";
    // Flush ERC721 NFTs from a forwarder address to base address
    TransactionType[TransactionType["FlushERC721"] = 43] = "FlushERC721";
    // Flush ERC1155 tokens from a forwarder address to base address
    TransactionType[TransactionType["FlushERC1155"] = 44] = "FlushERC1155";
    // Set up 1-step pre-approval for canton
    TransactionType[TransactionType["OneStepPreApproval"] = 45] = "OneStepPreApproval";
    // canton transfer accept, 2-step
    TransactionType[TransactionType["TransferAccept"] = 46] = "TransferAccept";
    // canton transfer acknowledgement
    TransactionType[TransactionType["TransferAcknowledge"] = 47] = "TransferAcknowledge";
    // canton transfer reject, 2-step
    TransactionType[TransactionType["TransferReject"] = 48] = "TransferReject";
    // canton transfer offer withdrawn, 2-step
    TransactionType[TransactionType["TransferOfferWithdrawn"] = 49] = "TransferOfferWithdrawn";
    // canton cosign delegation proposal
    TransactionType[TransactionType["CosignDelegationProposal"] = 50] = "CosignDelegationProposal";
    // canton cosign delegation accept
    TransactionType[TransactionType["CosignDelegationAccept"] = 51] = "CosignDelegationAccept";
    // canton allocation allocate
    TransactionType[TransactionType["AllocationAllocate"] = 52] = "AllocationAllocate";
    // canton allocation request (internal/dummy txRequest surfacing DvP trade details to the allocating party)
    TransactionType[TransactionType["AllocationRequest"] = 53] = "AllocationRequest";
    // canton generic DAML command
    TransactionType[TransactionType["CantonCommand"] = 54] = "CantonCommand";
    // trx
    TransactionType[TransactionType["FREEZE"] = 55] = "FREEZE";
    TransactionType[TransactionType["VOTE"] = 56] = "VOTE";
    TransactionType[TransactionType["UNFREEZE"] = 57] = "UNFREEZE";
    TransactionType[TransactionType["WITHDRAW_EXPIRE_UNFREEZE"] = 58] = "WITHDRAW_EXPIRE_UNFREEZE";
    TransactionType[TransactionType["CLAIM_REWARDS"] = 59] = "CLAIM_REWARDS";
    // Create an account on-chain (e.g. TRX AccountCreateContract)
    TransactionType[TransactionType["AccountCreate"] = 60] = "AccountCreate";
    // cspr and stx
    TransactionType[TransactionType["stakingLock"] = 61] = "stakingLock";
    // stx
    TransactionType[TransactionType["self-stack"] = 62] = "self-stack";
    // btc,
    TransactionType[TransactionType["staking"] = 63] = "staking";
    // cspr
    TransactionType[TransactionType["stakingUnlock"] = 64] = "stakingUnlock";
    // polyx
    TransactionType[TransactionType["RejectInstruction"] = 65] = "RejectInstruction";
    // flrp
    TransactionType[TransactionType["ImportToC"] = 66] = "ImportToC";
    // ton whales
    TransactionType[TransactionType["TonWhalesDeposit"] = 67] = "TonWhalesDeposit";
    TransactionType[TransactionType["TonWhalesWithdrawal"] = 68] = "TonWhalesWithdrawal";
    TransactionType[TransactionType["TonWhalesVestingDeposit"] = 69] = "TonWhalesVestingDeposit";
    TransactionType[TransactionType["TonWhalesVestingWithdrawal"] = 70] = "TonWhalesVestingWithdrawal";
    // xrp — delete an account and recover the full balance including reserve
    TransactionType[TransactionType["AccountDelete"] = 71] = "AccountDelete";
    // Delegate decryption access for Zama ERC-7984 confidential tokens via ACL contract
    TransactionType[TransactionType["DecryptionDelegation"] = 72] = "DecryptionDelegation";
})(TransactionType || (exports.TransactionType = TransactionType = {}));
/**
 * Generic list of encoding formats. Can be used as arguments for methods inputs.
 */
var AddressFormat;
(function (AddressFormat) {
    AddressFormat["hex"] = "hex";
    AddressFormat["base58"] = "base58";
    AddressFormat["mainnet"] = "mainnet";
    AddressFormat["testnet"] = "testnet";
})(AddressFormat || (exports.AddressFormat = AddressFormat = {}));
// TODO(): create union type of all address formats enums
// list of ss58 format encoding types for Dot ecosystem
var DotAddressFormat;
(function (DotAddressFormat) {
    // format for westend (generic substrate) addresses
    DotAddressFormat[DotAddressFormat["substrate"] = 42] = "substrate";
    // format for polkadot mainnet addresses
    DotAddressFormat[DotAddressFormat["polkadot"] = 0] = "polkadot";
})(DotAddressFormat || (exports.DotAddressFormat = DotAddressFormat = {}));
var StakingOperationTypes;
(function (StakingOperationTypes) {
    StakingOperationTypes[StakingOperationTypes["LOCK"] = 0] = "LOCK";
    StakingOperationTypes[StakingOperationTypes["VOTE"] = 1] = "VOTE";
    StakingOperationTypes[StakingOperationTypes["UNVOTE"] = 2] = "UNVOTE";
    StakingOperationTypes[StakingOperationTypes["ACTIVATE"] = 3] = "ACTIVATE";
    StakingOperationTypes[StakingOperationTypes["UNLOCK"] = 4] = "UNLOCK";
    StakingOperationTypes[StakingOperationTypes["WITHDRAW"] = 5] = "WITHDRAW";
})(StakingOperationTypes || (exports.StakingOperationTypes = StakingOperationTypes = {}));
//# sourceMappingURL=data:application/json;base64, 