@airgap/stellar 0.13.41-beta.6 → 0.13.41-beta.7

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@airgap/stellar",
3
- "version": "0.13.41-beta.6",
3
+ "version": "0.13.41-beta.7",
4
4
  "description": "The @airgap/aeternity is an Aeternity implementation of the ICoinProtocol interface from @airgap/coinlib-core.",
5
5
  "keywords": [
6
6
  "airgap",
@@ -30,9 +30,9 @@
30
30
  },
31
31
  "author": "Papers AG <contact@papers.ch> (https://papers.ch)",
32
32
  "dependencies": {
33
- "@airgap/coinlib-core": "^0.13.41-beta.6",
34
- "@airgap/module-kit": "^0.13.41-beta.6",
35
- "@airgap/serializer": "^0.13.41-beta.6",
33
+ "@airgap/coinlib-core": "^0.13.41-beta.7",
34
+ "@airgap/module-kit": "^0.13.41-beta.7",
35
+ "@airgap/serializer": "^0.13.41-beta.7",
36
36
  "@stellar/stellar-sdk": "^13.3.0"
37
37
  },
38
38
  "localDependencies": {},
@@ -8,6 +8,9 @@ var StellarAddress = /** @class */ (function () {
8
8
  this.value = value;
9
9
  }
10
10
  StellarAddress.from = function (publicKey) {
11
+ if (stellar_sdk_1.StrKey.isValidEd25519PublicKey(publicKey.value)) {
12
+ return new StellarAddress(publicKey.value);
13
+ }
11
14
  var rawPublicKey = Buffer.from(publicKey.value, 'hex');
12
15
  var stellarAddress = stellar_sdk_1.StrKey.encodeEd25519PublicKey(rawPublicKey);
13
16
  return new StellarAddress(stellarAddress);
@@ -1 +1 @@
1
- {"version":3,"file":"StellarAddress.js","sourceRoot":"","sources":["../../../src/v1/data/StellarAddress.ts"],"names":[],"mappings":";;;AAAA,iDAA4D;AAE5D,oDAA6C;AAE7C;IACE,wBAAqC,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;IAExC,mBAAI,GAAlB,UAAmB,SAAoB;QACrC,IAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAExD,IAAM,cAAc,GAAG,oBAAM,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAA;QAClE,OAAO,IAAI,cAAc,CAAC,cAAc,CAAC,CAAA;IAC3C,CAAC;IAEM,iCAAQ,GAAf;QACE,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAEM,oCAAW,GAAlB;QACE,OAAO,IAAA,yBAAY,EAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;IACH,qBAAC;AAAD,CAAC,AAjBD,IAiBC;AAjBY,wCAAc"}
1
+ {"version":3,"file":"StellarAddress.js","sourceRoot":"","sources":["../../../src/v1/data/StellarAddress.ts"],"names":[],"mappings":";;;AAAA,iDAA4D;AAE5D,oDAA6C;AAE7C;IACE,wBAAqC,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;IAExC,mBAAI,GAAlB,UAAmB,SAAoB;QACrC,IAAI,oBAAM,CAAC,uBAAuB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACnD,OAAO,IAAI,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;SAC3C;QAED,IAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAExD,IAAM,cAAc,GAAG,oBAAM,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAA;QAElE,OAAO,IAAI,cAAc,CAAC,cAAc,CAAC,CAAA;IAC3C,CAAC;IAEM,iCAAQ,GAAf;QACE,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAEM,oCAAW,GAAlB;QACE,OAAO,IAAA,yBAAY,EAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;IACH,qBAAC;AAAD,CAAC,AAtBD,IAsBC;AAtBY,wCAAc"}
package/v1/index.d.ts CHANGED
@@ -5,10 +5,10 @@ import { StellarProtocol, createStellarProtocol, createStellarProtocolOptions }
5
5
  import { StellarTransactionSignRequest } from './serializer/v3/schemas/definitions/transaction-sign-request-stellar';
6
6
  import { StellarTransactionSignResponse } from './serializer/v3/schemas/definitions/transaction-sign-response-stellar';
7
7
  import { StellarCryptoConfiguration } from './types/crypto';
8
- import { StellarAssetMetadata, StellarProtocolNetwork, StellarProtocolOptions, StellarUnits } from './types/protocol';
8
+ import { StellarAssetMetadata, StellarProtocolNetwork, StellarProtocolOptions, StellarSigner, StellarUnits } from './types/protocol';
9
9
  import { StellarSignedTransaction, StellarUnsignedTransaction } from './types/transaction';
10
10
  export { StellarModule };
11
11
  export { StellarProtocol, createStellarProtocol, createStellarProtocolOptions, createStellarAssetProtocol, StellarAssetProtocol };
12
12
  export { StellarBlockExplorer };
13
- export { StellarCryptoConfiguration, StellarUnits, StellarProtocolOptions, StellarProtocolNetwork, StellarUnsignedTransaction, StellarSignedTransaction, StellarAssetMetadata };
13
+ export { StellarCryptoConfiguration, StellarUnits, StellarProtocolOptions, StellarProtocolNetwork, StellarUnsignedTransaction, StellarSignedTransaction, StellarAssetMetadata, StellarSigner };
14
14
  export { StellarTransactionSignRequest, StellarTransactionSignResponse };
@@ -1,7 +1,7 @@
1
1
  import { Address, AirGapProtocol, AirGapTransaction, Balance, CryptoDerivative, FeeDefaults, KeyPair, ProtocolMetadata, PublicKey, RecursivePartial, SecretKey, TransactionFullConfiguration, TransactionDetails, AirGapTransactionsWithCursor, Amount, TransactionSimpleConfiguration, WalletConnectRequest } from '@airgap/module-kit';
2
2
  import { Transaction, Horizon } from '@stellar/stellar-sdk';
3
3
  import { StellarCryptoConfiguration } from '../types/crypto';
4
- import { StellarProtocolNetwork, StellarProtocolOptions, StellarUnits } from '../types/protocol';
4
+ import { StellarProtocolNetwork, StellarProtocolOptions, StellarSigner, StellarThresholds, StellarUnits } from '../types/protocol';
5
5
  import { StellarSignedTransaction, StellarTransactionCursor, StellarUnsignedTransaction } from '../types/transaction';
6
6
  export interface StellarProtocol extends AirGapProtocol<{
7
7
  AddressResult: Address;
@@ -12,15 +12,22 @@ export interface StellarProtocol extends AirGapProtocol<{
12
12
  Units: StellarUnits;
13
13
  FeeEstimation: FeeDefaults<StellarUnits>;
14
14
  UnsignedTransaction: StellarUnsignedTransaction;
15
- }, 'FetchDataForAddress', 'WalletConnect'> {
15
+ }, 'FetchDataForAddress', 'WalletConnect', 'Multisig'> {
16
16
  server: Horizon.Server;
17
17
  options: StellarProtocolOptions;
18
18
  getDetailsFromEncodedGenericTransaction(transaction: string): Promise<Transaction>;
19
+ getSigners(publicKey: PublicKey): Promise<StellarSigner[]>;
20
+ adjustSigner(masterPublicky: PublicKey, signerPublicKey: PublicKey, weight: number, lowThreshold: number, medThreshold: number, highThreshold: number): Promise<StellarUnsignedTransaction>;
21
+ getThresholds(publicKey: PublicKey): Promise<StellarThresholds>;
19
22
  }
20
23
  export declare class StellarProtocolImpl implements StellarProtocol {
21
24
  readonly options: StellarProtocolOptions;
22
25
  readonly server: Horizon.Server;
23
26
  constructor(options?: RecursivePartial<StellarProtocolOptions>);
27
+ getMultisigStatus(publicKey: PublicKey): Promise<boolean>;
28
+ getSigners(publicKey: PublicKey): Promise<StellarSigner[]>;
29
+ getThresholds(publicKey: PublicKey): Promise<StellarThresholds>;
30
+ adjustSigner(masterPublicky: PublicKey, signerPublicKey: PublicKey, weight: number, lowThreshold: number, medThreshold: number, highThreshold: number): Promise<StellarUnsignedTransaction>;
24
31
  getTransactionsForPublicKey(publicKey: PublicKey, limit: number, cursor?: StellarTransactionCursor | undefined): Promise<AirGapTransactionsWithCursor<StellarTransactionCursor, StellarUnits>>;
25
32
  getTransactionsForAddress(address: Address, limit: number, cursor?: StellarTransactionCursor | undefined): Promise<AirGapTransactionsWithCursor<StellarTransactionCursor, StellarUnits>>;
26
33
  getTransactionMaxAmountWithPublicKey(publicKey: PublicKey, to: Address[], configuration?: TransactionFullConfiguration<StellarUnits>): Promise<Amount<StellarUnits>>;
@@ -62,43 +62,6 @@ var StellarAddress_1 = require("../data/StellarAddress");
62
62
  var StellarProtocolImpl = /** @class */ (function () {
63
63
  function StellarProtocolImpl(options) {
64
64
  if (options === void 0) { options = {}; }
65
- // public async signMessageWithKeyPair(message: string, keyPair: KeyPair): Promise<Signature> {
66
- // const secretValue = keyPair.secretKey.value
67
- // const privateKeyHex =
68
- // keyPair.secretKey.format === 'hex' ? secretValue : Buffer.from(StrKey.decodeEd25519SecretSeed(secretValue)).toString('hex')
69
- // const stellarFormat = StrKey.isValidEd25519SecretSeed(secretValue)
70
- // if (!stellarFormat && !isHex(secretValue)) {
71
- // throw new ConditionViolationError(Domain.STELLAR, 'Invalid private key format.')
72
- // }
73
- // const signatureHex = await this.cryptoClient.signMessage(message, { privateKey: privateKeyHex })
74
- // return newSignature(signatureHex, 'hex')
75
- // }
76
- // public async decryptAsymmetricWithKeyPair(payload: string, keyPair: KeyPair | ExtendedKeyPair): Promise<string> {
77
- // if (keyPair.secretKey.format !== 'hex') {
78
- // throw new ConditionViolationError(Domain.STELLAR, 'Secret key is of an unexpected format.')
79
- // }
80
- // if (keyPair.publicKey.type !== 'pub') {
81
- // throw new ConditionViolationError(Domain.STELLAR, 'Public key must be of type "pub"')
82
- // }
83
- // const hexPublicKey = convertPublicKey(keyPair.publicKey, 'hex')
84
- // return this.cryptoClient.decryptAsymmetric(payload, { publicKey: hexPublicKey.value, privateKey: keyPair.secretKey.value })
85
- // }
86
- // public async encryptAsymmetricWithPublicKey(payload: string, publicKey: PublicKey): Promise<string> {
87
- // const hexPublicKey: PublicKey = convertPublicKey(publicKey, 'hex')
88
- // return this.cryptoClient.encryptAsymmetric(payload, hexPublicKey.value)
89
- // }
90
- // encryptAESWithSecretKey(payload: string, secretKey: SecretKey): Promise<string> {
91
- // if (secretKey.format !== 'hex') {
92
- // throw new ConditionViolationError(Domain.STELLAR, 'Secret key is of an unexpected format.')
93
- // }
94
- // return this.cryptoClient.encryptAES(payload, secretKey.value)
95
- // }
96
- // public async decryptAESWithSecretKey(payload: string, secretKey: SecretKey): Promise<string> {
97
- // if (secretKey.format !== 'hex') {
98
- // throw new ConditionViolationError(Domain.STELLAR, 'Secret key is of an unexpected format.')
99
- // }
100
- // return this.cryptoClient.decryptAES(payload, secretKey.value)
101
- // }
102
65
  this.units = {
103
66
  XLM: {
104
67
  symbol: { value: 'XLM', market: 'xlm' },
@@ -142,17 +105,135 @@ var StellarProtocolImpl = /** @class */ (function () {
142
105
  }
143
106
  }
144
107
  };
145
- // public async verifyMessageWithPublicKey(message: string, signature: Signature, publicKey: PublicKey): Promise<boolean> {
146
- // return this.cryptoClient.verifyMessage(message, signature.value, publicKey.value)
147
- // }
148
- // Offline methods
149
108
  this.cryptoConfiguration = {
150
109
  algorithm: 'ed25519'
151
110
  };
152
111
  this.options = createStellarProtocolOptions(options.network);
153
112
  this.server = new stellar_sdk_1.Horizon.Server(this.options.network.rpcUrl);
154
- // this.cryptoClient = new StellarCryptoClient()
155
113
  }
114
+ StellarProtocolImpl.prototype.getMultisigStatus = function (publicKey) {
115
+ return __awaiter(this, void 0, void 0, function () {
116
+ var address, account, error_1;
117
+ return __generator(this, function (_a) {
118
+ switch (_a.label) {
119
+ case 0: return [4 /*yield*/, this.getAddressFromPublicKey(publicKey)];
120
+ case 1:
121
+ address = _a.sent();
122
+ _a.label = 2;
123
+ case 2:
124
+ _a.trys.push([2, 4, , 5]);
125
+ return [4 /*yield*/, this.server.loadAccount(address)];
126
+ case 3:
127
+ account = _a.sent();
128
+ return [2 /*return*/, account.signers.length > 1];
129
+ case 4:
130
+ error_1 = _a.sent();
131
+ return [2 /*return*/, false];
132
+ case 5: return [2 /*return*/];
133
+ }
134
+ });
135
+ });
136
+ };
137
+ StellarProtocolImpl.prototype.getSigners = function (publicKey) {
138
+ return __awaiter(this, void 0, void 0, function () {
139
+ var address, account, error_2;
140
+ return __generator(this, function (_a) {
141
+ switch (_a.label) {
142
+ case 0: return [4 /*yield*/, this.getAddressFromPublicKey(publicKey)];
143
+ case 1:
144
+ address = _a.sent();
145
+ _a.label = 2;
146
+ case 2:
147
+ _a.trys.push([2, 4, , 5]);
148
+ return [4 /*yield*/, this.server.loadAccount(address)];
149
+ case 3:
150
+ account = _a.sent();
151
+ return [2 /*return*/, account.signers];
152
+ case 4:
153
+ error_2 = _a.sent();
154
+ throw new errors_1.NetworkError(coinlib_core_1.Domain.STELLAR, error_2);
155
+ case 5: return [2 /*return*/];
156
+ }
157
+ });
158
+ });
159
+ };
160
+ StellarProtocolImpl.prototype.getThresholds = function (publicKey) {
161
+ return __awaiter(this, void 0, void 0, function () {
162
+ var address, account, error_3;
163
+ return __generator(this, function (_a) {
164
+ switch (_a.label) {
165
+ case 0: return [4 /*yield*/, this.getAddressFromPublicKey(publicKey)];
166
+ case 1:
167
+ address = _a.sent();
168
+ _a.label = 2;
169
+ case 2:
170
+ _a.trys.push([2, 4, , 5]);
171
+ return [4 /*yield*/, this.server.loadAccount(address)];
172
+ case 3:
173
+ account = _a.sent();
174
+ return [2 /*return*/, account.thresholds];
175
+ case 4:
176
+ error_3 = _a.sent();
177
+ throw new errors_1.NetworkError(coinlib_core_1.Domain.STELLAR, error_3);
178
+ case 5: return [2 /*return*/];
179
+ }
180
+ });
181
+ });
182
+ };
183
+ StellarProtocolImpl.prototype.adjustSigner = function (masterPublicky, signerPublicKey, weight, lowThreshold, medThreshold, highThreshold) {
184
+ return __awaiter(this, void 0, void 0, function () {
185
+ var masterAddress, signerAddress, account, signers, txBuilder, masterWeight;
186
+ return __generator(this, function (_a) {
187
+ switch (_a.label) {
188
+ case 0: return [4 /*yield*/, this.getAddressFromPublicKey(masterPublicky)];
189
+ case 1:
190
+ masterAddress = _a.sent();
191
+ return [4 /*yield*/, this.getAddressFromPublicKey(signerPublicKey)];
192
+ case 2:
193
+ signerAddress = _a.sent();
194
+ return [4 /*yield*/, this.server.loadAccount(masterAddress)];
195
+ case 3:
196
+ account = _a.sent();
197
+ signers = account.signers;
198
+ txBuilder = new stellar_sdk_1.TransactionBuilder(account, {
199
+ fee: stellar_sdk_1.BASE_FEE,
200
+ networkPassphrase: stellar_sdk_1.Networks.PUBLIC
201
+ });
202
+ if (signers.length === 1) {
203
+ masterWeight = weight;
204
+ txBuilder
205
+ .addOperation(stellar_sdk_1.Operation.setOptions({
206
+ masterWeight: masterWeight,
207
+ lowThreshold: lowThreshold,
208
+ medThreshold: medThreshold,
209
+ highThreshold: highThreshold,
210
+ signer: {
211
+ ed25519PublicKey: signerAddress,
212
+ weight: weight
213
+ }
214
+ }))
215
+ .setTimeout(600);
216
+ }
217
+ else {
218
+ txBuilder
219
+ .addOperation(stellar_sdk_1.Operation.setOptions({
220
+ lowThreshold: lowThreshold,
221
+ medThreshold: medThreshold,
222
+ highThreshold: highThreshold,
223
+ signer: {
224
+ ed25519PublicKey: signerAddress,
225
+ weight: weight
226
+ }
227
+ }))
228
+ .setTimeout(600);
229
+ }
230
+ return [2 /*return*/, (0, module_kit_1.newUnsignedTransaction)({
231
+ transaction: txBuilder.build().toXDR()
232
+ })];
233
+ }
234
+ });
235
+ });
236
+ };
156
237
  StellarProtocolImpl.prototype.getTransactionsForPublicKey = function (publicKey, limit, cursor) {
157
238
  return __awaiter(this, void 0, void 0, function () {
158
239
  var address;
@@ -169,7 +250,7 @@ var StellarProtocolImpl = /** @class */ (function () {
169
250
  StellarProtocolImpl.prototype.getTransactionsForAddress = function (address, limit, cursor) {
170
251
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
171
252
  return __awaiter(this, void 0, void 0, function () {
172
- var endpoint, url, response, data, paymentTransactions, transactions, error_1;
253
+ var endpoint, url, response, data, paymentTransactions, transactions, error_4;
173
254
  var _this = this;
174
255
  return __generator(this, function (_l) {
175
256
  switch (_l.label) {
@@ -183,10 +264,12 @@ var StellarProtocolImpl = /** @class */ (function () {
183
264
  data = response.data;
184
265
  paymentTransactions = (_c = (_b = data._embedded) === null || _b === void 0 ? void 0 : _b.records) !== null && _c !== void 0 ? _c : [];
185
266
  transactions = paymentTransactions
186
- .filter(function (tx) { return (tx.type === 'payment' && tx.asset_type === 'native') || tx.type === 'create_account' || tx.type === undefined; })
267
+ .filter(function (tx) {
268
+ return (tx.type === protocol_1.StellarTransactionType.PAYMENT && tx.asset_type === protocol_1.StellarAssetType.NATIVE) || tx.type === 'create_account';
269
+ })
187
270
  .map(function (tx) {
188
271
  var txData = tx.transaction;
189
- var isPayment = tx.type === 'payment' || tx.type === undefined;
272
+ var isPayment = tx.type === protocol_1.StellarTransactionType.PAYMENT;
190
273
  var txAmount = isPayment ? tx.amount : tx.starting_balance;
191
274
  var amount = new bignumber_1.default(txAmount).multipliedBy(1e7).toString();
192
275
  var from = isPayment ? tx.from : tx.funder;
@@ -216,8 +299,8 @@ var StellarProtocolImpl = /** @class */ (function () {
216
299
  }
217
300
  }];
218
301
  case 2:
219
- error_1 = _l.sent();
220
- if (((_k = error_1.response) === null || _k === void 0 ? void 0 : _k.status) === 404) {
302
+ error_4 = _l.sent();
303
+ if (((_k = error_4.response) === null || _k === void 0 ? void 0 : _k.status) === 404) {
221
304
  return [2 /*return*/, {
222
305
  transactions: [],
223
306
  cursor: {
@@ -226,7 +309,7 @@ var StellarProtocolImpl = /** @class */ (function () {
226
309
  }
227
310
  }];
228
311
  }
229
- throw new errors_1.NetworkError(coinlib_core_1.Domain.STELLAR, error_1);
312
+ throw new errors_1.NetworkError(coinlib_core_1.Domain.STELLAR, error_4);
230
313
  case 3: return [2 /*return*/];
231
314
  }
232
315
  });
@@ -234,7 +317,7 @@ var StellarProtocolImpl = /** @class */ (function () {
234
317
  };
235
318
  StellarProtocolImpl.prototype.getTransactionMaxAmountWithPublicKey = function (publicKey, to, configuration) {
236
319
  return __awaiter(this, void 0, void 0, function () {
237
- var balance, balanceBn, fee, amountWithoutFees, error_2;
320
+ var balance, balanceBn, fee, amountWithoutFees, error_5;
238
321
  return __generator(this, function (_a) {
239
322
  switch (_a.label) {
240
323
  case 0:
@@ -256,8 +339,8 @@ var StellarProtocolImpl = /** @class */ (function () {
256
339
  amountWithoutFees = balanceBn.minus(fee);
257
340
  return [2 /*return*/, (0, module_kit_1.newAmount)(amountWithoutFees, 'blockchain')];
258
341
  case 2:
259
- error_2 = _a.sent();
260
- throw new errors_1.NetworkError(coinlib_core_1.Domain.STELLAR, error_2);
342
+ error_5 = _a.sent();
343
+ throw new errors_1.NetworkError(coinlib_core_1.Domain.STELLAR, error_5);
261
344
  case 3: return [2 /*return*/];
262
345
  }
263
346
  });
@@ -289,7 +372,6 @@ var StellarProtocolImpl = /** @class */ (function () {
289
372
  return __generator(this, function (_a) {
290
373
  switch (transaction.type) {
291
374
  case 'signed':
292
- return [2 /*return*/, this.getDetailsFromEncodedTransaction(transaction.transaction, _publicKey)];
293
375
  case 'unsigned':
294
376
  return [2 /*return*/, this.getDetailsFromEncodedTransaction(transaction.transaction, _publicKey)];
295
377
  default:
@@ -308,14 +390,14 @@ var StellarProtocolImpl = /** @class */ (function () {
308
390
  });
309
391
  };
310
392
  StellarProtocolImpl.prototype.getDetailsFromEncodedTransaction = function (transaction, publicKey) {
311
- var _a, _b, _c;
393
+ var _a, _b, _c, _d;
312
394
  return __awaiter(this, void 0, void 0, function () {
313
- var transactions, tx, _i, _d, txDetails, amount, op, to, fee, isInbound, type, uiAlerts, asetType, cont, contractAddress, i, arg, memo;
314
- return __generator(this, function (_e) {
395
+ var transactions, tx, _i, _e, txDetails, amount, op, to, fee, isInbound, type, uiAlerts, extra, asetType, asetType, cont, contractAddress, sendAssetIsNative, sendAssetIsNative, signer, descriptionParts, memo;
396
+ return __generator(this, function (_f) {
315
397
  transactions = [];
316
398
  tx = stellar_sdk_1.TransactionBuilder.fromXDR(transaction, stellar_sdk_1.Networks.PUBLIC);
317
- for (_i = 0, _d = tx.operations; _i < _d.length; _i++) {
318
- txDetails = _d[_i];
399
+ for (_i = 0, _e = tx.operations; _i < _e.length; _i++) {
400
+ txDetails = _e[_i];
319
401
  amount = void 0;
320
402
  op = void 0;
321
403
  to = void 0;
@@ -323,29 +405,52 @@ var StellarProtocolImpl = /** @class */ (function () {
323
405
  isInbound = void 0;
324
406
  type = void 0;
325
407
  uiAlerts = [];
408
+ extra = void 0;
326
409
  if (txDetails.type === protocol_1.StellarTransactionType.PAYMENT) {
327
410
  op = txDetails;
328
- amount = new bignumber_1.default(op.amount).multipliedBy(1e7).toString();
411
+ if (op.asset.code === protocol_1.StellarAssetType.XLM) {
412
+ amount = new bignumber_1.default(op.amount).multipliedBy(1e7).toString();
413
+ }
414
+ else {
415
+ uiAlerts.push({
416
+ type: 'warning',
417
+ title: { value: protocol_1.StellarTransactionType.PAYMENT, type: 'plain' },
418
+ description: {
419
+ value: "".concat(op.amount, " ").concat(op.asset.code, " will be deducted from the source wallet"),
420
+ type: 'plain'
421
+ }
422
+ });
423
+ amount = new bignumber_1.default(0).multipliedBy(1e7).toString();
424
+ }
329
425
  fee = tx.fee;
330
- to = op.destination;
426
+ to = [op.destination];
331
427
  type = protocol_1.StellarTransactionType.PAYMENT;
332
- isInbound = to.toLowerCase() === publicKey.value.toLowerCase();
428
+ isInbound = to[0].toLowerCase() === publicKey.value.toLowerCase();
333
429
  }
334
430
  else if (txDetails.type === protocol_1.StellarTransactionType.CREATE_ACCOUNT) {
335
431
  op = txDetails;
336
432
  amount = new bignumber_1.default(op.startingBalance).multipliedBy(1e7).toString();
337
- to = op.destination;
433
+ to = [op.destination];
338
434
  fee = tx.fee;
339
- isInbound = to.toLowerCase() === publicKey.value.toLowerCase();
435
+ isInbound = to[0].toLowerCase() === publicKey.value.toLowerCase();
340
436
  type = protocol_1.StellarTransactionType.CREATE_ACCOUNT;
341
437
  }
342
438
  else if (txDetails.type === protocol_1.StellarTransactionType.CHANGE_TRUST) {
343
439
  op = txDetails;
344
440
  amount = new bignumber_1.default(0).toString();
345
- asetType = op.line;
346
- to = asetType.getIssuer();
441
+ if (op.line instanceof stellar_sdk_1.Asset) {
442
+ asetType = op.line;
443
+ to = [asetType.getIssuer()];
444
+ }
445
+ else if (op.line instanceof stellar_sdk_1.LiquidityPoolAsset) {
446
+ asetType = op.line;
447
+ to = [(_a = asetType.assetA.getIssuer()) !== null && _a !== void 0 ? _a : protocol_1.StellarAssetType.NATIVE, (_b = asetType.assetB.getIssuer()) !== null && _b !== void 0 ? _b : protocol_1.StellarAssetType.NATIVE];
448
+ }
449
+ else {
450
+ to = [tx.source];
451
+ }
347
452
  fee = new bignumber_1.default(tx.fee).dividedBy(tx.operations.length).toString();
348
- isInbound = to.toLowerCase() === publicKey.value.toLowerCase();
453
+ isInbound = false;
349
454
  type = protocol_1.StellarTransactionType.CHANGE_TRUST;
350
455
  }
351
456
  else if (txDetails.type === protocol_1.StellarTransactionType.INOKE_HOST_FUNCTION) {
@@ -357,28 +462,18 @@ var StellarProtocolImpl = /** @class */ (function () {
357
462
  try {
358
463
  Buffer.from(cont.contractAddress().value(), 'hex');
359
464
  contractAddress = stellar_sdk_1.StrKey.encodeContract(Buffer.from(cont.contractAddress().value(), 'hex'));
360
- to = contractAddress;
465
+ to = [contractAddress];
361
466
  }
362
467
  catch (error) {
363
- to = tx.source;
364
- }
365
- try {
366
- for (i = 0; i < (cont === null || cont === void 0 ? void 0 : cont.args().length); i++) {
367
- arg = cont.args()[i].value();
368
- if (arg && typeof arg.lo === 'function') {
369
- amount = arg.lo().toString();
370
- amount = new bignumber_1.default((_a = arg.lo().toString()) !== null && _a !== void 0 ? _a : '0').toString();
371
- break;
372
- }
373
- }
468
+ to = [tx.source];
374
469
  }
375
- catch (error) { }
376
470
  type = protocol_1.StellarTransactionType.INOKE_HOST_FUNCTION;
471
+ extra = { displayFromTo: false };
377
472
  uiAlerts.push({
378
473
  type: 'warning',
379
474
  title: { value: protocol_1.StellarTransactionType.INOKE_HOST_FUNCTION, type: 'plain' },
380
475
  description: {
381
- value: "Review carefully \u2014 the displayed amount or Asset may be incorrect due to decoding issues. This does not affect the transaction.",
476
+ value: "Transaction ".concat(txDetails.type, " type was not decoded. Please understand what you are signing before proceeding."),
382
477
  type: 'plain'
383
478
  }
384
479
  });
@@ -386,37 +481,140 @@ var StellarProtocolImpl = /** @class */ (function () {
386
481
  else if (txDetails.type === protocol_1.StellarTransactionType.PATH_PAYMENT_RECIEVE) {
387
482
  op = txDetails;
388
483
  fee = tx.fee;
389
- amount = new bignumber_1.default(op.sendAsset.isNative() ? op.sendMax : 0).multipliedBy(1e7).toString();
390
- to = txDetails.destination;
484
+ sendAssetIsNative = op.sendAsset.isNative();
485
+ amount = new bignumber_1.default(sendAssetIsNative ? op.sendMax : 0).multipliedBy(1e7).toString();
486
+ to = [txDetails.destination];
391
487
  isInbound = false;
392
488
  type = protocol_1.StellarTransactionType.PATH_PAYMENT_RECIEVE;
489
+ if (!sendAssetIsNative) {
490
+ uiAlerts.push({
491
+ type: 'warning',
492
+ title: { value: protocol_1.StellarTransactionType.PATH_PAYMENT_SEND, type: 'plain' },
493
+ description: {
494
+ value: "Maximum of ".concat(op.sendMax, " ").concat(op.sendAsset, " will be deducted from the source wallet"),
495
+ type: 'plain'
496
+ }
497
+ });
498
+ }
499
+ else {
500
+ uiAlerts.push({
501
+ type: 'info',
502
+ title: { value: protocol_1.StellarTransactionType.PATH_PAYMENT_SEND, type: 'plain' },
503
+ description: {
504
+ value: "".concat(op.destAmount, " ").concat(op.destAsset, " will added to your wallet"),
505
+ type: 'plain'
506
+ }
507
+ });
508
+ }
509
+ }
510
+ else if (txDetails.type === protocol_1.StellarTransactionType.PATH_PAYMENT_SEND) {
511
+ op = txDetails;
512
+ fee = tx.fee;
513
+ sendAssetIsNative = op.sendAsset.isNative();
514
+ amount = new bignumber_1.default(sendAssetIsNative ? op.sendAmount : 0).multipliedBy(1e7).toString();
515
+ to = [txDetails.destination];
516
+ isInbound = false;
517
+ type = protocol_1.StellarTransactionType.PATH_PAYMENT_SEND;
518
+ if (!sendAssetIsNative) {
519
+ uiAlerts.push({
520
+ type: 'warning',
521
+ title: { value: protocol_1.StellarTransactionType.PATH_PAYMENT_SEND, type: 'plain' },
522
+ description: {
523
+ value: "".concat(op.sendAmount, " ").concat(op.sendAsset, " will be deducted from the source wallet"),
524
+ type: 'plain'
525
+ }
526
+ });
527
+ }
528
+ else {
529
+ uiAlerts.push({
530
+ type: 'info',
531
+ title: { value: protocol_1.StellarTransactionType.PATH_PAYMENT_SEND, type: 'plain' },
532
+ description: {
533
+ value: "Minimum of ".concat(op.destMin, " ").concat(op.destAsset, " will added to your wallet"),
534
+ type: 'plain'
535
+ }
536
+ });
537
+ }
538
+ }
539
+ else if (txDetails.type === protocol_1.StellarTransactionType.LIQUIDITY_POOL_DEPOSIT) {
540
+ amount = new bignumber_1.default(0).toString();
541
+ op = txDetails;
542
+ fee = tx.fee;
543
+ to = [op.liquidityPoolId];
544
+ uiAlerts.push({
545
+ type: 'warning',
546
+ title: { value: protocol_1.StellarTransactionType.LIQUIDITY_POOL_DEPOSIT, type: 'plain' },
547
+ description: {
548
+ value: "Transaction is not fully decoded",
549
+ type: 'plain'
550
+ }
551
+ });
552
+ uiAlerts.push({
553
+ type: 'warning',
554
+ title: { value: protocol_1.StellarTransactionType.LIQUIDITY_POOL_DEPOSIT, type: 'plain' },
555
+ description: {
556
+ value: "".concat(op.maxAmountA, " & ").concat(op.maxAmountB, " of two different assets will be deducted from the source wallet"),
557
+ type: 'plain'
558
+ }
559
+ });
560
+ type = protocol_1.StellarTransactionType.LIQUIDITY_POOL_DEPOSIT;
561
+ }
562
+ else if (txDetails.type === protocol_1.StellarTransactionType.LIQUIDITY_POOL_WITHDRAW) {
563
+ amount = new bignumber_1.default(0).toString();
564
+ op = txDetails;
565
+ fee = tx.fee;
566
+ to = [op.liquidityPoolId];
393
567
  uiAlerts.push({
394
568
  type: 'info',
395
- title: { value: protocol_1.StellarTransactionType.PATH_PAYMENT_RECIEVE, type: 'plain' },
569
+ title: { value: protocol_1.StellarTransactionType.LIQUIDITY_POOL_WITHDRAW, type: 'plain' },
396
570
  description: {
397
- value: 'Recipient is shown as your sender for pathPaymentStrictReceive, as contract addresses can’t be decoded. This does not affect the transaction.',
571
+ value: "".concat(op.minAmountA, " & ").concat(op.minAmountB, " of two different assets will be added to your wallet"),
398
572
  type: 'plain'
399
573
  }
400
574
  });
575
+ type = protocol_1.StellarTransactionType.LIQUIDITY_POOL_WITHDRAW;
401
576
  }
402
- else if (txDetails.type === protocol_1.StellarTransactionType.PATH_PAYMENT_SEND) {
577
+ else if (txDetails.type === protocol_1.StellarTransactionType.SET_OPTIONS) {
403
578
  op = txDetails;
404
579
  fee = tx.fee;
405
- amount = new bignumber_1.default(op.sendAsset.isNative() ? op.sendAmount : 0).multipliedBy(1e7).toString();
406
- to = txDetails.destination;
407
- isInbound = false;
408
- type = protocol_1.StellarTransactionType.PATH_PAYMENT_SEND;
580
+ signer = op.signer;
581
+ if ('ed25519PublicKey' in signer && signer.ed25519PublicKey) {
582
+ to = [signer.ed25519PublicKey];
583
+ }
584
+ else if ('ed25519SignedPayload' in signer && signer.ed25519SignedPayload) {
585
+ to = [signer.ed25519SignedPayload];
586
+ }
587
+ else if ('preAuthTx' in signer && signer.preAuthTx) {
588
+ to = [signer.preAuthTx.toString('hex')];
589
+ }
590
+ else if ('sha256Hash' in signer && signer.sha256Hash) {
591
+ to = [signer.sha256Hash.toString('hex')];
592
+ }
593
+ else {
594
+ to = [tx.source];
595
+ }
596
+ descriptionParts = [
597
+ to[0] && "Signer: ".concat(to[0]),
598
+ op.masterWeight !== undefined && "MasterWeight: ".concat(op.masterWeight),
599
+ op.lowThreshold !== undefined && "LowThreshold: ".concat(op.lowThreshold),
600
+ op.medThreshold !== undefined && "MedThreshold: ".concat(op.medThreshold),
601
+ op.highThreshold !== undefined && "HighThreshold: ".concat(op.highThreshold)
602
+ ]
603
+ .filter(Boolean)
604
+ .join('\n');
409
605
  uiAlerts.push({
410
606
  type: 'info',
411
- title: { value: protocol_1.StellarTransactionType.PATH_PAYMENT_SEND, type: 'plain' },
607
+ title: { value: protocol_1.StellarTransactionType.SET_OPTIONS, type: 'plain' },
412
608
  description: {
413
- value: 'Recipient is shown as your sender for pathPaymentStrictSend, as contract addresses can’t be decoded. This does not affect the transaction.',
609
+ value: "You are setting the following parameters:\n".concat(descriptionParts),
414
610
  type: 'plain'
415
611
  }
416
612
  });
613
+ amount = new bignumber_1.default(0).toString();
614
+ type = protocol_1.StellarTransactionType.SET_OPTIONS;
417
615
  }
418
616
  else {
419
- to = tx.source;
617
+ to = [tx.source];
420
618
  fee = tx.fee;
421
619
  amount = new bignumber_1.default(0).toString();
422
620
  isInbound = false;
@@ -425,19 +623,20 @@ var StellarProtocolImpl = /** @class */ (function () {
425
623
  type: 'warning',
426
624
  title: { value: txDetails.type, type: 'plain' },
427
625
  description: {
428
- value: "Transaction ".concat(txDetails.type, " was not decoded, UI values may be incorrect. This does not affect the transaction."),
626
+ value: "Transaction ".concat(txDetails.type, " type was not decoded. Please understand what you are signing before proceeding."),
429
627
  type: 'plain'
430
628
  }
431
629
  });
630
+ extra = { displayFromTo: false };
432
631
  }
433
632
  memo = tx.memo.type === 'text' || tx.memo.type === 'id'
434
- ? (_b = tx.memo.value) === null || _b === void 0 ? void 0 : _b.toString()
633
+ ? (_c = tx.memo.value) === null || _c === void 0 ? void 0 : _c.toString()
435
634
  : tx.memo.type === 'hash' || tx.memo.type === 'return'
436
- ? (_c = tx.memo.value) === null || _c === void 0 ? void 0 : _c.toString('hex')
635
+ ? (_d = tx.memo.value) === null || _d === void 0 ? void 0 : _d.toString('hex')
437
636
  : undefined;
438
637
  transactions.push({
439
638
  from: [tx.source],
440
- to: [to || ''],
639
+ to: to,
441
640
  isInbound: isInbound,
442
641
  amount: (0, module_kit_1.newAmount)(amount, 'blockchain'),
443
642
  fee: (0, module_kit_1.newAmount)(fee, 'blockchain'),
@@ -445,7 +644,8 @@ var StellarProtocolImpl = /** @class */ (function () {
445
644
  arbitraryData: memo,
446
645
  type: type,
447
646
  uiAlerts: uiAlerts,
448
- json: JSON.stringify(tx)
647
+ json: JSON.stringify(tx),
648
+ extra: extra
449
649
  });
450
650
  }
451
651
  return [2 /*return*/, transactions];
@@ -503,7 +703,7 @@ var StellarProtocolImpl = /** @class */ (function () {
503
703
  };
504
704
  StellarProtocolImpl.prototype.getBalanceOfAddress = function (address) {
505
705
  return __awaiter(this, void 0, void 0, function () {
506
- var data, balance, btnBalance, error_3;
706
+ var data, balance, btnBalance, error_6;
507
707
  return __generator(this, function (_a) {
508
708
  switch (_a.label) {
509
709
  case 0:
@@ -511,13 +711,13 @@ var StellarProtocolImpl = /** @class */ (function () {
511
711
  return [4 /*yield*/, index_1.default.get("".concat(this.options.network.rpcUrl, "/accounts/").concat(address))];
512
712
  case 1:
513
713
  data = (_a.sent()).data;
514
- balance = data.balances.find(function (b) { return b.asset_type === 'native'; });
714
+ balance = data.balances.find(function (b) { return b.asset_type === protocol_1.StellarAssetType.NATIVE; });
515
715
  btnBalance = new bignumber_1.default(balance.balance).multipliedBy(1e7).toString();
516
716
  return [2 /*return*/, {
517
717
  total: (0, module_kit_1.newAmount)(btnBalance, 'blockchain')
518
718
  }];
519
719
  case 2:
520
- error_3 = _a.sent();
720
+ error_6 = _a.sent();
521
721
  return [2 /*return*/, { total: (0, module_kit_1.newAmount)('0', 'blockchain') }];
522
722
  case 3: return [2 /*return*/];
523
723
  }
@@ -630,9 +830,7 @@ var StellarProtocolImpl = /** @class */ (function () {
630
830
  var sourceAddress, sourceAccount, destination, value, amount, fee, txBuilder, tx;
631
831
  return __generator(this, function (_c) {
632
832
  switch (_c.label) {
633
- case 0:
634
- console.log('prepareWalletConnectTransactionWithPublicKey', request);
635
- return [4 /*yield*/, this.getAddressFromPublicKey(publicKey)];
833
+ case 0: return [4 /*yield*/, this.getAddressFromPublicKey(publicKey)];
636
834
  case 1:
637
835
  sourceAddress = _c.sent();
638
836
  return [4 /*yield*/, this.server.loadAccount(sourceAddress)];
@@ -685,9 +883,4 @@ function createStellarProtocolOptions(network) {
685
883
  };
686
884
  }
687
885
  exports.createStellarProtocolOptions = createStellarProtocolOptions;
688
- // function flattenArray(
689
- // transactions: AirGapTransaction<StellarUnits>[][]
690
- // ): AirGapTransaction<StellarUnits>[] | PromiseLike<AirGapTransaction<StellarUnits>[]> {
691
- // throw new Error('Function not implemented.')
692
- // }
693
886
  //# sourceMappingURL=StellarProtocol.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StellarProtocol.js","sourceRoot":"","sources":["../../../src/v1/protocol/StellarProtocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StellarProtocol.js","sourceRoot":"","sources":["../../../src/v1/protocol/StellarProtocol.ts"],"names":[],"mappings":"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"}
@@ -14,9 +14,20 @@ export interface StellarAssetMetadata {
14
14
  decimals: number;
15
15
  identifier: string;
16
16
  }
17
+ export interface StellarSigner {
18
+ weight: number;
19
+ key: string;
20
+ type: string;
21
+ }
22
+ export interface StellarThresholds {
23
+ low_threshold: number;
24
+ med_threshold: number;
25
+ high_threshold: number;
26
+ }
17
27
  export declare enum StellarAssetType {
18
28
  NATIVE = "native",
19
- ASSET = "asset"
29
+ ASSET = "asset",
30
+ XLM = "XLM"
20
31
  }
21
32
  export declare enum StellarTransactionType {
22
33
  PAYMENT = "payment",
@@ -24,5 +35,8 @@ export declare enum StellarTransactionType {
24
35
  PATH_PAYMENT_RECIEVE = "pathPaymentStrictReceive",
25
36
  PATH_PAYMENT_SEND = "pathPaymentStrictSend",
26
37
  CHANGE_TRUST = "changeTrust",
27
- INOKE_HOST_FUNCTION = "invokeHostFunction"
38
+ INOKE_HOST_FUNCTION = "invokeHostFunction",
39
+ LIQUIDITY_POOL_DEPOSIT = "liquidityPoolDeposit",
40
+ LIQUIDITY_POOL_WITHDRAW = "liquidityPoolWithdraw",
41
+ SET_OPTIONS = "setOptions"
28
42
  }
@@ -5,6 +5,7 @@ var StellarAssetType;
5
5
  (function (StellarAssetType) {
6
6
  StellarAssetType["NATIVE"] = "native";
7
7
  StellarAssetType["ASSET"] = "asset";
8
+ StellarAssetType["XLM"] = "XLM";
8
9
  })(StellarAssetType = exports.StellarAssetType || (exports.StellarAssetType = {}));
9
10
  var StellarTransactionType;
10
11
  (function (StellarTransactionType) {
@@ -14,5 +15,8 @@ var StellarTransactionType;
14
15
  StellarTransactionType["PATH_PAYMENT_SEND"] = "pathPaymentStrictSend";
15
16
  StellarTransactionType["CHANGE_TRUST"] = "changeTrust";
16
17
  StellarTransactionType["INOKE_HOST_FUNCTION"] = "invokeHostFunction";
18
+ StellarTransactionType["LIQUIDITY_POOL_DEPOSIT"] = "liquidityPoolDeposit";
19
+ StellarTransactionType["LIQUIDITY_POOL_WITHDRAW"] = "liquidityPoolWithdraw";
20
+ StellarTransactionType["SET_OPTIONS"] = "setOptions";
17
21
  })(StellarTransactionType = exports.StellarTransactionType || (exports.StellarTransactionType = {}));
18
22
  //# sourceMappingURL=protocol.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/v1/types/protocol.ts"],"names":[],"mappings":";;;AAqBA,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,mCAAe,CAAA;AACjB,CAAC,EAHW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAG3B;AAED,IAAY,sBAOX;AAPD,WAAY,sBAAsB;IAChC,6CAAmB,CAAA;IACnB,0DAAgC,CAAA;IAChC,2EAAiD,CAAA;IACjD,qEAA2C,CAAA;IAC3C,sDAA4B,CAAA;IAC5B,oEAA0C,CAAA;AAC5C,CAAC,EAPW,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAOjC"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/v1/types/protocol.ts"],"names":[],"mappings":";;;AAiCA,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,mCAAe,CAAA;IACf,+BAAW,CAAA;AACb,CAAC,EAJW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAI3B;AAED,IAAY,sBAUX;AAVD,WAAY,sBAAsB;IAChC,6CAAmB,CAAA;IACnB,0DAAgC,CAAA;IAChC,2EAAiD,CAAA;IACjD,qEAA2C,CAAA;IAC3C,sDAA4B,CAAA;IAC5B,oEAA0C,CAAA;IAC1C,yEAA+C,CAAA;IAC/C,2EAAiD,CAAA;IACjD,oDAA0B,CAAA;AAC5B,CAAC,EAVW,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAUjC"}
@@ -1,8 +0,0 @@
1
- import { Ed25519CryptoClient } from '@airgap/coinlib-core/protocols/Ed25519CryptoClient';
2
- export declare class StellarCryptoClient extends Ed25519CryptoClient {
3
- constructor();
4
- signMessage(message: string, keypair: {
5
- privateKey: string;
6
- }): Promise<string>;
7
- verifyMessage(message: string, signature: string, publicKey: string): Promise<boolean>;
8
- }
@@ -1,104 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
- return new (P || (P = Promise))(function (resolve, reject) {
20
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
- step((generator = generator.apply(thisArg, _arguments || [])).next());
24
- });
25
- };
26
- var __generator = (this && this.__generator) || function (thisArg, body) {
27
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
- function verb(n) { return function (v) { return step([n, v]); }; }
30
- function step(op) {
31
- if (f) throw new TypeError("Generator is already executing.");
32
- while (_) try {
33
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
- if (y = 0, t) op = [op[0] & 2, t.value];
35
- switch (op[0]) {
36
- case 0: case 1: t = op; break;
37
- case 4: _.label++; return { value: op[1], done: false };
38
- case 5: _.label++; y = op[1]; op = [0]; continue;
39
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
- default:
41
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
- if (t[2]) _.ops.pop();
46
- _.trys.pop(); continue;
47
- }
48
- op = body.call(thisArg, _);
49
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
- }
52
- };
53
- Object.defineProperty(exports, "__esModule", { value: true });
54
- exports.StellarCryptoClient = void 0;
55
- var errors_1 = require("@airgap/coinlib-core/errors");
56
- var coinlib_error_1 = require("@airgap/coinlib-core/errors/coinlib-error");
57
- var Ed25519CryptoClient_1 = require("@airgap/coinlib-core/protocols/Ed25519CryptoClient");
58
- var stellar_sdk_1 = require("@stellar/stellar-sdk");
59
- var MESSAGE_PREFIX = 'Stellar Signed Message:\n';
60
- var MAX_MESSAGE_LENGTH = 0xfd;
61
- var prepareSignedMessage = function (message) {
62
- var prefix = Buffer.from(MESSAGE_PREFIX, 'utf8');
63
- var content = Buffer.from(message, 'utf8');
64
- if (content.length >= MAX_MESSAGE_LENGTH) {
65
- throw new errors_1.InvalidValueError(coinlib_error_1.Domain.STELLAR, 'Message exceeds maximum length');
66
- }
67
- return Buffer.concat([Buffer.from([prefix.length]), prefix, Buffer.from([content.length]), content]);
68
- };
69
- var StellarCryptoClient = /** @class */ (function (_super) {
70
- __extends(StellarCryptoClient, _super);
71
- function StellarCryptoClient() {
72
- return _super.call(this) || this;
73
- }
74
- StellarCryptoClient.prototype.signMessage = function (message, keypair) {
75
- return __awaiter(this, void 0, void 0, function () {
76
- var preparedMessage, kp, signature;
77
- return __generator(this, function (_a) {
78
- preparedMessage = prepareSignedMessage(message);
79
- if (!stellar_sdk_1.StrKey.isValidEd25519SecretSeed(keypair.privateKey)) {
80
- throw new errors_1.InvalidValueError(coinlib_error_1.Domain.STELLAR, 'Invalid Stellar secret key format');
81
- }
82
- kp = stellar_sdk_1.Keypair.fromSecret(keypair.privateKey);
83
- signature = kp.sign(preparedMessage);
84
- return [2 /*return*/, Buffer.from(signature).toString('hex')];
85
- });
86
- });
87
- };
88
- StellarCryptoClient.prototype.verifyMessage = function (message, signature, publicKey) {
89
- return __awaiter(this, void 0, void 0, function () {
90
- var preparedMessage, kp;
91
- return __generator(this, function (_a) {
92
- preparedMessage = prepareSignedMessage(message);
93
- if (!stellar_sdk_1.StrKey.isValidEd25519PublicKey(publicKey)) {
94
- return [2 /*return*/, false];
95
- }
96
- kp = stellar_sdk_1.Keypair.fromPublicKey(publicKey);
97
- return [2 /*return*/, kp.verify(preparedMessage, Buffer.from(signature, 'hex'))];
98
- });
99
- });
100
- };
101
- return StellarCryptoClient;
102
- }(Ed25519CryptoClient_1.Ed25519CryptoClient));
103
- exports.StellarCryptoClient = StellarCryptoClient;
104
- //# sourceMappingURL=StellarCryptoClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StellarCryptoClient.js","sourceRoot":"","sources":["../../../src/v1/protocol/StellarCryptoClient.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAA+D;AAC/D,2EAAkE;AAClE,0FAAwF;AACxF,oDAAsD;AAEtD,IAAM,cAAc,GAAG,2BAA2B,CAAA;AAClD,IAAM,kBAAkB,GAAG,IAAI,CAAA;AAE/B,IAAM,oBAAoB,GAAG,UAAC,OAAe;IAC3C,IAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;IAClD,IAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAE5C,IAAI,OAAO,CAAC,MAAM,IAAI,kBAAkB,EAAE;QACxC,MAAM,IAAI,0BAAiB,CAAC,sBAAM,CAAC,OAAO,EAAE,gCAAgC,CAAC,CAAA;KAC9E;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;AACtG,CAAC,CAAA;AAED;IAAyC,uCAAmB;IAC1D;eACE,iBAAO;IACT,CAAC;IAEY,yCAAW,GAAxB,UAAyB,OAAe,EAAE,OAA+B;;;;gBACjE,eAAe,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAA;gBAErD,IAAI,CAAC,oBAAM,CAAC,wBAAwB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;oBACxD,MAAM,IAAI,0BAAiB,CAAC,sBAAM,CAAC,OAAO,EAAE,mCAAmC,CAAC,CAAA;iBACjF;gBAEK,EAAE,GAAG,qBAAO,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;gBAC3C,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;gBAE1C,sBAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAA;;;KAC9C;IAEY,2CAAa,GAA1B,UAA2B,OAAe,EAAE,SAAiB,EAAE,SAAiB;;;;gBACxE,eAAe,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAA;gBAErD,IAAI,CAAC,oBAAM,CAAC,uBAAuB,CAAC,SAAS,CAAC,EAAE;oBAC9C,sBAAO,KAAK,EAAA;iBACb;gBAEK,EAAE,GAAG,qBAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;gBAC3C,sBAAO,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,EAAA;;;KACjE;IACH,0BAAC;AAAD,CAAC,AA5BD,CAAyC,yCAAmB,GA4B3D;AA5BY,kDAAmB"}