@algorandfoundation/algokit-utils 7.0.0-beta.3 → 7.0.0-beta.5

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 (170) hide show
  1. package/amount.d.ts +14 -4
  2. package/amount.d.ts.map +1 -1
  3. package/amount.js +6 -0
  4. package/amount.js.map +1 -1
  5. package/amount.mjs +6 -0
  6. package/amount.mjs.map +1 -1
  7. package/app-client.d.ts +15 -0
  8. package/app-client.d.ts.map +1 -1
  9. package/app-client.js +15 -0
  10. package/app-client.js.map +1 -1
  11. package/app-client.mjs +15 -0
  12. package/app-client.mjs.map +1 -1
  13. package/app-deploy.d.ts.map +1 -1
  14. package/app-deploy.js +4 -6
  15. package/app-deploy.js.map +1 -1
  16. package/app-deploy.mjs +5 -7
  17. package/app-deploy.mjs.map +1 -1
  18. package/app.d.ts +2 -2
  19. package/app.d.ts.map +1 -1
  20. package/app.js +7 -3
  21. package/app.js.map +1 -1
  22. package/app.mjs +7 -3
  23. package/app.mjs.map +1 -1
  24. package/asset.d.ts.map +1 -1
  25. package/asset.js +0 -3
  26. package/asset.js.map +1 -1
  27. package/asset.mjs +0 -3
  28. package/asset.mjs.map +1 -1
  29. package/debugging/debugging.d.ts +1 -1
  30. package/debugging/debugging.d.ts.map +1 -1
  31. package/debugging/debugging.js +4 -5
  32. package/debugging/debugging.js.map +1 -1
  33. package/debugging/debugging.mjs +4 -5
  34. package/debugging/debugging.mjs.map +1 -1
  35. package/index.d.ts +4 -4
  36. package/index.d.ts.map +1 -1
  37. package/index.js +37 -37
  38. package/index.mjs +5 -5
  39. package/package.json +1 -1
  40. package/testing/test-logger.d.ts.map +1 -1
  41. package/testing/test-logger.js +1 -3
  42. package/testing/test-logger.js.map +1 -1
  43. package/testing/test-logger.mjs +1 -3
  44. package/testing/test-logger.mjs.map +1 -1
  45. package/transaction/legacy-bridge.d.ts +3 -3
  46. package/transaction/legacy-bridge.d.ts.map +1 -1
  47. package/transaction/legacy-bridge.js +1 -1
  48. package/transaction/legacy-bridge.js.map +1 -1
  49. package/transaction/legacy-bridge.mjs +2 -2
  50. package/transaction/legacy-bridge.mjs.map +1 -1
  51. package/transaction/transaction.d.ts +34 -3
  52. package/transaction/transaction.d.ts.map +1 -1
  53. package/transaction/transaction.js +42 -11
  54. package/transaction/transaction.js.map +1 -1
  55. package/transaction/transaction.mjs +42 -11
  56. package/transaction/transaction.mjs.map +1 -1
  57. package/transfer/transfer.js +2 -2
  58. package/transfer/transfer.js.map +1 -1
  59. package/transfer/transfer.mjs +2 -2
  60. package/transfer/transfer.mjs.map +1 -1
  61. package/types/account-manager.d.ts +2 -2
  62. package/types/account-manager.d.ts.map +1 -1
  63. package/types/account-manager.js +1 -1
  64. package/types/account-manager.js.map +1 -1
  65. package/types/account-manager.mjs +1 -1
  66. package/types/account-manager.mjs.map +1 -1
  67. package/types/algorand-client-interface.d.ts +29 -0
  68. package/types/algorand-client-interface.d.ts.map +1 -0
  69. package/types/algorand-client-interface.js +3 -0
  70. package/types/algorand-client-interface.js.map +1 -0
  71. package/types/algorand-client-interface.mjs +2 -0
  72. package/types/algorand-client-interface.mjs.map +1 -0
  73. package/types/algorand-client-transaction-sender.d.ts +12 -12
  74. package/types/algorand-client-transaction-sender.d.ts.map +1 -1
  75. package/types/algorand-client-transaction-sender.js +22 -6
  76. package/types/algorand-client-transaction-sender.js.map +1 -1
  77. package/types/algorand-client-transaction-sender.mjs +22 -6
  78. package/types/algorand-client-transaction-sender.mjs.map +1 -1
  79. package/types/algorand-client.d.ts +2 -1
  80. package/types/algorand-client.d.ts.map +1 -1
  81. package/types/algorand-client.js +1 -1
  82. package/types/algorand-client.js.map +1 -1
  83. package/types/algorand-client.mjs +1 -1
  84. package/types/algorand-client.mjs.map +1 -1
  85. package/types/amount.d.ts +10 -10
  86. package/types/amount.d.ts.map +1 -1
  87. package/types/amount.js +7 -7
  88. package/types/amount.js.map +1 -1
  89. package/types/amount.mjs +7 -7
  90. package/types/amount.mjs.map +1 -1
  91. package/types/app-arc56.d.ts +326 -0
  92. package/types/app-arc56.d.ts.map +1 -0
  93. package/types/app-arc56.js +163 -0
  94. package/types/app-arc56.js.map +1 -0
  95. package/types/app-arc56.mjs +154 -0
  96. package/types/app-arc56.mjs.map +1 -0
  97. package/types/app-client.d.ts +1479 -7
  98. package/types/app-client.d.ts.map +1 -1
  99. package/types/app-client.js +814 -8
  100. package/types/app-client.js.map +1 -1
  101. package/types/app-client.mjs +814 -9
  102. package/types/app-client.mjs.map +1 -1
  103. package/types/app-deployer.d.ts +19 -13
  104. package/types/app-deployer.d.ts.map +1 -1
  105. package/types/app-deployer.js +2 -2
  106. package/types/app-deployer.js.map +1 -1
  107. package/types/app-deployer.mjs +2 -2
  108. package/types/app-deployer.mjs.map +1 -1
  109. package/types/app-factory.d.ts +967 -0
  110. package/types/app-factory.d.ts.map +1 -0
  111. package/types/app-factory.js +322 -0
  112. package/types/app-factory.js.map +1 -0
  113. package/types/app-factory.mjs +320 -0
  114. package/types/app-factory.mjs.map +1 -0
  115. package/types/app-manager.d.ts +12 -2
  116. package/types/app-manager.d.ts.map +1 -1
  117. package/types/app-manager.js +10 -1
  118. package/types/app-manager.js.map +1 -1
  119. package/types/app-manager.mjs +10 -1
  120. package/types/app-manager.mjs.map +1 -1
  121. package/types/app-spec.d.ts +2 -0
  122. package/types/app-spec.d.ts.map +1 -1
  123. package/types/app-spec.js +115 -0
  124. package/types/app-spec.js.map +1 -1
  125. package/types/app-spec.mjs +114 -0
  126. package/types/app-spec.mjs.map +1 -1
  127. package/types/app.d.ts +6 -2
  128. package/types/app.d.ts.map +1 -1
  129. package/types/asset-manager.d.ts +2 -1
  130. package/types/asset-manager.d.ts.map +1 -1
  131. package/types/asset-manager.js +0 -1
  132. package/types/asset-manager.js.map +1 -1
  133. package/types/asset-manager.mjs +0 -1
  134. package/types/asset-manager.mjs.map +1 -1
  135. package/types/client-manager.d.ts +109 -50
  136. package/types/client-manager.d.ts.map +1 -1
  137. package/types/client-manager.js +137 -23
  138. package/types/client-manager.js.map +1 -1
  139. package/types/client-manager.mjs +138 -24
  140. package/types/client-manager.mjs.map +1 -1
  141. package/types/composer.d.ts +31 -14
  142. package/types/composer.d.ts.map +1 -1
  143. package/types/composer.js +65 -10
  144. package/types/composer.js.map +1 -1
  145. package/types/composer.mjs +66 -11
  146. package/types/composer.mjs.map +1 -1
  147. package/types/debugging.d.ts +3 -2
  148. package/types/debugging.d.ts.map +1 -1
  149. package/types/debugging.js.map +1 -1
  150. package/types/debugging.mjs.map +1 -1
  151. package/types/dispenser-client.d.ts +1 -1
  152. package/types/dispenser-client.d.ts.map +1 -1
  153. package/types/dispenser-client.js +1 -1
  154. package/types/dispenser-client.js.map +1 -1
  155. package/types/dispenser-client.mjs +1 -1
  156. package/types/dispenser-client.mjs.map +1 -1
  157. package/types/network-client.d.ts +13 -0
  158. package/types/network-client.d.ts.map +1 -1
  159. package/types/network-client.js.map +1 -1
  160. package/types/network-client.mjs.map +1 -1
  161. package/types/testing.d.ts +3 -3
  162. package/types/testing.d.ts.map +1 -1
  163. package/types/transaction.d.ts +14 -1
  164. package/types/transaction.d.ts.map +1 -1
  165. package/util.d.ts +2 -1
  166. package/util.d.ts.map +1 -1
  167. package/util.js +11 -1
  168. package/util.js.map +1 -1
  169. package/util.mjs +11 -2
  170. package/util.mjs.map +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-factory.d.ts","sourceRoot":"","sources":["../../src/types/app-factory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,322 @@
1
+ 'use strict';
2
+
3
+ var algosdk = require('algosdk');
4
+ var types_app = require('./app.js');
5
+ var types_appArc56 = require('./app-arc56.js');
6
+ var types_appClient = require('./app-client.js');
7
+
8
+ var SourceMap = algosdk.SourceMap;
9
+ var OnApplicationComplete = algosdk.OnApplicationComplete;
10
+ /**
11
+ * ARC-56/ARC-32 app factory that, for a given app spec, allows you to create
12
+ * and deploy one or more app instances and to create one or more app clients
13
+ * to interact with those (or other) app instances.
14
+ */
15
+ class AppFactory {
16
+ constructor(params) {
17
+ this._appSpec = types_appClient.AppClient.normaliseAppSpec(params.appSpec);
18
+ this._appName = params.appName ?? this._appSpec.name;
19
+ this._algorand = params.algorand;
20
+ this._version = params.version ?? '1.0';
21
+ this._defaultSender = params.defaultSender;
22
+ this._deployTimeParams = params.deployTimeParams;
23
+ this._updatable = params.updatable;
24
+ this._deletable = params.deletable;
25
+ this._paramsMethods = this.getParamsMethods();
26
+ }
27
+ /** Get parameters to define create and deploy related calls to the current app */
28
+ get params() {
29
+ return this._paramsMethods;
30
+ }
31
+ /**
32
+ * Creates an instance of the app and returns the result of the creation
33
+ * transaction and an app client to interact with that app instance.
34
+ *
35
+ * Performs deploy-time TEAL template placeholder substitutions (if specified).
36
+ * @param params The parameters to create the app
37
+ * @returns The app client and the result of the creation transaction
38
+ */
39
+ async create(params) {
40
+ const updatable = params?.updatable ?? this._updatable;
41
+ const deletable = params?.deletable ?? this._deletable;
42
+ const deployTimeParams = params?.deployTimeParams ?? this._deployTimeParams;
43
+ const compiled = await this.compile({ deployTimeParams, updatable, deletable });
44
+ const result = await this.handleCallErrors(async () => params && 'method' in params
45
+ ? this.parseMethodCallReturn(this._algorand.send.appCreateMethodCall(await this.params.create({ ...params, updatable, deletable, deployTimeParams })), types_appArc56.getArc56Method(params.method, this._appSpec))
46
+ : {
47
+ ...(await this._algorand.send.appCreate(await this.params.bare.create({ ...params, updatable, deletable, deployTimeParams }))),
48
+ return: undefined,
49
+ });
50
+ return {
51
+ app: this.getAppClientById({
52
+ appId: result.appId,
53
+ }),
54
+ result: {
55
+ ...result,
56
+ ...compiled,
57
+ },
58
+ };
59
+ }
60
+ /**
61
+ * Idempotently deploy (create if not exists, update if changed) an app against the given name for the given creator account, including deploy-time TEAL template placeholder substitutions (if specified).
62
+ *
63
+ * **Note:** When using the return from this function be sure to check `operationPerformed` to get access to various return properties like `transaction`, `confirmation` and `deleteResult`.
64
+ *
65
+ * **Note:** if there is a breaking state schema change to an existing app (and `onSchemaBreak` is set to `'replace'`) the existing app will be deleted and re-created.
66
+ *
67
+ * **Note:** if there is an update (different TEAL code) to an existing app (and `onUpdate` is set to `'replace'`) the existing app will be deleted and re-created.
68
+ * @param params The arguments to control the app deployment
69
+ * @returns The app client and the result of the deployment
70
+ */
71
+ async deploy(params) {
72
+ const updatable = params.updatable ?? this._updatable ?? this.getDeployTimeControl('updatable');
73
+ const deletable = params.deletable ?? this._deletable ?? this.getDeployTimeControl('deletable');
74
+ const deployTimeParams = params.deployTimeParams ?? this._deployTimeParams;
75
+ const compiled = await this.compile({ deployTimeParams, updatable, deletable });
76
+ const deployResult = await this._algorand.appDeployer.deploy({
77
+ ...params,
78
+ createParams: await (params.createParams && 'method' in params.createParams
79
+ ? this.params.create({ ...params.createParams, updatable, deletable, deployTimeParams })
80
+ : this.params.bare.create({ ...params.createParams, updatable, deletable, deployTimeParams })),
81
+ updateParams: params.updateParams && 'method' in params.updateParams
82
+ ? this.params.deployUpdate(params.updateParams)
83
+ : this.params.bare.deployUpdate(params.updateParams),
84
+ deleteParams: params.deleteParams && 'method' in params.deleteParams
85
+ ? this.params.deployDelete(params.deleteParams)
86
+ : this.params.bare.deployDelete(params.deleteParams),
87
+ metadata: {
88
+ name: this._appName,
89
+ version: this._version,
90
+ updatable,
91
+ deletable,
92
+ },
93
+ });
94
+ const app = this.getAppClientById({
95
+ appId: deployResult.appId,
96
+ });
97
+ const result = {
98
+ ...deployResult,
99
+ ...compiled,
100
+ };
101
+ return {
102
+ app,
103
+ result: {
104
+ ...result,
105
+ return: 'return' in result
106
+ ? result.operationPerformed === 'update'
107
+ ? params.updateParams && 'method' in params.updateParams
108
+ ? types_appArc56.getArc56ReturnValue(result.return, types_appArc56.getArc56Method(params.updateParams.method, this._appSpec), this._appSpec.structs)
109
+ : undefined
110
+ : params.createParams && 'method' in params.createParams
111
+ ? types_appArc56.getArc56ReturnValue(result.return, types_appArc56.getArc56Method(params.createParams.method, this._appSpec), this._appSpec.structs)
112
+ : undefined
113
+ : undefined,
114
+ deleteReturn: 'deleteReturn' in result && params.deleteParams && 'method' in params.deleteParams
115
+ ? types_appArc56.getArc56ReturnValue(result.deleteReturn, types_appArc56.getArc56Method(params.deleteParams.method, this._appSpec), this._appSpec.structs)
116
+ : undefined,
117
+ },
118
+ };
119
+ }
120
+ /**
121
+ * Returns a new `AppClient` client for an app instance of the given ID.
122
+ *
123
+ * Automatically populates appName, defaultSender and source maps from the factory
124
+ * if not specified in the params.
125
+ * @param params The parameters to create the app client
126
+ * @returns The `AppClient`
127
+ */
128
+ getAppClientById(params) {
129
+ return new types_appClient.AppClient({
130
+ ...params,
131
+ algorand: this._algorand,
132
+ appSpec: this._appSpec,
133
+ appName: params.appName ?? this._appName,
134
+ defaultSender: params.defaultSender ?? this._defaultSender,
135
+ approvalSourceMap: params.approvalSourceMap ?? this._approvalSourceMap,
136
+ clearSourceMap: params.clearSourceMap ?? this._clearSourceMap,
137
+ });
138
+ }
139
+ /**
140
+ * Returns a new `AppClient` client, resolving the app by creator address and name
141
+ * using AlgoKit app deployment semantics (i.e. looking for the app creation transaction note).
142
+ *
143
+ * Automatically populates appName, defaultSender and source maps from the factory
144
+ * if not specified in the params.
145
+ * @param params The parameters to create the app client
146
+ * @returns The `AppClient`
147
+ */
148
+ getAppClientByCreatorAddressAndName(params) {
149
+ return types_appClient.AppClient.fromCreatorAndName({
150
+ ...params,
151
+ algorand: this._algorand,
152
+ appSpec: this._appSpec,
153
+ appName: params.appName ?? this._appName,
154
+ defaultSender: params.defaultSender ?? this._defaultSender,
155
+ approvalSourceMap: params.approvalSourceMap ?? this._approvalSourceMap,
156
+ clearSourceMap: params.clearSourceMap ?? this._clearSourceMap,
157
+ });
158
+ }
159
+ /**
160
+ * Takes an error that may include a logic error from a call to the current app and re-exposes the
161
+ * error to include source code information via the source map and ARC-56 spec.
162
+ * @param e The error to parse
163
+ * @param isClearStateProgram Whether or not the code was running the clear state program (defaults to approval program)
164
+ * @returns The new error, or if there was no logic error or source map then the wrapped error with source details
165
+ */
166
+ exposeLogicError(e, isClearStateProgram) {
167
+ return types_appClient.AppClient.exposeLogicError(e, this._appSpec, {
168
+ isClearStateProgram,
169
+ approvalSourceMap: this._approvalSourceMap,
170
+ clearSourceMap: this._clearSourceMap,
171
+ });
172
+ }
173
+ /**
174
+ * Export the current source maps for the app.
175
+ * @returns The source maps
176
+ */
177
+ exportSourceMaps() {
178
+ if (!this._approvalSourceMap || !this._clearSourceMap) {
179
+ throw new Error("Unable to export source maps; they haven't been loaded into this client - you need to call create, update, or deploy first");
180
+ }
181
+ return {
182
+ approvalSourceMap: this._approvalSourceMap,
183
+ clearSourceMap: this._clearSourceMap,
184
+ };
185
+ }
186
+ /**
187
+ * Import source maps for the app.
188
+ * @param sourceMaps The source maps to import
189
+ */
190
+ importSourceMaps(sourceMaps) {
191
+ this._approvalSourceMap = new SourceMap(sourceMaps.approvalSourceMap);
192
+ this._clearSourceMap = new SourceMap(sourceMaps.clearSourceMap);
193
+ }
194
+ getDeployTimeControl(control) {
195
+ const approval = this._appSpec.source?.approval ? Buffer.from(this._appSpec.source.approval, 'base64').toString('utf-8') : undefined;
196
+ // variable not present, so unknown control value
197
+ if (!approval || !approval.includes(control === 'updatable' ? types_app.UPDATABLE_TEMPLATE_NAME : types_app.DELETABLE_TEMPLATE_NAME))
198
+ return undefined;
199
+ // A call is present and configured
200
+ return (this._appSpec.bareActions.call.includes(control === 'updatable' ? 'UpdateApplication' : 'DeleteApplication') ||
201
+ Object.values(this._appSpec.methods).some((c) => c.actions.call.includes(control === 'updatable' ? 'UpdateApplication' : 'DeleteApplication')));
202
+ }
203
+ getParamsMethods() {
204
+ return {
205
+ /** Return params for a create ABI call, including deploy-time TEAL template replacements and compilation if provided */
206
+ create: async (params) => {
207
+ return this.getABIParams({
208
+ ...params,
209
+ deployTimeParams: params.deployTimeParams ?? this._deployTimeParams,
210
+ schema: params.schema ?? {
211
+ globalByteSlices: this._appSpec.state.schema.global.bytes,
212
+ globalInts: this._appSpec.state.schema.global.ints,
213
+ localByteSlices: this._appSpec.state.schema.local.bytes,
214
+ localInts: this._appSpec.state.schema.local.ints,
215
+ },
216
+ ...(await this.compile({ ...params, deployTimeParams: params.deployTimeParams ?? this._deployTimeParams })),
217
+ }, params.onComplete ?? OnApplicationComplete.NoOpOC);
218
+ },
219
+ /** Return params for a deployment update ABI call */
220
+ deployUpdate: (params) => {
221
+ return this.getABIParams(params, OnApplicationComplete.UpdateApplicationOC);
222
+ },
223
+ /** Return params for a deployment delete ABI call */
224
+ deployDelete: (params) => {
225
+ return this.getABIParams(params, OnApplicationComplete.DeleteApplicationOC);
226
+ },
227
+ bare: {
228
+ /** Return params for a create bare call, including deploy-time TEAL template replacements and compilation if provided */
229
+ create: async (params) => {
230
+ return this.getBareParams({
231
+ ...params,
232
+ deployTimeParams: params?.deployTimeParams ?? this._deployTimeParams,
233
+ schema: params?.schema ?? {
234
+ globalByteSlices: this._appSpec.state.schema.global.bytes,
235
+ globalInts: this._appSpec.state.schema.global.ints,
236
+ localByteSlices: this._appSpec.state.schema.local.bytes,
237
+ localInts: this._appSpec.state.schema.local.ints,
238
+ },
239
+ ...(await this.compile({ ...params, deployTimeParams: params?.deployTimeParams ?? this._deployTimeParams })),
240
+ }, params?.onComplete ?? OnApplicationComplete.NoOpOC);
241
+ },
242
+ /** Return params for a deployment update bare call */
243
+ deployUpdate: (params) => {
244
+ return this.getBareParams(params, OnApplicationComplete.UpdateApplicationOC);
245
+ },
246
+ /** Return params for a deployment delete bare call */
247
+ deployDelete: (params) => {
248
+ return this.getBareParams(params, OnApplicationComplete.DeleteApplicationOC);
249
+ },
250
+ },
251
+ };
252
+ }
253
+ /** Make the given call and catch any errors, augmenting with debugging information before re-throwing. */
254
+ async handleCallErrors(call) {
255
+ try {
256
+ return await call();
257
+ }
258
+ catch (e) {
259
+ throw this.exposeLogicError(e);
260
+ }
261
+ }
262
+ /**
263
+ * Compiles the approval and clear state programs (if TEAL templates provided),
264
+ * performing any provided deploy-time parameter replacement and stores
265
+ * the source maps.
266
+ *
267
+ * If no TEAL templates provided it will use any byte code provided in the app spec.
268
+ *
269
+ * Will store any generated source maps for later use in debugging.
270
+ */
271
+ async compile(compilation) {
272
+ const result = await types_appClient.AppClient.compile(this._appSpec, this._algorand.app, compilation);
273
+ if (result.compiledApproval) {
274
+ this._approvalSourceMap = result.compiledApproval.sourceMap;
275
+ }
276
+ if (result.compiledClear) {
277
+ this._clearSourceMap = result.compiledClear.sourceMap;
278
+ }
279
+ return result;
280
+ }
281
+ getBareParams(params, onComplete) {
282
+ return {
283
+ ...params,
284
+ sender: this.getSender(params?.sender),
285
+ onComplete,
286
+ };
287
+ }
288
+ getABIParams(params, onComplete) {
289
+ return {
290
+ ...params,
291
+ sender: this.getSender(params.sender),
292
+ method: types_appArc56.getArc56Method(params.method, this._appSpec),
293
+ args: types_appClient.AppClient.getABIArgsWithDefaultValues(params.method, params.args, this._appSpec),
294
+ onComplete,
295
+ };
296
+ }
297
+ /** Returns the sender for a call, using the `defaultSender`
298
+ * if none provided and throws an error if neither provided */
299
+ getSender(sender) {
300
+ if (!sender && !this._defaultSender) {
301
+ throw new Error(`No sender provided and no default sender present in app client for call to app ${this._appName}`);
302
+ }
303
+ return sender ?? this._defaultSender;
304
+ }
305
+ /**
306
+ * Checks for decode errors on the SendAppTransactionResult and maps the return value to the specified type
307
+ * on the ARC-56 method.
308
+ *
309
+ * If the return type is a struct then the struct will be returned.
310
+ *
311
+ * @param result The SendAppTransactionResult to be mapped
312
+ * @param method The method that was called
313
+ * @returns The smart contract response with an updated return value
314
+ */
315
+ async parseMethodCallReturn(result, method) {
316
+ const resultValue = await result;
317
+ return { ...resultValue, return: types_appArc56.getArc56ReturnValue(resultValue.return, method, this._appSpec.structs) };
318
+ }
319
+ }
320
+
321
+ exports.AppFactory = AppFactory;
322
+ //# sourceMappingURL=app-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-factory.js","sources":["../../src/types/app-factory.ts"],"sourcesContent":[null],"names":["AppClient","getArc56Method","getArc56ReturnValue","UPDATABLE_TEMPLATE_NAME","DELETABLE_TEMPLATE_NAME"],"mappings":";;;;;;;AA+BA,IAAO,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;AACpC,IAAO,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAA;AA4G5D;;;;AAIG;MACU,UAAU,CAAA;AAerB,IAAA,WAAA,CAAY,MAAwB,EAAA;QAClC,IAAI,CAAC,QAAQ,GAAGA,yBAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;AAC1D,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAA;AACpD,QAAA,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAA;QAChC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAA;AACvC,QAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,aAAa,CAAA;AAC1C,QAAA,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,gBAAgB,CAAA;AAChD,QAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAA;AAClC,QAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAA;AAClC,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;KAC9C;;AAGD,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,cAAc,CAAA;KAC3B;AAED;;;;;;;AAOG;IACI,MAAM,MAAM,CAAC,MAA+B,EAAA;QACjD,MAAM,SAAS,GAAG,MAAM,EAAE,SAAS,IAAI,IAAI,CAAC,UAAU,CAAA;QACtD,MAAM,SAAS,GAAG,MAAM,EAAE,SAAS,IAAI,IAAI,CAAC,UAAU,CAAA;QACtD,MAAM,gBAAgB,GAAG,MAAM,EAAE,gBAAgB,IAAI,IAAI,CAAC,iBAAiB,CAAA;AAC3E,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAA;AAC/E,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,YACzC,MAAM,IAAI,QAAQ,IAAI,MAAM;AAC1B,cAAE,IAAI,CAAC,qBAAqB,CACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC,EACxHC,6BAAc,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAC7C;AACH,cAAE;AACE,gBAAA,IAAI,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;AAC9H,gBAAA,MAAM,EAAE,SAAS;AAClB,aAAA,CACN,CAAA;QACD,OAAO;AACL,YAAA,GAAG,EAAE,IAAI,CAAC,gBAAgB,CAAC;gBACzB,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC;AACF,YAAA,MAAM,EAAE;AACN,gBAAA,GAAG,MAAM;AACT,gBAAA,GAAI,QAA0C;AAC/C,aAAA;SACF,CAAA;KACF;AAED;;;;;;;;;;AAUG;IACI,MAAM,MAAM,CAAC,MAA8B,EAAA;AAChD,QAAA,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAA;AAC/F,QAAA,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAA;QAC/F,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC,iBAAiB,CAAA;AAC1E,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAA;QAC/E,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC;AAC3D,YAAA,GAAG,MAAM;YACT,YAAY,EAAE,OAAO,MAAM,CAAC,YAAY,IAAI,QAAQ,IAAI,MAAM,CAAC,YAAY;AACzE,kBAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;kBACtF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAChG,YAAY,EACV,MAAM,CAAC,YAAY,IAAI,QAAQ,IAAI,MAAM,CAAC,YAAY;kBAClD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC;AAC/C,kBAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC;YACxD,YAAY,EACV,MAAM,CAAC,YAAY,IAAI,QAAQ,IAAI,MAAM,CAAC,YAAY;kBAClD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC;AAC/C,kBAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC;AACxD,YAAA,QAAQ,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,QAAQ;gBACnB,OAAO,EAAE,IAAI,CAAC,QAAQ;gBACtB,SAAS;gBACT,SAAS;AACV,aAAA;AACF,SAAA,CAAC,CAAA;AACF,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAChC,KAAK,EAAE,YAAY,CAAC,KAAK;AAC1B,SAAA,CAAC,CAAA;AACF,QAAA,MAAM,MAAM,GAAG;AACb,YAAA,GAAG,YAAY;AACf,YAAA,GAAG,QAAQ;SACZ,CAAA;QACD,OAAO;YACL,GAAG;AACH,YAAA,MAAM,EAAE;AACN,gBAAA,GAAG,MAAM;gBACT,MAAM,EACJ,QAAQ,IAAI,MAAM;AAChB,sBAAE,MAAM,CAAC,kBAAkB,KAAK,QAAQ;0BACpC,MAAM,CAAC,YAAY,IAAI,QAAQ,IAAI,MAAM,CAAC,YAAY;8BACpDC,kCAAmB,CAAC,MAAM,CAAC,MAAM,EAAED,6BAAc,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;AACtH,8BAAE,SAAS;0BACX,MAAM,CAAC,YAAY,IAAI,QAAQ,IAAI,MAAM,CAAC,YAAY;8BACpDC,kCAAmB,CAAC,MAAM,CAAC,MAAM,EAAED,6BAAc,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;AACtH,8BAAE,SAAS;AACf,sBAAE,SAAS;AACf,gBAAA,YAAY,EACV,cAAc,IAAI,MAAM,IAAI,MAAM,CAAC,YAAY,IAAI,QAAQ,IAAI,MAAM,CAAC,YAAY;sBAC9EC,kCAAmB,CAAC,MAAM,CAAC,YAAY,EAAED,6BAAc,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC5H,sBAAE,SAAS;AAChB,aAAA;SACF,CAAA;KACF;AAED;;;;;;;AAOG;AACI,IAAA,gBAAgB,CAAC,MAA6D,EAAA;QACnF,OAAO,IAAID,yBAAS,CAAC;AACnB,YAAA,GAAG,MAAM;YACT,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,OAAO,EAAE,IAAI,CAAC,QAAQ;AACtB,YAAA,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ;AACxC,YAAA,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc;AAC1D,YAAA,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,kBAAkB;AACtE,YAAA,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC,eAAe;AAC9D,SAAA,CAAC,CAAA;KACH;AAED;;;;;;;;AAQG;AACI,IAAA,mCAAmC,CACxC,MAA0G,EAAA;QAE1G,OAAOA,yBAAS,CAAC,kBAAkB,CAAC;AAClC,YAAA,GAAG,MAAM;YACT,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,OAAO,EAAE,IAAI,CAAC,QAAQ;AACtB,YAAA,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ;AACxC,YAAA,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc;AAC1D,YAAA,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,kBAAkB;AACtE,YAAA,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC,eAAe;AAC9D,SAAA,CAAC,CAAA;KACH;AAED;;;;;;AAMG;IACH,gBAAgB,CAAC,CAAQ,EAAE,mBAA6B,EAAA;QACtD,OAAOA,yBAAS,CAAC,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE;YAClD,mBAAmB;YACnB,iBAAiB,EAAE,IAAI,CAAC,kBAAkB;YAC1C,cAAc,EAAE,IAAI,CAAC,eAAe;AACrC,SAAA,CAAC,CAAA;KACH;AAED;;;AAGG;IACH,gBAAgB,GAAA;QACd,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;AACrD,YAAA,MAAM,IAAI,KAAK,CACb,4HAA4H,CAC7H,CAAA;SACF;QAED,OAAO;YACL,iBAAiB,EAAE,IAAI,CAAC,kBAAkB;YAC1C,cAAc,EAAE,IAAI,CAAC,eAAe;SACrC,CAAA;KACF;AAED;;;AAGG;AACH,IAAA,gBAAgB,CAAC,UAAyB,EAAA;QACxC,IAAI,CAAC,kBAAkB,GAAG,IAAI,SAAS,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAA;QACrE,IAAI,CAAC,eAAe,GAAG,IAAI,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;KAChE;AAEO,IAAA,oBAAoB,CAAC,OAAkC,EAAA;AAC7D,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;;AAEpI,QAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,KAAK,WAAW,GAAGG,iCAAuB,GAAGC,iCAAuB,CAAC;AAAE,YAAA,OAAO,SAAS,CAAA;;QAGlI,QACE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,WAAW,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAC5G,YAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAC1C,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,WAAW,GAAG,mBAAmB,GAAG,mBAAmB,CAAC,CAC7F,EACF;KACF;IAEO,gBAAgB,GAAA;QACtB,OAAO;;AAEL,YAAA,MAAM,EAAE,OAAO,MAAwG,KAAI;gBACzH,OAAO,IAAI,CAAC,YAAY,CACtB;AACE,oBAAA,GAAG,MAAM;AACT,oBAAA,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC,iBAAiB;AACnE,oBAAA,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI;wBACvB,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK;wBACzD,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI;wBAClD,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK;wBACvD,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI;AACjD,qBAAA;oBACD,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,MAAM,EAAE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;iBAC5G,EACD,MAAM,CAAC,UAAU,IAAI,qBAAqB,CAAC,MAAM,CACpB,CAAA;aAChC;;AAED,YAAA,YAAY,EAAE,CAAC,MAAyC,KAAI;gBAC1D,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,qBAAqB,CAAC,mBAAmB,CAAqC,CAAA;aAChH;;AAED,YAAA,YAAY,EAAE,CAAC,MAAiC,KAAI;gBAClD,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,qBAAqB,CAAC,mBAAmB,CAAqC,CAAA;aAChH;AACD,YAAA,IAAI,EAAE;;AAEJ,gBAAA,MAAM,EAAE,OAAO,MAAuG,KAAI;oBACxH,OAAO,IAAI,CAAC,aAAa,CACvB;AACE,wBAAA,GAAG,MAAM;AACT,wBAAA,gBAAgB,EAAE,MAAM,EAAE,gBAAgB,IAAI,IAAI,CAAC,iBAAiB;AACpE,wBAAA,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI;4BACxB,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK;4BACzD,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI;4BAClD,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK;4BACvD,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI;AACjD,yBAAA;wBACD,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,gBAAgB,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;qBAC7G,EACD,MAAM,EAAE,UAAU,IAAI,qBAAqB,CAAC,MAAM,CACzB,CAAA;iBAC5B;;AAED,gBAAA,YAAY,EAAE,CAAC,MAAwC,KAAI;oBACzD,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,qBAAqB,CAAC,mBAAmB,CAAiC,CAAA;iBAC7G;;AAED,gBAAA,YAAY,EAAE,CAAC,MAAgC,KAAI;oBACjD,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,qBAAqB,CAAC,mBAAmB,CAAiC,CAAA;iBAC7G;AACF,aAAA;SACF,CAAA;KACF;;IAGO,MAAM,gBAAgB,CAAU,IAA4B,EAAA;AAClE,QAAA,IAAI;YACF,OAAO,MAAM,IAAI,EAAE,CAAA;SACpB;QAAC,OAAO,CAAC,EAAE;AACV,YAAA,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAU,CAAC,CAAA;SACxC;KACF;AAED;;;;;;;;AAQG;IACK,MAAM,OAAO,CAAC,WAAwC,EAAA;AAC5D,QAAA,MAAM,MAAM,GAAG,MAAMJ,yBAAS,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;AAEtF,QAAA,IAAI,MAAM,CAAC,gBAAgB,EAAE;YAC3B,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAA;SAC5D;AACD,QAAA,IAAI,MAAM,CAAC,aAAa,EAAE;YACxB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,aAAa,CAAC,SAAS,CAAA;SACtD;AAED,QAAA,OAAO,MAAM,CAAA;KACd;IAEO,aAAa,CACnB,MAAe,EACf,UAAuB,EAAA;QAEvB,OAAO;AACL,YAAA,GAAG,MAAM;YACT,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;YACtC,UAAU;SACX,CAAA;KACF;IAEO,YAAY,CAGlB,MAAe,EAAE,UAAuB,EAAA;QACxC,OAAO;AACL,YAAA,GAAG,MAAM;YACT,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;YACrC,MAAM,EAAEC,6BAAc,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;AACpD,YAAA,IAAI,EAAED,yBAAS,CAAC,2BAA2B,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;YACtF,UAAU;SACX,CAAA;KACF;AAED;AAC8D;AACtD,IAAA,SAAS,CAAC,MAA0B,EAAA;QAC1C,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,CAAA,+EAAA,EAAkF,IAAI,CAAC,QAAQ,CAAE,CAAA,CAAC,CAAA;SACnH;AACD,QAAA,OAAO,MAAM,IAAI,IAAI,CAAC,cAAe,CAAA;KACtC;AAED;;;;;;;;;AASG;AACH,IAAA,MAAM,qBAAqB,CAGzB,MAAkC,EAAE,MAAmB,EAAA;AACvD,QAAA,MAAM,WAAW,GAAG,MAAM,MAAM,CAAA;QAChC,OAAO,EAAE,GAAG,WAAW,EAAE,MAAM,EAAEE,kCAAmB,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAEtG,CAAA;KACF;AACF;;;;"}