@algorandfoundation/algokit-utils 7.0.0-beta.3 → 7.0.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/amount.d.ts +14 -4
- package/amount.d.ts.map +1 -1
- package/amount.js +6 -0
- package/amount.js.map +1 -1
- package/amount.mjs +6 -0
- package/amount.mjs.map +1 -1
- package/app-client.d.ts +15 -0
- package/app-client.d.ts.map +1 -1
- package/app-client.js +15 -0
- package/app-client.js.map +1 -1
- package/app-client.mjs +15 -0
- package/app-client.mjs.map +1 -1
- package/app-deploy.d.ts.map +1 -1
- package/app-deploy.js +4 -6
- package/app-deploy.js.map +1 -1
- package/app-deploy.mjs +5 -7
- package/app-deploy.mjs.map +1 -1
- package/app.d.ts +2 -2
- package/app.d.ts.map +1 -1
- package/app.js +7 -3
- package/app.js.map +1 -1
- package/app.mjs +7 -3
- package/app.mjs.map +1 -1
- package/asset.d.ts.map +1 -1
- package/asset.js +0 -3
- package/asset.js.map +1 -1
- package/asset.mjs +0 -3
- package/asset.mjs.map +1 -1
- package/debugging/debugging.d.ts +1 -1
- package/debugging/debugging.d.ts.map +1 -1
- package/debugging/debugging.js +4 -5
- package/debugging/debugging.js.map +1 -1
- package/debugging/debugging.mjs +4 -5
- package/debugging/debugging.mjs.map +1 -1
- package/index.d.ts +4 -4
- package/index.d.ts.map +1 -1
- package/index.js +37 -37
- package/index.mjs +5 -5
- package/package.json +1 -1
- package/testing/test-logger.d.ts.map +1 -1
- package/testing/test-logger.js +1 -3
- package/testing/test-logger.js.map +1 -1
- package/testing/test-logger.mjs +1 -3
- package/testing/test-logger.mjs.map +1 -1
- package/transaction/legacy-bridge.d.ts +3 -3
- package/transaction/legacy-bridge.d.ts.map +1 -1
- package/transaction/legacy-bridge.js +1 -1
- package/transaction/legacy-bridge.js.map +1 -1
- package/transaction/legacy-bridge.mjs +2 -2
- package/transaction/legacy-bridge.mjs.map +1 -1
- package/transaction/transaction.d.ts +34 -3
- package/transaction/transaction.d.ts.map +1 -1
- package/transaction/transaction.js +42 -11
- package/transaction/transaction.js.map +1 -1
- package/transaction/transaction.mjs +42 -11
- package/transaction/transaction.mjs.map +1 -1
- package/transfer/transfer.js +2 -2
- package/transfer/transfer.js.map +1 -1
- package/transfer/transfer.mjs +2 -2
- package/transfer/transfer.mjs.map +1 -1
- package/types/account-manager.d.ts +2 -2
- package/types/account-manager.d.ts.map +1 -1
- package/types/account-manager.js +1 -1
- package/types/account-manager.js.map +1 -1
- package/types/account-manager.mjs +1 -1
- package/types/account-manager.mjs.map +1 -1
- package/types/algorand-client-interface.d.ts +29 -0
- package/types/algorand-client-interface.d.ts.map +1 -0
- package/types/algorand-client-interface.js +3 -0
- package/types/algorand-client-interface.js.map +1 -0
- package/types/algorand-client-interface.mjs +2 -0
- package/types/algorand-client-interface.mjs.map +1 -0
- package/types/algorand-client-transaction-sender.d.ts +12 -12
- package/types/algorand-client-transaction-sender.d.ts.map +1 -1
- package/types/algorand-client-transaction-sender.js +22 -6
- package/types/algorand-client-transaction-sender.js.map +1 -1
- package/types/algorand-client-transaction-sender.mjs +22 -6
- package/types/algorand-client-transaction-sender.mjs.map +1 -1
- package/types/algorand-client.d.ts +2 -1
- package/types/algorand-client.d.ts.map +1 -1
- package/types/algorand-client.js +1 -1
- package/types/algorand-client.js.map +1 -1
- package/types/algorand-client.mjs +1 -1
- package/types/algorand-client.mjs.map +1 -1
- package/types/amount.d.ts +10 -10
- package/types/amount.d.ts.map +1 -1
- package/types/amount.js +7 -7
- package/types/amount.js.map +1 -1
- package/types/amount.mjs +7 -7
- package/types/amount.mjs.map +1 -1
- package/types/app-arc56.d.ts +326 -0
- package/types/app-arc56.d.ts.map +1 -0
- package/types/app-arc56.js +163 -0
- package/types/app-arc56.js.map +1 -0
- package/types/app-arc56.mjs +154 -0
- package/types/app-arc56.mjs.map +1 -0
- package/types/app-client.d.ts +1479 -7
- package/types/app-client.d.ts.map +1 -1
- package/types/app-client.js +814 -8
- package/types/app-client.js.map +1 -1
- package/types/app-client.mjs +814 -9
- package/types/app-client.mjs.map +1 -1
- package/types/app-deployer.d.ts +19 -13
- package/types/app-deployer.d.ts.map +1 -1
- package/types/app-deployer.js +2 -2
- package/types/app-deployer.js.map +1 -1
- package/types/app-deployer.mjs +2 -2
- package/types/app-deployer.mjs.map +1 -1
- package/types/app-factory.d.ts +967 -0
- package/types/app-factory.d.ts.map +1 -0
- package/types/app-factory.js +322 -0
- package/types/app-factory.js.map +1 -0
- package/types/app-factory.mjs +320 -0
- package/types/app-factory.mjs.map +1 -0
- package/types/app-manager.d.ts +12 -2
- package/types/app-manager.d.ts.map +1 -1
- package/types/app-manager.js +10 -1
- package/types/app-manager.js.map +1 -1
- package/types/app-manager.mjs +10 -1
- package/types/app-manager.mjs.map +1 -1
- package/types/app-spec.d.ts +2 -0
- package/types/app-spec.d.ts.map +1 -1
- package/types/app-spec.js +115 -0
- package/types/app-spec.js.map +1 -1
- package/types/app-spec.mjs +114 -0
- package/types/app-spec.mjs.map +1 -1
- package/types/app.d.ts +6 -2
- package/types/app.d.ts.map +1 -1
- package/types/asset-manager.d.ts +2 -1
- package/types/asset-manager.d.ts.map +1 -1
- package/types/asset-manager.js +0 -1
- package/types/asset-manager.js.map +1 -1
- package/types/asset-manager.mjs +0 -1
- package/types/asset-manager.mjs.map +1 -1
- package/types/client-manager.d.ts +109 -50
- package/types/client-manager.d.ts.map +1 -1
- package/types/client-manager.js +137 -23
- package/types/client-manager.js.map +1 -1
- package/types/client-manager.mjs +138 -24
- package/types/client-manager.mjs.map +1 -1
- package/types/composer.d.ts +31 -14
- package/types/composer.d.ts.map +1 -1
- package/types/composer.js +65 -10
- package/types/composer.js.map +1 -1
- package/types/composer.mjs +66 -11
- package/types/composer.mjs.map +1 -1
- package/types/debugging.d.ts +3 -2
- package/types/debugging.d.ts.map +1 -1
- package/types/debugging.js.map +1 -1
- package/types/debugging.mjs.map +1 -1
- package/types/dispenser-client.d.ts +1 -1
- package/types/dispenser-client.d.ts.map +1 -1
- package/types/dispenser-client.js +1 -1
- package/types/dispenser-client.js.map +1 -1
- package/types/dispenser-client.mjs +1 -1
- package/types/dispenser-client.mjs.map +1 -1
- package/types/network-client.d.ts +13 -0
- package/types/network-client.d.ts.map +1 -1
- package/types/network-client.js.map +1 -1
- package/types/network-client.mjs.map +1 -1
- package/types/testing.d.ts +3 -3
- package/types/testing.d.ts.map +1 -1
- package/types/transaction.d.ts +14 -1
- package/types/transaction.d.ts.map +1 -1
- package/util.d.ts +2 -1
- package/util.d.ts.map +1 -1
- package/util.js +11 -1
- package/util.js.map +1 -1
- package/util.mjs +11 -2
- package/util.mjs.map +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-factory.d.ts","sourceRoot":"","sources":["../../src/types/app-factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var algosdk = require('algosdk');
|
|
4
|
+
var types_app = require('./app.js');
|
|
5
|
+
var types_appArc56 = require('./app-arc56.js');
|
|
6
|
+
var types_appClient = require('./app-client.js');
|
|
7
|
+
|
|
8
|
+
var SourceMap = algosdk.SourceMap;
|
|
9
|
+
var OnApplicationComplete = algosdk.OnApplicationComplete;
|
|
10
|
+
/**
|
|
11
|
+
* ARC-56/ARC-32 app factory that, for a given app spec, allows you to create
|
|
12
|
+
* and deploy one or more app instances and to create one or more app clients
|
|
13
|
+
* to interact with those (or other) app instances.
|
|
14
|
+
*/
|
|
15
|
+
class AppFactory {
|
|
16
|
+
constructor(params) {
|
|
17
|
+
this._appSpec = types_appClient.AppClient.normaliseAppSpec(params.appSpec);
|
|
18
|
+
this._appName = params.appName ?? this._appSpec.name;
|
|
19
|
+
this._algorand = params.algorand;
|
|
20
|
+
this._version = params.version ?? '1.0';
|
|
21
|
+
this._defaultSender = params.defaultSender;
|
|
22
|
+
this._deployTimeParams = params.deployTimeParams;
|
|
23
|
+
this._updatable = params.updatable;
|
|
24
|
+
this._deletable = params.deletable;
|
|
25
|
+
this._paramsMethods = this.getParamsMethods();
|
|
26
|
+
}
|
|
27
|
+
/** Get parameters to define create and deploy related calls to the current app */
|
|
28
|
+
get params() {
|
|
29
|
+
return this._paramsMethods;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Creates an instance of the app and returns the result of the creation
|
|
33
|
+
* transaction and an app client to interact with that app instance.
|
|
34
|
+
*
|
|
35
|
+
* Performs deploy-time TEAL template placeholder substitutions (if specified).
|
|
36
|
+
* @param params The parameters to create the app
|
|
37
|
+
* @returns The app client and the result of the creation transaction
|
|
38
|
+
*/
|
|
39
|
+
async create(params) {
|
|
40
|
+
const updatable = params?.updatable ?? this._updatable;
|
|
41
|
+
const deletable = params?.deletable ?? this._deletable;
|
|
42
|
+
const deployTimeParams = params?.deployTimeParams ?? this._deployTimeParams;
|
|
43
|
+
const compiled = await this.compile({ deployTimeParams, updatable, deletable });
|
|
44
|
+
const result = await this.handleCallErrors(async () => params && 'method' in params
|
|
45
|
+
? this.parseMethodCallReturn(this._algorand.send.appCreateMethodCall(await this.params.create({ ...params, updatable, deletable, deployTimeParams })), types_appArc56.getArc56Method(params.method, this._appSpec))
|
|
46
|
+
: {
|
|
47
|
+
...(await this._algorand.send.appCreate(await this.params.bare.create({ ...params, updatable, deletable, deployTimeParams }))),
|
|
48
|
+
return: undefined,
|
|
49
|
+
});
|
|
50
|
+
return {
|
|
51
|
+
app: this.getAppClientById({
|
|
52
|
+
appId: result.appId,
|
|
53
|
+
}),
|
|
54
|
+
result: {
|
|
55
|
+
...result,
|
|
56
|
+
...compiled,
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Idempotently deploy (create if not exists, update if changed) an app against the given name for the given creator account, including deploy-time TEAL template placeholder substitutions (if specified).
|
|
62
|
+
*
|
|
63
|
+
* **Note:** When using the return from this function be sure to check `operationPerformed` to get access to various return properties like `transaction`, `confirmation` and `deleteResult`.
|
|
64
|
+
*
|
|
65
|
+
* **Note:** if there is a breaking state schema change to an existing app (and `onSchemaBreak` is set to `'replace'`) the existing app will be deleted and re-created.
|
|
66
|
+
*
|
|
67
|
+
* **Note:** if there is an update (different TEAL code) to an existing app (and `onUpdate` is set to `'replace'`) the existing app will be deleted and re-created.
|
|
68
|
+
* @param params The arguments to control the app deployment
|
|
69
|
+
* @returns The app client and the result of the deployment
|
|
70
|
+
*/
|
|
71
|
+
async deploy(params) {
|
|
72
|
+
const updatable = params.updatable ?? this._updatable ?? this.getDeployTimeControl('updatable');
|
|
73
|
+
const deletable = params.deletable ?? this._deletable ?? this.getDeployTimeControl('deletable');
|
|
74
|
+
const deployTimeParams = params.deployTimeParams ?? this._deployTimeParams;
|
|
75
|
+
const compiled = await this.compile({ deployTimeParams, updatable, deletable });
|
|
76
|
+
const deployResult = await this._algorand.appDeployer.deploy({
|
|
77
|
+
...params,
|
|
78
|
+
createParams: await (params.createParams && 'method' in params.createParams
|
|
79
|
+
? this.params.create({ ...params.createParams, updatable, deletable, deployTimeParams })
|
|
80
|
+
: this.params.bare.create({ ...params.createParams, updatable, deletable, deployTimeParams })),
|
|
81
|
+
updateParams: params.updateParams && 'method' in params.updateParams
|
|
82
|
+
? this.params.deployUpdate(params.updateParams)
|
|
83
|
+
: this.params.bare.deployUpdate(params.updateParams),
|
|
84
|
+
deleteParams: params.deleteParams && 'method' in params.deleteParams
|
|
85
|
+
? this.params.deployDelete(params.deleteParams)
|
|
86
|
+
: this.params.bare.deployDelete(params.deleteParams),
|
|
87
|
+
metadata: {
|
|
88
|
+
name: this._appName,
|
|
89
|
+
version: this._version,
|
|
90
|
+
updatable,
|
|
91
|
+
deletable,
|
|
92
|
+
},
|
|
93
|
+
});
|
|
94
|
+
const app = this.getAppClientById({
|
|
95
|
+
appId: deployResult.appId,
|
|
96
|
+
});
|
|
97
|
+
const result = {
|
|
98
|
+
...deployResult,
|
|
99
|
+
...compiled,
|
|
100
|
+
};
|
|
101
|
+
return {
|
|
102
|
+
app,
|
|
103
|
+
result: {
|
|
104
|
+
...result,
|
|
105
|
+
return: 'return' in result
|
|
106
|
+
? result.operationPerformed === 'update'
|
|
107
|
+
? params.updateParams && 'method' in params.updateParams
|
|
108
|
+
? types_appArc56.getArc56ReturnValue(result.return, types_appArc56.getArc56Method(params.updateParams.method, this._appSpec), this._appSpec.structs)
|
|
109
|
+
: undefined
|
|
110
|
+
: params.createParams && 'method' in params.createParams
|
|
111
|
+
? types_appArc56.getArc56ReturnValue(result.return, types_appArc56.getArc56Method(params.createParams.method, this._appSpec), this._appSpec.structs)
|
|
112
|
+
: undefined
|
|
113
|
+
: undefined,
|
|
114
|
+
deleteReturn: 'deleteReturn' in result && params.deleteParams && 'method' in params.deleteParams
|
|
115
|
+
? types_appArc56.getArc56ReturnValue(result.deleteReturn, types_appArc56.getArc56Method(params.deleteParams.method, this._appSpec), this._appSpec.structs)
|
|
116
|
+
: undefined,
|
|
117
|
+
},
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Returns a new `AppClient` client for an app instance of the given ID.
|
|
122
|
+
*
|
|
123
|
+
* Automatically populates appName, defaultSender and source maps from the factory
|
|
124
|
+
* if not specified in the params.
|
|
125
|
+
* @param params The parameters to create the app client
|
|
126
|
+
* @returns The `AppClient`
|
|
127
|
+
*/
|
|
128
|
+
getAppClientById(params) {
|
|
129
|
+
return new types_appClient.AppClient({
|
|
130
|
+
...params,
|
|
131
|
+
algorand: this._algorand,
|
|
132
|
+
appSpec: this._appSpec,
|
|
133
|
+
appName: params.appName ?? this._appName,
|
|
134
|
+
defaultSender: params.defaultSender ?? this._defaultSender,
|
|
135
|
+
approvalSourceMap: params.approvalSourceMap ?? this._approvalSourceMap,
|
|
136
|
+
clearSourceMap: params.clearSourceMap ?? this._clearSourceMap,
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Returns a new `AppClient` client, resolving the app by creator address and name
|
|
141
|
+
* using AlgoKit app deployment semantics (i.e. looking for the app creation transaction note).
|
|
142
|
+
*
|
|
143
|
+
* Automatically populates appName, defaultSender and source maps from the factory
|
|
144
|
+
* if not specified in the params.
|
|
145
|
+
* @param params The parameters to create the app client
|
|
146
|
+
* @returns The `AppClient`
|
|
147
|
+
*/
|
|
148
|
+
getAppClientByCreatorAddressAndName(params) {
|
|
149
|
+
return types_appClient.AppClient.fromCreatorAndName({
|
|
150
|
+
...params,
|
|
151
|
+
algorand: this._algorand,
|
|
152
|
+
appSpec: this._appSpec,
|
|
153
|
+
appName: params.appName ?? this._appName,
|
|
154
|
+
defaultSender: params.defaultSender ?? this._defaultSender,
|
|
155
|
+
approvalSourceMap: params.approvalSourceMap ?? this._approvalSourceMap,
|
|
156
|
+
clearSourceMap: params.clearSourceMap ?? this._clearSourceMap,
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Takes an error that may include a logic error from a call to the current app and re-exposes the
|
|
161
|
+
* error to include source code information via the source map and ARC-56 spec.
|
|
162
|
+
* @param e The error to parse
|
|
163
|
+
* @param isClearStateProgram Whether or not the code was running the clear state program (defaults to approval program)
|
|
164
|
+
* @returns The new error, or if there was no logic error or source map then the wrapped error with source details
|
|
165
|
+
*/
|
|
166
|
+
exposeLogicError(e, isClearStateProgram) {
|
|
167
|
+
return types_appClient.AppClient.exposeLogicError(e, this._appSpec, {
|
|
168
|
+
isClearStateProgram,
|
|
169
|
+
approvalSourceMap: this._approvalSourceMap,
|
|
170
|
+
clearSourceMap: this._clearSourceMap,
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Export the current source maps for the app.
|
|
175
|
+
* @returns The source maps
|
|
176
|
+
*/
|
|
177
|
+
exportSourceMaps() {
|
|
178
|
+
if (!this._approvalSourceMap || !this._clearSourceMap) {
|
|
179
|
+
throw new Error("Unable to export source maps; they haven't been loaded into this client - you need to call create, update, or deploy first");
|
|
180
|
+
}
|
|
181
|
+
return {
|
|
182
|
+
approvalSourceMap: this._approvalSourceMap,
|
|
183
|
+
clearSourceMap: this._clearSourceMap,
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Import source maps for the app.
|
|
188
|
+
* @param sourceMaps The source maps to import
|
|
189
|
+
*/
|
|
190
|
+
importSourceMaps(sourceMaps) {
|
|
191
|
+
this._approvalSourceMap = new SourceMap(sourceMaps.approvalSourceMap);
|
|
192
|
+
this._clearSourceMap = new SourceMap(sourceMaps.clearSourceMap);
|
|
193
|
+
}
|
|
194
|
+
getDeployTimeControl(control) {
|
|
195
|
+
const approval = this._appSpec.source?.approval ? Buffer.from(this._appSpec.source.approval, 'base64').toString('utf-8') : undefined;
|
|
196
|
+
// variable not present, so unknown control value
|
|
197
|
+
if (!approval || !approval.includes(control === 'updatable' ? types_app.UPDATABLE_TEMPLATE_NAME : types_app.DELETABLE_TEMPLATE_NAME))
|
|
198
|
+
return undefined;
|
|
199
|
+
// A call is present and configured
|
|
200
|
+
return (this._appSpec.bareActions.call.includes(control === 'updatable' ? 'UpdateApplication' : 'DeleteApplication') ||
|
|
201
|
+
Object.values(this._appSpec.methods).some((c) => c.actions.call.includes(control === 'updatable' ? 'UpdateApplication' : 'DeleteApplication')));
|
|
202
|
+
}
|
|
203
|
+
getParamsMethods() {
|
|
204
|
+
return {
|
|
205
|
+
/** Return params for a create ABI call, including deploy-time TEAL template replacements and compilation if provided */
|
|
206
|
+
create: async (params) => {
|
|
207
|
+
return this.getABIParams({
|
|
208
|
+
...params,
|
|
209
|
+
deployTimeParams: params.deployTimeParams ?? this._deployTimeParams,
|
|
210
|
+
schema: params.schema ?? {
|
|
211
|
+
globalByteSlices: this._appSpec.state.schema.global.bytes,
|
|
212
|
+
globalInts: this._appSpec.state.schema.global.ints,
|
|
213
|
+
localByteSlices: this._appSpec.state.schema.local.bytes,
|
|
214
|
+
localInts: this._appSpec.state.schema.local.ints,
|
|
215
|
+
},
|
|
216
|
+
...(await this.compile({ ...params, deployTimeParams: params.deployTimeParams ?? this._deployTimeParams })),
|
|
217
|
+
}, params.onComplete ?? OnApplicationComplete.NoOpOC);
|
|
218
|
+
},
|
|
219
|
+
/** Return params for a deployment update ABI call */
|
|
220
|
+
deployUpdate: (params) => {
|
|
221
|
+
return this.getABIParams(params, OnApplicationComplete.UpdateApplicationOC);
|
|
222
|
+
},
|
|
223
|
+
/** Return params for a deployment delete ABI call */
|
|
224
|
+
deployDelete: (params) => {
|
|
225
|
+
return this.getABIParams(params, OnApplicationComplete.DeleteApplicationOC);
|
|
226
|
+
},
|
|
227
|
+
bare: {
|
|
228
|
+
/** Return params for a create bare call, including deploy-time TEAL template replacements and compilation if provided */
|
|
229
|
+
create: async (params) => {
|
|
230
|
+
return this.getBareParams({
|
|
231
|
+
...params,
|
|
232
|
+
deployTimeParams: params?.deployTimeParams ?? this._deployTimeParams,
|
|
233
|
+
schema: params?.schema ?? {
|
|
234
|
+
globalByteSlices: this._appSpec.state.schema.global.bytes,
|
|
235
|
+
globalInts: this._appSpec.state.schema.global.ints,
|
|
236
|
+
localByteSlices: this._appSpec.state.schema.local.bytes,
|
|
237
|
+
localInts: this._appSpec.state.schema.local.ints,
|
|
238
|
+
},
|
|
239
|
+
...(await this.compile({ ...params, deployTimeParams: params?.deployTimeParams ?? this._deployTimeParams })),
|
|
240
|
+
}, params?.onComplete ?? OnApplicationComplete.NoOpOC);
|
|
241
|
+
},
|
|
242
|
+
/** Return params for a deployment update bare call */
|
|
243
|
+
deployUpdate: (params) => {
|
|
244
|
+
return this.getBareParams(params, OnApplicationComplete.UpdateApplicationOC);
|
|
245
|
+
},
|
|
246
|
+
/** Return params for a deployment delete bare call */
|
|
247
|
+
deployDelete: (params) => {
|
|
248
|
+
return this.getBareParams(params, OnApplicationComplete.DeleteApplicationOC);
|
|
249
|
+
},
|
|
250
|
+
},
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
/** Make the given call and catch any errors, augmenting with debugging information before re-throwing. */
|
|
254
|
+
async handleCallErrors(call) {
|
|
255
|
+
try {
|
|
256
|
+
return await call();
|
|
257
|
+
}
|
|
258
|
+
catch (e) {
|
|
259
|
+
throw this.exposeLogicError(e);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Compiles the approval and clear state programs (if TEAL templates provided),
|
|
264
|
+
* performing any provided deploy-time parameter replacement and stores
|
|
265
|
+
* the source maps.
|
|
266
|
+
*
|
|
267
|
+
* If no TEAL templates provided it will use any byte code provided in the app spec.
|
|
268
|
+
*
|
|
269
|
+
* Will store any generated source maps for later use in debugging.
|
|
270
|
+
*/
|
|
271
|
+
async compile(compilation) {
|
|
272
|
+
const result = await types_appClient.AppClient.compile(this._appSpec, this._algorand.app, compilation);
|
|
273
|
+
if (result.compiledApproval) {
|
|
274
|
+
this._approvalSourceMap = result.compiledApproval.sourceMap;
|
|
275
|
+
}
|
|
276
|
+
if (result.compiledClear) {
|
|
277
|
+
this._clearSourceMap = result.compiledClear.sourceMap;
|
|
278
|
+
}
|
|
279
|
+
return result;
|
|
280
|
+
}
|
|
281
|
+
getBareParams(params, onComplete) {
|
|
282
|
+
return {
|
|
283
|
+
...params,
|
|
284
|
+
sender: this.getSender(params?.sender),
|
|
285
|
+
onComplete,
|
|
286
|
+
};
|
|
287
|
+
}
|
|
288
|
+
getABIParams(params, onComplete) {
|
|
289
|
+
return {
|
|
290
|
+
...params,
|
|
291
|
+
sender: this.getSender(params.sender),
|
|
292
|
+
method: types_appArc56.getArc56Method(params.method, this._appSpec),
|
|
293
|
+
args: types_appClient.AppClient.getABIArgsWithDefaultValues(params.method, params.args, this._appSpec),
|
|
294
|
+
onComplete,
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
/** Returns the sender for a call, using the `defaultSender`
|
|
298
|
+
* if none provided and throws an error if neither provided */
|
|
299
|
+
getSender(sender) {
|
|
300
|
+
if (!sender && !this._defaultSender) {
|
|
301
|
+
throw new Error(`No sender provided and no default sender present in app client for call to app ${this._appName}`);
|
|
302
|
+
}
|
|
303
|
+
return sender ?? this._defaultSender;
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Checks for decode errors on the SendAppTransactionResult and maps the return value to the specified type
|
|
307
|
+
* on the ARC-56 method.
|
|
308
|
+
*
|
|
309
|
+
* If the return type is a struct then the struct will be returned.
|
|
310
|
+
*
|
|
311
|
+
* @param result The SendAppTransactionResult to be mapped
|
|
312
|
+
* @param method The method that was called
|
|
313
|
+
* @returns The smart contract response with an updated return value
|
|
314
|
+
*/
|
|
315
|
+
async parseMethodCallReturn(result, method) {
|
|
316
|
+
const resultValue = await result;
|
|
317
|
+
return { ...resultValue, return: types_appArc56.getArc56ReturnValue(resultValue.return, method, this._appSpec.structs) };
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
exports.AppFactory = AppFactory;
|
|
322
|
+
//# sourceMappingURL=app-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-factory.js","sources":["../../src/types/app-factory.ts"],"sourcesContent":[null],"names":["AppClient","getArc56Method","getArc56ReturnValue","UPDATABLE_TEMPLATE_NAME","DELETABLE_TEMPLATE_NAME"],"mappings":"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"}
|