@airgap/stellar 0.13.41-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/LICENSE.md +7 -0
- package/index.d.ts +1 -0
- package/index.js +18 -0
- package/index.js.map +1 -0
- package/package.json +65 -0
- package/readme.md +121 -0
- package/v1/block-explorer/StellarBlockExplorer.d.ts +9 -0
- package/v1/block-explorer/StellarBlockExplorer.js +72 -0
- package/v1/block-explorer/StellarBlockExplorer.js.map +1 -0
- package/v1/data/StellarAddress.d.ts +9 -0
- package/v1/data/StellarAddress.js +30 -0
- package/v1/data/StellarAddress.js.map +1 -0
- package/v1/index.d.ts +13 -0
- package/v1/index.js +11 -0
- package/v1/index.js.map +1 -0
- package/v1/module/StellarModule.d.ts +17 -0
- package/v1/module/StellarModule.js +107 -0
- package/v1/module/StellarModule.js.map +1 -0
- package/v1/module.d.ts +3 -0
- package/v1/module.js +24 -0
- package/v1/module.js.map +1 -0
- package/v1/protocol/StellarCryptoClient.d.ts +8 -0
- package/v1/protocol/StellarCryptoClient.js +104 -0
- package/v1/protocol/StellarCryptoClient.js.map +1 -0
- package/v1/protocol/StellarProtocol.d.ts +42 -0
- package/v1/protocol/StellarProtocol.js +511 -0
- package/v1/protocol/StellarProtocol.js.map +1 -0
- package/v1/serializer/v3/schemas/converter/transaction-converter.d.ts +7 -0
- package/v1/serializer/v3/schemas/converter/transaction-converter.js +42 -0
- package/v1/serializer/v3/schemas/converter/transaction-converter.js.map +1 -0
- package/v1/serializer/v3/schemas/definitions/transaction-sign-request-stellar.d.ts +4 -0
- package/v1/serializer/v3/schemas/definitions/transaction-sign-request-stellar.js +3 -0
- package/v1/serializer/v3/schemas/definitions/transaction-sign-request-stellar.js.map +1 -0
- package/v1/serializer/v3/schemas/definitions/transaction-sign-response-stellar.d.ts +3 -0
- package/v1/serializer/v3/schemas/definitions/transaction-sign-response-stellar.js +3 -0
- package/v1/serializer/v3/schemas/definitions/transaction-sign-response-stellar.js.map +1 -0
- package/v1/serializer/v3/schemas/generated/transaction-sign-request-stellar.json +29 -0
- package/v1/serializer/v3/schemas/generated/transaction-sign-response-stellar.json +19 -0
- package/v1/serializer/v3/serializer-companion.d.ts +14 -0
- package/v1/serializer/v3/serializer-companion.js +158 -0
- package/v1/serializer/v3/serializer-companion.js.map +1 -0
- package/v1/serializer/v3/validators/transaction-validator.d.ts +7 -0
- package/v1/serializer/v3/validators/transaction-validator.js +89 -0
- package/v1/serializer/v3/validators/transaction-validator.js.map +1 -0
- package/v1/serializer/v3/validators/validators.d.ts +6 -0
- package/v1/serializer/v3/validators/validators.js +92 -0
- package/v1/serializer/v3/validators/validators.js.map +1 -0
- package/v1/types/crypto.d.ts +2 -0
- package/v1/types/crypto.js +3 -0
- package/v1/types/crypto.js.map +1 -0
- package/v1/types/protocol.d.ts +7 -0
- package/v1/types/protocol.js +3 -0
- package/v1/types/protocol.js.map +1 -0
- package/v1/types/transaction.d.ts +10 -0
- package/v1/types/transaction.js +6 -0
- package/v1/types/transaction.js.map +1 -0
- package/v1/utils/convert.d.ts +3 -0
- package/v1/utils/convert.js +32 -0
- package/v1/utils/convert.js.map +1 -0
- package/v1/utils/key.d.ts +3 -0
- package/v1/utils/key.js +37 -0
- package/v1/utils/key.js.map +1 -0
- package/v1/utils/signature.d.ts +2 -0
- package/v1/utils/signature.js +22 -0
- package/v1/utils/signature.js.map +1 -0
- package/v1/utils/transaction.d.ts +3 -0
- package/v1/utils/transaction.js +22 -0
- package/v1/utils/transaction.js.map +1 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertHexBytesString = exports.convertEncodedBytesString = void 0;
|
|
4
|
+
var coinlib_core_1 = require("@airgap/coinlib-core");
|
|
5
|
+
var errors_1 = require("@airgap/coinlib-core/errors");
|
|
6
|
+
var stellar_sdk_1 = require("@stellar/stellar-sdk");
|
|
7
|
+
function convertEncodedBytesString(encoded, targetFormat) {
|
|
8
|
+
switch (targetFormat) {
|
|
9
|
+
case 'encoded':
|
|
10
|
+
return encoded;
|
|
11
|
+
case 'hex':
|
|
12
|
+
var rawBytes = stellar_sdk_1.StrKey.decodeEd25519PublicKey(encoded);
|
|
13
|
+
return Buffer.from(rawBytes).toString('hex');
|
|
14
|
+
default:
|
|
15
|
+
(0, coinlib_core_1.assertNever)(targetFormat);
|
|
16
|
+
throw new errors_1.UnsupportedError(coinlib_core_1.Domain.STELLAR, 'Unsupported bytes string format.');
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.convertEncodedBytesString = convertEncodedBytesString;
|
|
20
|
+
function convertHexBytesString(hex, targetFormat) {
|
|
21
|
+
switch (targetFormat) {
|
|
22
|
+
case 'hex':
|
|
23
|
+
return hex;
|
|
24
|
+
case 'encoded':
|
|
25
|
+
return stellar_sdk_1.StrKey.encodeEd25519PublicKey(Buffer.from(hex, 'hex'));
|
|
26
|
+
default:
|
|
27
|
+
(0, coinlib_core_1.assertNever)(targetFormat);
|
|
28
|
+
throw new errors_1.UnsupportedError(coinlib_core_1.Domain.STELLAR, 'Unsupported bytes string format.');
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.convertHexBytesString = convertHexBytesString;
|
|
32
|
+
//# sourceMappingURL=convert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../src/v1/utils/convert.ts"],"names":[],"mappings":";;;AAAA,qDAA0D;AAC1D,sDAA8D;AAE9D,oDAA6C;AAE7C,SAAgB,yBAAyB,CAAC,OAAe,EAAE,YAA+B;IACxF,QAAQ,YAAY,EAAE;QACpB,KAAK,SAAS;YACZ,OAAO,OAAO,CAAA;QAChB,KAAK,KAAK;YACR,IAAM,QAAQ,GAAG,oBAAM,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAA;YACvD,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC9C;YACE,IAAA,0BAAW,EAAC,YAAY,CAAC,CAAA;YACzB,MAAM,IAAI,yBAAgB,CAAC,qBAAM,CAAC,OAAO,EAAE,kCAAkC,CAAC,CAAA;KACjF;AACH,CAAC;AAXD,8DAWC;AAED,SAAgB,qBAAqB,CAAC,GAAW,EAAE,YAA+B;IAChF,QAAQ,YAAY,EAAE;QACpB,KAAK,KAAK;YACR,OAAO,GAAG,CAAA;QACZ,KAAK,SAAS;YACZ,OAAO,oBAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;QAC/D;YACE,IAAA,0BAAW,EAAC,YAAY,CAAC,CAAA;YACzB,MAAM,IAAI,yBAAgB,CAAC,qBAAM,CAAC,OAAO,EAAE,kCAAkC,CAAC,CAAA;KACjF;AACH,CAAC;AAVD,sDAUC"}
|
package/v1/utils/key.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertPublicKey = exports.stellarPublicKey = void 0;
|
|
4
|
+
var coinlib_core_1 = require("@airgap/coinlib-core");
|
|
5
|
+
var errors_1 = require("@airgap/coinlib-core/errors");
|
|
6
|
+
var hex_1 = require("@airgap/coinlib-core/utils/hex");
|
|
7
|
+
var module_kit_1 = require("@airgap/module-kit");
|
|
8
|
+
var stellar_sdk_1 = require("@stellar/stellar-sdk");
|
|
9
|
+
var convert_1 = require("./convert");
|
|
10
|
+
function stellarPublicKey(publicKey) {
|
|
11
|
+
var format = (0, hex_1.isHex)(publicKey)
|
|
12
|
+
? 'hex'
|
|
13
|
+
: stellar_sdk_1.StrKey.isValidEd25519PublicKey(publicKey)
|
|
14
|
+
? 'encoded'
|
|
15
|
+
: undefined;
|
|
16
|
+
if (format === undefined) {
|
|
17
|
+
throw new errors_1.ConditionViolationError(coinlib_core_1.Domain.STELLAR, 'Invalid Stellar public key.');
|
|
18
|
+
}
|
|
19
|
+
return (0, module_kit_1.newPublicKey)(publicKey, format);
|
|
20
|
+
}
|
|
21
|
+
exports.stellarPublicKey = stellarPublicKey;
|
|
22
|
+
function convertPublicKey(publicKey, targetFormat) {
|
|
23
|
+
if (publicKey.format === targetFormat) {
|
|
24
|
+
return publicKey;
|
|
25
|
+
}
|
|
26
|
+
switch (publicKey.format) {
|
|
27
|
+
case 'encoded':
|
|
28
|
+
return (0, module_kit_1.newPublicKey)((0, convert_1.convertEncodedBytesString)(publicKey.value, targetFormat), targetFormat);
|
|
29
|
+
case 'hex':
|
|
30
|
+
return (0, module_kit_1.newPublicKey)((0, convert_1.convertHexBytesString)(publicKey.value, targetFormat), targetFormat);
|
|
31
|
+
default:
|
|
32
|
+
(0, coinlib_core_1.assertNever)(publicKey.format);
|
|
33
|
+
throw new errors_1.UnsupportedError(coinlib_core_1.Domain.STELLAR, 'Unsupported public key format.');
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.convertPublicKey = convertPublicKey;
|
|
37
|
+
//# sourceMappingURL=key.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key.js","sourceRoot":"","sources":["../../../src/v1/utils/key.ts"],"names":[],"mappings":";;;AAAA,qDAA0D;AAC1D,sDAAuF;AACvF,sDAAsD;AACtD,iDAA4D;AAC5D,oDAA6C;AAE7C,qCAA4E;AAE5E,SAAgB,gBAAgB,CAAC,SAAiB;IAChD,IAAM,MAAM,GAAoC,IAAA,WAAK,EAAC,SAAS,CAAC;QAC9D,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,oBAAM,CAAC,uBAAuB,CAAC,SAAS,CAAC;YACzC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,SAAS,CAAA;IAEf,IAAI,MAAM,KAAK,SAAS,EAAE;QACxB,MAAM,IAAI,gCAAuB,CAAC,qBAAM,CAAC,OAAO,EAAE,6BAA6B,CAAC,CAAA;KACjF;IAED,OAAO,IAAA,yBAAY,EAAC,SAAS,EAAE,MAAM,CAAC,CAAA;AACxC,CAAC;AAZD,4CAYC;AAED,SAAgB,gBAAgB,CAAC,SAAoB,EAAE,YAAiC;IACtF,IAAI,SAAS,CAAC,MAAM,KAAK,YAAY,EAAE;QACrC,OAAO,SAAS,CAAA;KACjB;IAED,QAAQ,SAAS,CAAC,MAAM,EAAE;QACxB,KAAK,SAAS;YACZ,OAAO,IAAA,yBAAY,EAAC,IAAA,mCAAyB,EAAC,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,CAAA;QAC7F,KAAK,KAAK;YACR,OAAO,IAAA,yBAAY,EAAC,IAAA,+BAAqB,EAAC,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,CAAA;QACzF;YACE,IAAA,0BAAW,EAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YAC7B,MAAM,IAAI,yBAAgB,CAAC,qBAAM,CAAC,OAAO,EAAE,gCAAgC,CAAC,CAAA;KAC/E;AACH,CAAC;AAdD,4CAcC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertSignature = void 0;
|
|
4
|
+
var coinlib_core_1 = require("@airgap/coinlib-core");
|
|
5
|
+
var errors_1 = require("@airgap/coinlib-core/errors");
|
|
6
|
+
var module_kit_1 = require("@airgap/module-kit");
|
|
7
|
+
function convertSignature(signature, targetFormat) {
|
|
8
|
+
if (signature.format === targetFormat) {
|
|
9
|
+
return signature;
|
|
10
|
+
}
|
|
11
|
+
switch (signature.format) {
|
|
12
|
+
case 'encoded': // assume base64
|
|
13
|
+
return (0, module_kit_1.newSignature)(Buffer.from(signature.value, 'base64').toString('hex'), 'hex');
|
|
14
|
+
case 'hex':
|
|
15
|
+
return (0, module_kit_1.newSignature)(Buffer.from(signature.value, 'hex').toString('base64'), 'encoded');
|
|
16
|
+
default:
|
|
17
|
+
(0, coinlib_core_1.assertNever)(signature.format);
|
|
18
|
+
throw new errors_1.UnsupportedError(coinlib_core_1.Domain.STELLAR, 'Unsupported signature format.');
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.convertSignature = convertSignature;
|
|
22
|
+
//# sourceMappingURL=signature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signature.js","sourceRoot":"","sources":["../../../src/v1/utils/signature.ts"],"names":[],"mappings":";;;AAAA,qDAA0D;AAC1D,sDAA8D;AAC9D,iDAA4D;AAE5D,SAAgB,gBAAgB,CAAC,SAAoB,EAAE,YAAiC;IACtF,IAAI,SAAS,CAAC,MAAM,KAAK,YAAY,EAAE;QACrC,OAAO,SAAS,CAAA;KACjB;IAED,QAAQ,SAAS,CAAC,MAAM,EAAE;QACxB,KAAK,SAAS,EAAE,gBAAgB;YAC9B,OAAO,IAAA,yBAAY,EAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAA;QACpF,KAAK,KAAK;YACR,OAAO,IAAA,yBAAY,EAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAA;QACxF;YACE,IAAA,0BAAW,EAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YAC7B,MAAM,IAAI,yBAAgB,CAAC,qBAAM,CAAC,OAAO,EAAE,+BAA+B,CAAC,CAAA;KAC9E;AACH,CAAC;AAdD,4CAcC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.decodeTx = exports.encodeTx = void 0;
|
|
4
|
+
var coinlib_core_1 = require("@airgap/coinlib-core");
|
|
5
|
+
var errors_1 = require("@airgap/coinlib-core/errors");
|
|
6
|
+
var TRANSACTION_PREFIX = 'tx_';
|
|
7
|
+
function encodeTx(transaction) {
|
|
8
|
+
var base64 = typeof transaction === 'string' ? transaction : Buffer.from(transaction).toString('base64');
|
|
9
|
+
return "".concat(TRANSACTION_PREFIX).concat(base64);
|
|
10
|
+
}
|
|
11
|
+
exports.encodeTx = encodeTx;
|
|
12
|
+
function decodeTx(transaction) {
|
|
13
|
+
var encoded = transaction.startsWith(TRANSACTION_PREFIX) ? transaction.slice(TRANSACTION_PREFIX.length) : transaction;
|
|
14
|
+
try {
|
|
15
|
+
return Buffer.from(encoded, 'base64');
|
|
16
|
+
}
|
|
17
|
+
catch (_a) {
|
|
18
|
+
throw new errors_1.InvalidValueError(coinlib_core_1.Domain.STELLAR, 'Invalid Stellar transaction encoding (base64 expected)');
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.decodeTx = decodeTx;
|
|
22
|
+
//# sourceMappingURL=transaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../src/v1/utils/transaction.ts"],"names":[],"mappings":";;;AAAA,qDAA6C;AAC7C,sDAA+D;AAE/D,IAAM,kBAAkB,GAAG,KAAK,CAAA;AAEhC,SAAgB,QAAQ,CAAC,WAA4B;IACnD,IAAM,MAAM,GAAG,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC1G,OAAO,UAAG,kBAAkB,SAAG,MAAM,CAAE,CAAA;AACzC,CAAC;AAHD,4BAGC;AAED,SAAgB,QAAQ,CAAC,WAAmB;IAC1C,IAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAA;IAEvH,IAAI;QACF,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;KACtC;IAAC,WAAM;QACN,MAAM,IAAI,0BAAiB,CAAC,qBAAM,CAAC,OAAO,EAAE,wDAAwD,CAAC,CAAA;KACtG;AACH,CAAC;AARD,4BAQC"}
|