algosdk 1.10.1 → 1.13.0-beta.1
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/README.md +17 -6
- package/dist/browser/algosdk.min.js +1 -1
- package/dist/browser/algosdk.min.js.map +1 -1
- package/dist/cjs/src/abi/abi_type.js +665 -0
- package/dist/cjs/src/abi/abi_type.js.map +1 -0
- package/dist/cjs/src/abi/contract.js +25 -0
- package/dist/cjs/src/abi/contract.js.map +1 -0
- package/dist/cjs/src/abi/index.js +17 -0
- package/dist/cjs/src/abi/index.js.map +1 -0
- package/dist/cjs/src/abi/interface.js +21 -0
- package/dist/cjs/src/abi/interface.js.map +1 -0
- package/dist/cjs/src/abi/method.js +117 -0
- package/dist/cjs/src/abi/method.js.map +1 -0
- package/dist/cjs/src/client/v2/algod/models/types.js +18 -12
- package/dist/cjs/src/client/v2/algod/models/types.js.map +1 -1
- package/dist/cjs/src/client/v2/indexer/indexer.js +8 -0
- package/dist/cjs/src/client/v2/indexer/indexer.js.map +1 -1
- package/dist/cjs/src/client/v2/indexer/lookupApplicationLogs.js +48 -0
- package/dist/cjs/src/client/v2/indexer/lookupApplicationLogs.js.map +1 -0
- package/dist/cjs/src/composer.js +319 -0
- package/dist/cjs/src/composer.js.map +1 -0
- package/dist/cjs/src/encoding/address.js +14 -1
- package/dist/cjs/src/encoding/address.js.map +1 -1
- package/dist/cjs/src/encoding/bigint.js +38 -0
- package/dist/cjs/src/encoding/bigint.js.map +1 -0
- package/dist/cjs/src/logic/langspec.json +392 -77
- package/dist/cjs/src/logic/logic.js.map +1 -1
- package/dist/cjs/src/logicsig.js +207 -49
- package/dist/cjs/src/logicsig.js.map +1 -1
- package/dist/cjs/src/main.js +18 -99
- package/dist/cjs/src/main.js.map +1 -1
- package/dist/cjs/src/makeTxn.js +29 -1
- package/dist/cjs/src/makeTxn.js.map +1 -1
- package/dist/cjs/src/multisig.js +115 -21
- package/dist/cjs/src/multisig.js.map +1 -1
- package/dist/cjs/src/signer.js +66 -0
- package/dist/cjs/src/signer.js.map +1 -0
- package/dist/cjs/src/transaction.js +49 -8
- package/dist/cjs/src/transaction.js.map +1 -1
- package/dist/cjs/src/types/intDecoding.js +0 -2
- package/dist/cjs/src/types/intDecoding.js.map +1 -1
- package/dist/cjs/src/types/transactions/base.js +0 -1
- package/dist/cjs/src/types/transactions/base.js.map +1 -1
- package/dist/cjs/src/wait.js +40 -0
- package/dist/cjs/src/wait.js.map +1 -0
- package/dist/esm/src/abi/abi_type.js +652 -0
- package/dist/esm/src/abi/abi_type.js.map +1 -0
- package/dist/esm/src/abi/contract.js +21 -0
- package/dist/esm/src/abi/contract.js.map +1 -0
- package/dist/esm/src/abi/index.js +5 -0
- package/dist/esm/src/abi/index.js.map +1 -0
- package/dist/esm/src/abi/interface.js +17 -0
- package/dist/esm/src/abi/interface.js.map +1 -0
- package/dist/esm/src/abi/method.js +112 -0
- package/dist/esm/src/abi/method.js.map +1 -0
- package/dist/esm/src/client/v2/algod/models/types.js +18 -12
- package/dist/esm/src/client/v2/algod/models/types.js.map +1 -1
- package/dist/esm/src/client/v2/indexer/indexer.js +8 -0
- package/dist/esm/src/client/v2/indexer/indexer.js.map +1 -1
- package/dist/esm/src/client/v2/indexer/lookupApplicationLogs.js +42 -0
- package/dist/esm/src/client/v2/indexer/lookupApplicationLogs.js.map +1 -0
- package/dist/esm/src/composer.js +315 -0
- package/dist/esm/src/composer.js.map +1 -0
- package/dist/esm/src/encoding/address.js +12 -0
- package/dist/esm/src/encoding/address.js.map +1 -1
- package/dist/esm/src/encoding/bigint.js +33 -0
- package/dist/esm/src/encoding/bigint.js.map +1 -0
- package/dist/esm/src/logic/langspec.json +392 -77
- package/dist/esm/src/logic/logic.js.map +1 -1
- package/dist/esm/src/logicsig.js +205 -48
- package/dist/esm/src/logicsig.js.map +1 -1
- package/dist/esm/src/main.js +8 -94
- package/dist/esm/src/main.js.map +1 -1
- package/dist/esm/src/makeTxn.js +27 -0
- package/dist/esm/src/makeTxn.js.map +1 -1
- package/dist/esm/src/multisig.js +111 -20
- package/dist/esm/src/multisig.js.map +1 -1
- package/dist/esm/src/signer.js +59 -0
- package/dist/esm/src/signer.js.map +1 -0
- package/dist/esm/src/transaction.js +49 -8
- package/dist/esm/src/transaction.js.map +1 -1
- package/dist/esm/src/types/intDecoding.js +0 -2
- package/dist/esm/src/types/intDecoding.js.map +1 -1
- package/dist/esm/src/types/transactions/base.js +0 -1
- package/dist/esm/src/types/transactions/base.js.map +1 -1
- package/dist/esm/src/wait.js +36 -0
- package/dist/esm/src/wait.js.map +1 -0
- package/dist/types/src/abi/abi_type.d.ts +102 -0
- package/dist/types/src/abi/contract.d.ts +13 -0
- package/dist/types/src/abi/index.d.ts +4 -0
- package/dist/types/src/abi/interface.d.ts +11 -0
- package/dist/types/src/abi/method.d.ts +37 -0
- package/dist/types/src/client/v2/algod/models/types.d.ts +29 -14
- package/dist/types/src/client/v2/indexer/indexer.d.ts +6 -0
- package/dist/types/src/client/v2/indexer/lookupApplicationLogs.d.ts +20 -0
- package/dist/types/src/composer.d.ts +146 -0
- package/dist/types/src/encoding/address.d.ts +6 -0
- package/dist/types/src/encoding/bigint.d.ts +14 -0
- package/dist/types/src/logic/logic.d.ts +1 -1
- package/dist/types/src/logicsig.d.ts +100 -14
- package/dist/types/src/main.d.ts +8 -49
- package/dist/types/src/makeTxn.d.ts +18 -1
- package/dist/types/src/multisig.d.ts +40 -1
- package/dist/types/src/signer.d.ts +40 -0
- package/dist/types/src/types/transactions/encoded.d.ts +12 -0
- package/dist/types/src/wait.d.ts +11 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logic.js","sourceRoot":"","sources":["../../../../src/logic/logic.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"logic.js","sourceRoot":"","sources":["../../../../src/logic/logic.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/src/logicsig.js
CHANGED
|
@@ -19,38 +19,35 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
19
19
|
return result;
|
|
20
20
|
};
|
|
21
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.tealSignFromProgram = exports.tealSign = exports.logicSigFromByte = exports.signLogicSigTransaction = exports.signLogicSigTransactionObject = exports.makeLogicSig = exports.LogicSig = void 0;
|
|
22
|
+
exports.tealSignFromProgram = exports.tealSign = exports.logicSigFromByte = exports.signLogicSigTransaction = exports.signLogicSigTransactionObject = exports.makeLogicSig = exports.LogicSigAccount = exports.LogicSig = void 0;
|
|
23
23
|
const nacl = __importStar(require("./nacl/naclWrappers"));
|
|
24
24
|
const address = __importStar(require("./encoding/address"));
|
|
25
25
|
const encoding = __importStar(require("./encoding/encoding"));
|
|
26
26
|
const logic = __importStar(require("./logic/logic"));
|
|
27
|
-
const
|
|
27
|
+
const multisig_1 = require("./multisig");
|
|
28
28
|
const utils = __importStar(require("./utils/utils"));
|
|
29
29
|
const txnBuilder = __importStar(require("./transaction"));
|
|
30
30
|
/**
|
|
31
31
|
LogicSig implementation
|
|
32
32
|
*/
|
|
33
33
|
class LogicSig {
|
|
34
|
-
constructor(program,
|
|
34
|
+
constructor(program, programArgs) {
|
|
35
35
|
this.tag = Buffer.from('Program');
|
|
36
|
+
if (programArgs &&
|
|
37
|
+
(!Array.isArray(programArgs) ||
|
|
38
|
+
!programArgs.every((arg) => arg.constructor === Uint8Array || Buffer.isBuffer(arg)))) {
|
|
39
|
+
throw new TypeError('Invalid arguments');
|
|
40
|
+
}
|
|
36
41
|
let args;
|
|
37
|
-
if (
|
|
38
|
-
args =
|
|
42
|
+
if (programArgs != null)
|
|
43
|
+
args = programArgs.map((arg) => new Uint8Array(arg));
|
|
39
44
|
if (!logic.checkProgram(program, args)) {
|
|
40
45
|
throw new Error('Invalid program');
|
|
41
46
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
throw new TypeError('Invalid arguments');
|
|
47
|
-
}
|
|
48
|
-
Object.assign(this, {
|
|
49
|
-
logic: program,
|
|
50
|
-
args,
|
|
51
|
-
sig: undefined,
|
|
52
|
-
msig: undefined,
|
|
53
|
-
});
|
|
47
|
+
this.logic = program;
|
|
48
|
+
this.args = args;
|
|
49
|
+
this.sig = undefined;
|
|
50
|
+
this.msig = undefined;
|
|
54
51
|
}
|
|
55
52
|
// eslint-disable-next-line camelcase
|
|
56
53
|
get_obj_for_encoding() {
|
|
@@ -97,7 +94,7 @@ class LogicSig {
|
|
|
97
94
|
if (this.sig) {
|
|
98
95
|
return nacl.verify(toBeSigned, this.sig, publicKey);
|
|
99
96
|
}
|
|
100
|
-
return
|
|
97
|
+
return multisig_1.verifyMultisig(toBeSigned, this.msig, publicKey);
|
|
101
98
|
}
|
|
102
99
|
/**
|
|
103
100
|
* Compute hash of the logic sig program (that is the same as escrow account address) as string address
|
|
@@ -114,7 +111,7 @@ class LogicSig {
|
|
|
114
111
|
* @param msig - Multisig account as \{version, threshold, addrs\}
|
|
115
112
|
*/
|
|
116
113
|
sign(secretKey, msig) {
|
|
117
|
-
if (msig
|
|
114
|
+
if (msig == null) {
|
|
118
115
|
this.sig = this.signProgram(secretKey);
|
|
119
116
|
}
|
|
120
117
|
else {
|
|
@@ -171,9 +168,144 @@ class LogicSig {
|
|
|
171
168
|
}
|
|
172
169
|
}
|
|
173
170
|
exports.LogicSig = LogicSig;
|
|
171
|
+
/**
|
|
172
|
+
* Represents an account that can sign with a LogicSig program.
|
|
173
|
+
*/
|
|
174
|
+
class LogicSigAccount {
|
|
175
|
+
/**
|
|
176
|
+
* Create a new LogicSigAccount. By default this will create an escrow
|
|
177
|
+
* LogicSig account. Call `sign` or `signMultisig` on the newly created
|
|
178
|
+
* LogicSigAccount to make it a delegated account.
|
|
179
|
+
*
|
|
180
|
+
* @param program - The compiled TEAL program which contains the logic for
|
|
181
|
+
* this LogicSig.
|
|
182
|
+
* @param args - An optional array of arguments for the program.
|
|
183
|
+
*/
|
|
184
|
+
constructor(program, args) {
|
|
185
|
+
this.lsig = new LogicSig(program, args);
|
|
186
|
+
this.sigkey = undefined;
|
|
187
|
+
}
|
|
188
|
+
// eslint-disable-next-line camelcase
|
|
189
|
+
get_obj_for_encoding() {
|
|
190
|
+
const obj = {
|
|
191
|
+
lsig: this.lsig.get_obj_for_encoding(),
|
|
192
|
+
};
|
|
193
|
+
if (this.sigkey) {
|
|
194
|
+
obj.sigkey = this.sigkey;
|
|
195
|
+
}
|
|
196
|
+
return obj;
|
|
197
|
+
}
|
|
198
|
+
// eslint-disable-next-line camelcase
|
|
199
|
+
static from_obj_for_encoding(encoded) {
|
|
200
|
+
const lsigAccount = new LogicSigAccount(encoded.lsig.l, encoded.lsig.arg);
|
|
201
|
+
lsigAccount.lsig = LogicSig.from_obj_for_encoding(encoded.lsig);
|
|
202
|
+
lsigAccount.sigkey = encoded.sigkey;
|
|
203
|
+
return lsigAccount;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Encode this object into msgpack.
|
|
207
|
+
*/
|
|
208
|
+
toByte() {
|
|
209
|
+
return encoding.encode(this.get_obj_for_encoding());
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Decode a msgpack object into a LogicSigAccount.
|
|
213
|
+
* @param encoded - The encoded LogicSigAccount.
|
|
214
|
+
*/
|
|
215
|
+
static fromByte(encoded) {
|
|
216
|
+
const decodedObj = encoding.decode(encoded);
|
|
217
|
+
return LogicSigAccount.from_obj_for_encoding(decodedObj);
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Check if this LogicSigAccount has been delegated to another account with a
|
|
221
|
+
* signature.
|
|
222
|
+
*
|
|
223
|
+
* Note this function only checks for the presence of a delegation signature.
|
|
224
|
+
* To verify the delegation signature, use `verify`.
|
|
225
|
+
*/
|
|
226
|
+
isDelegated() {
|
|
227
|
+
return !!(this.lsig.sig || this.lsig.msig);
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Verifies this LogicSig's program and signatures.
|
|
231
|
+
* @returns true if and only if the LogicSig program and signatures are valid.
|
|
232
|
+
*/
|
|
233
|
+
verify() {
|
|
234
|
+
const addr = this.address();
|
|
235
|
+
return this.lsig.verify(address.decodeAddress(addr).publicKey);
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Get the address of this LogicSigAccount.
|
|
239
|
+
*
|
|
240
|
+
* If the LogicSig is delegated to another account, this will return the
|
|
241
|
+
* address of that account.
|
|
242
|
+
*
|
|
243
|
+
* If the LogicSig is not delegated to another account, this will return an
|
|
244
|
+
* escrow address that is the hash of the LogicSig's program code.
|
|
245
|
+
*/
|
|
246
|
+
address() {
|
|
247
|
+
if (this.lsig.sig && this.lsig.msig) {
|
|
248
|
+
throw new Error('LogicSig has too many signatures. At most one of sig or msig may be present');
|
|
249
|
+
}
|
|
250
|
+
if (this.lsig.sig) {
|
|
251
|
+
if (!this.sigkey) {
|
|
252
|
+
throw new Error('Signing key for delegated account is missing');
|
|
253
|
+
}
|
|
254
|
+
return address.encodeAddress(this.sigkey);
|
|
255
|
+
}
|
|
256
|
+
if (this.lsig.msig) {
|
|
257
|
+
const msigMetadata = {
|
|
258
|
+
version: this.lsig.msig.v,
|
|
259
|
+
threshold: this.lsig.msig.thr,
|
|
260
|
+
pks: this.lsig.msig.subsig.map((subsig) => subsig.pk),
|
|
261
|
+
};
|
|
262
|
+
return address.encodeAddress(address.fromMultisigPreImg(msigMetadata));
|
|
263
|
+
}
|
|
264
|
+
return this.lsig.address();
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Turns this LogicSigAccount into a delegated LogicSig. This type of LogicSig
|
|
268
|
+
* has the authority to sign transactions on behalf of another account, called
|
|
269
|
+
* the delegating account. Use this function if the delegating account is a
|
|
270
|
+
* multisig account.
|
|
271
|
+
*
|
|
272
|
+
* @param msig - The multisig delegating account
|
|
273
|
+
* @param secretKey - The secret key of one of the members of the delegating
|
|
274
|
+
* multisig account. Use `appendToMultisig` to add additional signatures
|
|
275
|
+
* from other members.
|
|
276
|
+
*/
|
|
277
|
+
signMultisig(msig, secretKey) {
|
|
278
|
+
this.lsig.sign(secretKey, msig);
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Adds an additional signature from a member of the delegating multisig
|
|
282
|
+
* account.
|
|
283
|
+
*
|
|
284
|
+
* @param secretKey - The secret key of one of the members of the delegating
|
|
285
|
+
* multisig account.
|
|
286
|
+
*/
|
|
287
|
+
appendToMultisig(secretKey) {
|
|
288
|
+
this.lsig.appendToMultisig(secretKey);
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Turns this LogicSigAccount into a delegated LogicSig. This type of LogicSig
|
|
292
|
+
* has the authority to sign transactions on behalf of another account, called
|
|
293
|
+
* the delegating account. If the delegating account is a multisig account,
|
|
294
|
+
* use `signMultisig` instead.
|
|
295
|
+
*
|
|
296
|
+
* @param secretKey - The secret key of the delegating account.
|
|
297
|
+
*/
|
|
298
|
+
sign(secretKey) {
|
|
299
|
+
this.lsig.sign(secretKey);
|
|
300
|
+
this.sigkey = nacl.keyPairFromSecretKey(secretKey).publicKey;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
exports.LogicSigAccount = LogicSigAccount;
|
|
174
304
|
/**
|
|
175
305
|
* makeLogicSig creates LogicSig object from program and arguments
|
|
176
306
|
*
|
|
307
|
+
* @deprecated Use new LogicSigAccount(...) instead
|
|
308
|
+
*
|
|
177
309
|
* @param program - Program to make LogicSig from
|
|
178
310
|
* @param args - Arguments as array of Uint8Array
|
|
179
311
|
* @returns LogicSig object
|
|
@@ -182,48 +314,75 @@ function makeLogicSig(program, args) {
|
|
|
182
314
|
return new LogicSig(program, args);
|
|
183
315
|
}
|
|
184
316
|
exports.makeLogicSig = makeLogicSig;
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
* @returns Object containing txID and blob representing signed transaction.
|
|
191
|
-
*/
|
|
192
|
-
function signLogicSigTransactionObject(txn, lsig) {
|
|
193
|
-
const lstx = {
|
|
317
|
+
function signLogicSigTransactionWithAddress(txn, lsig, lsigAddress) {
|
|
318
|
+
if (!lsig.verify(lsigAddress)) {
|
|
319
|
+
throw new Error('Logic signature verification failed. Ensure the program and signature are valid.');
|
|
320
|
+
}
|
|
321
|
+
const signedTxn = {
|
|
194
322
|
lsig: lsig.get_obj_for_encoding(),
|
|
195
323
|
txn: txn.get_obj_for_encoding(),
|
|
196
324
|
};
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
if (!lsig.verify(txn.from.publicKey)) {
|
|
200
|
-
throw new Error("Logic signature verification failed. Ensure the program is valid and the transaction sender is the program's delegated address.");
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
else {
|
|
204
|
-
// add AuthAddr if signing with a different program than From indicates for non-delegated LogicSig
|
|
205
|
-
const programAddr = lsig.address();
|
|
206
|
-
if (programAddr !== address.encodeAddress(txn.from.publicKey)) {
|
|
207
|
-
lstx.sgnr = Buffer.from(address.decodeAddress(programAddr).publicKey);
|
|
208
|
-
}
|
|
325
|
+
if (!nacl.bytesEqual(lsigAddress, txn.from.publicKey)) {
|
|
326
|
+
signedTxn.sgnr = Buffer.from(lsigAddress);
|
|
209
327
|
}
|
|
210
328
|
return {
|
|
211
329
|
txID: txn.txID().toString(),
|
|
212
|
-
blob: encoding.encode(
|
|
330
|
+
blob: encoding.encode(signedTxn),
|
|
213
331
|
};
|
|
214
332
|
}
|
|
333
|
+
/**
|
|
334
|
+
* signLogicSigTransactionObject takes a transaction and a LogicSig object and
|
|
335
|
+
* returns a signed transaction.
|
|
336
|
+
*
|
|
337
|
+
* @param txn - The transaction to sign.
|
|
338
|
+
* @param lsigObject - The LogicSig object that will sign the transaction.
|
|
339
|
+
*
|
|
340
|
+
* @returns Object containing txID and blob representing signed transaction.
|
|
341
|
+
*/
|
|
342
|
+
function signLogicSigTransactionObject(txn, lsigObject) {
|
|
343
|
+
let lsig;
|
|
344
|
+
let lsigAddress;
|
|
345
|
+
if (lsigObject instanceof LogicSigAccount) {
|
|
346
|
+
lsig = lsigObject.lsig;
|
|
347
|
+
lsigAddress = address.decodeAddress(lsigObject.address()).publicKey;
|
|
348
|
+
}
|
|
349
|
+
else {
|
|
350
|
+
lsig = lsigObject;
|
|
351
|
+
if (lsig.sig) {
|
|
352
|
+
// For a LogicSig with a non-multisig delegating account, we cannot derive
|
|
353
|
+
// the address of that account from only its signature, so assume the
|
|
354
|
+
// delegating account is the sender. If that's not the case, the signing
|
|
355
|
+
// will fail.
|
|
356
|
+
lsigAddress = txn.from.publicKey;
|
|
357
|
+
}
|
|
358
|
+
else if (lsig.msig) {
|
|
359
|
+
const msigMetadata = {
|
|
360
|
+
version: lsig.msig.v,
|
|
361
|
+
threshold: lsig.msig.thr,
|
|
362
|
+
pks: lsig.msig.subsig.map((subsig) => subsig.pk),
|
|
363
|
+
};
|
|
364
|
+
lsigAddress = address.fromMultisigPreImg(msigMetadata);
|
|
365
|
+
}
|
|
366
|
+
else {
|
|
367
|
+
lsigAddress = address.decodeAddress(lsig.address()).publicKey;
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
return signLogicSigTransactionWithAddress(txn, lsig, lsigAddress);
|
|
371
|
+
}
|
|
215
372
|
exports.signLogicSigTransactionObject = signLogicSigTransactionObject;
|
|
216
373
|
/**
|
|
217
|
-
* signLogicSigTransaction takes a
|
|
218
|
-
*
|
|
219
|
-
*
|
|
220
|
-
* @param
|
|
374
|
+
* signLogicSigTransaction takes a transaction and a LogicSig object and returns
|
|
375
|
+
* a signed transaction.
|
|
376
|
+
*
|
|
377
|
+
* @param txn - The transaction to sign.
|
|
378
|
+
* @param lsigObject - The LogicSig object that will sign the transaction.
|
|
379
|
+
*
|
|
221
380
|
* @returns Object containing txID and blob representing signed transaction.
|
|
222
381
|
* @throws error on failure
|
|
223
382
|
*/
|
|
224
|
-
function signLogicSigTransaction(txn,
|
|
383
|
+
function signLogicSigTransaction(txn, lsigObject) {
|
|
225
384
|
const algoTxn = txnBuilder.instantiateTxnIfNeeded(txn);
|
|
226
|
-
return signLogicSigTransactionObject(algoTxn,
|
|
385
|
+
return signLogicSigTransactionObject(algoTxn, lsigObject);
|
|
227
386
|
}
|
|
228
387
|
exports.signLogicSigTransaction = signLogicSigTransaction;
|
|
229
388
|
/**
|
|
@@ -254,10 +413,9 @@ exports.tealSign = tealSign;
|
|
|
254
413
|
* @param program - buffer with teal program
|
|
255
414
|
*/
|
|
256
415
|
function tealSignFromProgram(sk, data, program) {
|
|
257
|
-
const lsig =
|
|
416
|
+
const lsig = new LogicSig(program);
|
|
258
417
|
const contractAddress = lsig.address();
|
|
259
418
|
return tealSign(sk, data, contractAddress);
|
|
260
419
|
}
|
|
261
420
|
exports.tealSignFromProgram = tealSignFromProgram;
|
|
262
|
-
exports.default = LogicSig;
|
|
263
421
|
//# sourceMappingURL=logicsig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logicsig.js","sourceRoot":"","sources":["../../../src/logicsig.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4C;AAC5C,4DAA8C;AAC9C,8DAAgD;AAChD,qDAAuC;AACvC,
|
|
1
|
+
{"version":3,"file":"logicsig.js","sourceRoot":"","sources":["../../../src/logicsig.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/src/main.js
CHANGED
|
@@ -25,12 +25,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
25
25
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
26
26
|
};
|
|
27
27
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
-
exports.LogicTemplates = exports.tealSignFromProgram = exports.tealSign = exports.logicSigFromByte = exports.signLogicSigTransactionObject = exports.signLogicSigTransaction = exports.makeLogicSig = exports.assignGroupID = exports.computeGroupID = exports.INVALID_MICROALGOS_ERROR_MSG = exports.algosToMicroalgos = exports.microalgosToAlgos = exports.
|
|
28
|
+
exports.LogicTemplates = exports.multisigAddress = exports.appendSignMultisigTransaction = exports.mergeMultisigTransactions = exports.signMultisigTransaction = exports.tealSignFromProgram = exports.tealSign = exports.logicSigFromByte = exports.signLogicSigTransactionObject = exports.signLogicSigTransaction = exports.makeLogicSig = exports.LogicSigAccount = exports.assignGroupID = exports.computeGroupID = exports.INVALID_MICROALGOS_ERROR_MSG = exports.algosToMicroalgos = exports.microalgosToAlgos = exports.mnemonicFromSeed = exports.seedFromMnemonic = exports.mnemonicToSecretKey = exports.secretKeyToMnemonic = exports.masterDerivationKeyToMnemonic = exports.mnemonicToMasterDerivationKey = exports.modelsv2 = exports.generateAccount = exports.decodeUint64 = exports.encodeUint64 = exports.getApplicationAddress = exports.decodeAddress = exports.encodeAddress = exports.isValidAddress = exports.waitForConfirmation = exports.Indexer = exports.IntDecoding = exports.Kmd = exports.Algodv2 = exports.ERROR_INVALID_MICROALGOS = exports.ERROR_MULTISIG_BAD_SENDER = exports.decodeObj = exports.encodeObj = exports.verifyBytes = exports.signBytes = exports.signBid = exports.signTransaction = exports.MULTISIG_BAD_SENDER_ERROR_MSG = void 0;
|
|
29
29
|
const nacl = __importStar(require("./nacl/naclWrappers"));
|
|
30
30
|
const address = __importStar(require("./encoding/address"));
|
|
31
31
|
const encoding = __importStar(require("./encoding/encoding"));
|
|
32
32
|
const txnBuilder = __importStar(require("./transaction"));
|
|
33
|
-
const multisig = __importStar(require("./multisig"));
|
|
34
33
|
const LogicTemplatesCommonJSExport = __importStar(require("./logicTemplates"));
|
|
35
34
|
const bid_1 = __importDefault(require("./bid"));
|
|
36
35
|
const convert = __importStar(require("./convert"));
|
|
@@ -106,99 +105,6 @@ function verifyBytes(bytes, signature, addr) {
|
|
|
106
105
|
return nacl.verify(toBeVerified, signature, pk);
|
|
107
106
|
}
|
|
108
107
|
exports.verifyBytes = verifyBytes;
|
|
109
|
-
/**
|
|
110
|
-
* signMultisigTransaction takes a raw transaction (see signTransaction), a multisig preimage, a secret key, and returns
|
|
111
|
-
* a multisig transaction, which is a blob representing a transaction and multisignature account preimage. The returned
|
|
112
|
-
* multisig txn can accumulate additional signatures through mergeMultisigTransactions or appendMultisigTransaction.
|
|
113
|
-
* @param txn - object with either payment or key registration fields
|
|
114
|
-
* @param version - multisig version
|
|
115
|
-
* @param threshold - multisig threshold
|
|
116
|
-
* @param addrs - a list of Algorand addresses representing possible signers for this multisig. Order is important.
|
|
117
|
-
* @param sk - Algorand secret key. The corresponding pk should be in the pre image.
|
|
118
|
-
* @returns object containing txID, and blob of partially signed multisig transaction (with multisig preimage information)
|
|
119
|
-
* If the final calculated fee is lower than the protocol minimum fee, the fee will be increased to match the minimum.
|
|
120
|
-
*/
|
|
121
|
-
function signMultisigTransaction(txn, { version, threshold, addrs }, sk) {
|
|
122
|
-
// check that the from field matches the mSigPreImage. If from field is not populated, fill it in.
|
|
123
|
-
const expectedFromRaw = address.fromMultisigPreImgAddrs({
|
|
124
|
-
version,
|
|
125
|
-
threshold,
|
|
126
|
-
addrs,
|
|
127
|
-
});
|
|
128
|
-
if (Object.prototype.hasOwnProperty.call(txn, 'from')) {
|
|
129
|
-
const actualSender = typeof txn.from === 'string'
|
|
130
|
-
? txn.from
|
|
131
|
-
: address.encodeAddress(txn.from.publicKey);
|
|
132
|
-
if (actualSender !== expectedFromRaw) {
|
|
133
|
-
throw new Error(exports.MULTISIG_BAD_SENDER_ERROR_MSG);
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
// eslint-disable-next-line no-param-reassign
|
|
138
|
-
txn.from = expectedFromRaw;
|
|
139
|
-
}
|
|
140
|
-
// build pks for partialSign
|
|
141
|
-
const pks = addrs.map((addr) => address.decodeAddress(addr).publicKey);
|
|
142
|
-
// `txn` needs to be handled differently if it's a constructed `Transaction` vs a dict of constructor args
|
|
143
|
-
const txnAlreadyBuilt = txn instanceof txnBuilder.Transaction;
|
|
144
|
-
let algoTxn;
|
|
145
|
-
let blob;
|
|
146
|
-
if (txnAlreadyBuilt) {
|
|
147
|
-
algoTxn = txn;
|
|
148
|
-
blob = multisig.MultisigTransaction.prototype.partialSignTxn.call(algoTxn, { version, threshold, pks }, sk);
|
|
149
|
-
}
|
|
150
|
-
else {
|
|
151
|
-
algoTxn = new multisig.MultisigTransaction(txn);
|
|
152
|
-
blob = algoTxn.partialSignTxn({ version, threshold, pks }, sk);
|
|
153
|
-
}
|
|
154
|
-
return {
|
|
155
|
-
txID: algoTxn.txID().toString(),
|
|
156
|
-
blob,
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
exports.signMultisigTransaction = signMultisigTransaction;
|
|
160
|
-
/**
|
|
161
|
-
* mergeMultisigTransactions takes a list of multisig transaction blobs, and merges them.
|
|
162
|
-
* @param multisigTxnBlobs - a list of blobs representing encoded multisig txns
|
|
163
|
-
* @returns blob representing encoded multisig txn
|
|
164
|
-
*/
|
|
165
|
-
function mergeMultisigTransactions(multisigTxnBlobs) {
|
|
166
|
-
return multisig.mergeMultisigTransactions(multisigTxnBlobs);
|
|
167
|
-
}
|
|
168
|
-
exports.mergeMultisigTransactions = mergeMultisigTransactions;
|
|
169
|
-
/**
|
|
170
|
-
* appendSignMultisigTransaction takes a multisig transaction blob, and appends our signature to it.
|
|
171
|
-
* While we could derive public key preimagery from the partially-signed multisig transaction,
|
|
172
|
-
* we ask the caller to pass it back in, to ensure they know what they are signing.
|
|
173
|
-
* @param multisigTxnBlob - an encoded multisig txn. Supports non-payment txn types.
|
|
174
|
-
* @param version - multisig version
|
|
175
|
-
* @param threshold - multisig threshold
|
|
176
|
-
* @param addrs - a list of Algorand addresses representing possible signers for this multisig. Order is important.
|
|
177
|
-
* @param sk - Algorand secret key
|
|
178
|
-
* @returns object containing txID, and blob representing encoded multisig txn
|
|
179
|
-
*/
|
|
180
|
-
function appendSignMultisigTransaction(multisigTxnBlob, { version, threshold, addrs }, sk) {
|
|
181
|
-
const pks = addrs.map((addr) => address.decodeAddress(addr).publicKey);
|
|
182
|
-
// obtain underlying txn, sign it, and merge it
|
|
183
|
-
const multisigTxObj = encoding.decode(multisigTxnBlob);
|
|
184
|
-
const msigTxn = multisig.MultisigTransaction.from_obj_for_encoding(multisigTxObj.txn);
|
|
185
|
-
const partialSignedBlob = msigTxn.partialSignTxn({ version, threshold, pks }, sk);
|
|
186
|
-
return {
|
|
187
|
-
txID: msigTxn.txID().toString(),
|
|
188
|
-
blob: mergeMultisigTransactions([multisigTxnBlob, partialSignedBlob]),
|
|
189
|
-
};
|
|
190
|
-
}
|
|
191
|
-
exports.appendSignMultisigTransaction = appendSignMultisigTransaction;
|
|
192
|
-
/**
|
|
193
|
-
* multisigAddress takes multisig metadata (preimage) and returns the corresponding human readable Algorand address.
|
|
194
|
-
* @param version - mutlisig version
|
|
195
|
-
* @param threshold - multisig threshold
|
|
196
|
-
* @param addrs - list of Algorand addresses
|
|
197
|
-
*/
|
|
198
|
-
function multisigAddress({ version, threshold, addrs, }) {
|
|
199
|
-
return address.fromMultisigPreImgAddrs({ version, threshold, addrs });
|
|
200
|
-
}
|
|
201
|
-
exports.multisigAddress = multisigAddress;
|
|
202
108
|
/**
|
|
203
109
|
* encodeObj takes a javascript object and returns its msgpack encoding
|
|
204
110
|
* Note that the encoding sorts the fields alphabetically
|
|
@@ -229,22 +135,26 @@ var intDecoding_1 = require("./types/intDecoding");
|
|
|
229
135
|
Object.defineProperty(exports, "IntDecoding", { enumerable: true, get: function () { return __importDefault(intDecoding_1).default; } });
|
|
230
136
|
var indexer_1 = require("./client/v2/indexer/indexer");
|
|
231
137
|
Object.defineProperty(exports, "Indexer", { enumerable: true, get: function () { return __importDefault(indexer_1).default; } });
|
|
138
|
+
var wait_1 = require("./wait");
|
|
139
|
+
Object.defineProperty(exports, "waitForConfirmation", { enumerable: true, get: function () { return wait_1.waitForConfirmation; } });
|
|
232
140
|
var address_1 = require("./encoding/address");
|
|
233
141
|
Object.defineProperty(exports, "isValidAddress", { enumerable: true, get: function () { return address_1.isValidAddress; } });
|
|
234
142
|
Object.defineProperty(exports, "encodeAddress", { enumerable: true, get: function () { return address_1.encodeAddress; } });
|
|
235
143
|
Object.defineProperty(exports, "decodeAddress", { enumerable: true, get: function () { return address_1.decodeAddress; } });
|
|
144
|
+
Object.defineProperty(exports, "getApplicationAddress", { enumerable: true, get: function () { return address_1.getApplicationAddress; } });
|
|
236
145
|
var uint64_1 = require("./encoding/uint64");
|
|
237
146
|
Object.defineProperty(exports, "encodeUint64", { enumerable: true, get: function () { return uint64_1.encodeUint64; } });
|
|
238
147
|
Object.defineProperty(exports, "decodeUint64", { enumerable: true, get: function () { return uint64_1.decodeUint64; } });
|
|
239
148
|
var account_1 = require("./account");
|
|
240
149
|
Object.defineProperty(exports, "generateAccount", { enumerable: true, get: function () { return __importDefault(account_1).default; } });
|
|
150
|
+
exports.modelsv2 = __importStar(require("./client/v2/algod/models/types"));
|
|
241
151
|
var mnemonic_1 = require("./mnemonic/mnemonic");
|
|
152
|
+
Object.defineProperty(exports, "mnemonicToMasterDerivationKey", { enumerable: true, get: function () { return mnemonic_1.mnemonicToMasterDerivationKey; } });
|
|
153
|
+
Object.defineProperty(exports, "masterDerivationKeyToMnemonic", { enumerable: true, get: function () { return mnemonic_1.masterDerivationKeyToMnemonic; } });
|
|
242
154
|
Object.defineProperty(exports, "secretKeyToMnemonic", { enumerable: true, get: function () { return mnemonic_1.secretKeyToMnemonic; } });
|
|
243
155
|
Object.defineProperty(exports, "mnemonicToSecretKey", { enumerable: true, get: function () { return mnemonic_1.mnemonicToSecretKey; } });
|
|
244
|
-
exports
|
|
245
|
-
|
|
246
|
-
Object.defineProperty(exports, "mnemonicToMasterDerivationKey", { enumerable: true, get: function () { return mnemonic_2.mnemonicToMasterDerivationKey; } });
|
|
247
|
-
Object.defineProperty(exports, "masterDerivationKeyToMnemonic", { enumerable: true, get: function () { return mnemonic_2.masterDerivationKeyToMnemonic; } });
|
|
156
|
+
Object.defineProperty(exports, "seedFromMnemonic", { enumerable: true, get: function () { return mnemonic_1.seedFromMnemonic; } });
|
|
157
|
+
Object.defineProperty(exports, "mnemonicFromSeed", { enumerable: true, get: function () { return mnemonic_1.mnemonicFromSeed; } });
|
|
248
158
|
var convert_1 = require("./convert");
|
|
249
159
|
Object.defineProperty(exports, "microalgosToAlgos", { enumerable: true, get: function () { return convert_1.microalgosToAlgos; } });
|
|
250
160
|
Object.defineProperty(exports, "algosToMicroalgos", { enumerable: true, get: function () { return convert_1.algosToMicroalgos; } });
|
|
@@ -253,14 +163,23 @@ var group_1 = require("./group");
|
|
|
253
163
|
Object.defineProperty(exports, "computeGroupID", { enumerable: true, get: function () { return group_1.computeGroupID; } });
|
|
254
164
|
Object.defineProperty(exports, "assignGroupID", { enumerable: true, get: function () { return group_1.assignGroupID; } });
|
|
255
165
|
var logicsig_1 = require("./logicsig");
|
|
166
|
+
Object.defineProperty(exports, "LogicSigAccount", { enumerable: true, get: function () { return logicsig_1.LogicSigAccount; } });
|
|
256
167
|
Object.defineProperty(exports, "makeLogicSig", { enumerable: true, get: function () { return logicsig_1.makeLogicSig; } });
|
|
257
168
|
Object.defineProperty(exports, "signLogicSigTransaction", { enumerable: true, get: function () { return logicsig_1.signLogicSigTransaction; } });
|
|
258
169
|
Object.defineProperty(exports, "signLogicSigTransactionObject", { enumerable: true, get: function () { return logicsig_1.signLogicSigTransactionObject; } });
|
|
259
170
|
Object.defineProperty(exports, "logicSigFromByte", { enumerable: true, get: function () { return logicsig_1.logicSigFromByte; } });
|
|
260
171
|
Object.defineProperty(exports, "tealSign", { enumerable: true, get: function () { return logicsig_1.tealSign; } });
|
|
261
172
|
Object.defineProperty(exports, "tealSignFromProgram", { enumerable: true, get: function () { return logicsig_1.tealSignFromProgram; } });
|
|
173
|
+
var multisig_1 = require("./multisig");
|
|
174
|
+
Object.defineProperty(exports, "signMultisigTransaction", { enumerable: true, get: function () { return multisig_1.signMultisigTransaction; } });
|
|
175
|
+
Object.defineProperty(exports, "mergeMultisigTransactions", { enumerable: true, get: function () { return multisig_1.mergeMultisigTransactions; } });
|
|
176
|
+
Object.defineProperty(exports, "appendSignMultisigTransaction", { enumerable: true, get: function () { return multisig_1.appendSignMultisigTransaction; } });
|
|
177
|
+
Object.defineProperty(exports, "multisigAddress", { enumerable: true, get: function () { return multisig_1.multisigAddress; } });
|
|
262
178
|
exports.LogicTemplates = LogicTemplatesCommonJSExport.default;
|
|
263
179
|
__exportStar(require("./makeTxn"), exports);
|
|
264
180
|
__exportStar(require("./transaction"), exports);
|
|
181
|
+
__exportStar(require("./signer"), exports);
|
|
182
|
+
__exportStar(require("./composer"), exports);
|
|
265
183
|
__exportStar(require("./types"), exports);
|
|
184
|
+
__exportStar(require("./abi"), exports);
|
|
266
185
|
//# sourceMappingURL=main.js.map
|
package/dist/cjs/src/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/main.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4C;AAC5C,4DAA8C;AAC9C,8DAAgD;AAChD,0DAA4C;AAC5C
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/main.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4C;AAC5C,4DAA8C;AAC9C,8DAAgD;AAChD,0DAA4C;AAC5C,+EAAiE;AACjE,gDAAwC;AACxC,mDAAqC;AACrC,qDAAuC;AAEvC,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO;AAExD,SAAS;AACI,QAAA,6BAA6B,GACxC,oEAAoE,CAAC;AAEvE;;;;;;;;;;;;;;GAcG;AACH,SAAgB,eAAe,CAC7B,GAA+B,EAC/B,EAAc;IAEd,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE;QACnC,wCAAwC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAC1C,6CAA6C;QAC7C,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;KACjD;IACD,MAAM,OAAO,GAAG,UAAU,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAEvD,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;QAC/B,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;KAC1B,CAAC;AACJ,CAAC;AAhBD,0CAgBC;AAED;;;;;;GAMG;AACH,SAAgB,OAAO,CAAC,GAAe,EAAE,EAAc;IACrD,MAAM,SAAS,GAAG,IAAI,aAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,OAAO,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC/B,CAAC;AAHD,0BAGC;AAED;;;;;;GAMG;AACH,SAAgB,SAAS,CAAC,KAAiB,EAAE,EAAc;IACzD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7E,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACtC,OAAO,GAAG,CAAC;AACb,CAAC;AAJD,8BAIC;AAED;;;;;;;GAOG;AACH,SAAgB,WAAW,CACzB,KAAiB,EACjB,SAAqB,EACrB,IAAY;IAEZ,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAC9B,KAAK,CAAC,YAAY,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAC7C,CAAC;IACF,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;IACjD,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;AAClD,CAAC;AAVD,kCAUC;AAED;;;;;GAKG;AACH,SAAgB,SAAS,CAAC,CAAwC;IAChE,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC;AAFD,8BAEC;AAED;;;;GAIG;AACH,SAAgB,SAAS,CAAC,CAAoB;IAC5C,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC;AAFD,8BAEC;AAEY,QAAA,yBAAyB,GAAG,IAAI,KAAK,CAChD,qCAA6B,CAC9B,CAAC;AACW,QAAA,wBAAwB,GAAG,IAAI,KAAK,CAC/C,OAAO,CAAC,4BAA4B,CACrC,CAAC;AAEF,iDAA+B;AAC/B,iDAA6D;AAApD,iHAAA,OAAO,OAAW;AAC3B,oCAA8C;AAArC,2GAAA,OAAO,OAAO;AACvB,mDAA6D;AAApD,2HAAA,OAAO,OAAe;AAE/B,uDAAiE;AAAxD,mHAAA,OAAO,OAAW;AAC3B,+BAA6C;AAApC,2GAAA,mBAAmB,OAAA;AAC5B,8CAK4B;AAJ1B,yGAAA,cAAc,OAAA;AACd,wGAAA,aAAa,OAAA;AACb,wGAAA,aAAa,OAAA;AACb,gHAAA,qBAAqB,OAAA;AAEvB,4CAA+D;AAAtD,sGAAA,YAAY,OAAA;AAAE,sGAAA,YAAY,OAAA;AACnC,qCAAuD;AAA9C,2HAAA,OAAO,OAAmB;AACnC,2EAA2D;AAC3D,gDAO6B;AAN3B,yHAAA,6BAA6B,OAAA;AAC7B,yHAAA,6BAA6B,OAAA;AAC7B,+GAAA,mBAAmB,OAAA;AACnB,+GAAA,mBAAmB,OAAA;AACnB,4GAAA,gBAAgB,OAAA;AAChB,4GAAA,gBAAgB,OAAA;AAElB,qCAImB;AAHjB,4GAAA,iBAAiB,OAAA;AACjB,4GAAA,iBAAiB,OAAA;AACjB,uHAAA,4BAA4B,OAAA;AAE9B,iCAAwD;AAA/C,uGAAA,cAAc,OAAA;AAAE,sGAAA,aAAa,OAAA;AACtC,uCAQoB;AAPlB,2GAAA,eAAe,OAAA;AACf,wGAAA,YAAY,OAAA;AACZ,mHAAA,uBAAuB,OAAA;AACvB,yHAAA,6BAA6B,OAAA;AAC7B,4GAAA,gBAAgB,OAAA;AAChB,oGAAA,QAAQ,OAAA;AACR,+GAAA,mBAAmB,OAAA;AAErB,uCAKoB;AAJlB,mHAAA,uBAAuB,OAAA;AACvB,qHAAA,yBAAyB,OAAA;AACzB,yHAAA,6BAA6B,OAAA;AAC7B,2GAAA,eAAe,OAAA;AAEJ,QAAA,cAAc,GAAG,4BAA4B,CAAC,OAAO,CAAC;AAEnE,4CAA0B;AAC1B,gDAA8B;AAC9B,2CAAyB;AACzB,6CAA2B;AAC3B,0CAAwB;AACxB,wCAAsB"}
|