@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.
- package/account.d.ts +35 -31
- package/account.d.ts.map +1 -1
- package/account.js +53 -39
- package/account.js.map +1 -1
- package/amount.d.ts +8 -0
- package/amount.d.ts.map +1 -0
- package/amount.js +24 -0
- package/amount.js.map +1 -0
- package/app.d.ts +64 -145
- package/app.d.ts.map +1 -1
- package/app.js +197 -39
- package/app.js.map +1 -1
- package/application-client.d.ts +9 -112
- package/application-client.d.ts.map +1 -1
- package/application-client.js +11 -254
- package/application-client.js.map +1 -1
- package/deploy-app.d.ts +20 -91
- package/deploy-app.d.ts.map +1 -1
- package/deploy-app.js +84 -93
- package/deploy-app.js.map +1 -1
- package/index.d.ts +4 -2
- package/index.d.ts.map +1 -1
- package/index.js +5 -2
- package/index.js.map +1 -1
- package/localnet.d.ts +4 -4
- package/localnet.d.ts.map +1 -1
- package/localnet.js +10 -10
- package/localnet.js.map +1 -1
- package/network-client.d.ts +11 -20
- package/network-client.d.ts.map +1 -1
- package/network-client.js +11 -11
- package/network-client.js.map +1 -1
- package/package.json +2 -2
- package/testing/account.d.ts +14 -0
- package/testing/account.d.ts.map +1 -0
- package/testing/account.js +31 -0
- package/testing/account.js.map +1 -0
- package/testing/fixtures/algokit-log-capture-fixture.d.ts +19 -0
- package/testing/fixtures/algokit-log-capture-fixture.d.ts.map +1 -0
- package/testing/fixtures/algokit-log-capture-fixture.js +43 -0
- package/testing/fixtures/algokit-log-capture-fixture.js.map +1 -0
- package/testing/fixtures/algorand-fixture.d.ts +20 -0
- package/testing/fixtures/algorand-fixture.d.ts.map +1 -0
- package/testing/fixtures/algorand-fixture.js +49 -0
- package/testing/fixtures/algorand-fixture.js.map +1 -0
- package/testing/fixtures/index.d.ts +3 -0
- package/testing/fixtures/index.d.ts.map +1 -0
- package/testing/fixtures/index.js +19 -0
- package/testing/fixtures/index.js.map +1 -0
- package/testing/index.d.ts +6 -0
- package/testing/index.d.ts.map +1 -0
- package/testing/index.js +22 -0
- package/testing/index.js.map +1 -0
- package/testing/indexer.d.ts +12 -0
- package/testing/indexer.d.ts.map +1 -0
- package/testing/indexer.js +39 -0
- package/testing/indexer.js.map +1 -0
- package/testing/test-logger.d.ts +39 -0
- package/testing/test-logger.d.ts.map +1 -0
- package/testing/test-logger.js +69 -0
- package/testing/test-logger.js.map +1 -0
- package/testing/transaction-logger.d.ts +29 -0
- package/testing/transaction-logger.d.ts.map +1 -0
- package/testing/transaction-logger.js +71 -0
- package/testing/transaction-logger.js.map +1 -0
- package/transaction.d.ts +4 -81
- package/transaction.d.ts.map +1 -1
- package/transaction.js +39 -89
- package/transaction.js.map +1 -1
- package/transfer.d.ts +13 -16
- package/transfer.d.ts.map +1 -1
- package/transfer.js +35 -3
- package/transfer.js.map +1 -1
- package/types/account.d.ts +52 -0
- package/types/account.d.ts.map +1 -0
- package/types/account.js +86 -0
- package/types/account.js.map +1 -0
- package/types/algo-http-client-with-retry.d.ts.map +1 -0
- package/{algo-http-client-with-retry.js → types/algo-http-client-with-retry.js} +2 -2
- package/types/algo-http-client-with-retry.js.map +1 -0
- package/types/algod.d.ts +22 -9
- package/types/algod.d.ts.map +1 -1
- package/{algo-amount.d.ts → types/amount.d.ts} +3 -1
- package/types/amount.d.ts.map +1 -0
- package/{algo-amount.js → types/amount.js} +7 -1
- package/types/amount.js.map +1 -0
- package/types/app.d.ts +279 -0
- package/types/app.d.ts.map +1 -0
- package/types/app.js +32 -0
- package/types/app.js.map +1 -0
- package/types/application-client.d.ts +229 -0
- package/types/application-client.d.ts.map +1 -0
- package/types/application-client.js +470 -0
- package/types/application-client.js.map +1 -0
- package/types/appspec.d.ts +1 -2
- package/types/appspec.d.ts.map +1 -1
- package/types/appspec.js.map +1 -1
- package/types/config.d.ts +15 -0
- package/types/config.d.ts.map +1 -0
- package/types/config.js +27 -0
- package/types/config.js.map +1 -0
- package/types/indexer.d.ts +8 -9
- package/types/indexer.d.ts.map +1 -1
- package/{config.d.ts → types/logging.d.ts} +2 -16
- package/types/logging.d.ts.map +1 -0
- package/{config.js → types/logging.js} +5 -24
- package/types/logging.js.map +1 -0
- package/types/logic-error.d.ts +33 -0
- package/types/logic-error.d.ts.map +1 -0
- package/types/logic-error.js +46 -0
- package/types/logic-error.js.map +1 -0
- package/types/network-client.d.ts +11 -0
- package/types/network-client.d.ts.map +1 -0
- package/types/network-client.js +3 -0
- package/types/network-client.js.map +1 -0
- package/types/testing.d.ts +89 -0
- package/types/testing.d.ts.map +1 -0
- package/types/testing.js +3 -0
- package/types/testing.js.map +1 -0
- package/types/transaction.d.ts +67 -0
- package/types/transaction.d.ts.map +1 -0
- package/types/transaction.js +3 -0
- package/types/transaction.js.map +1 -0
- package/types/transfer.d.ts +32 -0
- package/types/transfer.d.ts.map +1 -0
- package/types/transfer.js +3 -0
- package/types/transfer.js.map +1 -0
- package/types/urlTokenBaseHTTPClient.d.ts.map +1 -0
- package/types/urlTokenBaseHTTPClient.js.map +1 -0
- package/algo-amount.d.ts.map +0 -1
- package/algo-amount.js.map +0 -1
- package/algo-http-client-with-retry.d.ts.map +0 -1
- package/algo-http-client-with-retry.js.map +0 -1
- package/config.d.ts.map +0 -1
- package/config.js.map +0 -1
- package/urlTokenBaseHTTPClient.d.ts.map +0 -1
- package/urlTokenBaseHTTPClient.js.map +0 -1
- /package/{algo-http-client-with-retry.d.ts → types/algo-http-client-with-retry.d.ts} +0 -0
- /package/{urlTokenBaseHTTPClient.d.ts → types/urlTokenBaseHTTPClient.d.ts} +0 -0
- /package/{urlTokenBaseHTTPClient.js → types/urlTokenBaseHTTPClient.js} +0 -0
package/app.js
CHANGED
|
@@ -23,15 +23,12 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.compileTeal = exports.getAppByIndex = exports.getAppArgsForTransaction = exports.
|
|
26
|
+
exports.compileTeal = exports.getAppByIndex = exports.getAppArgsForTransaction = exports.decodeAppState = exports.getAppBoxValuesFromABIType = exports.getAppBoxValueFromABIType = exports.getAppBoxValues = exports.getAppBoxValue = exports.getAppBoxNames = exports.getAppLocalState = exports.getAppGlobalState = exports.getABIReturn = exports.callApp = exports.updateApp = exports.createApp = void 0;
|
|
27
27
|
const algosdk_1 = __importStar(require("algosdk"));
|
|
28
28
|
const buffer_1 = require("buffer");
|
|
29
|
-
const
|
|
29
|
+
const _1 = require("./");
|
|
30
30
|
const transaction_1 = require("./transaction");
|
|
31
|
-
|
|
32
|
-
exports.APP_PAGE_MAX_SIZE = 2048;
|
|
33
|
-
/** First 4 bytes of SHA-512/256 hash of "return" */
|
|
34
|
-
exports.ABI_RETURN_PREFIX = new Uint8Array([21, 31, 124, 117]);
|
|
31
|
+
const app_1 = require("./types/app");
|
|
35
32
|
/**
|
|
36
33
|
* Creates a smart contract app, returns the details of the created app.
|
|
37
34
|
* @param create The parameters to create the app with
|
|
@@ -40,8 +37,10 @@ exports.ABI_RETURN_PREFIX = new Uint8Array([21, 31, 124, 117]);
|
|
|
40
37
|
*/
|
|
41
38
|
async function createApp(create, algod) {
|
|
42
39
|
const { from, approvalProgram: approval, clearStateProgram: clear, schema, note, transactionParams, args, ...sendParams } = create;
|
|
43
|
-
const
|
|
44
|
-
const
|
|
40
|
+
const compiledApproval = typeof approval === 'string' ? await compileTeal(approval, algod) : undefined;
|
|
41
|
+
const approvalProgram = compiledApproval ? compiledApproval.compiledBase64ToBytes : approval;
|
|
42
|
+
const compiledClear = typeof clear === 'string' ? await compileTeal(clear, algod) : undefined;
|
|
43
|
+
const clearProgram = compiledClear ? compiledClear.compiledBase64ToBytes : clear;
|
|
45
44
|
const transaction = algosdk_1.default.makeApplicationCreateTxnFromObject({
|
|
46
45
|
approvalProgram: approvalProgram,
|
|
47
46
|
clearProgram: clearProgram,
|
|
@@ -49,7 +48,7 @@ async function createApp(create, algod) {
|
|
|
49
48
|
numLocalByteSlices: schema.localByteSlices,
|
|
50
49
|
numGlobalInts: schema.globalInts,
|
|
51
50
|
numGlobalByteSlices: schema.globalByteSlices,
|
|
52
|
-
extraPages: schema.extraPages ?? Math.floor((approvalProgram.length + clearProgram.length) /
|
|
51
|
+
extraPages: schema.extraPages ?? Math.floor((approvalProgram.length + clearProgram.length) / app_1.APP_PAGE_MAX_SIZE),
|
|
53
52
|
onComplete: algosdk_1.default.OnApplicationComplete.NoOpOC,
|
|
54
53
|
suggestedParams: await (0, transaction_1.getTransactionParams)(transactionParams, algod),
|
|
55
54
|
from: (0, transaction_1.getSenderAddress)(from),
|
|
@@ -60,18 +59,20 @@ async function createApp(create, algod) {
|
|
|
60
59
|
const { confirmation } = await (0, transaction_1.sendTransaction)({ transaction, from, sendParams }, algod);
|
|
61
60
|
if (confirmation) {
|
|
62
61
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
63
|
-
const
|
|
64
|
-
|
|
62
|
+
const appId = confirmation['application-index'];
|
|
63
|
+
_1.Config.getLogger(sendParams.suppressLog).debug(`Created app ${appId} from creator ${(0, transaction_1.getSenderAddress)(from)}`);
|
|
65
64
|
return {
|
|
66
65
|
transaction,
|
|
67
66
|
confirmation,
|
|
68
|
-
|
|
69
|
-
appAddress: algosdk_1.default.getApplicationAddress(
|
|
67
|
+
appId,
|
|
68
|
+
appAddress: algosdk_1.default.getApplicationAddress(appId),
|
|
70
69
|
return: getABIReturn(args, confirmation),
|
|
70
|
+
compiledApproval,
|
|
71
|
+
compiledClear,
|
|
71
72
|
};
|
|
72
73
|
}
|
|
73
74
|
else {
|
|
74
|
-
return { transaction,
|
|
75
|
+
return { transaction, appId: 0, appAddress: '', compiledApproval, compiledClear };
|
|
75
76
|
}
|
|
76
77
|
}
|
|
77
78
|
exports.createApp = createApp;
|
|
@@ -82,11 +83,13 @@ exports.createApp = createApp;
|
|
|
82
83
|
* @returns The transaction
|
|
83
84
|
*/
|
|
84
85
|
async function updateApp(update, algod) {
|
|
85
|
-
const {
|
|
86
|
-
const
|
|
87
|
-
const
|
|
86
|
+
const { appId, from, approvalProgram: approval, clearStateProgram: clear, note, transactionParams, args, ...sendParams } = update;
|
|
87
|
+
const compiledApproval = typeof approval === 'string' ? await compileTeal(approval, algod) : undefined;
|
|
88
|
+
const approvalProgram = compiledApproval ? compiledApproval.compiledBase64ToBytes : approval;
|
|
89
|
+
const compiledClear = typeof clear === 'string' ? await compileTeal(clear, algod) : undefined;
|
|
90
|
+
const clearProgram = compiledClear ? compiledClear.compiledBase64ToBytes : clear;
|
|
88
91
|
const transaction = algosdk_1.default.makeApplicationUpdateTxnFromObject({
|
|
89
|
-
appIndex,
|
|
92
|
+
appIndex: appId,
|
|
90
93
|
approvalProgram: approvalProgram,
|
|
91
94
|
clearProgram: clearProgram,
|
|
92
95
|
suggestedParams: await (0, transaction_1.getTransactionParams)(transactionParams, algod),
|
|
@@ -95,11 +98,13 @@ async function updateApp(update, algod) {
|
|
|
95
98
|
...getAppArgsForTransaction(args),
|
|
96
99
|
rekeyTo: undefined,
|
|
97
100
|
});
|
|
98
|
-
|
|
101
|
+
_1.Config.getLogger(sendParams.suppressLog).debug(`Updating app ${appId}`);
|
|
99
102
|
const result = await (0, transaction_1.sendTransaction)({ transaction, from, sendParams }, algod);
|
|
100
103
|
return {
|
|
101
104
|
...result,
|
|
102
105
|
return: getABIReturn(args, result.confirmation),
|
|
106
|
+
compiledApproval,
|
|
107
|
+
compiledClear,
|
|
103
108
|
};
|
|
104
109
|
}
|
|
105
110
|
exports.updateApp = updateApp;
|
|
@@ -110,9 +115,9 @@ exports.updateApp = updateApp;
|
|
|
110
115
|
* @returns The result of the call
|
|
111
116
|
*/
|
|
112
117
|
async function callApp(call, algod) {
|
|
113
|
-
const {
|
|
114
|
-
const
|
|
115
|
-
appIndex:
|
|
118
|
+
const { appId, callType, from, args, note, transactionParams, ...sendParams } = call;
|
|
119
|
+
const appCallParams = {
|
|
120
|
+
appIndex: appId,
|
|
116
121
|
from: (0, transaction_1.getSenderAddress)(from),
|
|
117
122
|
suggestedParams: await (0, transaction_1.getTransactionParams)(transactionParams, algod),
|
|
118
123
|
...getAppArgsForTransaction(args),
|
|
@@ -122,19 +127,19 @@ async function callApp(call, algod) {
|
|
|
122
127
|
let transaction;
|
|
123
128
|
switch (callType) {
|
|
124
129
|
case 'optin':
|
|
125
|
-
transaction = algosdk_1.default.makeApplicationOptInTxnFromObject(
|
|
130
|
+
transaction = algosdk_1.default.makeApplicationOptInTxnFromObject(appCallParams);
|
|
126
131
|
break;
|
|
127
132
|
case 'clearstate':
|
|
128
|
-
transaction = algosdk_1.default.makeApplicationClearStateTxnFromObject(
|
|
133
|
+
transaction = algosdk_1.default.makeApplicationClearStateTxnFromObject(appCallParams);
|
|
129
134
|
break;
|
|
130
135
|
case 'closeout':
|
|
131
|
-
transaction = algosdk_1.default.makeApplicationCloseOutTxnFromObject(
|
|
136
|
+
transaction = algosdk_1.default.makeApplicationCloseOutTxnFromObject(appCallParams);
|
|
132
137
|
break;
|
|
133
138
|
case 'delete':
|
|
134
|
-
transaction = algosdk_1.default.makeApplicationDeleteTxnFromObject(
|
|
139
|
+
transaction = algosdk_1.default.makeApplicationDeleteTxnFromObject(appCallParams);
|
|
135
140
|
break;
|
|
136
141
|
case 'normal':
|
|
137
|
-
transaction = algosdk_1.default.makeApplicationNoOpTxnFromObject(
|
|
142
|
+
transaction = algosdk_1.default.makeApplicationNoOpTxnFromObject(appCallParams);
|
|
138
143
|
break;
|
|
139
144
|
}
|
|
140
145
|
const result = await (0, transaction_1.sendTransaction)({ transaction, from, sendParams }, algod);
|
|
@@ -156,7 +161,7 @@ function getABIReturn(args, confirmation) {
|
|
|
156
161
|
throw new Error('App call transaction did not log a return value');
|
|
157
162
|
}
|
|
158
163
|
const lastLog = logs[logs.length - 1];
|
|
159
|
-
if (lastLog.byteLength < 4 || lastLog.slice(0, 4).toString() !==
|
|
164
|
+
if (lastLog.byteLength < 4 || lastLog.slice(0, 4).toString() !== app_1.ABI_RETURN_PREFIX.toString()) {
|
|
160
165
|
throw new Error('App call transaction did not log a return value (ABI_RETURN_PREFIX not found)');
|
|
161
166
|
}
|
|
162
167
|
return {
|
|
@@ -176,18 +181,154 @@ function getABIReturn(args, confirmation) {
|
|
|
176
181
|
return undefined;
|
|
177
182
|
}
|
|
178
183
|
exports.getABIReturn = getABIReturn;
|
|
184
|
+
/**
|
|
185
|
+
* Returns the current global state values for the given app ID
|
|
186
|
+
* @param appId The ID of the app return global state for
|
|
187
|
+
* @param algod An algod client instance
|
|
188
|
+
* @returns The current global state
|
|
189
|
+
*/
|
|
190
|
+
async function getAppGlobalState(appId, algod) {
|
|
191
|
+
const appInfo = await getAppByIndex(appId, algod);
|
|
192
|
+
if (!appInfo.params || !appInfo.params['global-state']) {
|
|
193
|
+
throw new Error("Couldn't find global state");
|
|
194
|
+
}
|
|
195
|
+
return decodeAppState(appInfo.params['global-state']);
|
|
196
|
+
}
|
|
197
|
+
exports.getAppGlobalState = getAppGlobalState;
|
|
198
|
+
/**
|
|
199
|
+
* Returns the current global state values for the given app ID and account
|
|
200
|
+
* @param appId The ID of the app return global state for
|
|
201
|
+
* @param account Either the string address of an account or an account object for the account to get local state for the given app
|
|
202
|
+
* @param algod An algod client instance
|
|
203
|
+
* @returns The current local state for the given (app, account) combination
|
|
204
|
+
*/
|
|
205
|
+
async function getAppLocalState(appId, account, algod) {
|
|
206
|
+
const accountAddress = typeof account === 'string' ? account : (0, transaction_1.getSenderAddress)(account);
|
|
207
|
+
const appInfo = await algod.accountApplicationInformation(accountAddress, appId).do();
|
|
208
|
+
if (!appInfo['app-local-state'] || !appInfo['app-local-state']['key-value']) {
|
|
209
|
+
throw new Error("Couldn't find local state");
|
|
210
|
+
}
|
|
211
|
+
return decodeAppState(appInfo['app-local-state']['key-value']);
|
|
212
|
+
}
|
|
213
|
+
exports.getAppLocalState = getAppLocalState;
|
|
214
|
+
/**
|
|
215
|
+
* Returns the names of the boxes for the given app.
|
|
216
|
+
* @param appId The ID of the app return box names for
|
|
217
|
+
* @param algod An algod client instance
|
|
218
|
+
* @returns The current box names
|
|
219
|
+
*/
|
|
220
|
+
async function getAppBoxNames(appId, algod) {
|
|
221
|
+
const boxResult = await algod.getApplicationBoxes(appId).do();
|
|
222
|
+
return boxResult.boxes.map((b) => {
|
|
223
|
+
return {
|
|
224
|
+
nameRaw: b.name,
|
|
225
|
+
nameBase64: buffer_1.Buffer.from(b.name).toString('base64'),
|
|
226
|
+
name: buffer_1.Buffer.from(b.name).toString('utf-8'),
|
|
227
|
+
};
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
exports.getAppBoxNames = getAppBoxNames;
|
|
231
|
+
/**
|
|
232
|
+
* Returns the value of the given box name for the given app.
|
|
233
|
+
* @param appId The ID of the app return box names for
|
|
234
|
+
* @param boxName The name of the box to return either as a string, binary array or @see BoxName
|
|
235
|
+
* @param algod An algod client instance
|
|
236
|
+
* @returns The current box value as a byte array
|
|
237
|
+
*/
|
|
238
|
+
async function getAppBoxValue(appId, boxName, algod) {
|
|
239
|
+
const name = typeof boxName === 'string' ? new Uint8Array(buffer_1.Buffer.from(boxName, 'utf-8')) : 'name' in boxName ? boxName.nameRaw : boxName;
|
|
240
|
+
const boxResult = await algod.getApplicationBoxByName(appId, name).do();
|
|
241
|
+
return boxResult.value;
|
|
242
|
+
}
|
|
243
|
+
exports.getAppBoxValue = getAppBoxValue;
|
|
244
|
+
/**
|
|
245
|
+
* Returns the value of the given box names for the given app.
|
|
246
|
+
* @param appId The ID of the app return box names for
|
|
247
|
+
* @param boxNames The names of the boxes to return either as a string, binary array or @see BoxName
|
|
248
|
+
* @param algod An algod client instance
|
|
249
|
+
* @returns The current box values as a byte array in the same order as the passed in box names
|
|
250
|
+
*/
|
|
251
|
+
async function getAppBoxValues(appId, boxNames, algod) {
|
|
252
|
+
return await Promise.all(boxNames.map(async (boxName) => await getAppBoxValue(appId, boxName, algod)));
|
|
253
|
+
}
|
|
254
|
+
exports.getAppBoxValues = getAppBoxValues;
|
|
255
|
+
/**
|
|
256
|
+
* Returns the value of the given box name for the given app decoded based on the given ABI type.
|
|
257
|
+
* @param request The parameters for the box value request
|
|
258
|
+
* @param algod An algod client instance
|
|
259
|
+
* @returns The current box value as an ABI value
|
|
260
|
+
*/
|
|
261
|
+
async function getAppBoxValueFromABIType(request, algod) {
|
|
262
|
+
const { appId, boxName, type } = request;
|
|
263
|
+
const value = await getAppBoxValue(appId, boxName, algod);
|
|
264
|
+
return type.decode(value);
|
|
265
|
+
}
|
|
266
|
+
exports.getAppBoxValueFromABIType = getAppBoxValueFromABIType;
|
|
267
|
+
/**
|
|
268
|
+
* Returns the value of the given box names for the given app decoded based on the given ABI type.
|
|
269
|
+
* @param request The parameters for the box value request
|
|
270
|
+
* @param algod An algod client instance
|
|
271
|
+
* @returns The current box values as an ABI value in the same order as the passed in box names
|
|
272
|
+
*/
|
|
273
|
+
async function getAppBoxValuesFromABIType(request, algod) {
|
|
274
|
+
const { appId, boxNames, type } = request;
|
|
275
|
+
return await Promise.all(boxNames.map(async (boxName) => await getAppBoxValueFromABIType({ appId, boxName, type }, algod)));
|
|
276
|
+
}
|
|
277
|
+
exports.getAppBoxValuesFromABIType = getAppBoxValuesFromABIType;
|
|
278
|
+
// Converts an array of global-state or global-state-deltas to a more
|
|
279
|
+
// friendly generic object
|
|
280
|
+
function decodeAppState(state) {
|
|
281
|
+
const stateValues = {};
|
|
282
|
+
// Start with empty set
|
|
283
|
+
for (const stateVal of state) {
|
|
284
|
+
const keyBase64 = stateVal.key;
|
|
285
|
+
const keyRaw = buffer_1.Buffer.from(keyBase64, 'base64');
|
|
286
|
+
const key = keyRaw.toString('utf-8');
|
|
287
|
+
const tealValue = stateVal.value;
|
|
288
|
+
const dataTypeFlag = 'action' in tealValue ? tealValue.action : tealValue.type;
|
|
289
|
+
let valueBase64;
|
|
290
|
+
let valueRaw;
|
|
291
|
+
switch (dataTypeFlag) {
|
|
292
|
+
case 1:
|
|
293
|
+
valueBase64 = 'bytes' in tealValue ? tealValue.bytes : '';
|
|
294
|
+
valueRaw = buffer_1.Buffer.from(valueBase64, 'base64');
|
|
295
|
+
stateValues[key] = {
|
|
296
|
+
keyRaw,
|
|
297
|
+
keyBase64,
|
|
298
|
+
valueRaw: new Uint8Array(valueRaw),
|
|
299
|
+
valueBase64: valueBase64,
|
|
300
|
+
value: valueRaw.toString('utf-8'),
|
|
301
|
+
};
|
|
302
|
+
break;
|
|
303
|
+
case 2:
|
|
304
|
+
// eslint-disable-next-line no-case-declarations
|
|
305
|
+
const value = 'uint' in tealValue ? tealValue.uint : 0;
|
|
306
|
+
stateValues[key] = {
|
|
307
|
+
keyRaw,
|
|
308
|
+
keyBase64,
|
|
309
|
+
value,
|
|
310
|
+
};
|
|
311
|
+
break;
|
|
312
|
+
default:
|
|
313
|
+
throw new Error(`Received unknown state data type of ${dataTypeFlag}`);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
return stateValues;
|
|
317
|
+
}
|
|
318
|
+
exports.decodeAppState = decodeAppState;
|
|
179
319
|
/** Returns the app args ready to load onto an app @see {Transaction} object */
|
|
180
320
|
function getAppArgsForTransaction(args) {
|
|
181
321
|
if (!args)
|
|
182
322
|
return undefined;
|
|
183
323
|
let actualArgs;
|
|
184
324
|
if ('method' in args) {
|
|
185
|
-
// todo: Land a change to algosdk that
|
|
325
|
+
// todo: Land a change to algosdk that extracts the logic from ATC, because (fair warning) this is a HACK
|
|
186
326
|
// I don't want to have to rewrite all of the ABI resolution logic so using an ATC temporarily here
|
|
187
327
|
// and passing stuff in to keep it happy like a randomly generated account :O
|
|
188
328
|
// Most of these values aren't being used since the transaction is discarded
|
|
189
329
|
const dummyAtc = new algosdk_1.AtomicTransactionComposer();
|
|
190
330
|
const dummyAccount = algosdk_1.default.generateAccount();
|
|
331
|
+
const dummySigner = (0, algosdk_1.makeBasicAccountTransactionSigner)(dummyAccount);
|
|
191
332
|
const dummyAppId = 1;
|
|
192
333
|
const dummyParams = {
|
|
193
334
|
fee: 1,
|
|
@@ -196,24 +337,38 @@ function getAppArgsForTransaction(args) {
|
|
|
196
337
|
genesisID: 'a',
|
|
197
338
|
lastRound: 1,
|
|
198
339
|
};
|
|
340
|
+
const methodArgs = args.args?.map((a) => {
|
|
341
|
+
if (typeof a !== 'object') {
|
|
342
|
+
return a;
|
|
343
|
+
}
|
|
344
|
+
// Handle the various forms of transactions to wrangle them for ATC
|
|
345
|
+
return 'txn' in a
|
|
346
|
+
? a
|
|
347
|
+
: 'transaction' in a
|
|
348
|
+
? { txn: a.transaction, signer: dummySigner }
|
|
349
|
+
: 'txID' in a
|
|
350
|
+
? { txn: a, signer: dummySigner }
|
|
351
|
+
: a;
|
|
352
|
+
});
|
|
199
353
|
const dummyOnComplete = algosdk_1.OnApplicationComplete.NoOpOC;
|
|
200
354
|
dummyAtc.addMethodCall({
|
|
201
355
|
method: 'txnCount' in args.method ? args.method : new algosdk_1.ABIMethod(args.method),
|
|
202
|
-
methodArgs
|
|
356
|
+
methodArgs,
|
|
203
357
|
// Rest are dummy values
|
|
204
358
|
appID: dummyAppId,
|
|
205
359
|
sender: dummyAccount.addr,
|
|
206
|
-
signer:
|
|
360
|
+
signer: dummySigner,
|
|
207
361
|
suggestedParams: dummyParams,
|
|
208
362
|
onComplete: dummyOnComplete,
|
|
209
363
|
});
|
|
210
|
-
const
|
|
364
|
+
const txns = dummyAtc.buildGroup();
|
|
365
|
+
const txn = txns[txns.length - 1];
|
|
211
366
|
actualArgs = {
|
|
212
367
|
accounts: txn.txn.appAccounts,
|
|
213
368
|
appArgs: txn.txn.appArgs,
|
|
214
369
|
apps: txn.txn.appForeignApps,
|
|
215
370
|
assets: txn.txn.appForeignAssets,
|
|
216
|
-
boxes:
|
|
371
|
+
boxes: args.boxes?.map((b) => (typeof b === 'object' && 'appId' in b ? b : { appId: 0, name: b })),
|
|
217
372
|
lease: args.lease,
|
|
218
373
|
};
|
|
219
374
|
}
|
|
@@ -224,8 +379,10 @@ function getAppArgsForTransaction(args) {
|
|
|
224
379
|
return {
|
|
225
380
|
accounts: actualArgs?.accounts?.map((a) => (typeof a === 'string' ? a : algosdk_1.default.encodeAddress(a.publicKey))),
|
|
226
381
|
appArgs: actualArgs?.appArgs?.map((a) => (typeof a === 'string' ? encoder.encode(a) : a)),
|
|
227
|
-
boxes: actualArgs?.boxes
|
|
228
|
-
|
|
382
|
+
boxes: actualArgs?.boxes
|
|
383
|
+
?.map((b) => (typeof b === 'object' && 'appId' in b ? b : { appId: 0, name: b }))
|
|
384
|
+
?.map((ref) => ({
|
|
385
|
+
appIndex: ref.appId,
|
|
229
386
|
name: typeof ref.name === 'string' ? encoder.encode(ref.name) : ref.name,
|
|
230
387
|
})),
|
|
231
388
|
foreignApps: actualArgs?.apps,
|
|
@@ -237,12 +394,12 @@ exports.getAppArgsForTransaction = getAppArgsForTransaction;
|
|
|
237
394
|
/**
|
|
238
395
|
* Gets the current data for the given app from algod.
|
|
239
396
|
*
|
|
240
|
-
* @param
|
|
397
|
+
* @param appId The id of the app
|
|
241
398
|
* @param algod An algod client
|
|
242
399
|
* @returns The data about the app
|
|
243
400
|
*/
|
|
244
|
-
async function getAppByIndex(
|
|
245
|
-
return (await algod.getApplicationByID(
|
|
401
|
+
async function getAppByIndex(appId, algod) {
|
|
402
|
+
return (await algod.getApplicationByID(appId).do());
|
|
246
403
|
}
|
|
247
404
|
exports.getAppByIndex = getAppByIndex;
|
|
248
405
|
/**
|
|
@@ -253,12 +410,13 @@ exports.getAppByIndex = getAppByIndex;
|
|
|
253
410
|
* @returns The information about the compiled file
|
|
254
411
|
*/
|
|
255
412
|
async function compileTeal(tealCode, algod) {
|
|
256
|
-
const compiled = await algod.compile(tealCode).do();
|
|
413
|
+
const compiled = await algod.compile(tealCode).sourcemap(true).do();
|
|
257
414
|
return {
|
|
258
415
|
teal: tealCode,
|
|
259
416
|
compiled: compiled.result,
|
|
260
417
|
compiledHash: compiled.hash,
|
|
261
418
|
compiledBase64ToBytes: new Uint8Array(buffer_1.Buffer.from(compiled.result, 'base64')),
|
|
419
|
+
sourceMap: new algosdk_1.SourceMap(compiled['sourcemap']),
|
|
262
420
|
};
|
|
263
421
|
}
|
|
264
422
|
exports.compileTeal = compileTeal;
|
package/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
package/application-client.d.ts
CHANGED
|
@@ -1,113 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
private sender;
|
|
11
|
-
private params;
|
|
12
|
-
private existingDeployments;
|
|
13
|
-
private _appIndex;
|
|
14
|
-
private _appAddress;
|
|
15
|
-
private _creator;
|
|
16
|
-
constructor(appDetails: {
|
|
17
|
-
/** The ARC-0032 application spec as either:
|
|
18
|
-
* * Parsed JSON @see {AppSpec}
|
|
19
|
-
* * Raw JSON string
|
|
20
|
-
*/
|
|
21
|
-
app: AppSpec | string;
|
|
22
|
-
/** Default sender to use for transactions issued by this application client */
|
|
23
|
-
sender?: SendTransactionFrom;
|
|
24
|
-
/** Default suggested params object to use */
|
|
25
|
-
params?: SuggestedParams;
|
|
26
|
-
} & ({
|
|
27
|
-
/** The index of an existing app to call using this client */
|
|
28
|
-
index: number;
|
|
29
|
-
} | {
|
|
30
|
-
/** The address of the app creator account */
|
|
31
|
-
creatorAddress: string;
|
|
32
|
-
/** Optional cached value of the existing apps for the given creator */
|
|
33
|
-
existingDeployments?: AppLookup;
|
|
34
|
-
}), algod: Algodv2, indexer: Indexer);
|
|
35
|
-
/**
|
|
36
|
-
* Idempotently deploy (create, update/delete if changed) an app against the given name via the given creator account, including deploy-time template placeholder substitutions.
|
|
37
|
-
*
|
|
38
|
-
* 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
|
|
39
|
-
*
|
|
40
|
-
* **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.
|
|
41
|
-
*
|
|
42
|
-
* **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.
|
|
43
|
-
* @param deploy Deployment details
|
|
44
|
-
* @returns The metadata and transaction result(s) of the deployment, or just the metadata if it didn't need to issue transactions
|
|
45
|
-
*/
|
|
46
|
-
deploy(deploy: {
|
|
47
|
-
/** The version of the contract, e.g. "1.0" */
|
|
48
|
-
version: string;
|
|
49
|
-
/** The optional sender to send the transaction from, will use the application client's default sender by default if specified */
|
|
50
|
-
sender?: SendTransactionFrom;
|
|
51
|
-
/** Whether or not to allow updates in the contract using the deploy-time updatability control if present in your contract.
|
|
52
|
-
* If this is not specified then it will automatically be determined based on the AppSpec definition
|
|
53
|
-
**/
|
|
54
|
-
allowUpdate?: boolean;
|
|
55
|
-
/** Whether or not to allow deletes in the contract using the deploy-time deletability control if present in your contract.
|
|
56
|
-
* If this is not specified then it will automatically be determined based on the AppSpec definition
|
|
57
|
-
**/
|
|
58
|
-
allowDelete?: boolean;
|
|
59
|
-
/** Parameters to control transaction sending */
|
|
60
|
-
sendParams?: Omit<SendTransactionParams, 'args' | 'skipSending' | 'skipWaiting'>;
|
|
61
|
-
/** Any deploy-time parameters to replace in the TEAL code */
|
|
62
|
-
deployTimeParameters?: TealTemplateParameters;
|
|
63
|
-
/** What action to perform if a schema break is detected */
|
|
64
|
-
onSchemaBreak?: 'replace' | 'fail' | OnSchemaBreak;
|
|
65
|
-
/** What action to perform if a TEAL update is detected */
|
|
66
|
-
onUpdate?: 'update' | 'replace' | 'fail' | OnUpdate;
|
|
67
|
-
/** Any args to pass to any create transaction that is issued as part of deployment */
|
|
68
|
-
createArgs?: AppCallArgs;
|
|
69
|
-
/** Any args to pass to any update transaction that is issued as part of deployment */
|
|
70
|
-
updateArgs?: AppCallArgs;
|
|
71
|
-
/** Any args to pass to any delete transaction that is issued as part of deployment */
|
|
72
|
-
deleteArgs?: AppCallArgs;
|
|
73
|
-
}): Promise<(import("./transaction").SendTransactionResult & AppMetadata & {
|
|
74
|
-
operationPerformed: "update" | "create";
|
|
75
|
-
}) | (import("./transaction").SendTransactionResult & AppMetadata & {
|
|
76
|
-
deleteResult?: import("./transaction").SendTransactionResult | undefined;
|
|
77
|
-
operationPerformed: "replace";
|
|
78
|
-
}) | (AppMetadata & {
|
|
79
|
-
operationPerformed: "none";
|
|
80
|
-
})>;
|
|
81
|
-
create(create?: {
|
|
82
|
-
sender?: SendTransactionFrom;
|
|
83
|
-
args?: AppCallArgs;
|
|
84
|
-
note?: TransactionNote;
|
|
85
|
-
sendParams?: SendTransactionParams;
|
|
86
|
-
deployTimeParameters?: TealTemplateParameters;
|
|
87
|
-
}): Promise<import("./app").AppCallTransactionResult & AppReference>;
|
|
88
|
-
update(update?: {
|
|
89
|
-
sender?: SendTransactionFrom;
|
|
90
|
-
args?: AppCallArgs;
|
|
91
|
-
note?: TransactionNote;
|
|
92
|
-
sendParams?: SendTransactionParams;
|
|
93
|
-
deployTimeParameters?: TealTemplateParameters;
|
|
94
|
-
}): Promise<import("./app").AppCallTransactionResult>;
|
|
95
|
-
call(call: {
|
|
96
|
-
callType: 'optin' | 'closeout' | 'clearstate' | 'delete' | 'normal';
|
|
97
|
-
sender?: SendTransactionFrom;
|
|
98
|
-
note?: TransactionNote;
|
|
99
|
-
sendParams?: SendTransactionParams;
|
|
100
|
-
} & ({
|
|
101
|
-
/** If calling an ABI method then either the name of the method, or the ABI signature, if undefined then a bare call will be made */
|
|
102
|
-
method: string;
|
|
103
|
-
/** The ABI args to pass in */
|
|
104
|
-
methodArgs: ABIArgument[];
|
|
105
|
-
/** The optional lease for the transaction */
|
|
106
|
-
lease?: string | Uint8Array;
|
|
107
|
-
} | {
|
|
108
|
-
args: RawAppCallArgs;
|
|
109
|
-
})): Promise<import("./app").AppCallTransactionResult>;
|
|
110
|
-
getABIMethod(method: string): ABIMethodParams | undefined;
|
|
111
|
-
private loadAppReference;
|
|
112
|
-
}
|
|
1
|
+
import { Algodv2 } from 'algosdk';
|
|
2
|
+
import { ApplicationClient, AppSpecAppDetails } from './types/application-client';
|
|
3
|
+
/**
|
|
4
|
+
* Create a new ApplicationClient instance
|
|
5
|
+
* @param appDetails The details of the app
|
|
6
|
+
* @param algod An algod instance
|
|
7
|
+
* @returns The application client
|
|
8
|
+
*/
|
|
9
|
+
export declare function getApplicationClient(appDetails: AppSpecAppDetails, algod: Algodv2): ApplicationClient;
|
|
113
10
|
//# sourceMappingURL=application-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application-client.d.ts","sourceRoot":"","sources":["../src/application-client.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"application-client.d.ts","sourceRoot":"","sources":["../src/application-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAEjF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,qBAEjF"}
|