@algorandfoundation/algorand-typescript-testing 1.0.0-alpha.28 → 1.0.0-alpha.29
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/abi-metadata.d.ts +3 -3
- package/{arc4-CpD5nazc.js → arc4-BYjC4AJ-.js} +25 -6
- package/arc4-BYjC4AJ-.js.map +1 -0
- package/asset-params-RLJZOv1g.js +1324 -0
- package/asset-params-RLJZOv1g.js.map +1 -0
- package/impl/base.d.ts +1 -1
- package/impl/clone.d.ts +1 -0
- package/impl/emit.d.ts +1 -1
- package/impl/encoded-types/array-proxy.d.ts +9 -0
- package/impl/encoded-types/constants.d.ts +4 -0
- package/impl/encoded-types/encoded-types.d.ts +205 -0
- package/impl/encoded-types/helpers.d.ts +28 -0
- package/impl/encoded-types/index.d.ts +3 -0
- package/impl/encoded-types/types.d.ts +21 -0
- package/impl/encoded-types/utils.d.ts +7 -0
- package/impl/ensure-budget.d.ts +1 -1
- package/impl/index.d.ts +0 -1
- package/impl/itxn-compose.d.ts +2 -2
- package/impl/match.d.ts +3 -3
- package/impl/primitives.d.ts +37 -19
- package/impl/state.d.ts +1 -1
- package/impl/template-var.d.ts +1 -1
- package/impl/urange.d.ts +1 -1
- package/index.mjs +59 -58
- package/index.mjs.map +1 -1
- package/{inner-transactions-CCHolrfI.js → inner-transactions-9Gd-ixgB.js} +32 -16
- package/inner-transactions-9Gd-ixgB.js.map +1 -0
- package/internal/arc4.d.ts +1 -0
- package/internal/arc4.mjs +7 -7
- package/internal/index.d.ts +6 -5
- package/internal/index.mjs +69 -110
- package/internal/index.mjs.map +1 -1
- package/internal/op.mjs +8 -8
- package/{op-DPCWaAow.js → op-B3R2dQEa.js} +5 -4
- package/op-B3R2dQEa.js.map +1 -0
- package/package.json +3 -4
- package/{program-factory-DJBA5sDn.js → program-factory-uMIOf0UZ.js} +116 -58
- package/program-factory-uMIOf0UZ.js.map +1 -0
- package/{pure--bthQrOR.js → pure-4m0o0eKt.js} +4 -3
- package/{pure--bthQrOR.js.map → pure-4m0o0eKt.js.map} +1 -1
- package/{runtime-helpers-DetvL6IX.js → runtime-helpers-DoDd8Yn6.js} +6 -82
- package/runtime-helpers-DoDd8Yn6.js.map +1 -0
- package/runtime-helpers.d.ts +3 -5
- package/runtime-helpers.mjs +3 -9
- package/runtime-helpers.mjs.map +1 -1
- package/subcontexts/contract-context.d.ts +2 -1
- package/subcontexts/transaction-context.d.ts +2 -2
- package/test-transformer/jest-transformer.mjs +2 -2
- package/test-transformer/jest-transformer.mjs.map +1 -1
- package/test-transformer/node-factory.d.ts +5 -4
- package/test-transformer/vitest-transformer.mjs +2 -2
- package/test-transformer/vitest-transformer.mjs.map +1 -1
- package/typescript-helpers-sobuICoc.js +70 -0
- package/typescript-helpers-sobuICoc.js.map +1 -0
- package/util.d.ts +0 -1
- package/utils-DFDk1QqV.js +1465 -0
- package/utils-DFDk1QqV.js.map +1 -0
- package/value-generators/arc4.d.ts +21 -21
- package/arc4-CpD5nazc.js.map +0 -1
- package/asset-params-KGSWLcH2.js +0 -212
- package/asset-params-KGSWLcH2.js.map +0 -1
- package/crypto-CVMAVA34.js +0 -2450
- package/crypto-CVMAVA34.js.map +0 -1
- package/encoders.d.ts +0 -12
- package/impl/encoded-types.d.ts +0 -192
- package/impl/mutable-array.d.ts +0 -42
- package/inner-transactions-CCHolrfI.js.map +0 -1
- package/op-DPCWaAow.js.map +0 -1
- package/program-factory-DJBA5sDn.js.map +0 -1
- package/runtime-helpers-DetvL6IX.js.map +0 -1
- package/typescript-helpers-CAukFXpp.js +0 -18
- package/typescript-helpers-CAukFXpp.js.map +0 -1
package/abi-metadata.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type { OnCompleteActionStr } from '@algorandfoundation/algorand-typescript';
|
|
2
|
-
import type { CreateOptions } from '@algorandfoundation/algorand-typescript/arc4';
|
|
1
|
+
import type { arc4, OnCompleteActionStr } from '@algorandfoundation/algorand-typescript';
|
|
3
2
|
import { Contract } from './impl/contract';
|
|
4
3
|
export interface AbiMetadata {
|
|
5
4
|
methodName: string;
|
|
@@ -7,8 +6,9 @@ export interface AbiMetadata {
|
|
|
7
6
|
methodSignature: string | undefined;
|
|
8
7
|
argTypes: string[];
|
|
9
8
|
returnType: string;
|
|
10
|
-
onCreate?: CreateOptions;
|
|
9
|
+
onCreate?: arc4.CreateOptions;
|
|
11
10
|
allowActions?: OnCompleteActionStr[];
|
|
11
|
+
resourceEncoding?: arc4.ResourceEncodingOptions;
|
|
12
12
|
}
|
|
13
13
|
export declare const attachAbiMetadata: (contract: {
|
|
14
14
|
new (): Contract;
|
|
@@ -1,8 +1,9 @@
|
|
|
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 './
|
|
5
|
-
import { A as ApplicationCallInnerTxnContext, m as methodSelector } from './inner-transactions-
|
|
3
|
+
import { g as getContractMethodAbiMetadata, C as Contract, b as abimethod, c as baremethod } from './runtime-helpers-DoDd8Yn6.js';
|
|
4
|
+
import { v as lazyContext, a0 as arc4EncodedLength } from './utils-DFDk1QqV.js';
|
|
5
|
+
import { A as ApplicationCallInnerTxnContext, m as methodSelector } from './inner-transactions-9Gd-ixgB.js';
|
|
6
|
+
import { A as Address, B as Bool, b as Byte, c as DynamicArray, D as DynamicBytes, F as FixedArray, R as ReferenceArray, d as StaticArray, e as StaticBytes, S as Str, f as Struct, T as Tuple, h as UFixed, U as Uint, i as decodeArc4, j as encodeArc4, k as interpretAsArc4 } from './asset-params-RLJZOv1g.js';
|
|
6
7
|
|
|
7
8
|
function _mergeNamespaces(n, m) {
|
|
8
9
|
m.forEach(function (e) {
|
|
@@ -41,7 +42,7 @@ function compileArc4(contract, options) {
|
|
|
41
42
|
...getCommonApplicationCallFields(app, options),
|
|
42
43
|
onCompletion: onCompleteActions?.[0],
|
|
43
44
|
...methodArgs,
|
|
44
|
-
}, selector);
|
|
45
|
+
}, selector, abiMetadata?.resourceEncoding);
|
|
45
46
|
invokeAbiCall(itxnContext);
|
|
46
47
|
return {
|
|
47
48
|
itxn: itxnContext,
|
|
@@ -86,7 +87,7 @@ function getApplicationCallInnerTxnContext(method, methodArgs, contract) {
|
|
|
86
87
|
return ApplicationCallInnerTxnContext.createFromTypedApplicationCallFields({
|
|
87
88
|
...methodArgs,
|
|
88
89
|
onCompletion: methodArgs.onCompletion ?? abiMetadata?.allowActions?.map((action) => OnCompleteAction[action])[0],
|
|
89
|
-
}, selector);
|
|
90
|
+
}, selector, abiMetadata?.resourceEncoding);
|
|
90
91
|
}
|
|
91
92
|
function abiCall(method, methodArgs, contract) {
|
|
92
93
|
const itxnContext = getApplicationCallInnerTxnContext(method, methodArgs, contract);
|
|
@@ -99,13 +100,31 @@ function abiCall(method, methodArgs, contract) {
|
|
|
99
100
|
|
|
100
101
|
var arc4 = /*#__PURE__*/_mergeNamespaces({
|
|
101
102
|
__proto__: null,
|
|
103
|
+
Address: Address,
|
|
104
|
+
Bool: Bool,
|
|
105
|
+
Byte: Byte,
|
|
102
106
|
Contract: Contract,
|
|
107
|
+
DynamicArray: DynamicArray,
|
|
108
|
+
DynamicBytes: DynamicBytes,
|
|
109
|
+
FixedArray: FixedArray,
|
|
110
|
+
ReferenceArray: ReferenceArray,
|
|
111
|
+
StaticArray: StaticArray,
|
|
112
|
+
StaticBytes: StaticBytes,
|
|
113
|
+
Str: Str,
|
|
114
|
+
Struct: Struct,
|
|
115
|
+
Tuple: Tuple,
|
|
116
|
+
UFixed: UFixed,
|
|
117
|
+
Uint: Uint,
|
|
103
118
|
abiCall: abiCall,
|
|
104
119
|
abimethod: abimethod,
|
|
120
|
+
arc4EncodedLength: arc4EncodedLength,
|
|
105
121
|
baremethod: baremethod,
|
|
106
122
|
compileArc4: compileArc4,
|
|
123
|
+
decodeArc4: decodeArc4,
|
|
124
|
+
encodeArc4: encodeArc4,
|
|
125
|
+
interpretAsArc4: interpretAsArc4,
|
|
107
126
|
methodSelector: methodSelector
|
|
108
127
|
}, [arc4$1]);
|
|
109
128
|
|
|
110
129
|
export { arc4 as a, abiCall as b, compileArc4 as c, getApplicationCallInnerTxnContext as g };
|
|
111
|
-
//# sourceMappingURL=arc4-
|
|
130
|
+
//# sourceMappingURL=arc4-BYjC4AJ-.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arc4-BYjC4AJ-.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 abiMetadata?.resourceEncoding,\n )\n invokeAbiCall(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 invokeAbiCall(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\nexport const invokeAbiCall = (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 getApplicationCallInnerTxnContext<TArgs extends DeliberateAny[], TReturn = void>(\n method: InstanceMethod<Contract, TArgs, TReturn>,\n methodArgs: TypedApplicationCallFields<TArgs>,\n contract?: Contract | { new (): Contract },\n) {\n const abiMetadata = contract ? getContractMethodAbiMetadata(contract, method.name) : undefined\n const selector = methodSelector(method, contract)\n return ApplicationCallInnerTxnContext.createFromTypedApplicationCallFields<TReturn>(\n {\n ...methodArgs,\n onCompletion: methodArgs.onCompletion ?? abiMetadata?.allowActions?.map((action) => OnCompleteAction[action])[0],\n },\n selector,\n abiMetadata?.resourceEncoding,\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 itxnContext = getApplicationCallInnerTxnContext(method, methodArgs, contract)\n\n invokeAbiCall(itxnContext)\n\n return {\n itxn: itxnContext,\n returnValue: itxnContext.loggedReturnValue,\n }\n}\n"],"names":[],"mappings":"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"}
|