@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,131 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.mapCerts = exports.getPoolRegistrationCertificate = void 0;
27
+ const Trezor = __importStar(require("@trezor/connect"));
28
+ const core_1 = require("@cardano-sdk/core");
29
+ const key_management_1 = require("@cardano-sdk/key-management");
30
+ const util_1 = require("@cardano-sdk/util");
31
+ const getCertCredentials = (stakeKeyHash, knownAddresses) => {
32
+ const knownAddress = knownAddresses?.find((address) => core_1.Cardano.RewardAccount.toHash(address.rewardAccount) === stakeKeyHash);
33
+ const rewardAddress = knownAddress ? core_1.Cardano.Address.fromBech32(knownAddress.rewardAccount)?.asReward() : null;
34
+ if (rewardAddress?.getPaymentCredential().type === core_1.Cardano.CredentialType.KeyHash) {
35
+ const path = key_management_1.util.stakeKeyPathFromGroupedAddress(knownAddress);
36
+ return path ? { path } : { keyHash: stakeKeyHash };
37
+ }
38
+ return {
39
+ scriptHash: stakeKeyHash
40
+ };
41
+ };
42
+ const getStakeAddressCertificate = (certificate, context, type) => {
43
+ const credentials = getCertCredentials(certificate.stakeKeyHash, context.knownAddresses);
44
+ return {
45
+ ...credentials,
46
+ type
47
+ };
48
+ };
49
+ const getStakeDelegationCertificate = (certificate, context) => {
50
+ const poolIdKeyHash = core_1.Cardano.PoolId.toKeyHash(certificate.poolId);
51
+ const credentials = getCertCredentials(certificate.stakeKeyHash, context.knownAddresses);
52
+ return {
53
+ ...credentials,
54
+ pool: poolIdKeyHash,
55
+ type: Trezor.PROTO.CardanoCertificateType.STAKE_DELEGATION
56
+ };
57
+ };
58
+ const toPoolMetadata = (metadataJson) => ({
59
+ hash: metadataJson.hash,
60
+ url: metadataJson.url
61
+ });
62
+ const getPoolOperatorKeyPath = (operator, context) => {
63
+ const knownAddress = context?.knownAddresses.find((address) => address.rewardAccount === operator);
64
+ return key_management_1.util.stakeKeyPathFromGroupedAddress(knownAddress);
65
+ };
66
+ const getPoolRegistrationCertificate = (certificate, context) => {
67
+ if (!certificate.poolParameters.metadataJson)
68
+ throw new util_1.InvalidArgumentError('certificate', 'Missing pool registration pool metadata.');
69
+ return {
70
+ poolParameters: {
71
+ cost: certificate.poolParameters.cost.toString(),
72
+ margin: {
73
+ denominator: certificate.poolParameters.margin.denominator.toString(),
74
+ numerator: certificate.poolParameters.margin.numerator.toString()
75
+ },
76
+ metadata: toPoolMetadata(certificate.poolParameters.metadataJson),
77
+ owners: certificate.poolParameters.owners.map((owner) => {
78
+ const poolOwnerKeyPath = getPoolOperatorKeyPath(owner, context);
79
+ const poolOwnerKeyHash = core_1.Cardano.RewardAccount.toHash(owner);
80
+ return poolOwnerKeyPath ? { stakingKeyPath: poolOwnerKeyPath } : { stakingKeyHash: poolOwnerKeyHash };
81
+ }),
82
+ pledge: certificate.poolParameters.pledge.toString(),
83
+ poolId: core_1.Cardano.PoolId.toKeyHash(certificate.poolParameters.id),
84
+ relays: certificate.poolParameters.relays.map((relay) => {
85
+ switch (relay.__typename) {
86
+ case 'RelayByAddress':
87
+ return {
88
+ ipv4Address: relay.ipv4,
89
+ ipv6Address: relay.ipv6,
90
+ port: relay.port,
91
+ type: Trezor.PROTO.CardanoPoolRelayType.SINGLE_HOST_IP
92
+ };
93
+ case 'RelayByName':
94
+ return {
95
+ hostName: relay.hostname,
96
+ port: relay.port,
97
+ type: Trezor.PROTO.CardanoPoolRelayType.SINGLE_HOST_NAME
98
+ };
99
+ case 'RelayByNameMultihost':
100
+ return {
101
+ hostName: relay.dnsName,
102
+ type: Trezor.PROTO.CardanoPoolRelayType.MULTIPLE_HOST_NAME
103
+ };
104
+ default:
105
+ throw new util_1.InvalidArgumentError('certificate', 'Unknown relay type.');
106
+ }
107
+ }),
108
+ rewardAccount: certificate.poolParameters.rewardAccount,
109
+ vrfKeyHash: certificate.poolParameters.vrf
110
+ },
111
+ type: Trezor.PROTO.CardanoCertificateType.STAKE_POOL_REGISTRATION
112
+ };
113
+ };
114
+ exports.getPoolRegistrationCertificate = getPoolRegistrationCertificate;
115
+ const toCert = (cert, context) => {
116
+ switch (cert.__typename) {
117
+ case core_1.Cardano.CertificateType.StakeKeyRegistration:
118
+ return getStakeAddressCertificate(cert, context, Trezor.PROTO.CardanoCertificateType.STAKE_REGISTRATION);
119
+ case core_1.Cardano.CertificateType.StakeKeyDeregistration:
120
+ return getStakeAddressCertificate(cert, context, Trezor.PROTO.CardanoCertificateType.STAKE_DEREGISTRATION);
121
+ case core_1.Cardano.CertificateType.StakeDelegation:
122
+ return getStakeDelegationCertificate(cert, context);
123
+ case core_1.Cardano.CertificateType.PoolRegistration:
124
+ return (0, exports.getPoolRegistrationCertificate)(cert, context);
125
+ default:
126
+ throw new util_1.InvalidArgumentError('cert', `Certificate ${cert.__typename} not supported.`);
127
+ }
128
+ };
129
+ const mapCerts = (certs, context) => certs.map((coreCert) => toCert(coreCert, context));
130
+ exports.mapCerts = mapCerts;
131
+ //# sourceMappingURL=certificates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"certificates.js","sourceRoot":"","sources":["../../../src/transformers/certificates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export * from './keyPaths';
2
+ export * from './txIn';
3
+ export * from './txOut';
4
+ export * from './withdrawals';
5
+ export * from './certificates';
6
+ export * from './auxiliaryData';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transformers/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./keyPaths"), exports);
18
+ __exportStar(require("./txIn"), exports);
19
+ __exportStar(require("./txOut"), exports);
20
+ __exportStar(require("./withdrawals"), exports);
21
+ __exportStar(require("./certificates"), exports);
22
+ __exportStar(require("./auxiliaryData"), exports);
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transformers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,yCAAuB;AACvB,0CAAwB;AACxB,gDAA8B;AAC9B,iDAA+B;AAC/B,kDAAgC"}
@@ -0,0 +1,6 @@
1
+ import { BIP32Path } from '@cardano-sdk/crypto';
2
+ import { Cardano } from '@cardano-sdk/core';
3
+ import { TrezorTxTransformerContext } from '../types';
4
+ export declare const resolvePaymentKeyPathForTxIn: (txIn: Cardano.TxIn, context?: TrezorTxTransformerContext) => Promise<BIP32Path | undefined>;
5
+ export declare const resolveStakeKeyPath: (rewardAddress: Cardano.RewardAddress | undefined, context: TrezorTxTransformerContext) => BIP32Path | null;
6
+ //# sourceMappingURL=keyPaths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyPaths.d.ts","sourceRoot":"","sources":["../../../src/transformers/keyPaths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAOtD,eAAO,MAAM,4BAA4B,SACjC,QAAQ,IAAI,YACR,0BAA0B,KACnC,QAAQ,SAAS,GAAG,SAAS,CAK/B,CAAC;AAGF,eAAO,MAAM,mBAAmB,kBACf,QAAQ,aAAa,GAAG,SAAS,WACvC,0BAA0B,KAClC,SAAS,GAAG,IAMd,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveStakeKeyPath = exports.resolvePaymentKeyPathForTxIn = void 0;
4
+ const key_management_1 = require("@cardano-sdk/key-management");
5
+ const resolvePaymentKeyPathForTxIn = async (txIn, context) => {
6
+ if (!context)
7
+ return;
8
+ const txOut = await context.inputResolver.resolveInput(txIn);
9
+ const knownAddress = context.knownAddresses.find(({ address }) => address === txOut?.address);
10
+ return knownAddress ? key_management_1.util.paymentKeyPathFromGroupedAddress(knownAddress) : undefined;
11
+ };
12
+ exports.resolvePaymentKeyPathForTxIn = resolvePaymentKeyPathForTxIn;
13
+ const resolveStakeKeyPath = (rewardAddress, context) => {
14
+ if (!rewardAddress)
15
+ return null;
16
+ const knownAddress = context.knownAddresses.find(({ rewardAccount }) => rewardAccount === rewardAddress.toAddress().toBech32());
17
+ return key_management_1.util.stakeKeyPathFromGroupedAddress(knownAddress);
18
+ };
19
+ exports.resolveStakeKeyPath = resolveStakeKeyPath;
20
+ //# sourceMappingURL=keyPaths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyPaths.js","sourceRoot":"","sources":["../../../src/transformers/keyPaths.ts"],"names":[],"mappings":";;;AAGA,gEAAmD;AAM5C,MAAM,4BAA4B,GAAG,KAAK,EAC/C,IAAkB,EAClB,OAAoC,EACJ,EAAE;IAClC,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9F,OAAO,YAAY,CAAC,CAAC,CAAC,qBAAI,CAAC,gCAAgC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACxF,CAAC,CAAC;AARW,QAAA,4BAA4B,gCAQvC;AAGK,MAAM,mBAAmB,GAAG,CACjC,aAAgD,EAChD,OAAmC,EACjB,EAAE;IACpB,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAC9C,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,aAAa,KAAK,aAAa,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAC9E,CAAC;IACF,OAAO,qBAAI,CAAC,8BAA8B,CAAC,YAAY,CAAC,CAAC;AAC3D,CAAC,CAAC;AATW,QAAA,mBAAmB,uBAS9B"}
@@ -0,0 +1,10 @@
1
+ import * as Trezor from '@trezor/connect';
2
+ import { Cardano } from '@cardano-sdk/core';
3
+ import { GroupedAddress } from '@cardano-sdk/key-management';
4
+ export declare const txToTrezor: ({ cardanoTxBody, chainId, inputResolver, knownAddresses }: {
5
+ chainId: Cardano.ChainId;
6
+ inputResolver: Cardano.InputResolver;
7
+ knownAddresses: GroupedAddress[];
8
+ cardanoTxBody: Cardano.TxBody;
9
+ }) => Promise<Omit<Trezor.CardanoSignTransaction, 'signingMode'>>;
10
+ //# sourceMappingURL=tx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../../../src/transformers/tx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAsC7D,eAAO,MAAM,UAAU;aAMZ,QAAQ,OAAO;mBACT,QAAQ,aAAa;oBACpB,cAAc,EAAE;mBACjB,QAAQ,MAAM;MAC3B,QAAQ,KAAK,OAAO,sBAAsB,EAAE,aAAa,CAAC,CAK1D,CAAC"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.txToTrezor = void 0;
4
+ const additionalWitnessRequests_1 = require("./additionalWitnessRequests");
5
+ const _1 = require("./");
6
+ const assets_1 = require("./assets");
7
+ const trezorTxTransformer = async (body, context) => {
8
+ const inputs = await (0, _1.mapTxIns)(body.inputs, context);
9
+ return {
10
+ additionalWitnessRequests: (0, additionalWitnessRequests_1.mapAdditionalWitnessRequests)(inputs, context),
11
+ auxiliaryData: body.auxiliaryDataHash ? (0, _1.mapAuxiliaryData)(body.auxiliaryDataHash) : undefined,
12
+ certificates: (0, _1.mapCerts)(body.certificates ?? [], context),
13
+ fee: body.fee.toString(),
14
+ inputs,
15
+ mint: (0, assets_1.mapTokenMap)(body.mint),
16
+ networkId: context.chainId.networkId,
17
+ outputs: (0, _1.mapTxOuts)(body.outputs, context),
18
+ protocolMagic: context.chainId.networkMagic,
19
+ ttl: body.validityInterval?.invalidHereafter?.toString(),
20
+ validityIntervalStart: body.validityInterval?.invalidBefore?.toString(),
21
+ withdrawals: (0, _1.mapWithdrawals)(body.withdrawals ?? [], context)
22
+ };
23
+ };
24
+ const txToTrezor = ({ cardanoTxBody, chainId, inputResolver, knownAddresses }) => trezorTxTransformer(cardanoTxBody, {
25
+ chainId,
26
+ inputResolver,
27
+ knownAddresses
28
+ });
29
+ exports.txToTrezor = txToTrezor;
30
+ //# sourceMappingURL=tx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tx.js","sourceRoot":"","sources":["../../../src/transformers/tx.ts"],"names":[],"mappings":";;;AAIA,2EAA2E;AAC3E,yBAAqF;AACrF,qCAAuC;AASvC,MAAM,mBAAmB,GAAG,KAAK,EAC/B,IAAoB,EACpB,OAAmC,EAC0B,EAAE;IAC/D,MAAM,MAAM,GAAG,MAAM,IAAA,WAAQ,EAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpD,OAAO;QACL,yBAAyB,EAAE,IAAA,wDAA4B,EAAC,MAAM,EAAE,OAAO,CAAC;QACxE,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAA,mBAAgB,EAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS;QAC5F,YAAY,EAAE,IAAA,WAAQ,EAAC,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE,OAAO,CAAC;QACxD,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE;QACxB,MAAM;QACN,IAAI,EAAE,IAAA,oBAAW,EAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS;QACpC,OAAO,EAAE,IAAA,YAAS,EAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;QACzC,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,YAAY;QAC3C,GAAG,EAAE,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,EAAE;QACxD,qBAAqB,EAAE,IAAI,CAAC,gBAAgB,EAAE,aAAa,EAAE,QAAQ,EAAE;QACvE,WAAW,EAAE,IAAA,iBAAc,EAAC,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,OAAO,CAAC;KAC7D,CAAC;AACJ,CAAC,CAAC;AAMK,MAAM,UAAU,GAAG,CAAC,EACzB,aAAa,EACb,OAAO,EACP,aAAa,EACb,cAAc,EAMf,EAA+D,EAAE,CAChE,mBAAmB,CAAC,aAAa,EAAE;IACjC,OAAO;IACP,aAAa;IACb,cAAc;CACf,CAAC,CAAC;AAfQ,QAAA,UAAU,cAelB"}
@@ -0,0 +1,7 @@
1
+ import * as Trezor from '@trezor/connect';
2
+ import { Cardano } from '@cardano-sdk/core';
3
+ import { Transform } from '@cardano-sdk/util';
4
+ import { TrezorTxTransformerContext } from '../types';
5
+ export declare const toTrezorTxIn: Transform<Cardano.TxIn, Promise<Trezor.CardanoInput>, TrezorTxTransformerContext>;
6
+ export declare const mapTxIns: (txIns: Cardano.TxIn[], context: TrezorTxTransformerContext) => Promise<Trezor.CardanoInput[]>;
7
+ //# sourceMappingURL=txIn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"txIn.d.ts","sourceRoot":"","sources":["../../../src/transformers/txIn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAOtD,eAAO,MAAM,YAAY,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,0BAA0B,CAU1G,CAAC;AAOF,eAAO,MAAM,QAAQ,UACZ,QAAQ,IAAI,EAAE,WACZ,0BAA0B,KAClC,QAAQ,OAAO,YAAY,EAAE,CAAkE,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mapTxIns = exports.toTrezorTxIn = void 0;
4
+ const keyPaths_1 = require("./keyPaths");
5
+ const toTrezorTxIn = async (txIn, context) => {
6
+ const path = await (0, keyPaths_1.resolvePaymentKeyPathForTxIn)(txIn, context);
7
+ return {
8
+ prev_hash: txIn.txId,
9
+ prev_index: txIn.index,
10
+ ...(path ? { path } : {})
11
+ };
12
+ };
13
+ exports.toTrezorTxIn = toTrezorTxIn;
14
+ const mapTxIns = async (txIns, context) => Promise.all(txIns.map((txIn) => (0, exports.toTrezorTxIn)(txIn, context)));
15
+ exports.mapTxIns = mapTxIns;
16
+ //# sourceMappingURL=txIn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"txIn.js","sourceRoot":"","sources":["../../../src/transformers/txIn.ts"],"names":[],"mappings":";;;AAIA,yCAA0D;AAMnD,MAAM,YAAY,GAAsF,KAAK,EAClH,IAAI,EACJ,OAAQ,EACR,EAAE;IACF,MAAM,IAAI,GAAG,MAAM,IAAA,uCAA4B,EAAC,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;AAVW,QAAA,YAAY,gBAUvB;AAOK,MAAM,QAAQ,GAAG,KAAK,EAC3B,KAAqB,EACrB,OAAmC,EACH,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,oBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAHtF,QAAA,QAAQ,YAG8E"}
@@ -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,65 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.mapTxOuts = exports.toTxOut = void 0;
27
+ const Trezor = __importStar(require("@trezor/connect"));
28
+ const key_management_1 = require("@cardano-sdk/key-management");
29
+ const util_1 = require("@cardano-sdk/util");
30
+ const assets_1 = require("./assets");
31
+ const toDestination = (txOut, context) => {
32
+ const knownAddress = context?.knownAddresses.find((address) => address.address === txOut.address);
33
+ if (!knownAddress) {
34
+ return {
35
+ address: txOut.address
36
+ };
37
+ }
38
+ const paymentPath = key_management_1.util.paymentKeyPathFromGroupedAddress(knownAddress);
39
+ const stakingPath = key_management_1.util.stakeKeyPathFromGroupedAddress(knownAddress);
40
+ if (!stakingPath)
41
+ throw new util_1.InvalidArgumentError('txOut', 'Missing staking key key path.');
42
+ return {
43
+ addressParameters: {
44
+ addressType: Trezor.PROTO.CardanoAddressType.BASE,
45
+ path: paymentPath,
46
+ stakingPath
47
+ }
48
+ };
49
+ };
50
+ const toTxOut = (txOut, context) => {
51
+ const destination = toDestination(txOut, context);
52
+ const trezorTxOut = {
53
+ ...destination,
54
+ amount: txOut.value.coins.toString()
55
+ };
56
+ if (txOut.value.assets) {
57
+ const tokenBundle = (0, assets_1.mapTokenMap)(txOut.value.assets);
58
+ Object.assign(trezorTxOut, { tokenBundle });
59
+ }
60
+ return trezorTxOut;
61
+ };
62
+ exports.toTxOut = toTxOut;
63
+ const mapTxOuts = (txOuts, context) => txOuts.map((txOut) => (0, exports.toTxOut)(txOut, context));
64
+ exports.mapTxOuts = mapTxOuts;
65
+ //# sourceMappingURL=txOut.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"txOut.js","sourceRoot":"","sources":["../../../src/transformers/txOut.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAA0C;AAE1C,gEAAmE;AACnE,4CAAoE;AAEpE,qCAAuC;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,qBAAI,CAAC,gCAAgC,CAAC,YAAY,CAAC,CAAC;IACxE,MAAM,WAAW,GAAG,qBAAI,CAAC,8BAA8B,CAAC,YAAY,CAAC,CAAC;IAEtE,IAAI,CAAC,WAAW;QAAE,MAAM,IAAI,2BAAoB,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;AAGK,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,IAAA,oBAAW,EAAC,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;AAXW,QAAA,OAAO,WAWlB;AAEK,MAAM,SAAS,GAAG,CAAC,MAAuB,EAAE,OAAmC,EAA0B,EAAE,CAChH,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,eAAO,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AADpC,QAAA,SAAS,aAC2B"}
@@ -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,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mapWithdrawals = exports.toTrezorWithdrawal = void 0;
4
+ const core_1 = require("@cardano-sdk/core");
5
+ const util_1 = require("@cardano-sdk/util");
6
+ const keyPaths_1 = require("./keyPaths");
7
+ const toTrezorWithdrawal = (withdrawal, context) => {
8
+ const address = core_1.Cardano.Address.fromString(withdrawal.stakeAddress);
9
+ const rewardAddress = address?.asReward();
10
+ if (!rewardAddress)
11
+ throw new util_1.InvalidArgumentError('withdrawal', 'Invalid withdrawal stake address');
12
+ let trezorWithdrawal;
13
+ if (rewardAddress.getPaymentCredential().type === core_1.Cardano.CredentialType.KeyHash) {
14
+ const keyPath = (0, keyPaths_1.resolveStakeKeyPath)(rewardAddress, context);
15
+ trezorWithdrawal = keyPath
16
+ ? {
17
+ amount: withdrawal.quantity.toString(),
18
+ path: keyPath
19
+ }
20
+ : {
21
+ amount: withdrawal.quantity.toString(),
22
+ keyHash: rewardAddress.getPaymentCredential().hash.toString()
23
+ };
24
+ }
25
+ else {
26
+ trezorWithdrawal = {
27
+ amount: withdrawal.quantity.toString(),
28
+ scriptHash: rewardAddress.getPaymentCredential().hash.toString()
29
+ };
30
+ }
31
+ return trezorWithdrawal;
32
+ };
33
+ exports.toTrezorWithdrawal = toTrezorWithdrawal;
34
+ const mapWithdrawals = (withdrawals, context) => withdrawals.map((coreWithdrawal) => (0, exports.toTrezorWithdrawal)(coreWithdrawal, context));
35
+ exports.mapWithdrawals = mapWithdrawals;
36
+ //# sourceMappingURL=withdrawals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withdrawals.js","sourceRoot":"","sources":["../../../src/transformers/withdrawals.ts"],"names":[],"mappings":";;;AACA,4CAA4C;AAC5C,4CAAyD;AAEzD,yCAAiD;AAE1C,MAAM,kBAAkB,GAAG,CAChC,UAA8B,EAC9B,OAAmC,EACT,EAAE;IAC5B,MAAM,OAAO,GAAG,cAAO,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,2BAAoB,CAAC,YAAY,EAAE,kCAAkC,CAAC,CAAC;IAErG,IAAI,gBAAgB,CAAC;IAQrB,IAAI,aAAa,CAAC,oBAAoB,EAAE,CAAC,IAAI,KAAK,cAAO,CAAC,cAAc,CAAC,OAAO,EAAE;QAChF,MAAM,OAAO,GAAG,IAAA,8BAAmB,EAAC,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;AApCW,QAAA,kBAAkB,sBAoC7B;AAEK,MAAM,cAAc,GAAG,CAC5B,WAAiC,EACjC,OAAmC,EACP,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,IAAA,0BAAkB,EAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;AAHrG,QAAA,cAAc,kBAGuF"}