@algorandfoundation/algorand-typescript 0.0.1-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/arc4/encoded-types.d.ts +65 -0
- package/arc4/index.d.ts +57 -0
- package/base-contract.d.ts +5 -0
- package/box.d.ts +52 -0
- package/execution-context.d.ts +40 -0
- package/gtxn.d.ts +30 -0
- package/impl/base-32.d.ts +2 -0
- package/impl/encoding-util.d.ts +8 -0
- package/impl/errors.d.ts +28 -0
- package/impl/name-of-type.d.ts +1 -0
- package/impl/primitives.d.ts +77 -0
- package/impl/state.d.ts +24 -0
- package/index-7MfWJL4Q.js +741 -0
- package/index-7MfWJL4Q.js.map +1 -0
- package/index.d.ts +14 -0
- package/index.mjs +364 -0
- package/index.mjs.map +1 -0
- package/index2.mjs +3 -0
- package/index2.mjs.map +1 -0
- package/internal.d.ts +6 -0
- package/itxn.d.ts +161 -0
- package/op-types.d.ts +2102 -0
- package/op.d.ts +55 -0
- package/package.json +32 -0
- package/primitives.d.ts +55 -0
- package/reference.d.ts +207 -0
- package/state.d.ts +28 -0
- package/transactions.d.ts +342 -0
- package/typescript-helpers.d.ts +2 -0
- package/util.d.ts +31 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index-7MfWJL4Q.js","sources":["../src/impl/base-32.ts","../src/impl/errors.ts","../src/impl/encoding-util.ts","../src/impl/name-of-type.ts","../src/impl/primitives.ts","../src/primitives.ts","../src/execution-context.ts","../src/util.ts","../src/base-contract.ts","../src/arc4/encoded-types.ts","../src/arc4/index.ts"],"sourcesContent":["const BASE32_ALPHABET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567'.split('')\n\nconst CHAR_TO_NUM = BASE32_ALPHABET.reduce((acc, cur, index) => ((acc[cur] = index), acc), {} as Record<string, number>)\n\nexport const base32ToUint8Array = (value: string): Uint8Array => {\n let allChars = value\n .split('')\n .filter((c) => c !== '=')\n .map((c) => {\n const cUpper = c.toUpperCase()\n if (cUpper in CHAR_TO_NUM) return CHAR_TO_NUM[cUpper]\n throw new Error(`Invalid base32 char ${c}`)\n })\n const bytes = new Array<number>()\n while (allChars.length) {\n const [a, b, c, d, e, f, g, h, ...rest] = allChars\n if (a === undefined || b === undefined) break\n bytes.push(((a << 3) | (b >>> 2)) & 255)\n if (c === undefined || d === undefined) break\n bytes.push(((b << 6) | (c << 1) | (d >>> 4)) & 255)\n if (e === undefined) break\n bytes.push(((d << 4) | (e >>> 1)) & 255)\n if (f === undefined || g === undefined) break\n bytes.push(((e << 7) | (f << 2) | (g >>> 3)) & 255)\n if (h === undefined) break\n bytes.push(((g << 5) | h) & 255)\n allChars = rest\n }\n return new Uint8Array(bytes)\n}\n\nexport const uint8ArrayToBase32 = (value: Uint8Array): string => {\n let allBytes = Array.from(value)\n let base32str = ''\n while (allBytes.length) {\n const [a, b, c, d, e, ...rest] = allBytes ?? [0, 0, 0, 0, 0]\n\n if (allBytes.length < 1) break\n base32str += BASE32_ALPHABET[a >>> 3]\n base32str += BASE32_ALPHABET[((a << 2) | ((b || 0) >>> 6)) & 32]\n if (allBytes.length < 2) break\n base32str += BASE32_ALPHABET[(b >>> 1) & 31]\n base32str += BASE32_ALPHABET[((b << 4) | (c >>> 4)) & 31]\n if (allBytes.length < 3) break\n base32str += BASE32_ALPHABET[((c << 1) | (d >>> 7)) & 31]\n if (allBytes.length < 4) break\n base32str += BASE32_ALPHABET[(d >>> 2) & 31]\n base32str += BASE32_ALPHABET[((d << 3) | (e >>> 5)) & 31]\n if (allBytes.length < 5) break\n base32str += BASE32_ALPHABET[e & 31]\n allBytes = rest\n }\n return base32str\n}\n","/**\n * Raised when an `err` op is encountered, or when the testing VM is asked to do something that would cause\n * the AVM to fail.\n */\nexport class AvmError extends Error {\n constructor(message: string) {\n super(message)\n }\n}\nexport function avmError(message: string): never {\n throw new AvmError(message)\n}\n/**\n * Raised when an assertion fails\n */\nexport class AssertError extends AvmError {\n constructor(message: string) {\n super(message)\n }\n}\n\n/**\n * Raised when testing code errors\n */\nexport class InternalError extends Error {\n constructor(message: string, options?: ErrorOptions) {\n super(message, options)\n }\n}\n\nexport function internalError(message: string): never {\n throw new InternalError(message)\n}\n\n/**\n * Raised when unsupported user code is encountered\n */\nexport class CodeError extends Error {\n constructor(message: string, options?: ErrorOptions) {\n super(message, options)\n }\n}\n\nexport function codeError(message: string): never {\n throw new CodeError(message)\n}\n","import { TextDecoder } from 'node:util'\nimport { AvmError } from './errors'\n\nexport const uint8ArrayToBigInt = (v: Uint8Array): bigint => {\n // Assume big-endian\n return Array.from(v)\n .toReversed()\n .map((byte_value, i): bigint => BigInt(byte_value) << BigInt(i * 8))\n .reduce((a, b) => a + b, 0n)\n}\n\nexport const bigIntToUint8Array = (val: bigint, fixedSize: number | 'dynamic' = 'dynamic'): Uint8Array => {\n if (val === 0n && fixedSize === 'dynamic') {\n return new Uint8Array(0)\n }\n const maxBytes = fixedSize === 'dynamic' ? undefined : fixedSize\n\n let hex = val.toString(16)\n\n // Pad the hex with zeros so it matches the size in bytes\n if (fixedSize !== 'dynamic' && hex.length !== fixedSize * 2) {\n hex = hex.padStart(fixedSize * 2, '0')\n } else if (hex.length % 2 == 1) {\n // Pad to 'whole' byte\n hex = `0${hex}`\n }\n if (maxBytes && hex.length > maxBytes * 2) {\n throw new AvmError(`Cannot encode ${val} as ${maxBytes} bytes as it would overflow`)\n }\n const byteArray = new Uint8Array(hex.length / 2)\n for (let i = 0, j = 0; i < hex.length / 2; i++, j += 2) {\n byteArray[i] = parseInt(hex.slice(j, j + 2), 16)\n }\n return byteArray\n}\n\nexport const utf8ToUint8Array = (value: string): Uint8Array => {\n const encoder = new TextEncoder()\n return encoder.encode(value)\n}\n\nexport const uint8ArrayToUtf8 = (value: Uint8Array): string => {\n const decoder = new TextDecoder()\n return decoder.decode(value)\n}\n\nexport const uint8ArrayToHex = (value: Uint8Array): string => Buffer.from(value).toString('hex')\n\nexport const uint8ArrayToBase64 = (value: Uint8Array): string => Buffer.from(value).toString('base64')\n\nexport const uint8ArrayToBase64Url = (value: Uint8Array): string => Buffer.from(value).toString('base64url')\n\nexport { uint8ArrayToBase32 } from './base-32'\n","export const nameOfType = (x: unknown) => {\n if (typeof x === 'object') {\n if (x === null) return 'Null'\n if (x === undefined) return 'undefined'\n if ('constructor' in x) {\n return x.constructor.name\n }\n }\n return typeof x\n}\n","import type { biguint, BigUintCompat, bytes, BytesCompat, uint64, Uint64Compat } from '../index'\nimport { DeliberateAny } from '../typescript-helpers'\nimport { base32ToUint8Array } from './base-32'\nimport { bigIntToUint8Array, uint8ArrayToBigInt, uint8ArrayToUtf8, utf8ToUint8Array } from './encoding-util'\nimport { avmError, AvmError, internalError } from './errors'\nimport { nameOfType } from './name-of-type'\n\nconst MAX_UINT8 = 2 ** 8 - 1\nconst MAX_BYTES_SIZE = 4096\n\nexport type StubBigUintCompat = BigUintCompat | BigUintCls | Uint64Cls\nexport type StubBytesCompat = BytesCompat | BytesCls\nexport type StubUint64Compat = Uint64Compat | Uint64Cls\n\nexport function toExternalValue(val: uint64): bigint\nexport function toExternalValue(val: biguint): bigint\nexport function toExternalValue(val: bytes): Uint8Array\nexport function toExternalValue(val: string): string\nexport function toExternalValue(val: uint64 | biguint | bytes | string) {\n const instance = val as unknown\n if (instance instanceof BytesCls) return instance.asUint8Array()\n if (instance instanceof Uint64Cls) return instance.asBigInt()\n if (instance instanceof BigUintCls) return instance.asBigInt()\n if (typeof val === 'string') return val\n}\nexport const toBytes = (val: unknown): bytes => {\n if (val instanceof AlgoTsPrimitiveCls) return val.toBytes().asAlgoTs()\n\n switch (typeof val) {\n case 'string':\n return BytesCls.fromCompat(val).asAlgoTs()\n case 'bigint':\n return BigUintCls.fromCompat(val).toBytes().asAlgoTs()\n case 'number':\n return Uint64Cls.fromCompat(val).toBytes().asAlgoTs()\n default:\n internalError(`Unsupported arg type ${nameOfType(val)}`)\n }\n}\n\nexport const isBytes = (v: unknown): v is StubBytesCompat => {\n if (typeof v === 'string') return true\n if (v instanceof BytesCls) return true\n return v instanceof Uint8Array\n}\n\nexport const isUint64 = (v: unknown): v is StubUint64Compat => {\n if (typeof v == 'boolean') return true\n if (typeof v == 'number') return true\n if (typeof v == 'bigint') return true\n return v instanceof Uint64Cls\n}\n\nexport const isBigUint = (v: unknown): v is biguint => {\n return v instanceof BigUintCls\n}\n\nexport const checkUint64 = (v: bigint): bigint => {\n const u64 = BigInt.asUintN(64, v)\n if (u64 !== v) throw new AvmError(`Uint64 over or underflow`)\n return u64\n}\nexport const checkBigUint = (v: bigint): bigint => {\n const uBig = BigInt.asUintN(64 * 8, v)\n if (uBig !== v) throw new AvmError(`BigUint over or underflow`)\n return uBig\n}\n\nexport const checkBytes = (v: Uint8Array): Uint8Array => {\n if (v.length > MAX_BYTES_SIZE) throw new AvmError(`Bytes length ${v.length} exceeds maximum length ${MAX_BYTES_SIZE}`)\n return v\n}\n\nexport abstract class AlgoTsPrimitiveCls {\n private readonly _type: string = AlgoTsPrimitiveCls.name\n\n constructor(t: string) {\n this._type = `${AlgoTsPrimitiveCls.name}.${t}`\n }\n\n static [Symbol.hasInstance](x: unknown): x is AlgoTsPrimitiveCls {\n return x instanceof Object && '_type' in x && (x as { _type: string })['_type'].startsWith(AlgoTsPrimitiveCls.name)\n }\n\n abstract valueOf(): bigint | string | boolean\n abstract toBytes(): BytesCls\n}\n\nexport class Uint64Cls extends AlgoTsPrimitiveCls {\n public readonly value: bigint\n constructor(value: bigint | number | string) {\n super(Uint64Cls.name)\n this.value = BigInt(value)\n checkUint64(this.value)\n }\n static [Symbol.hasInstance](x: unknown): x is Uint64Cls {\n return x instanceof Object && '_type' in x && (x as { _type: string })['_type'].endsWith(Uint64Cls.name)\n }\n static fromCompat(v: StubUint64Compat): Uint64Cls {\n if (typeof v == 'boolean') return new Uint64Cls(v ? 1n : 0n)\n if (typeof v == 'number') return new Uint64Cls(BigInt(v))\n if (typeof v == 'bigint') return new Uint64Cls(v)\n if (v instanceof Uint64Cls) return v\n internalError(`Cannot convert ${v} to uint64`)\n }\n\n static getNumber(v: StubUint64Compat): number {\n return Uint64Cls.fromCompat(v).asNumber()\n }\n\n valueOf(): bigint {\n return this.value\n }\n\n toBytes(isDynamic: boolean = false): BytesCls {\n return new BytesCls(bigIntToUint8Array(this.value, isDynamic ? 'dynamic' : 8))\n }\n\n asAlgoTs(): uint64 {\n return this as unknown as uint64\n }\n\n asBigInt(): bigint {\n return this.value\n }\n asNumber(): number {\n if (this.value > Number.MAX_SAFE_INTEGER) {\n throw new AvmError('value cannot be safely converted to a number')\n }\n return Number(this.value)\n }\n}\n\nexport class BigUintCls extends AlgoTsPrimitiveCls {\n constructor(public readonly value: bigint) {\n super(BigUintCls.name)\n }\n valueOf(): bigint {\n return this.value\n }\n\n toBytes(): BytesCls {\n return new BytesCls(bigIntToUint8Array(this.value))\n }\n\n asAlgoTs(): biguint {\n return this as unknown as biguint\n }\n\n asBigInt(): bigint {\n return this.value\n }\n asNumber(): number {\n if (this.value > Number.MAX_SAFE_INTEGER) {\n throw new AvmError('value cannot be safely converted to a number')\n }\n return Number(this.value)\n }\n static [Symbol.hasInstance](x: unknown): x is BigUintCls {\n return x instanceof Object && '_type' in x && (x as { _type: string })['_type'].endsWith(BigUintCls.name)\n }\n static fromCompat(v: StubBigUintCompat): BigUintCls {\n if (typeof v == 'boolean') return new BigUintCls(v ? 1n : 0n)\n if (typeof v == 'number') return new BigUintCls(BigInt(v))\n if (typeof v == 'bigint') return new BigUintCls(v)\n if (v instanceof Uint64Cls) return new BigUintCls(v.value)\n if (v instanceof BytesCls) return v.toBigUint()\n if (v instanceof BigUintCls) return v\n internalError(`Cannot convert ${nameOfType(v)} to BigUint`)\n }\n}\n\nexport class BytesCls extends AlgoTsPrimitiveCls {\n #v: Uint8Array\n constructor(v: Uint8Array) {\n super(BytesCls.name)\n this.#v = v\n checkBytes(this.#v)\n }\n\n get length() {\n return new Uint64Cls(this.#v.length)\n }\n\n toBytes(): BytesCls {\n return this\n }\n\n at(i: StubUint64Compat): BytesCls {\n const start = Uint64Cls.fromCompat(i).asNumber()\n return new BytesCls(this.#v.slice(start, start + 1))\n }\n\n slice(start: StubUint64Compat, end: StubUint64Compat): BytesCls {\n const startNumber = start instanceof Uint64Cls ? start.asNumber() : start\n const endNumber = end instanceof Uint64Cls ? end.asNumber() : end\n const sliced = arrayUtil.arraySlice(this.#v, startNumber, endNumber)\n return new BytesCls(sliced)\n }\n\n concat(other: StubBytesCompat): BytesCls {\n const otherArray = BytesCls.fromCompat(other).asUint8Array()\n const mergedArray = new Uint8Array(this.#v.length + otherArray.length)\n mergedArray.set(this.#v)\n mergedArray.set(otherArray, this.#v.length)\n return new BytesCls(mergedArray)\n }\n\n bitwiseAnd(other: StubBytesCompat): BytesCls {\n return this.bitwiseOp(other, (a, b) => a & b)\n }\n\n bitwiseOr(other: StubBytesCompat): BytesCls {\n return this.bitwiseOp(other, (a, b) => a | b)\n }\n\n bitwiseXor(other: StubBytesCompat): BytesCls {\n return this.bitwiseOp(other, (a, b) => a ^ b)\n }\n\n bitwiseInvert(): BytesCls {\n const result = new Uint8Array(this.#v.length)\n this.#v.forEach((v, i) => {\n result[i] = ~v & MAX_UINT8\n })\n return new BytesCls(result)\n }\n\n equals(other: StubBytesCompat): boolean {\n const otherArray = BytesCls.fromCompat(other).asUint8Array()\n if (this.#v.length !== otherArray.length) return false\n for (let i = 0; i < this.#v.length; i++) {\n if (this.#v[i] !== otherArray[i]) return false\n }\n return true\n }\n\n private bitwiseOp(other: StubBytesCompat, op: (a: number, b: number) => number): BytesCls {\n const otherArray = BytesCls.fromCompat(other).asUint8Array()\n const result = new Uint8Array(Math.max(this.#v.length, otherArray.length))\n for (let i = result.length - 1; i >= 0; i--) {\n const thisIndex = i - (result.length - this.#v.length)\n const otherIndex = i - (result.length - otherArray.length)\n result[i] = op(this.#v[thisIndex] ?? 0, otherArray[otherIndex] ?? 0)\n }\n return new BytesCls(result)\n }\n\n valueOf(): string {\n return uint8ArrayToUtf8(this.#v)\n }\n\n static [Symbol.hasInstance](x: unknown): x is BytesCls {\n return x instanceof Object && '_type' in x && (x as { _type: string })['_type'].endsWith(BytesCls.name)\n }\n\n static fromCompat(v: StubBytesCompat | undefined): BytesCls {\n if (v === undefined) return new BytesCls(new Uint8Array())\n if (typeof v === 'string') return new BytesCls(utf8ToUint8Array(v))\n if (v instanceof BytesCls) return v\n if (v instanceof Uint8Array) return new BytesCls(v)\n internalError(`Cannot convert ${nameOfType(v)} to bytes`)\n }\n\n static fromInterpolation(template: TemplateStringsArray, replacements: StubBytesCompat[]) {\n return template\n .flatMap((templateText, index) => {\n const replacement = replacements[index]\n if (replacement) {\n return [BytesCls.fromCompat(templateText), BytesCls.fromCompat(replacement)]\n }\n return [BytesCls.fromCompat(templateText)]\n })\n .reduce((a, b) => a.concat(b))\n }\n\n static fromHex(hex: string): BytesCls {\n return new BytesCls(Uint8Array.from(Buffer.from(hex, 'hex')))\n }\n\n static fromBase64(b64: string): BytesCls {\n return new BytesCls(Uint8Array.from(Buffer.from(b64, 'base64')))\n }\n\n static fromBase32(b32: string): BytesCls {\n return new BytesCls(base32ToUint8Array(b32))\n }\n\n toUint64(): Uint64Cls {\n return new Uint64Cls(uint8ArrayToBigInt(this.#v))\n }\n toBigUint(): BigUintCls {\n return new BigUintCls(uint8ArrayToBigInt(this.#v))\n }\n toString(): string {\n return this.valueOf()\n }\n\n asAlgoTs(): bytes {\n return this as unknown as bytes\n }\n\n asUint8Array(): Uint8Array {\n return this.#v\n }\n}\n\nexport const arrayUtil = new (class {\n arrayAt<T>(arrayLike: T[], index: StubUint64Compat): T {\n return arrayLike.at(Uint64Cls.fromCompat(index).asNumber()) ?? avmError('Index out of bounds')\n }\n arraySlice(arrayLike: Uint8Array, start: StubUint64Compat, end: StubUint64Compat): Uint8Array\n arraySlice<T>(arrayLike: T[], start: StubUint64Compat, end: StubUint64Compat): T[]\n arraySlice<T>(arrayLike: T[] | Uint8Array, start: StubUint64Compat, end: StubUint64Compat) {\n return arrayLike.slice(Uint64Cls.getNumber(start), Uint64Cls.getNumber(end)) as DeliberateAny\n }\n})()\n","import { BigUintCls, BytesCls, Uint64Cls } from './impl/primitives'\n\nexport type Uint64Compat = uint64 | bigint | boolean | number\nexport type BigUintCompat = Uint64Compat | bigint | bytes | number\nexport type StringCompat = string\nexport type BytesCompat = bytes | string | Uint8Array\n\n/**\n * An unsigned integer of exactly 64 bits\n */\nexport type uint64 = {\n __type?: 'uint64'\n} & number\n\n/**\n * Create a uint64 value\n * @param v The value to use\n */\nexport function Uint64(v: bigint): uint64\nexport function Uint64(v: number): uint64\nexport function Uint64(v: boolean): uint64\nexport function Uint64(v: Uint64Compat): uint64 {\n return Uint64Cls.fromCompat(v).asAlgoTs()\n}\n\n/**\n * An unsigned integer of up to 512 bits\n *\n * Stored as a big-endian variable byte array\n */\nexport type biguint = {\n __type?: 'biguint'\n} & bigint\n\n/**\n * Create a biguint value\n * @param v The value to use\n */\nexport function BigUint(v: bigint): biguint\nexport function BigUint(v: boolean): biguint\nexport function BigUint(v: number): biguint\nexport function BigUint(v: bytes): biguint\nexport function BigUint(v: BigUintCompat): biguint {\n return BigUintCls.fromCompat(v).asAlgoTs()\n}\n\nexport type bytes = {\n readonly length: uint64\n\n at(i: Uint64Compat): bytes\n\n concat(other: BytesCompat): bytes\n\n bitwiseAnd(other: BytesCompat): bytes\n\n bitwiseOr(other: BytesCompat): bytes\n\n bitwiseXor(other: BytesCompat): bytes\n\n bitwiseInvert(): bytes\n\n equals(other: BytesCompat): boolean\n\n toString(): string\n}\n\nexport function Bytes(value: TemplateStringsArray, ...replacements: BytesCompat[]): bytes\nexport function Bytes(value: BytesCompat): bytes\nexport function Bytes(): bytes\nexport function Bytes(value?: BytesCompat | TemplateStringsArray, ...replacements: BytesCompat[]): bytes {\n if (isTemplateStringsArray(value)) {\n return BytesCls.fromInterpolation(value, replacements).asAlgoTs()\n } else {\n return BytesCls.fromCompat(value).asAlgoTs()\n }\n}\n\n/**\n * Create a new bytes value from a hexadecimal encoded string\n * @param hex\n */\nBytes.fromHex = (hex: string): bytes => {\n return BytesCls.fromHex(hex).asAlgoTs()\n}\n/**\n * Create a new bytes value from a base 64 encoded string\n * @param b64\n */\nBytes.fromBase64 = (b64: string): bytes => {\n return BytesCls.fromBase64(b64).asAlgoTs()\n}\n\n/**\n * Create a new bytes value from a base 32 encoded string\n * @param b32\n */\nBytes.fromBase32 = (b32: string): bytes => {\n return BytesCls.fromBase32(b32).asAlgoTs()\n}\n\nfunction isTemplateStringsArray(v: unknown): v is TemplateStringsArray {\n return Boolean(v) && Array.isArray(v) && typeof v[0] === 'string'\n}\n\nexport interface BytesBacked {\n get bytes(): bytes\n}\n","import { Contract, gtxn, itxn } from '.'\nimport { AbiMethodConfig, BareMethodConfig } from './arc4'\nimport { OpsNamespace } from './op-types'\nimport { bytes, uint64 } from './primitives'\nimport { Account, Application, Asset } from './reference'\n\nexport type ExecutionContext = {\n log(value: bytes): void\n application(id?: uint64): Application\n asset(id?: uint64): Asset\n account(address?: bytes): Account\n op: Partial<OpsNamespace>\n abiMetadata: {\n captureMethodConfig<T extends Contract>(contract: T, methodName: string, config?: AbiMethodConfig<T> | BareMethodConfig): void\n }\n gtxn: {\n Transaction: typeof gtxn.Transaction\n PaymentTxn: typeof gtxn.PaymentTxn\n KeyRegistrationTxn: typeof gtxn.KeyRegistrationTxn\n AssetConfigTxn: typeof gtxn.AssetConfigTxn\n AssetTransferTxn: typeof gtxn.AssetTransferTxn\n AssetFreezeTxn: typeof gtxn.AssetFreezeTxn\n ApplicationTxn: typeof gtxn.ApplicationTxn\n }\n itxn: {\n submitGroup: typeof itxn.submitGroup\n payment: typeof itxn.payment\n keyRegistration: typeof itxn.keyRegistration\n assetConfig: typeof itxn.assetConfig\n assetTransfer: typeof itxn.assetTransfer\n assetFreeze: typeof itxn.assetFreeze\n applicationCall: typeof itxn.applicationCall\n }\n}\n\ndeclare global {\n // eslint-disable-next-line no-var\n var puyaTsExecutionContext: ExecutionContext | undefined\n}\n\nexport const ctxMgr = {\n set instance(ctx: ExecutionContext) {\n const instance = global.puyaTsExecutionContext\n if (instance != undefined) throw new Error('Execution context has already been set')\n global.puyaTsExecutionContext = ctx\n },\n get instance() {\n const instance = global.puyaTsExecutionContext\n if (instance == undefined) throw new Error('No execution context has been set')\n return instance\n },\n reset() {\n global.puyaTsExecutionContext = undefined\n },\n}\n","import { biguint, BigUintCompat, BytesCompat, StringCompat, uint64, Uint64Compat } from './primitives'\nimport { ctxMgr } from './execution-context'\nimport { AssertError, AvmError } from './impl/errors'\nimport { toBytes } from './impl/primitives'\n\nexport function log(...args: Array<Uint64Compat | BytesCompat | BigUintCompat | StringCompat>): void {\n ctxMgr.instance.log(args.map(toBytes).reduce((left, right) => left.concat(right)))\n}\n\nexport function assert(condition: unknown, message?: string): asserts condition {\n if (!condition) {\n throw new AssertError(message ?? 'Assertion failed')\n }\n}\n\nexport function err(message?: string): never {\n throw new AvmError(message ?? 'Err')\n}\n\ntype NumericComparison<T> = T | { lessThan: T } | { greaterThan: T } | { greaterThanEq: T } | { lessThanEq: T } | { between: [T, T] }\n\ntype ComparisonFor<T> = T extends uint64 | biguint ? NumericComparison<T> : T\n\ntype MatchTest<T> = {\n [key in keyof T]?: ComparisonFor<T[key]>\n}\n\nexport function match<T>(subject: T, test: MatchTest<T>): boolean {\n return true\n}\nexport function assertMatch<T>(subject: T, test: MatchTest<T>, message?: string): boolean {\n return true\n}\n\nexport enum OpUpFeeSource {\n GroupCredit = 0,\n AppAccount = 1,\n Any = 2,\n}\n\nexport function ensureBudget(budget: uint64, feeSource: OpUpFeeSource = OpUpFeeSource.GroupCredit) {\n throw new Error('Not implemented')\n}\n\nexport function urange(stop: Uint64Compat): IterableIterator<uint64>\nexport function urange(start: Uint64Compat, stop: Uint64Compat): IterableIterator<uint64>\nexport function urange(start: Uint64Compat, stop: Uint64Compat, step: Uint64Compat): IterableIterator<uint64>\nexport function urange(a: Uint64Compat, b?: Uint64Compat, c?: Uint64Compat): IterableIterator<uint64> {\n throw new Error('Not implemented')\n}\n","import { uint64 } from './primitives'\n\nexport abstract class BaseContract {\n public abstract approvalProgram(): boolean | uint64\n public clearStateProgram(): boolean | uint64 {\n return true\n }\n}\n","import { biguint, BigUintCompat, Bytes, bytes, BytesBacked, StringCompat, uint64, Uint64Compat } from '../primitives'\nimport { err } from '../util'\nimport { Account } from '../reference'\nimport { arrayUtil } from '../impl/primitives'\n\nexport type BitSize = 8 | 16 | 32 | 64 | 128 | 256 | 512\ntype NativeForArc4Int<N extends BitSize> = N extends 8 | 16 | 32 | 64 ? uint64 : biguint\ntype CompatForArc4Int<N extends BitSize> = N extends 8 | 16 | 32 | 64 ? Uint64Compat : BigUintCompat\n\nabstract class AbiEncoded implements BytesBacked {\n get bytes(): bytes {\n throw new Error('todo')\n }\n}\n\nexport class Str extends AbiEncoded {\n constructor(s: StringCompat) {\n super()\n }\n get native(): string {\n throw new Error('TODO')\n }\n}\nexport class UintN<N extends BitSize> extends AbiEncoded {\n constructor(v?: CompatForArc4Int<N>) {\n super()\n }\n get native(): NativeForArc4Int<N> {\n throw new Error('TODO')\n }\n}\nexport class UFixedNxM<N extends BitSize, M extends number> {\n constructor(v: `${number}:${number}`, n?: N, m?: M) {}\n\n get native(): NativeForArc4Int<N> {\n throw new Error('TODO')\n }\n}\n\nexport class Byte extends UintN<8> {\n constructor(v: Uint64Compat) {\n super(v)\n }\n get native(): uint64 {\n throw new Error('TODO')\n }\n}\nexport class Bool {\n #v: boolean\n constructor(v: boolean) {\n this.#v = v\n }\n\n get native(): boolean {\n return this.#v\n }\n}\n\nabstract class Arc4Array<TItem> extends AbiEncoded {\n protected constructor(protected items: TItem[]) {\n super()\n }\n get length(): uint64 {\n throw new Error('TODO')\n }\n at(index: Uint64Compat): TItem {\n return arrayUtil.arrayAt(this.items, index)\n }\n slice(start: Uint64Compat, end: Uint64Compat): DynamicArray<TItem> {\n return new DynamicArray(...arrayUtil.arraySlice(this.items, start, end))\n }\n [Symbol.iterator](): IterableIterator<TItem> {\n return this.items[Symbol.iterator]()\n }\n entries(): IterableIterator<readonly [uint64, TItem]> {\n throw new Error('TODO')\n }\n keys(): IterableIterator<uint64> {\n throw new Error('TODO')\n }\n}\n\nexport class StaticArray<TItem, TLength extends number> extends Arc4Array<TItem> {\n constructor()\n constructor(...items: TItem[] & { length: TLength })\n constructor(...items: TItem[])\n constructor(...items: TItem[] & { length: TLength }) {\n super(items)\n }\n\n copy(): StaticArray<TItem, TLength> {\n return new StaticArray<TItem, TLength>(...this.items)\n }\n}\n\nexport class DynamicArray<TItem> extends Arc4Array<TItem> {\n constructor(...items: TItem[]) {\n super(items)\n }\n push(...items: TItem[]): void {}\n pop(): TItem {\n throw new Error('Not implemented')\n }\n\n copy(): DynamicArray<TItem> {\n return new DynamicArray<TItem>(...this.items)\n }\n}\n\ntype ItemAt<TTuple extends unknown[], TIndex extends number> = undefined extends TTuple[TIndex] ? never : TTuple[TIndex]\n\nexport class Tuple<TTuple extends unknown[]> {\n #items: TTuple\n constructor(...items: TTuple) {\n this.#items = items\n }\n\n at<TIndex extends number>(index: TIndex): ItemAt<TTuple, TIndex> {\n return (this.#items[index] ?? err('Index out of bounds')) as ItemAt<TTuple, TIndex>\n }\n\n get native(): TTuple {\n return this.#items\n }\n}\n\nexport class Address extends StaticArray<Byte, 32> {\n constructor(value: Account | string | bytes) {\n super()\n }\n\n get native(): Account {\n throw new Error('TODO')\n }\n}\n","import { BaseContract } from '../base-contract'\nimport { ctxMgr } from '../execution-context'\nimport { Uint64 } from '../primitives'\nimport { DeliberateAny } from '../typescript-helpers'\n\nexport * from './encoded-types'\n\nexport class Contract extends BaseContract {\n override approvalProgram(): boolean {\n return true\n }\n}\n\nexport type CreateOptions = 'allow' | 'disallow' | 'require'\nexport type OnCompleteActionStr = 'NoOp' | 'OptIn' | 'ClearState' | 'CloseOut' | 'UpdateApplication' | 'DeleteApplication'\n\nexport enum OnCompleteAction {\n NoOp = Uint64(0),\n OptIn = Uint64(1),\n CloseOut = Uint64(2),\n ClearState = Uint64(3),\n UpdateApplication = Uint64(4),\n DeleteApplication = Uint64(5),\n}\n\nexport type DefaultArgument<TContract extends Contract> = { constant: string | boolean | number | bigint } | { from: keyof TContract }\nexport type AbiMethodConfig<TContract extends Contract> = {\n /**\n * Which on complete action(s) are allowed when invoking this method.\n * @default 'NoOp'\n */\n allowActions?: OnCompleteActionStr | OnCompleteActionStr[]\n /**\n * Whether this method should be callable when creating the application.\n * @default 'disallow'\n */\n onCreate?: CreateOptions\n /**\n * Does the method only perform read operations (no mutation of chain state)\n * @default false\n */\n readonly?: boolean\n /**\n * Override the name used to generate the abi method selector\n */\n name?: string\n\n defaultArguments?: Record<string, DefaultArgument<TContract>>\n}\nexport function abimethod<TContract extends Contract>(config?: AbiMethodConfig<TContract>) {\n return function <TArgs extends DeliberateAny[], TReturn>(\n target: (this: TContract, ...args: TArgs) => TReturn,\n ctx: ClassMethodDecoratorContext<TContract>,\n ): (this: TContract, ...args: TArgs) => TReturn {\n ctx.addInitializer(function () {\n ctxMgr.instance.abiMetadata.captureMethodConfig(this, target.name, config)\n })\n return target\n }\n}\n\nexport type BareMethodConfig = {\n /**\n * Which on complete action(s) are allowed when invoking this method.\n * @default 'NoOp'\n */\n allowActions?: OnCompleteActionStr | OnCompleteActionStr[]\n /**\n * Whether this method should be callable when creating the application.\n * @default 'disallow'\n */\n onCreate?: CreateOptions\n}\nexport function baremethod<TContract extends Contract>(config?: BareMethodConfig) {\n return function <TArgs extends DeliberateAny[], TReturn>(\n target: (this: TContract, ...args: TArgs) => TReturn,\n ctx: ClassMethodDecoratorContext<TContract>,\n ): (this: TContract, ...args: TArgs) => TReturn {\n ctx.addInitializer(function () {\n ctxMgr.instance.abiMetadata.captureMethodConfig(this, target.name, config)\n })\n return target\n }\n}\n"],"names":[],"mappings":"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"}
|
package/index.d.ts
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
export * from './primitives';
|
2
|
+
export { log, err, assert, match, assertMatch, ensureBudget, urange, OpUpFeeSource } from './util';
|
3
|
+
export * from './reference';
|
4
|
+
export * as op from './op';
|
5
|
+
export { Txn, Global } from './op';
|
6
|
+
export * as internal from './internal';
|
7
|
+
export * as arc4 from './arc4';
|
8
|
+
export { Contract, abimethod } from './arc4';
|
9
|
+
export { BaseContract } from './base-contract';
|
10
|
+
export { BoxRef, BoxMap, Box } from './box';
|
11
|
+
export * from './state';
|
12
|
+
export * as itxn from './itxn';
|
13
|
+
export * as gtxn from './gtxn';
|
14
|
+
export { TransactionType } from './transactions';
|
package/index.mjs
ADDED
@@ -0,0 +1,364 @@
|
|
1
|
+
import { c as ctxMgr, A as AssertError, B as BytesCls, e as encodingUtil, a as errors, p as primitives } from './index-7MfWJL4Q.js';
|
2
|
+
export { j as BaseContract, k as BigUint, n as Bytes, C as Contract, O as OpUpFeeSource, U as Uint64, h as abimethod, i as arc4, d as assert, f as assertMatch, g as ensureBudget, b as err, l as log, m as match, u as urange } from './index-7MfWJL4Q.js';
|
3
|
+
import 'node:util';
|
4
|
+
|
5
|
+
function Account(address) {
|
6
|
+
return ctxMgr.instance.account(address);
|
7
|
+
}
|
8
|
+
function Asset(assetId) {
|
9
|
+
return ctxMgr.instance.asset(assetId);
|
10
|
+
}
|
11
|
+
function Application(applicationId) {
|
12
|
+
return ctxMgr.instance.application(applicationId);
|
13
|
+
}
|
14
|
+
|
15
|
+
var Base64;
|
16
|
+
(function (Base64) {
|
17
|
+
Base64["URLEncoding"] = "URLEncoding";
|
18
|
+
Base64["StdEncoding"] = "StdEncoding";
|
19
|
+
})(Base64 || (Base64 = {}));
|
20
|
+
var Ec;
|
21
|
+
(function (Ec) {
|
22
|
+
Ec["BN254g1"] = "BN254g1";
|
23
|
+
Ec["BN254g2"] = "BN254g2";
|
24
|
+
Ec["BLS12_381g1"] = "BLS12_381g1";
|
25
|
+
Ec["BLS12_381g2"] = "BLS12_381g2";
|
26
|
+
})(Ec || (Ec = {}));
|
27
|
+
var Ecdsa;
|
28
|
+
(function (Ecdsa) {
|
29
|
+
Ecdsa["Secp256k1"] = "Secp256k1";
|
30
|
+
Ecdsa["Secp256r1"] = "Secp256r1";
|
31
|
+
})(Ecdsa || (Ecdsa = {}));
|
32
|
+
var VrfVerify;
|
33
|
+
(function (VrfVerify) {
|
34
|
+
VrfVerify["VrfAlgorand"] = "VrfAlgorand";
|
35
|
+
})(VrfVerify || (VrfVerify = {}));
|
36
|
+
|
37
|
+
var opTypes = /*#__PURE__*/Object.freeze({
|
38
|
+
__proto__: null,
|
39
|
+
get Base64 () { return Base64; },
|
40
|
+
get Ec () { return Ec; },
|
41
|
+
get Ecdsa () { return Ecdsa; },
|
42
|
+
get VrfVerify () { return VrfVerify; }
|
43
|
+
});
|
44
|
+
|
45
|
+
const createFunctionProxy = (name) => {
|
46
|
+
return (...args) => {
|
47
|
+
const implementation = ctxMgr.instance.op[name];
|
48
|
+
return implementation(...args);
|
49
|
+
};
|
50
|
+
};
|
51
|
+
const createObjectProxy = (name) => {
|
52
|
+
return new Proxy({}, {
|
53
|
+
get(_target, property) {
|
54
|
+
return Reflect.get(ctxMgr.instance.op[name], property);
|
55
|
+
},
|
56
|
+
});
|
57
|
+
};
|
58
|
+
const addw = createFunctionProxy('addw');
|
59
|
+
const balance = createFunctionProxy('balance');
|
60
|
+
const base64Decode = createFunctionProxy('base64Decode');
|
61
|
+
const bitLength = createFunctionProxy('bitLength');
|
62
|
+
const bsqrt = createFunctionProxy('bsqrt');
|
63
|
+
const btoi = createFunctionProxy('btoi');
|
64
|
+
const bzero = createFunctionProxy('bzero');
|
65
|
+
const concat = createFunctionProxy('concat');
|
66
|
+
const divmodw = createFunctionProxy('divmodw');
|
67
|
+
const divw = createFunctionProxy('divw');
|
68
|
+
const ecdsaPkDecompress = createFunctionProxy('ecdsaPkDecompress');
|
69
|
+
const ecdsaPkRecover = createFunctionProxy('ecdsaPkRecover');
|
70
|
+
const ecdsaVerify = createFunctionProxy('ecdsaVerify');
|
71
|
+
const ed25519verifyBare = createFunctionProxy('ed25519verifyBare');
|
72
|
+
const ed25519verify = createFunctionProxy('ed25519verify');
|
73
|
+
const exp = createFunctionProxy('exp');
|
74
|
+
const expw = createFunctionProxy('expw');
|
75
|
+
const extract = createFunctionProxy('extract');
|
76
|
+
const extractUint16 = createFunctionProxy('extractUint16');
|
77
|
+
const extractUint32 = createFunctionProxy('extractUint32');
|
78
|
+
const extractUint64 = createFunctionProxy('extractUint64');
|
79
|
+
const gaid = createFunctionProxy('gaid');
|
80
|
+
const getBit = createFunctionProxy('getBit');
|
81
|
+
const getByte = createFunctionProxy('getByte');
|
82
|
+
const itob = createFunctionProxy('itob');
|
83
|
+
const keccak256 = createFunctionProxy('keccak256');
|
84
|
+
const minBalance = createFunctionProxy('minBalance');
|
85
|
+
const mulw = createFunctionProxy('mulw');
|
86
|
+
const replace = createFunctionProxy('replace');
|
87
|
+
const select = createFunctionProxy('select');
|
88
|
+
const setBit = createFunctionProxy('setBit');
|
89
|
+
const setByte = createFunctionProxy('setByte');
|
90
|
+
const sha256 = createFunctionProxy('sha256');
|
91
|
+
const sha3_256 = createFunctionProxy('sha3_256');
|
92
|
+
const sha512_256 = createFunctionProxy('sha512_256');
|
93
|
+
const shl = createFunctionProxy('shl');
|
94
|
+
const shr = createFunctionProxy('shr');
|
95
|
+
const sqrt = createFunctionProxy('sqrt');
|
96
|
+
const substring = createFunctionProxy('substring');
|
97
|
+
const vrfVerify = createFunctionProxy('vrfVerify');
|
98
|
+
const EllipticCurve = createObjectProxy('EllipticCurve');
|
99
|
+
const Global = createObjectProxy('Global');
|
100
|
+
const GTxn = createObjectProxy('GTxn');
|
101
|
+
const JsonRef = createObjectProxy('JsonRef');
|
102
|
+
const Txn = createObjectProxy('Txn');
|
103
|
+
const GITxn = createObjectProxy('GITxn');
|
104
|
+
const ITxn = createObjectProxy('ITxn');
|
105
|
+
const ITxnCreate = createObjectProxy('ITxnCreate');
|
106
|
+
const Scratch = createObjectProxy('Scratch');
|
107
|
+
const AcctParams = createObjectProxy('AcctParams');
|
108
|
+
const AppParams = createObjectProxy('AppParams');
|
109
|
+
const AssetHolding = createObjectProxy('AssetHolding');
|
110
|
+
const AssetParams = createObjectProxy('AssetParams');
|
111
|
+
|
112
|
+
var op = /*#__PURE__*/Object.freeze({
|
113
|
+
__proto__: null,
|
114
|
+
AcctParams: AcctParams,
|
115
|
+
AppParams: AppParams,
|
116
|
+
AssetHolding: AssetHolding,
|
117
|
+
AssetParams: AssetParams,
|
118
|
+
EllipticCurve: EllipticCurve,
|
119
|
+
GITxn: GITxn,
|
120
|
+
GTxn: GTxn,
|
121
|
+
Global: Global,
|
122
|
+
ITxn: ITxn,
|
123
|
+
ITxnCreate: ITxnCreate,
|
124
|
+
JsonRef: JsonRef,
|
125
|
+
Scratch: Scratch,
|
126
|
+
Txn: Txn,
|
127
|
+
get VrfVerify () { return VrfVerify; },
|
128
|
+
addw: addw,
|
129
|
+
balance: balance,
|
130
|
+
base64Decode: base64Decode,
|
131
|
+
bitLength: bitLength,
|
132
|
+
bsqrt: bsqrt,
|
133
|
+
btoi: btoi,
|
134
|
+
bzero: bzero,
|
135
|
+
concat: concat,
|
136
|
+
divmodw: divmodw,
|
137
|
+
divw: divw,
|
138
|
+
ecdsaPkDecompress: ecdsaPkDecompress,
|
139
|
+
ecdsaPkRecover: ecdsaPkRecover,
|
140
|
+
ecdsaVerify: ecdsaVerify,
|
141
|
+
ed25519verify: ed25519verify,
|
142
|
+
ed25519verifyBare: ed25519verifyBare,
|
143
|
+
exp: exp,
|
144
|
+
expw: expw,
|
145
|
+
extract: extract,
|
146
|
+
extractUint16: extractUint16,
|
147
|
+
extractUint32: extractUint32,
|
148
|
+
extractUint64: extractUint64,
|
149
|
+
gaid: gaid,
|
150
|
+
getBit: getBit,
|
151
|
+
getByte: getByte,
|
152
|
+
itob: itob,
|
153
|
+
keccak256: keccak256,
|
154
|
+
minBalance: minBalance,
|
155
|
+
mulw: mulw,
|
156
|
+
replace: replace,
|
157
|
+
select: select,
|
158
|
+
setBit: setBit,
|
159
|
+
setByte: setByte,
|
160
|
+
sha256: sha256,
|
161
|
+
sha3_256: sha3_256,
|
162
|
+
sha512_256: sha512_256,
|
163
|
+
shl: shl,
|
164
|
+
shr: shr,
|
165
|
+
sqrt: sqrt,
|
166
|
+
substring: substring,
|
167
|
+
vrfVerify: vrfVerify
|
168
|
+
});
|
169
|
+
|
170
|
+
class GlobalStateCls {
|
171
|
+
_type = GlobalStateCls.name;
|
172
|
+
#value;
|
173
|
+
key;
|
174
|
+
delete = () => {
|
175
|
+
this.#value = undefined;
|
176
|
+
};
|
177
|
+
static [Symbol.hasInstance](x) {
|
178
|
+
return x instanceof Object && '_type' in x && x['_type'] === GlobalStateCls.name;
|
179
|
+
}
|
180
|
+
get value() {
|
181
|
+
if (this.#value === undefined) {
|
182
|
+
throw new AssertError('value is not set');
|
183
|
+
}
|
184
|
+
return this.#value;
|
185
|
+
}
|
186
|
+
set value(v) {
|
187
|
+
this.#value = v;
|
188
|
+
}
|
189
|
+
get hasValue() {
|
190
|
+
return this.#value !== undefined;
|
191
|
+
}
|
192
|
+
constructor(key, value) {
|
193
|
+
this.key = BytesCls.fromCompat(key).asAlgoTs();
|
194
|
+
this.#value = value;
|
195
|
+
}
|
196
|
+
}
|
197
|
+
class LocalStateCls {
|
198
|
+
#value;
|
199
|
+
delete = () => {
|
200
|
+
this.#value = undefined;
|
201
|
+
};
|
202
|
+
get value() {
|
203
|
+
if (this.#value === undefined) {
|
204
|
+
throw new AssertError('value is not set');
|
205
|
+
}
|
206
|
+
return this.#value;
|
207
|
+
}
|
208
|
+
set value(v) {
|
209
|
+
this.#value = v;
|
210
|
+
}
|
211
|
+
get hasValue() {
|
212
|
+
return this.#value !== undefined;
|
213
|
+
}
|
214
|
+
}
|
215
|
+
class LocalStateMapCls {
|
216
|
+
#value = new Map();
|
217
|
+
getValue(account) {
|
218
|
+
if (!this.#value.has(account.bytes)) {
|
219
|
+
this.#value.set(account.bytes, new LocalStateCls());
|
220
|
+
}
|
221
|
+
return this.#value.get(account.bytes);
|
222
|
+
}
|
223
|
+
}
|
224
|
+
|
225
|
+
var state = /*#__PURE__*/Object.freeze({
|
226
|
+
__proto__: null,
|
227
|
+
GlobalStateCls: GlobalStateCls,
|
228
|
+
LocalStateCls: LocalStateCls,
|
229
|
+
LocalStateMapCls: LocalStateMapCls
|
230
|
+
});
|
231
|
+
|
232
|
+
var internal = /*#__PURE__*/Object.freeze({
|
233
|
+
__proto__: null,
|
234
|
+
ctxMgr: ctxMgr,
|
235
|
+
encodingUtil: encodingUtil,
|
236
|
+
errors: errors,
|
237
|
+
opTypes: opTypes,
|
238
|
+
primitives: primitives,
|
239
|
+
state: state
|
240
|
+
});
|
241
|
+
|
242
|
+
function Box(options) {
|
243
|
+
throw new Error('Not implemented');
|
244
|
+
}
|
245
|
+
function BoxMap(options) {
|
246
|
+
throw new Error('Not implemented');
|
247
|
+
}
|
248
|
+
function BoxRef(options) {
|
249
|
+
throw new Error('Not implemented');
|
250
|
+
}
|
251
|
+
|
252
|
+
/** A single key in global state */
|
253
|
+
function GlobalState(options) {
|
254
|
+
return new GlobalStateCls(options?.key, options?.initialValue);
|
255
|
+
}
|
256
|
+
/** A single key in local state */
|
257
|
+
function LocalState(options) {
|
258
|
+
function localStateInternal(account) {
|
259
|
+
return localStateInternal.map.getValue(account);
|
260
|
+
}
|
261
|
+
localStateInternal.key = options?.key;
|
262
|
+
localStateInternal.map = new LocalStateMapCls();
|
263
|
+
return localStateInternal;
|
264
|
+
}
|
265
|
+
|
266
|
+
function submitGroup(...transactionFields) {
|
267
|
+
return ctxMgr.instance.itxn.submitGroup(...transactionFields);
|
268
|
+
}
|
269
|
+
function payment(fields) {
|
270
|
+
return ctxMgr.instance.itxn.payment(fields);
|
271
|
+
}
|
272
|
+
function keyRegistration(fields) {
|
273
|
+
return ctxMgr.instance.itxn.keyRegistration(fields);
|
274
|
+
}
|
275
|
+
function assetConfig(fields) {
|
276
|
+
return ctxMgr.instance.itxn.assetConfig(fields);
|
277
|
+
}
|
278
|
+
function assetTransfer(fields) {
|
279
|
+
return ctxMgr.instance.itxn.assetTransfer(fields);
|
280
|
+
}
|
281
|
+
function assetFreeze(fields) {
|
282
|
+
return ctxMgr.instance.itxn.assetFreeze(fields);
|
283
|
+
}
|
284
|
+
function applicationCall(fields) {
|
285
|
+
return ctxMgr.instance.itxn.applicationCall(fields);
|
286
|
+
}
|
287
|
+
|
288
|
+
var itxn = /*#__PURE__*/Object.freeze({
|
289
|
+
__proto__: null,
|
290
|
+
applicationCall: applicationCall,
|
291
|
+
assetConfig: assetConfig,
|
292
|
+
assetFreeze: assetFreeze,
|
293
|
+
assetTransfer: assetTransfer,
|
294
|
+
keyRegistration: keyRegistration,
|
295
|
+
payment: payment,
|
296
|
+
submitGroup: submitGroup
|
297
|
+
});
|
298
|
+
|
299
|
+
function Transaction(groupIndex) {
|
300
|
+
return ctxMgr.instance.gtxn.Transaction(groupIndex);
|
301
|
+
}
|
302
|
+
function PaymentTxn(groupIndex) {
|
303
|
+
return ctxMgr.instance.gtxn.PaymentTxn(groupIndex);
|
304
|
+
}
|
305
|
+
function KeyRegistrationTxn(groupIndex) {
|
306
|
+
return ctxMgr.instance.gtxn.KeyRegistrationTxn(groupIndex);
|
307
|
+
}
|
308
|
+
function AssetConfigTxn(groupIndex) {
|
309
|
+
return ctxMgr.instance.gtxn.AssetConfigTxn(groupIndex);
|
310
|
+
}
|
311
|
+
function AssetTransferTxn(groupIndex) {
|
312
|
+
return ctxMgr.instance.gtxn.AssetTransferTxn(groupIndex);
|
313
|
+
}
|
314
|
+
function AssetFreezeTxn(groupIndex) {
|
315
|
+
return ctxMgr.instance.gtxn.AssetFreezeTxn(groupIndex);
|
316
|
+
}
|
317
|
+
function ApplicationTxn(groupIndex) {
|
318
|
+
return ctxMgr.instance.gtxn.ApplicationTxn(groupIndex);
|
319
|
+
}
|
320
|
+
|
321
|
+
var gtxn = /*#__PURE__*/Object.freeze({
|
322
|
+
__proto__: null,
|
323
|
+
ApplicationTxn: ApplicationTxn,
|
324
|
+
AssetConfigTxn: AssetConfigTxn,
|
325
|
+
AssetFreezeTxn: AssetFreezeTxn,
|
326
|
+
AssetTransferTxn: AssetTransferTxn,
|
327
|
+
KeyRegistrationTxn: KeyRegistrationTxn,
|
328
|
+
PaymentTxn: PaymentTxn,
|
329
|
+
Transaction: Transaction
|
330
|
+
});
|
331
|
+
|
332
|
+
/**
|
333
|
+
* The different transaction types available in a transaction
|
334
|
+
*/
|
335
|
+
var TransactionType;
|
336
|
+
(function (TransactionType) {
|
337
|
+
/**
|
338
|
+
* A Payment transaction
|
339
|
+
*/
|
340
|
+
TransactionType[TransactionType["Payment"] = 1] = "Payment";
|
341
|
+
/**
|
342
|
+
* A Key Registration transaction
|
343
|
+
*/
|
344
|
+
TransactionType[TransactionType["KeyRegistration"] = 2] = "KeyRegistration";
|
345
|
+
/**
|
346
|
+
* An Asset Config transaction
|
347
|
+
*/
|
348
|
+
TransactionType[TransactionType["AssetConfig"] = 3] = "AssetConfig";
|
349
|
+
/**
|
350
|
+
* An Asset Transfer transaction
|
351
|
+
*/
|
352
|
+
TransactionType[TransactionType["AssetTransfer"] = 4] = "AssetTransfer";
|
353
|
+
/**
|
354
|
+
* An Asset Freeze transaction
|
355
|
+
*/
|
356
|
+
TransactionType[TransactionType["AssetFreeze"] = 5] = "AssetFreeze";
|
357
|
+
/**
|
358
|
+
* An Application Call transaction
|
359
|
+
*/
|
360
|
+
TransactionType[TransactionType["ApplicationCall"] = 6] = "ApplicationCall";
|
361
|
+
})(TransactionType || (TransactionType = {}));
|
362
|
+
|
363
|
+
export { Account, Application, Asset, Box, BoxMap, BoxRef, Global, GlobalState, LocalState, TransactionType, Txn, gtxn, internal, itxn, op };
|
364
|
+
//# sourceMappingURL=index.mjs.map
|