@cardano-sdk/hardware-trezor 0.2.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.
Files changed (112) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +5 -0
  3. package/README.md +1 -0
  4. package/dist/cjs/TrezorKeyAgent.d.ts +34 -0
  5. package/dist/cjs/TrezorKeyAgent.d.ts.map +1 -0
  6. package/dist/cjs/TrezorKeyAgent.js +179 -0
  7. package/dist/cjs/TrezorKeyAgent.js.map +1 -0
  8. package/dist/cjs/index.d.ts +4 -0
  9. package/dist/cjs/index.d.ts.map +1 -0
  10. package/dist/cjs/index.js +20 -0
  11. package/dist/cjs/index.js.map +1 -0
  12. package/dist/cjs/package.json +3 -0
  13. package/dist/cjs/transformers/additionalWitnessRequests.d.ts +5 -0
  14. package/dist/cjs/transformers/additionalWitnessRequests.d.ts.map +1 -0
  15. package/dist/cjs/transformers/additionalWitnessRequests.js +25 -0
  16. package/dist/cjs/transformers/additionalWitnessRequests.js.map +1 -0
  17. package/dist/cjs/transformers/assets.d.ts +4 -0
  18. package/dist/cjs/transformers/assets.d.ts.map +1 -0
  19. package/dist/cjs/transformers/assets.js +39 -0
  20. package/dist/cjs/transformers/assets.js.map +1 -0
  21. package/dist/cjs/transformers/auxiliaryData.d.ts +4 -0
  22. package/dist/cjs/transformers/auxiliaryData.d.ts.map +1 -0
  23. package/dist/cjs/transformers/auxiliaryData.js +8 -0
  24. package/dist/cjs/transformers/auxiliaryData.js.map +1 -0
  25. package/dist/cjs/transformers/certificates.d.ts +11 -0
  26. package/dist/cjs/transformers/certificates.d.ts.map +1 -0
  27. package/dist/cjs/transformers/certificates.js +131 -0
  28. package/dist/cjs/transformers/certificates.js.map +1 -0
  29. package/dist/cjs/transformers/index.d.ts +7 -0
  30. package/dist/cjs/transformers/index.d.ts.map +1 -0
  31. package/dist/cjs/transformers/index.js +23 -0
  32. package/dist/cjs/transformers/index.js.map +1 -0
  33. package/dist/cjs/transformers/keyPaths.d.ts +6 -0
  34. package/dist/cjs/transformers/keyPaths.d.ts.map +1 -0
  35. package/dist/cjs/transformers/keyPaths.js +20 -0
  36. package/dist/cjs/transformers/keyPaths.js.map +1 -0
  37. package/dist/cjs/transformers/tx.d.ts +10 -0
  38. package/dist/cjs/transformers/tx.d.ts.map +1 -0
  39. package/dist/cjs/transformers/tx.js +30 -0
  40. package/dist/cjs/transformers/tx.js.map +1 -0
  41. package/dist/cjs/transformers/txIn.d.ts +7 -0
  42. package/dist/cjs/transformers/txIn.d.ts.map +1 -0
  43. package/dist/cjs/transformers/txIn.js +16 -0
  44. package/dist/cjs/transformers/txIn.js.map +1 -0
  45. package/dist/cjs/transformers/txOut.d.ts +6 -0
  46. package/dist/cjs/transformers/txOut.d.ts.map +1 -0
  47. package/dist/cjs/transformers/txOut.js +65 -0
  48. package/dist/cjs/transformers/txOut.js.map +1 -0
  49. package/dist/cjs/transformers/withdrawals.d.ts +6 -0
  50. package/dist/cjs/transformers/withdrawals.d.ts.map +1 -0
  51. package/dist/cjs/transformers/withdrawals.js +36 -0
  52. package/dist/cjs/transformers/withdrawals.js.map +1 -0
  53. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  54. package/dist/cjs/types.d.ts +14 -0
  55. package/dist/cjs/types.d.ts.map +1 -0
  56. package/dist/cjs/types.js +3 -0
  57. package/dist/cjs/types.js.map +1 -0
  58. package/dist/esm/TrezorKeyAgent.d.ts +34 -0
  59. package/dist/esm/TrezorKeyAgent.d.ts.map +1 -0
  60. package/dist/esm/TrezorKeyAgent.js +149 -0
  61. package/dist/esm/TrezorKeyAgent.js.map +1 -0
  62. package/dist/esm/index.d.ts +4 -0
  63. package/dist/esm/index.d.ts.map +1 -0
  64. package/dist/esm/index.js +4 -0
  65. package/dist/esm/index.js.map +1 -0
  66. package/dist/esm/package.json +4 -0
  67. package/dist/esm/transformers/additionalWitnessRequests.d.ts +5 -0
  68. package/dist/esm/transformers/additionalWitnessRequests.d.ts.map +1 -0
  69. package/dist/esm/transformers/additionalWitnessRequests.js +18 -0
  70. package/dist/esm/transformers/additionalWitnessRequests.js.map +1 -0
  71. package/dist/esm/transformers/assets.d.ts +4 -0
  72. package/dist/esm/transformers/assets.d.ts.map +1 -0
  73. package/dist/esm/transformers/assets.js +35 -0
  74. package/dist/esm/transformers/assets.js.map +1 -0
  75. package/dist/esm/transformers/auxiliaryData.d.ts +4 -0
  76. package/dist/esm/transformers/auxiliaryData.d.ts.map +1 -0
  77. package/dist/esm/transformers/auxiliaryData.js +4 -0
  78. package/dist/esm/transformers/auxiliaryData.js.map +1 -0
  79. package/dist/esm/transformers/certificates.d.ts +11 -0
  80. package/dist/esm/transformers/certificates.d.ts.map +1 -0
  81. package/dist/esm/transformers/certificates.js +103 -0
  82. package/dist/esm/transformers/certificates.js.map +1 -0
  83. package/dist/esm/transformers/index.d.ts +7 -0
  84. package/dist/esm/transformers/index.d.ts.map +1 -0
  85. package/dist/esm/transformers/index.js +7 -0
  86. package/dist/esm/transformers/index.js.map +1 -0
  87. package/dist/esm/transformers/keyPaths.d.ts +6 -0
  88. package/dist/esm/transformers/keyPaths.d.ts.map +1 -0
  89. package/dist/esm/transformers/keyPaths.js +15 -0
  90. package/dist/esm/transformers/keyPaths.js.map +1 -0
  91. package/dist/esm/transformers/tx.d.ts +10 -0
  92. package/dist/esm/transformers/tx.d.ts.map +1 -0
  93. package/dist/esm/transformers/tx.js +26 -0
  94. package/dist/esm/transformers/tx.js.map +1 -0
  95. package/dist/esm/transformers/txIn.d.ts +7 -0
  96. package/dist/esm/transformers/txIn.d.ts.map +1 -0
  97. package/dist/esm/transformers/txIn.js +11 -0
  98. package/dist/esm/transformers/txIn.js.map +1 -0
  99. package/dist/esm/transformers/txOut.d.ts +6 -0
  100. package/dist/esm/transformers/txOut.d.ts.map +1 -0
  101. package/dist/esm/transformers/txOut.js +37 -0
  102. package/dist/esm/transformers/txOut.js.map +1 -0
  103. package/dist/esm/transformers/withdrawals.d.ts +6 -0
  104. package/dist/esm/transformers/withdrawals.d.ts.map +1 -0
  105. package/dist/esm/transformers/withdrawals.js +31 -0
  106. package/dist/esm/transformers/withdrawals.js.map +1 -0
  107. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  108. package/dist/esm/types.d.ts +14 -0
  109. package/dist/esm/types.d.ts.map +1 -0
  110. package/dist/esm/types.js +2 -0
  111. package/dist/esm/types.js.map +1 -0
  112. package/package.json +69 -0
@@ -0,0 +1,11 @@
1
+ import { resolvePaymentKeyPathForTxIn } from './keyPaths';
2
+ export const toTrezorTxIn = async (txIn, context) => {
3
+ const path = await resolvePaymentKeyPathForTxIn(txIn, context);
4
+ return {
5
+ prev_hash: txIn.txId,
6
+ prev_index: txIn.index,
7
+ ...(path ? { path } : {})
8
+ };
9
+ };
10
+ export const mapTxIns = async (txIns, context) => Promise.all(txIns.map((txIn) => toTrezorTxIn(txIn, context)));
11
+ //# sourceMappingURL=txIn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"txIn.js","sourceRoot":"","sources":["../../../src/transformers/txIn.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAM1D,MAAM,CAAC,MAAM,YAAY,GAAsF,KAAK,EAClH,IAAI,EACJ,OAAQ,EACR,EAAE;IACF,MAAM,IAAI,GAAG,MAAM,4BAA4B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/D,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,IAAI;QACpB,UAAU,EAAE,IAAI,CAAC,KAAK;QACtB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1B,CAAC;AACJ,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAC3B,KAAqB,EACrB,OAAmC,EACH,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import * as Trezor from '@trezor/connect';
2
+ import { Cardano } from '@cardano-sdk/core';
3
+ import { TrezorTxTransformerContext } from '../types';
4
+ export declare const toTxOut: (txOut: Cardano.TxOut, context: TrezorTxTransformerContext) => Trezor.CardanoOutput;
5
+ export declare const mapTxOuts: (txOuts: Cardano.TxOut[], context: TrezorTxTransformerContext) => Trezor.CardanoOutput[];
6
+ //# sourceMappingURL=txOut.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"txOut.d.ts","sourceRoot":"","sources":["../../../src/transformers/txOut.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,OAAO,EAA6B,0BAA0B,EAAE,MAAM,UAAU,CAAC;AA8BjF,eAAO,MAAM,OAAO,UAAW,QAAQ,KAAK,WAAW,0BAA0B,KAAG,OAAO,aAW1F,CAAC;AAEF,eAAO,MAAM,SAAS,WAAY,QAAQ,KAAK,EAAE,WAAW,0BAA0B,KAAG,OAAO,aAAa,EAC7D,CAAC"}
@@ -0,0 +1,37 @@
1
+ import * as Trezor from '@trezor/connect';
2
+ import { util } from '@cardano-sdk/key-management';
3
+ import { InvalidArgumentError } from '@cardano-sdk/util';
4
+ import { mapTokenMap } from './assets';
5
+ const toDestination = (txOut, context) => {
6
+ const knownAddress = context?.knownAddresses.find((address) => address.address === txOut.address);
7
+ if (!knownAddress) {
8
+ return {
9
+ address: txOut.address
10
+ };
11
+ }
12
+ const paymentPath = util.paymentKeyPathFromGroupedAddress(knownAddress);
13
+ const stakingPath = util.stakeKeyPathFromGroupedAddress(knownAddress);
14
+ if (!stakingPath)
15
+ throw new InvalidArgumentError('txOut', 'Missing staking key key path.');
16
+ return {
17
+ addressParameters: {
18
+ addressType: Trezor.PROTO.CardanoAddressType.BASE,
19
+ path: paymentPath,
20
+ stakingPath
21
+ }
22
+ };
23
+ };
24
+ export const toTxOut = (txOut, context) => {
25
+ const destination = toDestination(txOut, context);
26
+ const trezorTxOut = {
27
+ ...destination,
28
+ amount: txOut.value.coins.toString()
29
+ };
30
+ if (txOut.value.assets) {
31
+ const tokenBundle = mapTokenMap(txOut.value.assets);
32
+ Object.assign(trezorTxOut, { tokenBundle });
33
+ }
34
+ return trezorTxOut;
35
+ };
36
+ export const mapTxOuts = (txOuts, context) => txOuts.map((txOut) => toTxOut(txOut, context));
37
+ //# sourceMappingURL=txOut.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"txOut.js","sourceRoot":"","sources":["../../../src/transformers/txOut.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAkB,IAAI,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAa,MAAM,mBAAmB,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,aAAa,GAAoF,CACrG,KAAK,EACL,OAAO,EACP,EAAE;IACF,MAAM,YAAY,GAAG,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,OAAuB,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC;IAElH,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC;KACH;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,gCAAgC,CAAC,YAAY,CAAC,CAAC;IACxE,MAAM,WAAW,GAAG,IAAI,CAAC,8BAA8B,CAAC,YAAY,CAAC,CAAC;IAEtE,IAAI,CAAC,WAAW;QAAE,MAAM,IAAI,oBAAoB,CAAC,OAAO,EAAE,+BAA+B,CAAC,CAAC;IAE3F,OAAO;QACL,iBAAiB,EAAE;YACjB,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI;YACjD,IAAI,EAAE,WAAW;YACjB,WAAW;SACZ;KACF,CAAC;AACJ,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAoB,EAAE,OAAmC,EAAwB,EAAE;IACzG,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG;QAClB,GAAG,WAAW;QACd,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE;KACrC,CAAC;IACF,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE;QACtB,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;KAC7C;IACD,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAAuB,EAAE,OAAmC,EAA0B,EAAE,CAChH,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import * as Trezor from '@trezor/connect';
2
+ import { Cardano } from '@cardano-sdk/core';
3
+ import { TrezorTxTransformerContext } from '../types';
4
+ export declare const toTrezorWithdrawal: (withdrawal: Cardano.Withdrawal, context: TrezorTxTransformerContext) => Trezor.CardanoWithdrawal;
5
+ export declare const mapWithdrawals: (withdrawals: Cardano.Withdrawal[], context: TrezorTxTransformerContext) => Trezor.CardanoWithdrawal[];
6
+ //# sourceMappingURL=withdrawals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withdrawals.d.ts","sourceRoot":"","sources":["../../../src/transformers/withdrawals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAGtD,eAAO,MAAM,kBAAkB,eACjB,QAAQ,UAAU,WACrB,0BAA0B,KAClC,OAAO,iBAiCT,CAAC;AAEF,eAAO,MAAM,cAAc,gBACZ,QAAQ,UAAU,EAAE,WACxB,0BAA0B,KAClC,OAAO,iBAAiB,EAAsF,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { Cardano } from '@cardano-sdk/core';
2
+ import { InvalidArgumentError } from '@cardano-sdk/util';
3
+ import { resolveStakeKeyPath } from './keyPaths';
4
+ export const toTrezorWithdrawal = (withdrawal, context) => {
5
+ const address = Cardano.Address.fromString(withdrawal.stakeAddress);
6
+ const rewardAddress = address?.asReward();
7
+ if (!rewardAddress)
8
+ throw new InvalidArgumentError('withdrawal', 'Invalid withdrawal stake address');
9
+ let trezorWithdrawal;
10
+ if (rewardAddress.getPaymentCredential().type === Cardano.CredentialType.KeyHash) {
11
+ const keyPath = resolveStakeKeyPath(rewardAddress, context);
12
+ trezorWithdrawal = keyPath
13
+ ? {
14
+ amount: withdrawal.quantity.toString(),
15
+ path: keyPath
16
+ }
17
+ : {
18
+ amount: withdrawal.quantity.toString(),
19
+ keyHash: rewardAddress.getPaymentCredential().hash.toString()
20
+ };
21
+ }
22
+ else {
23
+ trezorWithdrawal = {
24
+ amount: withdrawal.quantity.toString(),
25
+ scriptHash: rewardAddress.getPaymentCredential().hash.toString()
26
+ };
27
+ }
28
+ return trezorWithdrawal;
29
+ };
30
+ export const mapWithdrawals = (withdrawals, context) => withdrawals.map((coreWithdrawal) => toTrezorWithdrawal(coreWithdrawal, context));
31
+ //# sourceMappingURL=withdrawals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withdrawals.js","sourceRoot":"","sources":["../../../src/transformers/withdrawals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,UAA8B,EAC9B,OAAmC,EACT,EAAE;IAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACpE,MAAM,aAAa,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC;IAE1C,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,oBAAoB,CAAC,YAAY,EAAE,kCAAkC,CAAC,CAAC;IAErG,IAAI,gBAAgB,CAAC;IAQrB,IAAI,aAAa,CAAC,oBAAoB,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE;QAChF,MAAM,OAAO,GAAG,mBAAmB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC5D,gBAAgB,GAAG,OAAO;YACxB,CAAC,CAAC;gBACE,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBACtC,IAAI,EAAE,OAAO;aACd;YACH,CAAC,CAAC;gBACE,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBACtC,OAAO,EAAE,aAAa,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE;aAC9D,CAAC;KACP;SAAM;QACL,gBAAgB,GAAG;YACjB,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACtC,UAAU,EAAE,aAAa,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE;SACjE,CAAC;KACH;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,WAAiC,EACjC,OAAmC,EACP,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,kBAAkB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC"}