UNPKG

@stricahq/typhonjs

Version:

Pure JS Cardano Wallet library

180 lines (179 loc) 7.29 kB
/// <reference types="node" /> import { Buffer } from "buffer"; import { CborTag } from "@stricahq/cbors"; import BigNumber from "bignumber.js"; import { CertificateType, HashType, VoterType, VoteType, WitnessType } from "./types"; export type TokenBundle = Record<string, // this is policy id Array<{ assetName: string; amount: BigNumber; }>>; export declare enum RedeemerTag { SPEND = 0, MINT = 1, CERT = 2, REWARD = 3 } export declare enum TransactionBodyItemType { INPUTS = 0, OUTPUTS = 1, FEE = 2, TTL = 3, CERTIFICATES = 4, WITHDRAWALS = 5, AUXILIARY_DATA_HASH = 7, VALIDITY_INTERVAL_START = 8, MINT = 9, SCRIPT_DATA_HASH = 11, COLLATERAL_INPUTS = 13, REQUIRED_SIGNERS = 14, NETWORK_ID = 15, COLLATERAL_OUTPUT = 16, TOTAL_COLLATERAL = 17, REFERENCE_INPUTS = 18, VOTING_PROCEDURES = 19, PROPOSAL_PROCEDURES = 20, TREASURY_AMOUNT = 21, DONATION_AMOUNT = 22 } export declare enum OutputItemType { ADDRESS = 0, VALUE = 1, DATUM_OPTION = 2, SCRIPT_REF = 3 } export type EncodedInput = [Buffer, number]; export type EncodedCollateralInput = [Buffer, number]; export type EncodedTokens = Map<Buffer, Map<Buffer, BigNumber>>; export type EncodedAmount = BigNumber | [BigNumber, EncodedTokens]; export type EncodedDatumOption = [0, Buffer] | [1, CborTag]; export type EncodedOutput = Map<OutputItemType, Buffer | EncodedAmount | EncodedDatumOption | CborTag>; export type EncodedWithdrawals = Map<Buffer, BigNumber>; export type EncodedCredential = [HashType, Buffer]; export type EncodedCommitteeHotCredential = EncodedCredential; export type EncodedCommitteeColdCredential = EncodedCredential; export type EncodedDRepCredential = EncodedCredential; export type EncodedDRep = [0, Buffer] | [1, Buffer] | [2] | [3]; export type EncodedAnchor = [string, Buffer] | null; export type EncodedStakeRegistrationCertificate = [ CertificateType.STAKE_REGISTRATION, EncodedCredential ]; export type EncodedStakeDeRegistrationCertificate = [ CertificateType.STAKE_DE_REGISTRATION, EncodedCredential ]; export type EncodedStakeDelegationCertificate = [ CertificateType.STAKE_DELEGATION, EncodedCredential, Buffer ]; export type EncodedStakeKeyRegistrationCertificate = [ CertificateType.STAKE_KEY_REGISTRATION, EncodedCredential, BigNumber ]; export type EncodedStakeKeyDeRegistrationCertificate = [ CertificateType.STAKE_KEY_DE_REGISTRATION, EncodedCredential, BigNumber ]; export type EncodedVoteDelegationCertificate = [ CertificateType.VOTE_DELEGATION, EncodedCredential, EncodedDRep ]; export type EncodedStakeVoteDelegationCertificate = [ CertificateType.STAKE_VOTE_DELEG, EncodedCredential, Buffer, EncodedDRep ]; export type EncodedStakeRegDelegationCertificate = [ CertificateType.STAKE_REG_DELEG, EncodedCredential, Buffer, BigNumber ]; export type EncodedVoteRegDelegationCertificate = [ CertificateType.VOTE_REG_DELEG, EncodedCredential, EncodedDRep, BigNumber ]; export type EncodedStakeVoteRegDelegationCertificate = [ CertificateType.STAKE_VOTE_REG_DELEG, EncodedCredential, Buffer, EncodedDRep, BigNumber ]; export type EncodedCommitteeAuthHotCertificate = [ CertificateType.COMMITTEE_AUTH_HOT, EncodedCommitteeColdCredential, EncodedCommitteeHotCredential ]; export type EncodedCommitteeResignColdCertificate = [ CertificateType.COMMITTEE_RESIGN_COLD, EncodedCommitteeColdCredential, EncodedAnchor ]; export type EncodedDRepRegCertificate = [ CertificateType.DREP_REG, EncodedDRepCredential, BigNumber, EncodedAnchor ]; export type EncodedDRepDeRegCertificate = [ CertificateType.DREP_DE_REG, EncodedDRepCredential, BigNumber ]; export type EncodedDRepUpdateCertificate = [ CertificateType.DREP_UPDATE, EncodedDRepCredential, EncodedAnchor ]; export type EncodedCertificate = EncodedStakeRegistrationCertificate | EncodedStakeDeRegistrationCertificate | EncodedStakeDelegationCertificate | EncodedStakeKeyRegistrationCertificate | EncodedStakeKeyDeRegistrationCertificate | EncodedVoteDelegationCertificate | EncodedStakeVoteDelegationCertificate | EncodedStakeRegDelegationCertificate | EncodedVoteRegDelegationCertificate | EncodedStakeVoteRegDelegationCertificate | EncodedCommitteeAuthHotCertificate | EncodedCommitteeResignColdCertificate | EncodedDRepRegCertificate | EncodedDRepDeRegCertificate | EncodedDRepUpdateCertificate; export type EncodedExUnits = [number, number]; export type EncodedVKeyWitness = [Buffer, Buffer]; export type EncodedPlutusScript = Buffer; export type EncodedPlutusData = number | BigNumber | Buffer | Array<EncodedPlutusData> | Map<EncodedPlutusData, EncodedPlutusData> | CborTag; export type EncodedRedeemer = [number, number, EncodedPlutusData, EncodedExUnits]; export type EncodedWitnesses = Map<WitnessType.V_KEY_WITNESS, Array<EncodedVKeyWitness>> & Map<WitnessType.NATIVE_SCRIPT, Array<EncodedNativeScript>> & Map<WitnessType.PLUTUS_SCRIPT_V1, Array<EncodedPlutusScript>> & Map<WitnessType.PLUTUS_SCRIPT_V2, Array<EncodedPlutusScript>> & Map<WitnessType.PLUTUS_DATA, Array<EncodedPlutusData>> & Map<WitnessType.REDEEMER, Array<EncodedRedeemer>>; type NativeScriptPubKeyHash = [0, Buffer]; type NativeScriptAll = [1, Array<EncodedNativeScript>]; type NativeScriptAny = [2, Array<EncodedNativeScript>]; type NativeScriptNOfK = [3, number, Array<EncodedNativeScript>]; type NativeScriptInvalidBefore = [4, number]; type NativeScriptInvalidAfter = [5, number]; export type EncodedNativeScript = NativeScriptPubKeyHash | NativeScriptAll | NativeScriptAny | NativeScriptNOfK | NativeScriptInvalidBefore | NativeScriptInvalidAfter; export type EncodedConstitution = [EncodedAnchor, Buffer | null]; export type EncodedGovActionId = [Buffer, number]; export type EncodedVote = VoteType; export type EncodedVoter = [VoterType, Buffer]; export type EncodedVotingProcedure = [EncodedVote, EncodedAnchor]; export type EncodedVotingProcedures = Map<EncodedVoter, Map<EncodedGovActionId, EncodedVotingProcedure>>; export type EncodedProtocolParamUpdate = Map<number, unknown>; export type EncodedProtocolVersion = [number, number]; export type EncodedParamChangeAction = [ 0, EncodedGovActionId | null, EncodedProtocolParamUpdate, Buffer | null ]; export type EncodedHFInitAction = [1, EncodedGovActionId | null, EncodedProtocolVersion]; export type EncodedTreasuryWithdrawalsAction = [2, Map<Buffer, BigNumber>, Buffer | null]; export type EncodedNoConfidenceAction = [3, EncodedGovActionId | null]; export type EncodedUpdateCommittee = [ 4, EncodedGovActionId | null, Array<EncodedCommitteeColdCredential>, Map<EncodedCommitteeColdCredential, number>, CborTag ]; export type EncodedNewConstitution = [5, EncodedGovActionId | null, EncodedConstitution]; export type EncodedInfoAction = [6]; export type EncodedGovAction = EncodedParamChangeAction | EncodedHFInitAction | EncodedTreasuryWithdrawalsAction | EncodedNoConfidenceAction | EncodedUpdateCommittee | EncodedNewConstitution | EncodedInfoAction; export type EncodedProposalProcedure = [BigNumber, Buffer, EncodedGovAction, EncodedAnchor]; export {};