@cardano-sdk/wallet 0.1.4 → 0.1.5

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 (118) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +5 -0
  3. package/dist/Address.d.ts +11 -0
  4. package/dist/Address.d.ts.map +1 -0
  5. package/dist/Address.js +9 -0
  6. package/dist/Address.js.map +1 -0
  7. package/dist/BalanceTracker.d.ts +23 -0
  8. package/dist/BalanceTracker.d.ts.map +1 -0
  9. package/dist/BalanceTracker.js +48 -0
  10. package/dist/BalanceTracker.js.map +1 -0
  11. package/dist/InMemoryTransactionTracker.d.ts +16 -0
  12. package/dist/InMemoryTransactionTracker.d.ts.map +1 -0
  13. package/dist/InMemoryTransactionTracker.js +84 -0
  14. package/dist/InMemoryTransactionTracker.js.map +1 -0
  15. package/dist/InMemoryUtxoRepository.d.ts +25 -0
  16. package/dist/InMemoryUtxoRepository.d.ts.map +1 -0
  17. package/dist/InMemoryUtxoRepository.js +154 -0
  18. package/dist/InMemoryUtxoRepository.js.map +1 -0
  19. package/dist/KeyManagement/InMemoryKeyManager.d.ts +9 -0
  20. package/dist/KeyManagement/InMemoryKeyManager.d.ts.map +1 -0
  21. package/dist/KeyManagement/InMemoryKeyManager.js +68 -0
  22. package/dist/KeyManagement/InMemoryKeyManager.js.map +1 -0
  23. package/dist/KeyManagement/errors/InvalidMnemonic.d.ts +5 -0
  24. package/dist/KeyManagement/errors/InvalidMnemonic.d.ts.map +1 -0
  25. package/dist/KeyManagement/errors/InvalidMnemonic.js +13 -0
  26. package/dist/KeyManagement/errors/InvalidMnemonic.js.map +1 -0
  27. package/{src/KeyManagement/errors/index.ts → dist/KeyManagement/errors/index.d.ts} +1 -0
  28. package/dist/KeyManagement/errors/index.d.ts.map +1 -0
  29. package/dist/KeyManagement/errors/index.js +6 -0
  30. package/dist/KeyManagement/errors/index.js.map +1 -0
  31. package/{src/KeyManagement/index.ts → dist/KeyManagement/index.d.ts} +1 -0
  32. package/dist/KeyManagement/index.d.ts.map +1 -0
  33. package/dist/KeyManagement/index.js +30 -0
  34. package/dist/KeyManagement/index.js.map +1 -0
  35. package/dist/KeyManagement/types.d.ts +14 -0
  36. package/dist/KeyManagement/types.d.ts.map +1 -0
  37. package/dist/KeyManagement/types.js +3 -0
  38. package/dist/KeyManagement/types.js.map +1 -0
  39. package/dist/KeyManagement/util.d.ts +6 -0
  40. package/dist/KeyManagement/util.d.ts.map +1 -0
  41. package/dist/KeyManagement/util.js +31 -0
  42. package/dist/KeyManagement/util.js.map +1 -0
  43. package/dist/SingleAddressWallet.d.ts +30 -0
  44. package/dist/SingleAddressWallet.d.ts.map +1 -0
  45. package/dist/SingleAddressWallet.js +62 -0
  46. package/dist/SingleAddressWallet.js.map +1 -0
  47. package/dist/Transaction/CertificateFactory.d.ts +50 -0
  48. package/dist/Transaction/CertificateFactory.d.ts.map +1 -0
  49. package/dist/Transaction/CertificateFactory.js +72 -0
  50. package/dist/Transaction/CertificateFactory.js.map +1 -0
  51. package/dist/Transaction/computeImplicitCoin.d.ts +4 -0
  52. package/dist/Transaction/computeImplicitCoin.d.ts.map +1 -0
  53. package/dist/Transaction/computeImplicitCoin.js +21 -0
  54. package/dist/Transaction/computeImplicitCoin.js.map +1 -0
  55. package/dist/Transaction/createTransactionInternals.d.ts +16 -0
  56. package/dist/Transaction/createTransactionInternals.d.ts.map +1 -0
  57. package/dist/Transaction/createTransactionInternals.js +41 -0
  58. package/dist/Transaction/createTransactionInternals.js.map +1 -0
  59. package/{src/Transaction/index.ts → dist/Transaction/index.d.ts} +1 -0
  60. package/dist/Transaction/index.d.ts.map +1 -0
  61. package/dist/Transaction/index.js +18 -0
  62. package/dist/Transaction/index.js.map +1 -0
  63. package/dist/Transaction/types.d.ts +11 -0
  64. package/dist/Transaction/types.d.ts.map +1 -0
  65. package/dist/Transaction/types.js +3 -0
  66. package/dist/Transaction/types.js.map +1 -0
  67. package/dist/Transaction/withdrawal.d.ts +8 -0
  68. package/dist/Transaction/withdrawal.d.ts.map +1 -0
  69. package/dist/Transaction/withdrawal.js +10 -0
  70. package/dist/Transaction/withdrawal.js.map +1 -0
  71. package/dist/TransactionError.d.ts +15 -0
  72. package/dist/TransactionError.d.ts.map +1 -0
  73. package/dist/TransactionError.js +23 -0
  74. package/dist/TransactionError.js.map +1 -0
  75. package/{src/index.ts → dist/index.d.ts} +1 -0
  76. package/dist/index.d.ts.map +1 -0
  77. package/dist/index.js +35 -0
  78. package/dist/index.js.map +1 -0
  79. package/dist/types.d.ts +37 -0
  80. package/dist/types.d.ts.map +1 -0
  81. package/dist/types.js +13 -0
  82. package/dist/types.js.map +1 -0
  83. package/package.json +13 -8
  84. package/jest.config.js +0 -1
  85. package/src/Address.ts +0 -12
  86. package/src/BalanceTracker.ts +0 -62
  87. package/src/InMemoryTransactionTracker.ts +0 -87
  88. package/src/InMemoryUtxoRepository.ts +0 -192
  89. package/src/KeyManagement/InMemoryKeyManager.ts +0 -67
  90. package/src/KeyManagement/errors/InvalidMnemonic.ts +0 -9
  91. package/src/KeyManagement/types.ts +0 -15
  92. package/src/KeyManagement/util.ts +0 -14
  93. package/src/SingleAddressWallet.ts +0 -120
  94. package/src/Transaction/CertificateFactory.ts +0 -154
  95. package/src/Transaction/computeImplicitCoin.ts +0 -36
  96. package/src/Transaction/createTransactionInternals.ts +0 -60
  97. package/src/Transaction/types.ts +0 -12
  98. package/src/Transaction/withdrawal.ts +0 -17
  99. package/src/TransactionError.ts +0 -17
  100. package/src/tsconfig.json +0 -11
  101. package/src/types.ts +0 -56
  102. package/test/.eslintrc.js +0 -7
  103. package/test/BalanceTracker.test.ts +0 -44
  104. package/test/InMemoryTransactionTracker.test.ts +0 -108
  105. package/test/InMemoryUtxoRepository.test.ts +0 -242
  106. package/test/KeyManagement/InMemoryKeyManager.test.ts +0 -39
  107. package/test/SingleAddressWallet.test.ts +0 -87
  108. package/test/Transaction/CertificateFactory.test.ts +0 -89
  109. package/test/Transaction/computeImplicitCoin.test.ts +0 -26
  110. package/test/Transaction/createTransactionInternals.test.ts +0 -84
  111. package/test/Transaction/withdrawal.test.ts +0 -13
  112. package/test/integration/withdrawal.test.ts +0 -108
  113. package/test/mocks/MockTransactionTracker.ts +0 -8
  114. package/test/mocks/MockUtxoRepository.ts +0 -13
  115. package/test/mocks/ProviderStub.ts +0 -151
  116. package/test/mocks/index.ts +0 -4
  117. package/test/mocks/testKeyManager.ts +0 -10
  118. package/test/tsconfig.json +0 -12
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InMemoryUtxoRepository.js","sourceRoot":"","sources":["../src/InMemoryUtxoRepository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Cardano } from '@cardano-sdk/core';
2
+ import { KeyManager } from './types';
3
+ export declare const createInMemoryKeyManager: ({ password, accountIndex, mnemonicWords, networkId }: {
4
+ password: string;
5
+ accountIndex?: number | undefined;
6
+ mnemonicWords: string[];
7
+ networkId: Cardano.NetworkId;
8
+ }) => KeyManager;
9
+ //# sourceMappingURL=InMemoryKeyManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InMemoryKeyManager.d.ts","sourceRoot":"","sources":["../../src/KeyManagement/InMemoryKeyManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAO,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,eAAO,MAAM,wBAAwB;cAMzB,MAAM;;mBAED,MAAM,EAAE;eACZ,QAAQ,SAAS;MAC1B,UA+CH,CAAC"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.createInMemoryKeyManager = void 0;
23
+ const bip39 = __importStar(require("bip39"));
24
+ const core_1 = require("@cardano-sdk/core");
25
+ const errors = __importStar(require("./errors"));
26
+ const util_1 = require("./util");
27
+ const createInMemoryKeyManager = ({ password, accountIndex, mnemonicWords, networkId }) => {
28
+ if (!accountIndex) {
29
+ accountIndex = 0;
30
+ }
31
+ const mnemonic = util_1.joinMnemonicWords(mnemonicWords);
32
+ const validMnemonic = bip39.validateMnemonic(mnemonic);
33
+ if (!validMnemonic)
34
+ throw new errors.InvalidMnemonic();
35
+ const entropy = bip39.mnemonicToEntropy(mnemonic);
36
+ const accountPrivateKey = core_1.CSL.Bip32PrivateKey.from_bip39_entropy(Buffer.from(entropy, 'hex'), Buffer.from(password))
37
+ .derive(util_1.harden(1852))
38
+ .derive(util_1.harden(1815))
39
+ .derive(util_1.harden(accountIndex));
40
+ const privateParentKey = accountPrivateKey.derive(0).derive(0);
41
+ const publicParentKey = privateParentKey.to_public();
42
+ const publicKey = accountPrivateKey.to_public();
43
+ const stakeKey = publicKey.derive(2).derive(0);
44
+ return {
45
+ deriveAddress: (addressIndex, index) => {
46
+ const utxoPubKey = publicKey.derive(index).derive(addressIndex);
47
+ const baseAddr = core_1.CSL.BaseAddress.new(networkId, core_1.CSL.StakeCredential.from_keyhash(utxoPubKey.to_raw_key().hash()), core_1.CSL.StakeCredential.from_keyhash(stakeKey.to_raw_key().hash()));
48
+ return baseAddr.to_address().to_bech32();
49
+ },
50
+ signMessage: async (_addressType, _signingIndex, message) => ({
51
+ publicKey: publicParentKey.toString(),
52
+ signature: `Signature for ${message} is not implemented yet`
53
+ }),
54
+ signTransaction: async (txHash) => {
55
+ const witnessSet = core_1.CSL.TransactionWitnessSet.new();
56
+ const vkeyWitnesses = core_1.CSL.Vkeywitnesses.new();
57
+ const vkeyWitness = core_1.CSL.make_vkey_witness(txHash, privateParentKey.to_raw_key());
58
+ vkeyWitnesses.add(vkeyWitness);
59
+ witnessSet.set_vkeys(vkeyWitnesses);
60
+ return witnessSet;
61
+ },
62
+ stakeKey: stakeKey.to_raw_key(),
63
+ publicKey: publicKey.to_raw_key(),
64
+ publicParentKey: publicParentKey.to_raw_key()
65
+ };
66
+ };
67
+ exports.createInMemoryKeyManager = createInMemoryKeyManager;
68
+ //# sourceMappingURL=InMemoryKeyManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InMemoryKeyManager.js","sourceRoot":"","sources":["../../src/KeyManagement/InMemoryKeyManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { CustomError } from 'ts-custom-error';
2
+ export declare class InvalidMnemonic extends CustomError {
3
+ constructor();
4
+ }
5
+ //# sourceMappingURL=InvalidMnemonic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InvalidMnemonic.d.ts","sourceRoot":"","sources":["../../../src/KeyManagement/errors/InvalidMnemonic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,qBAAa,eAAgB,SAAQ,WAAW;;CAM/C"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InvalidMnemonic = void 0;
4
+ const ts_custom_error_1 = require("ts-custom-error");
5
+ class InvalidMnemonic extends ts_custom_error_1.CustomError {
6
+ constructor() {
7
+ super();
8
+ this.message = 'Invalid Mnemonic';
9
+ this.name = 'InvalidMnemonic';
10
+ }
11
+ }
12
+ exports.InvalidMnemonic = InvalidMnemonic;
13
+ //# sourceMappingURL=InvalidMnemonic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InvalidMnemonic.js","sourceRoot":"","sources":["../../../src/KeyManagement/errors/InvalidMnemonic.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,eAAgB,SAAQ,6BAAW;IAC9C;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,kBAAkB,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAND,0CAMC"}
@@ -1 +1,2 @@
1
1
  export { InvalidMnemonic } from './InvalidMnemonic';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/KeyManagement/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InvalidMnemonic = void 0;
4
+ var InvalidMnemonic_1 = require("./InvalidMnemonic");
5
+ Object.defineProperty(exports, "InvalidMnemonic", { enumerable: true, get: function () { return InvalidMnemonic_1.InvalidMnemonic; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/KeyManagement/errors/index.ts"],"names":[],"mappings":";;;AAAA,qDAAoD;AAA3C,kHAAA,eAAe,OAAA"}
@@ -2,3 +2,4 @@ export * as errors from './errors';
2
2
  export * from './types';
3
3
  export * from './InMemoryKeyManager';
4
4
  export * as util from './util';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/KeyManagement/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,sBAAsB,CAAC;AACrC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
22
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.util = exports.errors = void 0;
26
+ exports.errors = __importStar(require("./errors"));
27
+ __exportStar(require("./types"), exports);
28
+ __exportStar(require("./InMemoryKeyManager"), exports);
29
+ exports.util = __importStar(require("./util"));
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/KeyManagement/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAmC;AACnC,0CAAwB;AACxB,uDAAqC;AACrC,+CAA+B"}
@@ -0,0 +1,14 @@
1
+ import { CSL } from '@cardano-sdk/core';
2
+ import { Address } from '..';
3
+ export interface KeyManager {
4
+ deriveAddress: (addressIndex: number, index: 0 | 1) => string;
5
+ signMessage: (addressType: Address.AddressType, signingIndex: number, message: string) => Promise<{
6
+ publicKey: string;
7
+ signature: string;
8
+ }>;
9
+ publicKey: CSL.PublicKey;
10
+ publicParentKey: CSL.PublicKey;
11
+ signTransaction: (txHash: CSL.TransactionHash) => Promise<CSL.TransactionWitnessSet>;
12
+ stakeKey: CSL.PublicKey;
13
+ }
14
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/KeyManagement/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC;IAC9D,WAAW,EAAE,CACX,WAAW,EAAE,OAAO,CAAC,WAAW,EAChC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC;IACzB,eAAe,EAAE,GAAG,CAAC,SAAS,CAAC;IAC/B,eAAe,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,eAAe,KAAK,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACrF,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC;CACzB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/KeyManagement/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import * as bip39 from 'bip39';
2
+ export declare const generateMnemonicWords: (strength?: number) => string[];
3
+ export declare const joinMnemonicWords: (mnenomic: string[]) => string;
4
+ export declare const validateMnemonic: typeof bip39.validateMnemonic;
5
+ export declare const harden: (num: number) => number;
6
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/KeyManagement/util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,eAAO,MAAM,qBAAqB,iCAAkE,CAAC;AACrG,eAAO,MAAM,iBAAiB,aAAc,MAAM,EAAE,WAAuB,CAAC;AAK5E,eAAO,MAAM,gBAAgB,+BAAyB,CAAC;AAEvD,eAAO,MAAM,MAAM,QAAS,MAAM,KAAG,MAA6B,CAAC"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.harden = exports.validateMnemonic = exports.joinMnemonicWords = exports.generateMnemonicWords = void 0;
23
+ const bip39 = __importStar(require("bip39"));
24
+ const generateMnemonicWords = (strength = 256) => bip39.generateMnemonic(strength).split(' ');
25
+ exports.generateMnemonicWords = generateMnemonicWords;
26
+ const joinMnemonicWords = (mnenomic) => mnenomic.join(' ');
27
+ exports.joinMnemonicWords = joinMnemonicWords;
28
+ exports.validateMnemonic = bip39.validateMnemonic;
29
+ const harden = (num) => 2147483648 + num;
30
+ exports.harden = harden;
31
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/KeyManagement/util.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAKxB,MAAM,qBAAqB,GAAG,CAAC,QAAQ,GAAG,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAAxF,QAAA,qBAAqB,yBAAmE;AAC9F,MAAM,iBAAiB,GAAG,CAAC,QAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAA/D,QAAA,iBAAiB,qBAA8C;AAK/D,QAAA,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;AAEhD,MAAM,MAAM,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,UAAa,GAAG,GAAG,CAAC;AAAtD,QAAA,MAAM,UAAgD"}
@@ -0,0 +1,30 @@
1
+ import { WalletProvider, CSL, Cardano } from '@cardano-sdk/core';
2
+ import { UtxoRepository } from './types';
3
+ import { Logger } from 'ts-log';
4
+ import { InitializeTxProps, TxInternals } from './Transaction';
5
+ import { BalanceTracker, KeyManagement, TransactionTracker } from '.';
6
+ export interface SubmitTxResult {
7
+ submitted: Promise<void>;
8
+ confirmed: Promise<void>;
9
+ }
10
+ export interface SingleAddressWallet {
11
+ address: Cardano.Address;
12
+ balance: BalanceTracker;
13
+ initializeTx: (props: InitializeTxProps) => Promise<TxInternals>;
14
+ name: string;
15
+ signTx: (body: CSL.TransactionBody, hash: CSL.TransactionHash) => Promise<CSL.Transaction>;
16
+ submitTx: (tx: CSL.Transaction) => SubmitTxResult;
17
+ }
18
+ export interface SingleAddressWalletDependencies {
19
+ keyManager: KeyManagement.KeyManager;
20
+ logger?: Logger;
21
+ provider: WalletProvider;
22
+ utxoRepository: UtxoRepository;
23
+ txTracker: TransactionTracker;
24
+ balanceTracker?: BalanceTracker;
25
+ }
26
+ export interface SingleAddressWalletProps {
27
+ name: string;
28
+ }
29
+ export declare const createSingleAddressWallet: ({ name }: SingleAddressWalletProps, { provider, keyManager, utxoRepository, txTracker, balanceTracker, logger }: SingleAddressWalletDependencies) => Promise<SingleAddressWallet>;
30
+ //# sourceMappingURL=SingleAddressWallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SingleAddressWallet.d.ts","sourceRoot":"","sources":["../src/SingleAddressWallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAiB,GAAG,EAAa,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAe,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE7C,OAAO,EAAmD,iBAAiB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAChH,OAAO,EAAE,cAAc,EAAE,aAAa,EAAwC,kBAAkB,EAAE,MAAM,GAAG,CAAC;AAE5G,MAAM,WAAW,cAAc;IAK7B,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAKzB,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AACD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,GAAG,CAAC,eAAe,KAAK,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC3F,QAAQ,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,WAAW,KAAK,cAAc,CAAC;CACnD;AAED,MAAM,WAAW,+BAA+B;IAC9C,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,cAAc,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,kBAAkB,CAAC;IAC9B,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;CACd;AASD,eAAO,MAAM,yBAAyB,aAC1B,wBAAwB,+EAQ/B,+BAA+B,KACjC,QAAQ,mBAAmB,CAkD7B,CAAC"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createSingleAddressWallet = void 0;
4
+ const core_1 = require("@cardano-sdk/core");
5
+ const ts_log_1 = require("ts-log");
6
+ const cip2_1 = require("@cardano-sdk/cip2");
7
+ const Transaction_1 = require("./Transaction");
8
+ const _1 = require(".");
9
+ const ensureValidityInterval = (currentSlot, validityInterval) => ({ invalidHereafter: currentSlot + 3600, ...validityInterval });
10
+ const createSingleAddressWallet = async ({ name }, { provider, keyManager, utxoRepository, txTracker, balanceTracker = new _1.BalanceTracker(utxoRepository), logger = ts_log_1.dummyLogger }) => {
11
+ const address = keyManager.deriveAddress(0, 0);
12
+ const protocolParameters = await provider.currentWalletProtocolParameters();
13
+ const signTx = async (body, hash) => {
14
+ const witnessSet = await keyManager.signTransaction(hash);
15
+ return core_1.CSL.Transaction.new(body, witnessSet);
16
+ };
17
+ return {
18
+ address,
19
+ balance: balanceTracker,
20
+ initializeTx: async (props) => {
21
+ const tip = await provider.ledgerTip();
22
+ const validityInterval = ensureValidityInterval(tip.slot, props.options?.validityInterval);
23
+ const txOutputs = new Set([...props.outputs].map((output) => core_1.coreToCsl.txOut(output)));
24
+ const constraints = cip2_1.defaultSelectionConstraints({
25
+ protocolParameters,
26
+ buildTx: async (inputSelection) => {
27
+ logger.debug('Building TX for selection constraints', inputSelection);
28
+ const { body, hash } = await Transaction_1.createTransactionInternals({
29
+ changeAddress: address,
30
+ inputSelection,
31
+ validityInterval
32
+ });
33
+ return signTx(body, hash);
34
+ }
35
+ });
36
+ const implicitCoin = Transaction_1.computeImplicitCoin(protocolParameters, props);
37
+ const inputSelectionResult = await utxoRepository.selectInputs(txOutputs, constraints, implicitCoin);
38
+ return Transaction_1.createTransactionInternals({
39
+ changeAddress: address,
40
+ inputSelection: inputSelectionResult.selection,
41
+ validityInterval
42
+ });
43
+ },
44
+ name,
45
+ signTx,
46
+ submitTx: (tx) => {
47
+ const submitted = provider.submitTx(tx).catch((error) => {
48
+ if (error instanceof core_1.ProviderError) {
49
+ throw new _1.TransactionError(_1.TransactionFailure.FailedToSubmit, error, error.detail);
50
+ }
51
+ throw new _1.TransactionError(_1.TransactionFailure.FailedToSubmit, error);
52
+ });
53
+ const confirmed = txTracker.track(tx, submitted);
54
+ return {
55
+ submitted,
56
+ confirmed
57
+ };
58
+ }
59
+ };
60
+ };
61
+ exports.createSingleAddressWallet = createSingleAddressWallet;
62
+ //# sourceMappingURL=SingleAddressWallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SingleAddressWallet.js","sourceRoot":"","sources":["../src/SingleAddressWallet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import { Cardano, CSL } from '@cardano-sdk/core';
2
+ import { KeyManager } from '../KeyManagement';
3
+ export declare type Ed25519KeyHashBech32 = string;
4
+ export declare type VrfKeyHashBech32 = string;
5
+ export declare type AddressBech32 = string;
6
+ export declare type PoolMetadataHashBech32 = string;
7
+ interface Ratio {
8
+ numerator: number;
9
+ denominator: number;
10
+ }
11
+ interface MultiHostNameRelay {
12
+ relayType: 'multihost-name';
13
+ dnsName: string;
14
+ }
15
+ declare type SingleHostAddrRelay = {
16
+ relayType: 'singlehost-addr';
17
+ ipv4?: string;
18
+ ipv6?: string;
19
+ port?: number;
20
+ };
21
+ declare type SingleHostNameRelay = {
22
+ relayType: 'singlehost-name';
23
+ } & Cardano.ByName;
24
+ declare type Relay = MultiHostNameRelay | SingleHostAddrRelay | SingleHostNameRelay;
25
+ interface PoolMetadata {
26
+ hash: PoolMetadataHashBech32;
27
+ url: string;
28
+ }
29
+ interface PoolParameters {
30
+ poolKeyHash: Ed25519KeyHashBech32;
31
+ vrfKeyHash: VrfKeyHashBech32;
32
+ pledge: Cardano.Lovelace;
33
+ cost: Cardano.Lovelace;
34
+ margin: Ratio;
35
+ rewardAddress: AddressBech32;
36
+ owners: Ed25519KeyHashBech32[];
37
+ relays: Relay[];
38
+ poolMetadata?: PoolMetadata;
39
+ }
40
+ export declare class CertificateFactory {
41
+ #private;
42
+ constructor(keyManager: KeyManager);
43
+ stakeKeyRegistration(): CSL.Certificate;
44
+ stakeKeyDeregistration(): CSL.Certificate;
45
+ poolRegistration({ poolKeyHash, vrfKeyHash, pledge, cost, margin, rewardAddress, owners, relays, poolMetadata }: PoolParameters): CSL.Certificate;
46
+ poolRetirement(poolKeyHash: Ed25519KeyHashBech32, epoch: number): CSL.Certificate;
47
+ stakeDelegation(delegatee: Ed25519KeyHashBech32): CSL.Certificate;
48
+ }
49
+ export {};
50
+ //# sourceMappingURL=CertificateFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CertificateFactory.d.ts","sourceRoot":"","sources":["../../src/Transaction/CertificateFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,oBAAY,oBAAoB,GAAG,MAAM,CAAC;AAC1C,oBAAY,gBAAgB,GAAG,MAAM,CAAC;AACtC,oBAAY,aAAa,GAAG,MAAM,CAAC;AACnC,oBAAY,sBAAsB,GAAG,MAAM,CAAC;AAE5C,UAAU,KAAK;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,kBAAkB;IAC1B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,aAAK,mBAAmB,GAAG;IACzB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,aAAK,mBAAmB,GAAG;IACzB,SAAS,EAAE,iBAAiB,CAAC;CAC9B,GAAG,OAAO,CAAC,MAAM,CAAC;AAEnB,aAAK,KAAK,GAAG,kBAAkB,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAE5E,UAAU,YAAY;IACpB,IAAI,EAAE,sBAAsB,CAAC;IAC7B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,UAAU,cAAc;IACtB,WAAW,EAAE,oBAAoB,CAAC;IAClC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC;IACzB,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC;IACvB,MAAM,EAAE,KAAK,CAAC;IACd,aAAa,EAAE,aAAa,CAAC;IAC7B,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,qBAAa,kBAAkB;;gBAGjB,UAAU,EAAE,UAAU;IAIlC,oBAAoB;IAIpB,sBAAsB;IAItB,gBAAgB,CAAC,EACf,WAAW,EACX,UAAU,EACV,MAAM,EACN,IAAI,EACJ,MAAM,EACN,aAAa,EACb,MAAM,EACN,MAAM,EACN,YAAY,EACb,EAAE,cAAc;IAyBjB,cAAc,CAAC,WAAW,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM;IAM/D,eAAe,CAAC,SAAS,EAAE,oBAAoB;CAyChD"}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var _CertificateFactory_instances, _CertificateFactory_stakeCredential, _CertificateFactory_createCslRelays;
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.CertificateFactory = void 0;
16
+ const core_1 = require("@cardano-sdk/core");
17
+ class CertificateFactory {
18
+ constructor(keyManager) {
19
+ _CertificateFactory_instances.add(this);
20
+ _CertificateFactory_stakeCredential.set(this, void 0);
21
+ __classPrivateFieldSet(this, _CertificateFactory_stakeCredential, core_1.CSL.StakeCredential.from_keyhash(keyManager.stakeKey.hash()), "f");
22
+ }
23
+ stakeKeyRegistration() {
24
+ return core_1.CSL.Certificate.new_stake_registration(core_1.CSL.StakeRegistration.new(__classPrivateFieldGet(this, _CertificateFactory_stakeCredential, "f")));
25
+ }
26
+ stakeKeyDeregistration() {
27
+ return core_1.CSL.Certificate.new_stake_deregistration(core_1.CSL.StakeDeregistration.new(__classPrivateFieldGet(this, _CertificateFactory_stakeCredential, "f")));
28
+ }
29
+ poolRegistration({ poolKeyHash, vrfKeyHash, pledge, cost, margin, rewardAddress, owners, relays, poolMetadata }) {
30
+ const cslOwners = core_1.CSL.Ed25519KeyHashes.new();
31
+ for (const owner of owners) {
32
+ cslOwners.add(core_1.CSL.Ed25519KeyHash.from_bech32(owner));
33
+ }
34
+ const cslRelays = __classPrivateFieldGet(this, _CertificateFactory_instances, "m", _CertificateFactory_createCslRelays).call(this, relays);
35
+ const poolParams = core_1.CSL.PoolParams.new(core_1.CSL.Ed25519KeyHash.from_bech32(poolKeyHash), core_1.CSL.VRFKeyHash.from_bech32(vrfKeyHash), core_1.CSL.BigNum.from_str(pledge.toString()), core_1.CSL.BigNum.from_str(cost.toString()), core_1.CSL.UnitInterval.new(core_1.CSL.BigNum.from_str(margin.numerator.toString()), core_1.CSL.BigNum.from_str(margin.denominator.toString())), core_1.CSL.RewardAddress.from_address(core_1.CSL.Address.from_bech32(rewardAddress)), cslOwners, cslRelays, poolMetadata
36
+ ? core_1.CSL.PoolMetadata.new(core_1.CSL.URL.new(poolMetadata.url), core_1.CSL.PoolMetadataHash.from_bech32(poolMetadata.hash))
37
+ : undefined);
38
+ return core_1.CSL.Certificate.new_pool_registration(core_1.CSL.PoolRegistration.new(poolParams));
39
+ }
40
+ poolRetirement(poolKeyHash, epoch) {
41
+ return core_1.CSL.Certificate.new_pool_retirement(core_1.CSL.PoolRetirement.new(core_1.CSL.Ed25519KeyHash.from_bech32(poolKeyHash), epoch));
42
+ }
43
+ stakeDelegation(delegatee) {
44
+ return core_1.CSL.Certificate.new_stake_delegation(core_1.CSL.StakeDelegation.new(__classPrivateFieldGet(this, _CertificateFactory_stakeCredential, "f"), core_1.CSL.Ed25519KeyHash.from_bech32(delegatee)));
45
+ }
46
+ }
47
+ exports.CertificateFactory = CertificateFactory;
48
+ _CertificateFactory_stakeCredential = new WeakMap(), _CertificateFactory_instances = new WeakSet(), _CertificateFactory_createCslRelays = function _CertificateFactory_createCslRelays(relays) {
49
+ const cslRelays = core_1.CSL.Relays.new();
50
+ for (const relay of relays) {
51
+ switch (relay.relayType) {
52
+ case 'singlehost-addr':
53
+ if (relay.ipv6) {
54
+ throw new core_1.NotImplementedError('Parse IPv6 to byte array');
55
+ }
56
+ cslRelays.add(core_1.CSL.Relay.new_single_host_addr(core_1.CSL.SingleHostAddr.new(relay.port, relay.ipv4
57
+ ? core_1.CSL.Ipv4.new(new Uint8Array(relay.ipv4.split('.').map((segment) => Number.parseInt(segment))))
58
+ : undefined)));
59
+ break;
60
+ case 'singlehost-name':
61
+ cslRelays.add(core_1.CSL.Relay.new_single_host_name(core_1.CSL.SingleHostName.new(relay.port || undefined, core_1.CSL.DNSRecordAorAAAA.new(relay.hostname))));
62
+ break;
63
+ case 'multihost-name':
64
+ cslRelays.add(core_1.CSL.Relay.new_multi_host_name(core_1.CSL.MultiHostName.new(core_1.CSL.DNSRecordSRV.new(relay.dnsName))));
65
+ break;
66
+ default:
67
+ throw new core_1.NotImplementedError('Relay type');
68
+ }
69
+ }
70
+ return cslRelays;
71
+ };
72
+ //# sourceMappingURL=CertificateFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CertificateFactory.js","sourceRoot":"","sources":["../../src/Transaction/CertificateFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAAsE;AAgDtE,MAAa,kBAAkB;IAG7B,YAAY,UAAsB;;QAFlC,sDAA+C;QAG7C,uBAAA,IAAI,uCAAoB,UAAG,CAAC,eAAe,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAA,CAAC;IACvF,CAAC;IAED,oBAAoB;QAClB,OAAO,UAAG,CAAC,WAAW,CAAC,sBAAsB,CAAC,UAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,uBAAA,IAAI,2CAAiB,CAAC,CAAC,CAAC;IAClG,CAAC;IAED,sBAAsB;QACpB,OAAO,UAAG,CAAC,WAAW,CAAC,wBAAwB,CAAC,UAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,uBAAA,IAAI,2CAAiB,CAAC,CAAC,CAAC;IACtG,CAAC;IAED,gBAAgB,CAAC,EACf,WAAW,EACX,UAAU,EACV,MAAM,EACN,IAAI,EACJ,MAAM,EACN,aAAa,EACb,MAAM,EACN,MAAM,EACN,YAAY,EACG;QACf,MAAM,SAAS,GAAG,UAAG,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC;QAC7C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC1B,SAAS,CAAC,GAAG,CAAC,UAAG,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;SACtD;QACD,MAAM,SAAS,GAAG,uBAAA,IAAI,0EAAiB,MAArB,IAAI,EAAkB,MAAM,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,UAAG,CAAC,UAAU,CAAC,GAAG,CACnC,UAAG,CAAC,cAAc,CAAC,WAAW,CAAC,WAAW,CAAC,EAC3C,UAAG,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,EACtC,UAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EACtC,UAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EACpC,UAAG,CAAC,YAAY,CAAC,GAAG,CAClB,UAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,EAChD,UAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CACnD,EACD,UAAG,CAAC,aAAa,CAAC,YAAY,CAAC,UAAG,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAE,EACvE,SAAS,EACT,SAAS,EACT,YAAY;YACV,CAAC,CAAC,UAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAG,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,UAAG,CAAC,gBAAgB,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC1G,CAAC,CAAC,SAAS,CACd,CAAC;QACF,OAAO,UAAG,CAAC,WAAW,CAAC,qBAAqB,CAAC,UAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IACrF,CAAC;IAED,cAAc,CAAC,WAAiC,EAAE,KAAa;QAC7D,OAAO,UAAG,CAAC,WAAW,CAAC,mBAAmB,CACxC,UAAG,CAAC,cAAc,CAAC,GAAG,CAAC,UAAG,CAAC,cAAc,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,CAC3E,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,SAA+B;QAC7C,OAAO,UAAG,CAAC,WAAW,CAAC,oBAAoB,CACzC,UAAG,CAAC,eAAe,CAAC,GAAG,CAAC,uBAAA,IAAI,2CAAiB,EAAE,UAAG,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAC1F,CAAC;IACJ,CAAC;CAqCF;AAjGD,gDAiGC;uLAnCkB,MAAe;IAC9B,MAAM,SAAS,GAAG,UAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;IACnC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,QAAQ,KAAK,CAAC,SAAS,EAAE;YACvB,KAAK,iBAAiB;gBACpB,IAAI,KAAK,CAAC,IAAI,EAAE;oBACd,MAAM,IAAI,0BAAmB,CAAC,0BAA0B,CAAC,CAAC;iBAC3D;gBACD,SAAS,CAAC,GAAG,CACX,UAAG,CAAC,KAAK,CAAC,oBAAoB,CAC5B,UAAG,CAAC,cAAc,CAAC,GAAG,CACpB,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,IAAI;oBACR,CAAC,CAAC,UAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBAChG,CAAC,CAAC,SAAS,CACd,CACF,CACF,CAAC;gBACF,MAAM;YACR,KAAK,iBAAiB;gBACpB,SAAS,CAAC,GAAG,CACX,UAAG,CAAC,KAAK,CAAC,oBAAoB,CAC5B,UAAG,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,SAAS,EAAE,UAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAC1F,CACF,CAAC;gBACF,MAAM;YACR,KAAK,gBAAgB;gBACnB,SAAS,CAAC,GAAG,CAAC,UAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,UAAG,CAAC,aAAa,CAAC,GAAG,CAAC,UAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzG,MAAM;YACR;gBACE,MAAM,IAAI,0BAAmB,CAAC,YAAY,CAAC,CAAC;SAC/C;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Cardano, ProtocolParametersRequiredByWallet } from '@cardano-sdk/core';
2
+ import { InitializeTxProps } from './types';
3
+ export declare const computeImplicitCoin: ({ stakeKeyDeposit, poolDeposit }: ProtocolParametersRequiredByWallet, { certificates, withdrawals }: InitializeTxProps) => Cardano.ImplicitCoin;
4
+ //# sourceMappingURL=computeImplicitCoin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computeImplicitCoin.d.ts","sourceRoot":"","sources":["../../src/Transaction/computeImplicitCoin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,OAAO,EAAE,kCAAkC,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAK5C,eAAO,MAAM,mBAAmB,qCACI,kCAAkC,iCACrC,iBAAiB,KAC/C,QAAQ,YAyBV,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.computeImplicitCoin = void 0;
4
+ const core_1 = require("@cardano-sdk/core");
5
+ const computeImplicitCoin = ({ stakeKeyDeposit, poolDeposit }, { certificates, withdrawals }) => {
6
+ const stakeKeyDepositBigint = stakeKeyDeposit && BigInt(stakeKeyDeposit);
7
+ const poolDepositBigint = poolDeposit && BigInt(poolDeposit);
8
+ const deposit = core_1.BigIntMath.sum(certificates?.map((cert) => (cert.as_stake_registration() && stakeKeyDepositBigint) ||
9
+ (cert.as_pool_registration() && poolDepositBigint) ||
10
+ 0n) || []);
11
+ const withdrawalsTotal = (withdrawals && core_1.BigIntMath.sum(withdrawals.map(({ quantity }) => BigInt(quantity.to_str())))) || 0n;
12
+ const reclaimTotal = core_1.BigIntMath.sum(certificates?.map((cert) => (cert.as_stake_deregistration() && stakeKeyDepositBigint) ||
13
+ (cert.as_pool_retirement() && poolDepositBigint) ||
14
+ 0n) || []);
15
+ return {
16
+ deposit,
17
+ input: withdrawalsTotal + reclaimTotal
18
+ };
19
+ };
20
+ exports.computeImplicitCoin = computeImplicitCoin;
21
+ //# sourceMappingURL=computeImplicitCoin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computeImplicitCoin.js","sourceRoot":"","sources":["../../src/Transaction/computeImplicitCoin.ts"],"names":[],"mappings":";;;AAAA,4CAA4F;AAMrF,MAAM,mBAAmB,GAAG,CACjC,EAAE,eAAe,EAAE,WAAW,EAAsC,EACpE,EAAE,YAAY,EAAE,WAAW,EAAqB,EAC1B,EAAE;IACxB,MAAM,qBAAqB,GAAG,eAAe,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC;IACzE,MAAM,iBAAiB,GAAG,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,iBAAU,CAAC,GAAG,CAC5B,YAAY,EAAE,GAAG,CACf,CAAC,IAAI,EAAE,EAAE,CACP,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,qBAAqB,CAAC;QACvD,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,iBAAiB,CAAC;QAClD,EAAE,CACL,IAAI,EAAE,CACR,CAAC;IACF,MAAM,gBAAgB,GACpB,CAAC,WAAW,IAAI,iBAAU,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACtG,MAAM,YAAY,GAAG,iBAAU,CAAC,GAAG,CACjC,YAAY,EAAE,GAAG,CACf,CAAC,IAAI,EAAE,EAAE,CACP,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,qBAAqB,CAAC;QACzD,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,iBAAiB,CAAC;QAChD,EAAE,CACL,IAAI,EAAE,CACR,CAAC;IACF,OAAO;QACL,OAAO;QACP,KAAK,EAAE,gBAAgB,GAAG,YAAY;KACvC,CAAC;AACJ,CAAC,CAAC;AA5BW,QAAA,mBAAmB,uBA4B9B"}
@@ -0,0 +1,16 @@
1
+ import { SelectionResult } from '@cardano-sdk/cip2';
2
+ import { CSL, Cardano } from '@cardano-sdk/core';
3
+ import { Withdrawal } from './withdrawal';
4
+ export declare type TxInternals = {
5
+ hash: CSL.TransactionHash;
6
+ body: CSL.TransactionBody;
7
+ };
8
+ export declare type CreateTxInternalsProps = {
9
+ changeAddress: string;
10
+ inputSelection: SelectionResult['selection'];
11
+ validityInterval: Cardano.ValidityInterval;
12
+ certificates?: CSL.Certificate[];
13
+ withdrawals?: Withdrawal[];
14
+ };
15
+ export declare const createTransactionInternals: (props: CreateTxInternalsProps) => Promise<TxInternals>;
16
+ //# sourceMappingURL=createTransactionInternals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTransactionInternals.d.ts","sourceRoot":"","sources":["../../src/Transaction/createTransactionInternals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,oBAAY,WAAW,GAAG;IACxB,IAAI,EAAE,GAAG,CAAC,eAAe,CAAC;IAC1B,IAAI,EAAE,GAAG,CAAC,eAAe,CAAC;CAC3B,CAAC;AAEF,oBAAY,sBAAsB,GAAG;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;IAC7C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC;IAC3C,YAAY,CAAC,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC;IACjC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,0BAA0B,UAAiB,sBAAsB,KAAG,QAAQ,WAAW,CAuCnG,CAAC"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTransactionInternals = void 0;
4
+ const core_1 = require("@cardano-sdk/core");
5
+ const createTransactionInternals = async (props) => {
6
+ const inputs = core_1.CSL.TransactionInputs.new();
7
+ for (const utxo of props.inputSelection.inputs) {
8
+ inputs.add(utxo.input());
9
+ }
10
+ const outputs = core_1.CSL.TransactionOutputs.new();
11
+ for (const output of props.inputSelection.outputs) {
12
+ outputs.add(output);
13
+ }
14
+ for (const value of props.inputSelection.change) {
15
+ outputs.add(core_1.CSL.TransactionOutput.new(core_1.CSL.Address.from_bech32(props.changeAddress), value));
16
+ }
17
+ const body = core_1.CSL.TransactionBody.new(inputs, outputs, props.inputSelection.fee, props.validityInterval.invalidHereafter || undefined);
18
+ if (props.validityInterval.invalidBefore) {
19
+ body.set_validity_start_interval(props.validityInterval.invalidBefore);
20
+ }
21
+ if (props.certificates?.length) {
22
+ const certs = core_1.CSL.Certificates.new();
23
+ for (const cert of props.certificates) {
24
+ certs.add(cert);
25
+ }
26
+ body.set_certs(certs);
27
+ }
28
+ if (props.withdrawals?.length) {
29
+ const withdrawals = core_1.CSL.Withdrawals.new();
30
+ for (const { address, quantity } of props.withdrawals) {
31
+ withdrawals.insert(address, quantity);
32
+ }
33
+ body.set_withdrawals(withdrawals);
34
+ }
35
+ return {
36
+ body,
37
+ hash: core_1.CSL.hash_transaction(body)
38
+ };
39
+ };
40
+ exports.createTransactionInternals = createTransactionInternals;
41
+ //# sourceMappingURL=createTransactionInternals.js.map