@ledgerhq/coin-cardano 0.2.2-next.0 → 0.2.2
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/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +8 -6
- package/lib/bridge/index.d.ts +3 -1
- package/lib/bridge/index.d.ts.map +1 -1
- package/lib/bridge/index.js +3 -1
- package/lib/bridge/index.js.map +1 -1
- package/lib/buildTransaction.d.ts.map +1 -1
- package/lib/buildTransaction.js +5 -1
- package/lib/buildTransaction.js.map +1 -1
- package/lib/config.d.ts +12 -0
- package/lib/config.d.ts.map +1 -0
- package/lib/config.js +9 -0
- package/lib/config.js.map +1 -0
- package/lib/errors.d.ts +12 -0
- package/lib/errors.d.ts.map +1 -1
- package/lib/errors.js +7 -1
- package/lib/errors.js.map +1 -1
- package/lib/estimateMaxSpendable.d.ts.map +1 -1
- package/lib/estimateMaxSpendable.js +3 -1
- package/lib/estimateMaxSpendable.js.map +1 -1
- package/lib/getTransactionStatus.d.ts.map +1 -1
- package/lib/getTransactionStatus.js +17 -3
- package/lib/getTransactionStatus.js.map +1 -1
- package/lib/logic.d.ts +3 -1
- package/lib/logic.d.ts.map +1 -1
- package/lib/logic.js +27 -1
- package/lib/logic.js.map +1 -1
- package/lib/logic.unit.test.js +15 -0
- package/lib/logic.unit.test.js.map +1 -1
- package/lib/prepareTransaction.d.ts.map +1 -1
- package/lib/prepareTransaction.js +7 -0
- package/lib/prepareTransaction.js.map +1 -1
- package/lib/signOperation.d.ts.map +1 -1
- package/lib/signOperation.js +4 -0
- package/lib/signOperation.js.map +1 -1
- package/lib/transaction.d.ts.map +1 -1
- package/lib/transaction.js +2 -2
- package/lib/transaction.js.map +1 -1
- package/lib/types.d.ts +2 -0
- package/lib/types.d.ts.map +1 -1
- package/lib-es/bridge/index.d.ts +3 -1
- package/lib-es/bridge/index.d.ts.map +1 -1
- package/lib-es/bridge/index.js +3 -1
- package/lib-es/bridge/index.js.map +1 -1
- package/lib-es/buildTransaction.d.ts.map +1 -1
- package/lib-es/buildTransaction.js +6 -2
- package/lib-es/buildTransaction.js.map +1 -1
- package/lib-es/config.d.ts +12 -0
- package/lib-es/config.d.ts.map +1 -0
- package/lib-es/config.js +4 -0
- package/lib-es/config.js.map +1 -0
- package/lib-es/errors.d.ts +12 -0
- package/lib-es/errors.d.ts.map +1 -1
- package/lib-es/errors.js +6 -0
- package/lib-es/errors.js.map +1 -1
- package/lib-es/estimateMaxSpendable.d.ts.map +1 -1
- package/lib-es/estimateMaxSpendable.js +3 -1
- package/lib-es/estimateMaxSpendable.js.map +1 -1
- package/lib-es/getTransactionStatus.d.ts.map +1 -1
- package/lib-es/getTransactionStatus.js +15 -4
- package/lib-es/getTransactionStatus.js.map +1 -1
- package/lib-es/logic.d.ts +3 -1
- package/lib-es/logic.d.ts.map +1 -1
- package/lib-es/logic.js +24 -0
- package/lib-es/logic.js.map +1 -1
- package/lib-es/logic.unit.test.js +16 -1
- package/lib-es/logic.unit.test.js.map +1 -1
- package/lib-es/prepareTransaction.d.ts.map +1 -1
- package/lib-es/prepareTransaction.js +7 -0
- package/lib-es/prepareTransaction.js.map +1 -1
- package/lib-es/signOperation.d.ts.map +1 -1
- package/lib-es/signOperation.js +4 -0
- package/lib-es/signOperation.js.map +1 -1
- package/lib-es/transaction.d.ts.map +1 -1
- package/lib-es/transaction.js +2 -2
- package/lib-es/transaction.js.map +1 -1
- package/lib-es/types.d.ts +2 -0
- package/lib-es/types.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/bridge/index.ts +7 -1
- package/src/buildTransaction.ts +14 -2
- package/src/config.ts +12 -0
- package/src/errors.ts +8 -0
- package/src/estimateMaxSpendable.ts +3 -1
- package/src/getTransactionStatus.ts +19 -3
- package/src/logic.ts +24 -0
- package/src/logic.unit.test.ts +18 -1
- package/src/prepareTransaction.ts +9 -0
- package/src/signOperation.ts +5 -0
- package/src/transaction.ts +2 -0
- package/src/types.ts +2 -0
|
@@ -11,6 +11,7 @@ import { BigNumber } from "bignumber.js";
|
|
|
11
11
|
import { types as TyphonTypes, address as TyphonAddress } from "@stricahq/typhonjs";
|
|
12
12
|
import { defaultUpdateTransaction } from "@ledgerhq/coin-framework/bridge/jsHelpers";
|
|
13
13
|
import { buildTransaction } from "./buildTransaction";
|
|
14
|
+
import { fetchNetworkInfo } from "./api/getNetworkInfo";
|
|
14
15
|
/**
|
|
15
16
|
* Prepare transaction before checking status
|
|
16
17
|
*
|
|
@@ -19,6 +20,12 @@ import { buildTransaction } from "./buildTransaction";
|
|
|
19
20
|
*/
|
|
20
21
|
export const prepareTransaction = (account, transaction) => __awaiter(void 0, void 0, void 0, function* () {
|
|
21
22
|
let patch = {};
|
|
23
|
+
if (!transaction.protocolParams) {
|
|
24
|
+
const networkInfo = yield fetchNetworkInfo(account.currency);
|
|
25
|
+
transaction = defaultUpdateTransaction(transaction, {
|
|
26
|
+
protocolParams: networkInfo.protocolParams,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
22
29
|
try {
|
|
23
30
|
const cardanoTransaction = yield buildTransaction(account, transaction);
|
|
24
31
|
const transactionFees = cardanoTransaction.getFee();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareTransaction.js","sourceRoot":"","sources":["../src/prepareTransaction.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAGrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"prepareTransaction.js","sourceRoot":"","sources":["../src/prepareTransaction.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAGrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAGL,CAAO,OAAO,EAAE,WAAW,EAAE,EAAE;IACvD,IAAI,KAAK,GAAG,EAAE,CAAC;IAEf,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC7D,WAAW,GAAG,wBAAwB,CAAC,WAAW,EAAE;YAClD,cAAc,EAAE,WAAW,CAAC,cAAc;SAC3C,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC;QACH,MAAM,kBAAkB,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACxE,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC;QACpD,MAAM,iBAAiB,GAAG,WAAW,CAAC,YAAY;YAChD,CAAC,CAAC,WAAW,CAAC,MAAM;YACpB,CAAC,CAAC,kBAAkB;iBACf,UAAU,EAAE;iBACZ,MAAM,CACL,CAAC,CAAC,EAAE,CACF,CAAC,CAAC,CAAC,CAAC,OAAO,YAAY,aAAa,CAAC,WAAW,CAAC;gBACjD,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,KAAK,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACpE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,KAAK,SAAS,CACpD;iBACA,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpE,KAAK,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC/D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAK,GAAG,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;IACjE,CAAC;IAED,OAAO,wBAAwB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AACtD,CAAC,CAAA,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signOperation.d.ts","sourceRoot":"","sources":["../src/signOperation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAsB,MAAM,sBAAsB,CAAC;AAGzE,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAI3D,OAAO,EAAE,aAAa,EAAW,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"signOperation.d.ts","sourceRoot":"","sources":["../src/signOperation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAsB,MAAM,sBAAsB,CAAC;AAGzE,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAI3D,OAAO,EAAE,aAAa,EAAW,MAAM,UAAU,CAAC;AAIlD;;GAEG;AACH,eAAO,MAAM,kBAAkB,kBAEZ,cAAc,aAAa,CAAC,KAC1C,cAAc,WAAW,EAAE,cAAc,CAAC,CAAC,eAAe,CA4CzD,CAAC"}
|
package/lib-es/signOperation.js
CHANGED
|
@@ -14,6 +14,7 @@ import { getExtendedPublicKeyFromHex } from "./logic";
|
|
|
14
14
|
import { buildTransaction } from "./buildTransaction";
|
|
15
15
|
import { getNetworkParameters } from "./networks";
|
|
16
16
|
import typhonSerializer from "./typhonSerializer";
|
|
17
|
+
import { CardanoInvalidProtoParams } from "./errors";
|
|
17
18
|
/**
|
|
18
19
|
* Sign Transaction with Ledger hardware
|
|
19
20
|
*/
|
|
@@ -24,6 +25,9 @@ export const buildSignOperation = (signerContext) => ({ account, deviceId, trans
|
|
|
24
25
|
if (!transaction.fees) {
|
|
25
26
|
throw new FeeNotLoaded();
|
|
26
27
|
}
|
|
28
|
+
if (!transaction.protocolParams) {
|
|
29
|
+
throw new CardanoInvalidProtoParams();
|
|
30
|
+
}
|
|
27
31
|
const unsignedTransaction = yield buildTransaction(account, transaction);
|
|
28
32
|
const signerTransaction = typhonSerializer(unsignedTransaction, account.index);
|
|
29
33
|
const networkParams = getNetworkParameters(account.currency.id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signOperation.js","sourceRoot":"","sources":["../src/signOperation.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAKhD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"signOperation.js","sourceRoot":"","sources":["../src/signOperation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAW3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,eAAO,MAAM,iBAAiB,4DAC6B,WAAW,eACvD,OAAO,KACnB,MAgBF,CAAC;AAEF,eAAO,MAAM,kBAAkB,OAAQ,cAAc,KAAG,
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAW3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,eAAO,MAAM,iBAAiB,4DAC6B,WAAW,eACvD,OAAO,KACnB,MAgBF,CAAC;AAEF,eAAO,MAAM,kBAAkB,OAAQ,cAAc,KAAG,WAWvD,CAAC;AAEF,eAAO,MAAM,gBAAgB,MAAO,WAAW,KAAG,cAWjD,CAAC;;;;;;;;;AAEF,wBAOE"}
|
package/lib-es/transaction.js
CHANGED
|
@@ -19,12 +19,12 @@ export const formatTransaction = ({ mode, amount, recipient, useAllAmount, subAc
|
|
|
19
19
|
};
|
|
20
20
|
export const fromTransactionRaw = (tr) => {
|
|
21
21
|
const common = fromTransactionCommonRaw(tr);
|
|
22
|
-
return Object.assign(Object.assign({}, common), { family: tr.family, mode: tr.mode, fees: tr.fees ? new BigNumber(tr.fees) : undefined, memo: tr.memo, poolId: tr.poolId });
|
|
22
|
+
return Object.assign(Object.assign({}, common), { family: tr.family, mode: tr.mode, fees: tr.fees ? new BigNumber(tr.fees) : undefined, memo: tr.memo, poolId: tr.poolId, protocolParams: tr.protocolParams });
|
|
23
23
|
};
|
|
24
24
|
export const toTransactionRaw = (t) => {
|
|
25
25
|
var _a;
|
|
26
26
|
const common = toTransactionCommonRaw(t);
|
|
27
|
-
return Object.assign(Object.assign({}, common), { family: t.family, mode: t.mode, fees: ((_a = t.fees) === null || _a === void 0 ? void 0 : _a.toString()) || undefined, memo: t.memo, poolId: t.poolId });
|
|
27
|
+
return Object.assign(Object.assign({}, common), { family: t.family, mode: t.mode, fees: ((_a = t.fees) === null || _a === void 0 ? void 0 : _a.toString()) || undefined, memo: t.memo, poolId: t.poolId, protocolParams: t.protocolParams });
|
|
28
28
|
};
|
|
29
29
|
export default {
|
|
30
30
|
formatTransaction,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EACL,wBAAwB,EACxB,8BAA8B,IAAI,wBAAwB,EAC1D,sBAAsB,EACtB,4BAA4B,IAAI,sBAAsB,GACvD,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAG/E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAe,EACpE,WAAoB,EACZ,EAAE;IACV,MAAM,OAAO,GACX,CAAC,YAAY,IAAI,CAAC,WAAW,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC;QAClF,WAAW,CAAC;IACd,OAAO;IACL,IAAI,CAAC,WAAW,EAAE,IAClB,YAAY;QACV,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE;YACf,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,GAAG;gBACH,kBAAkB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE;oBAC/D,QAAQ,EAAE,IAAI;oBACd,eAAe,EAAE,IAAI;iBACtB,CACT,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAkB,EAAe,EAAE;IACpE,MAAM,MAAM,GAAG,wBAAwB,CAAC,EAAE,CAAC,CAAC;IAC5C,uCACK,MAAM,KACT,MAAM,EAAE,EAAE,CAAC,MAAM,EACjB,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAClD,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,MAAM,EAAE,EAAE,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EACL,wBAAwB,EACxB,8BAA8B,IAAI,wBAAwB,EAC1D,sBAAsB,EACtB,4BAA4B,IAAI,sBAAsB,GACvD,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAG/E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAe,EACpE,WAAoB,EACZ,EAAE;IACV,MAAM,OAAO,GACX,CAAC,YAAY,IAAI,CAAC,WAAW,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC;QAClF,WAAW,CAAC;IACd,OAAO;IACL,IAAI,CAAC,WAAW,EAAE,IAClB,YAAY;QACV,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE;YACf,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,GAAG;gBACH,kBAAkB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE;oBAC/D,QAAQ,EAAE,IAAI;oBACd,eAAe,EAAE,IAAI;iBACtB,CACT,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAkB,EAAe,EAAE;IACpE,MAAM,MAAM,GAAG,wBAAwB,CAAC,EAAE,CAAC,CAAC;IAC5C,uCACK,MAAM,KACT,MAAM,EAAE,EAAE,CAAC,MAAM,EACjB,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAClD,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,MAAM,EAAE,EAAE,CAAC,MAAM,EACjB,cAAc,EAAE,EAAE,CAAC,cAAc,IACjC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAc,EAAkB,EAAE;;IACjE,MAAM,MAAM,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;IACzC,uCACK,MAAM,KACT,MAAM,EAAE,CAAC,CAAC,MAAM,EAChB,IAAI,EAAE,CAAC,CAAC,IAAI,EACZ,IAAI,EAAE,CAAA,MAAA,CAAC,CAAC,IAAI,0CAAE,QAAQ,EAAE,KAAI,SAAS,EACrC,IAAI,EAAE,CAAC,CAAC,IAAI,EACZ,MAAM,EAAE,CAAC,CAAC,MAAM,EAChB,cAAc,EAAE,CAAC,CAAC,cAAc,IAChC;AACJ,CAAC,CAAC;AAEF,eAAe;IACb,iBAAiB;IACjB,kBAAkB;IAClB,gBAAgB;IAChB,wBAAwB;IACxB,sBAAsB;IACtB,uBAAuB;CACxB,CAAC"}
|
package/lib-es/types.d.ts
CHANGED
|
@@ -146,6 +146,7 @@ export type Transaction = TransactionCommon & {
|
|
|
146
146
|
fees?: BigNumber;
|
|
147
147
|
memo?: string;
|
|
148
148
|
poolId: string | undefined;
|
|
149
|
+
protocolParams?: ProtocolParams;
|
|
149
150
|
};
|
|
150
151
|
/**
|
|
151
152
|
* Cardano transaction from a raw JSON
|
|
@@ -156,6 +157,7 @@ export type TransactionRaw = TransactionCommonRaw & {
|
|
|
156
157
|
fees?: string;
|
|
157
158
|
memo?: string;
|
|
158
159
|
poolId: string | undefined;
|
|
160
|
+
protocolParams?: ProtocolParams;
|
|
159
161
|
};
|
|
160
162
|
export type CardanoLikeNetworkParameters = {
|
|
161
163
|
identifier: string;
|
package/lib-es/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ledgerhq/coin-cardano",
|
|
3
|
-
"version": "0.2.2
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "Ledger Cardano Coin integration",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Ledger",
|
|
@@ -59,15 +59,15 @@
|
|
|
59
59
|
"invariant": "^2.2.2",
|
|
60
60
|
"lodash": "^4.17.21",
|
|
61
61
|
"rxjs": "^7.8.1",
|
|
62
|
-
"@ledgerhq/coin-framework": "^0.18.
|
|
63
|
-
"@ledgerhq/cryptoassets": "^13.
|
|
62
|
+
"@ledgerhq/coin-framework": "^0.18.1",
|
|
63
|
+
"@ledgerhq/cryptoassets": "^13.5.0",
|
|
64
64
|
"@ledgerhq/devices": "^8.4.4",
|
|
65
65
|
"@ledgerhq/errors": "^6.19.1",
|
|
66
66
|
"@ledgerhq/live-env": "^2.3.0",
|
|
67
67
|
"@ledgerhq/live-network": "^2.0.1",
|
|
68
68
|
"@ledgerhq/logs": "^6.12.0",
|
|
69
|
-
"@ledgerhq/types-cryptoassets": "^7.
|
|
70
|
-
"@ledgerhq/types-live": "^6.
|
|
69
|
+
"@ledgerhq/types-cryptoassets": "^7.15.2",
|
|
70
|
+
"@ledgerhq/types-live": "^6.51.1"
|
|
71
71
|
},
|
|
72
72
|
"devDependencies": {
|
|
73
73
|
"@types/invariant": "^2.2.2",
|
package/src/bridge/index.ts
CHANGED
|
@@ -19,6 +19,8 @@ import { postSyncPatch } from "../postSyncPatch";
|
|
|
19
19
|
import { CardanoSigner } from "../signer";
|
|
20
20
|
import { broadcast } from "../broadcast";
|
|
21
21
|
import resolver from "../hw-getAddress";
|
|
22
|
+
import { CoinConfig } from "@ledgerhq/coin-framework/lib/config";
|
|
23
|
+
import cardanoCoinConfig, { CardanoCoinConfig } from "../config";
|
|
22
24
|
|
|
23
25
|
export function buildCurrencyBridge(signerContext: SignerContext<CardanoSigner>): CurrencyBridge {
|
|
24
26
|
const getAddress = resolver(signerContext);
|
|
@@ -61,7 +63,11 @@ export function buildAccountBridge(
|
|
|
61
63
|
};
|
|
62
64
|
}
|
|
63
65
|
|
|
64
|
-
export function createBridges(
|
|
66
|
+
export function createBridges(
|
|
67
|
+
signerContext: SignerContext<CardanoSigner>,
|
|
68
|
+
coinConfig: CoinConfig<CardanoCoinConfig>,
|
|
69
|
+
) {
|
|
70
|
+
cardanoCoinConfig.setCoinConfig(coinConfig);
|
|
65
71
|
return {
|
|
66
72
|
currencyBridge: buildCurrencyBridge(signerContext),
|
|
67
73
|
accountBridge: buildAccountBridge(signerContext),
|
package/src/buildTransaction.ts
CHANGED
|
@@ -6,7 +6,14 @@ import {
|
|
|
6
6
|
import BigNumber from "bignumber.js";
|
|
7
7
|
import type { TokenAccount } from "@ledgerhq/types-live";
|
|
8
8
|
import { RewardAddress } from "@stricahq/typhonjs/dist/address";
|
|
9
|
-
import {
|
|
9
|
+
import {
|
|
10
|
+
getAccountStakeCredential,
|
|
11
|
+
getBaseAddress,
|
|
12
|
+
getTTL,
|
|
13
|
+
mergeTokens,
|
|
14
|
+
isTestnet,
|
|
15
|
+
isProtocolParamsValid,
|
|
16
|
+
} from "./logic";
|
|
10
17
|
import { decodeTokenAssetId, decodeTokenCurrencyId, getTokenAssetId } from "./buildSubAccounts";
|
|
11
18
|
import { getNetworkParameters } from "./networks";
|
|
12
19
|
import {
|
|
@@ -18,6 +25,7 @@ import {
|
|
|
18
25
|
Transaction,
|
|
19
26
|
} from "./types";
|
|
20
27
|
import { CARDANO_MAX_SUPPLY } from "./constants";
|
|
28
|
+
import { CardanoInvalidProtoParams } from "./errors";
|
|
21
29
|
|
|
22
30
|
function getTyphonInputFromUtxo(utxo: CardanoOutput): TyphonTypes.Input {
|
|
23
31
|
const address = TyphonUtils.getAddressFromHex(
|
|
@@ -365,7 +373,11 @@ export const buildTransaction = async (
|
|
|
365
373
|
transaction: Transaction,
|
|
366
374
|
): Promise<TyphonTransaction> => {
|
|
367
375
|
const cardanoResources = account.cardanoResources as CardanoResources;
|
|
368
|
-
const protocolParams =
|
|
376
|
+
const { protocolParams } = transaction;
|
|
377
|
+
|
|
378
|
+
if (!protocolParams || !isProtocolParamsValid(protocolParams)) {
|
|
379
|
+
throw new CardanoInvalidProtoParams();
|
|
380
|
+
}
|
|
369
381
|
|
|
370
382
|
const typhonTx = new TyphonTransaction({
|
|
371
383
|
protocolParams: {
|
package/src/config.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import buildCoinConfig, { type CurrencyConfig } from "@ledgerhq/coin-framework/config";
|
|
2
|
+
|
|
3
|
+
export type CardanoConfig = {
|
|
4
|
+
maxFeesWarning: number;
|
|
5
|
+
maxFeesError: number;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export type CardanoCoinConfig = CurrencyConfig & CardanoConfig;
|
|
9
|
+
|
|
10
|
+
const coinConfig = buildCoinConfig<CardanoCoinConfig>();
|
|
11
|
+
|
|
12
|
+
export default coinConfig;
|
package/src/errors.ts
CHANGED
|
@@ -16,3 +16,11 @@ export const CardanoStakeKeyDepositError = createCustomErrorClass("CardanoStakeK
|
|
|
16
16
|
export const CardanoNotEnoughFunds = createCustomErrorClass("CardanoNotEnoughFunds");
|
|
17
17
|
|
|
18
18
|
export const CardanoInvalidPoolId = createCustomErrorClass("CardanoInvalidPoolId");
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Cardano warning/error for high fees
|
|
22
|
+
*/
|
|
23
|
+
export const CardanoFeeHigh = createCustomErrorClass("CardanoFeeHigh");
|
|
24
|
+
export const CardanoFeeTooHigh = createCustomErrorClass("CardanoFeeTooHigh");
|
|
25
|
+
|
|
26
|
+
export const CardanoInvalidProtoParams = createCustomErrorClass("CardanoInvalidProtoParams");
|
|
@@ -10,6 +10,7 @@ import { getMainAccount } from "@ledgerhq/coin-framework/account/index";
|
|
|
10
10
|
import type { CardanoAccount, Transaction } from "./types";
|
|
11
11
|
import { createTransaction } from "./createTransaction";
|
|
12
12
|
import { buildTransaction } from "./buildTransaction";
|
|
13
|
+
import { prepareTransaction } from "./prepareTransaction";
|
|
13
14
|
|
|
14
15
|
/**
|
|
15
16
|
* Returns the maximum possible amount for transaction
|
|
@@ -32,7 +33,7 @@ export const estimateMaxSpendable: AccountBridge<
|
|
|
32
33
|
|
|
33
34
|
const dummyRecipient =
|
|
34
35
|
"addr1qyqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv2t5am";
|
|
35
|
-
|
|
36
|
+
let t: Transaction = {
|
|
36
37
|
...createTransaction(account),
|
|
37
38
|
...transaction,
|
|
38
39
|
recipient: dummyRecipient,
|
|
@@ -42,6 +43,7 @@ export const estimateMaxSpendable: AccountBridge<
|
|
|
42
43
|
};
|
|
43
44
|
let typhonTransaction: TyphonTransaction;
|
|
44
45
|
try {
|
|
46
|
+
t = await prepareTransaction(account, t);
|
|
45
47
|
typhonTransaction = await buildTransaction(mainAccount, t);
|
|
46
48
|
} catch (error) {
|
|
47
49
|
log("cardano-error", "Failed to estimate max spendable: " + String(error));
|
|
@@ -19,6 +19,8 @@ import {
|
|
|
19
19
|
CardanoStakeKeyDepositError,
|
|
20
20
|
CardanoMinAmountError,
|
|
21
21
|
CardanoNotEnoughFunds,
|
|
22
|
+
CardanoFeeTooHigh,
|
|
23
|
+
CardanoFeeHigh,
|
|
22
24
|
} from "./errors";
|
|
23
25
|
import type {
|
|
24
26
|
CardanoAccount,
|
|
@@ -28,6 +30,7 @@ import type {
|
|
|
28
30
|
TransactionStatus,
|
|
29
31
|
} from "./types";
|
|
30
32
|
import { CARDANO_MAX_SUPPLY } from "./constants";
|
|
33
|
+
import coinConfig from "./config";
|
|
31
34
|
|
|
32
35
|
export const getTransactionStatus: AccountBridge<
|
|
33
36
|
Transaction,
|
|
@@ -51,15 +54,28 @@ export const getTransactionStatus: AccountBridge<
|
|
|
51
54
|
});
|
|
52
55
|
}
|
|
53
56
|
|
|
57
|
+
let txStatus: TransactionStatus;
|
|
58
|
+
|
|
54
59
|
if (transaction.mode === "send") {
|
|
55
|
-
|
|
60
|
+
txStatus = await getSendTransactionStatus(account, transaction);
|
|
56
61
|
} else if (transaction.mode === "delegate") {
|
|
57
|
-
|
|
62
|
+
txStatus = await getDelegateTransactionStatus(account, transaction);
|
|
58
63
|
} else if (transaction.mode === "undelegate") {
|
|
59
|
-
|
|
64
|
+
txStatus = await getUndelegateTransactionStatus(account, transaction);
|
|
60
65
|
} else {
|
|
61
66
|
throw new Error("Invalid transaction mode");
|
|
62
67
|
}
|
|
68
|
+
|
|
69
|
+
const MAX_FEES_WARN = coinConfig.getCoinConfig().maxFeesWarning;
|
|
70
|
+
const MAX_FEES_THROW = coinConfig.getCoinConfig().maxFeesError;
|
|
71
|
+
|
|
72
|
+
if (txStatus.estimatedFees.gt(MAX_FEES_THROW)) {
|
|
73
|
+
throw new CardanoFeeTooHigh();
|
|
74
|
+
} else if (txStatus.estimatedFees.gt(MAX_FEES_WARN)) {
|
|
75
|
+
txStatus.warnings.feeTooHigh = new CardanoFeeHigh();
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
return txStatus;
|
|
63
79
|
};
|
|
64
80
|
|
|
65
81
|
async function getSendTransactionStatus(
|
package/src/logic.ts
CHANGED
|
@@ -20,6 +20,7 @@ import {
|
|
|
20
20
|
StakeChain,
|
|
21
21
|
StakeCredential,
|
|
22
22
|
Token,
|
|
23
|
+
ProtocolParams,
|
|
23
24
|
} from "./types";
|
|
24
25
|
import { Bip32PublicKey } from "@stricahq/bip32ed25519";
|
|
25
26
|
import BigNumber from "bignumber.js";
|
|
@@ -328,3 +329,26 @@ export function getBech32PoolId(poolId: string, networkName: string): string {
|
|
|
328
329
|
const encoded = bech32.encode(networkParams.poolIdPrefix, words, 1000);
|
|
329
330
|
return encoded;
|
|
330
331
|
}
|
|
332
|
+
|
|
333
|
+
export function isValidNumString(value: unknown): boolean {
|
|
334
|
+
if (typeof value !== "string" && typeof value !== "number") return false;
|
|
335
|
+
if (isNaN(Number(value))) return false;
|
|
336
|
+
if (new BigNumber(value).isNaN()) return false;
|
|
337
|
+
return true;
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
export function isProtocolParamsValid(pp: ProtocolParams): boolean {
|
|
341
|
+
const paramsRequiredCheck = [
|
|
342
|
+
pp.minFeeA,
|
|
343
|
+
pp.minFeeB,
|
|
344
|
+
pp.stakeKeyDeposit,
|
|
345
|
+
pp.lovelacePerUtxoWord,
|
|
346
|
+
pp.collateralPercent,
|
|
347
|
+
pp.priceSteps,
|
|
348
|
+
pp.priceMem,
|
|
349
|
+
pp.maxTxSize,
|
|
350
|
+
pp.maxValueSize,
|
|
351
|
+
pp.utxoCostPerByte,
|
|
352
|
+
];
|
|
353
|
+
return paramsRequiredCheck.every(isValidNumString);
|
|
354
|
+
}
|
package/src/logic.unit.test.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import BigNumber from "bignumber.js";
|
|
2
|
-
import { canStake, isAlreadyStaking } from "./logic";
|
|
2
|
+
import { canStake, isAlreadyStaking, isValidNumString } from "./logic";
|
|
3
3
|
import { CardanoAccount } from "./types";
|
|
4
4
|
|
|
5
5
|
describe("canStake", () => {
|
|
@@ -37,3 +37,20 @@ describe("isAlreadyStaking", () => {
|
|
|
37
37
|
expect(isAlreadyStaking(noResourcesAcc)).toEqual(true);
|
|
38
38
|
});
|
|
39
39
|
});
|
|
40
|
+
|
|
41
|
+
describe("isValidNumString", () => {
|
|
42
|
+
it("should return false for invalid number", () => {
|
|
43
|
+
expect(isValidNumString("")).toEqual(false);
|
|
44
|
+
expect(isValidNumString(undefined)).toEqual(false);
|
|
45
|
+
expect(isValidNumString(null)).toEqual(false);
|
|
46
|
+
expect(isValidNumString({})).toEqual(false);
|
|
47
|
+
expect(isValidNumString([])).toEqual(false);
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
it("should return true for valid number", () => {
|
|
51
|
+
expect(isValidNumString(123)).toEqual(true);
|
|
52
|
+
expect(isValidNumString(123.321)).toEqual(true);
|
|
53
|
+
expect(isValidNumString("123")).toEqual(true);
|
|
54
|
+
expect(isValidNumString("123.321")).toEqual(true);
|
|
55
|
+
});
|
|
56
|
+
});
|
|
@@ -5,6 +5,7 @@ import { defaultUpdateTransaction } from "@ledgerhq/coin-framework/bridge/jsHelp
|
|
|
5
5
|
import { CardanoAccount, Transaction } from "./types";
|
|
6
6
|
import { buildTransaction } from "./buildTransaction";
|
|
7
7
|
import { AccountBridge } from "@ledgerhq/types-live";
|
|
8
|
+
import { fetchNetworkInfo } from "./api/getNetworkInfo";
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* Prepare transaction before checking status
|
|
@@ -17,6 +18,14 @@ export const prepareTransaction: AccountBridge<
|
|
|
17
18
|
CardanoAccount
|
|
18
19
|
>["prepareTransaction"] = async (account, transaction) => {
|
|
19
20
|
let patch = {};
|
|
21
|
+
|
|
22
|
+
if (!transaction.protocolParams) {
|
|
23
|
+
const networkInfo = await fetchNetworkInfo(account.currency);
|
|
24
|
+
transaction = defaultUpdateTransaction(transaction, {
|
|
25
|
+
protocolParams: networkInfo.protocolParams,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
|
|
20
29
|
try {
|
|
21
30
|
const cardanoTransaction = await buildTransaction(account, transaction);
|
|
22
31
|
const transactionFees = cardanoTransaction.getFee();
|
package/src/signOperation.ts
CHANGED
|
@@ -11,6 +11,7 @@ import { buildTransaction } from "./buildTransaction";
|
|
|
11
11
|
import { getNetworkParameters } from "./networks";
|
|
12
12
|
import { CardanoSigner, Witness } from "./signer";
|
|
13
13
|
import typhonSerializer from "./typhonSerializer";
|
|
14
|
+
import { CardanoInvalidProtoParams } from "./errors";
|
|
14
15
|
|
|
15
16
|
/**
|
|
16
17
|
* Sign Transaction with Ledger hardware
|
|
@@ -28,6 +29,10 @@ export const buildSignOperation =
|
|
|
28
29
|
throw new FeeNotLoaded();
|
|
29
30
|
}
|
|
30
31
|
|
|
32
|
+
if (!transaction.protocolParams) {
|
|
33
|
+
throw new CardanoInvalidProtoParams();
|
|
34
|
+
}
|
|
35
|
+
|
|
31
36
|
const unsignedTransaction = await buildTransaction(account, transaction);
|
|
32
37
|
const signerTransaction = typhonSerializer(unsignedTransaction, account.index);
|
|
33
38
|
|
package/src/transaction.ts
CHANGED
|
@@ -41,6 +41,7 @@ export const fromTransactionRaw = (tr: TransactionRaw): Transaction => {
|
|
|
41
41
|
fees: tr.fees ? new BigNumber(tr.fees) : undefined,
|
|
42
42
|
memo: tr.memo,
|
|
43
43
|
poolId: tr.poolId,
|
|
44
|
+
protocolParams: tr.protocolParams,
|
|
44
45
|
};
|
|
45
46
|
};
|
|
46
47
|
|
|
@@ -53,6 +54,7 @@ export const toTransactionRaw = (t: Transaction): TransactionRaw => {
|
|
|
53
54
|
fees: t.fees?.toString() || undefined,
|
|
54
55
|
memo: t.memo,
|
|
55
56
|
poolId: t.poolId,
|
|
57
|
+
protocolParams: t.protocolParams,
|
|
56
58
|
};
|
|
57
59
|
};
|
|
58
60
|
|
package/src/types.ts
CHANGED
|
@@ -177,6 +177,7 @@ export type Transaction = TransactionCommon & {
|
|
|
177
177
|
fees?: BigNumber;
|
|
178
178
|
memo?: string;
|
|
179
179
|
poolId: string | undefined;
|
|
180
|
+
protocolParams?: ProtocolParams;
|
|
180
181
|
// add here all transaction-specific fields if you implement other modes than "send"
|
|
181
182
|
};
|
|
182
183
|
|
|
@@ -189,6 +190,7 @@ export type TransactionRaw = TransactionCommonRaw & {
|
|
|
189
190
|
fees?: string;
|
|
190
191
|
memo?: string;
|
|
191
192
|
poolId: string | undefined;
|
|
193
|
+
protocolParams?: ProtocolParams;
|
|
192
194
|
// also the transaction fields as raw JSON data
|
|
193
195
|
};
|
|
194
196
|
|