@algorandfoundation/puya-ts 1.2.0-beta.4 → 1.2.0-beta.40

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.
Files changed (111) hide show
  1. package/README.md +7 -5
  2. package/{analyser-service-_vXhzOY0.js → analyser-service-D0IsFlp4.js} +409 -372
  3. package/analyser-service-D0IsFlp4.js.map +1 -0
  4. package/analyserService.mjs +7 -6
  5. package/analyserService.mjs.map +1 -1
  6. package/arc4-clientgen-BMCeFyNd.js +324 -0
  7. package/arc4-clientgen-BMCeFyNd.js.map +1 -0
  8. package/arc4-clientgen.d.ts +6 -0
  9. package/awst/intrinsic-factory.d.ts +4 -2
  10. package/awst/json-serialize-awst.d.ts +0 -1
  11. package/awst/node-factory.d.ts +1 -0
  12. package/awst/nodes.d.ts +26 -15
  13. package/awst/source-location.d.ts +0 -1
  14. package/awst/to-code-visitor.d.ts +3 -2
  15. package/awst/validation/arc4-approval-calls-router.d.ts +1 -1
  16. package/awst/validation/{awst-traverser.d.ts → function-traverser.d.ts} +4 -10
  17. package/awst/wtypes.d.ts +47 -45
  18. package/awst_build/arc4-util.d.ts +1 -38
  19. package/awst_build/ast-visitors/base-visitor.d.ts +0 -1
  20. package/awst_build/ast-visitors/class-definition-visitor.d.ts +721 -1
  21. package/awst_build/ast-visitors/contract-method-visitor.d.ts +3 -5
  22. package/awst_build/ast-visitors/function-visitor.d.ts +721 -1
  23. package/awst_build/ast-visitors/text-visitor.d.ts +721 -1
  24. package/awst_build/context/awst-build-context.d.ts +1 -1
  25. package/awst_build/eb/arc28/arc-28-emit-function-builder.d.ts +1 -2
  26. package/awst_build/eb/arc4/arrays.d.ts +2 -1
  27. package/awst_build/eb/arc4/c2c.d.ts +0 -17
  28. package/awst_build/eb/arc4/uintn.d.ts +1 -1
  29. package/awst_build/eb/arc4/util.d.ts +1 -0
  30. package/awst_build/eb/array-like/arrays.d.ts +3 -2
  31. package/awst_build/eb/array-like/util.d.ts +0 -1
  32. package/awst_build/eb/bytes-expression-builder.d.ts +0 -28
  33. package/awst_build/eb/contract-builder.d.ts +0 -11
  34. package/awst_build/eb/index.d.ts +0 -2
  35. package/awst_build/eb/literal/object-literal-expression-builder.d.ts +8 -4
  36. package/awst_build/eb/logged-error-builder.d.ts +11 -0
  37. package/awst_build/eb/objects/util.d.ts +0 -2
  38. package/awst_build/eb/op-module-builder.d.ts +0 -3
  39. package/awst_build/eb/storage/box/box.d.ts +1 -21
  40. package/awst_build/eb/storage/global-map.d.ts +21 -0
  41. package/awst_build/eb/storage/local-map.d.ts +21 -0
  42. package/awst_build/eb/string-expression-builder.d.ts +0 -6
  43. package/awst_build/eb/util/resolve-compat-builder.d.ts +0 -8
  44. package/awst_build/models/decorator-data.d.ts +1 -0
  45. package/awst_build/op-metadata.d.ts +4 -3
  46. package/awst_build/ptypes/arc4-types.d.ts +11 -7
  47. package/awst_build/ptypes/base.d.ts +5 -0
  48. package/awst_build/ptypes/for-export.d.ts +0 -1
  49. package/awst_build/ptypes/index.d.ts +103 -100
  50. package/awst_build/ptypes/util.d.ts +2 -2
  51. package/awst_build/ptypes/visitor.d.ts +3 -1
  52. package/awst_build/ptypes/visitors/default-visitor.d.ts +3 -1
  53. package/awst_build/ptypes/visitors/index-type-visitor.d.ts +0 -31
  54. package/awst_build/type-resolver.d.ts +1 -1
  55. package/bin/puyats-clientgen.d.ts +2 -0
  56. package/bin/puyats-clientgen.mjs +101 -0
  57. package/bin/puyats-clientgen.mjs.map +1 -0
  58. package/bin/puyats-ls.mjs +24 -49
  59. package/bin/puyats-ls.mjs.map +1 -1
  60. package/bin/run-cli.mjs +19 -13
  61. package/bin/run-cli.mjs.map +1 -1
  62. package/{check-node-version-CNvxI8_l.js → check-node-version-BP_a9Mv8.js} +3 -3
  63. package/{check-node-version-CNvxI8_l.js.map → check-node-version-BP_a9Mv8.js.map} +1 -1
  64. package/cli/build-command.d.ts +2 -0
  65. package/cli-ls.d.ts +1 -1
  66. package/cli.d.ts +1 -1
  67. package/cli.mjs +39 -79
  68. package/cli.mjs.map +1 -1
  69. package/clientgen.d.ts +1 -0
  70. package/code-fix/{invalid-non-null-assertion.d.ts → no-op-non-null-assertion.d.ts} +1 -1
  71. package/{compile-Bz8LVwK2.js → compile-BaYaEC1Y.js} +11 -4
  72. package/compile-BaYaEC1Y.js.map +1 -0
  73. package/compile.d.ts +1 -1
  74. package/constants.d.ts +7 -2
  75. package/contract-class-model-pgJctz5F.js +5456 -0
  76. package/contract-class-model-pgJctz5F.js.map +1 -0
  77. package/errors.d.ts +1 -6
  78. package/index.d.ts +1 -2
  79. package/index.mjs +36 -26
  80. package/index.mjs.map +1 -1
  81. package/language-server/analyser-service.d.ts +0 -1
  82. package/language-server/compile-trigger-queue.d.ts +2 -2
  83. package/language-server/puya-language-server.d.ts +0 -38
  84. package/logger/index.d.ts +0 -7
  85. package/{options-COFRHTFQ.js → options-8bOJR8qx.js} +2776 -8517
  86. package/options-8bOJR8qx.js.map +1 -0
  87. package/options.d.ts +8 -3
  88. package/package.json +20 -12
  89. package/puya/check-puya-version.d.ts +0 -13
  90. package/puya/index.d.ts +1 -1
  91. package/puya/log-deserializer.d.ts +0 -2
  92. package/puya/puya-service.d.ts +5 -1
  93. package/{resolve-puya-path-DtTAMi0Y.js → resolve-puya-path-EZBzWIlE.js} +9 -45
  94. package/resolve-puya-path-EZBzWIlE.js.map +1 -0
  95. package/semver-DpFo0aCr.js +45 -0
  96. package/semver-DpFo0aCr.js.map +1 -0
  97. package/util/base-85.d.ts +1 -4
  98. package/util/generate-temp-file.d.ts +0 -8
  99. package/util/index.d.ts +1 -3
  100. package/util/typed-message-port.d.ts +2 -2
  101. package/util-JPoBh0Op.js +63 -0
  102. package/util-JPoBh0Op.js.map +1 -0
  103. package/visitor/syntax-names.d.ts +194 -194
  104. package/visitor/visitor.d.ts +4 -4
  105. package/analyser-service-_vXhzOY0.js.map +0 -1
  106. package/compile-Bz8LVwK2.js.map +0 -1
  107. package/language-server/ls-logger.d.ts +0 -11
  108. package/options-COFRHTFQ.js.map +0 -1
  109. package/resolve-puya-path-DtTAMi0Y.js.map +0 -1
  110. package/util/arc4-signature-parser.d.ts +0 -14
  111. package/util/polyfills.d.ts +0 -1
@@ -2,6 +2,7 @@ import ts from 'typescript';
2
2
  import type { ContractReference, LogicSigReference } from '../../awst/models';
3
3
  import type { AppStorageDefinition, ARC4MethodConfig } from '../../awst/nodes';
4
4
  import { SourceLocation } from '../../awst/source-location';
5
+ import type { CompileOptions } from '../../options';
5
6
  import type { InstanceBuilder, NodeBuilder } from '../eb';
6
7
  import type { AppStorageDeclaration } from '../models/app-storage-declaration';
7
8
  import type { ContractClassModel } from '../models/contract-class-model';
@@ -11,7 +12,6 @@ import type { ContractClassPType, PType } from '../ptypes';
11
12
  import type { SymbolName } from '../symbol-name';
12
13
  import { EvaluationContext } from './evaluation-context';
13
14
  import { SwitchLoopContext } from './switch-loop-context';
14
- import type { CompileOptions } from '../../options';
15
15
  export type BuildAwstOptions = Pick<CompileOptions, 'filePaths' | 'outputAwst' | 'outputAwstJson' | 'validateAbiReturn'>;
16
16
  export declare abstract class AwstBuildContext {
17
17
  /**
@@ -1,11 +1,10 @@
1
1
  import type ts from 'typescript';
2
- import { SourceLocation } from '../../../awst/source-location';
2
+ import type { SourceLocation } from '../../../awst/source-location';
3
3
  import type { PType } from '../../ptypes';
4
4
  import type { NodeBuilder } from '../index';
5
5
  import { FunctionBuilder } from '../index';
6
6
  export declare class Arc28EmitFunctionBuilder extends FunctionBuilder {
7
7
  readonly ptype: import("../../ptypes").LibFunctionType;
8
- private encode;
9
8
  private resolvePropertyValue;
10
9
  call(args: ReadonlyArray<NodeBuilder>, typeArgs: ReadonlyArray<PType>, sourceLocation: SourceLocation<ts.CallExpression>): NodeBuilder;
11
10
  }
@@ -25,7 +25,7 @@ export declare class DynamicBytesClassBuilder extends ClassBuilder {
25
25
  readonly ptype: import("../../ptypes").LibClassType;
26
26
  newCall(args: ReadonlyArray<NodeBuilder>, typeArgs: ReadonlyArray<PType>, sourceLocation: SourceLocation): InstanceBuilder;
27
27
  }
28
- export declare abstract class ArrayExpressionBuilder<TArrayType extends DynamicArrayType | StaticArrayType> extends Arc4EncodedBaseExpressionBuilder<TArrayType> {
28
+ declare abstract class ArrayExpressionBuilder<TArrayType extends DynamicArrayType | StaticArrayType> extends Arc4EncodedBaseExpressionBuilder<TArrayType> {
29
29
  iterate(): Expression;
30
30
  indexAccess(index: InstanceBuilder | bigint, sourceLocation: SourceLocation): NodeBuilder;
31
31
  memberAccess(name: string, sourceLocation: SourceLocation): NodeBuilder;
@@ -46,3 +46,4 @@ export declare class AddressExpressionBuilder extends ArrayExpressionBuilder<Sta
46
46
  constructor(expr: Expression, ptype: PType);
47
47
  memberAccess(name: string, sourceLocation: SourceLocation): NodeBuilder;
48
48
  }
49
+ export {};
@@ -19,23 +19,6 @@ export declare class ContractProxyExpressionBuilder extends InstanceExpressionBu
19
19
  constructor(expr: Expression, ptype: PType);
20
20
  memberAccess(name: string, sourceLocation: SourceLocation): NodeBuilder;
21
21
  }
22
- export declare class ContractProxyBareCreateFunctionBuilder extends FunctionBuilder {
23
- private readonly proxy;
24
- constructor(proxy: ContractProxyExpressionBuilder, sourceLocation: SourceLocation);
25
- call(args: ReadonlyArray<NodeBuilder>, typeArgs: ReadonlyArray<PType>, sourceLocation: SourceLocation<ts.CallExpression>): NodeBuilder;
26
- }
27
- export declare class ContractProxyCallBuilder extends NodeBuilder {
28
- private readonly proxy;
29
- readonly ptype: undefined;
30
- constructor(proxy: ContractProxyExpressionBuilder, sourceLocation: SourceLocation);
31
- memberAccess(name: string, sourceLocation: SourceLocation): NodeBuilder;
32
- }
33
- export declare class ContractProxyCallFunctionBuilder extends FunctionBuilder {
34
- private readonly proxy;
35
- private readonly functionType;
36
- constructor(proxy: ContractProxyExpressionBuilder, functionType: FunctionPType, sourceLocation: SourceLocation);
37
- call(args: ReadonlyArray<NodeBuilder>, typeArgs: ReadonlyArray<PType>, sourceLocation: SourceLocation<ts.CallExpression>): NodeBuilder;
38
- }
39
22
  export declare function buildApplicationCallTxnFields({ sourceLocation, fields, arc4Config, applicationProxy, methodSelector, functionType, }: {
40
23
  applicationProxy?: InstanceBuilder;
41
24
  fields?: InstanceBuilder;
@@ -15,7 +15,7 @@ export declare const classBuilderForUintNAlias: (aliasClass: LibClassType, alias
15
15
  newCall(args: ReadonlyArray<NodeBuilder>, typeArgs: ReadonlyArray<PType>, sourceLocation: SourceLocation): InstanceBuilder;
16
16
  call(args: ReadonlyArray<NodeBuilder>, typeArgs: ReadonlyArray<PType>, sourceLocation: SourceLocation<import("typescript").CallExpression>): NodeBuilder;
17
17
  readonly sourceLocation: SourceLocation;
18
- readonly typeDescription: string;
18
+ get typeDescription(): string;
19
19
  taggedTemplate(head: string, spans: ReadonlyArray<readonly [InstanceBuilder, string]>, typeArgs: ReadonlyArray<PType>, sourceLocation: SourceLocation): InstanceBuilder;
20
20
  hasProperty(_name: string): boolean;
21
21
  memberAccess(name: string, sourceLocation: SourceLocation): NodeBuilder;
@@ -21,6 +21,7 @@ export declare class MethodSelectorFunctionBuilder extends FunctionBuilder {
21
21
  readonly ptype: import("../../ptypes").LibFunctionType;
22
22
  call(args: ReadonlyArray<NodeBuilder>, typeArgs: ReadonlyArray<PType>, sourceLocation: SourceLocation<ts.CallExpression>): NodeBuilder;
23
23
  }
24
+ export declare const validateEncodingMap: Record<string, boolean>;
24
25
  export declare class SizeOfFunctionBuilder extends FunctionBuilder {
25
26
  readonly ptype: import("../../ptypes").LibFunctionType;
26
27
  call(args: ReadonlyArray<NodeBuilder>, typeArgs: ReadonlyArray<PType>, sourceLocation: SourceLocation<ts.CallExpression>): NodeBuilder;
@@ -4,12 +4,12 @@ import type { PType, PTypeOrClass } from '../../ptypes';
4
4
  import { ArrayPType, FixedArrayPType, ReadonlyArrayPType } from '../../ptypes';
5
5
  import type { InstanceBuilder, NodeBuilder } from '../index';
6
6
  import { ClassBuilder, InstanceExpressionBuilder } from '../index';
7
- export type NativeArrayLike = FixedArrayPType | ReadonlyArrayPType | ArrayPType;
7
+ type NativeArrayLike = FixedArrayPType | ReadonlyArrayPType | ArrayPType;
8
8
  export declare class NativeArrayClassBuilder extends ClassBuilder {
9
9
  readonly ptype: import("../../ptypes").GenericPType<ArrayPType>;
10
10
  newCall(args: ReadonlyArray<NodeBuilder>, typeArgs: ReadonlyArray<PType>, sourceLocation: SourceLocation): InstanceBuilder;
11
11
  }
12
- export declare class NativeArrayLikeExpressionBuilder<T extends NativeArrayLike = NativeArrayLike> extends InstanceExpressionBuilder<T> {
12
+ declare class NativeArrayLikeExpressionBuilder<T extends NativeArrayLike = NativeArrayLike> extends InstanceExpressionBuilder<T> {
13
13
  iterate(sourceLocation: SourceLocation): Expression;
14
14
  indexAccess(index: InstanceBuilder | bigint, sourceLocation: SourceLocation): NodeBuilder;
15
15
  protected requireMutable(method: string, sourceLocation: SourceLocation): void;
@@ -33,3 +33,4 @@ export declare class FixedArrayExpressionBuilder extends NativeArrayLikeExpressi
33
33
  export declare class ReadonlyArrayExpressionBuilder extends NativeArrayLikeExpressionBuilder<ReadonlyArrayPType> {
34
34
  constructor(expr: Expression, ptype: PType);
35
35
  }
36
+ export {};
@@ -3,4 +3,3 @@ import { MutableTuplePType } from '../../ptypes';
3
3
  import type { InstanceBuilder } from '../index';
4
4
  export declare function newArray(ptype: ArrayPType | ReadonlyArrayPType, valueProvider: InstanceBuilder): import("../../../awst/nodes").NewArray;
5
5
  export declare function newTuple(ptype: MutableTuplePType | ReadonlyTuplePType | ArrayLiteralPType, valueProvider: InstanceBuilder): import("../../../awst/nodes").VoidConstant | import("../../../awst/nodes").ARC4Encode | import("../../../awst/nodes").TupleExpression;
6
- export declare function newArrayOrTuple(ptype: ArrayPType | ReadonlyArrayPType | MutableTuplePType | ReadonlyTuplePType | ArrayLiteralPType, valueProvider: InstanceBuilder): import("../../../awst/nodes").VoidConstant | import("../../../awst/nodes").ARC4Encode | import("../../../awst/nodes").TupleExpression | import("../../../awst/nodes").NewArray;
@@ -1,7 +1,6 @@
1
1
  import type ts from 'typescript';
2
2
  import { type awst } from '../../awst';
3
3
  import type { Expression } from '../../awst/nodes';
4
- import { BytesBinaryOperator } from '../../awst/nodes';
5
4
  import type { SourceLocation } from '../../awst/source-location';
6
5
  import type { PType, PTypeOrClass } from '../ptypes';
7
6
  import { BytesPType } from '../ptypes';
@@ -25,30 +24,3 @@ export declare class BytesExpressionBuilder extends InstanceExpressionBuilder<By
25
24
  resolvableToPType(ptype: PTypeOrClass): ptype is BytesPType;
26
25
  resolveToPType(ptype: PTypeOrClass): InstanceBuilder;
27
26
  }
28
- export declare class ConcatFunctionBuilder extends FunctionBuilder {
29
- private builder;
30
- constructor(builder: BytesExpressionBuilder);
31
- call(args: ReadonlyArray<NodeBuilder>, typeArgs: ReadonlyArray<PType>, sourceLocation: SourceLocation<ts.CallExpression>): NodeBuilder;
32
- }
33
- export declare function bytesToFixed(builder: InstanceBuilder, fixedType: BytesPType, sourceLocation: SourceLocation, strategy?: 'assert-length' | 'unsafe-cast'): InstanceBuilder;
34
- export declare class ToFixedLengthFunctionBuilder extends FunctionBuilder {
35
- private builder;
36
- constructor(builder: BytesExpressionBuilder);
37
- call(args: ReadonlyArray<NodeBuilder>, typeArgs: ReadonlyArray<PType>, sourceLocation: SourceLocation<ts.CallExpression>): NodeBuilder;
38
- }
39
- export declare class BytesInvertBuilder extends FunctionBuilder {
40
- private builder;
41
- constructor(builder: BytesExpressionBuilder);
42
- call(args: ReadonlyArray<NodeBuilder>, typeArgs: ReadonlyArray<PType>, sourceLocation: SourceLocation<ts.CallExpression>): NodeBuilder;
43
- }
44
- export declare class BitwiseOpFunctionBuilder extends FunctionBuilder {
45
- private left;
46
- private op;
47
- constructor(left: BytesExpressionBuilder, op: BytesBinaryOperator);
48
- call(args: ReadonlyArray<NodeBuilder>, typeArgs: ReadonlyArray<PType>, sourceLocation: SourceLocation<ts.CallExpression>): NodeBuilder;
49
- }
50
- export declare class ToStringBuilder extends FunctionBuilder {
51
- private builder;
52
- constructor(builder: BytesExpressionBuilder);
53
- call(args: ReadonlyArray<NodeBuilder>, typeArgs: ReadonlyArray<PType>, sourceLocation: SourceLocation<ts.CallExpression>): NodeBuilder;
54
- }
@@ -25,17 +25,6 @@ export declare class ContractSuperBuilder extends ContractThisBuilder {
25
25
  call(args: ReadonlyArray<NodeBuilder>, typeArgs: ReadonlyArray<PType>, sourceLocation: SourceLocation<ts.CallExpression>): NodeBuilder;
26
26
  memberAccess(name: string, sourceLocation: SourceLocation): NodeBuilder;
27
27
  }
28
- /**
29
- * Matches polytype's super.class(SomeType) expression
30
- */
31
- export declare class PolytypeExplicitClassAccessExpressionBuilder extends InstanceBuilder {
32
- readonly ptype: ContractClassPType;
33
- readonly isConstant = false;
34
- resolve(): Expression;
35
- resolveLValue(): LValue;
36
- constructor(ptype: ContractClassPType, sourceLocation: SourceLocation);
37
- memberAccess(name: string, sourceLocation: SourceLocation): NodeBuilder;
38
- }
39
28
  export declare class ContractClassBuilder extends InstanceBuilder {
40
29
  readonly isConstant = false;
41
30
  resolve(): Expression;
@@ -117,7 +117,6 @@ export declare abstract class ClassBuilder extends NodeBuilder {
117
117
  }
118
118
  export declare abstract class FunctionBuilder extends NodeBuilder {
119
119
  readonly ptype: PType | undefined;
120
- constructor(location: SourceLocation);
121
120
  abstract call(args: ReadonlyArray<NodeBuilder>, typeArgs: ReadonlyArray<PType>, sourceLocation: SourceLocation<ts.CallExpression>): NodeBuilder;
122
121
  }
123
122
  export declare abstract class InstanceExpressionBuilder<TPType extends PType> extends InstanceBuilder<PType> {
@@ -131,7 +130,6 @@ export declare abstract class InstanceExpressionBuilder<TPType extends PType> ex
131
130
  checkForUnclonedMutables(scenario: string): boolean;
132
131
  }
133
132
  export declare function isReferableExpression(expr: awst.Expression): boolean;
134
- export declare function requireLValue(expr: awst.Expression): awst.LValue;
135
133
  export declare class DecoratorDataBuilder extends NodeBuilder {
136
134
  private readonly data;
137
135
  readonly ptype: PType | undefined;
@@ -4,21 +4,25 @@ import type { ImmutableObjectPType, MutableObjectPType, PTypeOrClass } from '../
4
4
  import { ObjectLiteralPType } from '../../ptypes';
5
5
  import type { InstanceBuilder, NodeBuilder } from '../index';
6
6
  import { LiteralExpressionBuilder } from '../literal-expression-builder';
7
- export type ObjectLiteralParts = {
7
+ export type ObjectLiteralPart = {
8
8
  type: 'properties';
9
- properties: Record<string, InstanceBuilder>;
9
+ property: ObjectLiteralBinding;
10
10
  } | {
11
11
  type: 'spread-object';
12
12
  obj: InstanceBuilder;
13
13
  spreadLocation: SourceLocation;
14
14
  };
15
+ export type ObjectLiteralBinding = {
16
+ name: string;
17
+ target: InstanceBuilder;
18
+ };
15
19
  export declare class ObjectLiteralExpressionBuilder extends LiteralExpressionBuilder {
16
20
  readonly ptype: ObjectLiteralPType;
17
21
  private readonly propertyToItemMap;
18
- private readonly items;
22
+ readonly bindings: ReadonlyArray<ObjectLiteralBinding>;
19
23
  private readonly isSingleEval;
20
24
  readonly isConstant = false;
21
- static fromParts(sourceLocation: SourceLocation, parts: ObjectLiteralParts[]): ObjectLiteralExpressionBuilder;
25
+ static fromParts(sourceLocation: SourceLocation, parts: ObjectLiteralPart[]): ObjectLiteralExpressionBuilder;
22
26
  private constructor();
23
27
  singleEvaluation(): InstanceBuilder;
24
28
  resolve(): Expression;
@@ -0,0 +1,11 @@
1
+ import type ts from 'typescript';
2
+ import type { SourceLocation } from '../../awst/source-location';
3
+ import type { PType } from '../ptypes';
4
+ import type { NodeBuilder } from './index';
5
+ import { FunctionBuilder } from './index';
6
+ export declare class LoggedAssertFunctionBuilder extends FunctionBuilder {
7
+ call(args: ReadonlyArray<NodeBuilder>, typeArgs: ReadonlyArray<PType>, sourceLocation: SourceLocation<ts.CallExpression>): NodeBuilder;
8
+ }
9
+ export declare class LoggedErrFunctionBuilder extends FunctionBuilder {
10
+ call(args: ReadonlyArray<NodeBuilder>, typeArgs: ReadonlyArray<PType>, sourceLocation: SourceLocation<ts.CallExpression>): NodeBuilder;
11
+ }
@@ -2,6 +2,4 @@ import type { NewStruct, TupleExpression } from '../../../awst/nodes';
2
2
  import type { ImmutableObjectPType, ObjectLiteralPType } from '../../ptypes';
3
3
  import { MutableObjectPType } from '../../ptypes';
4
4
  import type { InstanceBuilder } from '../index';
5
- export declare function createStruct(ptype: MutableObjectPType, valueProvider: InstanceBuilder): NewStruct;
6
- export declare function createNamedTuple(ptype: ImmutableObjectPType | ObjectLiteralPType, valueProvider: InstanceBuilder): TupleExpression;
7
5
  export declare function createObject(ptype: ImmutableObjectPType | ObjectLiteralPType | MutableObjectPType, valueProvider: InstanceBuilder): TupleExpression | NewStruct;
@@ -28,9 +28,6 @@ export declare class FreeIntrinsicOpBuilder extends IntrinsicOpBuilderBase {
28
28
  readonly ptype: IntrinsicFunctionType;
29
29
  constructor(sourceLocation: SourceLocation, ptype: PType);
30
30
  }
31
- export declare class GroupedIntrinsicOpBuilder extends IntrinsicOpBuilderBase {
32
- constructor(sourceLocation: SourceLocation, opMapping: IntrinsicOpMapping);
33
- }
34
31
  /**
35
32
  * Builder for expressions which have the 'type' of an intrinsic function or group but are not the singleton instance
36
33
  * imported from @algorandfoundat/algorand-typescript. This is not supported.
@@ -1,5 +1,5 @@
1
1
  import type ts from 'typescript';
2
- import type { BoxValueExpression, Expression } from '../../../../awst/nodes';
2
+ import type { Expression } from '../../../../awst/nodes';
3
3
  import type { SourceLocation } from '../../../../awst/source-location';
4
4
  import type { PType } from '../../../ptypes';
5
5
  import { BoxPType } from '../../../ptypes';
@@ -12,23 +12,3 @@ export declare class BoxExpressionBuilder extends BoxProxyExpressionBuilder<BoxP
12
12
  constructor(expr: Expression, ptype: PType);
13
13
  memberAccess(name: string, sourceLocation: SourceLocation): NodeBuilder;
14
14
  }
15
- export declare class BoxResizeFunctionBuilder extends FunctionBuilder {
16
- private boxValue;
17
- constructor(boxValue: BoxValueExpression, sourceLocation: SourceLocation);
18
- call(args: ReadonlyArray<NodeBuilder>, typeArgs: ReadonlyArray<PType>, sourceLocation: SourceLocation): NodeBuilder;
19
- }
20
- export declare class BoxExtractFunctionBuilder extends FunctionBuilder {
21
- private boxValue;
22
- constructor(boxValue: BoxValueExpression, sourceLocation: SourceLocation);
23
- call(args: ReadonlyArray<NodeBuilder>, typeArgs: ReadonlyArray<PType>, sourceLocation: SourceLocation): NodeBuilder;
24
- }
25
- export declare class BoxReplaceFunctionBuilder extends FunctionBuilder {
26
- private boxValue;
27
- constructor(boxValue: BoxValueExpression, sourceLocation: SourceLocation);
28
- call(args: ReadonlyArray<NodeBuilder>, typeArgs: ReadonlyArray<PType>, sourceLocation: SourceLocation): NodeBuilder;
29
- }
30
- export declare class BoxSpliceFunctionBuilder extends FunctionBuilder {
31
- private boxValue;
32
- constructor(boxValue: BoxValueExpression, sourceLocation: SourceLocation);
33
- call(args: ReadonlyArray<NodeBuilder>, typeArgs: ReadonlyArray<PType>, sourceLocation: SourceLocation): NodeBuilder;
34
- }
@@ -0,0 +1,21 @@
1
+ import type ts from 'typescript';
2
+ import type { Expression } from '../../../awst/nodes';
3
+ import type { SourceLocation } from '../../../awst/source-location';
4
+ import { AppStorageDeclaration } from '../../models/app-storage-declaration';
5
+ import type { ContractClassPType, PType } from '../../ptypes';
6
+ import { GlobalMapType } from '../../ptypes';
7
+ import { FunctionBuilder, InstanceExpressionBuilder, type NodeBuilder } from '../index';
8
+ export declare class GlobalMapFunctionBuilder extends FunctionBuilder {
9
+ call(args: ReadonlyArray<NodeBuilder>, typeArgs: ReadonlyArray<PType>, sourceLocation: SourceLocation<ts.CallExpression>): NodeBuilder;
10
+ }
11
+ export declare class GlobalMapExpressionBuilder extends InstanceExpressionBuilder<GlobalMapType> {
12
+ constructor(expr: Expression, ptype: PType);
13
+ call(args: ReadonlyArray<NodeBuilder>, typeArgs: ReadonlyArray<PType>, sourceLocation: SourceLocation<ts.CallExpression>): NodeBuilder;
14
+ memberAccess(name: string, sourceLocation: SourceLocation): NodeBuilder;
15
+ }
16
+ export declare class GlobalMapFunctionResultBuilder extends GlobalMapExpressionBuilder {
17
+ private readonly _keyPrefixExpr;
18
+ constructor(expr: Expression | undefined, ptype: PType, sourceLocation: SourceLocation);
19
+ resolve(): Expression;
20
+ buildStorageDeclaration(memberName: string, memberLocation: SourceLocation, memberDescription: string | null, contractType: ContractClassPType): AppStorageDeclaration;
21
+ }
@@ -0,0 +1,21 @@
1
+ import type ts from 'typescript';
2
+ import type { Expression } from '../../../awst/nodes';
3
+ import type { SourceLocation } from '../../../awst/source-location';
4
+ import { AppStorageDeclaration } from '../../models/app-storage-declaration';
5
+ import type { ContractClassPType, PType } from '../../ptypes';
6
+ import { LocalMapType } from '../../ptypes';
7
+ import { FunctionBuilder, InstanceExpressionBuilder, type NodeBuilder } from '../index';
8
+ export declare class LocalMapFunctionBuilder extends FunctionBuilder {
9
+ call(args: ReadonlyArray<NodeBuilder>, typeArgs: ReadonlyArray<PType>, sourceLocation: SourceLocation<ts.CallExpression>): NodeBuilder;
10
+ }
11
+ export declare class LocalMapExpressionBuilder extends InstanceExpressionBuilder<LocalMapType> {
12
+ constructor(expr: Expression, ptype: PType);
13
+ call(args: ReadonlyArray<NodeBuilder>, typeArgs: ReadonlyArray<PType>, sourceLocation: SourceLocation<ts.CallExpression>): NodeBuilder;
14
+ memberAccess(name: string, sourceLocation: SourceLocation): NodeBuilder;
15
+ }
16
+ export declare class LocalMapFunctionResultBuilder extends LocalMapExpressionBuilder {
17
+ private readonly _keyPrefixExpr;
18
+ constructor(expr: Expression | undefined, ptype: PType, sourceLocation: SourceLocation);
19
+ resolve(): Expression;
20
+ buildStorageDeclaration(memberName: string, memberLocation: SourceLocation, memberDescription: string | null, contractType: ContractClassPType): AppStorageDeclaration;
21
+ }
@@ -1,5 +1,4 @@
1
1
  import type ts from 'typescript';
2
- import { awst } from '../../awst';
3
2
  import type { Expression } from '../../awst/nodes';
4
3
  import type { SourceLocation } from '../../awst/source-location';
5
4
  import type { InstanceType, PType, PTypeOrClass } from '../ptypes';
@@ -22,8 +21,3 @@ export declare class StringExpressionBuilder extends InstanceExpressionBuilder<I
22
21
  toBytes(sourceLocation: SourceLocation): InstanceBuilder;
23
22
  toString(): Expression;
24
23
  }
25
- export declare class ConcatExpressionBuilder extends FunctionBuilder {
26
- private expr;
27
- constructor(expr: awst.Expression);
28
- call(args: ReadonlyArray<NodeBuilder>, typeArgs: ReadonlyArray<PType>, sourceLocation: SourceLocation<ts.CallExpression>): NodeBuilder;
29
- }
@@ -1,11 +1,3 @@
1
1
  import type { PType } from '../../ptypes';
2
2
  import type { NodeBuilder } from '../index';
3
- import { InstanceBuilder } from '../index';
4
- /**
5
- * Given a builder, attempt to resolve it to the target type converting compatible types as possible
6
- *
7
- * @param builder
8
- * @param targetType
9
- */
10
- export declare function resolveCompatBuilder(builder: NodeBuilder, targetType: PType): InstanceBuilder<PType>;
11
3
  export declare function resolveCompatExpression(builder: NodeBuilder, targetType: PType): import("../../../awst/nodes").Expression;
@@ -42,6 +42,7 @@ export type LogicSigOptionsDecoratorData = {
42
42
  avmVersion?: SupportedAvmVersion;
43
43
  name?: string;
44
44
  scratchSlots?: Set<bigint>;
45
+ validateEncoding?: boolean;
45
46
  };
46
47
  export type ContractOptionsDecoratorData = {
47
48
  type: typeof Constants.symbolNames.contractOptionsDecoratorName;
@@ -1,14 +1,14 @@
1
1
  import * as ptypes from './ptypes';
2
2
  import type { Expression } from '../awst/nodes';
3
- export type ImmediateArgMapping = {
3
+ type ImmediateArgMapping = {
4
4
  name: string;
5
5
  ptypes: ptypes.PType[];
6
6
  };
7
- export type StackArg = {
7
+ type StackArg = {
8
8
  name: string;
9
9
  ptypes: ptypes.PType[];
10
10
  };
11
- export type Signature = {
11
+ type Signature = {
12
12
  argNames: string[];
13
13
  immediateArgs: Array<ImmediateArgMapping | bigint | string>;
14
14
  stackArgs: Array<StackArg | Expression>;
@@ -25,3 +25,4 @@ export type IntrinsicOpGrouping = {
25
25
  ops: Record<string, IntrinsicOpMapping>;
26
26
  };
27
27
  export declare const OP_METADATA: Record<string, IntrinsicOpMapping | IntrinsicOpGrouping>;
28
+ export {};
@@ -1,5 +1,6 @@
1
1
  import type { SourceLocation } from '../../awst/source-location';
2
2
  import { wtypes } from '../../awst/wtypes';
3
+ import type { PTypeField } from './base';
3
4
  import { GenericPType, PType } from './base';
4
5
  import { ContractClassPType, ImmutableObjectPType, LibClassType, LibFunctionType, MutableObjectPType, ReadonlyTuplePType } from './index';
5
6
  import type { PTypeVisitor } from './visitor';
@@ -12,7 +13,7 @@ export declare const UintN128Class: LibClassType;
12
13
  export declare const UintN256Class: LibClassType;
13
14
  export declare abstract class ARC4EncodedType extends PType {
14
15
  abstract readonly wtype: wtypes.ARC4Type;
15
- abstract readonly nativeType: PType | undefined;
16
+ abstract readonly nativeType: PType;
16
17
  abstract readonly abiTypeSignature: string;
17
18
  protected static buildAbiTupleSignature(types: ARC4EncodedType[]): string;
18
19
  }
@@ -59,13 +60,16 @@ export declare class ARC4StructClass extends PType {
59
60
  static fromStructType(ptype: ARC4StructType): ARC4StructClass;
60
61
  accept<T>(visitor: PTypeVisitor<T>): T;
61
62
  }
63
+ export type ARC4StructField = PTypeField & {
64
+ ptype: ARC4EncodedType;
65
+ };
62
66
  export declare class ARC4StructType extends ARC4EncodedType {
63
67
  readonly [PType.IdSymbol] = "ARC4StructType";
64
68
  readonly name: string;
65
69
  readonly module: string;
66
70
  readonly description: string | undefined;
67
71
  readonly singleton = false;
68
- readonly fields: Record<string, ARC4EncodedType>;
72
+ readonly fields: ARC4StructField[];
69
73
  readonly sourceLocation: SourceLocation | undefined;
70
74
  readonly frozen: boolean;
71
75
  readonly abiTypeSignature: string;
@@ -74,15 +78,16 @@ export declare class ARC4StructType extends ARC4EncodedType {
74
78
  module: string;
75
79
  frozen: boolean;
76
80
  description: string | undefined;
77
- fields: Record<string, ARC4EncodedType>;
81
+ fields: ARC4StructField[];
78
82
  sourceLocation?: SourceLocation;
79
83
  });
80
84
  get nativeType(): MutableObjectPType;
81
85
  get wtype(): wtypes.ARC4Struct;
86
+ getProperty(name: string): ARC4StructField | undefined;
82
87
  accept<T>(visitor: PTypeVisitor<T>): T;
83
88
  }
84
89
  export declare const arc4StructBaseType: ARC4StructType;
85
- export declare const Arc4TupleGeneric: GenericPType<ARC4TupleType>;
90
+ export declare const ARC4TupleGeneric: GenericPType<ARC4TupleType>;
86
91
  export declare class ARC4TupleType extends ARC4EncodedType {
87
92
  readonly [PType.IdSymbol] = "ARC4TupleType";
88
93
  readonly name: string;
@@ -116,7 +121,6 @@ export declare class UintNType extends ARC4EncodedType {
116
121
  });
117
122
  accept<T>(visitor: PTypeVisitor<T>): T;
118
123
  }
119
- export declare const arc4Uint64: UintNType;
120
124
  export declare const UFixedNxMGeneric: GenericPType<UFixedNxMType>;
121
125
  export declare class UFixedNxMType extends ARC4EncodedType {
122
126
  readonly [PType.IdSymbol] = "UFixedNxMType";
@@ -187,8 +191,8 @@ export declare class StaticBytesType extends StaticArrayType {
187
191
  length: bigint;
188
192
  });
189
193
  }
190
- export declare const DynamicBytesConstructor: LibClassType;
191
- export declare const DynamicBytesType: DynamicArrayType;
194
+ export declare const DynamicBytesClass: LibClassType;
195
+ export declare const dynamicBytesType: DynamicArrayType;
192
196
  export declare const convertBytesFunction: LibFunctionType;
193
197
  export declare const encodeArc4Function: LibFunctionType;
194
198
  export declare const sizeOfFunction: LibFunctionType;
@@ -60,4 +60,9 @@ export type PTypeOrClass = PType | {
60
60
  new (...args: DeliberateAny[]): PType;
61
61
  equals(other: PType): boolean;
62
62
  };
63
+ export type PTypeField = {
64
+ name: string;
65
+ ptype: PType;
66
+ description: string | null;
67
+ };
63
68
  export {};
@@ -1,3 +1,2 @@
1
- export { ptypeToArc4EncodedType } from '../arc4-util';
2
1
  export * from './arc4-types';
3
2
  export * from './index';