@algorandfoundation/algorand-typescript-testing 1.0.0-beta.35 → 1.0.0-beta.36
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-CC8mc2EI.js → arc4-CjPX95NA.js} +4 -4
- package/{arc4-CC8mc2EI.js.map → arc4-CjPX95NA.js.map} +1 -1
- package/{asset-params-C0sz_Aya.js → asset-params-CWE0hn0d.js} +7 -3
- package/asset-params-CWE0hn0d.js.map +1 -0
- package/{crypto-DumZR3uP.js → crypto-wQ1zfMd5.js} +18 -3
- package/crypto-wQ1zfMd5.js.map +1 -0
- package/encoders.d.ts +1 -0
- package/impl/encoded-types.d.ts +3 -2
- package/impl/state.d.ts +4 -0
- package/impl/validate-encoding.d.ts +1 -0
- package/index.mjs +6 -6
- package/{inner-transactions-DrYPl6aW.js → inner-transactions-BlEiErRv.js} +40 -5
- package/inner-transactions-BlEiErRv.js.map +1 -0
- package/internal/arc4.mjs +5 -5
- package/internal/index.d.ts +1 -0
- package/internal/index.mjs +14 -11
- package/internal/index.mjs.map +1 -1
- package/internal/op.mjs +4 -4
- package/{op-gBBDFbF6.js → op-DTqrUIJ4.js} +4 -4
- package/{op-gBBDFbF6.js.map → op-DTqrUIJ4.js.map} +1 -1
- package/package.json +3 -3
- package/{pure-A1MFEXtY.js → pure-0OWEN396.js} +4 -4
- package/pure-0OWEN396.js.map +1 -0
- package/{runtime-helpers-BszTaREL.js → runtime-helpers-CNHw0OzB.js} +2 -2
- package/{runtime-helpers-BszTaREL.js.map → runtime-helpers-CNHw0OzB.js.map} +1 -1
- package/runtime-helpers.mjs +2 -2
- package/asset-params-C0sz_Aya.js.map +0 -1
- package/crypto-DumZR3uP.js.map +0 -1
- package/inner-transactions-DrYPl6aW.js.map +0 -1
- package/pure-A1MFEXtY.js.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as arc4$1 from '@algorandfoundation/algorand-typescript/arc4';
|
|
2
2
|
import { OnCompleteAction } from '@algorandfoundation/algorand-typescript';
|
|
3
|
-
import { g as getContractMethodAbiMetadata, C as Contract, b as abimethod, c as baremethod } from './runtime-helpers-
|
|
4
|
-
import { v as lazyContext } from './crypto-
|
|
5
|
-
import { m as methodSelector, q as ApplicationCallInnerTxnContext } from './inner-transactions-
|
|
3
|
+
import { g as getContractMethodAbiMetadata, C as Contract, b as abimethod, c as baremethod } from './runtime-helpers-CNHw0OzB.js';
|
|
4
|
+
import { v as lazyContext } from './crypto-wQ1zfMd5.js';
|
|
5
|
+
import { m as methodSelector, q as ApplicationCallInnerTxnContext } from './inner-transactions-BlEiErRv.js';
|
|
6
6
|
|
|
7
7
|
function _mergeNamespaces(n, m) {
|
|
8
8
|
m.forEach(function (e) {
|
|
@@ -101,4 +101,4 @@ var arc4 = /*#__PURE__*/_mergeNamespaces({
|
|
|
101
101
|
}, [arc4$1]);
|
|
102
102
|
|
|
103
103
|
export { arc4 as a, abiCall as b, compileArc4 as c };
|
|
104
|
-
//# sourceMappingURL=arc4-
|
|
104
|
+
//# sourceMappingURL=arc4-CjPX95NA.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arc4-
|
|
1
|
+
{"version":3,"file":"arc4-CjPX95NA.js","sources":["../src/impl/c2c.ts"],"sourcesContent":["import { type CompileContractOptions, type Contract, OnCompleteAction } from '@algorandfoundation/algorand-typescript'\nimport type {\n BareCreateApplicationCallFields,\n ContractProxy,\n TypedApplicationCallFields,\n} from '@algorandfoundation/algorand-typescript/arc4'\nimport { getContractMethodAbiMetadata } from '../abi-metadata'\nimport { lazyContext } from '../context-helpers/internal-context'\nimport type { ConstructorFor, DeliberateAny, InstanceMethod } from '../typescript-helpers'\nimport type { ApplicationCallInnerTxn } from './inner-transactions'\nimport { ApplicationCallInnerTxnContext } from './inner-transactions'\nimport { methodSelector } from './method-selector'\nimport type { ApplicationData } from './reference'\n\nexport function compileArc4<TContract extends Contract>(\n contract: ConstructorFor<TContract>,\n options?: CompileContractOptions,\n): ContractProxy<TContract> {\n let app: ApplicationData | undefined\n const compiledAppEntry = lazyContext.value.getCompiledAppEntry(contract)\n if (compiledAppEntry !== undefined) {\n app = lazyContext.ledger.applicationDataMap.get(compiledAppEntry.value)\n }\n\n if (options?.templateVars) {\n Object.entries(options.templateVars).forEach(([key, value]) => {\n lazyContext.value.setTemplateVar(key, value, options.templateVarsPrefix)\n })\n }\n\n return {\n call: new Proxy({} as unknown as TContract, {\n get: (_target, prop) => {\n return (methodArgs: TypedApplicationCallFields<DeliberateAny[]>) => {\n const selector = methodSelector(prop as string, contract)\n const abiMetadata = getContractMethodAbiMetadata(contract, prop as string)\n const onCompleteActions = abiMetadata?.allowActions?.map((action) => OnCompleteAction[action])\n const itxnContext = ApplicationCallInnerTxnContext.createFromTypedApplicationCallFields(\n {\n ...getCommonApplicationCallFields(app, options),\n onCompletion: onCompleteActions?.[0],\n ...methodArgs,\n },\n selector,\n )\n invokeCallback(itxnContext)\n return {\n itxn: itxnContext,\n returnValue: itxnContext.loggedReturnValue,\n }\n }\n },\n }),\n\n bareCreate: (methodArgs?: BareCreateApplicationCallFields) => {\n const itxnContext = ApplicationCallInnerTxnContext.createFromBareCreateApplicationCallFields({\n ...getCommonApplicationCallFields(app, options),\n ...methodArgs,\n })\n invokeCallback(itxnContext)\n return itxnContext\n },\n approvalProgram: app?.application.approvalProgram ?? [lazyContext.any.bytes(10), lazyContext.any.bytes(10)],\n clearStateProgram: app?.application.clearStateProgram ?? [lazyContext.any.bytes(10), lazyContext.any.bytes(10)],\n extraProgramPages: options?.extraProgramPages ?? app?.application.extraProgramPages ?? lazyContext.any.uint64(),\n globalUints: options?.globalUints ?? app?.application.globalNumUint ?? lazyContext.any.uint64(),\n globalBytes: options?.globalBytes ?? app?.application.globalNumBytes ?? lazyContext.any.uint64(),\n localUints: options?.localUints ?? app?.application.localNumUint ?? lazyContext.any.uint64(),\n localBytes: options?.localBytes ?? app?.application.localNumBytes ?? lazyContext.any.uint64(),\n } as unknown as ContractProxy<TContract>\n}\n\nconst invokeCallback = (itxnContext: ApplicationCallInnerTxnContext) => {\n lazyContext.value.notifyApplicationSpies(itxnContext)\n lazyContext.txn.activeGroup.addInnerTransactionGroup(...(itxnContext.itxns ?? []), itxnContext)\n}\nconst getCommonApplicationCallFields = (app: ApplicationData | undefined, options: CompileContractOptions | undefined) => ({\n approvalProgram: app?.application.approvalProgram ?? [lazyContext.any.bytes(10), lazyContext.any.bytes(10)],\n clearStateProgram: app?.application.clearStateProgram ?? [lazyContext.any.bytes(10), lazyContext.any.bytes(10)],\n extraProgramPages: options?.extraProgramPages ?? app?.application.extraProgramPages ?? lazyContext.any.uint64(),\n globalNumUint: options?.globalUints ?? app?.application.globalNumUint ?? lazyContext.any.uint64(),\n globalNumBytes: options?.globalBytes ?? app?.application.globalNumBytes ?? lazyContext.any.uint64(),\n localNumUint: options?.localUints ?? app?.application.localNumUint ?? lazyContext.any.uint64(),\n localNumBytes: options?.localBytes ?? app?.application.localNumBytes ?? lazyContext.any.uint64(),\n})\n\nexport function abiCall<TArgs extends DeliberateAny[], TReturn>(\n method: InstanceMethod<Contract, TArgs, TReturn>,\n methodArgs: TypedApplicationCallFields<TArgs>,\n contract?: Contract | { new (): Contract },\n): { itxn: ApplicationCallInnerTxn; returnValue: TReturn | undefined } {\n const selector = methodSelector(method, contract)\n const itxnContext = ApplicationCallInnerTxnContext.createFromTypedApplicationCallFields<TReturn>(methodArgs, selector)\n invokeCallback(itxnContext)\n\n return {\n itxn: itxnContext,\n returnValue: itxnContext.loggedReturnValue,\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ARC4Encoded } from '@algorandfoundation/algorand-typescript/arc4';
|
|
2
2
|
import { encodingUtil } from '@algorandfoundation/puya-ts';
|
|
3
|
-
import { k as asMaybeUint64Cls, r as asMaybeBytesCls, a6 as asMaybeBigUintCls, a4 as BytesBackedCls, a5 as Uint64BackedCls, l as asUint64Cls,
|
|
3
|
+
import { k as asMaybeUint64Cls, r as asMaybeBytesCls, a6 as asMaybeBigUintCls, a4 as BytesBackedCls, a5 as Uint64BackedCls, l as asUint64Cls, aj as encodeArc4Impl, I as InternalError, ao as nameOfType, aE as getArc4Encoder, aD as arc4Encoders, H as AssetCls, t as ApplicationCls, A as AccountCls, ac as tryArc4EncodedLengthImpl, x as Uint64, s as asUint8Array, f as asBytes, C as BigUint, F as Account, E as Bytes, v as lazyContext, h as asUint64 } from './crypto-wQ1zfMd5.js';
|
|
4
4
|
|
|
5
5
|
const booleanFromBytes = (val) => {
|
|
6
6
|
return encodingUtil.uint8ArrayToBigInt(asUint8Array(val)) > 0n;
|
|
@@ -66,6 +66,10 @@ const toBytes = (val) => {
|
|
|
66
66
|
}
|
|
67
67
|
throw new InternalError(`Invalid type for bytes: ${nameOfType(val)}`);
|
|
68
68
|
};
|
|
69
|
+
const minLengthForType = (typeInfo) => {
|
|
70
|
+
const minArc4StaticLength = tryArc4EncodedLengthImpl(typeInfo);
|
|
71
|
+
return minArc4StaticLength ?? 0;
|
|
72
|
+
};
|
|
69
73
|
|
|
70
74
|
const resolveAppIndex = (appIdOrIndex) => {
|
|
71
75
|
const input = asUint64(appIdOrIndex);
|
|
@@ -197,5 +201,5 @@ const AssetParams = {
|
|
|
197
201
|
},
|
|
198
202
|
};
|
|
199
203
|
|
|
200
|
-
export { AppParams as A, getApp as a, getAsset as b, AssetParams as c, getEncoder as g, toBytes as t };
|
|
201
|
-
//# sourceMappingURL=asset-params-
|
|
204
|
+
export { AppParams as A, getApp as a, getAsset as b, AssetParams as c, getEncoder as g, minLengthForType as m, toBytes as t };
|
|
205
|
+
//# sourceMappingURL=asset-params-CWE0hn0d.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset-params-CWE0hn0d.js","sources":["../src/encoders.ts","../src/impl/app-params.ts","../src/impl/asset-params.ts"],"sourcesContent":["import type { biguint, bytes, OnCompleteAction, TransactionType, uint64 } from '@algorandfoundation/algorand-typescript'\nimport { ARC4Encoded } from '@algorandfoundation/algorand-typescript/arc4'\nimport { encodingUtil } from '@algorandfoundation/puya-ts'\nimport { InternalError } from './errors'\nimport { BytesBackedCls, Uint64BackedCls } from './impl/base'\nimport { arc4Encoders, encodeArc4Impl, getArc4Encoder, tryArc4EncodedLengthImpl } from './impl/encoded-types'\nimport { BigUint, Uint64, type StubBytesCompat } from './impl/primitives'\nimport { AccountCls, ApplicationCls, AssetCls } from './impl/reference'\nimport type { DeliberateAny } from './typescript-helpers'\nimport { asBytes, asMaybeBigUintCls, asMaybeBytesCls, asMaybeUint64Cls, asUint64Cls, asUint8Array, nameOfType } from './util'\n\nexport type TypeInfo = {\n name: string\n genericArgs?: TypeInfo[] | Record<string, TypeInfo>\n}\n\nexport type fromBytes<T> = (val: Uint8Array | StubBytesCompat, typeInfo: TypeInfo, prefix?: 'none' | 'log') => T\n\nconst booleanFromBytes: fromBytes<boolean> = (val) => {\n return encodingUtil.uint8ArrayToBigInt(asUint8Array(val)) > 0n\n}\n\nconst bigUintFromBytes: fromBytes<biguint> = (val) => {\n return BigUint(encodingUtil.uint8ArrayToBigInt(asUint8Array(val)))\n}\n\nconst bytesFromBytes: fromBytes<bytes> = (val) => {\n return asBytes(val)\n}\n\nconst stringFromBytes: fromBytes<string> = (val) => {\n return asBytes(val).toString()\n}\n\nconst uint64FromBytes: fromBytes<uint64> = (val) => {\n return Uint64(encodingUtil.uint8ArrayToBigInt(asUint8Array(val)))\n}\n\nconst onCompletionFromBytes: fromBytes<OnCompleteAction> = (val) => {\n return Uint64(encodingUtil.uint8ArrayToBigInt(asUint8Array(val))) as OnCompleteAction\n}\n\nconst transactionTypeFromBytes: fromBytes<TransactionType> = (val) => {\n return Uint64(encodingUtil.uint8ArrayToBigInt(asUint8Array(val))) as TransactionType\n}\n\nexport const encoders: Record<string, fromBytes<DeliberateAny>> = {\n account: AccountCls.fromBytes,\n application: ApplicationCls.fromBytes,\n asset: AssetCls.fromBytes,\n boolean: booleanFromBytes,\n biguint: bigUintFromBytes,\n bytes: bytesFromBytes,\n string: stringFromBytes,\n uint64: uint64FromBytes,\n OnCompleteAction: onCompletionFromBytes,\n TransactionType: transactionTypeFromBytes,\n ...arc4Encoders,\n}\n\nexport const getEncoder = <T>(typeInfo: TypeInfo): fromBytes<T> => {\n return getArc4Encoder<T>(typeInfo, encoders)\n}\n\nexport const toBytes = (val: unknown): bytes => {\n const uint64Val = asMaybeUint64Cls(val)\n if (uint64Val !== undefined) {\n return uint64Val.toBytes().asAlgoTs()\n }\n const bytesVal = asMaybeBytesCls(val)\n if (bytesVal !== undefined) {\n return bytesVal.asAlgoTs()\n }\n const bigUintVal = asMaybeBigUintCls(val)\n if (bigUintVal !== undefined) {\n return bigUintVal.toBytes().asAlgoTs()\n }\n if (val instanceof BytesBackedCls) {\n return val.bytes\n }\n if (val instanceof Uint64BackedCls) {\n return asUint64Cls(val.uint64).toBytes().asAlgoTs()\n }\n if (val instanceof ARC4Encoded) {\n return val.bytes\n }\n if (Array.isArray(val) || typeof val === 'object') {\n return encodeArc4Impl('', val)\n }\n throw new InternalError(`Invalid type for bytes: ${nameOfType(val)}`)\n}\n\nexport const minLengthForType = (typeInfo: TypeInfo): number => {\n const minArc4StaticLength = tryArc4EncodedLengthImpl(typeInfo)\n return minArc4StaticLength ?? 0\n}\n","import type {\n Account as AccountType,\n Application as ApplicationType,\n bytes,\n gtxn,\n op,\n uint64,\n} from '@algorandfoundation/algorand-typescript'\nimport { lazyContext } from '../context-helpers/internal-context'\nimport { asMaybeUint64Cls, asUint64 } from '../util'\nimport { Bytes, Uint64, type StubUint64Compat } from './primitives'\nimport { Account } from './reference'\n\nconst resolveAppIndex = (appIdOrIndex: StubUint64Compat): uint64 => {\n const input = asUint64(appIdOrIndex)\n if (input >= 1001) {\n return input\n }\n const txn = lazyContext.activeGroup.activeTransaction as gtxn.ApplicationCallTxn\n return txn.apps(input).id\n}\n\nexport const getApp = (app: ApplicationType | StubUint64Compat): ApplicationType | undefined => {\n try {\n const appId = asMaybeUint64Cls(app)\n if (appId !== undefined) {\n return lazyContext.ledger.getApplication(resolveAppIndex(appId))\n }\n return app as ApplicationType\n } catch {\n return undefined\n }\n}\n\nexport const AppParams: typeof op.AppParams = {\n appApprovalProgram(a: ApplicationType | StubUint64Compat): readonly [bytes, boolean] {\n const app = getApp(a)\n return app === undefined ? [Bytes(), false] : [app.approvalProgram, true]\n },\n appClearStateProgram(a: ApplicationType | StubUint64Compat): readonly [bytes, boolean] {\n const app = getApp(a)\n return app === undefined ? [Bytes(), false] : [app.clearStateProgram, true]\n },\n appGlobalNumUint(a: ApplicationType | StubUint64Compat): readonly [uint64, boolean] {\n const app = getApp(a)\n return app === undefined ? [Uint64(0), false] : [app.globalNumUint, true]\n },\n appGlobalNumByteSlice(a: ApplicationType | StubUint64Compat): readonly [uint64, boolean] {\n const app = getApp(a)\n return app === undefined ? [Uint64(0), false] : [app.globalNumBytes, true]\n },\n appLocalNumUint(a: ApplicationType | StubUint64Compat): readonly [uint64, boolean] {\n const app = getApp(a)\n return app === undefined ? [Uint64(0), false] : [app.localNumUint, true]\n },\n appLocalNumByteSlice(a: ApplicationType | StubUint64Compat): readonly [uint64, boolean] {\n const app = getApp(a)\n return app === undefined ? [Uint64(0), false] : [app.localNumBytes, true]\n },\n appExtraProgramPages(a: ApplicationType | StubUint64Compat): readonly [uint64, boolean] {\n const app = getApp(a)\n return app === undefined ? [Uint64(0), false] : [app.extraProgramPages, true]\n },\n appCreator(a: ApplicationType | StubUint64Compat): readonly [AccountType, boolean] {\n const app = getApp(a)\n return app === undefined ? [Account(), false] : [app.creator, true]\n },\n appAddress(a: ApplicationType | StubUint64Compat): readonly [AccountType, boolean] {\n const app = getApp(a)\n return app === undefined ? [Account(), false] : [app.address, true]\n },\n}\n","import type { Account as AccountType, Asset as AssetType, bytes, gtxn, op, uint64 } from '@algorandfoundation/algorand-typescript'\nimport { lazyContext } from '../context-helpers/internal-context'\nimport { asMaybeUint64Cls, asUint64 } from '../util'\nimport { Bytes, Uint64, type StubUint64Compat } from './primitives'\nimport { Account } from './reference'\n\nconst resolveAssetIndex = (assetIdOrIndex: StubUint64Compat): uint64 => {\n const input = asUint64(assetIdOrIndex)\n if (input >= 1001) {\n return input\n }\n const txn = lazyContext.activeGroup.activeTransaction as gtxn.ApplicationCallTxn\n return txn.assets(input).id\n}\n\nexport const getAsset = (asset: AssetType | StubUint64Compat): AssetType | undefined => {\n try {\n const assetId = asMaybeUint64Cls(asset)\n if (assetId !== undefined) {\n return lazyContext.ledger.getAsset(resolveAssetIndex(assetId))\n }\n return asset as AssetType\n } catch {\n return undefined\n }\n}\n\nexport const AssetParams: typeof op.AssetParams = {\n assetTotal(a: AssetType | StubUint64Compat): readonly [uint64, boolean] {\n const asset = getAsset(a)\n return asset === undefined ? [Uint64(0), false] : [asset.total, true]\n },\n assetDecimals(a: AssetType | StubUint64Compat): readonly [uint64, boolean] {\n const asset = getAsset(a)\n return asset === undefined ? [Uint64(0), false] : [asset.decimals, true]\n },\n assetDefaultFrozen(a: AssetType | StubUint64Compat): readonly [boolean, boolean] {\n const asset = getAsset(a)\n return asset === undefined ? [false, false] : [asset.defaultFrozen, true]\n },\n assetUnitName(a: AssetType | StubUint64Compat): readonly [bytes, boolean] {\n const asset = getAsset(a)\n return asset === undefined ? [Bytes(), false] : [asset.unitName, true]\n },\n assetName(a: AssetType | StubUint64Compat): readonly [bytes, boolean] {\n const asset = getAsset(a)\n return asset === undefined ? [Bytes(), false] : [asset.name, true]\n },\n assetUrl(a: AssetType | StubUint64Compat): readonly [bytes, boolean] {\n const asset = getAsset(a)\n return asset === undefined ? [Bytes(), false] : [asset.url, true]\n },\n assetMetadataHash(a: AssetType | StubUint64Compat): readonly [bytes, boolean] {\n const asset = getAsset(a)\n return asset === undefined ? [Bytes(), false] : [asset.metadataHash, true]\n },\n assetManager(a: AssetType | StubUint64Compat): readonly [AccountType, boolean] {\n const asset = getAsset(a)\n return asset === undefined ? [Account(), false] : [asset.manager, true]\n },\n assetReserve(a: AssetType | StubUint64Compat): readonly [AccountType, boolean] {\n const asset = getAsset(a)\n return asset === undefined ? [Account(), false] : [asset.reserve, true]\n },\n assetFreeze(a: AssetType | StubUint64Compat): readonly [AccountType, boolean] {\n const asset = getAsset(a)\n return asset === undefined ? [Account(), false] : [asset.freeze, true]\n },\n assetClawback(a: AssetType | StubUint64Compat): readonly [AccountType, boolean] {\n const asset = getAsset(a)\n return asset === undefined ? [Account(), false] : [asset.clawback, true]\n },\n assetCreator(a: AssetType | StubUint64Compat): readonly [AccountType, boolean] {\n const asset = getAsset(a)\n return asset === undefined ? [Account(), false] : [asset.creator, true]\n },\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -2033,6 +2033,8 @@ const getMaxLengthOfStaticContentType = (type) => {
|
|
|
2033
2033
|
case 'biguint':
|
|
2034
2034
|
return UINT512_SIZE / BITS_IN_BYTE;
|
|
2035
2035
|
case 'boolean':
|
|
2036
|
+
return 8;
|
|
2037
|
+
case 'Bool':
|
|
2036
2038
|
return 1;
|
|
2037
2039
|
case 'Address':
|
|
2038
2040
|
return AddressImpl.getMaxBytesLength(type);
|
|
@@ -2050,8 +2052,9 @@ const getMaxLengthOfStaticContentType = (type) => {
|
|
|
2050
2052
|
return TupleImpl.getMaxBytesLength(type);
|
|
2051
2053
|
case 'Struct':
|
|
2052
2054
|
return StructImpl.getMaxBytesLength(type);
|
|
2055
|
+
default:
|
|
2056
|
+
throw new CodeError(`unsupported type ${type.name}`);
|
|
2053
2057
|
}
|
|
2054
|
-
throw new CodeError(`unsupported type ${type.name}`);
|
|
2055
2058
|
};
|
|
2056
2059
|
const encode = (values) => {
|
|
2057
2060
|
const length = values.length;
|
|
@@ -2284,6 +2287,18 @@ const arc4EncodedLengthImpl = (typeInfoString) => {
|
|
|
2284
2287
|
const typeInfo = JSON.parse(typeInfoString);
|
|
2285
2288
|
return getMaxLengthOfStaticContentType(typeInfo);
|
|
2286
2289
|
};
|
|
2290
|
+
const tryArc4EncodedLengthImpl = (typeInfoString) => {
|
|
2291
|
+
const typeInfo = typeof typeInfoString === 'string' ? JSON.parse(typeInfoString) : typeInfoString;
|
|
2292
|
+
try {
|
|
2293
|
+
return getMaxLengthOfStaticContentType(typeInfo);
|
|
2294
|
+
}
|
|
2295
|
+
catch (e) {
|
|
2296
|
+
if (e instanceof CodeError && e.message.startsWith('unsupported type')) {
|
|
2297
|
+
return undefined;
|
|
2298
|
+
}
|
|
2299
|
+
throw e;
|
|
2300
|
+
}
|
|
2301
|
+
};
|
|
2287
2302
|
|
|
2288
2303
|
const sha256 = (a) => {
|
|
2289
2304
|
const bytesA = BytesCls.fromCompat(a);
|
|
@@ -2376,5 +2391,5 @@ const curveMap = {
|
|
|
2376
2391
|
[Ecdsa.Secp256r1]: 'p256',
|
|
2377
2392
|
};
|
|
2378
2393
|
|
|
2379
|
-
export { AvmError as $, AccountCls as A, BigUintCls as B, BigUint as C, MAX_BYTES_SIZE as D, Bytes as E, Account as F, getRandomBytes as G, AssetCls as H, InternalError as I, MAX_UINT512 as J, AddressImpl as K, MAX_UINT8 as L, MAX_UINT64 as M, UintNImpl as N, MAX_UINT16 as O, MAX_UINT32 as P, MAX_UINT128 as Q, MAX_UINT256 as R, DynamicBytesImpl as S, TRANSACTION_GROUP_MAX_SIZE as T, Uint64Cls as U, BITS_IN_BYTE as V, StrImpl as W, BaseContract as X, ContextManager as Y, DEFAULT_TEMPLATE_VAR_PREFIX as Z, AssertError as _, asNumber as a,
|
|
2380
|
-
//# sourceMappingURL=crypto-
|
|
2394
|
+
export { AvmError as $, AccountCls as A, BigUintCls as B, BigUint as C, MAX_BYTES_SIZE as D, Bytes as E, Account as F, getRandomBytes as G, AssetCls as H, InternalError as I, MAX_UINT512 as J, AddressImpl as K, MAX_UINT8 as L, MAX_UINT64 as M, UintNImpl as N, MAX_UINT16 as O, MAX_UINT32 as P, MAX_UINT128 as Q, MAX_UINT256 as R, DynamicBytesImpl as S, TRANSACTION_GROUP_MAX_SIZE as T, Uint64Cls as U, BITS_IN_BYTE as V, StrImpl as W, BaseContract as X, ContextManager as Y, DEFAULT_TEMPLATE_VAR_PREFIX as Z, AssertError as _, asNumber as a, binaryStringToBytes as a$, CodeError as a0, NotImplementedError as a1, toExternalValue as a2, assert as a3, BytesBackedCls as a4, Uint64BackedCls as a5, asMaybeBigUintCls as a6, contract as a7, err as a8, sha512_256 as a9, StructImpl as aA, StaticBytesImpl as aB, interpretAsArc4Impl as aC, arc4Encoders as aD, getArc4Encoder as aE, EllipticCurve as aF, ecdsaPkDecompress as aG, ecdsaPkRecover as aH, ecdsaVerify as aI, ed25519verify as aJ, ed25519verifyBare as aK, keccak256 as aL, mimc as aM, sha256 as aN, sha3_256 as aO, vrfVerify as aP, getApplicationAddress as aQ, getObjectReference as aR, MIN_TXN_FEE as aS, DEFAULT_ACCOUNT_MIN_BALANCE as aT, DEFAULT_MAX_TXN_LIFE as aU, ZERO_ADDRESS as aV, DEFAULT_ASSET_CREATE_MIN_BALANCE as aW, DEFAULT_ASSET_OPT_IN_MIN_BALANCE as aX, DEFAULT_GLOBAL_GENESIS_HASH as aY, asBigUint as aZ, isUint64 as a_, combineIntoMaxBytePages as aa, MAX_ITEMS_IN_LOG as ab, tryArc4EncodedLengthImpl as ac, asBytesCls as ad, MAX_BOX_SIZE as ae, conactUint8Arrays as af, getArc4Encoded as ag, BytesMap as ah, ContractOptionsSymbol as ai, encodeArc4Impl as aj, asApplication as ak, asAsset as al, asAccount as am, getArc4TypeName as an, nameOfType as ao, checkBigUint as ap, checkBytes as aq, flattenAsBytes as ar, arc4EncodedLengthImpl as as, decodeArc4Impl as at, UFixedNxMImpl as au, ByteImpl as av, BoolImpl as aw, StaticArrayImpl as ax, DynamicArrayImpl as ay, TupleImpl as az, BytesCls as b, UINT64_SIZE as b0, AlgoTsPrimitiveCls as c, Uint64Map as d, AccountMap as e, asBytes as f, Asset as g, asUint64 as h, iterBigInt as i, Application as j, asMaybeUint64Cls as k, asUint64Cls as l, AssetHolding as m, AccountData as n, ApplicationData as o, getDefaultAssetData as p, asBigInt as q, asMaybeBytesCls as r, asUint8Array as s, ApplicationCls as t, ABI_RETURN_VALUE_LOG_PREFIX as u, lazyContext as v, invariant as w, Uint64 as x, getRandomBigInt as y, asBigUintCls as z };
|
|
2395
|
+
//# sourceMappingURL=crypto-wQ1zfMd5.js.map
|