@algorandfoundation/algokit-utils 1.0.0-beta.9 → 1.0.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 (140) hide show
  1. package/account.d.ts +35 -31
  2. package/account.d.ts.map +1 -1
  3. package/account.js +53 -39
  4. package/account.js.map +1 -1
  5. package/amount.d.ts +8 -0
  6. package/amount.d.ts.map +1 -0
  7. package/amount.js +24 -0
  8. package/amount.js.map +1 -0
  9. package/app.d.ts +64 -145
  10. package/app.d.ts.map +1 -1
  11. package/app.js +197 -39
  12. package/app.js.map +1 -1
  13. package/application-client.d.ts +9 -112
  14. package/application-client.d.ts.map +1 -1
  15. package/application-client.js +11 -254
  16. package/application-client.js.map +1 -1
  17. package/deploy-app.d.ts +20 -91
  18. package/deploy-app.d.ts.map +1 -1
  19. package/deploy-app.js +84 -93
  20. package/deploy-app.js.map +1 -1
  21. package/index.d.ts +4 -2
  22. package/index.d.ts.map +1 -1
  23. package/index.js +5 -2
  24. package/index.js.map +1 -1
  25. package/localnet.d.ts +4 -4
  26. package/localnet.d.ts.map +1 -1
  27. package/localnet.js +10 -10
  28. package/localnet.js.map +1 -1
  29. package/network-client.d.ts +11 -20
  30. package/network-client.d.ts.map +1 -1
  31. package/network-client.js +11 -11
  32. package/network-client.js.map +1 -1
  33. package/package.json +2 -2
  34. package/testing/account.d.ts +14 -0
  35. package/testing/account.d.ts.map +1 -0
  36. package/testing/account.js +31 -0
  37. package/testing/account.js.map +1 -0
  38. package/testing/fixtures/algokit-log-capture-fixture.d.ts +19 -0
  39. package/testing/fixtures/algokit-log-capture-fixture.d.ts.map +1 -0
  40. package/testing/fixtures/algokit-log-capture-fixture.js +43 -0
  41. package/testing/fixtures/algokit-log-capture-fixture.js.map +1 -0
  42. package/testing/fixtures/algorand-fixture.d.ts +20 -0
  43. package/testing/fixtures/algorand-fixture.d.ts.map +1 -0
  44. package/testing/fixtures/algorand-fixture.js +49 -0
  45. package/testing/fixtures/algorand-fixture.js.map +1 -0
  46. package/testing/fixtures/index.d.ts +3 -0
  47. package/testing/fixtures/index.d.ts.map +1 -0
  48. package/testing/fixtures/index.js +19 -0
  49. package/testing/fixtures/index.js.map +1 -0
  50. package/testing/index.d.ts +6 -0
  51. package/testing/index.d.ts.map +1 -0
  52. package/testing/index.js +22 -0
  53. package/testing/index.js.map +1 -0
  54. package/testing/indexer.d.ts +12 -0
  55. package/testing/indexer.d.ts.map +1 -0
  56. package/testing/indexer.js +39 -0
  57. package/testing/indexer.js.map +1 -0
  58. package/testing/test-logger.d.ts +39 -0
  59. package/testing/test-logger.d.ts.map +1 -0
  60. package/testing/test-logger.js +69 -0
  61. package/testing/test-logger.js.map +1 -0
  62. package/testing/transaction-logger.d.ts +29 -0
  63. package/testing/transaction-logger.d.ts.map +1 -0
  64. package/testing/transaction-logger.js +71 -0
  65. package/testing/transaction-logger.js.map +1 -0
  66. package/transaction.d.ts +4 -81
  67. package/transaction.d.ts.map +1 -1
  68. package/transaction.js +39 -89
  69. package/transaction.js.map +1 -1
  70. package/transfer.d.ts +13 -16
  71. package/transfer.d.ts.map +1 -1
  72. package/transfer.js +35 -3
  73. package/transfer.js.map +1 -1
  74. package/types/account.d.ts +52 -0
  75. package/types/account.d.ts.map +1 -0
  76. package/types/account.js +86 -0
  77. package/types/account.js.map +1 -0
  78. package/types/algo-http-client-with-retry.d.ts.map +1 -0
  79. package/{algo-http-client-with-retry.js → types/algo-http-client-with-retry.js} +2 -2
  80. package/types/algo-http-client-with-retry.js.map +1 -0
  81. package/types/algod.d.ts +22 -9
  82. package/types/algod.d.ts.map +1 -1
  83. package/{algo-amount.d.ts → types/amount.d.ts} +3 -1
  84. package/types/amount.d.ts.map +1 -0
  85. package/{algo-amount.js → types/amount.js} +7 -1
  86. package/types/amount.js.map +1 -0
  87. package/types/app.d.ts +279 -0
  88. package/types/app.d.ts.map +1 -0
  89. package/types/app.js +32 -0
  90. package/types/app.js.map +1 -0
  91. package/types/application-client.d.ts +229 -0
  92. package/types/application-client.d.ts.map +1 -0
  93. package/types/application-client.js +470 -0
  94. package/types/application-client.js.map +1 -0
  95. package/types/appspec.d.ts +1 -2
  96. package/types/appspec.d.ts.map +1 -1
  97. package/types/appspec.js.map +1 -1
  98. package/types/config.d.ts +15 -0
  99. package/types/config.d.ts.map +1 -0
  100. package/types/config.js +27 -0
  101. package/types/config.js.map +1 -0
  102. package/types/indexer.d.ts +8 -9
  103. package/types/indexer.d.ts.map +1 -1
  104. package/{config.d.ts → types/logging.d.ts} +2 -16
  105. package/types/logging.d.ts.map +1 -0
  106. package/{config.js → types/logging.js} +5 -24
  107. package/types/logging.js.map +1 -0
  108. package/types/logic-error.d.ts +33 -0
  109. package/types/logic-error.d.ts.map +1 -0
  110. package/types/logic-error.js +46 -0
  111. package/types/logic-error.js.map +1 -0
  112. package/types/network-client.d.ts +11 -0
  113. package/types/network-client.d.ts.map +1 -0
  114. package/types/network-client.js +3 -0
  115. package/types/network-client.js.map +1 -0
  116. package/types/testing.d.ts +89 -0
  117. package/types/testing.d.ts.map +1 -0
  118. package/types/testing.js +3 -0
  119. package/types/testing.js.map +1 -0
  120. package/types/transaction.d.ts +67 -0
  121. package/types/transaction.d.ts.map +1 -0
  122. package/types/transaction.js +3 -0
  123. package/types/transaction.js.map +1 -0
  124. package/types/transfer.d.ts +32 -0
  125. package/types/transfer.d.ts.map +1 -0
  126. package/types/transfer.js +3 -0
  127. package/types/transfer.js.map +1 -0
  128. package/types/urlTokenBaseHTTPClient.d.ts.map +1 -0
  129. package/types/urlTokenBaseHTTPClient.js.map +1 -0
  130. package/algo-amount.d.ts.map +0 -1
  131. package/algo-amount.js.map +0 -1
  132. package/algo-http-client-with-retry.d.ts.map +0 -1
  133. package/algo-http-client-with-retry.js.map +0 -1
  134. package/config.d.ts.map +0 -1
  135. package/config.js.map +0 -1
  136. package/urlTokenBaseHTTPClient.d.ts.map +0 -1
  137. package/urlTokenBaseHTTPClient.js.map +0 -1
  138. /package/{algo-http-client-with-retry.d.ts → types/algo-http-client-with-retry.d.ts} +0 -0
  139. /package/{urlTokenBaseHTTPClient.d.ts → types/urlTokenBaseHTTPClient.d.ts} +0 -0
  140. /package/{urlTokenBaseHTTPClient.js → types/urlTokenBaseHTTPClient.js} +0 -0
package/deploy-app.js CHANGED
@@ -1,60 +1,45 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.performTemplateSubstitutionAndCompile = exports.performTemplateSubstitution = exports.replaceDeployTimeControlParams = exports.getAppDeploymentTransactionNote = exports.getCreatorAppsByName = exports.schemaIsBroken = exports.deployApp = exports.OnSchemaBreak = exports.OnUpdate = exports.APP_DEPLOY_NOTE_PREFIX = exports.DELETABLE_TEMPLATE_NAME = exports.UPDATABLE_TEMPLATE_NAME = void 0;
3
+ exports.performTemplateSubstitutionAndCompile = exports.performTemplateSubstitution = exports.replaceDeployTimeControlParams = exports.getAppDeploymentTransactionNote = exports.getCreatorAppsByName = exports.isSchemaIsBroken = exports.deployApp = void 0;
4
4
  const algosdk_1 = require("algosdk");
5
+ const _1 = require("./");
5
6
  const app_1 = require("./app");
6
- const config_1 = require("./config");
7
7
  const indexer_lookup_1 = require("./indexer-lookup");
8
8
  const transaction_1 = require("./transaction");
9
- exports.UPDATABLE_TEMPLATE_NAME = 'TMPL_UPDATABLE';
10
- exports.DELETABLE_TEMPLATE_NAME = 'TMPL_DELETABLE';
11
- exports.APP_DEPLOY_NOTE_PREFIX = 'APP_DEPLOY::';
12
- /** What action to perform when deploying an app and an update is detected in the TEAL code */
13
- var OnUpdate;
14
- (function (OnUpdate) {
15
- /** Fail the deployment */
16
- OnUpdate[OnUpdate["Fail"] = 0] = "Fail";
17
- /** Update the app */
18
- OnUpdate[OnUpdate["UpdateApp"] = 1] = "UpdateApp";
19
- /** Delete the app and create a new one in its place */
20
- OnUpdate[OnUpdate["ReplaceApp"] = 2] = "ReplaceApp";
21
- })(OnUpdate = exports.OnUpdate || (exports.OnUpdate = {}));
22
- /** What action to perform when deploying an app and a breaking schema change is detected */
23
- var OnSchemaBreak;
24
- (function (OnSchemaBreak) {
25
- /** Fail the deployment */
26
- OnSchemaBreak[OnSchemaBreak["Fail"] = 0] = "Fail";
27
- /** Delete the app and create a new one in its place */
28
- OnSchemaBreak[OnSchemaBreak["ReplaceApp"] = 1] = "ReplaceApp";
29
- })(OnSchemaBreak = exports.OnSchemaBreak || (exports.OnSchemaBreak = {}));
9
+ const app_2 = require("./types/app");
30
10
  /**
31
11
  * Idempotently deploy (create, update/delete if changed) an app against the given name via the given creator account, including deploy-time template placeholder substitutions.
32
12
  *
33
13
  * 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
34
14
  *
15
+ * **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`.
16
+ *
35
17
  * **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.
36
18
  *
37
19
  * **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.
38
20
  * @param deployment The arguments to control the app deployment
39
21
  * @param algod An algod client
40
- * @param indexer An indexer client
22
+ * @param indexer An indexer client, needed if `existingDeployments` not passed in
41
23
  * @returns The app reference of the new/existing app
42
24
  */
43
25
  async function deployApp(deployment, algod, indexer) {
44
- const { metadata, deployTimeParameters, onSchemaBreak, onUpdate, existingDeployments, createArgs, updateArgs, deleteArgs, ...appParams } = deployment;
26
+ const { metadata, deployTimeParams: deployTimeParameters, onSchemaBreak, onUpdate, existingDeployments, createArgs, updateArgs, deleteArgs, ...appParams } = deployment;
45
27
  if (existingDeployments && existingDeployments.creator !== (0, transaction_1.getSenderAddress)(appParams.from)) {
46
28
  throw new Error(`Received invalid existingDeployments value for creator ${existingDeployments.creator} when attempting to deploy for creator ${appParams.from}`);
47
29
  }
48
- config_1.AlgoKitConfig.getLogger(appParams.suppressLog).info(`Idempotently deploying app "${metadata.name}" from creator ${(0, transaction_1.getSenderAddress)(appParams.from)} using ${appParams.approvalProgram.length} bytes of teal code and ${appParams.clearStateProgram.length} bytes of teal code`);
49
- appParams.approvalProgram =
50
- typeof appParams.approvalProgram === 'string'
51
- ? (await performTemplateSubstitutionAndCompile(appParams.approvalProgram, algod, deployTimeParameters, metadata))
52
- .compiledBase64ToBytes
53
- : appParams.approvalProgram;
54
- appParams.clearStateProgram =
55
- typeof appParams.clearStateProgram === 'string'
56
- ? (await performTemplateSubstitutionAndCompile(appParams.clearStateProgram, algod, deployTimeParameters)).compiledBase64ToBytes
57
- : appParams.clearStateProgram;
30
+ if (!existingDeployments && !indexer) {
31
+ throw new Error(`Didn't receive an indexer client, but also didn't receive an existingDeployments cache - one of them must be provided`);
32
+ }
33
+ _1.Config.getLogger(appParams.suppressLog).info(`Idempotently deploying app "${metadata.name}" from creator ${(0, transaction_1.getSenderAddress)(appParams.from)} using ${appParams.approvalProgram.length} bytes of teal code and ${appParams.clearStateProgram.length} bytes of teal code`);
34
+ const compiledApproval = typeof appParams.approvalProgram === 'string'
35
+ ? await performTemplateSubstitutionAndCompile(appParams.approvalProgram, algod, deployTimeParameters, metadata)
36
+ : undefined;
37
+ appParams.approvalProgram = compiledApproval ? compiledApproval.compiledBase64ToBytes : appParams.approvalProgram;
38
+ const compiledClear = typeof appParams.clearStateProgram === 'string'
39
+ ? await performTemplateSubstitutionAndCompile(appParams.clearStateProgram, algod, deployTimeParameters)
40
+ : undefined;
41
+ appParams.clearStateProgram = compiledClear ? compiledClear.compiledBase64ToBytes : appParams.clearStateProgram;
42
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
58
43
  const apps = existingDeployments ?? (await getCreatorAppsByName(appParams.from, indexer));
59
44
  const create = async (skipSending) => {
60
45
  const result = await (0, app_1.createApp)({
@@ -66,8 +51,9 @@ async function deployApp(deployment, algod, indexer) {
66
51
  }, algod);
67
52
  return {
68
53
  transaction: result.transaction,
54
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
69
55
  confirmation: result.confirmation,
70
- appIndex: result.appIndex,
56
+ appId: result.appId,
71
57
  appAddress: result.appAddress,
72
58
  createdMetadata: metadata,
73
59
  createdRound: Number(result.confirmation?.['confirmed-round']),
@@ -75,15 +61,17 @@ async function deployApp(deployment, algod, indexer) {
75
61
  ...metadata,
76
62
  deleted: false,
77
63
  operationPerformed: 'create',
64
+ compiledApproval,
65
+ compiledClear,
78
66
  };
79
67
  };
80
68
  const existingApp = apps.apps[metadata.name];
81
- if (!existingApp) {
82
- config_1.AlgoKitConfig.getLogger(appParams.suppressLog).info(`App ${metadata.name} not found in apps created by ${(0, transaction_1.getSenderAddress)(appParams.from)}; deploying app with version ${metadata.version}.`);
69
+ if (!existingApp || existingApp.deleted) {
70
+ _1.Config.getLogger(appParams.suppressLog).info(`App ${metadata.name} not found in apps created by ${(0, transaction_1.getSenderAddress)(appParams.from)}; deploying app with version ${metadata.version}.`);
83
71
  return await create();
84
72
  }
85
- config_1.AlgoKitConfig.getLogger(appParams.suppressLog).info(`Existing app ${metadata.name} found by creator ${(0, transaction_1.getSenderAddress)(appParams.from)}, with app index ${existingApp.appIndex} and version ${existingApp.version}.`);
86
- const existingAppRecord = await (0, app_1.getAppByIndex)(existingApp.appIndex, algod);
73
+ _1.Config.getLogger(appParams.suppressLog).info(`Existing app ${metadata.name} found by creator ${(0, transaction_1.getSenderAddress)(appParams.from)}, with app id ${existingApp.appId} and version ${existingApp.version}.`);
74
+ const existingAppRecord = await (0, app_1.getAppByIndex)(existingApp.appId, algod);
87
75
  const existingApproval = existingAppRecord.params['approval-program'];
88
76
  const existingClear = existingAppRecord.params['clear-state-program'];
89
77
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
@@ -101,15 +89,15 @@ async function deployApp(deployment, algod, indexer) {
101
89
  const newApproval = Buffer.from(appParams.approvalProgram).toString('base64');
102
90
  const newClear = Buffer.from(appParams.clearStateProgram).toString('base64');
103
91
  const isUpdate = newApproval !== existingApproval || newClear !== existingClear;
104
- const isSchemaBreak = schemaIsBroken(existingGlobalSchema, newGlobalSchema) || schemaIsBroken(existingLocalSchema, newLocalSchema);
92
+ const isSchemaBreak = isSchemaIsBroken(existingGlobalSchema, newGlobalSchema) || isSchemaIsBroken(existingLocalSchema, newLocalSchema);
105
93
  const replace = async () => {
106
94
  // Create
107
- config_1.AlgoKitConfig.getLogger(appParams.suppressLog).info(`Deploying a new ${metadata.name} app for ${(0, transaction_1.getSenderAddress)(appParams.from)}; deploying app with version ${metadata.version}.`);
95
+ _1.Config.getLogger(appParams.suppressLog).info(`Deploying a new ${metadata.name} app for ${(0, transaction_1.getSenderAddress)(appParams.from)}; deploying app with version ${metadata.version}.`);
108
96
  const { transaction: createTransaction } = await create(true);
109
97
  // Delete
110
- config_1.AlgoKitConfig.getLogger(appParams.suppressLog).warn(`Deleting existing ${metadata.name} app with index ${existingApp.appIndex} from ${(0, transaction_1.getSenderAddress)(appParams.from)} account.`);
98
+ _1.Config.getLogger(appParams.suppressLog).warn(`Deleting existing ${metadata.name} app with id ${existingApp.appId} from ${(0, transaction_1.getSenderAddress)(appParams.from)} account.`);
111
99
  const { transaction: deleteTransaction } = await (0, app_1.callApp)({
112
- appIndex: existingApp.appIndex,
100
+ appId: existingApp.appId,
113
101
  callType: 'delete',
114
102
  from: appParams.from,
115
103
  args: deleteArgs,
@@ -141,11 +129,12 @@ async function deployApp(deployment, algod, indexer) {
141
129
  const deleteConfirmation = confirmations[1];
142
130
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
143
131
  const newAppIndex = createConfirmation['application-index'];
144
- config_1.AlgoKitConfig.getLogger(appParams.suppressLog).warn(`Sent transactions ${createTransaction.txID()} to create app with index ${newAppIndex} and ${deleteTransaction.txID()} to delete app with index ${existingApp.appIndex} from ${(0, transaction_1.getSenderAddress)(appParams.from)} account.`);
132
+ _1.Config.getLogger(appParams.suppressLog).warn(`Sent transactions ${createTransaction.txID()} to create app with id ${newAppIndex} and ${deleteTransaction.txID()} to delete app with id ${existingApp.appId} from ${(0, transaction_1.getSenderAddress)(appParams.from)} account.`);
145
133
  return {
146
134
  transaction: createTransaction,
135
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
147
136
  confirmation: createConfirmation,
148
- appIndex: newAppIndex,
137
+ appId: newAppIndex,
149
138
  appAddress: (0, algosdk_1.getApplicationAddress)(newAppIndex),
150
139
  createdMetadata: metadata,
151
140
  createdRound: Number(createConfirmation['confirmed-round']),
@@ -154,12 +143,14 @@ async function deployApp(deployment, algod, indexer) {
154
143
  deleted: false,
155
144
  deleteResult: { transaction: deleteTransaction, confirmation: deleteConfirmation },
156
145
  operationPerformed: 'replace',
146
+ compiledApproval,
147
+ compiledClear,
157
148
  };
158
149
  };
159
150
  const update = async () => {
160
- config_1.AlgoKitConfig.getLogger(appParams.suppressLog).info(`Updating existing ${metadata.name} app for ${(0, transaction_1.getSenderAddress)(appParams.from)} to version ${metadata.version}.`);
151
+ _1.Config.getLogger(appParams.suppressLog).info(`Updating existing ${metadata.name} app for ${(0, transaction_1.getSenderAddress)(appParams.from)} to version ${metadata.version}.`);
161
152
  const result = await (0, app_1.updateApp)({
162
- appIndex: existingApp.appIndex,
153
+ appId: existingApp.appId,
163
154
  from: appParams.from,
164
155
  args: updateArgs,
165
156
  note: getAppDeploymentTransactionNote(metadata),
@@ -172,8 +163,9 @@ async function deployApp(deployment, algod, indexer) {
172
163
  }, algod);
173
164
  return {
174
165
  transaction: result.transaction,
166
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
175
167
  confirmation: result.confirmation,
176
- appIndex: existingApp.appIndex,
168
+ appId: existingApp.appId,
177
169
  appAddress: existingApp.appAddress,
178
170
  createdMetadata: existingApp.createdMetadata,
179
171
  createdRound: existingApp.createdRound,
@@ -181,10 +173,12 @@ async function deployApp(deployment, algod, indexer) {
181
173
  ...metadata,
182
174
  deleted: false,
183
175
  operationPerformed: 'update',
176
+ compiledApproval,
177
+ compiledClear,
184
178
  };
185
179
  };
186
180
  if (isSchemaBreak) {
187
- config_1.AlgoKitConfig.getLogger(appParams.suppressLog).warn(`Detected a breaking app schema change in app ${existingApp.appIndex}:`, {
181
+ _1.Config.getLogger(appParams.suppressLog).warn(`Detected a breaking app schema change in app ${existingApp.appId}:`, {
188
182
  from: {
189
183
  global: existingGlobalSchema,
190
184
  local: existingLocalSchema,
@@ -194,47 +188,47 @@ async function deployApp(deployment, algod, indexer) {
194
188
  local: newLocalSchema,
195
189
  },
196
190
  });
197
- if (onSchemaBreak === undefined || onSchemaBreak === 'fail' || onSchemaBreak === OnSchemaBreak.Fail) {
191
+ if (onSchemaBreak === undefined || onSchemaBreak === 'fail' || onSchemaBreak === app_2.OnSchemaBreak.Fail) {
198
192
  throw new Error('Schema break detected and onSchemaBreak=OnSchemaBreak.Fail, stopping deployment. ' +
199
193
  'If you want to try deleting and recreating the app then ' +
200
194
  're-run with onSchemaBreak=OnSchemaBreak.ReplaceApp');
201
195
  }
202
196
  if (existingApp.deletable) {
203
- config_1.AlgoKitConfig.getLogger(appParams.suppressLog).info('App is deletable and onSchemaBreak=ReplaceApp, will attempt to create new app and delete old app');
197
+ _1.Config.getLogger(appParams.suppressLog).info('App is deletable and onSchemaBreak=ReplaceApp, will attempt to create new app and delete old app');
204
198
  }
205
199
  else {
206
- config_1.AlgoKitConfig.getLogger(appParams.suppressLog).info('App is not deletable but onSchemaBreak=ReplaceApp, will attempt to delete app, delete will most likely fail');
200
+ _1.Config.getLogger(appParams.suppressLog).info('App is not deletable but onSchemaBreak=ReplaceApp, will attempt to delete app, delete will most likely fail');
207
201
  }
208
202
  return await replace();
209
203
  }
210
204
  if (isUpdate) {
211
- config_1.AlgoKitConfig.getLogger(appParams.suppressLog).info(`Detected a TEAL update in app ${existingApp.appIndex} for creator ${(0, transaction_1.getSenderAddress)(appParams.from)}`);
212
- if (onUpdate === undefined || onUpdate === 'fail' || onUpdate === OnUpdate.Fail) {
205
+ _1.Config.getLogger(appParams.suppressLog).info(`Detected a TEAL update in app ${existingApp.appId} for creator ${(0, transaction_1.getSenderAddress)(appParams.from)}`);
206
+ if (onUpdate === undefined || onUpdate === 'fail' || onUpdate === app_2.OnUpdate.Fail) {
213
207
  throw new Error('Update detected and onUpdate=Fail, stopping deployment. ' +
214
208
  'If you want to try deleting and recreating the app then ' +
215
209
  're-run with onUpdate=UpdateApp');
216
210
  }
217
- if (onUpdate === 'update' || onUpdate === OnUpdate.UpdateApp) {
211
+ if (onUpdate === 'update' || onUpdate === app_2.OnUpdate.UpdateApp) {
218
212
  if (existingApp.updatable) {
219
- config_1.AlgoKitConfig.getLogger(appParams.suppressLog).info(`App is updatable and onUpdate=UpdateApp, updating app...`);
213
+ _1.Config.getLogger(appParams.suppressLog).info(`App is updatable and onUpdate=UpdateApp, updating app...`);
220
214
  }
221
215
  else {
222
- config_1.AlgoKitConfig.getLogger(appParams.suppressLog).warn(`App is not updatable but onUpdate=UpdateApp, will attempt to update app, update will most likely fail`);
216
+ _1.Config.getLogger(appParams.suppressLog).warn(`App is not updatable but onUpdate=UpdateApp, will attempt to update app, update will most likely fail`);
223
217
  }
224
218
  return await update();
225
219
  }
226
- if (onUpdate === 'replace' || onUpdate === OnUpdate.ReplaceApp) {
220
+ if (onUpdate === 'replace' || onUpdate === app_2.OnUpdate.ReplaceApp) {
227
221
  if (existingApp.deletable) {
228
- config_1.AlgoKitConfig.getLogger(appParams.suppressLog).warn('App is deletable and onUpdate=ReplaceApp, creating new app and deleting old app...');
222
+ _1.Config.getLogger(appParams.suppressLog).warn('App is deletable and onUpdate=ReplaceApp, creating new app and deleting old app...');
229
223
  }
230
224
  else {
231
- config_1.AlgoKitConfig.getLogger(appParams.suppressLog).warn('App is not deletable and onUpdate=ReplaceApp, will attempt to create new app and delete old app, delete will most likely fail');
225
+ _1.Config.getLogger(appParams.suppressLog).warn('App is not deletable and onUpdate=ReplaceApp, will attempt to create new app and delete old app, delete will most likely fail');
232
226
  }
233
227
  return await replace();
234
228
  }
235
229
  }
236
- config_1.AlgoKitConfig.getLogger(appParams.suppressLog).debug('No detected changes in app, nothing to do.');
237
- return { ...existingApp, operationPerformed: 'none' };
230
+ _1.Config.getLogger(appParams.suppressLog).debug('No detected changes in app, nothing to do.');
231
+ return { ...existingApp, operationPerformed: 'nothing', compiledApproval, compiledClear };
238
232
  }
239
233
  exports.deployApp = deployApp;
240
234
  /** Returns true is there is a breaking change in the application state schema from before to after.
@@ -245,10 +239,10 @@ exports.deployApp = deployApp;
245
239
  * @param after The new schema
246
240
  * @returns Whether or not there is a breaking change
247
241
  */
248
- function schemaIsBroken(before, after) {
242
+ function isSchemaIsBroken(before, after) {
249
243
  return before['num-byte-slice'] < after['num-byte-slice'] || before['num-uint'] < after['num-uint'];
250
244
  }
251
- exports.schemaIsBroken = schemaIsBroken;
245
+ exports.isSchemaIsBroken = isSchemaIsBroken;
252
246
  /**
253
247
  * Returns a lookup of name => app metadata (id, address, ...metadata) for all apps created by the given account that have an @see {AppDeployNote} in the transaction note of the creation transaction.
254
248
  *
@@ -275,7 +269,7 @@ async function getCreatorAppsByName(creatorAccount, indexer) {
275
269
  .applicationID(createdApp.id)
276
270
  .address(creatorAddress)
277
271
  .addressRole('sender')
278
- .notePrefix(Buffer.from(exports.APP_DEPLOY_NOTE_PREFIX).toString('base64')));
272
+ .notePrefix(Buffer.from(app_2.APP_DEPLOY_NOTE_DAPP).toString('base64')));
279
273
  // Triple check the transaction is intact by filtering for the one we want:
280
274
  // * application-id is 0 when the app is first created
281
275
  // * also verify the sender to prevent a potential security risk
@@ -300,17 +294,17 @@ async function getCreatorAppsByName(creatorAccount, indexer) {
300
294
  const decoder = new TextDecoder();
301
295
  const noteAsBase64 = decoder.decode(Buffer.from(note));
302
296
  const noteAsString = Buffer.from(noteAsBase64, 'base64').toString('utf-8');
303
- if (!noteAsString.startsWith(`${exports.APP_DEPLOY_NOTE_PREFIX}{`))
297
+ if (!noteAsString.startsWith(`${app_2.APP_DEPLOY_NOTE_DAPP}:j{`))
304
298
  // Clearly not APP_DEPLOY JSON; ignoring...
305
299
  return;
306
- return JSON.parse(noteAsString.substring(exports.APP_DEPLOY_NOTE_PREFIX.length));
300
+ return JSON.parse(noteAsString.substring(app_2.APP_DEPLOY_NOTE_DAPP.length + 2));
307
301
  };
308
302
  try {
309
303
  const creationNote = parseNote(appCreationTransaction.note);
310
304
  const updateNote = parseNote(latestAppUpdateTransaction.note);
311
305
  if (creationNote?.name) {
312
306
  appLookup[creationNote.name] = {
313
- appIndex: createdApp.id,
307
+ appId: createdApp.id,
314
308
  appAddress: (0, algosdk_1.getApplicationAddress)(createdApp.id),
315
309
  createdMetadata: creationNote,
316
310
  createdRound: Number(appCreationTransaction['confirmed-round']),
@@ -321,7 +315,7 @@ async function getCreatorAppsByName(creatorAccount, indexer) {
321
315
  }
322
316
  }
323
317
  catch (e) {
324
- config_1.AlgoKitConfig.logger.warn(`Received error trying to retrieve app with ${createdApp.id} for creator ${creatorAddress}; failing silently`, e);
318
+ _1.Config.logger.warn(`Received error trying to retrieve app with ${createdApp.id} for creator ${creatorAddress}; failing silently`, e);
325
319
  return;
326
320
  }
327
321
  }));
@@ -337,7 +331,11 @@ exports.getCreatorAppsByName = getCreatorAppsByName;
337
331
  * @returns The transaction note as a utf-8 string
338
332
  */
339
333
  function getAppDeploymentTransactionNote(metadata) {
340
- return `${exports.APP_DEPLOY_NOTE_PREFIX}${JSON.stringify(metadata)}`;
334
+ return {
335
+ dAppName: app_2.APP_DEPLOY_NOTE_DAPP,
336
+ data: metadata,
337
+ format: 'j',
338
+ };
341
339
  }
342
340
  exports.getAppDeploymentTransactionNote = getAppDeploymentTransactionNote;
343
341
  /**
@@ -352,16 +350,16 @@ exports.getAppDeploymentTransactionNote = getAppDeploymentTransactionNote;
352
350
  */
353
351
  function replaceDeployTimeControlParams(tealCode, params) {
354
352
  if (params.updatable !== undefined) {
355
- if (!tealCode.includes(exports.UPDATABLE_TEMPLATE_NAME)) {
356
- throw new Error(`Deploy-time updatability control requested for app deployment, but ${exports.UPDATABLE_TEMPLATE_NAME} not present in TEAL code`);
353
+ if (!tealCode.includes(app_2.UPDATABLE_TEMPLATE_NAME)) {
354
+ throw new Error(`Deploy-time updatability control requested for app deployment, but ${app_2.UPDATABLE_TEMPLATE_NAME} not present in TEAL code`);
357
355
  }
358
- tealCode = tealCode.replace(new RegExp(exports.UPDATABLE_TEMPLATE_NAME, 'g'), (params.updatable ? 1 : 0).toString());
356
+ tealCode = tealCode.replace(new RegExp(app_2.UPDATABLE_TEMPLATE_NAME, 'g'), (params.updatable ? 1 : 0).toString());
359
357
  }
360
358
  if (params.deletable !== undefined) {
361
- if (!tealCode.includes(exports.DELETABLE_TEMPLATE_NAME)) {
362
- throw new Error(`Deploy-time deletability control requested for app deployment, but ${exports.DELETABLE_TEMPLATE_NAME} not present in TEAL code`);
359
+ if (!tealCode.includes(app_2.DELETABLE_TEMPLATE_NAME)) {
360
+ throw new Error(`Deploy-time deletability control requested for app deployment, but ${app_2.DELETABLE_TEMPLATE_NAME} not present in TEAL code`);
363
361
  }
364
- tealCode = tealCode.replace(new RegExp(exports.DELETABLE_TEMPLATE_NAME, 'g'), (params.deletable ? 1 : 0).toString());
362
+ tealCode = tealCode.replace(new RegExp(app_2.DELETABLE_TEMPLATE_NAME, 'g'), (params.deletable ? 1 : 0).toString());
365
363
  }
366
364
  return tealCode;
367
365
  }
@@ -372,15 +370,14 @@ exports.replaceDeployTimeControlParams = replaceDeployTimeControlParams;
372
370
  * Looks for `TMPL_{parameter}` for template replacements.
373
371
  *
374
372
  * @param tealCode The TEAL logic to compile
375
- * @param templateParameters Any parameters to replace in the .teal file before compiling
373
+ * @param templateParams Any parameters to replace in the .teal file before compiling
376
374
  * @returns The TEAL code with replacements
377
375
  */
378
- function performTemplateSubstitution(tealCode, templateParameters) {
379
- if (templateParameters !== undefined) {
380
- for (const key in templateParameters) {
381
- const value = templateParameters[key];
376
+ function performTemplateSubstitution(tealCode, templateParams) {
377
+ if (templateParams !== undefined) {
378
+ for (const key in templateParams) {
379
+ const value = templateParams[key];
382
380
  const token = `TMPL_${key.replace(/^TMPL_/, '')}`;
383
- // todo: handle uint8array
384
381
  tealCode = tealCode.replace(new RegExp(token, 'g'), typeof value === 'string'
385
382
  ? `0x${Buffer.from(value, 'utf-8').toString('hex')}`
386
383
  : ArrayBuffer.isView(value)
@@ -398,22 +395,16 @@ exports.performTemplateSubstitution = performTemplateSubstitution;
398
395
  *
399
396
  * @param tealCode The TEAL logic to compile
400
397
  * @param algod An algod client
401
- * @param templateParameters Any parameters to replace in the .teal file before compiling
398
+ * @param templateParams Any parameters to replace in the .teal file before compiling
402
399
  * @param deploymentMetadata The deployment metadata the app will be deployed with
403
400
  * @returns The information about the compiled code
404
401
  */
405
- async function performTemplateSubstitutionAndCompile(tealCode, algod, templateParameters, deploymentMetadata) {
406
- tealCode = performTemplateSubstitution(tealCode, templateParameters);
402
+ async function performTemplateSubstitutionAndCompile(tealCode, algod, templateParams, deploymentMetadata) {
403
+ tealCode = performTemplateSubstitution(tealCode, templateParams);
407
404
  if (deploymentMetadata) {
408
405
  tealCode = replaceDeployTimeControlParams(tealCode, deploymentMetadata);
409
406
  }
410
- const compiled = await algod.compile(tealCode).do();
411
- return {
412
- teal: tealCode,
413
- compiled: compiled.result,
414
- compiledHash: compiled.hash,
415
- compiledBase64ToBytes: new Uint8Array(Buffer.from(compiled.result, 'base64')),
416
- };
407
+ return await (0, app_1.compileTeal)(tealCode, algod);
417
408
  }
418
409
  exports.performTemplateSubstitutionAndCompile = performTemplateSubstitutionAndCompile;
419
410
  //# sourceMappingURL=deploy-app.js.map
package/deploy-app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-app.js","sourceRoot":"","sources":["../src/deploy-app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy-app.js","sourceRoot":"","sources":["../src/deploy-app.ts"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,12 +1,14 @@
1
+ import { UpdatableConfig } from './types/config';
1
2
  export * from './account';
2
- export * from './algo-amount';
3
+ export * from './amount';
3
4
  export * from './app';
4
5
  export * from './application-client';
5
- export * from './config';
6
6
  export * from './deploy-app';
7
7
  export * from './indexer-lookup';
8
8
  export * from './localnet';
9
9
  export * from './network-client';
10
10
  export * from './transaction';
11
11
  export * from './transfer';
12
+ /** The AlgoKit config. To update it use the configure method. */
13
+ export declare const Config: UpdatableConfig;
12
14
  //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,OAAO,CAAA;AACrB,cAAc,sBAAsB,CAAA;AACpC,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,OAAO,CAAA;AACrB,cAAc,sBAAsB,CAAA;AACpC,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAE1B,iEAAiE;AACjE,eAAO,MAAM,MAAM,iBAAwB,CAAA"}
package/index.js CHANGED
@@ -14,15 +14,18 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.Config = void 0;
18
+ const config_1 = require("./types/config");
17
19
  __exportStar(require("./account"), exports);
18
- __exportStar(require("./algo-amount"), exports);
20
+ __exportStar(require("./amount"), exports);
19
21
  __exportStar(require("./app"), exports);
20
22
  __exportStar(require("./application-client"), exports);
21
- __exportStar(require("./config"), exports);
22
23
  __exportStar(require("./deploy-app"), exports);
23
24
  __exportStar(require("./indexer-lookup"), exports);
24
25
  __exportStar(require("./localnet"), exports);
25
26
  __exportStar(require("./network-client"), exports);
26
27
  __exportStar(require("./transaction"), exports);
27
28
  __exportStar(require("./transfer"), exports);
29
+ /** The AlgoKit config. To update it use the configure method. */
30
+ exports.Config = new config_1.UpdatableConfig();
28
31
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,gDAA6B;AAC7B,wCAAqB;AACrB,uDAAoC;AACpC,2CAAwB;AACxB,+CAA4B;AAC5B,mDAAgC;AAChC,6CAA0B;AAC1B,mDAAgC;AAChC,gDAA6B;AAC7B,6CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2CAAgD;AAEhD,4CAAyB;AACzB,2CAAwB;AACxB,wCAAqB;AACrB,uDAAoC;AACpC,+CAA4B;AAC5B,mDAAgC;AAChC,6CAA0B;AAC1B,mDAAgC;AAChC,gDAA6B;AAC7B,6CAA0B;AAE1B,iEAAiE;AACpD,QAAA,MAAM,GAAG,IAAI,wBAAe,EAAE,CAAA"}
package/localnet.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Account, Algodv2, Kmd } from 'algosdk';
2
- import { AlgoAmount } from './algo-amount';
2
+ import { AlgoAmount } from './types/amount';
3
3
  /** Returns true if the algod client is pointing to a LocalNet Algorand network */
4
4
  export declare function isLocalNet(algod: Algodv2): Promise<boolean>;
5
5
  /**
@@ -33,7 +33,7 @@ export declare function getOrCreateKmdWalletAccount(walletAccount: {
33
33
  * @param kmdClient A KMD client, if not specified then a default KMD client will be loaded from environment variables @see {getAlgoKmdClient}
34
34
  * @example Get default funded account in a LocalNet
35
35
  *
36
- * ```
36
+ * ```typescript
37
37
  * const defaultDispenserAccount = await getKmdWalletAccount(algod,
38
38
  * 'unencrypted-default-wallet',
39
39
  * a => a.status !== 'Offline' && a.amount > 1_000_000_000
@@ -48,7 +48,7 @@ export declare function getKmdWalletAccount(walletAccount: {
48
48
  * Returns an Algorand account with private key loaded for the default LocalNet dispenser account (that can be used to fund other accounts)
49
49
  *
50
50
  * @param algod An algod client
51
- * @param kmdClient A KMD client, if not specified then a default KMD client will be loaded from environment variables @see {getAlgoKmdClient}
51
+ * @param kmd A KMD client, if not specified then a default KMD client will be loaded from environment variables @see {getAlgoKmdClient}
52
52
  */
53
- export declare function getLocalNetDispenserAccount(algod: Algodv2, kmdClient?: Kmd): Promise<Account>;
53
+ export declare function getLocalNetDispenserAccount(algod: Algodv2, kmd?: Kmd): Promise<Account>;
54
54
  //# sourceMappingURL=localnet.d.ts.map
package/localnet.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"localnet.d.ts","sourceRoot":"","sources":["../src/localnet.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAK1C,kFAAkF;AAClF,wBAAsB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAIjE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,2BAA2B,CAC/C,aAAa,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,UAAU,CAAA;CAAE,EACtD,KAAK,EAAE,OAAO,EACd,SAAS,CAAC,EAAE,GAAG,GACd,OAAO,CAAC,OAAO,CAAC,CAmClB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,mBAAmB,CACvC,aAAa,EAAE;IACb,IAAI,EAAE,MAAM,CAAA;IAEZ,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAA;CACtD,EACD,KAAK,EAAE,OAAO,EACd,SAAS,CAAC,EAAE,GAAG,GACd,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAmC9B;AAED;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAWnG"}
1
+ {"version":3,"file":"localnet.d.ts","sourceRoot":"","sources":["../src/localnet.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAKxD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,kFAAkF;AAClF,wBAAsB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAIjE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,2BAA2B,CAC/C,aAAa,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,UAAU,CAAA;CAAE,EACtD,KAAK,EAAE,OAAO,EACd,SAAS,CAAC,EAAE,GAAG,GACd,OAAO,CAAC,OAAO,CAAC,CAmClB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,mBAAmB,CACvC,aAAa,EAAE;IACb,IAAI,EAAE,MAAM,CAAA;IAEZ,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAA;CACtD,EACD,KAAK,EAAE,OAAO,EACd,SAAS,CAAC,EAAE,GAAG,GACd,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAmC9B;AAED;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAW7F"}
package/localnet.js CHANGED
@@ -5,11 +5,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getLocalNetDispenserAccount = exports.getKmdWalletAccount = exports.getOrCreateKmdWalletAccount = exports.isLocalNet = void 0;
7
7
  const algosdk_1 = __importDefault(require("algosdk"));
8
+ const _1 = require("./");
8
9
  const account_1 = require("./account");
9
- const algo_amount_1 = require("./algo-amount");
10
- const config_1 = require("./config");
11
10
  const network_client_1 = require("./network-client");
12
11
  const transfer_1 = require("./transfer");
12
+ const amount_1 = require("./types/amount");
13
13
  /** Returns true if the algod client is pointing to a LocalNet Algorand network */
14
14
  async function isLocalNet(algod) {
15
15
  const params = await algod.getTransactionParams().do();
@@ -47,11 +47,11 @@ async function getOrCreateKmdWalletAccount(walletAccount, algod, kmdClient) {
47
47
  // Get the account from the new KMD wallet
48
48
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
49
49
  const account = (await getKmdWalletAccount(walletAccount, algod, kmd));
50
- config_1.AlgoKitConfig.logger.info(`Couldn't find existing account in Sandbox under name '${walletAccount.name}'; created account ${account.addr} with keys stored in KMD and funding with ${walletAccount.fundWith?.algos ?? 1000} ALGOs`);
50
+ _1.Config.logger.info(`LocalNet account '${walletAccount.name}' doesn't yet exist; created account ${account.addr} with keys stored in KMD and funding with ${walletAccount.fundWith?.algos ?? 1000} ALGOs`);
51
51
  // Fund the account from the dispenser
52
52
  await (0, transfer_1.transferAlgos)({
53
- amount: walletAccount.fundWith ?? algo_amount_1.AlgoAmount.Algos(1000),
54
- from: await (0, account_1.getDispenserAccount)(algod),
53
+ amount: walletAccount.fundWith ?? amount_1.AlgoAmount.Algos(1000),
54
+ from: await (0, account_1.getDispenserAccount)(algod, kmd),
55
55
  to: account.addr,
56
56
  }, algod);
57
57
  return account;
@@ -67,7 +67,7 @@ exports.getOrCreateKmdWalletAccount = getOrCreateKmdWalletAccount;
67
67
  * @param kmdClient A KMD client, if not specified then a default KMD client will be loaded from environment variables @see {getAlgoKmdClient}
68
68
  * @example Get default funded account in a LocalNet
69
69
  *
70
- * ```
70
+ * ```typescript
71
71
  * const defaultDispenserAccount = await getKmdWalletAccount(algod,
72
72
  * 'unencrypted-default-wallet',
73
73
  * a => a.status !== 'Offline' && a.amount > 1_000_000_000
@@ -101,21 +101,21 @@ async function getKmdWalletAccount(walletAccount, algod, kmdClient) {
101
101
  }
102
102
  const accountKey = (await kmd.exportKey(walletHandle, '', keyIds[i])).private_key;
103
103
  const accountMnemonic = algosdk_1.default.secretKeyToMnemonic(accountKey);
104
- return (0, account_1.getAccountFromMnemonic)(accountMnemonic);
104
+ return (0, account_1.mnemonicAccount)(accountMnemonic);
105
105
  }
106
106
  exports.getKmdWalletAccount = getKmdWalletAccount;
107
107
  /**
108
108
  * Returns an Algorand account with private key loaded for the default LocalNet dispenser account (that can be used to fund other accounts)
109
109
  *
110
110
  * @param algod An algod client
111
- * @param kmdClient A KMD client, if not specified then a default KMD client will be loaded from environment variables @see {getAlgoKmdClient}
111
+ * @param kmd A KMD client, if not specified then a default KMD client will be loaded from environment variables @see {getAlgoKmdClient}
112
112
  */
113
- async function getLocalNetDispenserAccount(algod, kmdClient) {
113
+ async function getLocalNetDispenserAccount(algod, kmd) {
114
114
  if (!(await isLocalNet(algod))) {
115
115
  throw "Can't get default account from non LocalNet network";
116
116
  }
117
117
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
118
- return (await getKmdWalletAccount({ name: 'unencrypted-default-wallet', predicate: (a) => a.status !== 'Offline' && a.amount > 1000000000 }, algod, kmdClient));
118
+ return (await getKmdWalletAccount({ name: 'unencrypted-default-wallet', predicate: (a) => a.status !== 'Offline' && a.amount > 1000000000 }, algod, kmd));
119
119
  }
120
120
  exports.getLocalNetDispenserAccount = getLocalNetDispenserAccount;
121
121
  //# sourceMappingURL=localnet.js.map
package/localnet.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"localnet.js","sourceRoot":"","sources":["../src/localnet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"localnet.js","sourceRoot":"","sources":["../src/localnet.ts"],"names":[],"mappings":"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"}