fuels
Version:
Fuel TS SDK
1 lines • 2.55 MB
Source Map (JSON)
{"version":3,"file":"browser.mjs","sources":["../../../node_modules/.pnpm/@fuels+vm-asm@0.60.2/node_modules/@fuels/vm-asm/dist/web/index.mjs","../src/cli/utils/createConfig.ts","../src/cli/types.ts","../../versions/dist/index.mjs","../../errors/dist/index.mjs","../__vite-browser-external","../../../node_modules/.pnpm/bn.js@5.2.1/node_modules/bn.js/lib/bn.js","../../math/dist/index.mjs","../../../node_modules/.pnpm/fflate@0.8.2/node_modules/fflate/esm/browser.js","../../utils/dist/index.mjs","../../../node_modules/.pnpm/@noble+hashes@1.7.1/node_modules/@noble/hashes/esm/_assert.js","../../../node_modules/.pnpm/@noble+hashes@1.7.1/node_modules/@noble/hashes/esm/crypto.js","../../../node_modules/.pnpm/@noble+hashes@1.7.1/node_modules/@noble/hashes/esm/utils.js","../../../node_modules/.pnpm/@noble+hashes@1.7.1/node_modules/@noble/hashes/esm/hmac.js","../../../node_modules/.pnpm/@noble+hashes@1.7.1/node_modules/@noble/hashes/esm/pbkdf2.js","../../../node_modules/.pnpm/@noble+hashes@1.7.1/node_modules/@noble/hashes/esm/_md.js","../../../node_modules/.pnpm/@noble+hashes@1.7.1/node_modules/@noble/hashes/esm/sha256.js","../../../node_modules/.pnpm/@noble+hashes@1.7.1/node_modules/@noble/hashes/esm/scrypt.js","../../../node_modules/.pnpm/@noble+hashes@1.7.1/node_modules/@noble/hashes/esm/_u64.js","../../../node_modules/.pnpm/@noble+hashes@1.7.1/node_modules/@noble/hashes/esm/sha3.js","../../../node_modules/.pnpm/@noble+hashes@1.7.1/node_modules/@noble/hashes/esm/ripemd160.js","../../../node_modules/.pnpm/@noble+hashes@1.7.1/node_modules/@noble/hashes/esm/sha512.js","../../crypto/dist/index.browser.mjs","../../hasher/dist/index.mjs","../../abi-coder/dist/index.mjs","../../address/dist/index.mjs","../../transactions/dist/index.mjs","../../../node_modules/.pnpm/ramda@0.30.1/node_modules/ramda/es/internal/_isPlaceholder.js","../../../node_modules/.pnpm/ramda@0.30.1/node_modules/ramda/es/internal/_curry1.js","../../../node_modules/.pnpm/ramda@0.30.1/node_modules/ramda/es/internal/_curry2.js","../../../node_modules/.pnpm/ramda@0.30.1/node_modules/ramda/es/internal/_curry3.js","../../../node_modules/.pnpm/ramda@0.30.1/node_modules/ramda/es/internal/_isArray.js","../../../node_modules/.pnpm/ramda@0.30.1/node_modules/ramda/es/type.js","../../../node_modules/.pnpm/ramda@0.30.1/node_modules/ramda/es/internal/_cloneRegExp.js","../../../node_modules/.pnpm/ramda@0.30.1/node_modules/ramda/es/internal/_clone.js","../../../node_modules/.pnpm/ramda@0.30.1/node_modules/ramda/es/clone.js","../../../node_modules/.pnpm/ramda@0.30.1/node_modules/ramda/es/internal/_checkForMethod.js","../../../node_modules/.pnpm/ramda@0.30.1/node_modules/ramda/es/slice.js","../../../node_modules/.pnpm/ramda@0.30.1/node_modules/ramda/es/splitEvery.js","../../../node_modules/.pnpm/graphql-request@6.1.0_graphql@16.10.0/node_modules/graphql-request/build/esm/defaultJsonSerializer.js","../../../node_modules/.pnpm/graphql-request@6.1.0_graphql@16.10.0/node_modules/graphql-request/build/esm/helpers.js","../../../node_modules/.pnpm/graphql-request@6.1.0_graphql@16.10.0/node_modules/graphql-request/build/esm/parseArgs.js","../../../node_modules/.pnpm/graphql@16.10.0/node_modules/graphql/jsutils/devAssert.mjs","../../../node_modules/.pnpm/graphql@16.10.0/node_modules/graphql/jsutils/isObjectLike.mjs","../../../node_modules/.pnpm/graphql@16.10.0/node_modules/graphql/jsutils/invariant.mjs","../../../node_modules/.pnpm/graphql@16.10.0/node_modules/graphql/language/location.mjs","../../../node_modules/.pnpm/graphql@16.10.0/node_modules/graphql/language/printLocation.mjs","../../../node_modules/.pnpm/graphql@16.10.0/node_modules/graphql/error/GraphQLError.mjs","../../../node_modules/.pnpm/graphql@16.10.0/node_modules/graphql/error/syntaxError.mjs","../../../node_modules/.pnpm/graphql@16.10.0/node_modules/graphql/language/ast.mjs","../../../node_modules/.pnpm/graphql@16.10.0/node_modules/graphql/language/directiveLocation.mjs","../../../node_modules/.pnpm/graphql@16.10.0/node_modules/graphql/language/kinds.mjs","../../../node_modules/.pnpm/graphql@16.10.0/node_modules/graphql/language/characterClasses.mjs","../../../node_modules/.pnpm/graphql@16.10.0/node_modules/graphql/language/blockString.mjs","../../../node_modules/.pnpm/graphql@16.10.0/node_modules/graphql/language/tokenKind.mjs","../../../node_modules/.pnpm/graphql@16.10.0/node_modules/graphql/language/lexer.mjs","../../../node_modules/.pnpm/graphql@16.10.0/node_modules/graphql/jsutils/inspect.mjs","../../../node_modules/.pnpm/graphql@16.10.0/node_modules/graphql/jsutils/instanceOf.mjs","../../../node_modules/.pnpm/graphql@16.10.0/node_modules/graphql/language/source.mjs","../../../node_modules/.pnpm/graphql@16.10.0/node_modules/graphql/language/parser.mjs","../../../node_modules/.pnpm/graphql@16.10.0/node_modules/graphql/language/printString.mjs","../../../node_modules/.pnpm/graphql@16.10.0/node_modules/graphql/language/visitor.mjs","../../../node_modules/.pnpm/graphql@16.10.0/node_modules/graphql/language/printer.mjs","../../../node_modules/.pnpm/graphql-request@6.1.0_graphql@16.10.0/node_modules/graphql-request/build/esm/resolveRequestDocument.js","../../../node_modules/.pnpm/graphql-request@6.1.0_graphql@16.10.0/node_modules/graphql-request/build/esm/types.js","../../../node_modules/.pnpm/cross-fetch@4.0.0/node_modules/cross-fetch/dist/browser-ponyfill.js","../../../node_modules/.pnpm/graphql-request@6.1.0_graphql@16.10.0/node_modules/graphql-request/build/esm/index.js","../../../node_modules/.pnpm/tslib@2.8.0/node_modules/tslib/tslib.es6.mjs","../../../node_modules/.pnpm/graphql-tag@2.12.6_graphql@16.10.0/node_modules/graphql-tag/lib/index.js","../../address/dist/configs.mjs","../../transactions/dist/configs.mjs","../../../node_modules/.pnpm/@noble+curves@1.8.1/node_modules/@noble/curves/esm/abstract/utils.js","../../../node_modules/.pnpm/@noble+curves@1.8.1/node_modules/@noble/curves/esm/abstract/modular.js","../../../node_modules/.pnpm/@noble+curves@1.8.1/node_modules/@noble/curves/esm/abstract/curve.js","../../../node_modules/.pnpm/@noble+curves@1.8.1/node_modules/@noble/curves/esm/abstract/weierstrass.js","../../../node_modules/.pnpm/@noble+curves@1.8.1/node_modules/@noble/curves/esm/_shortw_utils.js","../../../node_modules/.pnpm/@noble+curves@1.8.1/node_modules/@noble/curves/esm/secp256k1.js","../../../node_modules/.pnpm/events@3.3.0/node_modules/events/events.js","../../merkle/dist/index.mjs","../../account/dist/index.mjs","../../program/dist/index.mjs","../../script/dist/index.mjs","../../account/dist/configs.mjs","../../contract/dist/index.mjs","../../math/dist/configs.mjs","../../recipes/dist/index.mjs"],"sourcesContent":["let wasm$1;\n\nconst cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } );\n\nif (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }\nlet cachedUint8ArrayMemory0 = null;\n\nfunction getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm$1.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n}\n\nfunction getStringFromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\n\nfunction _assertClass(instance, klass) {\n if (!(instance instanceof klass)) {\n throw new Error(`expected instance of ${klass.name}`);\n }\n}\n/**\n * Construct a `GM` instruction from its arguments.\n * @param {number} ra\n * @param {GMArgs} args\n * @returns {Instruction}\n */\nfunction gm_args(ra, args) {\n const ret = wasm$1.gm_args(ra, args);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Construct a `GM` instruction from its arguments.\n * @param {number} ra\n * @param {number} rb\n * @param {GTFArgs} args\n * @returns {Instruction}\n */\nfunction gtf_args(ra, rb, args) {\n const ret = wasm$1.gtf_args(ra, rb, args);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Construct a `WDCM` instruction from its arguments.\n * @param {number} ra\n * @param {number} rb\n * @param {number} rc\n * @param {CompareArgs} args\n * @returns {Instruction}\n */\nfunction wdcm_args(ra, rb, rc, args) {\n _assertClass(args, CompareArgs);\n var ptr0 = args.__destroy_into_raw();\n const ret = wasm$1.wdcm_args(ra, rb, rc, ptr0);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Construct a `WQCM` instruction from its arguments.\n * @param {number} ra\n * @param {number} rb\n * @param {number} rc\n * @param {CompareArgs} args\n * @returns {Instruction}\n */\nfunction wqcm_args(ra, rb, rc, args) {\n _assertClass(args, CompareArgs);\n var ptr0 = args.__destroy_into_raw();\n const ret = wasm$1.wqcm_args(ra, rb, rc, ptr0);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Construct a `WDOP` instruction from its arguments.\n * @param {number} ra\n * @param {number} rb\n * @param {number} rc\n * @param {MathArgs} args\n * @returns {Instruction}\n */\nfunction wdop_args(ra, rb, rc, args) {\n _assertClass(args, MathArgs);\n var ptr0 = args.__destroy_into_raw();\n const ret = wasm$1.wdop_args(ra, rb, rc, ptr0);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Construct a `WQOP` instruction from its arguments.\n * @param {number} ra\n * @param {number} rb\n * @param {number} rc\n * @param {MathArgs} args\n * @returns {Instruction}\n */\nfunction wqop_args(ra, rb, rc, args) {\n _assertClass(args, MathArgs);\n var ptr0 = args.__destroy_into_raw();\n const ret = wasm$1.wqop_args(ra, rb, rc, ptr0);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Construct a `WDML` instruction from its arguments.\n * @param {number} ra\n * @param {number} rb\n * @param {number} rc\n * @param {MulArgs} args\n * @returns {Instruction}\n */\nfunction wdml_args(ra, rb, rc, args) {\n _assertClass(args, MulArgs);\n var ptr0 = args.__destroy_into_raw();\n const ret = wasm$1.wdml_args(ra, rb, rc, ptr0);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Construct a `WQML` instruction from its arguments.\n * @param {number} ra\n * @param {number} rb\n * @param {number} rc\n * @param {MulArgs} args\n * @returns {Instruction}\n */\nfunction wqml_args(ra, rb, rc, args) {\n _assertClass(args, MulArgs);\n var ptr0 = args.__destroy_into_raw();\n const ret = wasm$1.wqml_args(ra, rb, rc, ptr0);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Construct a `WDDV` instruction from its arguments.\n * @param {number} ra\n * @param {number} rb\n * @param {number} rc\n * @param {DivArgs} args\n * @returns {Instruction}\n */\nfunction wddv_args(ra, rb, rc, args) {\n _assertClass(args, DivArgs);\n var ptr0 = args.__destroy_into_raw();\n const ret = wasm$1.wddv_args(ra, rb, rc, ptr0);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Construct a `WQDV` instruction from its arguments.\n * @param {number} ra\n * @param {number} rb\n * @param {number} rc\n * @param {DivArgs} args\n * @returns {Instruction}\n */\nfunction wqdv_args(ra, rb, rc, args) {\n _assertClass(args, DivArgs);\n var ptr0 = args.__destroy_into_raw();\n const ret = wasm$1.wqdv_args(ra, rb, rc, ptr0);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Adds two registers.\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @returns {Instruction}\n */\nfunction add(dst, lhs, rhs) {\n const ret = wasm$1.add(dst, lhs, rhs);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Bitwise ANDs two registers.\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @returns {Instruction}\n */\nfunction and(dst, lhs, rhs) {\n const ret = wasm$1.and(dst, lhs, rhs);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Divides two registers.\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @returns {Instruction}\n */\nfunction div(dst, lhs, rhs) {\n const ret = wasm$1.div(dst, lhs, rhs);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Compares two registers for equality.\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @returns {Instruction}\n */\nfunction eq(dst, lhs, rhs) {\n const ret = wasm$1.eq(dst, lhs, rhs);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Raises one register to the power of another.\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @returns {Instruction}\n */\nfunction exp(dst, lhs, rhs) {\n const ret = wasm$1.exp(dst, lhs, rhs);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Compares two registers for greater-than.\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @returns {Instruction}\n */\nfunction gt(dst, lhs, rhs) {\n const ret = wasm$1.gt(dst, lhs, rhs);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Compares two registers for less-than.\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @returns {Instruction}\n */\nfunction lt(dst, lhs, rhs) {\n const ret = wasm$1.lt(dst, lhs, rhs);\n return Instruction.__wrap(ret);\n}\n\n/**\n * The integer logarithm of a register.\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @returns {Instruction}\n */\nfunction mlog(dst, lhs, rhs) {\n const ret = wasm$1.mlog(dst, lhs, rhs);\n return Instruction.__wrap(ret);\n}\n\n/**\n * The integer root of a register.\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @returns {Instruction}\n */\nfunction mroo(dst, lhs, rhs) {\n const ret = wasm$1.mroo(dst, lhs, rhs);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Modulo remainder of two registers.\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @returns {Instruction}\n */\nfunction mod_(dst, lhs, rhs) {\n const ret = wasm$1.mod_(dst, lhs, rhs);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Copy from one register to another.\n * @param {number} dst\n * @param {number} src\n * @returns {Instruction}\n */\nfunction move_(dst, src) {\n const ret = wasm$1.move_(dst, src);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Multiplies two registers.\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @returns {Instruction}\n */\nfunction mul(dst, lhs, rhs) {\n const ret = wasm$1.mul(dst, lhs, rhs);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Bitwise NOT a register.\n * @param {number} dst\n * @param {number} arg\n * @returns {Instruction}\n */\nfunction not(dst, arg) {\n const ret = wasm$1.not(dst, arg);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Bitwise ORs two registers.\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @returns {Instruction}\n */\nfunction or(dst, lhs, rhs) {\n const ret = wasm$1.or(dst, lhs, rhs);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Left shifts a register by a register.\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @returns {Instruction}\n */\nfunction sll(dst, lhs, rhs) {\n const ret = wasm$1.sll(dst, lhs, rhs);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Right shifts a register by a register.\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @returns {Instruction}\n */\nfunction srl(dst, lhs, rhs) {\n const ret = wasm$1.srl(dst, lhs, rhs);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Subtracts two registers.\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @returns {Instruction}\n */\nfunction sub(dst, lhs, rhs) {\n const ret = wasm$1.sub(dst, lhs, rhs);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Bitwise XORs two registers.\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @returns {Instruction}\n */\nfunction xor(dst, lhs, rhs) {\n const ret = wasm$1.xor(dst, lhs, rhs);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Fused multiply-divide with arbitrary precision intermediate step.\n * @param {number} dst\n * @param {number} mul_lhs\n * @param {number} mul_rhs\n * @param {number} divisor\n * @returns {Instruction}\n */\nfunction mldv(dst, mul_lhs, mul_rhs, divisor) {\n const ret = wasm$1.mldv(dst, mul_lhs, mul_rhs, divisor);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Return from context.\n * @param {number} value\n * @returns {Instruction}\n */\nfunction ret(value) {\n const ret = wasm$1.ret(value);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Return from context with data.\n * @param {number} addr\n * @param {number} len\n * @returns {Instruction}\n */\nfunction retd(addr, len) {\n const ret = wasm$1.retd(addr, len);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Allocate a number of bytes from the heap.\n * @param {number} bytes\n * @returns {Instruction}\n */\nfunction aloc(bytes) {\n const ret = wasm$1.aloc(bytes);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Clear a variable number of bytes in memory.\n * @param {number} dst_addr\n * @param {number} len\n * @returns {Instruction}\n */\nfunction mcl(dst_addr, len) {\n const ret = wasm$1.mcl(dst_addr, len);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Copy a variable number of bytes in memory.\n * @param {number} dst_addr\n * @param {number} src_addr\n * @param {number} len\n * @returns {Instruction}\n */\nfunction mcp(dst_addr, src_addr, len) {\n const ret = wasm$1.mcp(dst_addr, src_addr, len);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Compare bytes in memory.\n * @param {number} result\n * @param {number} lhs_addr\n * @param {number} rhs_addr\n * @param {number} len\n * @returns {Instruction}\n */\nfunction meq(result, lhs_addr, rhs_addr, len) {\n const ret = wasm$1.meq(result, lhs_addr, rhs_addr, len);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Get block header hash for height.\n * @param {number} dst\n * @param {number} heigth\n * @returns {Instruction}\n */\nfunction bhsh(dst, heigth) {\n const ret = wasm$1.bhsh(dst, heigth);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Get current block height.\n * @param {number} dst\n * @returns {Instruction}\n */\nfunction bhei(dst) {\n const ret = wasm$1.bhei(dst);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Burns `amount` coins of the asset ID created from `sub_id` for the current contract.\n * @param {number} amount\n * @param {number} sub_id_addr\n * @returns {Instruction}\n */\nfunction burn(amount, sub_id_addr) {\n const ret = wasm$1.burn(amount, sub_id_addr);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Call a contract.\n * @param {number} target_struct\n * @param {number} fwd_coins\n * @param {number} asset_id_addr\n * @param {number} fwd_gas\n * @returns {Instruction}\n */\nfunction call(target_struct, fwd_coins, asset_id_addr, fwd_gas) {\n const ret = wasm$1.call(target_struct, fwd_coins, asset_id_addr, fwd_gas);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Copy contract code for a contract.\n * @param {number} dst_addr\n * @param {number} contract_id_addr\n * @param {number} offset\n * @param {number} len\n * @returns {Instruction}\n */\nfunction ccp(dst_addr, contract_id_addr, offset, len) {\n const ret = wasm$1.ccp(dst_addr, contract_id_addr, offset, len);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Get code root of a contract.\n * @param {number} dst_addr\n * @param {number} contract_id_addr\n * @returns {Instruction}\n */\nfunction croo(dst_addr, contract_id_addr) {\n const ret = wasm$1.croo(dst_addr, contract_id_addr);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Get code size of a contract.\n * @param {number} dst\n * @param {number} contract_id_addr\n * @returns {Instruction}\n */\nfunction csiz(dst, contract_id_addr) {\n const ret = wasm$1.csiz(dst, contract_id_addr);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Get current block proposer's address.\n * @param {number} dst\n * @returns {Instruction}\n */\nfunction cb(dst) {\n const ret = wasm$1.cb(dst);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Load code as executable either from contract, blob, or memory.\n * @param {number} src_addr\n * @param {number} offset\n * @param {number} len\n * @param {number} mode\n * @returns {Instruction}\n */\nfunction ldc(src_addr, offset, len, mode) {\n const ret = wasm$1.ldc(src_addr, offset, len, mode);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Log an event.\n * @param {number} a\n * @param {number} b\n * @param {number} c\n * @param {number} d\n * @returns {Instruction}\n */\nfunction log(a, b, c, d) {\n const ret = wasm$1.log(a, b, c, d);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Log data.\n * @param {number} a\n * @param {number} b\n * @param {number} addr\n * @param {number} len\n * @returns {Instruction}\n */\nfunction logd(a, b, addr, len) {\n const ret = wasm$1.logd(a, b, addr, len);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Mints `amount` coins of the asset ID created from `sub_id` for the current contract.\n * @param {number} amount\n * @param {number} sub_id_addr\n * @returns {Instruction}\n */\nfunction mint(amount, sub_id_addr) {\n const ret = wasm$1.mint(amount, sub_id_addr);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Halt execution, reverting state changes and returning a value.\n * @param {number} value\n * @returns {Instruction}\n */\nfunction rvrt(value) {\n const ret = wasm$1.rvrt(value);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Clear a series of slots from contract storage.\n * @param {number} key_addr\n * @param {number} status\n * @param {number} lenq\n * @returns {Instruction}\n */\nfunction scwq(key_addr, status, lenq) {\n const ret = wasm$1.scwq(key_addr, status, lenq);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Load a word from contract storage.\n * @param {number} dst\n * @param {number} status\n * @param {number} key_addr\n * @returns {Instruction}\n */\nfunction srw(dst, status, key_addr) {\n const ret = wasm$1.srw(dst, status, key_addr);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Load a series of 32 byte slots from contract storage.\n * @param {number} dst_addr\n * @param {number} status\n * @param {number} key_addr\n * @param {number} lenq\n * @returns {Instruction}\n */\nfunction srwq(dst_addr, status, key_addr, lenq) {\n const ret = wasm$1.srwq(dst_addr, status, key_addr, lenq);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Store a word in contract storage.\n * @param {number} key_addr\n * @param {number} status\n * @param {number} value\n * @returns {Instruction}\n */\nfunction sww(key_addr, status, value) {\n const ret = wasm$1.sww(key_addr, status, value);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Store a series of 32 byte slots in contract storage.\n * @param {number} key_addr\n * @param {number} status\n * @param {number} src_addr\n * @param {number} lenq\n * @returns {Instruction}\n */\nfunction swwq(key_addr, status, src_addr, lenq) {\n const ret = wasm$1.swwq(key_addr, status, src_addr, lenq);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Transfer coins to a contract unconditionally.\n * @param {number} contract_id_addr\n * @param {number} amount\n * @param {number} asset_id_addr\n * @returns {Instruction}\n */\nfunction tr(contract_id_addr, amount, asset_id_addr) {\n const ret = wasm$1.tr(contract_id_addr, amount, asset_id_addr);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Transfer coins to a variable output.\n * @param {number} contract_id_addr\n * @param {number} output_index\n * @param {number} amount\n * @param {number} asset_id_addr\n * @returns {Instruction}\n */\nfunction tro(contract_id_addr, output_index, amount, asset_id_addr) {\n const ret = wasm$1.tro(contract_id_addr, output_index, amount, asset_id_addr);\n return Instruction.__wrap(ret);\n}\n\n/**\n * The 64-byte public key (x, y) recovered from 64-byte signature on 32-byte message hash.\n * @param {number} dst_addr\n * @param {number} sig_addr\n * @param {number} msg_hash_addr\n * @returns {Instruction}\n */\nfunction eck1(dst_addr, sig_addr, msg_hash_addr) {\n const ret = wasm$1.eck1(dst_addr, sig_addr, msg_hash_addr);\n return Instruction.__wrap(ret);\n}\n\n/**\n * The 64-byte Secp256r1 public key (x, y) recovered from 64-byte signature on 32-byte message hash.\n * @param {number} dst_addr\n * @param {number} sig_addr\n * @param {number} msg_hash_addr\n * @returns {Instruction}\n */\nfunction ecr1(dst_addr, sig_addr, msg_hash_addr) {\n const ret = wasm$1.ecr1(dst_addr, sig_addr, msg_hash_addr);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Verify ED25519 public key and signature match a message.\n * @param {number} pub_key_addr\n * @param {number} sig_addr\n * @param {number} msg_addr\n * @param {number} msg_len\n * @returns {Instruction}\n */\nfunction ed19(pub_key_addr, sig_addr, msg_addr, msg_len) {\n const ret = wasm$1.ed19(pub_key_addr, sig_addr, msg_addr, msg_len);\n return Instruction.__wrap(ret);\n}\n\n/**\n * The keccak-256 hash of a slice.\n * @param {number} dst_addr\n * @param {number} src_addr\n * @param {number} len\n * @returns {Instruction}\n */\nfunction k256(dst_addr, src_addr, len) {\n const ret = wasm$1.k256(dst_addr, src_addr, len);\n return Instruction.__wrap(ret);\n}\n\n/**\n * The SHA-2-256 hash of a slice.\n * @param {number} dst_addr\n * @param {number} src_addr\n * @param {number} len\n * @returns {Instruction}\n */\nfunction s256(dst_addr, src_addr, len) {\n const ret = wasm$1.s256(dst_addr, src_addr, len);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Get timestamp of block at given height.\n * @param {number} dst\n * @param {number} heigth\n * @returns {Instruction}\n */\nfunction time(dst, heigth) {\n const ret = wasm$1.time(dst, heigth);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Performs no operation.\n * @returns {Instruction}\n */\nfunction noop() {\n const ret = wasm$1.noop();\n return Instruction.__wrap(ret);\n}\n\n/**\n * Set flag register to a register.\n * @param {number} value\n * @returns {Instruction}\n */\nfunction flag(value) {\n const ret = wasm$1.flag(value);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Get the balance of contract of an asset ID.\n * @param {number} dst\n * @param {number} asset_id_addr\n * @param {number} contract_id_addr\n * @returns {Instruction}\n */\nfunction bal(dst, asset_id_addr, contract_id_addr) {\n const ret = wasm$1.bal(dst, asset_id_addr, contract_id_addr);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Dynamic jump.\n * @param {number} abs_target\n * @returns {Instruction}\n */\nfunction jmp(abs_target) {\n const ret = wasm$1.jmp(abs_target);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Conditional dynamic jump.\n * @param {number} abs_target\n * @param {number} lhs\n * @param {number} rhs\n * @returns {Instruction}\n */\nfunction jne(abs_target, lhs, rhs) {\n const ret = wasm$1.jne(abs_target, lhs, rhs);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Send a message to recipient address with call abi, coins, and output.\n * @param {number} recipient_addr\n * @param {number} data_addr\n * @param {number} data_len\n * @param {number} coins\n * @returns {Instruction}\n */\nfunction smo(recipient_addr, data_addr, data_len, coins) {\n const ret = wasm$1.smo(recipient_addr, data_addr, data_len, coins);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Adds a register and an immediate value.\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @returns {Instruction}\n */\nfunction addi(dst, lhs, rhs) {\n const ret = wasm$1.addi(dst, lhs, rhs);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Bitwise ANDs a register and an immediate value.\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @returns {Instruction}\n */\nfunction andi(dst, lhs, rhs) {\n const ret = wasm$1.andi(dst, lhs, rhs);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Divides a register and an immediate value.\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @returns {Instruction}\n */\nfunction divi(dst, lhs, rhs) {\n const ret = wasm$1.divi(dst, lhs, rhs);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Raises one register to the power of an immediate value.\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @returns {Instruction}\n */\nfunction expi(dst, lhs, rhs) {\n const ret = wasm$1.expi(dst, lhs, rhs);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Modulo remainder of a register and an immediate value.\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @returns {Instruction}\n */\nfunction modi(dst, lhs, rhs) {\n const ret = wasm$1.modi(dst, lhs, rhs);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Multiplies a register and an immediate value.\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @returns {Instruction}\n */\nfunction muli(dst, lhs, rhs) {\n const ret = wasm$1.muli(dst, lhs, rhs);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Bitwise ORs a register and an immediate value.\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @returns {Instruction}\n */\nfunction ori(dst, lhs, rhs) {\n const ret = wasm$1.ori(dst, lhs, rhs);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Left shifts a register by an immediate value.\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @returns {Instruction}\n */\nfunction slli(dst, lhs, rhs) {\n const ret = wasm$1.slli(dst, lhs, rhs);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Right shifts a register by an immediate value.\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @returns {Instruction}\n */\nfunction srli(dst, lhs, rhs) {\n const ret = wasm$1.srli(dst, lhs, rhs);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Subtracts a register and an immediate value.\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @returns {Instruction}\n */\nfunction subi(dst, lhs, rhs) {\n const ret = wasm$1.subi(dst, lhs, rhs);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Bitwise XORs a register and an immediate value.\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @returns {Instruction}\n */\nfunction xori(dst, lhs, rhs) {\n const ret = wasm$1.xori(dst, lhs, rhs);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Conditional jump.\n * @param {number} cond_lhs\n * @param {number} cond_rhs\n * @param {number} abs_target\n * @returns {Instruction}\n */\nfunction jnei(cond_lhs, cond_rhs, abs_target) {\n const ret = wasm$1.jnei(cond_lhs, cond_rhs, abs_target);\n return Instruction.__wrap(ret);\n}\n\n/**\n * A byte is loaded from the specified address offset by an immediate value.\n * @param {number} dst\n * @param {number} addr\n * @param {number} offset\n * @returns {Instruction}\n */\nfunction lb(dst, addr, offset) {\n const ret = wasm$1.lb(dst, addr, offset);\n return Instruction.__wrap(ret);\n}\n\n/**\n * A word is loaded from the specified address offset by an immediate value.\n * @param {number} dst\n * @param {number} addr\n * @param {number} offset\n * @returns {Instruction}\n */\nfunction lw(dst, addr, offset) {\n const ret = wasm$1.lw(dst, addr, offset);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Write the least significant byte of a register to memory.\n * @param {number} addr\n * @param {number} value\n * @param {number} offset\n * @returns {Instruction}\n */\nfunction sb(addr, value, offset) {\n const ret = wasm$1.sb(addr, value, offset);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Write a register to memory.\n * @param {number} addr\n * @param {number} value\n * @param {number} offset\n * @returns {Instruction}\n */\nfunction sw(addr, value, offset) {\n const ret = wasm$1.sw(addr, value, offset);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Copy an immediate number of bytes in memory.\n * @param {number} dst_addr\n * @param {number} src_addr\n * @param {number} len\n * @returns {Instruction}\n */\nfunction mcpi(dst_addr, src_addr, len) {\n const ret = wasm$1.mcpi(dst_addr, src_addr, len);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Get transaction fields.\n * @param {number} dst\n * @param {number} arg\n * @param {number} selector\n * @returns {Instruction}\n */\nfunction gtf(dst, arg, selector) {\n const ret = wasm$1.gtf(dst, arg, selector);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Clear an immediate number of bytes in memory.\n * @param {number} addr\n * @param {number} count\n * @returns {Instruction}\n */\nfunction mcli(addr, count) {\n const ret = wasm$1.mcli(addr, count);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Get metadata from memory.\n * @param {number} dst\n * @param {number} selector\n * @returns {Instruction}\n */\nfunction gm(dst, selector) {\n const ret = wasm$1.gm(dst, selector);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Copy immediate value into a register\n * @param {number} dst\n * @param {number} val\n * @returns {Instruction}\n */\nfunction movi(dst, val) {\n const ret = wasm$1.movi(dst, val);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Conditional jump against zero.\n * @param {number} cond_nz\n * @param {number} abs_target\n * @returns {Instruction}\n */\nfunction jnzi(cond_nz, abs_target) {\n const ret = wasm$1.jnzi(cond_nz, abs_target);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Unconditional dynamic relative jump forwards, with a constant offset.\n * @param {number} dynamic\n * @param {number} fixed\n * @returns {Instruction}\n */\nfunction jmpf(dynamic, fixed) {\n const ret = wasm$1.jmpf(dynamic, fixed);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Unconditional dynamic relative jump backwards, with a constant offset.\n * @param {number} dynamic\n * @param {number} fixed\n * @returns {Instruction}\n */\nfunction jmpb(dynamic, fixed) {\n const ret = wasm$1.jmpb(dynamic, fixed);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Dynamic relative jump forwards, conditional against zero, with a constant offset.\n * @param {number} cond_nz\n * @param {number} dynamic\n * @param {number} fixed\n * @returns {Instruction}\n */\nfunction jnzf(cond_nz, dynamic, fixed) {\n const ret = wasm$1.jnzf(cond_nz, dynamic, fixed);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Dynamic relative jump backwards, conditional against zero, with a constant offset.\n * @param {number} cond_nz\n * @param {number} dynamic\n * @param {number} fixed\n * @returns {Instruction}\n */\nfunction jnzb(cond_nz, dynamic, fixed) {\n const ret = wasm$1.jnzb(cond_nz, dynamic, fixed);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Dynamic relative jump forwards, conditional on comparsion, with a constant offset.\n * @param {number} cond_lhs\n * @param {number} cond_rhs\n * @param {number} dynamic\n * @param {number} fixed\n * @returns {Instruction}\n */\nfunction jnef(cond_lhs, cond_rhs, dynamic, fixed) {\n const ret = wasm$1.jnef(cond_lhs, cond_rhs, dynamic, fixed);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Dynamic relative jump backwards, conditional on comparsion, with a constant offset.\n * @param {number} cond_lhs\n * @param {number} cond_rhs\n * @param {number} dynamic\n * @param {number} fixed\n * @returns {Instruction}\n */\nfunction jneb(cond_lhs, cond_rhs, dynamic, fixed) {\n const ret = wasm$1.jneb(cond_lhs, cond_rhs, dynamic, fixed);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Jump.\n * @param {number} abs_target\n * @returns {Instruction}\n */\nfunction ji(abs_target) {\n const ret = wasm$1.ji(abs_target);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Extend the current call frame's stack by an immediate value.\n * @param {number} amount\n * @returns {Instruction}\n */\nfunction cfei(amount) {\n const ret = wasm$1.cfei(amount);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Shrink the current call frame's stack by an immediate value.\n * @param {number} amount\n * @returns {Instruction}\n */\nfunction cfsi(amount) {\n const ret = wasm$1.cfsi(amount);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Extend the current call frame's stack\n * @param {number} amount\n * @returns {Instruction}\n */\nfunction cfe(amount) {\n const ret = wasm$1.cfe(amount);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Shrink the current call frame's stack\n * @param {number} amount\n * @returns {Instruction}\n */\nfunction cfs(amount) {\n const ret = wasm$1.cfs(amount);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Push a bitmask-selected set of registers in range 16..40 to the stack.\n * @param {number} bitmask\n * @returns {Instruction}\n */\nfunction pshl(bitmask) {\n const ret = wasm$1.pshl(bitmask);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Push a bitmask-selected set of registers in range 40..64 to the stack.\n * @param {number} bitmask\n * @returns {Instruction}\n */\nfunction pshh(bitmask) {\n const ret = wasm$1.pshh(bitmask);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Pop a bitmask-selected set of registers in range 16..40 to the stack.\n * @param {number} bitmask\n * @returns {Instruction}\n */\nfunction popl(bitmask) {\n const ret = wasm$1.popl(bitmask);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Pop a bitmask-selected set of registers in range 40..64 to the stack.\n * @param {number} bitmask\n * @returns {Instruction}\n */\nfunction poph(bitmask) {\n const ret = wasm$1.poph(bitmask);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Compare 128bit integers\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @param {number} flags\n * @returns {Instruction}\n */\nfunction wdcm(dst, lhs, rhs, flags) {\n const ret = wasm$1.wdcm(dst, lhs, rhs, flags);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Compare 256bit integers\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @param {number} flags\n * @returns {Instruction}\n */\nfunction wqcm(dst, lhs, rhs, flags) {\n const ret = wasm$1.wqcm(dst, lhs, rhs, flags);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Simple 128bit operations\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @param {number} flags\n * @returns {Instruction}\n */\nfunction wdop(dst, lhs, rhs, flags) {\n const ret = wasm$1.wdop(dst, lhs, rhs, flags);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Simple 256bit operations\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @param {number} flags\n * @returns {Instruction}\n */\nfunction wqop(dst, lhs, rhs, flags) {\n const ret = wasm$1.wqop(dst, lhs, rhs, flags);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Multiply 128bit\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @param {number} flags\n * @returns {Instruction}\n */\nfunction wdml(dst, lhs, rhs, flags) {\n const ret = wasm$1.wdml(dst, lhs, rhs, flags);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Multiply 256bit\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @param {number} flags\n * @returns {Instruction}\n */\nfunction wqml(dst, lhs, rhs, flags) {\n const ret = wasm$1.wqml(dst, lhs, rhs, flags);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Divide 128bit\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @param {number} flags\n * @returns {Instruction}\n */\nfunction wddv(dst, lhs, rhs, flags) {\n const ret = wasm$1.wddv(dst, lhs, rhs, flags);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Divide 256bit\n * @param {number} dst\n * @param {number} lhs\n * @param {number} rhs\n * @param {number} flags\n * @returns {Instruction}\n */\nfunction wqdv(dst, lhs, rhs, flags) {\n const ret = wasm$1.wqdv(dst, lhs, rhs, flags);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Fused multiply-divide 128bit\n * @param {number} dst\n * @param {number} mul_lhs\n * @param {number} mul_rhs\n * @param {number} divisor\n * @returns {Instruction}\n */\nfunction wdmd(dst, mul_lhs, mul_rhs, divisor) {\n const ret = wasm$1.wdmd(dst, mul_lhs, mul_rhs, divisor);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Fused multiply-divide 256bit\n * @param {number} dst\n * @param {number} mul_lhs\n * @param {number} mul_rhs\n * @param {number} divisor\n * @returns {Instruction}\n */\nfunction wqmd(dst, mul_lhs, mul_rhs, divisor) {\n const ret = wasm$1.wqmd(dst, mul_lhs, mul_rhs, divisor);\n return Instruction.__wrap(ret);\n}\n\n/**\n * AddMod 128bit\n * @param {number} dst\n * @param {number} add_lhs\n * @param {number} add_rhs\n * @param {number} modulo\n * @returns {Instruction}\n */\nfunction wdam(dst, add_lhs, add_rhs, modulo) {\n const ret = wasm$1.wdam(dst, add_lhs, add_rhs, modulo);\n return Instruction.__wrap(ret);\n}\n\n/**\n * AddMod 256bit\n * @param {number} dst\n * @param {number} add_lhs\n * @param {number} add_rhs\n * @param {number} modulo\n * @returns {Instruction}\n */\nfunction wqam(dst, add_lhs, add_rhs, modulo) {\n const ret = wasm$1.wqam(dst, add_lhs, add_rhs, modulo);\n return Instruction.__wrap(ret);\n}\n\n/**\n * MulMod 128bit\n * @param {number} dst\n * @param {number} mul_lhs\n * @param {number} mul_rhs\n * @param {number} modulo\n * @returns {Instruction}\n */\nfunction wdmm(dst, mul_lhs, mul_rhs, modulo) {\n const ret = wasm$1.wdmm(dst, mul_lhs, mul_rhs, modulo);\n return Instruction.__wrap(ret);\n}\n\n/**\n * MulMod 256bit\n * @param {number} dst\n * @param {number} mul_lhs\n * @param {number} mul_rhs\n * @param {number} modulo\n * @returns {Instruction}\n */\nfunction wqmm(dst, mul_lhs, mul_rhs, modulo) {\n const ret = wasm$1.wqmm(dst, mul_lhs, mul_rhs, modulo);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Call external function\n * @param {number} a\n * @param {number} b\n * @param {number} c\n * @param {number} d\n * @returns {Instruction}\n */\nfunction ecal(a, b, c, d) {\n const ret = wasm$1.ecal(a, b, c, d);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Get blob size\n * @param {number} dst\n * @param {number} blob_id_ptr\n * @returns {Instruction}\n */\nfunction bsiz(dst, blob_id_ptr) {\n const ret = wasm$1.bsiz(dst, blob_id_ptr);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Load blob as data\n * @param {number} dst_ptr\n * @param {number} blob_id_ptr\n * @param {number} offset\n * @param {number} len\n * @returns {Instruction}\n */\nfunction bldd(dst_ptr, blob_id_ptr, offset, len) {\n const ret = wasm$1.bldd(dst_ptr, blob_id_ptr, offset, len);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Given some curve, performs an operation on points\n * @param {number} dst\n * @param {number} curve_id\n * @param {number} operation_type\n * @param {number} points_ptr\n * @returns {Instruction}\n */\nfunction ecop(dst, curve_id, operation_type, points_ptr) {\n const ret = wasm$1.ecop(dst, curve_id, operation_type, points_ptr);\n return Instruction.__wrap(ret);\n}\n\n/**\n * Given some curve, performs a pairing on groups of points\n * @param {number} success\n * @param {number} curve_id\n * @param {number} number_elements\n * @param {number} points_ptr\n * @returns {Instruction}\n */\nfunction epar(success, curve_id, number_elements, points_ptr) {\n const ret = wasm$1.epar(success, curve_id, number_elements, points_ptr);\n return Instruction.__wrap(ret);\n}\n\nlet cachedDataViewMemory0 = null;\n\nfunction getDataViewMemory0() {\n if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm$1.memory.buffer)) {\n cachedDataViewMemory0 = new DataView(wasm$1.memory.buffer);\n }\n return cachedDataViewMemory0;\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);\n}\n/**\n * Comparison mode used by WDCM and WQCM instructions.\n * @enum {0 | 1 | 2 | 3 | 4 | 5 | 6}\n */\nconst CompareMode = Object.freeze({\n /**\n * Equality (`==`)\n */\n EQ: 0, \"0\": \"EQ\",\n /**\n * Inequality (`!=`)\n */\n NE: 1, \"1\": \"NE\",\n /**\n * Less than (`<`)\n */\n LT: 2, \"2\": \"LT\",\n /**\n * Greater than (`>`)\n */\n GT: 3, \"3\": \"GT\",\n /**\n * Less than or equals (`>=`)\n */\n LTE: 4, \"4\": \"LTE\",\n /**\n * Greater than or equals (`>=`)\n */\n GTE: 5, \"5\": \"GTE\",\n /**\n * Number of leading zeroes in lhs (`lzcnt`) (discards rhs)\n */\n LZC: 6, \"6\": \"LZC\",\n});\n/**\n * r\" Argument list for GM (get metadata) instruction\n * r\" The VM is the only who should match this struct, and it *MUST* always perform\n * r\" exhaustive match so all offered variants are covered.\n * @enum {1 | 2 | 3 | 4 | 5 | 6 | 7}\n */\nconst GMArgs = Object.freeze({\n /**\n * r\" Get if caller is external.\n */\n IsCallerExternal: 1, \"1\": \"IsCallerExternal\",\n /**\n * r\" Get caller's contract ID.\n */\n GetCaller: 2, \"2\": \"GetCaller\",\n /**\n * r\" Get index of current predicate.\n */\n GetVerifyingPredicate: 3, \"3\": \"GetVerifyingPredicate\",\n /**\n * r\" Get the Chain ID this VM is operating within\n */\n GetChainId: 4, \"4\": \"GetChainId\",\n /**\n * r\" Get memory address where the transaction is located\n */\n TxStart: 5, \"5\": \"TxStart\",\n /**\n * r\" Get memory address of base asset ID\n */\n BaseAssetId: 6, \"6\": \"BaseAssetId\",\n /**\n * r\" Get gas price for block\n */\n GetGasPrice: 7, \"7\": \"GetGasPrice\",\n});\n/**\n * r\" Argument list for GTF (get tx fields) instruction\n * r\" The VM is the only who should match this struct, and it *MUST* always perform\n * r\" exhaustive match so all offered variants are covered.\n * @enum {1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | 10 | 11 | 12 | 13 | 14 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 512 | 513 | 514 | 515 | 516 | 517 | 518 | 519 | 521 | 522 | 523 | 524 | 525 | 544 | 545 | 549 | 576 | 577 | 578 | 579 | 580 | 581 | 582 | 583 | 584 | 585 | 586 | 587 | 768 | 769 | 770 | 771 | 772 | 775 | 776 | 1024 | 1025 | 1280 | 1281 | 1282 | 1283 | 1284 | 1285 | 1536 | 1537 | 1538 | 1539 | 1540 | 1541 | 1792 | 1793 | 2048 | 2304 | 2305 | 2306 | 2307 | 2308 | 2309}\n */\nconst GTFArgs = Object.freeze({\n /**\n * r\" Set `$rA` to `tx.type`\n */\n Type: 1, \"1\": \"Type\",\n /**\n * r\" Set `$rA` to `tx.scriptGasLimit`\n */\n ScriptGasLimit: 2, \"2\": \"ScriptGasLimit\",\n /**\n * r\" Set `$rA` to `tx.scriptLength`\n */\n ScriptLength: 3, \"3\": \"ScriptLength\",\n /**\n * r\" Set `$rA` to `tx.scriptDataLength`\n */\n ScriptDataLength: 4, \"4\": \"ScriptDataLength\",\n /**\n * r\" Set `$rA` to `tx.inputsCount`\n */\n ScriptInputsCount: 5, \"5\": \"ScriptInputsCount\",\n /**\n * r\" Set `$rA` to `tx.outputsCount`\n */\n ScriptOutputsCount: 6, \"6\": \"ScriptOutputsCount\",\n /**\n * r\" Set `$rA` to `tx.witnessesCount`\n */\n ScriptWitnessesCount: 7, \"7\": \"ScriptWitnessesCount\",\n /**\n * r\" Set `$rA` to `Memory address of tx.script`\n */\n Script: 9, \"9\": \"Script\",\n /**\n * r\" Set `$rA` to `Memory address of tx.scriptData`\n */\n ScriptData: 10, \"10\": \"ScriptData\",\n /**\n * r\" Set `$rA` to `Memory address of tx.inputs[$rB]`\n */\n ScriptInputAtIndex: 11, \"11\": \"ScriptInputAtIndex\",\n /**\n * r\" Set `$rA` to `Memory address of t.outputs[$rB]`\n */\n ScriptOutputAtIndex: 12, \"12\": \"ScriptOutputAtIndex\",\n /**\n * r\" Set `$rA` to `Memory address of tx.witnesses[$rB]`\n */\n ScriptWitnessAtIndex: 13, \"13\": \"ScriptWitnessAtIndex\",\n /**\n * r\" Set `$rA` to size of the transaction in memory, in bytes\n */\n TxLength: 14, \"14\": \"TxLength\",\n /**\n * r\" Set `$rA` to `tx.bytecodeWitnessIndex`\n */\n CreateBytecodeWitnessIndex: 257, \"257\": \"CreateBytecodeWitnessIndex\",\n /**\n * r\" Set `$rA` to `tx.storageSlotsCount`\n */\n CreateStorageSlotsCount: 258, \"258\": \"CreateStorageSlotsCount\",\n /**\n * r\" Set `$rA` to `tx.inputsCount`\n */\n CreateInputsCount: 259, \"259\": \"CreateInputsCount\",\n /**\n * r\" Set `$rA` to `tx.outputsCount`\n */\n CreateOutputsCount: 260, \"260\": \"CreateOutputsCount\",\n /**\n * r\" Set `$rA` to `tx.witnessesCount`\n */\n CreateWitnessesCount: 261, \"261\": \"CreateWitnessesCount\",\n /**\n * r\" Set `$rA` to `Memory address of tx.salt`\n */\n CreateSalt: 262, \"262\": \"CreateSalt\",\n /**\n * r\" Set `$rA` to `Memory address of tx.storageSlots[$rB]`\n */\n CreateStorageSlotAtIndex: 263, \"263\": \"CreateStorageSlotAtIndex\",\n /**\n * r\" Set `$rA` to `Memory address of tx.inputs[$rB]`\n */\n CreateInputAtIndex: 264, \"264\": \"CreateInputAtIndex\",\n /**\n * r\" Set `$rA` to `Memory address of t.outputs[$rB]`\n */\n CreateOutputAtIndex: 265, \"265\": \"CreateOutputAtIndex\",\n /**\n * r\" Set `$rA` to `Memory address of tx.witnesses[$rB]`\n */\n CreateWitnessAtIndex: 266, \"266\": \"CreateWitnessAtIndex\",\n /**\n * r\" Set `$rA` to `tx.inputs[$rB].type`\n */\n InputType: 512, \"512\": \"InputType\",\n /**\n * r\" Set `$rA` to `Memory address of tx.inputs[$rB].txID`\n */\n InputCoinTxId: 513, \"513\": \"InputCoinTxId\",\n /**\n * r\" Set `$rA` to `tx.inputs[$rB].outputIndex`\n */\n InputCoinOutputIndex: 514, \"514\": \"InputCoinOutputIndex\",\n /**\n * r\" Set `$rA` to `Memory address of tx.inputs[$rB].ow