/* tslint:disable */ /* eslint-disable */ /** * Adds two registers. */ declare class ADD { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst: RegId, lhs: RegId, rhs: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Adds a register and an immediate value. */ declare class ADDI { free(): void; [Symbol.dispose](): void; /** * Access the 12-bit immediate value. */ imm12(): Imm12; /** * Construct the instruction from its parts. */ constructor(dst: RegId, lhs: RegId, rhs: Imm12); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Allocate a number of bytes from the heap. */ declare class ALOC { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(bytes: RegId); /** * Access the ID for register A. */ ra(): RegId; } /** * Bitwise ANDs two registers. */ declare class AND { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst: RegId, lhs: RegId, rhs: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Bitwise ANDs a register and an immediate value. */ declare class ANDI { free(): void; [Symbol.dispose](): void; /** * Access the 12-bit immediate value. */ imm12(): Imm12; /** * Construct the instruction from its parts. */ constructor(dst: RegId, lhs: RegId, rhs: Imm12); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Get the balance of contract of an asset ID. */ declare class BAL { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst: RegId, asset_id_ptr: RegId, contract_id_ptr: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Get current block height. */ declare class BHEI { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst: RegId); /** * Access the ID for register A. */ ra(): RegId; } /** * Get block header hash for height. */ declare class BHSH { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst: RegId, heigth: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Load blob as data */ declare class BLDD { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst_ptr: RegId, blob_id_ptr: RegId, offset: RegId, len: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; /** * Access the ID for register D. */ rd(): RegId; } /** * Get blob size */ declare class BSIZ { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst: RegId, blob_id_ptr: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Burns `amount` coins of the asset ID created from `sub_id` for the current contract. */ declare class BURN { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(amount: RegId, sub_id_ptr: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Call a contract. */ declare class CALL { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(target_struct: RegId, fwd_coins: RegId, asset_id_ptr: RegId, fwd_gas: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; /** * Access the ID for register D. */ rd(): RegId; } /** * Get current block proposer's address. */ declare class CB { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst: RegId); /** * Access the ID for register A. */ ra(): RegId; } /** * Copy contract code for a contract. */ declare class CCP { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst_ptr: RegId, contract_id_ptr: RegId, offset: RegId, len: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; /** * Access the ID for register D. */ rd(): RegId; } /** * Extend the current call frame's stack */ declare class CFE { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(amount: RegId); /** * Access the ID for register A. */ ra(): RegId; } /** * Extend the current call frame's stack by an immediate value. */ declare class CFEI { free(): void; [Symbol.dispose](): void; /** * Access the 24-bit immediate value. */ imm24(): Imm24; /** * Construct the instruction from its parts. */ constructor(amount: Imm24); } /** * Shrink the current call frame's stack */ declare class CFS { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(amount: RegId); /** * Access the ID for register A. */ ra(): RegId; } /** * Shrink the current call frame's stack by an immediate value. */ declare class CFSI { free(): void; [Symbol.dispose](): void; /** * Access the 24-bit immediate value. */ imm24(): Imm24; /** * Construct the instruction from its parts. */ constructor(amount: Imm24); } /** * Get code root of a contract. */ declare class CROO { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst_ptr: RegId, contract_id_ptr: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Get code size of a contract. */ declare class CSIZ { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst: RegId, contract_id_ptr: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Arguments for WDCM and WQCM instructions. */ declare class CompareArgs { private constructor(); free(): void; [Symbol.dispose](): void; /** * Construct from `Imm06`. Returns `None` if the value has reserved flags set. */ static from_imm(bits: Imm06): CompareArgs | undefined; /** * Convert to immediate value. */ to_imm(): Imm06; /** * Load RHS from register if true, otherwise zero-extend register value */ indirect_rhs: boolean; /** * Comparison mode */ mode: CompareMode; } /** * Comparison mode used by WDCM and WQCM instructions. */ declare enum CompareMode { /** * Equality (`==`) */ EQ = 0, /** * Inequality (`!=`) */ NE = 1, /** * Less than (`<`) */ LT = 2, /** * Greater than (`>`) */ GT = 3, /** * Less than or equals (`>=`) */ LTE = 4, /** * Greater than or equals (`>=`) */ GTE = 5, /** * Number of leading zeroes in lhs (`lzcnt`) (discards rhs) */ LZC = 6, } /** * Divides two registers. */ declare class DIV { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst: RegId, lhs: RegId, rhs: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Divides a register and an immediate value. */ declare class DIVI { free(): void; [Symbol.dispose](): void; /** * Access the 12-bit immediate value. */ imm12(): Imm12; /** * Construct the instruction from its parts. */ constructor(dst: RegId, lhs: RegId, rhs: Imm12); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Additional arguments for WMDV and WDDV instructions. */ declare class DivArgs { private constructor(); free(): void; [Symbol.dispose](): void; /** * Load RHS from register if true, otherwise zero-extend register value */ indirect_rhs: boolean; } /** * Call external function */ declare class ECAL { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(a: RegId, b: RegId, c: RegId, d: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; /** * Access the ID for register D. */ rd(): RegId; } /** * The 64-byte public key (x, y) recovered from 64-byte signature on 32-byte message hash. */ declare class ECK1 { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst_ptr: RegId, sig_ptr: RegId, msg_hash_ptr: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Given some curve, performs an operation on points */ declare class ECOP { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst_ptr: RegId, curve_id: RegId, operation_type: RegId, points_ptr: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; /** * Access the ID for register D. */ rd(): RegId; } /** * The 64-byte Secp256r1 public key (x, y) recovered from 64-byte signature on 32-byte message hash. */ declare class ECR1 { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst_ptr: RegId, sig_ptr: RegId, msg_hash_ptr: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Verify ED25519 public key and signature match a message. */ declare class ED19 { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(pub_key_ptr: RegId, sig_ptr: RegId, msg_ptr: RegId, msg_len: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; /** * Access the ID for register D. */ rd(): RegId; } /** * Given some curve, performs a pairing on groups of points */ declare class EPAR { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(success: RegId, curve_id: RegId, number_elements: RegId, points_ptr: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; /** * Access the ID for register D. */ rd(): RegId; } /** * Compares two registers for equality. */ declare class EQ { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst: RegId, lhs: RegId, rhs: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Raises one register to the power of another. */ declare class EXP { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst: RegId, lhs: RegId, rhs: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Raises one register to the power of an immediate value. */ declare class EXPI { free(): void; [Symbol.dispose](): void; /** * Access the 12-bit immediate value. */ imm12(): Imm12; /** * Construct the instruction from its parts. */ constructor(dst: RegId, lhs: RegId, rhs: Imm12); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Set flag register to a register. */ declare class FLAG { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(value: RegId); /** * Access the ID for register A. */ ra(): RegId; } /** * Get metadata from memory. */ declare class GM { free(): void; [Symbol.dispose](): void; /** * Construct a `GM` instruction from its arguments. */ static from_args(ra: RegId, args: GMArgs): GM; /** * Access the 18-bit immediate value. */ imm18(): Imm18; /** * Construct the instruction from its parts. */ constructor(dst: RegId, selector: Imm18); /** * Access the ID for register A. */ ra(): RegId; } /** * r" Argument list for GM (get metadata) instruction * r" The VM is the only who should match this struct, and it *MUST* always perform * r" exhaustive match so all offered variants are covered. */ declare enum GMArgs { /** * r" Get if caller is external. */ IsCallerExternal = 1, /** * r" Get caller's contract ID. */ GetCaller = 2, /** * r" Get index of current predicate. */ GetVerifyingPredicate = 3, /** * r" Get the Chain ID this VM is operating within */ GetChainId = 4, /** * r" Get memory address where the transaction is located */ TxStart = 5, /** * r" Get memory address of base asset ID */ BaseAssetId = 6, /** * r" Get gas price for block */ GetGasPrice = 7, /** * r" Get owner of the transaction. */ GetOwner = 8, } /** * Compares two registers for greater-than. */ declare class GT { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst: RegId, lhs: RegId, rhs: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Get transaction fields. */ declare class GTF { free(): void; [Symbol.dispose](): void; /** * Construct a `GTF` instruction from its arguments. */ static from_args(ra: RegId, rb: RegId, args: GTFArgs): GTF; /** * Access the 12-bit immediate value. */ imm12(): Imm12; /** * Construct the instruction from its parts. */ constructor(dst: RegId, arg: RegId, selector: Imm12); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * r" Argument list for GTF (get tx fields) instruction * r" The VM is the only who should match this struct, and it *MUST* always perform * r" exhaustive match so all offered variants are covered. */ declare enum GTFArgs { /** * r" Set `$rA` to `tx.type` */ Type = 1, /** * r" Set `$rA` to `tx.scriptGasLimit` */ ScriptGasLimit = 2, /** * r" Set `$rA` to `tx.scriptLength` */ ScriptLength = 3, /** * r" Set `$rA` to `tx.scriptDataLength` */ ScriptDataLength = 4, /** * r" Set `$rA` to `tx.inputsCount` */ ScriptInputsCount = 5, /** * r" Set `$rA` to `tx.outputsCount` */ ScriptOutputsCount = 6, /** * r" Set `$rA` to `tx.witnessesCount` */ ScriptWitnessesCount = 7, /** * r" Set `$rA` to `Memory address of tx.script` */ Script = 9, /** * r" Set `$rA` to `Memory address of tx.scriptData` */ ScriptData = 10, /** * r" Set `$rA` to `Memory address of tx.inputs[$rB]` */ ScriptInputAtIndex = 11, /** * r" Set `$rA` to `Memory address of t.outputs[$rB]` */ ScriptOutputAtIndex = 12, /** * r" Set `$rA` to `Memory address of tx.witnesses[$rB]` */ ScriptWitnessAtIndex = 13, /** * r" Set `$rA` to size of the transaction in memory, in bytes */ TxLength = 14, /** * r" Set `$rA` to `tx.bytecodeWitnessIndex` */ CreateBytecodeWitnessIndex = 257, /** * r" Set `$rA` to `tx.storageSlotsCount` */ CreateStorageSlotsCount = 258, /** * r" Set `$rA` to `tx.inputsCount` */ CreateInputsCount = 259, /** * r" Set `$rA` to `tx.outputsCount` */ CreateOutputsCount = 260, /** * r" Set `$rA` to `tx.witnessesCount` */ CreateWitnessesCount = 261, /** * r" Set `$rA` to `Memory address of tx.salt` */ CreateSalt = 262, /** * r" Set `$rA` to `Memory address of tx.storageSlots[$rB]` */ CreateStorageSlotAtIndex = 263, /** * r" Set `$rA` to `Memory address of tx.inputs[$rB]` */ CreateInputAtIndex = 264, /** * r" Set `$rA` to `Memory address of t.outputs[$rB]` */ CreateOutputAtIndex = 265, /** * r" Set `$rA` to `Memory address of tx.witnesses[$rB]` */ CreateWitnessAtIndex = 266, /** * r" Set `$rA` to `tx.inputs[$rB].type` */ InputType = 512, /** * r" Set `$rA` to `Memory address of tx.inputs[$rB].txID` */ InputCoinTxId = 513, /** * r" Set `$rA` to `tx.inputs[$rB].outputIndex` */ InputCoinOutputIndex = 514, /** * r" Set `$rA` to `Memory address of tx.inputs[$rB].owner` */ InputCoinOwner = 515, /** * r" Set `$rA` to `tx.inputs[$rB].amount` */ InputCoinAmount = 516, /** * r" Set `$rA` to `Memory address of tx.inputs[$rB].asset_id` */ InputCoinAssetId = 517, /** * r" Set `$rA` to `Memory address of tx.inputs[$rB].txPointer` */ InputCoinTxPointer = 518, /** * r" Set `$rA` to `tx.inputs[$rB].witnessIndex` */ InputCoinWitnessIndex = 519, /** * r" Set `$rA` to `tx.inputs[$rB].predicateLength` */ InputCoinPredicateLength = 521, /** * r" Set `$rA` to `tx.inputs[$rB].predicateDataLength` */ InputCoinPredicateDataLength = 522, /** * r" Set `$rA` to `Memory address of tx.inputs[$rB].predicate` */ InputCoinPredicate = 523, /** * r" Set `$rA` to `Memory address of tx.inputs[$rB].predicateData` */ InputCoinPredicateData = 524, /** * r" Set `$rA` to `Memory address of tx.inputs[$rB].predicateGasUsed` */ InputCoinPredicateGasUsed = 525, /** * r" Set `$rA` to `Memory address of tx.inputs[$rB].txID` */ InputContractTxId = 544, /** * r" Set `$rA` to `tx.inputs[$rB].outputIndex` */ InputContractOutputIndex = 545, /** * r" Set `$rA` to `Memory address of tx.inputs[$rB].contractID` */ InputContractId = 549, /** * r" Set `$rA` to `Memory address of tx.inputs[$rB].sender` */ InputMessageSender = 576, /** * r" Set `$rA` to `Memory address of tx.inputs[$rB].recipient` */ InputMessageRecipient = 577, /** * r" Set `$rA` to `tx.inputs[$rB].amount` */ InputMessageAmount = 578, /** * r" Set `$rA` to `Memory address of tx.inputs[$rB].nonce` */ InputMessageNonce = 579, /** * r" Set `$rA` to `tx.inputs[$rB].witnessIndex` */ InputMessageWitnessIndex = 580, /** * r" Set `$rA` to `tx.inputs[$rB].dataLength` */ InputMessageDataLength = 581, /** * r" Set `$rA` to `tx.inputs[$rB].predicateLength` */ InputMessagePredicateLength = 582, /** * r" Set `$rA` to `tx.inputs[$rB].predicateDataLength` */ InputMessagePredicateDataLength = 583, /** * r" Set `$rA` to `Memory address of tx.inputs[$rB].data` */ InputMessageData = 584, /** * r" Set `$rA` to `Memory address of tx.inputs[$rB].predicate` */ InputMessagePredicate = 585, /** * r" Set `$rA` to `Memory address of tx.inputs[$rB].predicateData` */ InputMessagePredicateData = 586, /** * r" Set `$rA` to `Memory address of tx.inputs[$rB].predicateGasUsed` */ InputMessagePredicateGasUsed = 587, /** * r" Set `$rA` to `tx.outputs[$rB].type` */ OutputType = 768, /** * r" Set `$rA` to `Memory address of tx.outputs[$rB].to` */ OutputCoinTo = 769, /** * r" Set `$rA` to `tx.outputs[$rB].amount` */ OutputCoinAmount = 770, /** * r" Set `$rA` to `Memory address of tx.outputs[$rB].asset_id` */ OutputCoinAssetId = 771, /** * r" Set `$rA` to `tx.outputs[$rB].inputIndex` */ OutputContractInputIndex = 772, /** * r" Set `$rA` to `Memory address of tx.outputs[$rB].contractID` */ OutputContractCreatedContractId = 775, /** * r" Set `$rA` to `Memory address of tx.outputs[$rB].stateRoot` */ OutputContractCreatedStateRoot = 776, /** * r" Set `$rA` to `tx.witnesses[$rB].dataLength` */ WitnessDataLength = 1024, /** * r" Set `$rA` to `Memory address of tx.witnesses[$rB].data` */ WitnessData = 1025, /** * r" Set `$rA` to `tx.policyTypes` */ PolicyTypes = 1280, /** * r" Set `$rA` to `tx.policies[0x00].gasPrice` */ PolicyTip = 1281, /** * r" Set `$rA` to `tx.policies[count_ones(0b11 & tx.policyTypes) - 1].witnessLimit` */ PolicyWitnessLimit = 1282, /** * r" Set `$rA` to `tx.policies[count_ones(0b111 & tx.policyTypes) - 1].maturity` */ PolicyMaturity = 1283, /** * r" Set `$rA` to `tx.policies[count_ones(0b1111 & tx.policyTypes) - 1].maxFee` */ PolicyMaxFee = 1284, /** * r" Set `$rA` to `tx.policies[count_ones(0b11111 & tx.policyTypes) - 1].expiration` */ PolicyExpiration = 1285, /** * r" Set `$rA` to `tx.policies[count_ones(0b111111 & tx.policyTypes) - 1].owner` */ PolicyOwner = 1286, /** * r" Set `$rA` to `Memory address of tx.root` */ UploadRoot = 1536, /** * r" Set `$rA` to `tx.witnessIndex` */ UploadWitnessIndex = 1537, /** * r" Set `$rA` to `tx.subsectionIndex` */ UploadSubsectionIndex = 1538, /** * r" Set `$rA` to `tx.subsectionsNumber` */ UploadSubsectionsCount = 1539, /** * r" Set `$rA` to `tx.proofSetCount` */ UploadProofSetCount = 1540, /** * r" Set `$rA` to `Memory address of tx.proofSet[$rB]` */ UploadProofSetAtIndex = 1541, /** * r" Set `$rA` to `Memory address of tx.id` */ BlobId = 1792, /** * r" Set `$rA` to `tx.witnessIndex` */ BlobWitnessIndex = 1793, /** * r" Set `$rA` to `Memory address of tx.purpose` */ UpgradePurpose = 2048, /** * r" Set `$rA` to `tx.inputsCount` */ TxInputsCount = 2304, /** * r" Set `$rA` to `tx.outputsCount` */ TxOutputsCount = 2305, /** * r" Set `$rA` to `tx.witnessesCount` */ TxWitnessesCount = 2306, /** * r" Set `$rA` to `Memory address of tx.inputs[$rB]` */ TxInputAtIndex = 2307, /** * r" Set `$rA` to `Memory address of t.outputs[$rB]` */ TxOutputAtIndex = 2308, /** * r" Set `$rA` to `Memory address of tx.witnesses[$rB]` */ TxWitnessAtIndex = 2309, } /** * Represents a 6-bit immediate value, guaranteed to be masked by construction. */ declare class Imm06 { private constructor(); free(): void; [Symbol.dispose](): void; } /** * Represents a 12-bit immediate value, guaranteed to be masked by construction. */ declare class Imm12 { private constructor(); free(): void; [Symbol.dispose](): void; } /** * Represents a 18-bit immediate value, guaranteed to be masked by construction. */ declare class Imm18 { private constructor(); free(): void; [Symbol.dispose](): void; } /** * Represents a 24-bit immediate value, guaranteed to be masked by construction. */ declare class Imm24 { private constructor(); free(): void; [Symbol.dispose](): void; } /** * Representation of a single instruction for the interpreter. * * The opcode is represented in the tag (variant), or may be retrieved in the * form of an `Opcode` byte using the `opcode` method. * * The register and immediate data associated with the instruction is represented * within an inner unit type wrapper around the 3 remaining bytes. */ declare class Instruction { private constructor(); free(): void; [Symbol.dispose](): void; /** * Size of an instruction in bytes */ static size(): number; /** * Convenience method for converting to bytes */ to_bytes(): Uint8Array; } /** * Store return address and jump to an absolute address. */ declare class JAL { free(): void; [Symbol.dispose](): void; /** * Access the 12-bit immediate value. */ imm12(): Imm12; /** * Construct the instruction from its parts. */ constructor(ret_ptr: RegId, target: RegId, offset: Imm12); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Jump. */ declare class JI { free(): void; [Symbol.dispose](): void; /** * Access the 24-bit immediate value. */ imm24(): Imm24; /** * Construct the instruction from its parts. */ constructor(abs_target: Imm24); } /** * Dynamic jump. */ declare class JMP { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(abs_target: RegId); /** * Access the ID for register A. */ ra(): RegId; } /** * Unconditional dynamic relative jump backwards, with a constant offset. */ declare class JMPB { free(): void; [Symbol.dispose](): void; /** * Access the 18-bit immediate value. */ imm18(): Imm18; /** * Construct the instruction from its parts. */ constructor(dynamic: RegId, fixed: Imm18); /** * Access the ID for register A. */ ra(): RegId; } /** * Unconditional dynamic relative jump forwards, with a constant offset. */ declare class JMPF { free(): void; [Symbol.dispose](): void; /** * Access the 18-bit immediate value. */ imm18(): Imm18; /** * Construct the instruction from its parts. */ constructor(dynamic: RegId, fixed: Imm18); /** * Access the ID for register A. */ ra(): RegId; } /** * Conditional dynamic jump. */ declare class JNE { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(abs_target: RegId, lhs: RegId, rhs: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Dynamic relative jump backwards, conditional on comparsion, with a constant offset. */ declare class JNEB { free(): void; [Symbol.dispose](): void; /** * Access the 6-bit immediate value. */ imm06(): Imm06; /** * Construct the instruction from its parts. */ constructor(cond_lhs: RegId, cond_rhs: RegId, dynamic: RegId, fixed: Imm06); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Dynamic relative jump forwards, conditional on comparsion, with a constant offset. */ declare class JNEF { free(): void; [Symbol.dispose](): void; /** * Access the 6-bit immediate value. */ imm06(): Imm06; /** * Construct the instruction from its parts. */ constructor(cond_lhs: RegId, cond_rhs: RegId, dynamic: RegId, fixed: Imm06); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Conditional jump. */ declare class JNEI { free(): void; [Symbol.dispose](): void; /** * Access the 12-bit immediate value. */ imm12(): Imm12; /** * Construct the instruction from its parts. */ constructor(cond_lhs: RegId, cond_rhs: RegId, abs_target: Imm12); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Dynamic relative jump backwards, conditional against zero, with a constant offset. */ declare class JNZB { free(): void; [Symbol.dispose](): void; /** * Access the 12-bit immediate value. */ imm12(): Imm12; /** * Construct the instruction from its parts. */ constructor(cond_nz: RegId, dynamic: RegId, fixed: Imm12); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Dynamic relative jump forwards, conditional against zero, with a constant offset. */ declare class JNZF { free(): void; [Symbol.dispose](): void; /** * Access the 12-bit immediate value. */ imm12(): Imm12; /** * Construct the instruction from its parts. */ constructor(cond_nz: RegId, dynamic: RegId, fixed: Imm12); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Conditional jump against zero. */ declare class JNZI { free(): void; [Symbol.dispose](): void; /** * Access the 18-bit immediate value. */ imm18(): Imm18; /** * Construct the instruction from its parts. */ constructor(cond_nz: RegId, abs_target: Imm18); /** * Access the ID for register A. */ ra(): RegId; } /** * The keccak-256 hash of a slice. */ declare class K256 { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst_ptr: RegId, src_ptr: RegId, len: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * A byte is loaded from the specified address offset by an immediate value. */ declare class LB { free(): void; [Symbol.dispose](): void; /** * Access the 12-bit immediate value. */ imm12(): Imm12; /** * Construct the instruction from its parts. */ constructor(dst: RegId, ptr: RegId, offset: Imm12); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Load code as executable either from contract, blob, or memory. */ declare class LDC { free(): void; [Symbol.dispose](): void; /** * Access the 6-bit immediate value. */ imm06(): Imm06; /** * Construct the instruction from its parts. */ constructor(src_ptr: RegId, offset: RegId, len: RegId, mode: Imm06); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Load halfword (u32). */ declare class LHW { free(): void; [Symbol.dispose](): void; /** * Access the 12-bit immediate value. */ imm12(): Imm12; /** * Construct the instruction from its parts. */ constructor(dst: RegId, arg: RegId, offset: Imm12); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Log an event. */ declare class LOG { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(a: RegId, b: RegId, c: RegId, d: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; /** * Access the ID for register D. */ rd(): RegId; } /** * Log data. */ declare class LOGD { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(a: RegId, b: RegId, ptr: RegId, len: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; /** * Access the ID for register D. */ rd(): RegId; } /** * Load quarterword (u16). */ declare class LQW { free(): void; [Symbol.dispose](): void; /** * Access the 12-bit immediate value. */ imm12(): Imm12; /** * Construct the instruction from its parts. */ constructor(dst: RegId, arg: RegId, offset: Imm12); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Compares two registers for less-than. */ declare class LT { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst: RegId, lhs: RegId, rhs: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * A word is loaded from the specified address offset by an immediate value. */ declare class LW { free(): void; [Symbol.dispose](): void; /** * Access the 12-bit immediate value. */ imm12(): Imm12; /** * Construct the instruction from its parts. */ constructor(dst: RegId, ptr: RegId, offset: Imm12); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Clear a variable number of bytes in memory. */ declare class MCL { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst_ptr: RegId, len: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Clear an immediate number of bytes in memory. */ declare class MCLI { free(): void; [Symbol.dispose](): void; /** * Access the 18-bit immediate value. */ imm18(): Imm18; /** * Construct the instruction from its parts. */ constructor(ptr: RegId, count: Imm18); /** * Access the ID for register A. */ ra(): RegId; } /** * Copy a variable number of bytes in memory. */ declare class MCP { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst_ptr: RegId, src_ptr: RegId, len: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Copy an immediate number of bytes in memory. */ declare class MCPI { free(): void; [Symbol.dispose](): void; /** * Access the 12-bit immediate value. */ imm12(): Imm12; /** * Construct the instruction from its parts. */ constructor(dst_ptr: RegId, src_ptr: RegId, len: Imm12); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Compare bytes in memory. */ declare class MEQ { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(result: RegId, lhs_ptr: RegId, rhs_ptr: RegId, len: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; /** * Access the ID for register D. */ rd(): RegId; } /** * Mints `amount` coins of the asset ID created from `sub_id` for the current contract. */ declare class MINT { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(amount: RegId, sub_id_ptr: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Fused multiply-divide with arbitrary precision intermediate step. */ declare class MLDV { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst: RegId, mul_lhs: RegId, mul_rhs: RegId, divisor: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; /** * Access the ID for register D. */ rd(): RegId; } /** * The integer logarithm of a register. */ declare class MLOG { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst: RegId, lhs: RegId, rhs: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Modulo remainder of two registers. */ declare class MOD { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst: RegId, lhs: RegId, rhs: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Modulo remainder of a register and an immediate value. */ declare class MODI { free(): void; [Symbol.dispose](): void; /** * Access the 12-bit immediate value. */ imm12(): Imm12; /** * Construct the instruction from its parts. */ constructor(dst: RegId, lhs: RegId, rhs: Imm12); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Copy from one register to another. */ declare class MOVE { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst: RegId, src: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Copy immediate value into a register */ declare class MOVI { free(): void; [Symbol.dispose](): void; /** * Access the 18-bit immediate value. */ imm18(): Imm18; /** * Construct the instruction from its parts. */ constructor(dst: RegId, val: Imm18); /** * Access the ID for register A. */ ra(): RegId; } /** * The integer root of a register. */ declare class MROO { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst: RegId, lhs: RegId, rhs: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Multiplies two registers. */ declare class MUL { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst: RegId, lhs: RegId, rhs: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Multiplies a register and an immediate value. */ declare class MULI { free(): void; [Symbol.dispose](): void; /** * Access the 12-bit immediate value. */ imm12(): Imm12; /** * Construct the instruction from its parts. */ constructor(dst: RegId, lhs: RegId, rhs: Imm12); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Additional arguments for WDOP and WQOP instructions. */ declare class MathArgs { free(): void; [Symbol.dispose](): void; /** * Create a new `MathArgs` instance from operation and width. */ constructor(op: NarrowMathOp, width: OpWidth); /** * Load RHS from register if true, otherwise zero-extend register value */ indirect_rhs: boolean; /** * The operation to perform */ op: MathOp; } /** * The operation performed by WDOP and WQOP instructions, determined as */ declare enum MathOp { /** * Add */ ADD = 0, /** * Subtract */ SUB = 1, /** * Invert bits (discards rhs) */ NOT = 2, /** * Bitwise or */ OR = 3, /** * Bitwise exclusive or */ XOR = 4, /** * Bitwise and */ AND = 5, /** * Shift left */ SHL = 6, /** * Shift right */ SHR = 7, } /** * Additional arguments for WDML and WQML instructions. */ declare class MulArgs { private constructor(); free(): void; [Symbol.dispose](): void; /** * Load LHSS from register if true, otherwise zero-extend register value */ indirect_lhs: boolean; /** * Load RHS from register if true, otherwise zero-extend register value */ indirect_rhs: boolean; } /** * Narrow-integer arithmetic operation. */ declare class NIOP { free(): void; [Symbol.dispose](): void; /** * Construct a `NIOP` instruction from its arguments. */ static from_args(ra: RegId, rb: RegId, rc: RegId, args: NarrowMathArgs): NIOP; /** * Access the 6-bit immediate value. */ imm06(): Imm06; /** * Construct the instruction from its parts. */ constructor(dst: RegId, lhs: RegId, rhs: RegId, flags: Imm06); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Performs no operation. */ declare class NOOP { free(): void; [Symbol.dispose](): void; /** * Construct the instruction. */ constructor(); } /** * Bitwise NOT a register. */ declare class NOT { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst: RegId, arg: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Immediate value arguments for the NIOP instruction */ declare class NarrowMathArgs { private constructor(); free(): void; [Symbol.dispose](): void; /** * The operation to perform */ op: NarrowMathOp; /** * Width of the operation */ width: OpWidth; } /** * The operation performed by the NIOP instruction. */ declare enum NarrowMathOp { /** * Add */ ADD = 0, /** * Subtract */ SUB = 1, /** * Multiply */ MUL = 2, /** * Exponentiate */ EXP = 3, /** * Bit shift left */ SLL = 4, /** * XNOR */ XNOR = 5, } /** * Bitwise ORs two registers. */ declare class OR { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst: RegId, lhs: RegId, rhs: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Bitwise ORs a register and an immediate value. */ declare class ORI { free(): void; [Symbol.dispose](): void; /** * Access the 12-bit immediate value. */ imm12(): Imm12; /** * Construct the instruction from its parts. */ constructor(dst: RegId, lhs: RegId, rhs: Imm12); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Operation width */ declare enum OpWidth { /** * 8-bit */ U8 = 0, /** * 16-bit */ U16 = 1, /** * 32-bit */ U32 = 2, } /** * Pop a bitmask-selected set of registers in range 40..64 to the stack. */ declare class POPH { free(): void; [Symbol.dispose](): void; /** * Access the 24-bit immediate value. */ imm24(): Imm24; /** * Construct the instruction from its parts. */ constructor(bitmask: Imm24); } /** * Pop a bitmask-selected set of registers in range 16..40 to the stack. */ declare class POPL { free(): void; [Symbol.dispose](): void; /** * Access the 24-bit immediate value. */ imm24(): Imm24; /** * Construct the instruction from its parts. */ constructor(bitmask: Imm24); } /** * Push a bitmask-selected set of registers in range 40..64 to the stack. */ declare class PSHH { free(): void; [Symbol.dispose](): void; /** * Access the 24-bit immediate value. */ imm24(): Imm24; /** * Construct the instruction from its parts. */ constructor(bitmask: Imm24); } /** * Push a bitmask-selected set of registers in range 16..40 to the stack. */ declare class PSHL { free(): void; [Symbol.dispose](): void; /** * Access the 24-bit immediate value. */ imm24(): Imm24; /** * Construct the instruction from its parts. */ constructor(bitmask: Imm24); } /** * Describe a panic reason with the instruction that generated it */ declare class PanicInstruction { free(): void; [Symbol.dispose](): void; /** * Represents an error described by a reason and an instruction. */ constructor(reason: PanicReason, instruction: number); /** * Underlying instruction */ instruction(): number; /** * Underlying panic reason */ reason(): PanicReason; } /** * r" Panic reason representation for the interpreter. */ declare enum PanicReason { /** * r" The byte can't be mapped to any known `PanicReason`. */ UnknownPanicReason = 0, /** * r" Found `RVRT` instruction. */ Revert = 1, /** * r" Execution ran out of gas. */ OutOfGas = 2, /** * r" The transaction validity is violated. */ TransactionValidity = 3, /** * r" Attempt to write outside interpreter memory boundaries. */ MemoryOverflow = 4, /** * r" Overflow while executing arithmetic operation. * r" These errors are ignored using the WRAPPING flag. */ ArithmeticOverflow = 5, /** * r" Designed contract was not found in the storage. */ ContractNotFound = 6, /** * r" Memory ownership rules are violated. */ MemoryOwnership = 7, /** * r" The asset ID balance isn't enough for the instruction. */ NotEnoughBalance = 8, /** * r" The interpreter is expected to be in internal context. */ ExpectedInternalContext = 9, /** * r" The queried asset ID was not found in the state. */ AssetIdNotFound = 10, /** * r" The provided input is not found in the transaction. */ InputNotFound = 11, /** * r" The provided output is not found in the transaction. */ OutputNotFound = 12, /** * r" The provided witness is not found in the transaction. */ WitnessNotFound = 13, /** * r" The transaction maturity is not valid for this request. */ TransactionMaturity = 14, /** * r" The metadata identifier is invalid. */ InvalidMetadataIdentifier = 15, /** * r" The call structure is not valid. */ MalformedCallStructure = 16, /** * r" The provided register does not allow write operations. */ ReservedRegisterNotWritable = 17, /** * r" The execution resulted in an erroneous state of the interpreter. */ InvalidFlags = 18, /** * r" The provided immediate value is not valid for this instruction. */ InvalidImmediateValue = 19, /** * r" The provided transaction input is not of type `Coin`. */ ExpectedCoinInput = 20, /** * r" `ECAL` instruction failed. */ EcalError = 21, /** * r" Two segments of the interpreter memory should not intersect for write operations. */ MemoryWriteOverlap = 22, /** * r" The requested contract is not listed in the transaction inputs. */ ContractNotInInputs = 23, /** * r" The internal asset ID balance overflowed with the provided instruction. */ InternalBalanceOverflow = 24, /** * r" The maximum allowed contract size is violated. */ ContractMaxSize = 25, /** * r" This instruction expects the stack area to be unallocated for this call. */ ExpectedUnallocatedStack = 26, /** * r" The maximum allowed number of static contracts was reached for this transaction. */ MaxStaticContractsReached = 27, /** * r" The requested transfer amount cannot be zero. */ TransferAmountCannotBeZero = 28, /** * r" The provided transaction output should be of type `Variable`. */ ExpectedOutputVariable = 29, /** * r" The expected context of the stack parent is internal. */ ExpectedParentInternalContext = 30, /** * r" The predicate returned non `1`. The `1` means successful verification * r" of the predicate, all other values means unsuccessful. */ PredicateReturnedNonOne = 31, /** * r" The contract ID is already deployed and can't be overwritten. */ ContractIdAlreadyDeployed = 32, /** * r" The loaded contract mismatch expectations. */ ContractMismatch = 33, /** * r" Attempting to send message data longer than `MAX_MESSAGE_DATA_LENGTH` */ MessageDataTooLong = 34, /** * r" Mathematically invalid arguments where given to an arithmetic instruction. * r" For instance, division by zero produces this. * r" These errors are ignored using the UNSAFEMATH flag. */ ArithmeticError = 35, /** * r" The contract instruction is not allowed in predicates. */ ContractInstructionNotAllowed = 36, /** * r" Transfer of zero coins is not allowed. */ TransferZeroCoins = 37, /** * r" Attempted to execute an invalid instruction */ InvalidInstruction = 38, /** * r" Memory outside $is..$ssp range is not executable */ MemoryNotExecutable = 39, /** * r" The policy is not set. */ PolicyIsNotSet = 40, /** * r" The policy is not found across policies. */ PolicyNotFound = 41, /** * r" Receipt context is full */ TooManyReceipts = 42, /** * r" Balance of a contract overflowed */ BalanceOverflow = 43, /** * r" Block height value is invalid, typically because it is too large */ InvalidBlockHeight = 44, /** * r" A sequential storage operation attempts to access past the last slot, * r" or the range is too large to be processed in a single instruction. */ TooManySlots = 45, /** * r" Caller of this internal context is also expected to be internal, * r" i.e. $fp->$fp must be non-zero. */ ExpectedNestedCaller = 46, /** * r" During memory growth, the stack overlapped with the heap */ MemoryGrowthOverlap = 47, /** * r" Attempting to read or write uninitialized memory. * r" Also occurs when boundary crosses from stack to heap. */ UninitalizedMemoryAccess = 48, /** * r" Overriding consensus parameters is not allowed. */ OverridingConsensusParameters = 49, /** * r" The storage doesn't know about the hash of the state transition bytecode. */ UnknownStateTransactionBytecodeRoot = 50, /** * r" Overriding the state transition bytecode is not allowed. */ OverridingStateTransactionBytecode = 51, /** * r" The bytecode is already uploaded and cannot be uploaded again. */ BytecodeAlreadyUploaded = 52, /** * r" The part of the bytecode is not sequentially connected to the previous parts. */ ThePartIsNotSequentiallyConnected = 53, /** * r" The requested blob is not found. */ BlobNotFound = 54, /** * r" The blob was already */ BlobIdAlreadyUploaded = 55, /** * r" Active gas costs do not define the cost for this instruction. */ GasCostNotDefined = 56, /** * r" The curve id is not supported. */ UnsupportedCurveId = 57, /** * r" The operation type is not supported. */ UnsupportedOperationType = 58, /** * r" Read alt_bn_128 curve point is invalid. */ InvalidEllipticCurvePoint = 59, /** * r" Given input contract does not exist. */ InputContractDoesNotExist = 60, /** * r" Storage slot in Create not found */ StorageSlotsNotFound = 61, /** * r" Proof in Upload not found */ ProofInUploadNotFound = 62, /** * r" Invalid purpose type in Upgrade */ InvalidUpgradePurposeType = 63, /** * r" Cannot get gas price in predicate */ CanNotGetGasPriceInPredicate = 64, /** * r" The owner of the transaction is unknown */ OwnerIsUnknown = 65, /** * r" Storage operation out of bounds or exceeds maximum allowed size */ StorageOutOfBounds = 66, } /** * Return from context. */ declare class RET { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(value: RegId); /** * Access the ID for register A. */ ra(): RegId; } /** * Return from context with data. */ declare class RETD { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(ptr: RegId, len: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Halt execution, reverting state changes and returning a value. */ declare class RVRT { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(value: RegId); /** * Access the ID for register A. */ ra(): RegId; } /** * Represents a 6-bit register ID, guaranteed to be masked by construction. */ declare class RegId { free(): void; [Symbol.dispose](): void; /** * Received balance for this context. */ static bal(): RegId; /** * Remaining gas in the context. */ static cgas(): RegId; /** * Error codes for particular operations. */ static err(): RegId; /** * Flags register. */ static flag(): RegId; /** * Frame pointer. Memory address of beginning of current call frame. */ static fp(): RegId; /** * Remaining gas globally. */ static ggas(): RegId; /** * Heap pointer. Memory address below the current bottom of the heap (points to free * memory). */ static hp(): RegId; /** * Instructions start. Pointer to the start of the currently-executing code. */ static is(): RegId; /** * Construct a register ID from the given value. * * Returns `None` if the value is outside the 6-bit value range. */ static new_checked(u: number): RegId | undefined; /** * Construct a register ID from the given value. * * The given value will be masked to 6 bits. */ constructor(u: number); /** * Contains overflow/underflow of addition, subtraction, and multiplication. */ static of(): RegId; /** * Contains one (1), for convenience. */ static one(): RegId; /** * The program counter. Memory address of the current instruction. */ static pc(): RegId; /** * Return value or pointer. */ static ret(): RegId; /** * Return value length in bytes. */ static retl(): RegId; /** * Stack pointer. Memory address on top of current writable stack area (points to * free memory). */ static sp(): RegId; /** * Stack start pointer. Memory address of bottom of current writable stack area. */ static spp(): RegId; /** * A const alternative to the `Into` implementation. */ to_u8(): number; /** * Smallest writable register. */ static writable(): RegId; /** * Contains zero (0), for convenience. */ static zero(): RegId; } /** * The SHA-2-256 hash of a slice. */ declare class S256 { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst_ptr: RegId, src_ptr: RegId, len: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Write the least significant byte of a register to memory. */ declare class SB { free(): void; [Symbol.dispose](): void; /** * Access the 12-bit immediate value. */ imm12(): Imm12; /** * Construct the instruction from its parts. */ constructor(ptr: RegId, value: RegId, offset: Imm12); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Clear a storage slot */ declare class SCLR { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(key_ptr: RegId, count: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Clear a series of slots from contract storage. */ declare class SCWQ { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(key_ptr: RegId, status: RegId, lenq: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Store halfword (u32). */ declare class SHW { free(): void; [Symbol.dispose](): void; /** * Access the 12-bit immediate value. */ imm12(): Imm12; /** * Construct the instruction from its parts. */ constructor(dst: RegId, arg: RegId, offset: Imm12); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Left shifts a register by a register. */ declare class SLL { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst: RegId, lhs: RegId, rhs: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Left shifts a register by an immediate value. */ declare class SLLI { free(): void; [Symbol.dispose](): void; /** * Access the 12-bit immediate value. */ imm12(): Imm12; /** * Construct the instruction from its parts. */ constructor(dst: RegId, lhs: RegId, rhs: Imm12); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Send a message to recipient address with call abi, coins, and output. */ declare class SMO { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(recipient_address_ptr: RegId, data_ptr: RegId, data_len: RegId, coins: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; /** * Access the ID for register D. */ rd(): RegId; } /** * Storage preload (get slot size) */ declare class SPLD { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(len_dst: RegId, key_ptr: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Store quarterword (u16). */ declare class SQW { free(): void; [Symbol.dispose](): void; /** * Access the 12-bit immediate value. */ imm12(): Imm12; /** * Construct the instruction from its parts. */ constructor(dst: RegId, arg: RegId, offset: Imm12); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Read storage slot (register length) */ declare class SRDD { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst_ptr: RegId, key_ptr: RegId, offset: RegId, len: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; /** * Access the ID for register D. */ rd(): RegId; } /** * Read storage slot (immediate length) */ declare class SRDI { free(): void; [Symbol.dispose](): void; /** * Access the 6-bit immediate value. */ imm06(): Imm06; /** * Construct the instruction from its parts. */ constructor(dst_ptr: RegId, key_ptr: RegId, offset: RegId, len: Imm06); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Right shifts a register by a register. */ declare class SRL { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst: RegId, lhs: RegId, rhs: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Right shifts a register by an immediate value. */ declare class SRLI { free(): void; [Symbol.dispose](): void; /** * Access the 12-bit immediate value. */ imm12(): Imm12; /** * Construct the instruction from its parts. */ constructor(dst: RegId, lhs: RegId, rhs: Imm12); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Load a word from contract storage. */ declare class SRW { free(): void; [Symbol.dispose](): void; /** * Access the 6-bit immediate value. */ imm06(): Imm06; /** * Construct the instruction from its parts. */ constructor(dst: RegId, status: RegId, key_ptr: RegId, imm: Imm06); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Load a series of 32 byte slots from contract storage. */ declare class SRWQ { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst_ptr: RegId, status: RegId, key_ptr: RegId, lenq: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; /** * Access the ID for register D. */ rd(): RegId; } /** * Subtracts two registers. */ declare class SUB { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst: RegId, lhs: RegId, rhs: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Subtracts a register and an immediate value. */ declare class SUBI { free(): void; [Symbol.dispose](): void; /** * Access the 12-bit immediate value. */ imm12(): Imm12; /** * Construct the instruction from its parts. */ constructor(dst: RegId, lhs: RegId, rhs: Imm12); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Update a storage slot (read+write) (register length) */ declare class SUPD { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(key_ptr: RegId, value_ptr: RegId, offset: RegId, len: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; /** * Access the ID for register D. */ rd(): RegId; } /** * Update a storage slot (read+write) (immedidate length) */ declare class SUPI { free(): void; [Symbol.dispose](): void; /** * Access the 6-bit immediate value. */ imm06(): Imm06; /** * Construct the instruction from its parts. */ constructor(key_ptr: RegId, value_ptr: RegId, offset: RegId, len: Imm06); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Write a register to memory. */ declare class SW { free(): void; [Symbol.dispose](): void; /** * Access the 12-bit immediate value. */ imm12(): Imm12; /** * Construct the instruction from its parts. */ constructor(ptr: RegId, value: RegId, offset: Imm12); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Write to a storage slot (full overwrite) (register length) */ declare class SWRD { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(key_ptr: RegId, value_ptr: RegId, len: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Write to a storage slot (full overwrite) (immedidate length) */ declare class SWRI { free(): void; [Symbol.dispose](): void; /** * Access the 12-bit immediate value. */ imm12(): Imm12; /** * Construct the instruction from its parts. */ constructor(key_ptr: RegId, value_ptr: RegId, len: Imm12); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Store a word in contract storage. */ declare class SWW { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(key_ptr: RegId, status: RegId, value: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Store a series of 32 byte slots in contract storage. */ declare class SWWQ { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(key_ptr: RegId, status: RegId, src_ptr: RegId, lenq: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; /** * Access the ID for register D. */ rd(): RegId; } /** * Get timestamp of block at given height. */ declare class TIME { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst: RegId, heigth: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Transfer coins to a contract unconditionally. */ declare class TR { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(contract_id_ptr: RegId, amount: RegId, asset_id_ptr: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Transfer coins to a variable output. */ declare class TRO { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(recipient_address_ptr: RegId, output_index: RegId, amount: RegId, asset_id_ptr: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; /** * Access the ID for register D. */ rd(): RegId; } /** * AddMod 128bit */ declare class WDAM { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst_ptr: RegId, add_lhs_ptr: RegId, add_rhs_ptr: RegId, modulo_ptr: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; /** * Access the ID for register D. */ rd(): RegId; } /** * Compare 128bit integers */ declare class WDCM { free(): void; [Symbol.dispose](): void; /** * Construct a `WDCM` instruction from its arguments. */ static from_args(ra: RegId, rb: RegId, rc: RegId, args: CompareArgs): WDCM; /** * Access the 6-bit immediate value. */ imm06(): Imm06; /** * Construct the instruction from its parts. */ constructor(dst_ptr: RegId, lhs_ptr: RegId, rhs_ptr: RegId, flags: Imm06); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Divide 128bit */ declare class WDDV { free(): void; [Symbol.dispose](): void; /** * Construct a `WDDV` instruction from its arguments. */ static from_args(ra: RegId, rb: RegId, rc: RegId, args: DivArgs): WDDV; /** * Access the 6-bit immediate value. */ imm06(): Imm06; /** * Construct the instruction from its parts. */ constructor(dst_ptr: RegId, lhs_ptr: RegId, rhs_ptr: RegId, flags: Imm06); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Fused multiply-divide 128bit */ declare class WDMD { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst_ptr: RegId, mul_lhs_ptr: RegId, mul_rhs_ptr: RegId, divisor_ptr: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; /** * Access the ID for register D. */ rd(): RegId; } /** * Multiply 128bit */ declare class WDML { free(): void; [Symbol.dispose](): void; /** * Construct a `WDML` instruction from its arguments. */ static from_args(ra: RegId, rb: RegId, rc: RegId, args: MulArgs): WDML; /** * Access the 6-bit immediate value. */ imm06(): Imm06; /** * Construct the instruction from its parts. */ constructor(dst_ptr: RegId, lhs_ptr: RegId, rhs_ptr: RegId, flags: Imm06); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * MulMod 128bit */ declare class WDMM { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst_ptr: RegId, mul_lhs_ptr: RegId, mul_rhs_ptr: RegId, modulo_ptr: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; /** * Access the ID for register D. */ rd(): RegId; } /** * Simple 128bit operations */ declare class WDOP { free(): void; [Symbol.dispose](): void; /** * Construct a `WDOP` instruction from its arguments. */ static from_args(ra: RegId, rb: RegId, rc: RegId, args: MathArgs): WDOP; /** * Access the 6-bit immediate value. */ imm06(): Imm06; /** * Construct the instruction from its parts. */ constructor(dst_ptr: RegId, lhs_ptr: RegId, rhs_ptr: RegId, flags: Imm06); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * AddMod 256bit */ declare class WQAM { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst_ptr: RegId, add_lhs_ptr: RegId, add_rhs_ptr: RegId, modulo_ptr: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; /** * Access the ID for register D. */ rd(): RegId; } /** * Compare 256bit integers */ declare class WQCM { free(): void; [Symbol.dispose](): void; /** * Construct a `WQCM` instruction from its arguments. */ static from_args(ra: RegId, rb: RegId, rc: RegId, args: CompareArgs): WQCM; /** * Access the 6-bit immediate value. */ imm06(): Imm06; /** * Construct the instruction from its parts. */ constructor(dst_ptr: RegId, lhs_ptr: RegId, rhs_ptr: RegId, flags: Imm06); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Divide 256bit */ declare class WQDV { free(): void; [Symbol.dispose](): void; /** * Construct a `WQDV` instruction from its arguments. */ static from_args(ra: RegId, rb: RegId, rc: RegId, args: DivArgs): WQDV; /** * Access the 6-bit immediate value. */ imm06(): Imm06; /** * Construct the instruction from its parts. */ constructor(dst_ptr: RegId, lhs_ptr: RegId, rhs_ptr: RegId, flags: Imm06); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Fused multiply-divide 256bit */ declare class WQMD { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst_ptr: RegId, mul_lhs_ptr: RegId, mul_rhs_ptr: RegId, divisor_ptr: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; /** * Access the ID for register D. */ rd(): RegId; } /** * Multiply 256bit */ declare class WQML { free(): void; [Symbol.dispose](): void; /** * Construct a `WQML` instruction from its arguments. */ static from_args(ra: RegId, rb: RegId, rc: RegId, args: MulArgs): WQML; /** * Access the 6-bit immediate value. */ imm06(): Imm06; /** * Construct the instruction from its parts. */ constructor(dst_ptr: RegId, lhs_ptr: RegId, rhs_ptr: RegId, flags: Imm06); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * MulMod 256bit */ declare class WQMM { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst_ptr: RegId, mul_lhs_ptr: RegId, mul_rhs_ptr: RegId, modulo_ptr: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; /** * Access the ID for register D. */ rd(): RegId; } /** * Simple 256bit operations */ declare class WQOP { free(): void; [Symbol.dispose](): void; /** * Construct a `WQOP` instruction from its arguments. */ static from_args(ra: RegId, rb: RegId, rc: RegId, args: MathArgs): WQOP; /** * Access the 6-bit immediate value. */ imm06(): Imm06; /** * Construct the instruction from its parts. */ constructor(dst_ptr: RegId, lhs_ptr: RegId, rhs_ptr: RegId, flags: Imm06); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Bitwise XORs two registers. */ declare class XOR { free(): void; [Symbol.dispose](): void; /** * Construct the instruction from its parts. */ constructor(dst: RegId, lhs: RegId, rhs: RegId); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; /** * Access the ID for register C. */ rc(): RegId; } /** * Bitwise XORs a register and an immediate value. */ declare class XORI { free(): void; [Symbol.dispose](): void; /** * Access the 12-bit immediate value. */ imm12(): Imm12; /** * Construct the instruction from its parts. */ constructor(dst: RegId, lhs: RegId, rhs: Imm12); /** * Access the ID for register A. */ ra(): RegId; /** * Access the ID for register B. */ rb(): RegId; } /** * Adds two registers. */ declare function add(dst: number, lhs: number, rhs: number): Instruction; /** * Adds a register and an immediate value. */ declare function addi(dst: number, lhs: number, rhs: number): Instruction; /** * Allocate a number of bytes from the heap. */ declare function aloc(bytes: number): Instruction; /** * Bitwise ANDs two registers. */ declare function and(dst: number, lhs: number, rhs: number): Instruction; /** * Bitwise ANDs a register and an immediate value. */ declare function andi(dst: number, lhs: number, rhs: number): Instruction; /** * Get the balance of contract of an asset ID. */ declare function bal(dst: number, asset_id_ptr: number, contract_id_ptr: number): Instruction; /** * Get current block height. */ declare function bhei(dst: number): Instruction; /** * Get block header hash for height. */ declare function bhsh(dst: number, heigth: number): Instruction; /** * Load blob as data */ declare function bldd(dst_ptr: number, blob_id_ptr: number, offset: number, len: number): Instruction; /** * Get blob size */ declare function bsiz(dst: number, blob_id_ptr: number): Instruction; /** * Burns `amount` coins of the asset ID created from `sub_id` for the current contract. */ declare function burn(amount: number, sub_id_ptr: number): Instruction; /** * Call a contract. */ declare function call(target_struct: number, fwd_coins: number, asset_id_ptr: number, fwd_gas: number): Instruction; /** * Get current block proposer's address. */ declare function cb(dst: number): Instruction; /** * Copy contract code for a contract. */ declare function ccp(dst_ptr: number, contract_id_ptr: number, offset: number, len: number): Instruction; /** * Extend the current call frame's stack */ declare function cfe(amount: number): Instruction; /** * Extend the current call frame's stack by an immediate value. */ declare function cfei(amount: number): Instruction; /** * Shrink the current call frame's stack */ declare function cfs(amount: number): Instruction; /** * Shrink the current call frame's stack by an immediate value. */ declare function cfsi(amount: number): Instruction; /** * Get code root of a contract. */ declare function croo(dst_ptr: number, contract_id_ptr: number): Instruction; /** * Get code size of a contract. */ declare function csiz(dst: number, contract_id_ptr: number): Instruction; /** * Divides two registers. */ declare function div(dst: number, lhs: number, rhs: number): Instruction; /** * Divides a register and an immediate value. */ declare function divi(dst: number, lhs: number, rhs: number): Instruction; /** * Call external function */ declare function ecal(a: number, b: number, c: number, d: number): Instruction; /** * The 64-byte public key (x, y) recovered from 64-byte signature on 32-byte message hash. */ declare function eck1(dst_ptr: number, sig_ptr: number, msg_hash_ptr: number): Instruction; /** * Given some curve, performs an operation on points */ declare function ecop(dst_ptr: number, curve_id: number, operation_type: number, points_ptr: number): Instruction; /** * The 64-byte Secp256r1 public key (x, y) recovered from 64-byte signature on 32-byte message hash. */ declare function ecr1(dst_ptr: number, sig_ptr: number, msg_hash_ptr: number): Instruction; /** * Verify ED25519 public key and signature match a message. */ declare function ed19(pub_key_ptr: number, sig_ptr: number, msg_ptr: number, msg_len: number): Instruction; /** * Given some curve, performs a pairing on groups of points */ declare function epar(success: number, curve_id: number, number_elements: number, points_ptr: number): Instruction; /** * Compares two registers for equality. */ declare function eq(dst: number, lhs: number, rhs: number): Instruction; /** * Raises one register to the power of another. */ declare function exp(dst: number, lhs: number, rhs: number): Instruction; /** * Raises one register to the power of an immediate value. */ declare function expi(dst: number, lhs: number, rhs: number): Instruction; /** * Set flag register to a register. */ declare function flag(value: number): Instruction; /** * Get metadata from memory. */ declare function gm(dst: number, selector: number): Instruction; /** * Construct a `GM` instruction from its arguments. */ declare function gm_args(ra: number, args: GMArgs): Instruction; /** * Compares two registers for greater-than. */ declare function gt(dst: number, lhs: number, rhs: number): Instruction; /** * Get transaction fields. */ declare function gtf(dst: number, arg: number, selector: number): Instruction; /** * Construct a `GM` instruction from its arguments. */ declare function gtf_args(ra: number, rb: number, args: GTFArgs): Instruction; /** * Store return address and jump to an absolute address. */ declare function jal(ret_ptr: number, target: number, offset: number): Instruction; /** * Jump. */ declare function ji(abs_target: number): Instruction; /** * Dynamic jump. */ declare function jmp(abs_target: number): Instruction; /** * Unconditional dynamic relative jump backwards, with a constant offset. */ declare function jmpb(dynamic: number, fixed: number): Instruction; /** * Unconditional dynamic relative jump forwards, with a constant offset. */ declare function jmpf(dynamic: number, fixed: number): Instruction; /** * Conditional dynamic jump. */ declare function jne(abs_target: number, lhs: number, rhs: number): Instruction; /** * Dynamic relative jump backwards, conditional on comparsion, with a constant offset. */ declare function jneb(cond_lhs: number, cond_rhs: number, dynamic: number, fixed: number): Instruction; /** * Dynamic relative jump forwards, conditional on comparsion, with a constant offset. */ declare function jnef(cond_lhs: number, cond_rhs: number, dynamic: number, fixed: number): Instruction; /** * Conditional jump. */ declare function jnei(cond_lhs: number, cond_rhs: number, abs_target: number): Instruction; /** * Dynamic relative jump backwards, conditional against zero, with a constant offset. */ declare function jnzb(cond_nz: number, dynamic: number, fixed: number): Instruction; /** * Dynamic relative jump forwards, conditional against zero, with a constant offset. */ declare function jnzf(cond_nz: number, dynamic: number, fixed: number): Instruction; /** * Conditional jump against zero. */ declare function jnzi(cond_nz: number, abs_target: number): Instruction; /** * The keccak-256 hash of a slice. */ declare function k256(dst_ptr: number, src_ptr: number, len: number): Instruction; /** * A byte is loaded from the specified address offset by an immediate value. */ declare function lb(dst: number, ptr: number, offset: number): Instruction; /** * Load code as executable either from contract, blob, or memory. */ declare function ldc(src_ptr: number, offset: number, len: number, mode: number): Instruction; /** * Load halfword (u32). */ declare function lhw(dst: number, arg: number, offset: number): Instruction; /** * Log an event. */ declare function log(a: number, b: number, c: number, d: number): Instruction; /** * Log data. */ declare function logd(a: number, b: number, ptr: number, len: number): Instruction; /** * Load quarterword (u16). */ declare function lqw(dst: number, arg: number, offset: number): Instruction; /** * Compares two registers for less-than. */ declare function lt(dst: number, lhs: number, rhs: number): Instruction; /** * A word is loaded from the specified address offset by an immediate value. */ declare function lw(dst: number, ptr: number, offset: number): Instruction; /** * Clear a variable number of bytes in memory. */ declare function mcl(dst_ptr: number, len: number): Instruction; /** * Clear an immediate number of bytes in memory. */ declare function mcli(ptr: number, count: number): Instruction; /** * Copy a variable number of bytes in memory. */ declare function mcp(dst_ptr: number, src_ptr: number, len: number): Instruction; /** * Copy an immediate number of bytes in memory. */ declare function mcpi(dst_ptr: number, src_ptr: number, len: number): Instruction; /** * Compare bytes in memory. */ declare function meq(result: number, lhs_ptr: number, rhs_ptr: number, len: number): Instruction; /** * Mints `amount` coins of the asset ID created from `sub_id` for the current contract. */ declare function mint(amount: number, sub_id_ptr: number): Instruction; /** * Fused multiply-divide with arbitrary precision intermediate step. */ declare function mldv(dst: number, mul_lhs: number, mul_rhs: number, divisor: number): Instruction; /** * The integer logarithm of a register. */ declare function mlog(dst: number, lhs: number, rhs: number): Instruction; /** * Modulo remainder of two registers. */ declare function mod_(dst: number, lhs: number, rhs: number): Instruction; /** * Modulo remainder of a register and an immediate value. */ declare function modi(dst: number, lhs: number, rhs: number): Instruction; /** * Copy from one register to another. */ declare function move_(dst: number, src: number): Instruction; /** * Copy immediate value into a register */ declare function movi(dst: number, val: number): Instruction; /** * The integer root of a register. */ declare function mroo(dst: number, lhs: number, rhs: number): Instruction; /** * Multiplies two registers. */ declare function mul(dst: number, lhs: number, rhs: number): Instruction; /** * Multiplies a register and an immediate value. */ declare function muli(dst: number, lhs: number, rhs: number): Instruction; /** * Narrow-integer arithmetic operation. */ declare function niop(dst: number, lhs: number, rhs: number, flags: number): Instruction; /** * Construct a `WQCM` instruction from its arguments. */ declare function niop_args(ra: number, rb: number, rc: number, args: NarrowMathArgs): Instruction; /** * Performs no operation. */ declare function noop(): Instruction; /** * Bitwise NOT a register. */ declare function not(dst: number, arg: number): Instruction; /** * Bitwise ORs two registers. */ declare function or(dst: number, lhs: number, rhs: number): Instruction; /** * Bitwise ORs a register and an immediate value. */ declare function ori(dst: number, lhs: number, rhs: number): Instruction; /** * Pop a bitmask-selected set of registers in range 40..64 to the stack. */ declare function poph(bitmask: number): Instruction; /** * Pop a bitmask-selected set of registers in range 16..40 to the stack. */ declare function popl(bitmask: number): Instruction; /** * Push a bitmask-selected set of registers in range 40..64 to the stack. */ declare function pshh(bitmask: number): Instruction; /** * Push a bitmask-selected set of registers in range 16..40 to the stack. */ declare function pshl(bitmask: number): Instruction; /** * Return from context. */ declare function ret(value: number): Instruction; /** * Return from context with data. */ declare function retd(ptr: number, len: number): Instruction; /** * Halt execution, reverting state changes and returning a value. */ declare function rvrt(value: number): Instruction; /** * The SHA-2-256 hash of a slice. */ declare function s256(dst_ptr: number, src_ptr: number, len: number): Instruction; /** * Write the least significant byte of a register to memory. */ declare function sb(ptr: number, value: number, offset: number): Instruction; /** * Clear a storage slot */ declare function sclr(key_ptr: number, count: number): Instruction; /** * Clear a series of slots from contract storage. */ declare function scwq(key_ptr: number, status: number, lenq: number): Instruction; /** * Store halfword (u32). */ declare function shw(dst: number, arg: number, offset: number): Instruction; /** * Left shifts a register by a register. */ declare function sll(dst: number, lhs: number, rhs: number): Instruction; /** * Left shifts a register by an immediate value. */ declare function slli(dst: number, lhs: number, rhs: number): Instruction; /** * Send a message to recipient address with call abi, coins, and output. */ declare function smo(recipient_address_ptr: number, data_ptr: number, data_len: number, coins: number): Instruction; /** * Storage preload (get slot size) */ declare function spld(len_dst: number, key_ptr: number): Instruction; /** * Store quarterword (u16). */ declare function sqw(dst: number, arg: number, offset: number): Instruction; /** * Read storage slot (register length) */ declare function srdd(dst_ptr: number, key_ptr: number, offset: number, len: number): Instruction; /** * Read storage slot (immediate length) */ declare function srdi(dst_ptr: number, key_ptr: number, offset: number, len: number): Instruction; /** * Right shifts a register by a register. */ declare function srl(dst: number, lhs: number, rhs: number): Instruction; /** * Right shifts a register by an immediate value. */ declare function srli(dst: number, lhs: number, rhs: number): Instruction; /** * Load a word from contract storage. */ declare function srw(dst: number, status: number, key_ptr: number, imm: number): Instruction; /** * Load a series of 32 byte slots from contract storage. */ declare function srwq(dst_ptr: number, status: number, key_ptr: number, lenq: number): Instruction; /** * Subtracts two registers. */ declare function sub(dst: number, lhs: number, rhs: number): Instruction; /** * Subtracts a register and an immediate value. */ declare function subi(dst: number, lhs: number, rhs: number): Instruction; /** * Update a storage slot (read+write) (register length) */ declare function supd(key_ptr: number, value_ptr: number, offset: number, len: number): Instruction; /** * Update a storage slot (read+write) (immedidate length) */ declare function supi(key_ptr: number, value_ptr: number, offset: number, len: number): Instruction; /** * Write a register to memory. */ declare function sw(ptr: number, value: number, offset: number): Instruction; /** * Write to a storage slot (full overwrite) (register length) */ declare function swrd(key_ptr: number, value_ptr: number, len: number): Instruction; /** * Write to a storage slot (full overwrite) (immedidate length) */ declare function swri(key_ptr: number, value_ptr: number, len: number): Instruction; /** * Store a word in contract storage. */ declare function sww(key_ptr: number, status: number, value: number): Instruction; /** * Store a series of 32 byte slots in contract storage. */ declare function swwq(key_ptr: number, status: number, src_ptr: number, lenq: number): Instruction; /** * Get timestamp of block at given height. */ declare function time(dst: number, heigth: number): Instruction; /** * Transfer coins to a contract unconditionally. */ declare function tr(contract_id_ptr: number, amount: number, asset_id_ptr: number): Instruction; /** * Transfer coins to a variable output. */ declare function tro(recipient_address_ptr: number, output_index: number, amount: number, asset_id_ptr: number): Instruction; /** * AddMod 128bit */ declare function wdam(dst_ptr: number, add_lhs_ptr: number, add_rhs_ptr: number, modulo_ptr: number): Instruction; /** * Compare 128bit integers */ declare function wdcm(dst_ptr: number, lhs_ptr: number, rhs_ptr: number, flags: number): Instruction; /** * Construct a `WDCM` instruction from its arguments. */ declare function wdcm_args(ra: number, rb: number, rc: number, args: CompareArgs): Instruction; /** * Divide 128bit */ declare function wddv(dst_ptr: number, lhs_ptr: number, rhs_ptr: number, flags: number): Instruction; /** * Construct a `WDDV` instruction from its arguments. */ declare function wddv_args(ra: number, rb: number, rc: number, args: DivArgs): Instruction; /** * Fused multiply-divide 128bit */ declare function wdmd(dst_ptr: number, mul_lhs_ptr: number, mul_rhs_ptr: number, divisor_ptr: number): Instruction; /** * Multiply 128bit */ declare function wdml(dst_ptr: number, lhs_ptr: number, rhs_ptr: number, flags: number): Instruction; /** * Construct a `WDML` instruction from its arguments. */ declare function wdml_args(ra: number, rb: number, rc: number, args: MulArgs): Instruction; /** * MulMod 128bit */ declare function wdmm(dst_ptr: number, mul_lhs_ptr: number, mul_rhs_ptr: number, modulo_ptr: number): Instruction; /** * Simple 128bit operations */ declare function wdop(dst_ptr: number, lhs_ptr: number, rhs_ptr: number, flags: number): Instruction; /** * Construct a `WDOP` instruction from its arguments. */ declare function wdop_args(ra: number, rb: number, rc: number, args: MathArgs): Instruction; /** * AddMod 256bit */ declare function wqam(dst_ptr: number, add_lhs_ptr: number, add_rhs_ptr: number, modulo_ptr: number): Instruction; /** * Compare 256bit integers */ declare function wqcm(dst_ptr: number, lhs_ptr: number, rhs_ptr: number, flags: number): Instruction; /** * Construct a `WQCM` instruction from its arguments. */ declare function wqcm_args(ra: number, rb: number, rc: number, args: CompareArgs): Instruction; /** * Divide 256bit */ declare function wqdv(dst_ptr: number, lhs_ptr: number, rhs_ptr: number, flags: number): Instruction; /** * Construct a `WQDV` instruction from its arguments. */ declare function wqdv_args(ra: number, rb: number, rc: number, args: DivArgs): Instruction; /** * Fused multiply-divide 256bit */ declare function wqmd(dst_ptr: number, mul_lhs_ptr: number, mul_rhs_ptr: number, divisor_ptr: number): Instruction; /** * Multiply 256bit */ declare function wqml(dst_ptr: number, lhs_ptr: number, rhs_ptr: number, flags: number): Instruction; /** * Construct a `WQML` instruction from its arguments. */ declare function wqml_args(ra: number, rb: number, rc: number, args: MulArgs): Instruction; /** * MulMod 256bit */ declare function wqmm(dst_ptr: number, mul_lhs_ptr: number, mul_rhs_ptr: number, modulo_ptr: number): Instruction; /** * Simple 256bit operations */ declare function wqop(dst_ptr: number, lhs_ptr: number, rhs_ptr: number, flags: number): Instruction; /** * Construct a `WQOP` instruction from its arguments. */ declare function wqop_args(ra: number, rb: number, rc: number, args: MathArgs): Instruction; /** * Bitwise XORs two registers. */ declare function xor(dst: number, lhs: number, rhs: number): Instruction; /** * Bitwise XORs a register and an immediate value. */ declare function xori(dst: number, lhs: number, rhs: number): Instruction; interface InitOutput { readonly memory: WebAssembly.Memory; readonly __wbg_add_free: (a: number, b: number) => void; readonly __wbg_compareargs_free: (a: number, b: number) => void; readonly __wbg_divargs_free: (a: number, b: number) => void; readonly __wbg_get_compareargs_indirect_rhs: (a: number) => number; readonly __wbg_get_compareargs_mode: (a: number) => number; readonly __wbg_get_divargs_indirect_rhs: (a: number) => number; readonly __wbg_get_mathargs_op: (a: number) => number; readonly __wbg_get_mulargs_indirect_rhs: (a: number) => number; readonly __wbg_get_narrowmathargs_op: (a: number) => number; readonly __wbg_get_narrowmathargs_width: (a: number) => number; readonly __wbg_imm06_free: (a: number, b: number) => void; readonly __wbg_imm12_free: (a: number, b: number) => void; readonly __wbg_imm18_free: (a: number, b: number) => void; readonly __wbg_instruction_free: (a: number, b: number) => void; readonly __wbg_mathargs_free: (a: number, b: number) => void; readonly __wbg_mulargs_free: (a: number, b: number) => void; readonly __wbg_narrowmathargs_free: (a: number, b: number) => void; readonly __wbg_noop_free: (a: number, b: number) => void; readonly __wbg_panicinstruction_free: (a: number, b: number) => void; readonly __wbg_set_compareargs_indirect_rhs: (a: number, b: number) => void; readonly __wbg_set_compareargs_mode: (a: number, b: number) => void; readonly __wbg_set_divargs_indirect_rhs: (a: number, b: number) => void; readonly __wbg_set_mathargs_op: (a: number, b: number) => void; readonly __wbg_set_mulargs_indirect_rhs: (a: number, b: number) => void; readonly __wbg_set_narrowmathargs_op: (a: number, b: number) => void; readonly __wbg_set_narrowmathargs_width: (a: number, b: number) => void; readonly add: (a: number, b: number, c: number) => number; readonly add_new_typescript: (a: number, b: number, c: number) => number; readonly add_ra: (a: number) => number; readonly add_rb: (a: number) => number; readonly add_rc: (a: number) => number; readonly addi: (a: number, b: number, c: number) => number; readonly addi_imm12: (a: number) => number; readonly addi_new_typescript: (a: number, b: number, c: number) => number; readonly aloc: (a: number) => number; readonly aloc_new_typescript: (a: number) => number; readonly aloc_ra: (a: number) => number; readonly and: (a: number, b: number, c: number) => number; readonly andi: (a: number, b: number, c: number) => number; readonly bal: (a: number, b: number, c: number) => number; readonly bhei: (a: number) => number; readonly bhsh: (a: number, b: number) => number; readonly bhsh_new_typescript: (a: number, b: number) => number; readonly bldd: (a: number, b: number, c: number, d: number) => number; readonly bldd_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly bldd_rd: (a: number) => number; readonly bsiz: (a: number, b: number) => number; readonly burn: (a: number, b: number) => number; readonly call: (a: number, b: number, c: number, d: number) => number; readonly cb: (a: number) => number; readonly ccp: (a: number, b: number, c: number, d: number) => number; readonly cfe: (a: number) => number; readonly cfei: (a: number) => number; readonly cfei_imm24: (a: number) => number; readonly cfei_new_typescript: (a: number) => number; readonly cfs: (a: number) => number; readonly cfsi: (a: number) => number; readonly compareargs_from_imm: (a: number) => number; readonly compareargs_to_imm: (a: number) => number; readonly croo: (a: number, b: number) => number; readonly csiz: (a: number, b: number) => number; readonly div: (a: number, b: number, c: number) => number; readonly divi: (a: number, b: number, c: number) => number; readonly ecal: (a: number, b: number, c: number, d: number) => number; readonly eck1: (a: number, b: number, c: number) => number; readonly ecop: (a: number, b: number, c: number, d: number) => number; readonly ecr1: (a: number, b: number, c: number) => number; readonly ed19: (a: number, b: number, c: number, d: number) => number; readonly epar: (a: number, b: number, c: number, d: number) => number; readonly eq: (a: number, b: number, c: number) => number; readonly exp: (a: number, b: number, c: number) => number; readonly expi: (a: number, b: number, c: number) => number; readonly flag: (a: number) => number; readonly gm: (a: number, b: number) => number; readonly gm_args: (a: number, b: number) => number; readonly gm_from_args: (a: number, b: number) => number; readonly gm_imm18: (a: number) => number; readonly gm_new_typescript: (a: number, b: number) => number; readonly gt: (a: number, b: number, c: number) => number; readonly gtf: (a: number, b: number, c: number) => number; readonly gtf_args: (a: number, b: number, c: number) => number; readonly gtf_from_args: (a: number, b: number, c: number) => number; readonly gtf_new_typescript: (a: number, b: number, c: number) => number; readonly instruction_size: () => number; readonly instruction_to_bytes: (a: number, b: number) => void; readonly jal: (a: number, b: number, c: number) => number; readonly ji: (a: number) => number; readonly jmp: (a: number) => number; readonly jmpb: (a: number, b: number) => number; readonly jmpb_new_typescript: (a: number, b: number) => number; readonly jmpf: (a: number, b: number) => number; readonly jne: (a: number, b: number, c: number) => number; readonly jneb: (a: number, b: number, c: number, d: number) => number; readonly jneb_imm06: (a: number) => number; readonly jnef: (a: number, b: number, c: number, d: number) => number; readonly jnei: (a: number, b: number, c: number) => number; readonly jnzb: (a: number, b: number, c: number) => number; readonly jnzf: (a: number, b: number, c: number) => number; readonly jnzi: (a: number, b: number) => number; readonly k256: (a: number, b: number, c: number) => number; readonly lb: (a: number, b: number, c: number) => number; readonly ldc: (a: number, b: number, c: number, d: number) => number; readonly lhw: (a: number, b: number, c: number) => number; readonly log: (a: number, b: number, c: number, d: number) => number; readonly logd: (a: number, b: number, c: number, d: number) => number; readonly lqw: (a: number, b: number, c: number) => number; readonly lt: (a: number, b: number, c: number) => number; readonly lw: (a: number, b: number, c: number) => number; readonly mathargs_new: (a: number, b: number) => number; readonly mcl: (a: number, b: number) => number; readonly mcli: (a: number, b: number) => number; readonly mcp: (a: number, b: number, c: number) => number; readonly mcpi: (a: number, b: number, c: number) => number; readonly meq: (a: number, b: number, c: number, d: number) => number; readonly mint: (a: number, b: number) => number; readonly mldv: (a: number, b: number, c: number, d: number) => number; readonly mlog: (a: number, b: number, c: number) => number; readonly mod_: (a: number, b: number, c: number) => number; readonly modi: (a: number, b: number, c: number) => number; readonly move_: (a: number, b: number) => number; readonly movi: (a: number, b: number) => number; readonly mroo: (a: number, b: number, c: number) => number; readonly mul: (a: number, b: number, c: number) => number; readonly muli: (a: number, b: number, c: number) => number; readonly niop: (a: number, b: number, c: number, d: number) => number; readonly niop_args: (a: number, b: number, c: number, d: number) => number; readonly niop_from_args: (a: number, b: number, c: number, d: number) => number; readonly niop_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly noop: () => number; readonly noop_new_typescript: () => number; readonly not: (a: number, b: number) => number; readonly or: (a: number, b: number, c: number) => number; readonly ori: (a: number, b: number, c: number) => number; readonly panicinstruction_error_typescript: (a: number, b: number) => number; readonly panicinstruction_instruction: (a: number) => number; readonly panicinstruction_reason: (a: number) => number; readonly poph: (a: number) => number; readonly popl: (a: number) => number; readonly pshh: (a: number) => number; readonly pshl: (a: number) => number; readonly regid_bal: () => number; readonly regid_cgas: () => number; readonly regid_err: () => number; readonly regid_flag: () => number; readonly regid_fp: () => number; readonly regid_ggas: () => number; readonly regid_hp: () => number; readonly regid_is: () => number; readonly regid_new_checked: (a: number) => number; readonly regid_new_typescript: (a: number) => number; readonly regid_of: () => number; readonly regid_one: () => number; readonly regid_pc: () => number; readonly regid_ret: () => number; readonly regid_retl: () => number; readonly regid_sp: () => number; readonly regid_spp: () => number; readonly regid_to_u8: (a: number) => number; readonly regid_writable: () => number; readonly regid_zero: () => number; readonly ret: (a: number) => number; readonly retd: (a: number, b: number) => number; readonly rvrt: (a: number) => number; readonly s256: (a: number, b: number, c: number) => number; readonly sb: (a: number, b: number, c: number) => number; readonly sclr: (a: number, b: number) => number; readonly scwq: (a: number, b: number, c: number) => number; readonly shw: (a: number, b: number, c: number) => number; readonly sll: (a: number, b: number, c: number) => number; readonly slli: (a: number, b: number, c: number) => number; readonly smo: (a: number, b: number, c: number, d: number) => number; readonly spld: (a: number, b: number) => number; readonly sqw: (a: number, b: number, c: number) => number; readonly srdd: (a: number, b: number, c: number, d: number) => number; readonly srdi: (a: number, b: number, c: number, d: number) => number; readonly srl: (a: number, b: number, c: number) => number; readonly srli: (a: number, b: number, c: number) => number; readonly srw: (a: number, b: number, c: number, d: number) => number; readonly srwq: (a: number, b: number, c: number, d: number) => number; readonly sub: (a: number, b: number, c: number) => number; readonly subi: (a: number, b: number, c: number) => number; readonly supd: (a: number, b: number, c: number, d: number) => number; readonly supi: (a: number, b: number, c: number, d: number) => number; readonly sw: (a: number, b: number, c: number) => number; readonly swrd: (a: number, b: number, c: number) => number; readonly swri: (a: number, b: number, c: number) => number; readonly sww: (a: number, b: number, c: number) => number; readonly swwq: (a: number, b: number, c: number, d: number) => number; readonly time: (a: number, b: number) => number; readonly tr: (a: number, b: number, c: number) => number; readonly tro: (a: number, b: number, c: number, d: number) => number; readonly wdam: (a: number, b: number, c: number, d: number) => number; readonly wdcm: (a: number, b: number, c: number, d: number) => number; readonly wdcm_args: (a: number, b: number, c: number, d: number) => number; readonly wdcm_from_args: (a: number, b: number, c: number, d: number) => number; readonly wddv: (a: number, b: number, c: number, d: number) => number; readonly wddv_args: (a: number, b: number, c: number, d: number) => number; readonly wddv_from_args: (a: number, b: number, c: number, d: number) => number; readonly wdmd: (a: number, b: number, c: number, d: number) => number; readonly wdml: (a: number, b: number, c: number, d: number) => number; readonly wdml_args: (a: number, b: number, c: number, d: number) => number; readonly wdml_from_args: (a: number, b: number, c: number, d: number) => number; readonly wdmm: (a: number, b: number, c: number, d: number) => number; readonly wdop: (a: number, b: number, c: number, d: number) => number; readonly wdop_args: (a: number, b: number, c: number, d: number) => number; readonly wdop_from_args: (a: number, b: number, c: number, d: number) => number; readonly wqam: (a: number, b: number, c: number, d: number) => number; readonly wqcm: (a: number, b: number, c: number, d: number) => number; readonly wqcm_args: (a: number, b: number, c: number, d: number) => number; readonly wqdv: (a: number, b: number, c: number, d: number) => number; readonly wqdv_args: (a: number, b: number, c: number, d: number) => number; readonly wqmd: (a: number, b: number, c: number, d: number) => number; readonly wqml: (a: number, b: number, c: number, d: number) => number; readonly wqml_args: (a: number, b: number, c: number, d: number) => number; readonly wqmm: (a: number, b: number, c: number, d: number) => number; readonly wqop: (a: number, b: number, c: number, d: number) => number; readonly wqop_args: (a: number, b: number, c: number, d: number) => number; readonly xor: (a: number, b: number, c: number) => number; readonly xori: (a: number, b: number, c: number) => number; readonly jmpf_new_typescript: (a: number, b: number) => number; readonly jnzi_new_typescript: (a: number, b: number) => number; readonly mcli_new_typescript: (a: number, b: number) => number; readonly movi_new_typescript: (a: number, b: number) => number; readonly bhei_new_typescript: (a: number) => number; readonly cb_new_typescript: (a: number) => number; readonly cfe_new_typescript: (a: number) => number; readonly cfs_new_typescript: (a: number) => number; readonly flag_new_typescript: (a: number) => number; readonly jmp_new_typescript: (a: number) => number; readonly ret_new_typescript: (a: number) => number; readonly rvrt_new_typescript: (a: number) => number; readonly bsiz_new_typescript: (a: number, b: number) => number; readonly burn_new_typescript: (a: number, b: number) => number; readonly croo_new_typescript: (a: number, b: number) => number; readonly csiz_new_typescript: (a: number, b: number) => number; readonly mcl_new_typescript: (a: number, b: number) => number; readonly mint_new_typescript: (a: number, b: number) => number; readonly move_new_typescript: (a: number, b: number) => number; readonly not_new_typescript: (a: number, b: number) => number; readonly retd_new_typescript: (a: number, b: number) => number; readonly sclr_new_typescript: (a: number, b: number) => number; readonly spld_new_typescript: (a: number, b: number) => number; readonly time_new_typescript: (a: number, b: number) => number; readonly and_new_typescript: (a: number, b: number, c: number) => number; readonly andi_new_typescript: (a: number, b: number, c: number) => number; readonly bal_new_typescript: (a: number, b: number, c: number) => number; readonly div_new_typescript: (a: number, b: number, c: number) => number; readonly divi_new_typescript: (a: number, b: number, c: number) => number; readonly eck1_new_typescript: (a: number, b: number, c: number) => number; readonly ecr1_new_typescript: (a: number, b: number, c: number) => number; readonly eq_new_typescript: (a: number, b: number, c: number) => number; readonly exp_new_typescript: (a: number, b: number, c: number) => number; readonly expi_new_typescript: (a: number, b: number, c: number) => number; readonly gt_new_typescript: (a: number, b: number, c: number) => number; readonly jal_new_typescript: (a: number, b: number, c: number) => number; readonly jne_new_typescript: (a: number, b: number, c: number) => number; readonly jnei_new_typescript: (a: number, b: number, c: number) => number; readonly jnzb_new_typescript: (a: number, b: number, c: number) => number; readonly jnzf_new_typescript: (a: number, b: number, c: number) => number; readonly k256_new_typescript: (a: number, b: number, c: number) => number; readonly lb_new_typescript: (a: number, b: number, c: number) => number; readonly lhw_new_typescript: (a: number, b: number, c: number) => number; readonly lqw_new_typescript: (a: number, b: number, c: number) => number; readonly lt_new_typescript: (a: number, b: number, c: number) => number; readonly lw_new_typescript: (a: number, b: number, c: number) => number; readonly mcp_new_typescript: (a: number, b: number, c: number) => number; readonly mcpi_new_typescript: (a: number, b: number, c: number) => number; readonly mlog_new_typescript: (a: number, b: number, c: number) => number; readonly mod_new_typescript: (a: number, b: number, c: number) => number; readonly modi_new_typescript: (a: number, b: number, c: number) => number; readonly mroo_new_typescript: (a: number, b: number, c: number) => number; readonly mul_new_typescript: (a: number, b: number, c: number) => number; readonly muli_new_typescript: (a: number, b: number, c: number) => number; readonly or_new_typescript: (a: number, b: number, c: number) => number; readonly ori_new_typescript: (a: number, b: number, c: number) => number; readonly s256_new_typescript: (a: number, b: number, c: number) => number; readonly sb_new_typescript: (a: number, b: number, c: number) => number; readonly scwq_new_typescript: (a: number, b: number, c: number) => number; readonly shw_new_typescript: (a: number, b: number, c: number) => number; readonly sll_new_typescript: (a: number, b: number, c: number) => number; readonly slli_new_typescript: (a: number, b: number, c: number) => number; readonly sqw_new_typescript: (a: number, b: number, c: number) => number; readonly srl_new_typescript: (a: number, b: number, c: number) => number; readonly srli_new_typescript: (a: number, b: number, c: number) => number; readonly sub_new_typescript: (a: number, b: number, c: number) => number; readonly subi_new_typescript: (a: number, b: number, c: number) => number; readonly sw_new_typescript: (a: number, b: number, c: number) => number; readonly swrd_new_typescript: (a: number, b: number, c: number) => number; readonly swri_new_typescript: (a: number, b: number, c: number) => number; readonly sww_new_typescript: (a: number, b: number, c: number) => number; readonly tr_new_typescript: (a: number, b: number, c: number) => number; readonly xor_new_typescript: (a: number, b: number, c: number) => number; readonly xori_new_typescript: (a: number, b: number, c: number) => number; readonly call_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly ccp_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly ecal_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly ecop_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly ed19_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly epar_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly jnef_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly ldc_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly log_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly logd_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly meq_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly mldv_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly smo_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly srdd_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly srdi_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly srw_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly srwq_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly supd_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly supi_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly swwq_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly tro_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly wdam_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly wdmd_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly wdmm_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly wqam_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly wqmd_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly wqmm_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly __wbg_addi_free: (a: number, b: number) => void; readonly __wbg_aloc_free: (a: number, b: number) => void; readonly __wbg_and_free: (a: number, b: number) => void; readonly __wbg_andi_free: (a: number, b: number) => void; readonly __wbg_bal_free: (a: number, b: number) => void; readonly __wbg_bhei_free: (a: number, b: number) => void; readonly __wbg_bhsh_free: (a: number, b: number) => void; readonly __wbg_bldd_free: (a: number, b: number) => void; readonly __wbg_bsiz_free: (a: number, b: number) => void; readonly __wbg_burn_free: (a: number, b: number) => void; readonly __wbg_call_free: (a: number, b: number) => void; readonly __wbg_cb_free: (a: number, b: number) => void; readonly __wbg_ccp_free: (a: number, b: number) => void; readonly __wbg_cfe_free: (a: number, b: number) => void; readonly __wbg_cfei_free: (a: number, b: number) => void; readonly __wbg_cfs_free: (a: number, b: number) => void; readonly __wbg_cfsi_free: (a: number, b: number) => void; readonly __wbg_croo_free: (a: number, b: number) => void; readonly __wbg_csiz_free: (a: number, b: number) => void; readonly __wbg_div_free: (a: number, b: number) => void; readonly __wbg_divi_free: (a: number, b: number) => void; readonly __wbg_ecal_free: (a: number, b: number) => void; readonly __wbg_eck1_free: (a: number, b: number) => void; readonly __wbg_ecop_free: (a: number, b: number) => void; readonly __wbg_ecr1_free: (a: number, b: number) => void; readonly __wbg_ed19_free: (a: number, b: number) => void; readonly __wbg_epar_free: (a: number, b: number) => void; readonly __wbg_eq_free: (a: number, b: number) => void; readonly __wbg_exp_free: (a: number, b: number) => void; readonly __wbg_expi_free: (a: number, b: number) => void; readonly __wbg_flag_free: (a: number, b: number) => void; readonly __wbg_gm_free: (a: number, b: number) => void; readonly __wbg_gt_free: (a: number, b: number) => void; readonly __wbg_gtf_free: (a: number, b: number) => void; readonly __wbg_jal_free: (a: number, b: number) => void; readonly __wbg_ji_free: (a: number, b: number) => void; readonly __wbg_jmp_free: (a: number, b: number) => void; readonly __wbg_jmpb_free: (a: number, b: number) => void; readonly __wbg_jmpf_free: (a: number, b: number) => void; readonly __wbg_jne_free: (a: number, b: number) => void; readonly __wbg_jneb_free: (a: number, b: number) => void; readonly __wbg_jnef_free: (a: number, b: number) => void; readonly __wbg_jnei_free: (a: number, b: number) => void; readonly __wbg_jnzb_free: (a: number, b: number) => void; readonly __wbg_jnzf_free: (a: number, b: number) => void; readonly __wbg_jnzi_free: (a: number, b: number) => void; readonly __wbg_k256_free: (a: number, b: number) => void; readonly __wbg_lb_free: (a: number, b: number) => void; readonly __wbg_ldc_free: (a: number, b: number) => void; readonly __wbg_lhw_free: (a: number, b: number) => void; readonly __wbg_log_free: (a: number, b: number) => void; readonly __wbg_logd_free: (a: number, b: number) => void; readonly __wbg_lqw_free: (a: number, b: number) => void; readonly __wbg_lt_free: (a: number, b: number) => void; readonly __wbg_lw_free: (a: number, b: number) => void; readonly __wbg_mcl_free: (a: number, b: number) => void; readonly __wbg_mcli_free: (a: number, b: number) => void; readonly __wbg_mcp_free: (a: number, b: number) => void; readonly __wbg_mcpi_free: (a: number, b: number) => void; readonly __wbg_meq_free: (a: number, b: number) => void; readonly __wbg_mint_free: (a: number, b: number) => void; readonly __wbg_mldv_free: (a: number, b: number) => void; readonly __wbg_mlog_free: (a: number, b: number) => void; readonly __wbg_mod_free: (a: number, b: number) => void; readonly __wbg_modi_free: (a: number, b: number) => void; readonly __wbg_move_free: (a: number, b: number) => void; readonly __wbg_movi_free: (a: number, b: number) => void; readonly __wbg_mroo_free: (a: number, b: number) => void; readonly __wbg_mul_free: (a: number, b: number) => void; readonly __wbg_muli_free: (a: number, b: number) => void; readonly __wbg_niop_free: (a: number, b: number) => void; readonly __wbg_not_free: (a: number, b: number) => void; readonly __wbg_or_free: (a: number, b: number) => void; readonly __wbg_ori_free: (a: number, b: number) => void; readonly __wbg_poph_free: (a: number, b: number) => void; readonly __wbg_popl_free: (a: number, b: number) => void; readonly __wbg_pshh_free: (a: number, b: number) => void; readonly __wbg_pshl_free: (a: number, b: number) => void; readonly __wbg_ret_free: (a: number, b: number) => void; readonly __wbg_retd_free: (a: number, b: number) => void; readonly __wbg_rvrt_free: (a: number, b: number) => void; readonly __wbg_s256_free: (a: number, b: number) => void; readonly __wbg_sb_free: (a: number, b: number) => void; readonly __wbg_sclr_free: (a: number, b: number) => void; readonly __wbg_scwq_free: (a: number, b: number) => void; readonly __wbg_shw_free: (a: number, b: number) => void; readonly __wbg_sll_free: (a: number, b: number) => void; readonly __wbg_slli_free: (a: number, b: number) => void; readonly __wbg_smo_free: (a: number, b: number) => void; readonly __wbg_spld_free: (a: number, b: number) => void; readonly __wbg_sqw_free: (a: number, b: number) => void; readonly __wbg_srdd_free: (a: number, b: number) => void; readonly __wbg_srdi_free: (a: number, b: number) => void; readonly __wbg_srl_free: (a: number, b: number) => void; readonly __wbg_srli_free: (a: number, b: number) => void; readonly __wbg_srw_free: (a: number, b: number) => void; readonly __wbg_srwq_free: (a: number, b: number) => void; readonly __wbg_sub_free: (a: number, b: number) => void; readonly __wbg_subi_free: (a: number, b: number) => void; readonly __wbg_supd_free: (a: number, b: number) => void; readonly __wbg_supi_free: (a: number, b: number) => void; readonly __wbg_sw_free: (a: number, b: number) => void; readonly __wbg_swrd_free: (a: number, b: number) => void; readonly __wbg_swri_free: (a: number, b: number) => void; readonly __wbg_sww_free: (a: number, b: number) => void; readonly __wbg_swwq_free: (a: number, b: number) => void; readonly __wbg_time_free: (a: number, b: number) => void; readonly __wbg_tr_free: (a: number, b: number) => void; readonly __wbg_tro_free: (a: number, b: number) => void; readonly __wbg_wdam_free: (a: number, b: number) => void; readonly __wbg_wdcm_free: (a: number, b: number) => void; readonly __wbg_wddv_free: (a: number, b: number) => void; readonly __wbg_wdmd_free: (a: number, b: number) => void; readonly __wbg_wdml_free: (a: number, b: number) => void; readonly __wbg_wdmm_free: (a: number, b: number) => void; readonly __wbg_wdop_free: (a: number, b: number) => void; readonly __wbg_wqam_free: (a: number, b: number) => void; readonly __wbg_wqcm_free: (a: number, b: number) => void; readonly __wbg_wqdv_free: (a: number, b: number) => void; readonly __wbg_wqmd_free: (a: number, b: number) => void; readonly __wbg_wqml_free: (a: number, b: number) => void; readonly __wbg_wqmm_free: (a: number, b: number) => void; readonly __wbg_wqop_free: (a: number, b: number) => void; readonly __wbg_xor_free: (a: number, b: number) => void; readonly __wbg_xori_free: (a: number, b: number) => void; readonly cfsi_new_typescript: (a: number) => number; readonly ji_new_typescript: (a: number) => number; readonly poph_new_typescript: (a: number) => number; readonly popl_new_typescript: (a: number) => number; readonly pshh_new_typescript: (a: number) => number; readonly pshl_new_typescript: (a: number) => number; readonly pshl_imm24: (a: number) => number; readonly cfe_ra: (a: number) => number; readonly poph_imm24: (a: number) => number; readonly bhei_ra: (a: number) => number; readonly cfsi_imm24: (a: number) => number; readonly rvrt_ra: (a: number) => number; readonly flag_ra: (a: number) => number; readonly cb_ra: (a: number) => number; readonly __wbg_set_mulargs_indirect_lhs: (a: number, b: number) => void; readonly __wbg_regid_free: (a: number, b: number) => void; readonly __wbg_imm24_free: (a: number, b: number) => void; readonly popl_imm24: (a: number) => number; readonly ret_ra: (a: number) => number; readonly pshh_imm24: (a: number) => number; readonly __wbg_set_mathargs_indirect_rhs: (a: number, b: number) => void; readonly ji_imm24: (a: number) => number; readonly jmp_ra: (a: number) => number; readonly cfs_ra: (a: number) => number; readonly wqop_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly wqml_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly wqdv_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly wqcm_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly wdop_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly wdml_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly wddv_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly wdcm_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly __wbg_get_mulargs_indirect_lhs: (a: number) => number; readonly __wbg_get_mathargs_indirect_rhs: (a: number) => number; readonly gm_ra: (a: number) => number; readonly gt_rc: (a: number) => number; readonly gt_rb: (a: number) => number; readonly gt_ra: (a: number) => number; readonly lb_rb: (a: number) => number; readonly lb_ra: (a: number) => number; readonly lt_rc: (a: number) => number; readonly lt_rb: (a: number) => number; readonly lt_ra: (a: number) => number; readonly lw_rb: (a: number) => number; readonly lw_ra: (a: number) => number; readonly lw_imm12: (a: number) => number; readonly or_rc: (a: number) => number; readonly or_rb: (a: number) => number; readonly or_ra: (a: number) => number; readonly sb_rb: (a: number) => number; readonly sb_ra: (a: number) => number; readonly sb_imm12: (a: number) => number; readonly sw_rb: (a: number) => number; readonly sw_ra: (a: number) => number; readonly sw_imm12: (a: number) => number; readonly tr_rc: (a: number) => number; readonly tr_rb: (a: number) => number; readonly tr_ra: (a: number) => number; readonly eq_rc: (a: number) => number; readonly eq_rb: (a: number) => number; readonly eq_ra: (a: number) => number; readonly and_rc: (a: number) => number; readonly and_rb: (a: number) => number; readonly and_ra: (a: number) => number; readonly bal_rc: (a: number) => number; readonly bal_rb: (a: number) => number; readonly bal_ra: (a: number) => number; readonly ccp_rc: (a: number) => number; readonly ccp_rb: (a: number) => number; readonly ccp_ra: (a: number) => number; readonly div_rc: (a: number) => number; readonly div_rb: (a: number) => number; readonly div_ra: (a: number) => number; readonly exp_rc: (a: number) => number; readonly exp_rb: (a: number) => number; readonly exp_ra: (a: number) => number; readonly gtf_rb: (a: number) => number; readonly gtf_ra: (a: number) => number; readonly lb_imm12: (a: number) => number; readonly jal_rb: (a: number) => number; readonly jal_ra: (a: number) => number; readonly jal_imm12: (a: number) => number; readonly jne_rc: (a: number) => number; readonly jne_rb: (a: number) => number; readonly jne_ra: (a: number) => number; readonly ldc_rc: (a: number) => number; readonly ldc_rb: (a: number) => number; readonly ldc_ra: (a: number) => number; readonly lhw_rb: (a: number) => number; readonly lhw_ra: (a: number) => number; readonly lhw_imm12: (a: number) => number; readonly log_rd: (a: number) => number; readonly log_rc: (a: number) => number; readonly log_rb: (a: number) => number; readonly log_ra: (a: number) => number; readonly lqw_rb: (a: number) => number; readonly lqw_ra: (a: number) => number; readonly lqw_imm12: (a: number) => number; readonly mcl_rb: (a: number) => number; readonly mcl_ra: (a: number) => number; readonly mcp_rc: (a: number) => number; readonly mcp_rb: (a: number) => number; readonly mcp_ra: (a: number) => number; readonly meq_rd: (a: number) => number; readonly meq_rc: (a: number) => number; readonly meq_rb: (a: number) => number; readonly meq_ra: (a: number) => number; readonly mod_rc: (a: number) => number; readonly mod_rb: (a: number) => number; readonly mod_ra: (a: number) => number; readonly mul_rc: (a: number) => number; readonly mul_rb: (a: number) => number; readonly mul_ra: (a: number) => number; readonly not_rb: (a: number) => number; readonly not_ra: (a: number) => number; readonly ori_rb: (a: number) => number; readonly ori_ra: (a: number) => number; readonly ori_imm12: (a: number) => number; readonly shw_rb: (a: number) => number; readonly shw_ra: (a: number) => number; readonly shw_imm12: (a: number) => number; readonly sll_rc: (a: number) => number; readonly sll_rb: (a: number) => number; readonly sll_ra: (a: number) => number; readonly smo_rd: (a: number) => number; readonly smo_rc: (a: number) => number; readonly smo_rb: (a: number) => number; readonly smo_ra: (a: number) => number; readonly sqw_rb: (a: number) => number; readonly sqw_ra: (a: number) => number; readonly sqw_imm12: (a: number) => number; readonly srl_rc: (a: number) => number; readonly srl_rb: (a: number) => number; readonly srl_ra: (a: number) => number; readonly srw_rc: (a: number) => number; readonly srw_rb: (a: number) => number; readonly srw_ra: (a: number) => number; readonly srw_imm06: (a: number) => number; readonly sub_rc: (a: number) => number; readonly sub_rb: (a: number) => number; readonly sub_ra: (a: number) => number; readonly sww_rc: (a: number) => number; readonly sww_rb: (a: number) => number; readonly sww_ra: (a: number) => number; readonly tro_rd: (a: number) => number; readonly tro_rc: (a: number) => number; readonly tro_rb: (a: number) => number; readonly tro_ra: (a: number) => number; readonly xor_rc: (a: number) => number; readonly xor_rb: (a: number) => number; readonly xor_ra: (a: number) => number; readonly addi_rb: (a: number) => number; readonly addi_ra: (a: number) => number; readonly gtf_imm12: (a: number) => number; readonly andi_rb: (a: number) => number; readonly andi_ra: (a: number) => number; readonly andi_imm12: (a: number) => number; readonly bhsh_rb: (a: number) => number; readonly bhsh_ra: (a: number) => number; readonly ccp_rd: (a: number) => number; readonly bldd_rc: (a: number) => number; readonly bldd_rb: (a: number) => number; readonly bldd_ra: (a: number) => number; readonly bsiz_rb: (a: number) => number; readonly bsiz_ra: (a: number) => number; readonly burn_rb: (a: number) => number; readonly burn_ra: (a: number) => number; readonly call_rd: (a: number) => number; readonly call_rc: (a: number) => number; readonly call_rb: (a: number) => number; readonly call_ra: (a: number) => number; readonly croo_rb: (a: number) => number; readonly croo_ra: (a: number) => number; readonly csiz_rb: (a: number) => number; readonly csiz_ra: (a: number) => number; readonly divi_rb: (a: number) => number; readonly divi_ra: (a: number) => number; readonly divi_imm12: (a: number) => number; readonly ecal_rd: (a: number) => number; readonly ecal_rc: (a: number) => number; readonly ecal_rb: (a: number) => number; readonly ecal_ra: (a: number) => number; readonly eck1_rc: (a: number) => number; readonly eck1_rb: (a: number) => number; readonly eck1_ra: (a: number) => number; readonly ecop_rd: (a: number) => number; readonly ecop_rc: (a: number) => number; readonly ecop_rb: (a: number) => number; readonly ecop_ra: (a: number) => number; readonly ecr1_rc: (a: number) => number; readonly ecr1_rb: (a: number) => number; readonly ecr1_ra: (a: number) => number; readonly ed19_rd: (a: number) => number; readonly ed19_rc: (a: number) => number; readonly ed19_rb: (a: number) => number; readonly ed19_ra: (a: number) => number; readonly epar_rd: (a: number) => number; readonly epar_rc: (a: number) => number; readonly epar_rb: (a: number) => number; readonly epar_ra: (a: number) => number; readonly expi_rb: (a: number) => number; readonly expi_ra: (a: number) => number; readonly expi_imm12: (a: number) => number; readonly jmpb_ra: (a: number) => number; readonly jmpb_imm18: (a: number) => number; readonly jmpf_ra: (a: number) => number; readonly jmpf_imm18: (a: number) => number; readonly jneb_rc: (a: number) => number; readonly jneb_rb: (a: number) => number; readonly jneb_ra: (a: number) => number; readonly ldc_imm06: (a: number) => number; readonly jnef_rc: (a: number) => number; readonly jnef_rb: (a: number) => number; readonly jnef_ra: (a: number) => number; readonly jnef_imm06: (a: number) => number; readonly jnei_rb: (a: number) => number; readonly jnei_ra: (a: number) => number; readonly jnei_imm12: (a: number) => number; readonly jnzb_rb: (a: number) => number; readonly jnzb_ra: (a: number) => number; readonly jnzb_imm12: (a: number) => number; readonly jnzf_rb: (a: number) => number; readonly jnzf_ra: (a: number) => number; readonly jnzf_imm12: (a: number) => number; readonly jnzi_ra: (a: number) => number; readonly jnzi_imm18: (a: number) => number; readonly k256_rc: (a: number) => number; readonly k256_rb: (a: number) => number; readonly k256_ra: (a: number) => number; readonly logd_rd: (a: number) => number; readonly logd_rc: (a: number) => number; readonly logd_rb: (a: number) => number; readonly logd_ra: (a: number) => number; readonly mcli_ra: (a: number) => number; readonly mcli_imm18: (a: number) => number; readonly mcpi_rb: (a: number) => number; readonly mcpi_ra: (a: number) => number; readonly mcpi_imm12: (a: number) => number; readonly mint_rb: (a: number) => number; readonly mint_ra: (a: number) => number; readonly mldv_rd: (a: number) => number; readonly mldv_rc: (a: number) => number; readonly mldv_rb: (a: number) => number; readonly mldv_ra: (a: number) => number; readonly mlog_rc: (a: number) => number; readonly mlog_rb: (a: number) => number; readonly mlog_ra: (a: number) => number; readonly modi_rb: (a: number) => number; readonly modi_ra: (a: number) => number; readonly modi_imm12: (a: number) => number; readonly move_rb: (a: number) => number; readonly move_ra: (a: number) => number; readonly movi_ra: (a: number) => number; readonly movi_imm18: (a: number) => number; readonly mroo_rc: (a: number) => number; readonly mroo_rb: (a: number) => number; readonly mroo_ra: (a: number) => number; readonly muli_rb: (a: number) => number; readonly muli_ra: (a: number) => number; readonly muli_imm12: (a: number) => number; readonly niop_rc: (a: number) => number; readonly niop_rb: (a: number) => number; readonly niop_ra: (a: number) => number; readonly niop_imm06: (a: number) => number; readonly retd_rb: (a: number) => number; readonly retd_ra: (a: number) => number; readonly s256_rc: (a: number) => number; readonly s256_rb: (a: number) => number; readonly s256_ra: (a: number) => number; readonly sclr_rb: (a: number) => number; readonly sclr_ra: (a: number) => number; readonly scwq_rc: (a: number) => number; readonly scwq_rb: (a: number) => number; readonly scwq_ra: (a: number) => number; readonly slli_rb: (a: number) => number; readonly slli_ra: (a: number) => number; readonly slli_imm12: (a: number) => number; readonly spld_rb: (a: number) => number; readonly spld_ra: (a: number) => number; readonly srdd_rd: (a: number) => number; readonly srdd_rc: (a: number) => number; readonly srdd_rb: (a: number) => number; readonly srdd_ra: (a: number) => number; readonly srdi_rc: (a: number) => number; readonly srdi_rb: (a: number) => number; readonly srdi_ra: (a: number) => number; readonly srdi_imm06: (a: number) => number; readonly srli_rb: (a: number) => number; readonly srli_ra: (a: number) => number; readonly srli_imm12: (a: number) => number; readonly srwq_rd: (a: number) => number; readonly srwq_rc: (a: number) => number; readonly srwq_rb: (a: number) => number; readonly srwq_ra: (a: number) => number; readonly subi_rb: (a: number) => number; readonly subi_ra: (a: number) => number; readonly subi_imm12: (a: number) => number; readonly supd_rd: (a: number) => number; readonly supd_rc: (a: number) => number; readonly supd_rb: (a: number) => number; readonly supd_ra: (a: number) => number; readonly supi_rc: (a: number) => number; readonly supi_rb: (a: number) => number; readonly supi_ra: (a: number) => number; readonly supi_imm06: (a: number) => number; readonly swrd_rc: (a: number) => number; readonly swrd_rb: (a: number) => number; readonly swrd_ra: (a: number) => number; readonly swri_rb: (a: number) => number; readonly swri_ra: (a: number) => number; readonly swri_imm12: (a: number) => number; readonly swwq_rd: (a: number) => number; readonly swwq_rc: (a: number) => number; readonly swwq_rb: (a: number) => number; readonly swwq_ra: (a: number) => number; readonly time_rb: (a: number) => number; readonly time_ra: (a: number) => number; readonly wdam_rd: (a: number) => number; readonly wdam_rc: (a: number) => number; readonly wdam_rb: (a: number) => number; readonly wdam_ra: (a: number) => number; readonly wdcm_rc: (a: number) => number; readonly wdcm_rb: (a: number) => number; readonly wdcm_ra: (a: number) => number; readonly wdcm_imm06: (a: number) => number; readonly wddv_rc: (a: number) => number; readonly wddv_rb: (a: number) => number; readonly wddv_ra: (a: number) => number; readonly wddv_imm06: (a: number) => number; readonly wdmd_rd: (a: number) => number; readonly wdmd_rc: (a: number) => number; readonly wdmd_rb: (a: number) => number; readonly wdmd_ra: (a: number) => number; readonly wdml_rc: (a: number) => number; readonly wdml_rb: (a: number) => number; readonly wdml_ra: (a: number) => number; readonly wdml_imm06: (a: number) => number; readonly wdmm_rd: (a: number) => number; readonly wdmm_rc: (a: number) => number; readonly wdmm_rb: (a: number) => number; readonly wdmm_ra: (a: number) => number; readonly wdop_rc: (a: number) => number; readonly wdop_rb: (a: number) => number; readonly wdop_ra: (a: number) => number; readonly wdop_imm06: (a: number) => number; readonly wqam_rd: (a: number) => number; readonly wqam_rc: (a: number) => number; readonly wqam_rb: (a: number) => number; readonly wqam_ra: (a: number) => number; readonly wqcm_rc: (a: number) => number; readonly wqcm_rb: (a: number) => number; readonly wqcm_ra: (a: number) => number; readonly wqcm_imm06: (a: number) => number; readonly wqdv_rc: (a: number) => number; readonly wqdv_rb: (a: number) => number; readonly wqdv_ra: (a: number) => number; readonly wqdv_imm06: (a: number) => number; readonly wqmd_rd: (a: number) => number; readonly wqmd_rc: (a: number) => number; readonly wqmd_rb: (a: number) => number; readonly wqmd_ra: (a: number) => number; readonly wqml_rc: (a: number) => number; readonly wqml_rb: (a: number) => number; readonly wqml_ra: (a: number) => number; readonly wqml_imm06: (a: number) => number; readonly wqmm_rd: (a: number) => number; readonly wqmm_rc: (a: number) => number; readonly wqmm_rb: (a: number) => number; readonly wqmm_ra: (a: number) => number; readonly wqop_rc: (a: number) => number; readonly wqop_rb: (a: number) => number; readonly wqop_ra: (a: number) => number; readonly wqop_imm06: (a: number) => number; readonly xori_rb: (a: number) => number; readonly xori_ra: (a: number) => number; readonly xori_imm12: (a: number) => number; readonly wqop_from_args: (a: number, b: number, c: number, d: number) => number; readonly wqcm_from_args: (a: number, b: number, c: number, d: number) => number; readonly wqdv_from_args: (a: number, b: number, c: number, d: number) => number; readonly wqml_from_args: (a: number, b: number, c: number, d: number) => number; readonly jneb_new_typescript: (a: number, b: number, c: number, d: number) => number; readonly __wbindgen_add_to_stack_pointer: (a: number) => number; readonly __wbindgen_export: (a: number, b: number, c: number) => void; } type SyncInitInput = BufferSource | WebAssembly.Module; /** * Instantiates the given `module`, which can either be bytes or * a precompiled `WebAssembly.Module`. * * @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated. * * @returns {InitOutput} */ declare function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput; type InitInput = | WebAssembly.Module | BufferSource | Response | Promise; declare function initWasm(module_or_path?: InitInput): Promise; export { ADD, ADDI, ALOC, AND, ANDI, BAL, BHEI, BHSH, BLDD, BSIZ, BURN, CALL, CB, CCP, CFE, CFEI, CFS, CFSI, CROO, CSIZ, CompareArgs, CompareMode, DIV, DIVI, DivArgs, ECAL, ECK1, ECOP, ECR1, ED19, EPAR, EQ, EXP, EXPI, FLAG, GM, GMArgs, GT, GTF, GTFArgs, Imm06, Imm12, Imm18, Imm24, Instruction, JAL, JI, JMP, JMPB, JMPF, JNE, JNEB, JNEF, JNEI, JNZB, JNZF, JNZI, K256, LB, LDC, LHW, LOG, LOGD, LQW, LT, LW, MCL, MCLI, MCP, MCPI, MEQ, MINT, MLDV, MLOG, MOD, MODI, MOVE, MOVI, MROO, MUL, MULI, MathArgs, MathOp, MulArgs, NIOP, NOOP, NOT, NarrowMathArgs, NarrowMathOp, OR, ORI, OpWidth, POPH, POPL, PSHH, PSHL, PanicInstruction, PanicReason, RET, RETD, RVRT, RegId, S256, SB, SCLR, SCWQ, SHW, SLL, SLLI, SMO, SPLD, SQW, SRDD, SRDI, SRL, SRLI, SRW, SRWQ, SUB, SUBI, SUPD, SUPI, SW, SWRD, SWRI, SWW, SWWQ, TIME, TR, TRO, WDAM, WDCM, WDDV, WDMD, WDML, WDMM, WDOP, WQAM, WQCM, WQDV, WQMD, WQML, WQMM, WQOP, XOR, XORI, add, addi, aloc, and, andi, bal, bhei, bhsh, bldd, bsiz, burn, call, cb, ccp, cfe, cfei, cfs, cfsi, croo, csiz, div, divi, ecal, eck1, ecop, ecr1, ed19, epar, eq, exp, expi, flag, gm, gm_args, gt, gtf, gtf_args, initSync, initWasm, jal, ji, jmp, jmpb, jmpf, jne, jneb, jnef, jnei, jnzb, jnzf, jnzi, k256, lb, ldc, lhw, log, logd, lqw, lt, lw, mcl, mcli, mcp, mcpi, meq, mint, mldv, mlog, mod_, modi, move_, movi, mroo, mul, muli, niop, niop_args, noop, not, or, ori, poph, popl, pshh, pshl, ret, retd, rvrt, s256, sb, sclr, scwq, shw, sll, slli, smo, spld, sqw, srdd, srdi, srl, srli, srw, srwq, sub, subi, supd, supi, sw, swrd, swri, sww, swwq, time, tr, tro, wdam, wdcm, wdcm_args, wddv, wddv_args, wdmd, wdml, wdml_args, wdmm, wdop, wdop_args, wqam, wqcm, wqcm_args, wqdv, wqdv_args, wqmd, wqml, wqml_args, wqmm, wqop, wqop_args, xor, xori }; export type { InitInput, InitOutput, SyncInitInput };