@algorandfoundation/algokit-utils 1.0.0-beta.2 → 1.0.0-beta.21
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/{dist/account.d.ts → account.d.ts} +29 -31
- package/account.d.ts.map +1 -0
- package/{dist/account.js → account.js} +43 -43
- package/account.js.map +1 -0
- 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 +51 -0
- package/app.d.ts.map +1 -0
- package/app.js +288 -0
- package/app.js.map +1 -0
- package/application-client.d.ts +10 -0
- package/application-client.d.ts.map +1 -0
- package/application-client.js +15 -0
- package/application-client.js.map +1 -0
- package/deploy-app.d.ts +93 -0
- package/deploy-app.d.ts.map +1 -0
- package/{dist/deploy-app.js → deploy-app.js} +129 -137
- package/deploy-app.js.map +1 -0
- package/index.d.ts +14 -0
- package/index.d.ts.map +1 -0
- package/{dist/index.js → index.js} +6 -4
- package/index.js.map +1 -0
- package/{dist/indexer-lookup.d.ts → indexer-lookup.d.ts} +1 -1
- package/{dist/indexer-lookup.d.ts.map → indexer-lookup.d.ts.map} +1 -1
- package/{dist/localnet.d.ts → localnet.d.ts} +4 -4
- package/localnet.d.ts.map +1 -0
- package/{dist/localnet.js → localnet.js} +10 -10
- package/localnet.js.map +1 -0
- package/{dist/network-client.d.ts → network-client.d.ts} +11 -20
- package/network-client.d.ts.map +1 -0
- package/{dist/network-client.js → network-client.js} +11 -11
- package/{dist/network-client.js.map → network-client.js.map} +1 -1
- package/package.json +4 -92
- 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 +80 -0
- package/transaction.d.ts.map +1 -0
- package/{dist/transaction.js → transaction.js} +88 -106
- package/transaction.js.map +1 -0
- package/transfer.d.ts +21 -0
- package/transfer.d.ts.map +1 -0
- package/transfer.js +65 -0
- package/transfer.js.map +1 -0
- 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/{dist → types}/algo-http-client-with-retry.js +2 -2
- package/types/algo-http-client-with-retry.js.map +1 -0
- package/{dist/algod-type.d.ts → types/algod.d.ts} +6 -7
- package/types/algod.d.ts.map +1 -0
- package/{dist/algod-type.js → types/algod.js} +1 -1
- package/types/algod.js.map +1 -0
- package/{dist/algo-amount.d.ts → types/amount.d.ts} +3 -1
- package/types/amount.d.ts.map +1 -0
- package/{dist/algo-amount.js → types/amount.js} +7 -1
- package/types/amount.js.map +1 -0
- package/types/app.d.ts +234 -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 +155 -0
- package/types/application-client.d.ts.map +1 -0
- package/types/application-client.js +348 -0
- package/types/application-client.js.map +1 -0
- package/types/appspec.d.ts +77 -0
- package/types/appspec.d.ts.map +1 -0
- package/types/appspec.js +15 -0
- package/types/appspec.js.map +1 -0
- 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/{dist/indexer-type.d.ts → types/indexer.d.ts} +9 -10
- package/types/indexer.d.ts.map +1 -0
- package/{dist/indexer-type.js → types/indexer.js} +1 -1
- package/types/indexer.js.map +1 -0
- package/{dist/config.d.ts → types/logging.d.ts} +3 -15
- package/types/logging.d.ts.map +1 -0
- package/types/logging.js +27 -0
- 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/LICENSE +0 -21
- package/README.md +0 -31
- package/dist/account.d.ts.map +0 -1
- package/dist/account.js.map +0 -1
- package/dist/algo-amount.d.ts.map +0 -1
- package/dist/algo-amount.js.map +0 -1
- package/dist/algo-http-client-with-retry.d.ts.map +0 -1
- package/dist/algo-http-client-with-retry.js.map +0 -1
- package/dist/algod-type.d.ts.map +0 -1
- package/dist/algod-type.js.map +0 -1
- package/dist/app.d.ts +0 -150
- package/dist/app.d.ts.map +0 -1
- package/dist/app.js +0 -160
- package/dist/app.js.map +0 -1
- package/dist/application-client.d.ts +0 -1
- package/dist/application-client.d.ts.map +0 -1
- package/dist/application-client.js +0 -69
- package/dist/application-client.js.map +0 -1
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -28
- package/dist/config.js.map +0 -1
- package/dist/deploy-app.d.ts +0 -149
- package/dist/deploy-app.d.ts.map +0 -1
- package/dist/deploy-app.js.map +0 -1
- package/dist/index.d.ts +0 -13
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/indexer-type.d.ts.map +0 -1
- package/dist/indexer-type.js.map +0 -1
- package/dist/localnet.d.ts.map +0 -1
- package/dist/localnet.js.map +0 -1
- package/dist/network-client.d.ts.map +0 -1
- package/dist/package.json +0 -20
- package/dist/transaction.d.ts +0 -147
- package/dist/transaction.d.ts.map +0 -1
- package/dist/transaction.js.map +0 -1
- package/dist/transfer.d.ts +0 -24
- package/dist/transfer.d.ts.map +0 -1
- package/dist/transfer.js +0 -33
- package/dist/transfer.js.map +0 -1
- package/dist/urlTokenBaseHTTPClient.d.ts.map +0 -1
- package/dist/urlTokenBaseHTTPClient.js.map +0 -1
- /package/{dist/indexer-lookup.js → indexer-lookup.js} +0 -0
- /package/{dist/indexer-lookup.js.map → indexer-lookup.js.map} +0 -0
- /package/{dist → types}/algo-http-client-with-retry.d.ts +0 -0
- /package/{dist → types}/urlTokenBaseHTTPClient.d.ts +0 -0
- /package/{dist → types}/urlTokenBaseHTTPClient.js +0 -0
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.ApplicationClient = void 0;
|
|
27
|
+
const algosdk_1 = __importStar(require("algosdk"));
|
|
28
|
+
const buffer_1 = require("buffer");
|
|
29
|
+
const app_1 = require("../app");
|
|
30
|
+
const deploy_app_1 = require("../deploy-app");
|
|
31
|
+
const transaction_1 = require("../transaction");
|
|
32
|
+
const app_2 = require("./app");
|
|
33
|
+
const appspec_1 = require("./appspec");
|
|
34
|
+
const logic_error_1 = require("./logic-error");
|
|
35
|
+
/** Application client - a class that wraps an ARC-0032 app spec and provides high productivity methods to deploy and call the app */
|
|
36
|
+
class ApplicationClient {
|
|
37
|
+
/**
|
|
38
|
+
* Create a new ApplicationClient instance
|
|
39
|
+
* @param appDetails The details of the app
|
|
40
|
+
* @param algod An algod instance
|
|
41
|
+
* @param indexer An indexer instance
|
|
42
|
+
*/
|
|
43
|
+
constructor(appDetails, algod) {
|
|
44
|
+
const { app, sender, params, ...appIdentifier } = appDetails;
|
|
45
|
+
this.algod = algod;
|
|
46
|
+
this.appSpec = typeof app == 'string' ? JSON.parse(app) : app;
|
|
47
|
+
this._appName = appIdentifier.name ?? this.appSpec.contract.name;
|
|
48
|
+
if ('creatorAddress' in appIdentifier) {
|
|
49
|
+
this._appId = 0;
|
|
50
|
+
this._creator = appIdentifier.creatorAddress;
|
|
51
|
+
if ('indexer' in appIdentifier) {
|
|
52
|
+
this.indexer = appIdentifier.indexer;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
if (appIdentifier.existingDeployments.creator !== this._creator) {
|
|
56
|
+
throw new Error(`Attempt to create application client with invalid existingDeployments against a different creator (${appIdentifier.existingDeployments.creator}) instead of expected creator ${this._creator}`);
|
|
57
|
+
}
|
|
58
|
+
this.existingDeployments = appIdentifier.existingDeployments;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
if (appIdentifier.id < 0) {
|
|
63
|
+
throw new Error(`Attempt to create application client with invalid app id of ${appIdentifier.id}`);
|
|
64
|
+
}
|
|
65
|
+
this._appId = appIdentifier.id;
|
|
66
|
+
}
|
|
67
|
+
this._appAddress = algosdk_1.default.getApplicationAddress(this._appId);
|
|
68
|
+
this.sender = sender;
|
|
69
|
+
this.params = params;
|
|
70
|
+
// todo: find create, update, delete, etc. methods from app spec
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Idempotently deploy (create, update/delete if changed) an app against the given name via the given creator account, including deploy-time template placeholder substitutions.
|
|
74
|
+
*
|
|
75
|
+
* 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
|
|
76
|
+
*
|
|
77
|
+
* **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.
|
|
78
|
+
*
|
|
79
|
+
* **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.
|
|
80
|
+
* @param deploy Deployment details
|
|
81
|
+
* @returns The metadata and transaction result(s) of the deployment, or just the metadata if it didn't need to issue transactions
|
|
82
|
+
*/
|
|
83
|
+
async deploy(deploy) {
|
|
84
|
+
const { sender, version, allowUpdate, allowDelete, sendParams, createArgs, updateArgs, deleteArgs, ...deployArgs } = deploy;
|
|
85
|
+
if (this._appId !== 0) {
|
|
86
|
+
throw new Error(`Attempt to deploy app which already has an app id of ${this._appId}`);
|
|
87
|
+
}
|
|
88
|
+
if (!sender && !this.sender) {
|
|
89
|
+
throw new Error('No sender provided, unable to deploy app');
|
|
90
|
+
}
|
|
91
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
92
|
+
const from = sender ?? this.sender;
|
|
93
|
+
if (!this._creator) {
|
|
94
|
+
throw new Error('Attempt to deploy a contract without having specified a creator');
|
|
95
|
+
}
|
|
96
|
+
if (this._creator !== (0, transaction_1.getSenderAddress)(from)) {
|
|
97
|
+
throw new Error(`Attempt to deploy contract with a sender address (${(0, transaction_1.getSenderAddress)(from)}) that differs from the given creator address for this application client: ${this._creator}`);
|
|
98
|
+
}
|
|
99
|
+
const approval = buffer_1.Buffer.from(this.appSpec.source.approval, 'base64').toString('utf-8');
|
|
100
|
+
const clear = buffer_1.Buffer.from(this.appSpec.source.clear, 'base64').toString('utf-8');
|
|
101
|
+
try {
|
|
102
|
+
await this.getAppReference();
|
|
103
|
+
const result = await (0, deploy_app_1.deployApp)({
|
|
104
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
105
|
+
from,
|
|
106
|
+
approvalProgram: approval,
|
|
107
|
+
clearStateProgram: clear,
|
|
108
|
+
metadata: {
|
|
109
|
+
name: this._appName,
|
|
110
|
+
// todo: intelligent version management
|
|
111
|
+
version: version ?? '1.0',
|
|
112
|
+
updatable: allowUpdate ?? approval.includes(app_2.UPDATABLE_TEMPLATE_NAME)
|
|
113
|
+
? (!this.appSpec.bare_call_config.update_application && this.appSpec.bare_call_config.update_application !== 'NEVER') ||
|
|
114
|
+
!!Object.keys(this.appSpec.hints).filter((h) => !this.appSpec.hints[h].call_config.update_application &&
|
|
115
|
+
this.appSpec.hints[h].call_config.update_application !== 'NEVER')[0]
|
|
116
|
+
: undefined,
|
|
117
|
+
deletable: allowDelete ?? approval.includes(app_2.DELETABLE_TEMPLATE_NAME)
|
|
118
|
+
? (!this.appSpec.bare_call_config.delete_application && this.appSpec.bare_call_config.delete_application !== 'NEVER') ||
|
|
119
|
+
!!Object.keys(this.appSpec.hints).filter((h) => !this.appSpec.hints[h].call_config.delete_application &&
|
|
120
|
+
this.appSpec.hints[h].call_config.delete_application !== 'NEVER')[0]
|
|
121
|
+
: undefined,
|
|
122
|
+
},
|
|
123
|
+
schema: {
|
|
124
|
+
globalByteSlices: this.appSpec.state.global.num_byte_slices,
|
|
125
|
+
globalInts: this.appSpec.state.global.num_uints,
|
|
126
|
+
localByteSlices: this.appSpec.state.local.num_byte_slices,
|
|
127
|
+
localInts: this.appSpec.state.local.num_uints,
|
|
128
|
+
},
|
|
129
|
+
transactionParams: this.params,
|
|
130
|
+
...(sendParams ?? {}),
|
|
131
|
+
existingDeployments: this.existingDeployments,
|
|
132
|
+
createArgs: this.getCallArgs(createArgs),
|
|
133
|
+
updateArgs: this.getCallArgs(updateArgs),
|
|
134
|
+
deleteArgs: this.getCallArgs(deleteArgs),
|
|
135
|
+
...deployArgs,
|
|
136
|
+
}, this.algod, this.indexer);
|
|
137
|
+
this._approvalSourceMap = result.compiledApproval?.sourceMap;
|
|
138
|
+
this._clearSourceMap = result.compiledClear?.sourceMap;
|
|
139
|
+
// Nothing needed to happen
|
|
140
|
+
if (result.operationPerformed === 'nothing') {
|
|
141
|
+
return result;
|
|
142
|
+
}
|
|
143
|
+
if (!this.existingDeployments) {
|
|
144
|
+
throw new Error('Expected existingDeployments to be present');
|
|
145
|
+
}
|
|
146
|
+
const { transaction, confirmation, operationPerformed, ...appMetadata } = result;
|
|
147
|
+
this.existingDeployments = {
|
|
148
|
+
creator: this.existingDeployments.creator,
|
|
149
|
+
apps: { ...this.existingDeployments.apps, [this._appName]: appMetadata },
|
|
150
|
+
};
|
|
151
|
+
return result;
|
|
152
|
+
}
|
|
153
|
+
catch (e) {
|
|
154
|
+
throw this.exposeLogicError(e);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
async create(create) {
|
|
158
|
+
const { sender, note, sendParams, deployTimeParameters, updatable, deletable, ...args } = create ?? {};
|
|
159
|
+
if (this._appId !== 0) {
|
|
160
|
+
throw new Error(`Attempt to create app which already has an app id of ${this._appId}`);
|
|
161
|
+
}
|
|
162
|
+
if (!sender && !this.sender) {
|
|
163
|
+
throw new Error('No sender provided, unable to create app');
|
|
164
|
+
}
|
|
165
|
+
const approval = buffer_1.Buffer.from(this.appSpec.source.approval, 'base64').toString('utf-8');
|
|
166
|
+
const clear = buffer_1.Buffer.from(this.appSpec.source.clear, 'base64').toString('utf-8');
|
|
167
|
+
try {
|
|
168
|
+
const result = await (0, app_1.createApp)({
|
|
169
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
170
|
+
from: sender ?? this.sender,
|
|
171
|
+
approvalProgram: (0, deploy_app_1.replaceDeployTimeControlParams)((0, deploy_app_1.performTemplateSubstitution)(approval, deployTimeParameters), {
|
|
172
|
+
updatable,
|
|
173
|
+
deletable,
|
|
174
|
+
}),
|
|
175
|
+
clearStateProgram: (0, deploy_app_1.performTemplateSubstitution)(clear, deployTimeParameters),
|
|
176
|
+
schema: {
|
|
177
|
+
globalByteSlices: this.appSpec.state.global.num_byte_slices,
|
|
178
|
+
globalInts: this.appSpec.state.global.num_uints,
|
|
179
|
+
localByteSlices: this.appSpec.state.local.num_byte_slices,
|
|
180
|
+
localInts: this.appSpec.state.local.num_uints,
|
|
181
|
+
},
|
|
182
|
+
args: this.getCallArgs(args),
|
|
183
|
+
note: note,
|
|
184
|
+
transactionParams: this.params,
|
|
185
|
+
...(sendParams ?? {}),
|
|
186
|
+
}, this.algod);
|
|
187
|
+
this._approvalSourceMap = result.compiledApproval?.sourceMap;
|
|
188
|
+
this._clearSourceMap = result.compiledClear?.sourceMap;
|
|
189
|
+
if (result.confirmation) {
|
|
190
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
191
|
+
this._appId = result.confirmation['application-index'];
|
|
192
|
+
this._appAddress = (0, algosdk_1.getApplicationAddress)(this._appId);
|
|
193
|
+
}
|
|
194
|
+
return result;
|
|
195
|
+
}
|
|
196
|
+
catch (e) {
|
|
197
|
+
throw this.exposeLogicError(e);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
async update(update) {
|
|
201
|
+
const { sender, note, sendParams, deployTimeParameters, updatable, deletable, ...args } = update ?? {};
|
|
202
|
+
if (this._appId === 0) {
|
|
203
|
+
throw new Error(`Attempt to update app which doesn't have an app id defined`);
|
|
204
|
+
}
|
|
205
|
+
if (!sender && !this.sender) {
|
|
206
|
+
throw new Error('No sender provided, unable to create app');
|
|
207
|
+
}
|
|
208
|
+
const approval = buffer_1.Buffer.from(this.appSpec.source.approval, 'base64').toString('utf-8');
|
|
209
|
+
const clear = buffer_1.Buffer.from(this.appSpec.source.clear, 'base64').toString('utf-8');
|
|
210
|
+
try {
|
|
211
|
+
const result = await (0, app_1.updateApp)({
|
|
212
|
+
appId: this._appId,
|
|
213
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
214
|
+
from: sender ?? this.sender,
|
|
215
|
+
approvalProgram: (0, deploy_app_1.replaceDeployTimeControlParams)((0, deploy_app_1.performTemplateSubstitution)(approval, deployTimeParameters), {
|
|
216
|
+
updatable,
|
|
217
|
+
deletable,
|
|
218
|
+
}),
|
|
219
|
+
clearStateProgram: (0, deploy_app_1.performTemplateSubstitution)(clear, deployTimeParameters),
|
|
220
|
+
args: this.getCallArgs(args),
|
|
221
|
+
note: note,
|
|
222
|
+
transactionParams: this.params,
|
|
223
|
+
...(sendParams ?? {}),
|
|
224
|
+
}, this.algod);
|
|
225
|
+
this._approvalSourceMap = result.compiledApproval?.sourceMap;
|
|
226
|
+
this._clearSourceMap = result.compiledClear?.sourceMap;
|
|
227
|
+
return result;
|
|
228
|
+
}
|
|
229
|
+
catch (e) {
|
|
230
|
+
throw this.exposeLogicError(e);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
async call(call) {
|
|
234
|
+
return await this._call(call, 'normal');
|
|
235
|
+
}
|
|
236
|
+
async optIn(call) {
|
|
237
|
+
return await this._call(call, 'optin');
|
|
238
|
+
}
|
|
239
|
+
async closeOut(call) {
|
|
240
|
+
return await this._call(call, 'optin');
|
|
241
|
+
}
|
|
242
|
+
async clearState(call) {
|
|
243
|
+
return await this._call(call, 'optin');
|
|
244
|
+
}
|
|
245
|
+
async delete(call) {
|
|
246
|
+
return await this._call(call, 'optin');
|
|
247
|
+
}
|
|
248
|
+
async _call(call, callType) {
|
|
249
|
+
const { sender, note, sendParams, ...args } = call;
|
|
250
|
+
if (!sender && !this.sender) {
|
|
251
|
+
throw new Error('No sender provided, unable to call app');
|
|
252
|
+
}
|
|
253
|
+
const appMetadata = await this.getAppReference();
|
|
254
|
+
if (appMetadata.appId === 0) {
|
|
255
|
+
throw new Error(`Attempt to call an app that can't be found '${this._appName}' for creator '${this._creator}'.`);
|
|
256
|
+
}
|
|
257
|
+
// todo: process ABI args as needed to make them nicer to deal with like beaker-ts
|
|
258
|
+
// todo: support unwrapping a logic error and source map.
|
|
259
|
+
// todo: support readonly method calls
|
|
260
|
+
try {
|
|
261
|
+
return (0, app_1.callApp)({
|
|
262
|
+
appId: appMetadata.appId,
|
|
263
|
+
callType: callType,
|
|
264
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
265
|
+
from: sender ?? this.sender,
|
|
266
|
+
args: this.getCallArgs(args),
|
|
267
|
+
note: note,
|
|
268
|
+
transactionParams: this.params,
|
|
269
|
+
...(sendParams ?? {}),
|
|
270
|
+
}, this.algod);
|
|
271
|
+
}
|
|
272
|
+
catch (e) {
|
|
273
|
+
throw this.exposeLogicError(e);
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
getCallArgs(args) {
|
|
277
|
+
if (!args) {
|
|
278
|
+
return undefined;
|
|
279
|
+
}
|
|
280
|
+
if ('method' in args) {
|
|
281
|
+
const abiMethod = this.getABIMethod(args.method);
|
|
282
|
+
if (!abiMethod) {
|
|
283
|
+
throw new Error(`Attempt to call ABI method ${args.method}, but it wasn't found`);
|
|
284
|
+
}
|
|
285
|
+
return {
|
|
286
|
+
method: abiMethod,
|
|
287
|
+
...(Array.isArray(args.methodArgs) ? { args: args.methodArgs } : args.methodArgs),
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
return args.args;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
getABIMethod(method) {
|
|
295
|
+
if (!method.includes('(')) {
|
|
296
|
+
const methods = this.appSpec.contract.methods.filter((m) => m.name === method);
|
|
297
|
+
if (methods.length > 1) {
|
|
298
|
+
throw new Error(`Received a call to method ${method} in contract ${this._appName}, but this resolved to multiple methods; please pass in an ABI signature instead: ${methods.map(appspec_1.getABISignature).join(', ')}`);
|
|
299
|
+
}
|
|
300
|
+
return methods[0];
|
|
301
|
+
}
|
|
302
|
+
return this.appSpec.contract.methods.find((m) => (0, appspec_1.getABISignature)(m) === method);
|
|
303
|
+
}
|
|
304
|
+
async getAppReference() {
|
|
305
|
+
if (!this.existingDeployments && this._creator) {
|
|
306
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
307
|
+
this.existingDeployments = await (0, deploy_app_1.getCreatorAppsByName)(this._creator, this.indexer);
|
|
308
|
+
}
|
|
309
|
+
if (this.existingDeployments && this._appId === 0) {
|
|
310
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
311
|
+
const app = this.existingDeployments.apps[this._appName];
|
|
312
|
+
if (!app) {
|
|
313
|
+
return {
|
|
314
|
+
appId: 0,
|
|
315
|
+
appAddress: (0, algosdk_1.getApplicationAddress)(0),
|
|
316
|
+
};
|
|
317
|
+
}
|
|
318
|
+
return app;
|
|
319
|
+
}
|
|
320
|
+
return {
|
|
321
|
+
appId: this._appId,
|
|
322
|
+
appAddress: this._appAddress,
|
|
323
|
+
};
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Takes an error that may include a logic error from a smart contract call and re-exposes the error to include source code information via the source map.
|
|
327
|
+
* This is automatically used within @see ApplicationClient but if you pass `skipSending: true` e.g. if doing a group transaction
|
|
328
|
+
* then you can use this in a try/catch block to get better debugging information.
|
|
329
|
+
* @param e The error to parse
|
|
330
|
+
* @param isClear Whether or not the code was running the clear state program
|
|
331
|
+
* @returns The new error, or if there was no logic error or source map then the wrapped error with source details
|
|
332
|
+
*/
|
|
333
|
+
exposeLogicError(e, isClear) {
|
|
334
|
+
if ((!isClear && this._approvalSourceMap == undefined) || (isClear && this._clearSourceMap == undefined))
|
|
335
|
+
return e;
|
|
336
|
+
const errorDetails = logic_error_1.LogicError.parseLogicError(e.message);
|
|
337
|
+
if (errorDetails !== undefined)
|
|
338
|
+
return new logic_error_1.LogicError(errorDetails, buffer_1.Buffer.from(isClear ? this.appSpec.source.clear : this.appSpec.source.approval, 'base64')
|
|
339
|
+
.toString()
|
|
340
|
+
.split('\n'),
|
|
341
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
342
|
+
isClear ? this._clearSourceMap : this._approvalSourceMap);
|
|
343
|
+
else
|
|
344
|
+
return e;
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
exports.ApplicationClient = ApplicationClient;
|
|
348
|
+
//# sourceMappingURL=application-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"application-client.js","sourceRoot":"","sources":["../../src/types/application-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { ABIContractParams, ABIMethod, ABIMethodParams } from 'algosdk';
|
|
2
|
+
export interface AppSpec {
|
|
3
|
+
hints: HintSpec;
|
|
4
|
+
schema: SchemaSpec;
|
|
5
|
+
source: AppSources;
|
|
6
|
+
contract: ABIContractParams;
|
|
7
|
+
state: StateSchemaSpec;
|
|
8
|
+
bare_call_config: {
|
|
9
|
+
no_op?: CallConfigValue;
|
|
10
|
+
opt_in?: CallConfigValue;
|
|
11
|
+
close_out?: CallConfigValue;
|
|
12
|
+
clear_state?: CallConfigValue;
|
|
13
|
+
update_application?: CallConfigValue;
|
|
14
|
+
delete_application?: CallConfigValue;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export type HintSpec = Record<string, Hint>;
|
|
18
|
+
export interface AppSources {
|
|
19
|
+
approval: string;
|
|
20
|
+
clear: string;
|
|
21
|
+
}
|
|
22
|
+
export type CallConfigValue = 'NEVER' | 'CALL' | 'CREATE' | 'ALL';
|
|
23
|
+
export interface Hint {
|
|
24
|
+
structs: Record<string, Struct>;
|
|
25
|
+
readonly: boolean;
|
|
26
|
+
default_arguments: Record<string, DefaultArgument>;
|
|
27
|
+
call_config: {
|
|
28
|
+
no_op?: CallConfigValue;
|
|
29
|
+
opt_in?: CallConfigValue;
|
|
30
|
+
close_out?: CallConfigValue;
|
|
31
|
+
clear_state?: CallConfigValue;
|
|
32
|
+
update_application?: CallConfigValue;
|
|
33
|
+
delete_application?: CallConfigValue;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export type StructElement = [string, string];
|
|
37
|
+
export interface Struct {
|
|
38
|
+
name: string;
|
|
39
|
+
elements: StructElement[];
|
|
40
|
+
}
|
|
41
|
+
export interface DefaultArgument {
|
|
42
|
+
source: string;
|
|
43
|
+
data: string | bigint | number;
|
|
44
|
+
}
|
|
45
|
+
export declare enum AVMType {
|
|
46
|
+
uint64 = 0,
|
|
47
|
+
bytes = 1
|
|
48
|
+
}
|
|
49
|
+
export interface DeclaredSchemaValueSpec {
|
|
50
|
+
type: AVMType;
|
|
51
|
+
key: string;
|
|
52
|
+
desc: string;
|
|
53
|
+
static: boolean;
|
|
54
|
+
}
|
|
55
|
+
export interface ReservedSchemaValueSpec {
|
|
56
|
+
type: AVMType;
|
|
57
|
+
desc: string;
|
|
58
|
+
max_keys: number;
|
|
59
|
+
}
|
|
60
|
+
export interface SchemaSpec {
|
|
61
|
+
local: Schema;
|
|
62
|
+
global: Schema;
|
|
63
|
+
}
|
|
64
|
+
export interface Schema {
|
|
65
|
+
declared: Record<string, DeclaredSchemaValueSpec>;
|
|
66
|
+
reserved: Record<string, ReservedSchemaValueSpec>;
|
|
67
|
+
}
|
|
68
|
+
export interface StateSchemaSpec {
|
|
69
|
+
global: StateSchema;
|
|
70
|
+
local: StateSchema;
|
|
71
|
+
}
|
|
72
|
+
export type StateSchema = {
|
|
73
|
+
num_uints: number;
|
|
74
|
+
num_byte_slices: number;
|
|
75
|
+
};
|
|
76
|
+
export declare const getABISignature: (method: ABIMethodParams | ABIMethod) => string;
|
|
77
|
+
//# sourceMappingURL=appspec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appspec.d.ts","sourceRoot":"","sources":["../../src/types/appspec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEvE,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,QAAQ,CAAA;IACf,MAAM,EAAE,UAAU,CAAA;IAClB,MAAM,EAAE,UAAU,CAAA;IAClB,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,KAAK,EAAE,eAAe,CAAA;IACtB,gBAAgB,EAAE;QAChB,KAAK,CAAC,EAAE,eAAe,CAAA;QACvB,MAAM,CAAC,EAAE,eAAe,CAAA;QACxB,SAAS,CAAC,EAAE,eAAe,CAAA;QAC3B,WAAW,CAAC,EAAE,eAAe,CAAA;QAC7B,kBAAkB,CAAC,EAAE,eAAe,CAAA;QACpC,kBAAkB,CAAC,EAAE,eAAe,CAAA;KACrC,CAAA;CACF;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AAE3C,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAA;AAEjE,MAAM,WAAW,IAAI;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,QAAQ,EAAE,OAAO,CAAA;IACjB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAClD,WAAW,EAAE;QACX,KAAK,CAAC,EAAE,eAAe,CAAA;QACvB,MAAM,CAAC,EAAE,eAAe,CAAA;QACxB,SAAS,CAAC,EAAE,eAAe,CAAA;QAC3B,WAAW,CAAC,EAAE,eAAe,CAAA;QAC7B,kBAAkB,CAAC,EAAE,eAAe,CAAA;QACpC,kBAAkB,CAAC,EAAE,eAAe,CAAA;KACrC,CAAA;CACF;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAE5C,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,aAAa,EAAE,CAAA;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;CAC/B;AAED,oBAAY,OAAO;IACjB,MAAM,IAAA;IACN,KAAK,IAAA;CACN;AACD,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,OAAO,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAA;IACjD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAA;CAClD;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,WAAW,CAAA;IACnB,KAAK,EAAE,WAAW,CAAA;CACnB;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,eAAe,WAAY,eAAe,GAAG,SAAS,WAIlE,CAAA"}
|
package/types/appspec.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getABISignature = exports.AVMType = void 0;
|
|
4
|
+
var AVMType;
|
|
5
|
+
(function (AVMType) {
|
|
6
|
+
AVMType[AVMType["uint64"] = 0] = "uint64";
|
|
7
|
+
AVMType[AVMType["bytes"] = 1] = "bytes";
|
|
8
|
+
})(AVMType = exports.AVMType || (exports.AVMType = {}));
|
|
9
|
+
const getABISignature = (method) => {
|
|
10
|
+
const argSignature = method.args.map((a) => a.type).join(',');
|
|
11
|
+
const returnSignature = method.returns.type;
|
|
12
|
+
return `{${method.name}}(${argSignature})${returnSignature}`;
|
|
13
|
+
};
|
|
14
|
+
exports.getABISignature = getABISignature;
|
|
15
|
+
//# sourceMappingURL=appspec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appspec.js","sourceRoot":"","sources":["../../src/types/appspec.ts"],"names":[],"mappings":";;;AAqDA,IAAY,OAGX;AAHD,WAAY,OAAO;IACjB,yCAAM,CAAA;IACN,uCAAK,CAAA;AACP,CAAC,EAHW,OAAO,GAAP,eAAO,KAAP,eAAO,QAGlB;AAkCM,MAAM,eAAe,GAAG,CAAC,MAAmC,EAAE,EAAE;IACrE,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC7D,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAA;IAC3C,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,IAAI,eAAe,EAAE,CAAA;AAC9D,CAAC,CAAA;AAJY,QAAA,eAAe,mBAI3B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Logger } from './logging';
|
|
2
|
+
/** The AlgoKit configuration type */
|
|
3
|
+
export interface Config {
|
|
4
|
+
logger: Logger;
|
|
5
|
+
}
|
|
6
|
+
/** Updatable AlgoKit config */
|
|
7
|
+
export declare class UpdatableConfig implements Readonly<Config> {
|
|
8
|
+
private config;
|
|
9
|
+
get logger(): Logger;
|
|
10
|
+
getLogger(returnNullLogger?: boolean): Logger;
|
|
11
|
+
constructor();
|
|
12
|
+
/** Update the AlgoKit configuration with your own configuration settings */
|
|
13
|
+
configure(newConfig: Config): void;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,MAAM,EAAc,MAAM,WAAW,CAAA;AAE7D,qCAAqC;AACrC,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,+BAA+B;AAC/B,qBAAa,eAAgB,YAAW,QAAQ,CAAC,MAAM,CAAC;IACtD,OAAO,CAAC,MAAM,CAAQ;IAEtB,IAAI,MAAM,WAET;IAED,SAAS,CAAC,gBAAgB,CAAC,EAAE,OAAO;;IAcpC,4EAA4E;IAC5E,SAAS,CAAC,SAAS,EAAE,MAAM;CAG5B"}
|
package/types/config.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UpdatableConfig = void 0;
|
|
4
|
+
const logging_1 = require("./logging");
|
|
5
|
+
/** Updatable AlgoKit config */
|
|
6
|
+
class UpdatableConfig {
|
|
7
|
+
get logger() {
|
|
8
|
+
return this.config.logger;
|
|
9
|
+
}
|
|
10
|
+
getLogger(returnNullLogger) {
|
|
11
|
+
if (returnNullLogger) {
|
|
12
|
+
return logging_1.nullLogger;
|
|
13
|
+
}
|
|
14
|
+
return this.logger;
|
|
15
|
+
}
|
|
16
|
+
constructor() {
|
|
17
|
+
this.config = {
|
|
18
|
+
logger: logging_1.consoleLogger,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/** Update the AlgoKit configuration with your own configuration settings */
|
|
22
|
+
configure(newConfig) {
|
|
23
|
+
this.config = newConfig;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.UpdatableConfig = UpdatableConfig;
|
|
27
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":";;;AAAA,uCAA6D;AAO7D,+BAA+B;AAC/B,MAAa,eAAe;IAG1B,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;IAC3B,CAAC;IAED,SAAS,CAAC,gBAA0B;QAClC,IAAI,gBAAgB,EAAE;YACpB,OAAO,oBAAU,CAAA;SAClB;QAED,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED;QACE,IAAI,CAAC,MAAM,GAAG;YACZ,MAAM,EAAE,uBAAa;SACtB,CAAA;IACH,CAAC;IAED,4EAA4E;IAC5E,SAAS,CAAC,SAAiB;QACzB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;IACzB,CAAC;CACF;AAzBD,0CAyBC"}
|
|
@@ -150,23 +150,23 @@ export interface ApplicationResult {
|
|
|
150
150
|
deleted?: boolean;
|
|
151
151
|
'deleted-at-round'?: number;
|
|
152
152
|
}
|
|
153
|
-
interface TransactionSignature {
|
|
153
|
+
export interface TransactionSignature {
|
|
154
154
|
logicsig: LogicTransactionSignature;
|
|
155
155
|
multisig: MultisigTransactionSignature;
|
|
156
156
|
sig: string;
|
|
157
157
|
}
|
|
158
|
-
interface LogicTransactionSignature {
|
|
158
|
+
export interface LogicTransactionSignature {
|
|
159
159
|
args: string[];
|
|
160
160
|
logic: string;
|
|
161
161
|
'multisig-signature': MultisigTransactionSignature;
|
|
162
162
|
signature: string;
|
|
163
163
|
}
|
|
164
|
-
interface MultisigTransactionSignature {
|
|
164
|
+
export interface MultisigTransactionSignature {
|
|
165
165
|
subsignature: MultisigTransactionSubSignature;
|
|
166
166
|
threshold: number;
|
|
167
167
|
version: number;
|
|
168
168
|
}
|
|
169
|
-
interface MultisigTransactionSubSignature {
|
|
169
|
+
export interface MultisigTransactionSubSignature {
|
|
170
170
|
'public-key': string;
|
|
171
171
|
signature: string;
|
|
172
172
|
}
|
|
@@ -175,7 +175,7 @@ export interface EvalDelta {
|
|
|
175
175
|
bytes: string;
|
|
176
176
|
uint: number;
|
|
177
177
|
}
|
|
178
|
-
interface ApplicationParams {
|
|
178
|
+
export interface ApplicationParams {
|
|
179
179
|
creator: string;
|
|
180
180
|
'approval-program': string;
|
|
181
181
|
'clear-state-program': string;
|
|
@@ -184,7 +184,7 @@ interface ApplicationParams {
|
|
|
184
184
|
'global-state-schema'?: StateSchema;
|
|
185
185
|
'local-state-schema'?: StateSchema;
|
|
186
186
|
}
|
|
187
|
-
interface StateSchema {
|
|
187
|
+
export interface StateSchema {
|
|
188
188
|
'num-byte-slice': number;
|
|
189
189
|
'num-uint': number;
|
|
190
190
|
}
|
|
@@ -196,7 +196,7 @@ export declare enum ApplicationOnComplete {
|
|
|
196
196
|
update = "update",
|
|
197
197
|
delete = "delete"
|
|
198
198
|
}
|
|
199
|
-
interface AssetParams {
|
|
199
|
+
export interface AssetParams {
|
|
200
200
|
/**
|
|
201
201
|
* The address that created this asset. This is the address where the parameters
|
|
202
202
|
* for this asset can be found, and also the address where unwanted asset units can
|
|
@@ -279,7 +279,7 @@ export declare enum AccountStatus {
|
|
|
279
279
|
Online = "Online",
|
|
280
280
|
NotParticipating = "NotParticipating"
|
|
281
281
|
}
|
|
282
|
-
interface AppLocalState {
|
|
282
|
+
export interface AppLocalState {
|
|
283
283
|
'closed-out-at-round': number;
|
|
284
284
|
deleted: boolean;
|
|
285
285
|
id: number;
|
|
@@ -310,5 +310,4 @@ export interface AssetHolding {
|
|
|
310
310
|
'opted-in-at-round': number;
|
|
311
311
|
'opted-out-at-round': number;
|
|
312
312
|
}
|
|
313
|
-
|
|
314
|
-
//# sourceMappingURL=indexer-type.d.ts.map
|
|
313
|
+
//# sourceMappingURL=indexer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../../src/types/indexer.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,4 +22,4 @@ var AccountStatus;
|
|
|
22
22
|
AccountStatus["Online"] = "Online";
|
|
23
23
|
AccountStatus["NotParticipating"] = "NotParticipating";
|
|
24
24
|
})(AccountStatus = exports.AccountStatus || (exports.AccountStatus = {}));
|
|
25
|
-
//# sourceMappingURL=indexer
|
|
25
|
+
//# sourceMappingURL=indexer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexer.js","sourceRoot":"","sources":["../../src/types/indexer.ts"],"names":[],"mappings":";;;AAoNA,IAAY,qBAOX;AAPD,WAAY,qBAAqB;IAC/B,sCAAa,CAAA;IACb,wCAAe,CAAA;IACf,8CAAqB,CAAA;IACrB,wCAAe,CAAA;IACf,0CAAiB,CAAA;IACjB,0CAAiB,CAAA;AACnB,CAAC,EAPW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAOhC;AA4ED,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,4BAAW,CAAA;IACX,8BAAa,CAAA;IACb,8BAAa,CAAA;AACf,CAAC,EAJW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAIxB;AAED,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,kCAAiB,CAAA;IACjB,sDAAqC,CAAA;AACvC,CAAC,EAJW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAIxB"}
|
|
@@ -8,18 +8,6 @@ export type Logger = {
|
|
|
8
8
|
};
|
|
9
9
|
/** A logger implementation that writes to console */
|
|
10
10
|
export declare const consoleLogger: Logger;
|
|
11
|
-
/**
|
|
12
|
-
export
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
declare class UpdatableConfig implements Readonly<Config> {
|
|
16
|
-
private config;
|
|
17
|
-
get logger(): Logger;
|
|
18
|
-
constructor();
|
|
19
|
-
/** Update the AlgoKit configuration with your own configuration settings */
|
|
20
|
-
configure(newConfig: Config): void;
|
|
21
|
-
}
|
|
22
|
-
/** The AlgoKit config. To update it use the configure method. */
|
|
23
|
-
export declare const AlgoKitConfig: UpdatableConfig;
|
|
24
|
-
export {};
|
|
25
|
-
//# sourceMappingURL=config.d.ts.map
|
|
11
|
+
/** A logger implementation that does nothing */
|
|
12
|
+
export declare const nullLogger: Logger;
|
|
13
|
+
//# sourceMappingURL=logging.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/types/logging.ts"],"names":[],"mappings":"AAGA,uEAAuE;AACvE,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IAC1D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IACzD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IACzD,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IAC5D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;CAC3D,CAAA;AAED,qDAAqD;AACrD,eAAO,MAAM,aAAa,EAAE,MAM3B,CAAA;AAED,gDAAgD;AAChD,eAAO,MAAM,UAAU,EAAE,MAWxB,CAAA"}
|