algosdk 3.6.0 → 3.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/browser/algosdk.min.js +1 -1
- package/dist/browser/algosdk.min.js.map +1 -1
- package/dist/cjs/appAccess.js +4 -0
- package/dist/cjs/appAccess.js.map +1 -1
- package/dist/cjs/client/v2/algod/algod.js +0 -18
- package/dist/cjs/client/v2/algod/algod.js.map +1 -1
- package/dist/cjs/client/v2/algod/models/types.js +153 -437
- package/dist/cjs/client/v2/algod/models/types.js.map +1 -1
- package/dist/cjs/client/v2/indexer/models/types.js +163 -12
- package/dist/cjs/client/v2/indexer/models/types.js.map +1 -1
- package/dist/cjs/composer.js +4 -6
- package/dist/cjs/composer.js.map +1 -1
- package/dist/cjs/ed25519-signer.js +76 -0
- package/dist/cjs/ed25519-signer.js.map +1 -0
- package/dist/cjs/encoding/address.js +61 -1
- package/dist/cjs/encoding/address.js.map +1 -1
- package/dist/cjs/falcon-signer.js +17 -0
- package/dist/cjs/falcon-signer.js.map +1 -0
- package/dist/cjs/heartbeat.js +7 -0
- package/dist/cjs/heartbeat.js.map +1 -1
- package/dist/cjs/logicsig.js +201 -16
- package/dist/cjs/logicsig.js.map +1 -1
- package/dist/cjs/main.js +32 -63
- package/dist/cjs/main.js.map +1 -1
- package/dist/cjs/makeTxn.js +11 -2
- package/dist/cjs/makeTxn.js.map +1 -1
- package/dist/cjs/mnemonic/mnemonic.js +26 -1
- package/dist/cjs/mnemonic/mnemonic.js.map +1 -1
- package/dist/cjs/multisigSigning.js +78 -1
- package/dist/cjs/multisigSigning.js.map +1 -1
- package/dist/cjs/pq-signer.js +80 -0
- package/dist/cjs/pq-signer.js.map +1 -0
- package/dist/cjs/signedTransaction.js +15 -1
- package/dist/cjs/signedTransaction.js.map +1 -1
- package/dist/cjs/signer.js.map +1 -1
- package/dist/cjs/signing.js +94 -7
- package/dist/cjs/signing.js.map +1 -1
- package/dist/cjs/transaction.js +17 -1
- package/dist/cjs/transaction.js.map +1 -1
- package/dist/cjs/types/statedelta.js +17 -0
- package/dist/cjs/types/statedelta.js.map +1 -1
- package/dist/cjs/types/transactions/encoded.js +51 -1
- package/dist/cjs/types/transactions/encoded.js.map +1 -1
- package/dist/cjs/utils/ed25519-check.js +69 -0
- package/dist/cjs/utils/ed25519-check.js.map +1 -0
- package/dist/cjs/utils/utils.js +14 -1
- package/dist/cjs/utils/utils.js.map +1 -1
- package/dist/esm/appAccess.js +4 -0
- package/dist/esm/appAccess.js.map +1 -1
- package/dist/esm/client/v2/algod/algod.js +0 -18
- package/dist/esm/client/v2/algod/algod.js.map +1 -1
- package/dist/esm/client/v2/algod/models/types.js +149 -430
- package/dist/esm/client/v2/algod/models/types.js.map +1 -1
- package/dist/esm/client/v2/indexer/models/types.js +161 -11
- package/dist/esm/client/v2/indexer/models/types.js.map +1 -1
- package/dist/esm/composer.js +4 -6
- package/dist/esm/composer.js.map +1 -1
- package/dist/esm/ed25519-signer.js +72 -0
- package/dist/esm/ed25519-signer.js.map +1 -0
- package/dist/esm/encoding/address.js +58 -0
- package/dist/esm/encoding/address.js.map +1 -1
- package/dist/esm/falcon-signer.js +13 -0
- package/dist/esm/falcon-signer.js.map +1 -0
- package/dist/esm/heartbeat.js +8 -1
- package/dist/esm/heartbeat.js.map +1 -1
- package/dist/esm/logicsig.js +200 -15
- package/dist/esm/logicsig.js.map +1 -1
- package/dist/esm/main.js +8 -56
- package/dist/esm/main.js.map +1 -1
- package/dist/esm/makeTxn.js +11 -2
- package/dist/esm/makeTxn.js.map +1 -1
- package/dist/esm/mnemonic/mnemonic.js +25 -1
- package/dist/esm/mnemonic/mnemonic.js.map +1 -1
- package/dist/esm/multisigSigning.js +75 -0
- package/dist/esm/multisigSigning.js.map +1 -1
- package/dist/esm/pq-signer.js +76 -0
- package/dist/esm/pq-signer.js.map +1 -0
- package/dist/esm/signedTransaction.js +16 -2
- package/dist/esm/signedTransaction.js.map +1 -1
- package/dist/esm/signer.js.map +1 -1
- package/dist/esm/signing.js +91 -8
- package/dist/esm/signing.js.map +1 -1
- package/dist/esm/transaction.js +17 -1
- package/dist/esm/transaction.js.map +1 -1
- package/dist/esm/types/statedelta.js +17 -0
- package/dist/esm/types/statedelta.js.map +1 -1
- package/dist/esm/types/transactions/encoded.js +49 -1
- package/dist/esm/types/transactions/encoded.js.map +1 -1
- package/dist/esm/utils/ed25519-check.js +65 -0
- package/dist/esm/utils/ed25519-check.js.map +1 -0
- package/dist/esm/utils/utils.js +12 -0
- package/dist/esm/utils/utils.js.map +1 -1
- package/dist/types/client/v2/algod/algod.d.ts +0 -16
- package/dist/types/client/v2/algod/models/types.d.ts +90 -220
- package/dist/types/client/v2/indexer/models/types.d.ts +114 -7
- package/dist/types/composer.d.ts +3 -3
- package/dist/types/ed25519-signer.d.ts +7 -0
- package/dist/types/encoding/address.d.ts +37 -0
- package/dist/types/falcon-signer.d.ts +11 -0
- package/dist/types/heartbeat.d.ts +2 -0
- package/dist/types/logicsig.d.ts +72 -1
- package/dist/types/main.d.ts +8 -44
- package/dist/types/makeTxn.d.ts +8 -2
- package/dist/types/mnemonic/mnemonic.d.ts +13 -0
- package/dist/types/multisigSigning.d.ts +49 -0
- package/dist/types/pq-signer.d.ts +8 -0
- package/dist/types/signedTransaction.d.ts +7 -2
- package/dist/types/signer.d.ts +46 -0
- package/dist/types/signing.d.ts +45 -0
- package/dist/types/transaction.d.ts +10 -0
- package/dist/types/types/statedelta.d.ts +18 -0
- package/dist/types/types/transactions/base.d.ts +10 -0
- package/dist/types/types/transactions/encoded.d.ts +27 -0
- package/dist/types/utils/ed25519-check.d.ts +10 -0
- package/dist/types/utils/utils.d.ts +1 -0
- package/package.json +2 -1
- package/src/appAccess.ts +5 -0
- package/src/client/v2/algod/algod.ts +0 -19
- package/src/client/v2/algod/models/types.ts +324 -790
- package/src/client/v2/indexer/models/types.ts +280 -8
- package/src/composer.ts +7 -11
- package/src/ed25519-signer.ts +125 -0
- package/src/encoding/address.ts +80 -0
- package/src/falcon-signer.ts +33 -0
- package/src/heartbeat.ts +11 -0
- package/src/logicsig.ts +258 -16
- package/src/main.ts +30 -60
- package/src/makeTxn.ts +13 -4
- package/src/mnemonic/mnemonic.ts +34 -1
- package/src/multisigSigning.ts +111 -0
- package/src/pq-signer.ts +123 -0
- package/src/signedTransaction.ts +24 -0
- package/src/signer.ts +62 -0
- package/src/signing.ts +109 -8
- package/src/transaction.ts +19 -1
- package/src/types/statedelta.ts +34 -0
- package/src/types/transactions/base.ts +11 -0
- package/src/types/transactions/encoded.ts +88 -0
- package/src/utils/ed25519-check.ts +67 -0
- package/src/utils/utils.ts +13 -0
- package/dist/cjs/client/v2/algod/dryrun.js +0 -34
- package/dist/cjs/client/v2/algod/dryrun.js.map +0 -1
- package/dist/cjs/dryrun.js +0 -214
- package/dist/cjs/dryrun.js.map +0 -1
- package/dist/esm/client/v2/algod/dryrun.js +0 -28
- package/dist/esm/client/v2/algod/dryrun.js.map +0 -1
- package/dist/esm/dryrun.js +0 -208
- package/dist/esm/dryrun.js.map +0 -1
- package/dist/types/client/v2/algod/dryrun.d.ts +0 -11
- package/dist/types/dryrun.d.ts +0 -28
- package/src/client/v2/algod/dryrun.ts +0 -38
- package/src/dryrun.ts +0 -292
package/dist/cjs/logicsig.js
CHANGED
|
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.tealSignFromProgram = exports.verifyTealSign = exports.tealSign = exports.logicSigFromByte = exports.LogicSigAccount = exports.LogicSig = exports.sanityCheckProgram = void 0;
|
|
26
|
+
exports.tealSignFromProgram = exports.verifyTealSign = exports.tealSign = exports.SIGN_PROGRAM_DATA_PREFIX = exports.logicSigFromByte = exports.LogicSigAccount = exports.LogicSig = exports.MSIG_PROGRAM_TAG = exports.PQ_PROGRAM_TAG = exports.PROGRAM_TAG = exports.sanityCheckProgram = void 0;
|
|
27
27
|
const nacl = __importStar(require("./nacl/naclWrappers.js"));
|
|
28
28
|
const address_js_1 = require("./encoding/address.js");
|
|
29
29
|
const encoding = __importStar(require("./encoding/encoding.js"));
|
|
@@ -56,8 +56,9 @@ function sanityCheckProgram(program) {
|
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
exports.sanityCheckProgram = sanityCheckProgram;
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
exports.PROGRAM_TAG = new TextEncoder().encode('Program');
|
|
60
|
+
exports.PQ_PROGRAM_TAG = new TextEncoder().encode('PQProgram');
|
|
61
|
+
exports.MSIG_PROGRAM_TAG = new TextEncoder().encode('MsigProgram');
|
|
61
62
|
/**
|
|
62
63
|
LogicSig implementation
|
|
63
64
|
|
|
@@ -79,6 +80,7 @@ class LogicSig {
|
|
|
79
80
|
this.sig = undefined;
|
|
80
81
|
this.msig = undefined;
|
|
81
82
|
this.lmsig = undefined;
|
|
83
|
+
this.pqsig = undefined;
|
|
82
84
|
}
|
|
83
85
|
// eslint-disable-next-line class-methods-use-this
|
|
84
86
|
getEncodingSchema() {
|
|
@@ -96,6 +98,9 @@ class LogicSig {
|
|
|
96
98
|
if (this.lmsig) {
|
|
97
99
|
data.set('lmsig', (0, encoded_js_1.encodedMultiSigToEncodingData)(this.lmsig));
|
|
98
100
|
}
|
|
101
|
+
if (this.pqsig) {
|
|
102
|
+
data.set('pqsig', (0, encoded_js_1.encodedPQSigToEncodingData)(this.pqsig));
|
|
103
|
+
}
|
|
99
104
|
return data;
|
|
100
105
|
}
|
|
101
106
|
static fromEncodingData(data) {
|
|
@@ -110,14 +115,20 @@ class LogicSig {
|
|
|
110
115
|
if (data.get('lmsig')) {
|
|
111
116
|
lsig.lmsig = (0, encoded_js_1.encodedMultiSigFromEncodingData)(data.get('lmsig'));
|
|
112
117
|
}
|
|
118
|
+
if (data.get('pqsig')) {
|
|
119
|
+
lsig.pqsig = (0, encoded_js_1.encodedPQSigFromEncodingData)(data.get('pqsig'));
|
|
120
|
+
}
|
|
113
121
|
return lsig;
|
|
114
122
|
}
|
|
115
123
|
/**
|
|
124
|
+
* @deprecated This function does not perform full verification and should not be fully trusted on its own.
|
|
125
|
+
* For example, it does not evaluate programs and does not have the ability to validate PQ signatures.
|
|
126
|
+
*
|
|
116
127
|
* Performs signature verification
|
|
117
128
|
* @param publicKey - Verification key (derived from sender address or escrow address)
|
|
118
129
|
*/
|
|
119
130
|
verify(publicKey) {
|
|
120
|
-
const sigCount = [this.sig, this.msig, this.lmsig].filter(Boolean).length;
|
|
131
|
+
const sigCount = [this.sig, this.msig, this.lmsig, this.pqsig].filter(Boolean).length;
|
|
121
132
|
if (sigCount > 1) {
|
|
122
133
|
return false;
|
|
123
134
|
}
|
|
@@ -127,11 +138,18 @@ class LogicSig {
|
|
|
127
138
|
catch (e) {
|
|
128
139
|
return false;
|
|
129
140
|
}
|
|
130
|
-
const toBeSigned = utils.concatArrays(
|
|
131
|
-
if (!this.sig && !this.msig && !this.lmsig) {
|
|
141
|
+
const toBeSigned = utils.concatArrays(exports.PROGRAM_TAG, this.logic);
|
|
142
|
+
if (!this.sig && !this.msig && !this.lmsig && !this.pqsig) {
|
|
132
143
|
const hash = nacl.genericHash(toBeSigned);
|
|
133
144
|
return utils.arrayEqual(hash, publicKey);
|
|
134
145
|
}
|
|
146
|
+
if (this.pqsig) {
|
|
147
|
+
// This function has no way to validate a post-quantum signature, so it
|
|
148
|
+
// cannot report success here. Callers that need to sign a transaction
|
|
149
|
+
// with a PQ delegated LogicSig should go through
|
|
150
|
+
// signLogicSigTransactionObject, which skips this check.
|
|
151
|
+
return false;
|
|
152
|
+
}
|
|
135
153
|
if (this.sig) {
|
|
136
154
|
return nacl.verify(toBeSigned, this.sig, publicKey);
|
|
137
155
|
}
|
|
@@ -141,7 +159,7 @@ class LogicSig {
|
|
|
141
159
|
threshold: this.lmsig.thr,
|
|
142
160
|
pks: this.lmsig.subsig.map((subsig) => subsig.pk),
|
|
143
161
|
});
|
|
144
|
-
const lmsigProgram = utils.concatArrays(
|
|
162
|
+
const lmsigProgram = utils.concatArrays(exports.MSIG_PROGRAM_TAG, multisigAddr.publicKey, this.logic);
|
|
145
163
|
return (0, multisig_js_1.verifyMultisig)(lmsigProgram, this.lmsig, publicKey);
|
|
146
164
|
}
|
|
147
165
|
if (this.msig) {
|
|
@@ -154,11 +172,13 @@ class LogicSig {
|
|
|
154
172
|
* @returns String representation of the address
|
|
155
173
|
*/
|
|
156
174
|
address() {
|
|
157
|
-
const toBeSigned = utils.concatArrays(
|
|
175
|
+
const toBeSigned = utils.concatArrays(exports.PROGRAM_TAG, this.logic);
|
|
158
176
|
const hash = nacl.genericHash(toBeSigned);
|
|
159
177
|
return new address_js_1.Address(Uint8Array.from(hash));
|
|
160
178
|
}
|
|
161
179
|
/**
|
|
180
|
+
* @deprecated Use `signWithSigner` instead
|
|
181
|
+
*
|
|
162
182
|
* Creates signature (if no msig provided) or multi signature otherwise
|
|
163
183
|
* @param secretKey - Secret key to sign with
|
|
164
184
|
* @param msig - Multisig account as \{version, threshold, addrs\}
|
|
@@ -179,6 +199,64 @@ class LogicSig {
|
|
|
179
199
|
}
|
|
180
200
|
}
|
|
181
201
|
/**
|
|
202
|
+
* Signs this LogicSig for delegation using the given signer.
|
|
203
|
+
*
|
|
204
|
+
* @param signer - The signer to delegate to
|
|
205
|
+
* @param msig - Optional multisig account the signer is a subsigner of
|
|
206
|
+
* @returns The address the signer signed as. When `msig` is omitted this is
|
|
207
|
+
* the delegating account. When `msig` is given it is the individual
|
|
208
|
+
* subsigner, not the multisig, so the delegating account is
|
|
209
|
+
* `multisigAddress(msig)`. Either way it is an authorizing address, which
|
|
210
|
+
* is not necessarily the address a signer sends transactions from.
|
|
211
|
+
*
|
|
212
|
+
* Re-signing an already-signed LogicSig is allowed, and replaces the previous
|
|
213
|
+
* delegation signature. At most one of `sig`, `msig`, `lmsig` and `pqsig` may
|
|
214
|
+
* be set, so any signature left over from an earlier call is cleared.
|
|
215
|
+
*/
|
|
216
|
+
async signWithSigner(signer, msig) {
|
|
217
|
+
const sigResult = await signer(this, msig);
|
|
218
|
+
if (msig == null) {
|
|
219
|
+
if ('pqsig' in sigResult && sigResult.pqsig) {
|
|
220
|
+
this.clearSignatures();
|
|
221
|
+
this.pqsig = sigResult.pqsig;
|
|
222
|
+
return sigResult.address;
|
|
223
|
+
}
|
|
224
|
+
if (!('sig' in sigResult) || !sigResult.sig) {
|
|
225
|
+
throw Error('Expected DelegatedLsigSigner to return sig or pqsig, but both are undefined. If signing for an msig, be sure to pass the msig argument');
|
|
226
|
+
}
|
|
227
|
+
this.clearSignatures();
|
|
228
|
+
this.sig = sigResult.sig;
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
if (!('lmsig' in sigResult) || !sigResult.lmsig) {
|
|
232
|
+
throw Error('Expected DelegatedLsigSigner to return lmsig, but lmsig is undefined. If signing for a single account, do not pass msig argument');
|
|
233
|
+
}
|
|
234
|
+
const { lmsig } = sigResult;
|
|
235
|
+
const expectedPks = (0, multisig_js_1.pksFromAddresses)(msig.addrs);
|
|
236
|
+
if (lmsig.v !== msig.version ||
|
|
237
|
+
lmsig.thr !== msig.threshold ||
|
|
238
|
+
lmsig.subsig.length !== expectedPks.length ||
|
|
239
|
+
!lmsig.subsig.every((subsig, i) => utils.arrayEqual(subsig.pk, expectedPks[i]))) {
|
|
240
|
+
throw Error('DelegatedLsigSigner returned an lmsig whose version, threshold or public keys do not match the requested multisig');
|
|
241
|
+
}
|
|
242
|
+
this.clearSignatures();
|
|
243
|
+
this.lmsig = sigResult.lmsig;
|
|
244
|
+
}
|
|
245
|
+
return sigResult.address;
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Removes every delegation signature from this LogicSig, so that exactly one
|
|
249
|
+
* of them can be set afterwards.
|
|
250
|
+
*/
|
|
251
|
+
clearSignatures() {
|
|
252
|
+
this.sig = undefined;
|
|
253
|
+
this.msig = undefined;
|
|
254
|
+
this.lmsig = undefined;
|
|
255
|
+
this.pqsig = undefined;
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* @deprecated Use `appendToMultisigWithSigner` instead
|
|
259
|
+
*
|
|
182
260
|
* Appends a signature to multi signature
|
|
183
261
|
* @param secretKey - Secret key to sign with
|
|
184
262
|
*/
|
|
@@ -189,21 +267,66 @@ class LogicSig {
|
|
|
189
267
|
const [sig, index] = this.singleSignMultisig(secretKey, this.lmsig);
|
|
190
268
|
this.lmsig.subsig[index].s = sig;
|
|
191
269
|
}
|
|
270
|
+
async appendToMultisigWithSigner(signer) {
|
|
271
|
+
if (this.lmsig === undefined) {
|
|
272
|
+
throw new Error('no multisig present');
|
|
273
|
+
}
|
|
274
|
+
const sigResult = await signer(this, {
|
|
275
|
+
version: this.lmsig.v,
|
|
276
|
+
threshold: this.lmsig.thr,
|
|
277
|
+
addrs: this.lmsig.subsig.map((s) => new address_js_1.Address(s.pk)),
|
|
278
|
+
});
|
|
279
|
+
if (!('lmsig' in sigResult) || !sigResult.lmsig) {
|
|
280
|
+
throw Error('Expected DelegatedLsigSigner to return lmsig, but lmsig is undefined');
|
|
281
|
+
}
|
|
282
|
+
if (sigResult.lmsig.v !== this.lmsig.v ||
|
|
283
|
+
sigResult.lmsig.thr !== this.lmsig.thr) {
|
|
284
|
+
throw Error('DelegatedLsigSigner returned an lmsig whose version or threshold does not match the current msig');
|
|
285
|
+
}
|
|
286
|
+
let signaturesReturned = false;
|
|
287
|
+
for (const subsig of sigResult.lmsig.subsig) {
|
|
288
|
+
if (subsig.s) {
|
|
289
|
+
signaturesReturned = true;
|
|
290
|
+
const thisSubsig = this.lmsig.subsig.find((s) => utils.arrayEqual(s.pk, subsig.pk));
|
|
291
|
+
if (thisSubsig === undefined) {
|
|
292
|
+
throw Error(`DelegatedLsigSigner returned a signature for ${new address_js_1.Address(subsig.pk)} but this pk is not in the current msig`);
|
|
293
|
+
}
|
|
294
|
+
// Never let the signer silently replace a signature already collected
|
|
295
|
+
// from another member.
|
|
296
|
+
if (thisSubsig.s && !utils.arrayEqual(thisSubsig.s, subsig.s)) {
|
|
297
|
+
throw Error(`DelegatedLsigSigner returned a signature for ${new address_js_1.Address(subsig.pk)} that conflicts with the signature already collected for it`);
|
|
298
|
+
}
|
|
299
|
+
thisSubsig.s = subsig.s;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
if (!signaturesReturned) {
|
|
303
|
+
throw Error('DelegatedLsigSigner returned an lmsig with no signatures');
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* @deprecated Use `signWithSigner` followed by `.sig` instead
|
|
308
|
+
*/
|
|
192
309
|
signProgram(secretKey) {
|
|
193
|
-
const toBeSigned = utils.concatArrays(
|
|
310
|
+
const toBeSigned = utils.concatArrays(exports.PROGRAM_TAG, this.logic);
|
|
194
311
|
const sig = nacl.sign(toBeSigned, secretKey);
|
|
195
312
|
return sig;
|
|
196
313
|
}
|
|
314
|
+
/**
|
|
315
|
+
* @deprecated Use `signWithSigner` followed by `.sig` instead
|
|
316
|
+
*/
|
|
197
317
|
signProgramMultisig(secretKey, msig) {
|
|
198
318
|
const multisigAddr = (0, multisig_js_1.addressFromMultisigPreImg)({
|
|
199
319
|
version: msig.v,
|
|
200
320
|
threshold: msig.thr,
|
|
201
321
|
pks: msig.subsig.map((subsig) => subsig.pk),
|
|
202
322
|
});
|
|
203
|
-
const toBeSigned = utils.concatArrays(
|
|
323
|
+
const toBeSigned = utils.concatArrays(exports.MSIG_PROGRAM_TAG, multisigAddr.publicKey, this.logic);
|
|
204
324
|
const sig = nacl.sign(toBeSigned, secretKey);
|
|
205
325
|
return sig;
|
|
206
326
|
}
|
|
327
|
+
/**
|
|
328
|
+
* @deprecated Use `signWithSigner` followed by `.sig` instead
|
|
329
|
+
*/
|
|
207
330
|
singleSignMultisig(secretKey, msig) {
|
|
208
331
|
let index = -1;
|
|
209
332
|
const myPk = nacl.keyPairFromSecretKey(secretKey).publicKey;
|
|
@@ -226,6 +349,16 @@ class LogicSig {
|
|
|
226
349
|
static fromByte(encoded) {
|
|
227
350
|
return encoding.decodeMsgpack(encoded, LogicSig);
|
|
228
351
|
}
|
|
352
|
+
/**
|
|
353
|
+
* Signs arbitrary data for use with the `ed25519verify` opcode from within
|
|
354
|
+
* this LogicSig's program.
|
|
355
|
+
*
|
|
356
|
+
* @param signer - The signer to sign the data with
|
|
357
|
+
* @param data - The data to sign
|
|
358
|
+
*/
|
|
359
|
+
async signDataWithSigner(signer, data) {
|
|
360
|
+
return signer(data, this);
|
|
361
|
+
}
|
|
229
362
|
}
|
|
230
363
|
exports.LogicSig = LogicSig;
|
|
231
364
|
LogicSig.encodingSchema = new index_js_1.NamedMapSchema((0, index_js_1.allOmitEmpty)([
|
|
@@ -249,6 +382,10 @@ LogicSig.encodingSchema = new index_js_1.NamedMapSchema((0, index_js_1.allOmitEm
|
|
|
249
382
|
key: 'lmsig',
|
|
250
383
|
valueSchema: new index_js_1.OptionalSchema(encoded_js_1.ENCODED_MULTISIG_SCHEMA),
|
|
251
384
|
},
|
|
385
|
+
{
|
|
386
|
+
key: 'pqsig',
|
|
387
|
+
valueSchema: new index_js_1.OptionalSchema(encoded_js_1.ENCODED_PQSIG_SCHEMA),
|
|
388
|
+
},
|
|
252
389
|
]));
|
|
253
390
|
/**
|
|
254
391
|
* Represents an account that can sign with a LogicSig program.
|
|
@@ -309,9 +446,15 @@ class LogicSigAccount {
|
|
|
309
446
|
* To verify the delegation signature, use `verify`.
|
|
310
447
|
*/
|
|
311
448
|
isDelegated() {
|
|
312
|
-
return !!(this.lsig.sig ||
|
|
449
|
+
return !!(this.lsig.sig ||
|
|
450
|
+
this.lsig.msig ||
|
|
451
|
+
this.lsig.lmsig ||
|
|
452
|
+
this.lsig.pqsig);
|
|
313
453
|
}
|
|
314
454
|
/**
|
|
455
|
+
* @deprecated This function does not perform full verification and should not be fully trusted on its own.
|
|
456
|
+
* For example, it does not evaluate programs and does not have the ability to validate PQ signatures.
|
|
457
|
+
*
|
|
315
458
|
* Verifies this LogicSig's program and signatures.
|
|
316
459
|
* @returns true if and only if the LogicSig program and signatures are valid.
|
|
317
460
|
*/
|
|
@@ -329,9 +472,24 @@ class LogicSigAccount {
|
|
|
329
472
|
* escrow address that is the hash of the LogicSig's program code.
|
|
330
473
|
*/
|
|
331
474
|
address() {
|
|
332
|
-
const sigCount = [
|
|
475
|
+
const sigCount = [
|
|
476
|
+
this.lsig.sig,
|
|
477
|
+
this.lsig.msig,
|
|
478
|
+
this.lsig.lmsig,
|
|
479
|
+
this.lsig.pqsig,
|
|
480
|
+
].filter(Boolean).length;
|
|
333
481
|
if (sigCount > 1) {
|
|
334
|
-
throw new Error('LogicSig has too many signatures. At most one of sig, msig, or
|
|
482
|
+
throw new Error('LogicSig has too many signatures. At most one of sig, msig, lmsig, or pqsig may be present');
|
|
483
|
+
}
|
|
484
|
+
if (this.lsig.pqsig) {
|
|
485
|
+
// A PQ signature carries the scheme, salt and public key of the
|
|
486
|
+
// delegating account, so derive the address rather than trusting
|
|
487
|
+
// `sigkey`. Also throws if the signature is not self-consistent.
|
|
488
|
+
const derived = (0, address_js_1.addressFromPQSig)(this.lsig.pqsig);
|
|
489
|
+
if (this.sigkey && !utils.arrayEqual(this.sigkey, derived.publicKey)) {
|
|
490
|
+
throw new Error(`Signing key for delegated account does not match the PQ signature. The signature authorizes ${derived}, but sigkey is ${new address_js_1.Address(this.sigkey)}`);
|
|
491
|
+
}
|
|
492
|
+
return derived;
|
|
335
493
|
}
|
|
336
494
|
if (this.lsig.sig) {
|
|
337
495
|
if (!this.sigkey) {
|
|
@@ -351,6 +509,8 @@ class LogicSigAccount {
|
|
|
351
509
|
return this.lsig.address();
|
|
352
510
|
}
|
|
353
511
|
/**
|
|
512
|
+
* @deprecated Use `signMultisigWithSigner` instead
|
|
513
|
+
*
|
|
354
514
|
* Turns this LogicSigAccount into a delegated LogicSig. This type of LogicSig
|
|
355
515
|
* has the authority to sign transactions on behalf of another account, called
|
|
356
516
|
* the delegating account. Use this function if the delegating account is a
|
|
@@ -364,7 +524,12 @@ class LogicSigAccount {
|
|
|
364
524
|
signMultisig(msig, secretKey) {
|
|
365
525
|
this.lsig.sign(secretKey, msig);
|
|
366
526
|
}
|
|
527
|
+
async signMultisigWithSigner(msig, signer) {
|
|
528
|
+
await this.lsig.signWithSigner(signer, msig);
|
|
529
|
+
}
|
|
367
530
|
/**
|
|
531
|
+
* @deprecated Use appendToMultisigWithSigner
|
|
532
|
+
*
|
|
368
533
|
* Adds an additional signature from a member of the delegating multisig
|
|
369
534
|
* account.
|
|
370
535
|
*
|
|
@@ -374,7 +539,12 @@ class LogicSigAccount {
|
|
|
374
539
|
appendToMultisig(secretKey) {
|
|
375
540
|
this.lsig.appendToMultisig(secretKey);
|
|
376
541
|
}
|
|
542
|
+
async appendToMultisigWithSigner(signer) {
|
|
543
|
+
await this.lsig.appendToMultisigWithSigner(signer);
|
|
544
|
+
}
|
|
377
545
|
/**
|
|
546
|
+
* @deprecated Use `signWithSigner` instead
|
|
547
|
+
*
|
|
378
548
|
* Turns this LogicSigAccount into a delegated LogicSig. This type of LogicSig
|
|
379
549
|
* has the authority to sign transactions on behalf of another account, called
|
|
380
550
|
* the delegating account. If the delegating account is a multisig account,
|
|
@@ -386,6 +556,21 @@ class LogicSigAccount {
|
|
|
386
556
|
this.lsig.sign(secretKey);
|
|
387
557
|
this.sigkey = nacl.keyPairFromSecretKey(secretKey).publicKey;
|
|
388
558
|
}
|
|
559
|
+
/**
|
|
560
|
+
* Turns this LogicSigAccount into a delegated LogicSig, signed by the given
|
|
561
|
+
* signer. If the delegating account is a multisig account, use
|
|
562
|
+
* `signMultisigWithSigner` instead.
|
|
563
|
+
*
|
|
564
|
+
* @param signer - The signer of the delegating account.
|
|
565
|
+
*/
|
|
566
|
+
async signWithSigner(signer) {
|
|
567
|
+
// Record the address the signer reports rather than any sending address it
|
|
568
|
+
// may advertise: the latter is the address the signer sends transactions
|
|
569
|
+
// from, which for a rekeyed account is not the account that authorizes
|
|
570
|
+
// this delegation.
|
|
571
|
+
const delegatingAddress = await this.lsig.signWithSigner(signer);
|
|
572
|
+
this.sigkey = delegatingAddress.publicKey;
|
|
573
|
+
}
|
|
389
574
|
}
|
|
390
575
|
exports.LogicSigAccount = LogicSigAccount;
|
|
391
576
|
LogicSigAccount.encodingSchema = new index_js_1.NamedMapSchema((0, index_js_1.allOmitEmpty)([
|
|
@@ -406,7 +591,7 @@ function logicSigFromByte(encoded) {
|
|
|
406
591
|
return encoding.decodeMsgpack(encoded, LogicSig);
|
|
407
592
|
}
|
|
408
593
|
exports.logicSigFromByte = logicSigFromByte;
|
|
409
|
-
|
|
594
|
+
exports.SIGN_PROGRAM_DATA_PREFIX = new TextEncoder().encode('ProgData');
|
|
410
595
|
/**
|
|
411
596
|
* tealSign creates a signature compatible with ed25519verify opcode from program hash
|
|
412
597
|
* @param sk - Uint8Array with secret key
|
|
@@ -418,7 +603,7 @@ function tealSign(sk, data, programHash) {
|
|
|
418
603
|
? address_js_1.Address.fromString(programHash)
|
|
419
604
|
: programHash;
|
|
420
605
|
const parts = utils.concatArrays(programAddr.publicKey, data);
|
|
421
|
-
const toBeSigned = utils.concatArrays(SIGN_PROGRAM_DATA_PREFIX, parts);
|
|
606
|
+
const toBeSigned = utils.concatArrays(exports.SIGN_PROGRAM_DATA_PREFIX, parts);
|
|
422
607
|
return nacl.sign(toBeSigned, sk);
|
|
423
608
|
}
|
|
424
609
|
exports.tealSign = tealSign;
|
|
@@ -434,7 +619,7 @@ function verifyTealSign(data, programHash, sig, pk) {
|
|
|
434
619
|
? address_js_1.Address.fromString(programHash)
|
|
435
620
|
: programHash;
|
|
436
621
|
const parts = utils.concatArrays(programAddr.publicKey, data);
|
|
437
|
-
const toBeSigned = utils.concatArrays(SIGN_PROGRAM_DATA_PREFIX, parts);
|
|
622
|
+
const toBeSigned = utils.concatArrays(exports.SIGN_PROGRAM_DATA_PREFIX, parts);
|
|
438
623
|
return nacl.verify(toBeSigned, sig, pk);
|
|
439
624
|
}
|
|
440
625
|
exports.verifyTealSign = verifyTealSign;
|
package/dist/cjs/logicsig.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logicsig.js","sourceRoot":"","sources":["../../src/logicsig.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"logicsig.js","sourceRoot":"","sources":["../../src/logicsig.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/main.js
CHANGED
|
@@ -29,64 +29,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
29
29
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
30
30
|
};
|
|
31
31
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
|
-
exports.
|
|
33
|
-
exports.ProgramSourceMap = exports.appendSignRawMultisigSignature = exports.createMultisigTransaction = exports.appendSignMultisigTransaction = exports.mergeMultisigTransactions = exports.signMultisigTransaction = exports.multisigAddress = exports.verifyMultisig = exports.verifyTealSign = exports.tealSignFromProgram = exports.tealSign = exports.logicSigFromByte = exports.LogicSigAccount = exports.LogicSig = exports.signLogicSigTransactionObject = exports.signLogicSigTransaction = exports.encodeUnsignedSimulateTransaction = exports.decodeSignedTransaction = exports.SignedTransaction = exports.assignGroupID = exports.computeGroupID = exports.INVALID_MICROALGOS_ERROR_MSG = void 0;
|
|
34
|
-
const nacl = __importStar(require("./nacl/naclWrappers.js"));
|
|
35
|
-
const address_js_1 = require("./encoding/address.js");
|
|
32
|
+
exports.pq25WordMnemonicToSeed = exports.mnemonicFromSeed = exports.seedFromMnemonic = exports.mnemonicToSecretKey = exports.secretKeyToMnemonic = exports.masterDerivationKeyToMnemonic = exports.mnemonicToMasterDerivationKey = exports.indexerModels = exports.modelsv2 = exports.UntypedValue = exports.generateAccount = exports.stringifyJSON = exports.parseJSON = exports.decodeUint64 = exports.encodeUint64 = exports.hexToBytes = exports.bytesToHex = exports.coerceToBytes = exports.bytesToString = exports.bytesToBase64 = exports.base64ToBytes = exports.bigIntToBytes = exports.bytesToBigInt = exports.ALGORAND_ZERO_ADDRESS_STRING = exports.PQ_SALT_MAX = exports.PQ_SCHEME_SIZE = exports.addressFromPQSig = exports.addressFromPQKey = exports.getApplicationAddress = exports.decodeAddress = exports.encodeAddress = exports.isValidAddress = exports.Address = exports.decodeJSON = exports.encodeJSON = exports.decodeMsgpack = exports.encodeMsgpack = exports.msgpackRawDecodeAsMap = exports.msgpackRawDecode = exports.msgpackRawEncode = exports.decodeObj = exports.encodeObj = exports.waitForConfirmation = exports.Indexer = exports.IntDecoding = exports.Kmd = exports.Algodv2 = exports.ERROR_INVALID_MICROALGOS = exports.ERROR_MULTISIG_BAD_SENDER = exports.MULTISIG_BAD_SENDER_ERROR_MSG = void 0;
|
|
33
|
+
exports.addressWithSignersFromRawPQSigner = exports.addressWithSignersFromRawFalcon1024Signer = exports.FALCON_1024_SCHEME = exports.addressWithSignersFromRawEd25519Signer = exports.ProgramSourceMap = exports.appendSignMultisigTransactionWithSigner = exports.signMultisigTransactionWithSigner = exports.appendSignRawMultisigSignature = exports.createMultisigTransaction = exports.appendSignMultisigTransaction = exports.mergeMultisigTransactions = exports.signMultisigTransaction = exports.multisigAddress = exports.verifyMultisig = exports.SIGN_PROGRAM_DATA_PREFIX = exports.MSIG_PROGRAM_TAG = exports.PQ_PROGRAM_TAG = exports.PROGRAM_TAG = exports.verifyTealSign = exports.tealSignFromProgram = exports.tealSign = exports.logicSigFromByte = exports.LogicSigAccount = exports.LogicSig = exports.signLogicSigTransactionObject = exports.signLogicSigTransaction = exports.verifyBytes = exports.signBytes = exports.signTransactionWithSigner = exports.signTransaction = exports.SIGN_BYTES_PREFIX = exports.encodeUnsignedSimulateTransaction = exports.decodeSignedTransaction = exports.SignedTransaction = exports.assignGroupID = exports.computeGroupID = exports.INVALID_MICROALGOS_ERROR_MSG = exports.algosToMicroalgos = exports.microalgosToAlgos = void 0;
|
|
36
34
|
const convert = __importStar(require("./convert.js"));
|
|
37
|
-
const utils = __importStar(require("./utils/utils.js"));
|
|
38
|
-
const SIGN_BYTES_PREFIX = Uint8Array.from([77, 88]); // "MX"
|
|
39
35
|
// Errors
|
|
40
36
|
exports.MULTISIG_BAD_SENDER_ERROR_MSG = 'The transaction sender address and multisig preimage do not match.';
|
|
41
|
-
/**
|
|
42
|
-
* signTransaction takes an object with either payment or key registration fields and
|
|
43
|
-
* a secret key and returns a signed blob.
|
|
44
|
-
*
|
|
45
|
-
* Payment transaction fields: from, to, amount, fee, firstValid, lastValid, genesisHash,
|
|
46
|
-
* note(optional), GenesisID(optional), closeRemainderTo(optional)
|
|
47
|
-
*
|
|
48
|
-
* Key registration fields: fee, firstValid, lastValid, voteKey, selectionKey, voteFirst,
|
|
49
|
-
* voteLast, voteKeyDilution, genesisHash, note(optional), GenesisID(optional)
|
|
50
|
-
*
|
|
51
|
-
* If flatFee is not set and the final calculated fee is lower than the protocol minimum fee, the fee will be increased to match the minimum.
|
|
52
|
-
* @param txn - object with either payment or key registration fields
|
|
53
|
-
* @param sk - Algorand Secret Key
|
|
54
|
-
* @returns object contains the binary signed transaction and its txID
|
|
55
|
-
*/
|
|
56
|
-
function signTransaction(txn, sk) {
|
|
57
|
-
return {
|
|
58
|
-
txID: txn.txID(),
|
|
59
|
-
blob: txn.signTxn(sk),
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
exports.signTransaction = signTransaction;
|
|
63
|
-
/**
|
|
64
|
-
* signBytes takes arbitrary bytes and a secret key, prepends the bytes with "MX" for domain separation, signs the bytes
|
|
65
|
-
* with the private key, and returns the signature.
|
|
66
|
-
* @param bytes - Uint8array
|
|
67
|
-
* @param sk - Algorand secret key
|
|
68
|
-
* @returns binary signature
|
|
69
|
-
*/
|
|
70
|
-
function signBytes(bytes, sk) {
|
|
71
|
-
const toBeSigned = utils.concatArrays(SIGN_BYTES_PREFIX, bytes);
|
|
72
|
-
const sig = nacl.sign(toBeSigned, sk);
|
|
73
|
-
return sig;
|
|
74
|
-
}
|
|
75
|
-
exports.signBytes = signBytes;
|
|
76
|
-
/**
|
|
77
|
-
* verifyBytes takes array of bytes, an address, and a signature and verifies if the signature is correct for the public
|
|
78
|
-
* key and the bytes (the bytes should have been signed with "MX" prepended for domain separation).
|
|
79
|
-
* @param bytes - Uint8Array
|
|
80
|
-
* @param signature - binary signature
|
|
81
|
-
* @param addr - string address
|
|
82
|
-
* @returns bool
|
|
83
|
-
*/
|
|
84
|
-
function verifyBytes(bytes, signature, addr) {
|
|
85
|
-
const toBeVerified = utils.concatArrays(SIGN_BYTES_PREFIX, bytes);
|
|
86
|
-
const addrObj = typeof addr === 'string' ? address_js_1.Address.fromString(addr) : addr;
|
|
87
|
-
return nacl.verify(toBeVerified, signature, addrObj.publicKey);
|
|
88
|
-
}
|
|
89
|
-
exports.verifyBytes = verifyBytes;
|
|
90
37
|
exports.ERROR_MULTISIG_BAD_SENDER = new Error(exports.MULTISIG_BAD_SENDER_ERROR_MSG);
|
|
91
38
|
exports.ERROR_INVALID_MICROALGOS = new Error(convert.INVALID_MICROALGOS_ERROR_MSG);
|
|
92
39
|
var algod_js_1 = require("./client/v2/algod/algod.js");
|
|
@@ -109,13 +56,17 @@ Object.defineProperty(exports, "encodeMsgpack", { enumerable: true, get: functio
|
|
|
109
56
|
Object.defineProperty(exports, "decodeMsgpack", { enumerable: true, get: function () { return encoding_js_1.decodeMsgpack; } });
|
|
110
57
|
Object.defineProperty(exports, "encodeJSON", { enumerable: true, get: function () { return encoding_js_1.encodeJSON; } });
|
|
111
58
|
Object.defineProperty(exports, "decodeJSON", { enumerable: true, get: function () { return encoding_js_1.decodeJSON; } });
|
|
112
|
-
var
|
|
113
|
-
Object.defineProperty(exports, "Address", { enumerable: true, get: function () { return
|
|
114
|
-
Object.defineProperty(exports, "isValidAddress", { enumerable: true, get: function () { return
|
|
115
|
-
Object.defineProperty(exports, "encodeAddress", { enumerable: true, get: function () { return
|
|
116
|
-
Object.defineProperty(exports, "decodeAddress", { enumerable: true, get: function () { return
|
|
117
|
-
Object.defineProperty(exports, "getApplicationAddress", { enumerable: true, get: function () { return
|
|
118
|
-
Object.defineProperty(exports, "
|
|
59
|
+
var address_js_1 = require("./encoding/address.js");
|
|
60
|
+
Object.defineProperty(exports, "Address", { enumerable: true, get: function () { return address_js_1.Address; } });
|
|
61
|
+
Object.defineProperty(exports, "isValidAddress", { enumerable: true, get: function () { return address_js_1.isValidAddress; } });
|
|
62
|
+
Object.defineProperty(exports, "encodeAddress", { enumerable: true, get: function () { return address_js_1.encodeAddress; } });
|
|
63
|
+
Object.defineProperty(exports, "decodeAddress", { enumerable: true, get: function () { return address_js_1.decodeAddress; } });
|
|
64
|
+
Object.defineProperty(exports, "getApplicationAddress", { enumerable: true, get: function () { return address_js_1.getApplicationAddress; } });
|
|
65
|
+
Object.defineProperty(exports, "addressFromPQKey", { enumerable: true, get: function () { return address_js_1.addressFromPQKey; } });
|
|
66
|
+
Object.defineProperty(exports, "addressFromPQSig", { enumerable: true, get: function () { return address_js_1.addressFromPQSig; } });
|
|
67
|
+
Object.defineProperty(exports, "PQ_SCHEME_SIZE", { enumerable: true, get: function () { return address_js_1.PQ_SCHEME_SIZE; } });
|
|
68
|
+
Object.defineProperty(exports, "PQ_SALT_MAX", { enumerable: true, get: function () { return address_js_1.PQ_SALT_MAX; } });
|
|
69
|
+
Object.defineProperty(exports, "ALGORAND_ZERO_ADDRESS_STRING", { enumerable: true, get: function () { return address_js_1.ALGORAND_ZERO_ADDRESS_STRING; } });
|
|
119
70
|
var bigint_js_1 = require("./encoding/bigint.js");
|
|
120
71
|
Object.defineProperty(exports, "bytesToBigInt", { enumerable: true, get: function () { return bigint_js_1.bytesToBigInt; } });
|
|
121
72
|
Object.defineProperty(exports, "bigIntToBytes", { enumerable: true, get: function () { return bigint_js_1.bigIntToBytes; } });
|
|
@@ -148,6 +99,7 @@ Object.defineProperty(exports, "secretKeyToMnemonic", { enumerable: true, get: f
|
|
|
148
99
|
Object.defineProperty(exports, "mnemonicToSecretKey", { enumerable: true, get: function () { return mnemonic_js_1.mnemonicToSecretKey; } });
|
|
149
100
|
Object.defineProperty(exports, "seedFromMnemonic", { enumerable: true, get: function () { return mnemonic_js_1.seedFromMnemonic; } });
|
|
150
101
|
Object.defineProperty(exports, "mnemonicFromSeed", { enumerable: true, get: function () { return mnemonic_js_1.mnemonicFromSeed; } });
|
|
102
|
+
Object.defineProperty(exports, "pq25WordMnemonicToSeed", { enumerable: true, get: function () { return mnemonic_js_1.pq25WordMnemonicToSeed; } });
|
|
151
103
|
var convert_js_1 = require("./convert.js");
|
|
152
104
|
Object.defineProperty(exports, "microalgosToAlgos", { enumerable: true, get: function () { return convert_js_1.microalgosToAlgos; } });
|
|
153
105
|
Object.defineProperty(exports, "algosToMicroalgos", { enumerable: true, get: function () { return convert_js_1.algosToMicroalgos; } });
|
|
@@ -160,6 +112,11 @@ Object.defineProperty(exports, "SignedTransaction", { enumerable: true, get: fun
|
|
|
160
112
|
Object.defineProperty(exports, "decodeSignedTransaction", { enumerable: true, get: function () { return signedTransaction_js_1.decodeSignedTransaction; } });
|
|
161
113
|
Object.defineProperty(exports, "encodeUnsignedSimulateTransaction", { enumerable: true, get: function () { return signedTransaction_js_1.encodeUnsignedSimulateTransaction; } });
|
|
162
114
|
var signing_js_1 = require("./signing.js");
|
|
115
|
+
Object.defineProperty(exports, "SIGN_BYTES_PREFIX", { enumerable: true, get: function () { return signing_js_1.SIGN_BYTES_PREFIX; } });
|
|
116
|
+
Object.defineProperty(exports, "signTransaction", { enumerable: true, get: function () { return signing_js_1.signTransaction; } });
|
|
117
|
+
Object.defineProperty(exports, "signTransactionWithSigner", { enumerable: true, get: function () { return signing_js_1.signTransactionWithSigner; } });
|
|
118
|
+
Object.defineProperty(exports, "signBytes", { enumerable: true, get: function () { return signing_js_1.signBytes; } });
|
|
119
|
+
Object.defineProperty(exports, "verifyBytes", { enumerable: true, get: function () { return signing_js_1.verifyBytes; } });
|
|
163
120
|
Object.defineProperty(exports, "signLogicSigTransaction", { enumerable: true, get: function () { return signing_js_1.signLogicSigTransaction; } });
|
|
164
121
|
Object.defineProperty(exports, "signLogicSigTransactionObject", { enumerable: true, get: function () { return signing_js_1.signLogicSigTransactionObject; } });
|
|
165
122
|
var logicsig_js_1 = require("./logicsig.js");
|
|
@@ -169,6 +126,10 @@ Object.defineProperty(exports, "logicSigFromByte", { enumerable: true, get: func
|
|
|
169
126
|
Object.defineProperty(exports, "tealSign", { enumerable: true, get: function () { return logicsig_js_1.tealSign; } });
|
|
170
127
|
Object.defineProperty(exports, "tealSignFromProgram", { enumerable: true, get: function () { return logicsig_js_1.tealSignFromProgram; } });
|
|
171
128
|
Object.defineProperty(exports, "verifyTealSign", { enumerable: true, get: function () { return logicsig_js_1.verifyTealSign; } });
|
|
129
|
+
Object.defineProperty(exports, "PROGRAM_TAG", { enumerable: true, get: function () { return logicsig_js_1.PROGRAM_TAG; } });
|
|
130
|
+
Object.defineProperty(exports, "PQ_PROGRAM_TAG", { enumerable: true, get: function () { return logicsig_js_1.PQ_PROGRAM_TAG; } });
|
|
131
|
+
Object.defineProperty(exports, "MSIG_PROGRAM_TAG", { enumerable: true, get: function () { return logicsig_js_1.MSIG_PROGRAM_TAG; } });
|
|
132
|
+
Object.defineProperty(exports, "SIGN_PROGRAM_DATA_PREFIX", { enumerable: true, get: function () { return logicsig_js_1.SIGN_PROGRAM_DATA_PREFIX; } });
|
|
172
133
|
var multisig_js_1 = require("./multisig.js");
|
|
173
134
|
Object.defineProperty(exports, "verifyMultisig", { enumerable: true, get: function () { return multisig_js_1.verifyMultisig; } });
|
|
174
135
|
Object.defineProperty(exports, "multisigAddress", { enumerable: true, get: function () { return multisig_js_1.multisigAddress; } });
|
|
@@ -178,9 +139,17 @@ Object.defineProperty(exports, "mergeMultisigTransactions", { enumerable: true,
|
|
|
178
139
|
Object.defineProperty(exports, "appendSignMultisigTransaction", { enumerable: true, get: function () { return multisigSigning_js_1.appendSignMultisigTransaction; } });
|
|
179
140
|
Object.defineProperty(exports, "createMultisigTransaction", { enumerable: true, get: function () { return multisigSigning_js_1.createMultisigTransaction; } });
|
|
180
141
|
Object.defineProperty(exports, "appendSignRawMultisigSignature", { enumerable: true, get: function () { return multisigSigning_js_1.appendSignRawMultisigSignature; } });
|
|
142
|
+
Object.defineProperty(exports, "signMultisigTransactionWithSigner", { enumerable: true, get: function () { return multisigSigning_js_1.signMultisigTransactionWithSigner; } });
|
|
143
|
+
Object.defineProperty(exports, "appendSignMultisigTransactionWithSigner", { enumerable: true, get: function () { return multisigSigning_js_1.appendSignMultisigTransactionWithSigner; } });
|
|
181
144
|
var sourcemap_js_1 = require("./logic/sourcemap.js");
|
|
182
145
|
Object.defineProperty(exports, "ProgramSourceMap", { enumerable: true, get: function () { return sourcemap_js_1.ProgramSourceMap; } });
|
|
183
|
-
|
|
146
|
+
var ed25519_signer_js_1 = require("./ed25519-signer.js");
|
|
147
|
+
Object.defineProperty(exports, "addressWithSignersFromRawEd25519Signer", { enumerable: true, get: function () { return ed25519_signer_js_1.addressWithSignersFromRawEd25519Signer; } });
|
|
148
|
+
var falcon_signer_js_1 = require("./falcon-signer.js");
|
|
149
|
+
Object.defineProperty(exports, "FALCON_1024_SCHEME", { enumerable: true, get: function () { return falcon_signer_js_1.FALCON_1024_SCHEME; } });
|
|
150
|
+
Object.defineProperty(exports, "addressWithSignersFromRawFalcon1024Signer", { enumerable: true, get: function () { return falcon_signer_js_1.addressWithSignersFromRawFalcon1024Signer; } });
|
|
151
|
+
var pq_signer_js_1 = require("./pq-signer.js");
|
|
152
|
+
Object.defineProperty(exports, "addressWithSignersFromRawPQSigner", { enumerable: true, get: function () { return pq_signer_js_1.addressWithSignersFromRawPQSigner; } });
|
|
184
153
|
__exportStar(require("./makeTxn.js"), exports);
|
|
185
154
|
__exportStar(require("./transaction.js"), exports);
|
|
186
155
|
__exportStar(require("./signer.js"), exports);
|
package/dist/cjs/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"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"}
|