@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.
Files changed (91) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +8 -6
  3. package/lib/bridge/index.d.ts +3 -1
  4. package/lib/bridge/index.d.ts.map +1 -1
  5. package/lib/bridge/index.js +3 -1
  6. package/lib/bridge/index.js.map +1 -1
  7. package/lib/buildTransaction.d.ts.map +1 -1
  8. package/lib/buildTransaction.js +5 -1
  9. package/lib/buildTransaction.js.map +1 -1
  10. package/lib/config.d.ts +12 -0
  11. package/lib/config.d.ts.map +1 -0
  12. package/lib/config.js +9 -0
  13. package/lib/config.js.map +1 -0
  14. package/lib/errors.d.ts +12 -0
  15. package/lib/errors.d.ts.map +1 -1
  16. package/lib/errors.js +7 -1
  17. package/lib/errors.js.map +1 -1
  18. package/lib/estimateMaxSpendable.d.ts.map +1 -1
  19. package/lib/estimateMaxSpendable.js +3 -1
  20. package/lib/estimateMaxSpendable.js.map +1 -1
  21. package/lib/getTransactionStatus.d.ts.map +1 -1
  22. package/lib/getTransactionStatus.js +17 -3
  23. package/lib/getTransactionStatus.js.map +1 -1
  24. package/lib/logic.d.ts +3 -1
  25. package/lib/logic.d.ts.map +1 -1
  26. package/lib/logic.js +27 -1
  27. package/lib/logic.js.map +1 -1
  28. package/lib/logic.unit.test.js +15 -0
  29. package/lib/logic.unit.test.js.map +1 -1
  30. package/lib/prepareTransaction.d.ts.map +1 -1
  31. package/lib/prepareTransaction.js +7 -0
  32. package/lib/prepareTransaction.js.map +1 -1
  33. package/lib/signOperation.d.ts.map +1 -1
  34. package/lib/signOperation.js +4 -0
  35. package/lib/signOperation.js.map +1 -1
  36. package/lib/transaction.d.ts.map +1 -1
  37. package/lib/transaction.js +2 -2
  38. package/lib/transaction.js.map +1 -1
  39. package/lib/types.d.ts +2 -0
  40. package/lib/types.d.ts.map +1 -1
  41. package/lib-es/bridge/index.d.ts +3 -1
  42. package/lib-es/bridge/index.d.ts.map +1 -1
  43. package/lib-es/bridge/index.js +3 -1
  44. package/lib-es/bridge/index.js.map +1 -1
  45. package/lib-es/buildTransaction.d.ts.map +1 -1
  46. package/lib-es/buildTransaction.js +6 -2
  47. package/lib-es/buildTransaction.js.map +1 -1
  48. package/lib-es/config.d.ts +12 -0
  49. package/lib-es/config.d.ts.map +1 -0
  50. package/lib-es/config.js +4 -0
  51. package/lib-es/config.js.map +1 -0
  52. package/lib-es/errors.d.ts +12 -0
  53. package/lib-es/errors.d.ts.map +1 -1
  54. package/lib-es/errors.js +6 -0
  55. package/lib-es/errors.js.map +1 -1
  56. package/lib-es/estimateMaxSpendable.d.ts.map +1 -1
  57. package/lib-es/estimateMaxSpendable.js +3 -1
  58. package/lib-es/estimateMaxSpendable.js.map +1 -1
  59. package/lib-es/getTransactionStatus.d.ts.map +1 -1
  60. package/lib-es/getTransactionStatus.js +15 -4
  61. package/lib-es/getTransactionStatus.js.map +1 -1
  62. package/lib-es/logic.d.ts +3 -1
  63. package/lib-es/logic.d.ts.map +1 -1
  64. package/lib-es/logic.js +24 -0
  65. package/lib-es/logic.js.map +1 -1
  66. package/lib-es/logic.unit.test.js +16 -1
  67. package/lib-es/logic.unit.test.js.map +1 -1
  68. package/lib-es/prepareTransaction.d.ts.map +1 -1
  69. package/lib-es/prepareTransaction.js +7 -0
  70. package/lib-es/prepareTransaction.js.map +1 -1
  71. package/lib-es/signOperation.d.ts.map +1 -1
  72. package/lib-es/signOperation.js +4 -0
  73. package/lib-es/signOperation.js.map +1 -1
  74. package/lib-es/transaction.d.ts.map +1 -1
  75. package/lib-es/transaction.js +2 -2
  76. package/lib-es/transaction.js.map +1 -1
  77. package/lib-es/types.d.ts +2 -0
  78. package/lib-es/types.d.ts.map +1 -1
  79. package/package.json +5 -5
  80. package/src/bridge/index.ts +7 -1
  81. package/src/buildTransaction.ts +14 -2
  82. package/src/config.ts +12 -0
  83. package/src/errors.ts +8 -0
  84. package/src/estimateMaxSpendable.ts +3 -1
  85. package/src/getTransactionStatus.ts +19 -3
  86. package/src/logic.ts +24 -0
  87. package/src/logic.unit.test.ts +18 -1
  88. package/src/prepareTransaction.ts +9 -0
  89. package/src/signOperation.ts +5 -0
  90. package/src/transaction.ts +2 -0
  91. 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;AAGtD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAGL,CAAO,OAAO,EAAE,WAAW,EAAE,EAAE;IACvD,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,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
+ {"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;AAGlD;;GAEG;AACH,eAAO,MAAM,kBAAkB,kBAEZ,cAAc,aAAa,CAAC,KAC1C,cAAc,WAAW,EAAE,cAAc,CAAC,CAAC,eAAe,CAwCzD,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"}
@@ -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":"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"}
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,WAUvD,CAAC;AAEF,eAAO,MAAM,gBAAgB,MAAO,WAAW,KAAG,cAUjD,CAAC;;;;;;;;;AAEF,wBAOE"}
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"}
@@ -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,IACjB;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,IAChB;AACJ,CAAC,CAAC;AAEF,eAAe;IACb,iBAAiB;IACjB,kBAAkB;IAClB,gBAAgB;IAChB,wBAAwB;IACxB,sBAAsB;IACtB,uBAAuB;CACxB,CAAC"}
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;
@@ -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-next.0",
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.2-next.0",
63
- "@ledgerhq/cryptoassets": "^13.6.0-next.0",
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.16.0-next.0",
70
- "@ledgerhq/types-live": "^6.52.0-next.0"
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",
@@ -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(signerContext: SignerContext<CardanoSigner>) {
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),
@@ -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 { getAccountStakeCredential, getBaseAddress, getTTL, mergeTokens, isTestnet } from "./logic";
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 = cardanoResources.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
- const t: Transaction = {
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
- return getSendTransactionStatus(account, transaction);
60
+ txStatus = await getSendTransactionStatus(account, transaction);
56
61
  } else if (transaction.mode === "delegate") {
57
- return getDelegateTransactionStatus(account, transaction);
62
+ txStatus = await getDelegateTransactionStatus(account, transaction);
58
63
  } else if (transaction.mode === "undelegate") {
59
- return getUndelegateTransactionStatus(account, transaction);
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
+ }
@@ -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();
@@ -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
 
@@ -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