@algorandfoundation/algokit-utils 1.0.0 → 1.1.0

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 (112) hide show
  1. package/README.md +38 -0
  2. package/account.d.ts +11 -10
  3. package/account.d.ts.map +1 -1
  4. package/account.js +13 -12
  5. package/account.js.map +1 -1
  6. package/amount.d.ts +15 -3
  7. package/amount.d.ts.map +1 -1
  8. package/amount.js +15 -3
  9. package/amount.js.map +1 -1
  10. package/app-client.d.ts +14 -0
  11. package/app-client.d.ts.map +1 -0
  12. package/app-client.js +19 -0
  13. package/app-client.js.map +1 -0
  14. package/{deploy-app.d.ts → app-deploy.d.ts} +16 -14
  15. package/app-deploy.d.ts.map +1 -0
  16. package/{deploy-app.js → app-deploy.js} +47 -28
  17. package/app-deploy.js.map +1 -0
  18. package/app.d.ts +53 -8
  19. package/app.d.ts.map +1 -1
  20. package/app.js +305 -146
  21. package/app.js.map +1 -1
  22. package/index.d.ts +2 -2
  23. package/index.d.ts.map +1 -1
  24. package/index.js +2 -2
  25. package/index.js.map +1 -1
  26. package/indexer-lookup.d.ts +11 -4
  27. package/indexer-lookup.d.ts.map +1 -1
  28. package/indexer-lookup.js +19 -9
  29. package/indexer-lookup.js.map +1 -1
  30. package/localnet.d.ts +7 -7
  31. package/localnet.js +7 -7
  32. package/network-client.d.ts +4 -4
  33. package/network-client.js +5 -5
  34. package/network-client.js.map +1 -1
  35. package/package.json +1 -1
  36. package/testing/account.d.ts +2 -2
  37. package/testing/account.js +2 -2
  38. package/testing/fixtures/algorand-fixture.d.ts +6 -2
  39. package/testing/fixtures/algorand-fixture.d.ts.map +1 -1
  40. package/testing/fixtures/algorand-fixture.js +19 -8
  41. package/testing/fixtures/algorand-fixture.js.map +1 -1
  42. package/testing/indexer.d.ts.map +1 -1
  43. package/testing/indexer.js +1 -0
  44. package/testing/indexer.js.map +1 -1
  45. package/testing/test-logger.d.ts +3 -1
  46. package/testing/test-logger.d.ts.map +1 -1
  47. package/testing/test-logger.js +4 -2
  48. package/testing/test-logger.js.map +1 -1
  49. package/testing/transaction-logger.d.ts +4 -4
  50. package/testing/transaction-logger.d.ts.map +1 -1
  51. package/testing/transaction-logger.js +4 -4
  52. package/testing/transaction-logger.js.map +1 -1
  53. package/transaction.d.ts +54 -13
  54. package/transaction.d.ts.map +1 -1
  55. package/transaction.js +201 -93
  56. package/transaction.js.map +1 -1
  57. package/transfer.d.ts +4 -3
  58. package/transfer.d.ts.map +1 -1
  59. package/transfer.js +10 -8
  60. package/transfer.js.map +1 -1
  61. package/types/account.d.ts +6 -3
  62. package/types/account.d.ts.map +1 -1
  63. package/types/account.js +7 -2
  64. package/types/account.js.map +1 -1
  65. package/types/algo-http-client-with-retry.js +1 -1
  66. package/types/algo-http-client-with-retry.js.map +1 -1
  67. package/types/algod.d.ts +6 -6
  68. package/types/algod.d.ts.map +1 -1
  69. package/types/amount.d.ts +6 -2
  70. package/types/amount.d.ts.map +1 -1
  71. package/types/amount.js +6 -2
  72. package/types/amount.js.map +1 -1
  73. package/types/{application-client.d.ts → app-client.d.ts} +75 -22
  74. package/types/app-client.d.ts.map +1 -0
  75. package/types/{application-client.js → app-client.js} +115 -56
  76. package/types/app-client.js.map +1 -0
  77. package/types/app-spec.d.ts +141 -0
  78. package/types/app-spec.d.ts.map +1 -0
  79. package/types/{appspec.js → app-spec.js} +5 -7
  80. package/types/app-spec.js.map +1 -0
  81. package/types/app.d.ts +23 -17
  82. package/types/app.d.ts.map +1 -1
  83. package/types/app.js.map +1 -1
  84. package/types/config.d.ts +19 -2
  85. package/types/config.d.ts.map +1 -1
  86. package/types/config.js +28 -2
  87. package/types/config.js.map +1 -1
  88. package/types/indexer.d.ts +360 -49
  89. package/types/indexer.d.ts.map +1 -1
  90. package/types/indexer.js +9 -0
  91. package/types/indexer.js.map +1 -1
  92. package/types/logic-error.d.ts +5 -1
  93. package/types/logic-error.d.ts.map +1 -1
  94. package/types/logic-error.js +6 -2
  95. package/types/logic-error.js.map +1 -1
  96. package/types/testing.d.ts +9 -9
  97. package/types/testing.d.ts.map +1 -1
  98. package/types/transaction.d.ts +54 -9
  99. package/types/transaction.d.ts.map +1 -1
  100. package/types/transfer.d.ts +7 -7
  101. package/types/transfer.d.ts.map +1 -1
  102. package/application-client.d.ts +0 -10
  103. package/application-client.d.ts.map +0 -1
  104. package/application-client.js +0 -15
  105. package/application-client.js.map +0 -1
  106. package/deploy-app.d.ts.map +0 -1
  107. package/deploy-app.js.map +0 -1
  108. package/types/application-client.d.ts.map +0 -1
  109. package/types/application-client.js.map +0 -1
  110. package/types/appspec.d.ts +0 -77
  111. package/types/appspec.d.ts.map +0 -1
  112. package/types/appspec.js.map +0 -1
@@ -27,16 +27,14 @@ exports.ApplicationClient = void 0;
27
27
  const algosdk_1 = __importStar(require("algosdk"));
28
28
  const buffer_1 = require("buffer");
29
29
  const app_1 = require("../app");
30
- const deploy_app_1 = require("../deploy-app");
30
+ const app_deploy_1 = require("../app-deploy");
31
31
  const transaction_1 = require("../transaction");
32
32
  const transfer_1 = require("../transfer");
33
33
  const app_2 = require("./app");
34
- const appspec_1 = require("./appspec");
35
34
  const logic_error_1 = require("./logic-error");
36
35
  /** Application client - a class that wraps an ARC-0032 app spec and provides high productivity methods to deploy and call the app */
37
36
  class ApplicationClient {
38
37
  // todo: process ABI args as needed to make them nicer to deal with like beaker-ts
39
- // todo: support importing and exporting a source map
40
38
  // todo: support readonly, noop method calls
41
39
  // todo: support different oncomplete for create
42
40
  // todo: find create, update, delete, etc. methods from app spec and call them by default
@@ -52,7 +50,13 @@ class ApplicationClient {
52
50
  this.algod = algod;
53
51
  this.appSpec = typeof app == 'string' ? JSON.parse(app) : app;
54
52
  this._appName = appIdentifier.name ?? this.appSpec.contract.name;
55
- if ('creatorAddress' in appIdentifier) {
53
+ if ('id' in appIdentifier) {
54
+ if (appIdentifier.id < 0) {
55
+ throw new Error(`Attempt to create application client with invalid app id of ${appIdentifier.id}`);
56
+ }
57
+ this._appId = appIdentifier.id;
58
+ }
59
+ else {
56
60
  this._appId = 0;
57
61
  this._creator = appIdentifier.creatorAddress;
58
62
  if ('indexer' in appIdentifier) {
@@ -65,20 +69,55 @@ class ApplicationClient {
65
69
  this.existingDeployments = appIdentifier.existingDeployments;
66
70
  }
67
71
  }
68
- else {
69
- if (appIdentifier.id < 0) {
70
- throw new Error(`Attempt to create application client with invalid app id of ${appIdentifier.id}`);
71
- }
72
- this._appId = appIdentifier.id;
73
- }
74
72
  this._appAddress = algosdk_1.default.getApplicationAddress(this._appId);
75
73
  this.sender = sender;
76
74
  this.params = params;
77
75
  }
76
+ /**
77
+ * Compiles the approval and clear programs and sets up the source map.
78
+ * @param compilation The deploy-time parameters for the compilation
79
+ * @returns The compiled approval and clear programs
80
+ */
81
+ async compile(compilation) {
82
+ const { deployTimeParams, updatable, deletable } = compilation ?? {};
83
+ const approvalTemplate = buffer_1.Buffer.from(this.appSpec.source.approval, 'base64').toString('utf-8');
84
+ const approval = (0, app_deploy_1.replaceDeployTimeControlParams)((0, app_deploy_1.performTemplateSubstitution)(approvalTemplate, deployTimeParams), {
85
+ updatable,
86
+ deletable,
87
+ });
88
+ const approvalCompiled = await (0, app_1.compileTeal)(approval, this.algod);
89
+ this._approvalSourceMap = approvalCompiled?.sourceMap;
90
+ const clearTemplate = buffer_1.Buffer.from(this.appSpec.source.clear, 'base64').toString('utf-8');
91
+ const clear = (0, app_deploy_1.performTemplateSubstitution)(clearTemplate, deployTimeParams);
92
+ const clearCompiled = await (0, app_1.compileTeal)(clear, this.algod);
93
+ this._clearSourceMap = clearCompiled?.sourceMap;
94
+ return { approvalCompiled, clearCompiled };
95
+ }
96
+ /**
97
+ * Export the current source maps for the app.
98
+ * @returns The source maps
99
+ */
100
+ exportSourceMaps() {
101
+ if (!this._approvalSourceMap || !this._clearSourceMap) {
102
+ 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");
103
+ }
104
+ return {
105
+ approvalSourceMap: this._approvalSourceMap,
106
+ clearSourceMap: this._clearSourceMap,
107
+ };
108
+ }
109
+ /**
110
+ * Import source maps for the app.
111
+ * @param sourceMaps The source maps to import
112
+ */
113
+ importSourceMaps(sourceMaps) {
114
+ this._approvalSourceMap = new algosdk_1.SourceMap(sourceMaps.approvalSourceMap);
115
+ this._clearSourceMap = new algosdk_1.SourceMap(sourceMaps.clearSourceMap);
116
+ }
78
117
  /**
79
118
  * Idempotently deploy (create, update/delete if changed) an app against the given name via the given creator account, including deploy-time template placeholder substitutions.
80
119
  *
81
- * To understand the architecture decisions behind this functionality please @see https://github.com/algorandfoundation/algokit-cli/blob/main/docs/architecture-decisions/2023-01-12_smart-contract-deployment.md
120
+ * To understand the architecture decisions behind this functionality please see https://github.com/algorandfoundation/algokit-cli/blob/main/docs/architecture-decisions/2023-01-12_smart-contract-deployment.md
82
121
  *
83
122
  * **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.
84
123
  *
@@ -103,27 +142,30 @@ class ApplicationClient {
103
142
  throw new Error(`Attempt to deploy contract with a sender address (${(0, transaction_1.getSenderAddress)(from)}) that differs from the given creator address for this application client: ${this._creator}`);
104
143
  }
105
144
  const approval = buffer_1.Buffer.from(this.appSpec.source.approval, 'base64').toString('utf-8');
106
- const clear = buffer_1.Buffer.from(this.appSpec.source.clear, 'base64').toString('utf-8');
145
+ const compilation = {
146
+ deployTimeParams: deployArgs.deployTimeParams,
147
+ updatable: allowUpdate ?? approval.includes(app_2.UPDATABLE_TEMPLATE_NAME)
148
+ ? (!this.appSpec.bare_call_config.update_application && this.appSpec.bare_call_config.update_application !== 'NEVER') ||
149
+ !!Object.keys(this.appSpec.hints).filter((h) => !this.appSpec.hints[h].call_config.update_application && this.appSpec.hints[h].call_config.update_application !== 'NEVER')[0]
150
+ : undefined,
151
+ deletable: allowDelete ?? approval.includes(app_2.DELETABLE_TEMPLATE_NAME)
152
+ ? (!this.appSpec.bare_call_config.delete_application && this.appSpec.bare_call_config.delete_application !== 'NEVER') ||
153
+ !!Object.keys(this.appSpec.hints).filter((h) => !this.appSpec.hints[h].call_config.delete_application && this.appSpec.hints[h].call_config.delete_application !== 'NEVER')[0]
154
+ : undefined,
155
+ };
156
+ const { approvalCompiled, clearCompiled } = await this.compile(compilation);
107
157
  try {
108
158
  await this.getAppReference();
109
- const result = await (0, deploy_app_1.deployApp)({
159
+ const result = await (0, app_deploy_1.deployApp)({
110
160
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
111
161
  from,
112
- approvalProgram: approval,
113
- clearStateProgram: clear,
162
+ approvalProgram: approvalCompiled.compiledBase64ToBytes,
163
+ clearStateProgram: clearCompiled.compiledBase64ToBytes,
114
164
  metadata: {
115
165
  name: this._appName,
116
166
  version: version ?? '1.0',
117
- updatable: allowUpdate ?? approval.includes(app_2.UPDATABLE_TEMPLATE_NAME)
118
- ? (!this.appSpec.bare_call_config.update_application && this.appSpec.bare_call_config.update_application !== 'NEVER') ||
119
- !!Object.keys(this.appSpec.hints).filter((h) => !this.appSpec.hints[h].call_config.update_application &&
120
- this.appSpec.hints[h].call_config.update_application !== 'NEVER')[0]
121
- : undefined,
122
- deletable: allowDelete ?? approval.includes(app_2.DELETABLE_TEMPLATE_NAME)
123
- ? (!this.appSpec.bare_call_config.delete_application && this.appSpec.bare_call_config.delete_application !== 'NEVER') ||
124
- !!Object.keys(this.appSpec.hints).filter((h) => !this.appSpec.hints[h].call_config.delete_application &&
125
- this.appSpec.hints[h].call_config.delete_application !== 'NEVER')[0]
126
- : undefined,
167
+ updatable: compilation.updatable,
168
+ deletable: compilation.deletable,
127
169
  },
128
170
  schema: {
129
171
  globalByteSlices: this.appSpec.state.global.num_byte_slices,
@@ -139,8 +181,6 @@ class ApplicationClient {
139
181
  deleteArgs: this.getCallArgs(deleteArgs),
140
182
  ...deployArgs,
141
183
  }, this.algod, this.indexer);
142
- this._approvalSourceMap = result.compiledApproval?.sourceMap;
143
- this._clearSourceMap = result.compiledClear?.sourceMap;
144
184
  // Nothing needed to happen
145
185
  if (result.operationPerformed === 'nothing') {
146
186
  return result;
@@ -167,17 +207,13 @@ class ApplicationClient {
167
207
  if (!sender && !this.sender) {
168
208
  throw new Error('No sender provided, unable to create app');
169
209
  }
170
- const approval = buffer_1.Buffer.from(this.appSpec.source.approval, 'base64').toString('utf-8');
171
- const clear = buffer_1.Buffer.from(this.appSpec.source.clear, 'base64').toString('utf-8');
210
+ const { approvalCompiled, clearCompiled } = await this.compile(create);
172
211
  try {
173
212
  const result = await (0, app_1.createApp)({
174
213
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
175
214
  from: sender ?? this.sender,
176
- approvalProgram: (0, deploy_app_1.replaceDeployTimeControlParams)((0, deploy_app_1.performTemplateSubstitution)(approval, deployTimeParams), {
177
- updatable,
178
- deletable,
179
- }),
180
- clearStateProgram: (0, deploy_app_1.performTemplateSubstitution)(clear, deployTimeParams),
215
+ approvalProgram: approvalCompiled.compiledBase64ToBytes,
216
+ clearStateProgram: clearCompiled.compiledBase64ToBytes,
181
217
  schema: {
182
218
  globalByteSlices: this.appSpec.state.global.num_byte_slices,
183
219
  globalInts: this.appSpec.state.global.num_uints,
@@ -189,8 +225,6 @@ class ApplicationClient {
189
225
  transactionParams: this.params,
190
226
  ...(sendParams ?? {}),
191
227
  }, this.algod);
192
- this._approvalSourceMap = result.compiledApproval?.sourceMap;
193
- this._clearSourceMap = result.compiledClear?.sourceMap;
194
228
  if (result.confirmation) {
195
229
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
196
230
  this._appId = result.confirmation['application-index'];
@@ -210,18 +244,14 @@ class ApplicationClient {
210
244
  if (!sender && !this.sender) {
211
245
  throw new Error('No sender provided, unable to create app');
212
246
  }
213
- const approval = buffer_1.Buffer.from(this.appSpec.source.approval, 'base64').toString('utf-8');
214
- const clear = buffer_1.Buffer.from(this.appSpec.source.clear, 'base64').toString('utf-8');
247
+ const { approvalCompiled, clearCompiled } = await this.compile(update);
215
248
  try {
216
249
  const result = await (0, app_1.updateApp)({
217
250
  appId: this._appId,
218
251
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
219
252
  from: sender ?? this.sender,
220
- approvalProgram: (0, deploy_app_1.replaceDeployTimeControlParams)((0, deploy_app_1.performTemplateSubstitution)(approval, deployTimeParams), {
221
- updatable,
222
- deletable,
223
- }),
224
- clearStateProgram: (0, deploy_app_1.performTemplateSubstitution)(clear, deployTimeParams),
253
+ approvalProgram: approvalCompiled.compiledBase64ToBytes,
254
+ clearStateProgram: clearCompiled.compiledBase64ToBytes,
225
255
  args: this.getCallArgs(args),
226
256
  note: note,
227
257
  transactionParams: this.params,
@@ -242,16 +272,16 @@ class ApplicationClient {
242
272
  return await this._call(call, 'optin');
243
273
  }
244
274
  async closeOut(call) {
245
- return await this._call(call, 'optin');
275
+ return await this._call(call, 'closeout');
246
276
  }
247
277
  async clearState(call) {
248
- return await this._call(call, 'optin');
278
+ return await this._call(call, 'clearstate');
249
279
  }
250
280
  async delete(call) {
251
- return await this._call(call, 'optin');
281
+ return await this._call(call, 'delete');
252
282
  }
253
283
  async _call(call, callType) {
254
- const { sender, note, sendParams, ...args } = call;
284
+ const { sender, note, sendParams, ...args } = call ?? {};
255
285
  if (!sender && !this.sender) {
256
286
  throw new Error('No sender provided, unable to call app');
257
287
  }
@@ -290,7 +320,7 @@ class ApplicationClient {
290
320
  to: ref.appAddress,
291
321
  amount: amount,
292
322
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
293
- from: this.sender ?? sender,
323
+ from: sender ?? this.sender,
294
324
  note: note,
295
325
  transactionParams: this.params,
296
326
  ...(sendParams ?? {}),
@@ -329,6 +359,30 @@ class ApplicationClient {
329
359
  }
330
360
  return await (0, app_1.getAppBoxNames)(appRef.appId, this.algod);
331
361
  }
362
+ /**
363
+ * Returns the value of the given box for the current app.
364
+ * @param name The name of the box to return either as a string, binary array or `BoxName`
365
+ * @returns The current box value as a byte array
366
+ */
367
+ async getBoxValue(name) {
368
+ const appRef = await this.getAppReference();
369
+ if (appRef.appId === 0) {
370
+ throw new Error('No app has been created yet, unable to get global state');
371
+ }
372
+ return await (0, app_1.getAppBoxValue)(appRef.appId, name, this.algod);
373
+ }
374
+ /**
375
+ * Returns the value of the given box for the current app.
376
+ * @param name The name of the box to return either as a string, binary array or `BoxName`
377
+ * @returns The current box value as a byte array
378
+ */
379
+ async getBoxValueFromABIType(name, type) {
380
+ const appRef = await this.getAppReference();
381
+ if (appRef.appId === 0) {
382
+ throw new Error('No app has been created yet, unable to get global state');
383
+ }
384
+ return await (0, app_1.getAppBoxValueFromABIType)({ appId: appRef.appId, boxName: name, type }, this.algod);
385
+ }
332
386
  /**
333
387
  * Returns the values of all current boxes for the current app.
334
388
  * Note: This will issue multiple HTTP requests (one per box) and it's not an atomic operation so values may be out of sync.
@@ -352,7 +406,7 @@ class ApplicationClient {
352
406
  * @param filter Optional filter to filter which boxes' values are returned
353
407
  * @returns The (name, value) pair of the boxes with values as the ABI Value
354
408
  */
355
- async getBoxValuesAsABIType(type, filter) {
409
+ async getBoxValuesFromABIType(type, filter) {
356
410
  const appRef = await this.getAppReference();
357
411
  if (appRef.appId === 0) {
358
412
  throw new Error('No app has been created yet, unable to get global state');
@@ -363,6 +417,10 @@ class ApplicationClient {
363
417
  value: await (0, app_1.getAppBoxValueFromABIType)({ appId: appRef.appId, boxName, type }, this.algod),
364
418
  })));
365
419
  }
420
+ /** @deprecated Use `getBoxValuesFromABIType` instead */
421
+ async getBoxValuesAsABIType(type, filter) {
422
+ return this.getBoxValuesFromABIType(type, filter);
423
+ }
366
424
  /**
367
425
  * Returns the arguments for an app call for the given ABI method or raw method specification.
368
426
  * @param args The call args specific to this application client
@@ -403,11 +461,13 @@ class ApplicationClient {
403
461
  if (!method.includes('(')) {
404
462
  const methods = this.appSpec.contract.methods.filter((m) => m.name === method);
405
463
  if (methods.length > 1) {
406
- throw new Error(`Received a call to method ${method} in contract ${this._appName}, but this resolved to multiple methods; please pass in an ABI signature instead: ${methods.map(appspec_1.getABISignature).join(', ')}`);
464
+ throw new Error(`Received a call to method ${method} in contract ${this._appName}, but this resolved to multiple methods; please pass in an ABI signature instead: ${methods
465
+ .map(app_1.getABIMethodSignature)
466
+ .join(', ')}`);
407
467
  }
408
468
  return methods[0];
409
469
  }
410
- return this.appSpec.contract.methods.find((m) => (0, appspec_1.getABISignature)(m) === method);
470
+ return this.appSpec.contract.methods.find((m) => (0, app_1.getABIMethodSignature)(m) === method);
411
471
  }
412
472
  /**
413
473
  * Returns the ABI Method for the given method name string for the app represented by this application client instance
@@ -426,10 +486,9 @@ class ApplicationClient {
426
486
  async getAppReference() {
427
487
  if (!this.existingDeployments && this._creator) {
428
488
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
429
- this.existingDeployments = await (0, deploy_app_1.getCreatorAppsByName)(this._creator, this.indexer);
489
+ this.existingDeployments = await (0, app_deploy_1.getCreatorAppsByName)(this._creator, this.indexer);
430
490
  }
431
491
  if (this.existingDeployments && this._appId === 0) {
432
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
433
492
  const app = this.existingDeployments.apps[this._appName];
434
493
  if (!app) {
435
494
  return {
@@ -446,7 +505,7 @@ class ApplicationClient {
446
505
  }
447
506
  /**
448
507
  * Takes an error that may include a logic error from a smart contract call and re-exposes the error to include source code information via the source map.
449
- * This is automatically used within @see ApplicationClient but if you pass `skipSending: true` e.g. if doing a group transaction
508
+ * This is automatically used within `ApplicationClient` but if you pass `skipSending: true` e.g. if doing a group transaction
450
509
  * then you can use this in a try/catch block to get better debugging information.
451
510
  * @param e The error to parse
452
511
  * @param isClear Whether or not the code was running the clear state program
@@ -455,7 +514,7 @@ class ApplicationClient {
455
514
  exposeLogicError(e, isClear) {
456
515
  if ((!isClear && this._approvalSourceMap == undefined) || (isClear && this._clearSourceMap == undefined))
457
516
  return e;
458
- const errorDetails = logic_error_1.LogicError.parseLogicError(e.message);
517
+ const errorDetails = logic_error_1.LogicError.parseLogicError(e);
459
518
  if (errorDetails !== undefined)
460
519
  return new logic_error_1.LogicError(errorDetails, buffer_1.Buffer.from(isClear ? this.appSpec.source.clear : this.appSpec.source.approval, 'base64')
461
520
  .toString()
@@ -467,4 +526,4 @@ class ApplicationClient {
467
526
  }
468
527
  }
469
528
  exports.ApplicationClient = ApplicationClient;
470
- //# sourceMappingURL=application-client.js.map
529
+ //# sourceMappingURL=app-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-client.js","sourceRoot":"","sources":["../../src/types/app-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,141 @@
1
+ import { ABIContractParams } from 'algosdk';
2
+ /** An ARC-0032 Application Specification see https://github.com/algorandfoundation/ARCs/pull/150 */
3
+ export interface AppSpec {
4
+ /** Method call hints */
5
+ hints: HintSpec;
6
+ /** The TEAL source */
7
+ source: AppSources;
8
+ /** The ABI-0004 contract definition see https://github.com/algorandfoundation/ARCs/blob/main/ARCs/arc-0004.md */
9
+ contract: ABIContractParams;
10
+ /** The values that make up the local and global state */
11
+ schema: SchemaSpec;
12
+ /** The rolled-up schema allocation values for local and global state */
13
+ state: StateSchemaSpec;
14
+ /** The config of all BARE calls (i.e. non ABI calls with no args) */
15
+ bare_call_config: {
16
+ /** NoOp bare call config */
17
+ no_op?: CallConfigValue;
18
+ /** Opt-in bare call config */
19
+ opt_in?: CallConfigValue;
20
+ /** Close out bare call config */
21
+ close_out?: CallConfigValue;
22
+ /** Clear state bare call config */
23
+ clear_state?: CallConfigValue;
24
+ /** Update bare call config */
25
+ update_application?: CallConfigValue;
26
+ /** Delete bare call config */
27
+ delete_application?: CallConfigValue;
28
+ };
29
+ }
30
+ /** A lookup of encoded method call spec to hint */
31
+ export type HintSpec = Record<string, Hint>;
32
+ /** The TEAL source of a contract */
33
+ export interface AppSources {
34
+ /** The TEAL source of the approval program */
35
+ approval: string;
36
+ /** The TEAL source of the clear program */
37
+ clear: string;
38
+ }
39
+ /** The various call configs:
40
+ * * `NEVER`: Will not be called
41
+ * * `CALL`: Can be called during a non-create call i.e. app id != 0
42
+ * * `CREATE`: Can be called during a create call i.e. app id = 0
43
+ * * `ALL`: Can be during a create OR non-create call
44
+ **/
45
+ export type CallConfigValue = 'NEVER' | 'CALL' | 'CREATE' | 'ALL';
46
+ /** Hint information for a given method call to allow client generation */
47
+ export interface Hint {
48
+ /** Any user-defined struct/tuple types used in the method call, keyed by parameter name or `output` for return type */
49
+ structs: Record<string, Struct>;
50
+ readonly: boolean;
51
+ default_arguments: Record<string, DefaultArgument>;
52
+ call_config: {
53
+ no_op?: CallConfigValue;
54
+ opt_in?: CallConfigValue;
55
+ close_out?: CallConfigValue;
56
+ clear_state?: CallConfigValue;
57
+ update_application?: CallConfigValue;
58
+ delete_application?: CallConfigValue;
59
+ };
60
+ }
61
+ /** The name of a field */
62
+ export type FieldName = string;
63
+ /** The string name of an ABI type */
64
+ export type ABIType = string;
65
+ /** The elements of the struct/tuple: `FieldName`, `ABIType` */
66
+ export type StructElement = [FieldName, ABIType];
67
+ /** A user-defined struct/tuple type */
68
+ export interface Struct {
69
+ /** The name of the type */
70
+ name: string;
71
+ /** The elements (in order) that make up the struct/tuple */
72
+ elements: StructElement[];
73
+ }
74
+ /** Any default argument specifications for the given parameter */
75
+ export interface DefaultArgument {
76
+ /** The source of the default argument value:
77
+ * * `global-state`: Global state; `data` is the name of the global state variable
78
+ * * `local-state`: Local state; `data` is the name of the local state variable
79
+ * * `abi-method`: ABI method call; `data` is the method spec of the ABI method to call
80
+ * * `constant`: A constant value; `data` is the value to use
81
+ */
82
+ source: 'global-state' | 'local-state' | 'abi-method' | 'constant';
83
+ /** The name or value corresponding to the source */
84
+ data: string | bigint | number;
85
+ }
86
+ /** AVM data type */
87
+ export declare enum AVMType {
88
+ uint64 = 0,
89
+ bytes = 1
90
+ }
91
+ /** Declared schema value specification */
92
+ export interface DeclaredSchemaValueSpec {
93
+ /** The type of value */
94
+ type: AVMType;
95
+ /** The name of the key */
96
+ key: string;
97
+ /** A description of the variable */
98
+ desc?: string;
99
+ /** Whether or not the value is set statically (at create time only) or dynamically */
100
+ static: boolean;
101
+ }
102
+ /** Reserved schema value specification */
103
+ export interface ReservedSchemaValueSpec {
104
+ /** The type of value */
105
+ type: AVMType;
106
+ /** The description of the reserved storage space */
107
+ desc: string;
108
+ /** The maximum number of slots to reserve */
109
+ max_keys: number;
110
+ }
111
+ /** The schema for global and local storage */
112
+ export interface SchemaSpec {
113
+ /** The local storage schema */
114
+ local: Schema;
115
+ /** The global storage schema */
116
+ global: Schema;
117
+ }
118
+ /** The storage schema definition */
119
+ export interface Schema {
120
+ /** Declared storage schema */
121
+ declared: Record<string, DeclaredSchemaValueSpec>;
122
+ /** Reserved storage schema */
123
+ reserved: Record<string, ReservedSchemaValueSpec>;
124
+ }
125
+ /** The rolled-up schema allocation specification for local and global state */
126
+ export interface StateSchemaSpec {
127
+ /** Global storage spec */
128
+ global: StateSchema;
129
+ /** Local storage spec */
130
+ local: StateSchema;
131
+ }
132
+ /** Schema spec summary for global or local storage */
133
+ export type StateSchema = {
134
+ /** Number of uint slots */
135
+ num_uints: number;
136
+ /** Number of byte slots */
137
+ num_byte_slices: number;
138
+ };
139
+ /** @deprecated Use `algokit.getABIMethodSignature` instead */
140
+ export declare const getABISignature: (method: import("algosdk").ABIMethodParams | import("algosdk").ABIMethod) => string;
141
+ //# sourceMappingURL=app-spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-spec.d.ts","sourceRoot":"","sources":["../../src/types/app-spec.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getABISignature = exports.AVMType = void 0;
4
+ const app_1 = require("../app");
5
+ /** AVM data type */
4
6
  var AVMType;
5
7
  (function (AVMType) {
6
8
  AVMType[AVMType["uint64"] = 0] = "uint64";
7
9
  AVMType[AVMType["bytes"] = 1] = "bytes";
8
10
  })(AVMType = exports.AVMType || (exports.AVMType = {}));
9
- const getABISignature = (method) => {
10
- const argSignature = method.args.map((a) => a.type).join(',');
11
- const returnSignature = method.returns.type;
12
- return `{${method.name}}(${argSignature})${returnSignature}`;
13
- };
14
- exports.getABISignature = getABISignature;
15
- //# sourceMappingURL=appspec.js.map
11
+ /** @deprecated Use `algokit.getABIMethodSignature` instead */
12
+ exports.getABISignature = app_1.getABIMethodSignature;
13
+ //# sourceMappingURL=app-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-spec.js","sourceRoot":"","sources":["../../src/types/app-spec.ts"],"names":[],"mappings":";;;AACA,gCAA8C;AAgG9C,oBAAoB;AACpB,IAAY,OAGX;AAHD,WAAY,OAAO;IACjB,yCAAM,CAAA;IACN,uCAAK,CAAA;AACP,CAAC,EAHW,OAAO,GAAP,eAAO,KAAP,eAAO,QAGlB;AAwDD,8DAA8D;AACjD,QAAA,eAAe,GAAG,2BAAqB,CAAA"}