@airgap/coinlib-core 0.13.5 → 0.13.6-beta.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/airgap-coinlib-core.min.js +9523 -6288
- package/package.json +3 -3
- package/protocols/tezos/TezosUtils.d.ts +2 -1
- package/protocols/tezos/TezosUtils.js +14 -1
- package/protocols/tezos/TezosUtils.js.map +1 -1
- package/protocols/tezos/sapling/TezosSaplingProtocol.d.ts +7 -7
- package/protocols/tezos/sapling/TezosSaplingProtocol.js +141 -134
- package/protocols/tezos/sapling/TezosSaplingProtocol.js.map +1 -1
- package/protocols/tezos/sapling/TezosSaplingProtocolOptions.js +7 -3
- package/protocols/tezos/sapling/TezosSaplingProtocolOptions.js.map +1 -1
- package/protocols/tezos/sapling/TezosShieldedTezProtocol.d.ts +2 -3
- package/protocols/tezos/sapling/TezosShieldedTezProtocol.js +4 -60
- package/protocols/tezos/sapling/TezosShieldedTezProtocol.js.map +1 -1
- package/protocols/tezos/sapling/utils/TezosSaplingBookkeeper.d.ts +2 -3
- package/protocols/tezos/sapling/utils/TezosSaplingBookkeeper.js +39 -31
- package/protocols/tezos/sapling/utils/TezosSaplingBookkeeper.js.map +1 -1
- package/protocols/tezos/sapling/utils/TezosSaplingEncoder.d.ts +1 -1
- package/protocols/tezos/sapling/utils/TezosSaplingEncoder.js +20 -4
- package/protocols/tezos/sapling/utils/TezosSaplingEncoder.js.map +1 -1
- package/protocols/tezos/sapling/utils/TezosSaplingForger.d.ts +1 -1
- package/protocols/tezos/sapling/utils/TezosSaplingForger.js +9 -5
- package/protocols/tezos/sapling/utils/TezosSaplingForger.js.map +1 -1
- package/protocols/tezos/types/michelson/MichelsonType.d.ts +2 -1
- package/protocols/tezos/types/michelson/MichelsonTypeUtils.d.ts +1 -0
- package/protocols/tezos/types/michelson/MichelsonTypeUtils.js +28 -0
- package/protocols/tezos/types/michelson/MichelsonTypeUtils.js.map +1 -1
- package/protocols/tezos/types/michelson/primitives/MichelsonAddress.d.ts +2 -1
- package/protocols/tezos/types/michelson/primitives/MichelsonBytes.d.ts +2 -1
- package/protocols/tezos/types/michelson/primitives/MichelsonBytes.js +14 -1
- package/protocols/tezos/types/michelson/primitives/MichelsonBytes.js.map +1 -1
- package/protocols/tezos/types/michelson/primitives/MichelsonInt.d.ts +2 -1
- package/protocols/tezos/types/michelson/primitives/MichelsonInt.js +1 -3
- package/protocols/tezos/types/michelson/primitives/MichelsonInt.js.map +1 -1
- package/protocols/tezos/types/michelson/primitives/MichelsonString.d.ts +3 -1
- package/protocols/tezos/types/michelson/primitives/MichelsonString.js +14 -1
- package/protocols/tezos/types/michelson/primitives/MichelsonString.js.map +1 -1
- package/protocols/tezos/types/sapling/TezosSaplingTransaction.d.ts +1 -0
- package/serializer/schemas/definitions/unsigned-transaction-tezos-sapling.d.ts +1 -1
- package/serializer/types.d.ts +1 -1
- package/serializer-v3/schemas/definitions/unsigned-transaction-tezos-sapling.d.ts +1 -1
- package/serializer-v3/schemas/generated/transaction-sign-request-tezos-sapling.json +4 -4
- package/serializer-v3/types.d.ts +2 -1
- package/utils/hex.d.ts +1 -1
- package/utils/hex.js +15 -4
- package/utils/hex.js.map +1 -1
- package/protocols/tezos/types/sapling/TezosSaplingWrappedTransaction.d.ts +0 -6
- package/protocols/tezos/types/sapling/TezosSaplingWrappedTransaction.js +0 -3
- package/protocols/tezos/types/sapling/TezosSaplingWrappedTransaction.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@airgap/coinlib-core",
|
|
3
|
-
"version": "0.13.
|
|
3
|
+
"version": "0.13.6-beta.0",
|
|
4
4
|
"description": "The @airgap/coinlib-core is a protocol agnostic library to prepare, sign and broadcast cryptocurrency transactions.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"airgap",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
},
|
|
39
39
|
"author": "Papers GmbH <contact@papers.ch> (https://papers.ch)",
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@airgap/sapling-wasm": "0.0.
|
|
41
|
+
"@airgap/sapling-wasm": "0.0.7",
|
|
42
42
|
"@ethereumjs/common": "2.6.0",
|
|
43
43
|
"@ethereumjs/tx": "3.4.0",
|
|
44
44
|
"@metamask/eth-sig-util": "4.0.0",
|
|
@@ -100,4 +100,4 @@
|
|
|
100
100
|
"instrument": true
|
|
101
101
|
},
|
|
102
102
|
"gitHead": "8e8feb6788204501b7173aa825f5456c2a5f185b"
|
|
103
|
-
}
|
|
103
|
+
}
|
|
@@ -23,6 +23,7 @@ export declare class TezosUtils {
|
|
|
23
23
|
static parseAddress(bytes: string | Buffer): string;
|
|
24
24
|
static encodeAddress(address: string): Buffer;
|
|
25
25
|
static packMichelsonType(type: MichelsonType): string;
|
|
26
|
+
static unpackMichelsonType(encoded: string): MichelsonType;
|
|
26
27
|
static parseHex(rawHex: string | string[]): MichelsonType;
|
|
27
28
|
static encodeExpr(value: MichelsonType): Promise<string>;
|
|
28
29
|
private static decodeSignedInt;
|
|
@@ -33,7 +34,7 @@ export declare class TezosUtils {
|
|
|
33
34
|
private static hexToLength;
|
|
34
35
|
private static splitAndReturnRest;
|
|
35
36
|
static parseTzAddress(bytes: string | Buffer): string;
|
|
36
|
-
|
|
37
|
+
static encodeTzAddress(address: string): Buffer;
|
|
37
38
|
private static prefixAndBase58CheckEncode;
|
|
38
39
|
private static prefixAndBase58CheckDecode;
|
|
39
40
|
}
|
|
@@ -108,7 +108,20 @@ var TezosUtils = /** @class */ (function () {
|
|
|
108
108
|
}
|
|
109
109
|
};
|
|
110
110
|
TezosUtils.packMichelsonType = function (type) {
|
|
111
|
-
return "" + TezosUtils.watermark.message + type.encode();
|
|
111
|
+
return "" + TezosUtils.watermark.message + type.encode().toString('hex');
|
|
112
|
+
};
|
|
113
|
+
TezosUtils.unpackMichelsonType = function (encoded) {
|
|
114
|
+
var bytes = hex_1.hexToBytes(encoded);
|
|
115
|
+
var watermarkBytes = hex_1.hexToBytes(TezosUtils.watermark.message);
|
|
116
|
+
var prefix = bytes.slice(0, watermarkBytes.length);
|
|
117
|
+
if (!prefix.equals(watermarkBytes)) {
|
|
118
|
+
throw new errors_1.ConditionViolationError(coinlib_error_1.Domain.TEZOS, 'Invalid packed MichelsonType.');
|
|
119
|
+
}
|
|
120
|
+
var michelsonType = MichelsonTypeUtils_1.MichelsonTypeUtils.decode(bytes.slice(prefix.length));
|
|
121
|
+
if (michelsonType === undefined) {
|
|
122
|
+
throw new errors_1.ConditionViolationError(coinlib_error_1.Domain.TEZOS, 'Could not unpack encoded MichelsonType.');
|
|
123
|
+
}
|
|
124
|
+
return michelsonType;
|
|
112
125
|
};
|
|
113
126
|
TezosUtils.parseHex = function (rawHex) {
|
|
114
127
|
var hex;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TezosUtils.js","sourceRoot":"","sources":["../../../src/protocols/tezos/TezosUtils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TezosUtils.js","sourceRoot":"","sources":["../../../src/protocols/tezos/TezosUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { AirGapTransactionStatus, IAirGapTransaction } from '../../../interfaces/IAirGapTransaction';
|
|
3
|
+
import { RawTezosSaplingTransaction, RawTezosTransaction } from '../../../serializer-v3/types';
|
|
3
4
|
import { SignedTezosTransaction } from '../../../serializer/schemas/definitions/signed-transaction-tezos';
|
|
4
5
|
import { UnsignedTezosTransaction } from '../../../serializer/schemas/definitions/unsigned-transaction-tezos';
|
|
5
6
|
import { UnsignedTezosSaplingTransaction } from '../../../serializer/schemas/definitions/unsigned-transaction-tezos-sapling';
|
|
6
|
-
import { RawTezosSaplingTransaction, RawTezosTransaction } from '../../../serializer/types';
|
|
7
7
|
import { ProtocolSymbols } from '../../../utils/ProtocolSymbols';
|
|
8
8
|
import { CurrencyUnit, FeeDefaults, ICoinProtocol } from '../../ICoinProtocol';
|
|
9
9
|
import { ICoinSubProtocol } from '../../ICoinSubProtocol';
|
|
@@ -14,7 +14,6 @@ import { TezosProtocol } from '../TezosProtocol';
|
|
|
14
14
|
import { TezosTransactionParameters } from '../types/operations/Transaction';
|
|
15
15
|
import { TezosSaplingTransactionCursor } from '../types/sapling/TezosSaplingTransactionCursor';
|
|
16
16
|
import { TezosSaplingTransactionResult } from '../types/sapling/TezosSaplingTransactionResult';
|
|
17
|
-
import { TezosSaplingWrappedTransaction } from '../types/sapling/TezosSaplingWrappedTransaction';
|
|
18
17
|
import { TezosSaplingNodeClient } from './node/TezosSaplingNodeClient';
|
|
19
18
|
import { TezosSaplingAddress } from './TezosSaplingAddress';
|
|
20
19
|
import { TezosSaplingCryptoClient } from './TezosSaplingCryptoClient';
|
|
@@ -25,7 +24,6 @@ import { TezosSaplingForger } from './utils/TezosSaplingForger';
|
|
|
25
24
|
import { TezosSaplingState } from './utils/TezosSaplingState';
|
|
26
25
|
export declare abstract class TezosSaplingProtocol extends NonExtendedProtocol implements ICoinProtocol {
|
|
27
26
|
readonly options: TezosSaplingProtocolOptions;
|
|
28
|
-
private static readonly TRANSACTION_PLACEHOLDER;
|
|
29
27
|
readonly symbol: string;
|
|
30
28
|
readonly name: string;
|
|
31
29
|
readonly marketSymbol: string;
|
|
@@ -49,8 +47,8 @@ export declare abstract class TezosSaplingProtocol extends NonExtendedProtocol i
|
|
|
49
47
|
readonly state: TezosSaplingState;
|
|
50
48
|
protected readonly tezosProtocol: TezosProtocol;
|
|
51
49
|
constructor(options: TezosSaplingProtocolOptions);
|
|
52
|
-
abstract prepareContractCalls(transactions:
|
|
53
|
-
abstract parseParameters(parameters: TezosTransactionParameters): Promise<
|
|
50
|
+
abstract prepareContractCalls(transactions: string[]): Promise<TezosContractCall[]>;
|
|
51
|
+
abstract parseParameters(parameters: TezosTransactionParameters): Promise<string[]>;
|
|
54
52
|
initParameters(spendParams: Buffer, outputParams: Buffer): Promise<void>;
|
|
55
53
|
getBlockExplorerLinkForTxId(txId: string): Promise<string>;
|
|
56
54
|
getPublicKeyFromMnemonic(mnemonic: string, derivationPath: string, password?: string | undefined): Promise<string>;
|
|
@@ -77,20 +75,22 @@ export declare abstract class TezosSaplingProtocol extends NonExtendedProtocol i
|
|
|
77
75
|
getTransactionStatuses(transactionHash: string[]): Promise<AirGapTransactionStatus[]>;
|
|
78
76
|
estimateMaxTransactionValueFromPublicKey(publicKey: string, recipients: string[], fee?: string | undefined): Promise<string>;
|
|
79
77
|
prepareTransactionFromPublicKey(publicKey: string, recipients: string[], values: string[], fee: string, data?: any): Promise<RawTezosSaplingTransaction>;
|
|
80
|
-
wrapSaplingTransactions(publicKey: string,
|
|
78
|
+
wrapSaplingTransactions(publicKey: string, transactionsOrString: string[] | string, fee: string, overrideFees?: boolean): Promise<RawTezosTransaction>;
|
|
81
79
|
private prepareTezosOperation;
|
|
82
80
|
prepareShieldTransaction(publicKey: string, recipient: string, value: string, fee: string, data?: {
|
|
83
81
|
overrideFees?: boolean;
|
|
84
82
|
}): Promise<RawTezosTransaction>;
|
|
85
83
|
prepareUnshieldTransaction(viewingKey: string, recipient: string, value: string, data?: any): Promise<RawTezosSaplingTransaction>;
|
|
86
84
|
prepareSaplingTransaction(viewingKey: string, recipient: string, value: string, data?: any): Promise<RawTezosSaplingTransaction>;
|
|
85
|
+
private mint;
|
|
86
|
+
private burn;
|
|
87
87
|
private chooseInputs;
|
|
88
|
-
private preparePartialContractCall;
|
|
89
88
|
private createPaymentOutput;
|
|
90
89
|
private createPaybackOutput;
|
|
91
90
|
private createDummyInput;
|
|
92
91
|
private createDummyOutput;
|
|
93
92
|
private getDummyAddress;
|
|
93
|
+
private createAddressBoundData;
|
|
94
94
|
private getAntiReplay;
|
|
95
95
|
broadcastTransaction(rawTransaction: any): Promise<string>;
|
|
96
96
|
signMessage(message: string, keypair: {
|
|
@@ -97,11 +97,13 @@ var bignumber_1 = __importDefault(require("../../../dependencies/src/bignumber.j
|
|
|
97
97
|
var bip39_2_5_0_1 = require("../../../dependencies/src/bip39-2.5.0");
|
|
98
98
|
var errors_1 = require("../../../errors");
|
|
99
99
|
var array_1 = require("../../../utils/array");
|
|
100
|
+
var hex_1 = require("../../../utils/hex");
|
|
100
101
|
var NonExtendedProtocol_1 = require("../../NonExtendedProtocol");
|
|
101
102
|
var TezosContract_1 = require("../contract/TezosContract");
|
|
102
103
|
var TezosAddress_1 = require("../TezosAddress");
|
|
103
104
|
var TezosProtocol_1 = require("../TezosProtocol");
|
|
104
105
|
var TezosProtocolOptions_1 = require("../TezosProtocolOptions");
|
|
106
|
+
var MichelsonAddress_1 = require("../types/michelson/primitives/MichelsonAddress");
|
|
105
107
|
var TezosOperationType_1 = require("../types/TezosOperationType");
|
|
106
108
|
var TezosSaplingNodeClient_1 = require("./node/TezosSaplingNodeClient");
|
|
107
109
|
var TezosSaplingAddress_1 = require("./TezosSaplingAddress");
|
|
@@ -327,80 +329,88 @@ var TezosSaplingProtocol = /** @class */ (function (_super) {
|
|
|
327
329
|
};
|
|
328
330
|
TezosSaplingProtocol.prototype.signWithPrivateKey = function (privateKey, transaction) {
|
|
329
331
|
return __awaiter(this, void 0, void 0, function () {
|
|
330
|
-
var stateTree,
|
|
332
|
+
var stateTree, boundData, forgedTransaction;
|
|
331
333
|
return __generator(this, function (_a) {
|
|
332
334
|
switch (_a.label) {
|
|
333
335
|
case 0: return [4 /*yield*/, this.state.getStateTreeFromStateDiff(transaction.stateDiff)];
|
|
334
336
|
case 1:
|
|
335
337
|
stateTree = _a.sent();
|
|
336
|
-
|
|
338
|
+
boundData = transaction.unshieldTarget && transaction.unshieldTarget.length > 0
|
|
339
|
+
? this.createAddressBoundData(transaction.unshieldTarget)
|
|
340
|
+
: undefined;
|
|
341
|
+
return [4 /*yield*/, this.forger.forgeSaplingTransaction(transaction.ins, transaction.outs, stateTree, this.getAntiReplay(transaction.chainId, transaction.contractAddress), boundData, privateKey)];
|
|
337
342
|
case 2:
|
|
338
343
|
forgedTransaction = _a.sent();
|
|
339
|
-
|
|
340
|
-
return [2 /*return*/, transaction.callParameters.replace(Buffer.from(TezosSaplingProtocol.TRANSACTION_PLACEHOLDER, 'utf-8').toString('hex'), signed)];
|
|
344
|
+
return [2 /*return*/, this.encoder.encodeTransaction(forgedTransaction).toString('hex')];
|
|
341
345
|
}
|
|
342
346
|
});
|
|
343
347
|
});
|
|
344
348
|
};
|
|
345
349
|
TezosSaplingProtocol.prototype.getTransactionDetails = function (transaction, data) {
|
|
346
350
|
return __awaiter(this, void 0, void 0, function () {
|
|
347
|
-
var tx, airGapTxs,
|
|
351
|
+
var tx, airGapTxs, unshieldTarget, from, details, wrappedOperation, _a, _b, _c;
|
|
348
352
|
return __generator(this, function (_d) {
|
|
349
353
|
switch (_d.label) {
|
|
350
354
|
case 0:
|
|
351
355
|
tx = transaction.transaction;
|
|
352
356
|
airGapTxs = [];
|
|
353
|
-
if (!this.isRawTezosSaplingTransaction(tx)) return [3 /*break*/,
|
|
357
|
+
if (!this.isRawTezosSaplingTransaction(tx)) return [3 /*break*/, 2];
|
|
358
|
+
unshieldTarget = tx.unshieldTarget.length > 0 ? tx.unshieldTarget : undefined;
|
|
354
359
|
return [4 /*yield*/, this.getAddressFromPublicKey(transaction.publicKey)];
|
|
355
360
|
case 1:
|
|
356
361
|
from = _d.sent();
|
|
357
|
-
parameters = this.contract.parseParameters(tx.callParameters);
|
|
358
|
-
return [4 /*yield*/, this.parseParameters(parameters)];
|
|
359
|
-
case 2:
|
|
360
|
-
wrappedTransactions = _d.sent();
|
|
361
362
|
details = this.bookkeeper
|
|
362
|
-
.getUnsignedTransactionDetails(from, tx.ins, tx.outs,
|
|
363
|
+
.getUnsignedTransactionDetails(from, tx.ins, tx.outs, unshieldTarget)
|
|
363
364
|
.map(function (details) { return (__assign(__assign({}, details), { extra: __assign(__assign({}, details.extra), { destination: tx.contractAddress, chainId: tx.chainId }), transactionDetails: tx })); });
|
|
364
365
|
airGapTxs.push.apply(airGapTxs, details);
|
|
365
|
-
return [3 /*break*/,
|
|
366
|
-
case
|
|
367
|
-
case
|
|
366
|
+
return [3 /*break*/, 5];
|
|
367
|
+
case 2: return [4 /*yield*/, this.tezosProtocol.unforgeUnsignedTezosWrappedOperation(tx.binaryTransaction)];
|
|
368
|
+
case 3:
|
|
368
369
|
wrappedOperation = _d.sent();
|
|
369
370
|
_b = (_a = airGapTxs.push).apply;
|
|
370
371
|
_c = [airGapTxs];
|
|
371
372
|
return [4 /*yield*/, this.getTransactionDetailsFromWrappedOperation(wrappedOperation, data === null || data === void 0 ? void 0 : data.knownViewingKeys)];
|
|
372
|
-
case
|
|
373
|
+
case 4:
|
|
373
374
|
_b.apply(_a, _c.concat([(_d.sent())]));
|
|
374
|
-
_d.label =
|
|
375
|
-
case
|
|
375
|
+
_d.label = 5;
|
|
376
|
+
case 5: return [2 /*return*/, this.filterOutPaybacks(airGapTxs)];
|
|
376
377
|
}
|
|
377
378
|
});
|
|
378
379
|
});
|
|
379
380
|
};
|
|
380
381
|
TezosSaplingProtocol.prototype.getTransactionDetailsFromSigned = function (transaction, data) {
|
|
381
382
|
return __awaiter(this, void 0, void 0, function () {
|
|
382
|
-
var airGapTxs,
|
|
383
|
+
var airGapTxs, tx, partialDetails, _a, wrappedOperation, _b, _c, _d;
|
|
383
384
|
var _this = this;
|
|
384
|
-
return __generator(this, function (
|
|
385
|
-
switch (
|
|
385
|
+
return __generator(this, function (_e) {
|
|
386
|
+
switch (_e.label) {
|
|
386
387
|
case 0:
|
|
387
388
|
airGapTxs = [];
|
|
388
|
-
|
|
389
|
-
|
|
389
|
+
tx = transaction.transaction;
|
|
390
|
+
if (!(this.contract.areValidParameters(tx) || hex_1.isHex(tx))) return [3 /*break*/, 5];
|
|
391
|
+
if (!this.contract.areValidParameters(tx)) return [3 /*break*/, 2];
|
|
392
|
+
return [4 /*yield*/, this.getPartialDetailsFromContractParameters(tx, data === null || data === void 0 ? void 0 : data.knownViewingKeys)];
|
|
390
393
|
case 1:
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
case 2: return [4 /*yield*/, this.tezosProtocol.unforgeSignedTezosWrappedOperation(transaction.transaction)];
|
|
394
|
+
_a = _e.sent();
|
|
395
|
+
return [3 /*break*/, 4];
|
|
396
|
+
case 2: return [4 /*yield*/, this.bookkeeper.getTransactionsPartialDetails([tx], data === null || data === void 0 ? void 0 : data.knownViewingKeys)];
|
|
395
397
|
case 3:
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
_c = [airGapTxs];
|
|
399
|
-
return [4 /*yield*/, this.getTransactionDetailsFromWrappedOperation(wrappedOperation, data === null || data === void 0 ? void 0 : data.knownViewingKeys)];
|
|
398
|
+
_a = _e.sent();
|
|
399
|
+
_e.label = 4;
|
|
400
400
|
case 4:
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
401
|
+
partialDetails = _a;
|
|
402
|
+
airGapTxs.push.apply(airGapTxs, partialDetails.map(function (partial) { return (__assign({ from: ['Shielded Pool'], to: ['Shielded Pool'], isInbound: false, amount: '0', fee: '0', protocolIdentifier: _this.identifier, network: _this.options.network }, partial)); }));
|
|
403
|
+
return [3 /*break*/, 8];
|
|
404
|
+
case 5: return [4 /*yield*/, this.tezosProtocol.unforgeSignedTezosWrappedOperation(tx)];
|
|
405
|
+
case 6:
|
|
406
|
+
wrappedOperation = _e.sent();
|
|
407
|
+
_c = (_b = airGapTxs.push).apply;
|
|
408
|
+
_d = [airGapTxs];
|
|
409
|
+
return [4 /*yield*/, this.getTransactionDetailsFromWrappedOperation(wrappedOperation, data === null || data === void 0 ? void 0 : data.knownViewingKeys)];
|
|
410
|
+
case 7:
|
|
411
|
+
_c.apply(_b, _d.concat([(_e.sent())]));
|
|
412
|
+
_e.label = 8;
|
|
413
|
+
case 8: return [2 /*return*/, this.filterOutPaybacks(airGapTxs)];
|
|
404
414
|
}
|
|
405
415
|
});
|
|
406
416
|
});
|
|
@@ -438,15 +448,15 @@ var TezosSaplingProtocol = /** @class */ (function (_super) {
|
|
|
438
448
|
TezosSaplingProtocol.prototype.getPartialDetailsFromContractParameters = function (rawOrParsed, knownViewingKeys) {
|
|
439
449
|
if (knownViewingKeys === void 0) { knownViewingKeys = []; }
|
|
440
450
|
return __awaiter(this, void 0, void 0, function () {
|
|
441
|
-
var parameters,
|
|
451
|
+
var parameters, txs;
|
|
442
452
|
return __generator(this, function (_a) {
|
|
443
453
|
switch (_a.label) {
|
|
444
454
|
case 0:
|
|
445
455
|
parameters = typeof rawOrParsed === 'string' ? this.contract.parseParameters(rawOrParsed) : rawOrParsed;
|
|
446
456
|
return [4 /*yield*/, this.parseParameters(parameters)];
|
|
447
457
|
case 1:
|
|
448
|
-
|
|
449
|
-
return [2 /*return*/, this.bookkeeper.
|
|
458
|
+
txs = _a.sent();
|
|
459
|
+
return [2 /*return*/, this.bookkeeper.getTransactionsPartialDetails(txs, knownViewingKeys)];
|
|
450
460
|
}
|
|
451
461
|
});
|
|
452
462
|
});
|
|
@@ -515,19 +525,21 @@ var TezosSaplingProtocol = /** @class */ (function (_super) {
|
|
|
515
525
|
});
|
|
516
526
|
});
|
|
517
527
|
};
|
|
518
|
-
TezosSaplingProtocol.prototype.wrapSaplingTransactions = function (publicKey,
|
|
528
|
+
TezosSaplingProtocol.prototype.wrapSaplingTransactions = function (publicKey, transactionsOrString, fee, overrideFees) {
|
|
519
529
|
if (overrideFees === void 0) { overrideFees = false; }
|
|
520
530
|
return __awaiter(this, void 0, void 0, function () {
|
|
521
|
-
var operations, parameters, contractCalls, tezosWrappedOperation, binaryTx, error_1, rpcErrors, cannotPayStorageFee, balanceTooLowError;
|
|
531
|
+
var operations, parameters, transactions, contractCalls, tezosWrappedOperation, binaryTx, error_1, rpcErrors, cannotPayStorageFee, balanceTooLowError;
|
|
522
532
|
var _this = this;
|
|
523
533
|
return __generator(this, function (_a) {
|
|
524
534
|
switch (_a.label) {
|
|
525
535
|
case 0:
|
|
526
|
-
if (!(typeof
|
|
527
|
-
parameters = this.contract.parseParameters(
|
|
536
|
+
if (!(typeof transactionsOrString === 'string' && this.contract.areValidParameters(transactionsOrString))) return [3 /*break*/, 1];
|
|
537
|
+
parameters = this.contract.parseParameters(transactionsOrString);
|
|
528
538
|
operations = [this.prepareTezosOperation(parameters, fee)];
|
|
529
539
|
return [3 /*break*/, 3];
|
|
530
|
-
case 1:
|
|
540
|
+
case 1:
|
|
541
|
+
transactions = Array.isArray(transactionsOrString) ? transactionsOrString : [transactionsOrString];
|
|
542
|
+
return [4 /*yield*/, this.prepareContractCalls(transactions)];
|
|
531
543
|
case 2:
|
|
532
544
|
contractCalls = _a.sent();
|
|
533
545
|
operations = contractCalls.map(function (contractCall) { var _a; return _this.prepareTezosOperation(contractCall.toJSON(), fee, (_a = contractCall.amount) === null || _a === void 0 ? void 0 : _a.toString()); });
|
|
@@ -573,73 +585,30 @@ var TezosSaplingProtocol = /** @class */ (function (_super) {
|
|
|
573
585
|
};
|
|
574
586
|
TezosSaplingProtocol.prototype.prepareShieldTransaction = function (publicKey, recipient, value, fee, data) {
|
|
575
587
|
return __awaiter(this, void 0, void 0, function () {
|
|
576
|
-
var
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
case 0:
|
|
581
|
-
if (!TezosSaplingAddress_1.TezosSaplingAddress.isZetAddress(recipient)) {
|
|
582
|
-
return [2 /*return*/, Promise.reject("Invalid recipient, expected a 'zet' address, got " + recipient)];
|
|
583
|
-
}
|
|
584
|
-
return [4 /*yield*/, Promise.all([
|
|
585
|
-
this.nodeClient.getSaplingStateDiff(),
|
|
586
|
-
this.nodeClient.getChainId()
|
|
587
|
-
])];
|
|
588
|
+
var encodedTransaction;
|
|
589
|
+
return __generator(this, function (_a) {
|
|
590
|
+
switch (_a.label) {
|
|
591
|
+
case 0: return [4 /*yield*/, this.mint(recipient, value)];
|
|
588
592
|
case 1:
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
return [4 /*yield*/, TezosSaplingAddress_1.TezosSaplingAddress.fromValue(recipient)];
|
|
592
|
-
case 2:
|
|
593
|
-
output = (_b.address = (_c.sent()).getValue(),
|
|
594
|
-
_b.value = value,
|
|
595
|
-
_b.memo = Buffer.alloc(this.options.config.memoSize).toString('hex'),
|
|
596
|
-
_b);
|
|
597
|
-
return [4 /*yield*/, this.state.getStateTreeFromStateDiff(saplingStateDiff, true)];
|
|
598
|
-
case 3:
|
|
599
|
-
stateTree = _c.sent();
|
|
600
|
-
return [4 /*yield*/, this.forger.forgeSaplingTransaction([], [output], stateTree, this.getAntiReplay(chainId))];
|
|
601
|
-
case 4:
|
|
602
|
-
forgedTransaction = _c.sent();
|
|
603
|
-
encodedTransaction = this.encoder.encodeTransaction(forgedTransaction).toString('hex');
|
|
604
|
-
wrappedTransaction = { signed: encodedTransaction };
|
|
605
|
-
return [2 /*return*/, this.wrapSaplingTransactions(publicKey, [wrappedTransaction], fee, data === null || data === void 0 ? void 0 : data.overrideFees)];
|
|
593
|
+
encodedTransaction = _a.sent();
|
|
594
|
+
return [2 /*return*/, this.wrapSaplingTransactions(publicKey, [encodedTransaction], fee, data === null || data === void 0 ? void 0 : data.overrideFees)];
|
|
606
595
|
}
|
|
607
596
|
});
|
|
608
597
|
});
|
|
609
598
|
};
|
|
610
599
|
TezosSaplingProtocol.prototype.prepareUnshieldTransaction = function (viewingKey, recipient, value, data) {
|
|
611
600
|
return __awaiter(this, void 0, void 0, function () {
|
|
612
|
-
var
|
|
613
|
-
return __generator(this, function (
|
|
614
|
-
switch (
|
|
601
|
+
var burnTransaction;
|
|
602
|
+
return __generator(this, function (_a) {
|
|
603
|
+
switch (_a.label) {
|
|
615
604
|
case 0:
|
|
616
605
|
if (!TezosAddress_1.TezosAddress.isTzAddress(recipient)) {
|
|
617
606
|
return [2 /*return*/, Promise.reject("Invalid recpient, expected a 'tz' address, got " + recipient)];
|
|
618
607
|
}
|
|
619
|
-
return [4 /*yield*/,
|
|
620
|
-
this.nodeClient.getSaplingStateDiff(),
|
|
621
|
-
this.nodeClient.getChainId()
|
|
622
|
-
])];
|
|
608
|
+
return [4 /*yield*/, this.burn(viewingKey, value)];
|
|
623
609
|
case 1:
|
|
624
|
-
|
|
625
|
-
return [
|
|
626
|
-
case 2:
|
|
627
|
-
_b = _c.sent(), inputs = _b[0], toSpend = _b[1];
|
|
628
|
-
return [4 /*yield*/, this.getAddressFromPublicKey(viewingKey)];
|
|
629
|
-
case 3:
|
|
630
|
-
address = _c.sent();
|
|
631
|
-
paybackOutput = this.createPaybackOutput(address, toSpend, value);
|
|
632
|
-
return [4 /*yield*/, this.preparePartialContractCall(recipient)];
|
|
633
|
-
case 4:
|
|
634
|
-
contractCall = _c.sent();
|
|
635
|
-
return [2 /*return*/, {
|
|
636
|
-
ins: inputs,
|
|
637
|
-
outs: [paybackOutput].filter(function (output) { return output !== undefined; }),
|
|
638
|
-
contractAddress: this.options.config.contractAddress,
|
|
639
|
-
chainId: chainId,
|
|
640
|
-
stateDiff: stateDiff,
|
|
641
|
-
callParameters: JSON.stringify(contractCall.toJSON())
|
|
642
|
-
}];
|
|
610
|
+
burnTransaction = _a.sent();
|
|
611
|
+
return [2 /*return*/, __assign(__assign({}, burnTransaction), { unshieldTarget: recipient })];
|
|
643
612
|
}
|
|
644
613
|
});
|
|
645
614
|
});
|
|
@@ -647,7 +616,7 @@ var TezosSaplingProtocol = /** @class */ (function (_super) {
|
|
|
647
616
|
TezosSaplingProtocol.prototype.prepareSaplingTransaction = function (viewingKey, recipient, value, data) {
|
|
648
617
|
var _a, _b;
|
|
649
618
|
return __awaiter(this, void 0, void 0, function () {
|
|
650
|
-
var dummyInputsAmount, dummyOutputsAmount, _c, stateDiff, chainId, _d, inputs, toSpend, address, paymentOutput, _e, paybackOutput,
|
|
619
|
+
var dummyInputsAmount, dummyOutputsAmount, _c, stateDiff, chainId, _d, inputs, toSpend, address, paymentOutput, _e, paybackOutput, _f, dummyInputs, dummyOutputs;
|
|
651
620
|
var _this = this;
|
|
652
621
|
return __generator(this, function (_g) {
|
|
653
622
|
switch (_g.label) {
|
|
@@ -674,14 +643,11 @@ var TezosSaplingProtocol = /** @class */ (function (_super) {
|
|
|
674
643
|
case 4:
|
|
675
644
|
paymentOutput = _e.apply(this, [_g.sent(), value]);
|
|
676
645
|
paybackOutput = this.createPaybackOutput(address, toSpend, value);
|
|
677
|
-
return [4 /*yield*/, this.preparePartialContractCall()];
|
|
678
|
-
case 5:
|
|
679
|
-
contractCall = _g.sent();
|
|
680
646
|
return [4 /*yield*/, Promise.all([
|
|
681
647
|
Promise.all(Array.from({ length: dummyInputsAmount }, function (_v, _k) { return _this.createDummyInput(address); })),
|
|
682
648
|
Promise.all(Array.from({ length: dummyOutputsAmount }, function (_v, _k) { return _this.createDummyOutput(); }))
|
|
683
649
|
])];
|
|
684
|
-
case
|
|
650
|
+
case 5:
|
|
685
651
|
_f = _g.sent(), dummyInputs = _f[0], dummyOutputs = _f[1];
|
|
686
652
|
return [2 /*return*/, {
|
|
687
653
|
ins: inputs.concat(dummyInputs),
|
|
@@ -689,7 +655,75 @@ var TezosSaplingProtocol = /** @class */ (function (_super) {
|
|
|
689
655
|
contractAddress: this.options.config.contractAddress,
|
|
690
656
|
chainId: chainId,
|
|
691
657
|
stateDiff: stateDiff,
|
|
692
|
-
|
|
658
|
+
unshieldTarget: ''
|
|
659
|
+
}];
|
|
660
|
+
}
|
|
661
|
+
});
|
|
662
|
+
});
|
|
663
|
+
};
|
|
664
|
+
TezosSaplingProtocol.prototype.mint = function (recipient, value) {
|
|
665
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
666
|
+
var _a, saplingStateDiff, chainId, output, stateTree, forgedTransaction;
|
|
667
|
+
var _b;
|
|
668
|
+
return __generator(this, function (_c) {
|
|
669
|
+
switch (_c.label) {
|
|
670
|
+
case 0:
|
|
671
|
+
if (!TezosSaplingAddress_1.TezosSaplingAddress.isZetAddress(recipient)) {
|
|
672
|
+
return [2 /*return*/, Promise.reject("Invalid recipient, expected a 'zet' address, got " + recipient)];
|
|
673
|
+
}
|
|
674
|
+
return [4 /*yield*/, Promise.all([
|
|
675
|
+
this.nodeClient.getSaplingStateDiff(),
|
|
676
|
+
this.nodeClient.getChainId()
|
|
677
|
+
])];
|
|
678
|
+
case 1:
|
|
679
|
+
_a = _c.sent(), saplingStateDiff = _a[0], chainId = _a[1];
|
|
680
|
+
_b = {};
|
|
681
|
+
return [4 /*yield*/, TezosSaplingAddress_1.TezosSaplingAddress.fromValue(recipient)];
|
|
682
|
+
case 2:
|
|
683
|
+
output = (_b.address = (_c.sent()).getValue(),
|
|
684
|
+
_b.value = value,
|
|
685
|
+
_b.memo = Buffer.alloc(this.options.config.memoSize).toString('hex'),
|
|
686
|
+
_b);
|
|
687
|
+
return [4 /*yield*/, this.state.getStateTreeFromStateDiff(saplingStateDiff, true)];
|
|
688
|
+
case 3:
|
|
689
|
+
stateTree = _c.sent();
|
|
690
|
+
return [4 /*yield*/, this.forger.forgeSaplingTransaction([], [output], stateTree, this.getAntiReplay(chainId))];
|
|
691
|
+
case 4:
|
|
692
|
+
forgedTransaction = _c.sent();
|
|
693
|
+
return [2 /*return*/, this.encoder.encodeTransaction(forgedTransaction).toString('hex')];
|
|
694
|
+
}
|
|
695
|
+
});
|
|
696
|
+
});
|
|
697
|
+
};
|
|
698
|
+
TezosSaplingProtocol.prototype.burn = function (viewingKey, value) {
|
|
699
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
700
|
+
var _a, stateDiff, chainId, _b, inputs, toSpend, paybackOutput;
|
|
701
|
+
var _c;
|
|
702
|
+
return __generator(this, function (_d) {
|
|
703
|
+
switch (_d.label) {
|
|
704
|
+
case 0: return [4 /*yield*/, Promise.all([
|
|
705
|
+
this.nodeClient.getSaplingStateDiff(),
|
|
706
|
+
this.nodeClient.getChainId()
|
|
707
|
+
])];
|
|
708
|
+
case 1:
|
|
709
|
+
_a = _d.sent(), stateDiff = _a[0], chainId = _a[1];
|
|
710
|
+
return [4 /*yield*/, this.chooseInputs(viewingKey, stateDiff.commitments_and_ciphertexts, stateDiff.nullifiers, value)];
|
|
711
|
+
case 2:
|
|
712
|
+
_b = _d.sent(), inputs = _b[0], toSpend = _b[1];
|
|
713
|
+
_c = {};
|
|
714
|
+
return [4 /*yield*/, this.getAddressFromPublicKey(viewingKey)];
|
|
715
|
+
case 3:
|
|
716
|
+
paybackOutput = (_c.address = (_d.sent()).getValue(),
|
|
717
|
+
_c.value = toSpend.minus(value).toString(),
|
|
718
|
+
_c.memo = Buffer.alloc(this.options.config.memoSize).toString('hex'),
|
|
719
|
+
_c);
|
|
720
|
+
return [2 /*return*/, {
|
|
721
|
+
ins: inputs,
|
|
722
|
+
outs: [paybackOutput],
|
|
723
|
+
contractAddress: this.options.config.contractAddress,
|
|
724
|
+
chainId: chainId,
|
|
725
|
+
stateDiff: stateDiff,
|
|
726
|
+
unshieldTarget: ''
|
|
693
727
|
}];
|
|
694
728
|
}
|
|
695
729
|
});
|
|
@@ -722,35 +756,6 @@ var TezosSaplingProtocol = /** @class */ (function (_super) {
|
|
|
722
756
|
});
|
|
723
757
|
});
|
|
724
758
|
};
|
|
725
|
-
TezosSaplingProtocol.prototype.preparePartialContractCall = function (unshieldTarget) {
|
|
726
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
727
|
-
var wrappedTransaction, _a, contractCalls;
|
|
728
|
-
var _b;
|
|
729
|
-
return __generator(this, function (_c) {
|
|
730
|
-
switch (_c.label) {
|
|
731
|
-
case 0:
|
|
732
|
-
_b = {
|
|
733
|
-
signed: Buffer.from(TezosSaplingProtocol.TRANSACTION_PLACEHOLDER, 'utf-8')
|
|
734
|
-
};
|
|
735
|
-
if (!(unshieldTarget !== undefined)) return [3 /*break*/, 2];
|
|
736
|
-
return [4 /*yield*/, TezosAddress_1.TezosAddress.fromValue(unshieldTarget)];
|
|
737
|
-
case 1:
|
|
738
|
-
_a = _c.sent();
|
|
739
|
-
return [3 /*break*/, 3];
|
|
740
|
-
case 2:
|
|
741
|
-
_a = undefined;
|
|
742
|
-
_c.label = 3;
|
|
743
|
-
case 3:
|
|
744
|
-
wrappedTransaction = (_b.unshieldTarget = _a,
|
|
745
|
-
_b);
|
|
746
|
-
return [4 /*yield*/, this.prepareContractCalls([wrappedTransaction])];
|
|
747
|
-
case 4:
|
|
748
|
-
contractCalls = _c.sent();
|
|
749
|
-
return [2 /*return*/, contractCalls[0]];
|
|
750
|
-
}
|
|
751
|
-
});
|
|
752
|
-
});
|
|
753
|
-
};
|
|
754
759
|
TezosSaplingProtocol.prototype.createPaymentOutput = function (address, value, memo) {
|
|
755
760
|
if (memo === void 0) { memo = Buffer.alloc(this.options.config.memoSize); }
|
|
756
761
|
return {
|
|
@@ -826,6 +831,10 @@ var TezosSaplingProtocol = /** @class */ (function (_super) {
|
|
|
826
831
|
});
|
|
827
832
|
});
|
|
828
833
|
};
|
|
834
|
+
TezosSaplingProtocol.prototype.createAddressBoundData = function (address) {
|
|
835
|
+
var michelson = MichelsonAddress_1.MichelsonAddress.from(__1.TezosUtils.encodeTzAddress(address));
|
|
836
|
+
return __1.TezosUtils.packMichelsonType(michelson);
|
|
837
|
+
};
|
|
829
838
|
TezosSaplingProtocol.prototype.getAntiReplay = function (chainId, contractAddress) {
|
|
830
839
|
return (contractAddress !== null && contractAddress !== void 0 ? contractAddress : this.options.config.contractAddress) + chainId;
|
|
831
840
|
};
|
|
@@ -926,10 +935,8 @@ var TezosSaplingProtocol = /** @class */ (function (_super) {
|
|
|
926
935
|
'outs' in transaction &&
|
|
927
936
|
'contractAddress' in transaction &&
|
|
928
937
|
'chainId' in transaction &&
|
|
929
|
-
'stateDiff' in transaction
|
|
930
|
-
'callParameters' in transaction);
|
|
938
|
+
'stateDiff' in transaction);
|
|
931
939
|
};
|
|
932
|
-
TezosSaplingProtocol.TRANSACTION_PLACEHOLDER = 'TRANSACTION_PLACEHOLDER';
|
|
933
940
|
return TezosSaplingProtocol;
|
|
934
941
|
}(NonExtendedProtocol_1.NonExtendedProtocol));
|
|
935
942
|
exports.TezosSaplingProtocol = TezosSaplingProtocol;
|