@bitgo/sdk-core 1.2.0-dev.1 → 1.2.0-rc.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 (166) hide show
  1. package/CHANGELOG.md +275 -0
  2. package/dist/src/account-lib/baseCoin/baseTransactionBuilderFactory.d.ts +1 -1
  3. package/dist/src/account-lib/baseCoin/baseTransactionBuilderFactory.js +1 -1
  4. package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts +2 -2
  5. package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts.map +1 -1
  6. package/dist/src/account-lib/baseCoin/ed25519KeyPair.js +1 -1
  7. package/dist/src/account-lib/baseCoin/enum.d.ts +7 -2
  8. package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
  9. package/dist/src/account-lib/baseCoin/enum.js +13 -6
  10. package/dist/src/account-lib/baseCoin/errors.d.ts +1 -1
  11. package/dist/src/account-lib/baseCoin/errors.js +2 -2
  12. package/dist/src/account-lib/baseCoin/index.d.ts +1 -1
  13. package/dist/src/account-lib/baseCoin/index.d.ts.map +1 -1
  14. package/dist/src/account-lib/baseCoin/index.js +3 -2
  15. package/dist/src/account-lib/index.d.ts +3 -0
  16. package/dist/src/account-lib/index.d.ts.map +1 -1
  17. package/dist/src/account-lib/index.js +19 -1
  18. package/dist/src/account-lib/mpc/curves/secp256k1.js +7 -7
  19. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +47 -1
  20. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -1
  21. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +226 -15
  22. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +110 -0
  23. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts.map +1 -1
  24. package/dist/src/account-lib/mpc/tss/ecdsa/types.js +1 -1
  25. package/dist/src/account-lib/mpc/util.d.ts +7 -0
  26. package/dist/src/account-lib/mpc/util.d.ts.map +1 -1
  27. package/dist/src/account-lib/mpc/util.js +12 -2
  28. package/dist/src/account-lib/staking/index.d.ts +2 -0
  29. package/dist/src/account-lib/staking/index.d.ts.map +1 -0
  30. package/dist/src/account-lib/staking/index.js +14 -0
  31. package/dist/src/account-lib/staking/utils.d.ts +19 -0
  32. package/dist/src/account-lib/staking/utils.d.ts.map +1 -0
  33. package/dist/src/account-lib/staking/utils.js +98 -0
  34. package/dist/src/account-lib/util/crypto.d.ts +7 -0
  35. package/dist/src/account-lib/util/crypto.d.ts.map +1 -1
  36. package/dist/src/account-lib/util/crypto.js +20 -2
  37. package/dist/src/bitgo/baseCoin/baseCoin.d.ts +13 -1
  38. package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
  39. package/dist/src/bitgo/baseCoin/baseCoin.js +21 -1
  40. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +67 -0
  41. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
  42. package/dist/src/bitgo/baseCoin/iBaseCoin.js +1 -1
  43. package/dist/src/bitgo/coinFactory.d.ts +4 -0
  44. package/dist/src/bitgo/coinFactory.d.ts.map +1 -1
  45. package/dist/src/bitgo/coinFactory.js +1 -1
  46. package/dist/src/bitgo/config.d.ts +85 -0
  47. package/dist/src/bitgo/config.d.ts.map +1 -1
  48. package/dist/src/bitgo/config.js +49 -2
  49. package/dist/src/bitgo/index.d.ts +1 -0
  50. package/dist/src/bitgo/index.d.ts.map +1 -1
  51. package/dist/src/bitgo/index.js +2 -1
  52. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts +2 -1
  53. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts.map +1 -1
  54. package/dist/src/bitgo/pendingApproval/iPendingApproval.js +2 -1
  55. package/dist/src/bitgo/staking/iStakingWallet.d.ts +69 -0
  56. package/dist/src/bitgo/staking/iStakingWallet.d.ts.map +1 -0
  57. package/dist/src/bitgo/staking/iStakingWallet.js +3 -0
  58. package/dist/src/bitgo/staking/index.d.ts +3 -0
  59. package/dist/src/bitgo/staking/index.d.ts.map +1 -0
  60. package/dist/src/bitgo/staking/index.js +15 -0
  61. package/dist/src/bitgo/staking/stakingWallet.d.ts +67 -0
  62. package/dist/src/bitgo/staking/stakingWallet.d.ts.map +1 -0
  63. package/dist/src/bitgo/staking/stakingWallet.js +153 -0
  64. package/dist/src/bitgo/tss/common.d.ts +23 -0
  65. package/dist/src/bitgo/tss/common.d.ts.map +1 -0
  66. package/dist/src/bitgo/tss/common.js +42 -0
  67. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts +155 -24
  68. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -1
  69. package/dist/src/bitgo/tss/ecdsa/ecdsa.js +380 -28
  70. package/dist/src/bitgo/tss/ecdsa/index.d.ts.map +1 -1
  71. package/dist/src/bitgo/tss/ecdsa/index.js +1 -1
  72. package/dist/src/bitgo/tss/ecdsa/types.d.ts +22 -2
  73. package/dist/src/bitgo/tss/ecdsa/types.d.ts.map +1 -1
  74. package/dist/src/bitgo/tss/ecdsa/types.js +8 -1
  75. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts +3 -20
  76. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -1
  77. package/dist/src/bitgo/tss/eddsa/eddsa.js +9 -44
  78. package/dist/src/bitgo/tss/index.d.ts +2 -0
  79. package/dist/src/bitgo/tss/index.d.ts.map +1 -1
  80. package/dist/src/bitgo/tss/index.js +4 -2
  81. package/dist/src/bitgo/utils/mpcUtils.d.ts +10 -0
  82. package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -1
  83. package/dist/src/bitgo/utils/mpcUtils.js +39 -1
  84. package/dist/src/bitgo/utils/opengpgUtils.d.ts +8 -0
  85. package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -1
  86. package/dist/src/bitgo/utils/opengpgUtils.js +78 -2
  87. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +71 -0
  88. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -0
  89. package/dist/src/bitgo/utils/tss/baseTSSUtils.js +129 -0
  90. package/dist/src/bitgo/utils/tss/baseTypes.d.ts +116 -0
  91. package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -0
  92. package/dist/src/bitgo/utils/tss/baseTypes.js +10 -0
  93. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +42 -0
  94. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -0
  95. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +227 -0
  96. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts +3 -0
  97. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts.map +1 -0
  98. package/dist/src/bitgo/utils/tss/ecdsa/index.js +15 -0
  99. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts +5 -0
  100. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts.map +1 -0
  101. package/dist/src/bitgo/utils/tss/ecdsa/types.js +3 -0
  102. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +9 -50
  103. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
  104. package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +16 -99
  105. package/dist/src/bitgo/utils/tss/eddsa/index.d.ts +6 -3
  106. package/dist/src/bitgo/utils/tss/eddsa/index.d.ts.map +1 -1
  107. package/dist/src/bitgo/utils/tss/eddsa/index.js +7 -6
  108. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts +11 -71
  109. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts.map +1 -1
  110. package/dist/src/bitgo/utils/tss/eddsa/types.js +4 -7
  111. package/dist/src/bitgo/utils/tss/index.d.ts +12 -3
  112. package/dist/src/bitgo/utils/tss/index.d.ts.map +1 -1
  113. package/dist/src/bitgo/utils/tss/index.js +10 -5
  114. package/dist/src/bitgo/wallet/iWallet.d.ts +20 -1
  115. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  116. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  117. package/dist/src/bitgo/wallet/iWallets.d.ts +24 -6
  118. package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -1
  119. package/dist/src/bitgo/wallet/iWallets.js +1 -1
  120. package/dist/src/bitgo/wallet/wallet.d.ts +32 -2
  121. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  122. package/dist/src/bitgo/wallet/wallet.js +119 -16
  123. package/dist/src/bitgo/wallet/wallets.d.ts +1 -1
  124. package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
  125. package/dist/src/bitgo/wallet/wallets.js +8 -38
  126. package/dist/src/coins/fiateur.d.ts +31 -0
  127. package/dist/src/coins/fiateur.d.ts.map +1 -0
  128. package/dist/src/coins/fiateur.js +57 -0
  129. package/dist/src/coins/fiatgbp.d.ts +31 -0
  130. package/dist/src/coins/fiatgbp.d.ts.map +1 -0
  131. package/dist/src/coins/fiatgbp.js +57 -0
  132. package/dist/src/coins/fiatusd.d.ts +31 -0
  133. package/dist/src/coins/fiatusd.d.ts.map +1 -0
  134. package/dist/src/coins/fiatusd.js +57 -0
  135. package/dist/src/coins/index.d.ts +11 -0
  136. package/dist/src/coins/index.d.ts.map +1 -0
  137. package/dist/src/coins/index.js +23 -0
  138. package/dist/src/coins/ofc.d.ts +36 -0
  139. package/dist/src/coins/ofc.d.ts.map +1 -0
  140. package/dist/src/coins/ofc.js +102 -0
  141. package/dist/src/coins/ofcToken.d.ts +47 -0
  142. package/dist/src/coins/ofcToken.d.ts.map +1 -0
  143. package/dist/src/coins/ofcToken.js +84 -0
  144. package/dist/src/coins/susd.d.ts +31 -0
  145. package/dist/src/coins/susd.d.ts.map +1 -0
  146. package/dist/src/coins/susd.js +57 -0
  147. package/dist/src/coins/tfiateur.d.ts +11 -0
  148. package/dist/src/coins/tfiateur.d.ts.map +1 -0
  149. package/dist/src/coins/tfiateur.js +17 -0
  150. package/dist/src/coins/tfiatgbp.d.ts +11 -0
  151. package/dist/src/coins/tfiatgbp.d.ts.map +1 -0
  152. package/dist/src/coins/tfiatgbp.js +17 -0
  153. package/dist/src/coins/tfiatusd.d.ts +11 -0
  154. package/dist/src/coins/tfiatusd.d.ts.map +1 -0
  155. package/dist/src/coins/tfiatusd.js +17 -0
  156. package/dist/src/coins/tsusd.d.ts +11 -0
  157. package/dist/src/coins/tsusd.d.ts.map +1 -0
  158. package/dist/src/coins/tsusd.js +17 -0
  159. package/dist/src/index.d.ts +2 -0
  160. package/dist/src/index.d.ts.map +1 -1
  161. package/dist/src/index.js +4 -2
  162. package/dist/tsconfig.tsbuildinfo +1431 -2112
  163. package/package.json +8 -13
  164. package/dist/web/main.js +0 -2
  165. package/dist/web/main.js.LICENSE.txt +0 -47
  166. package/webpack.config.js +0 -24
@@ -0,0 +1,67 @@
1
+ /**
2
+ * @prettier
3
+ */
4
+ import { IStakingWallet, StakingRequest, TransactionsReadyToSign, StakingTransaction, StakingPrebuildTransactionResult, StakingSignedTransaction, StakingSignOptions, StakeOptions, UnstakeOptions } from './iStakingWallet';
5
+ import { IWallet } from '../wallet';
6
+ import { ITssUtils } from '../utils';
7
+ export declare class StakingWallet implements IStakingWallet {
8
+ private readonly bitgo;
9
+ wallet: IWallet;
10
+ tssUtil: ITssUtils;
11
+ constructor(wallet: IWallet);
12
+ get walletId(): string;
13
+ get coin(): string;
14
+ /**
15
+ * Stake coins
16
+ * @param options - stake options
17
+ * @return StakingRequest
18
+ */
19
+ stake(options: StakeOptions): Promise<StakingRequest>;
20
+ /**
21
+ * Unstake coins
22
+ * @param options - unstake options
23
+ * @return StakingRequest
24
+ */
25
+ unstake(options: UnstakeOptions): Promise<StakingRequest>;
26
+ /**
27
+ * Get a staking request by ID
28
+ * @param stakingRequestId - id of the staking request to retrieve
29
+ * @return StakingRequest
30
+ */
31
+ getStakingRequest(stakingRequestId: string): Promise<StakingRequest>;
32
+ /**
33
+ * Get transactions ready to sign
34
+ * @param stakingRequestId
35
+ * @return TransactionsReadyToSign
36
+ */
37
+ getTransactionsReadyToSign(stakingRequestId: string): Promise<TransactionsReadyToSign>;
38
+ /**
39
+ * Build the staking transaction
40
+ * If TSS delete signature shares, else expand build params and then build
41
+ * @param transaction - staking transaction to build
42
+ */
43
+ build(transaction: StakingTransaction): Promise<StakingPrebuildTransactionResult>;
44
+ /**
45
+ * Sign the staking transaction
46
+ * @param signOptions
47
+ * @param stakingPrebuildTransaction
48
+ */
49
+ sign(signOptions: StakingSignOptions, stakingPrebuildTransaction: StakingPrebuildTransactionResult): Promise<StakingSignedTransaction>;
50
+ /**
51
+ * Send the signed staking transaction
52
+ * @param signedTransaction
53
+ */
54
+ send(signedTransaction: StakingSignedTransaction): Promise<StakingTransaction>;
55
+ /**
56
+ * Build, sign and send the transaction.
57
+ * @param signOptions
58
+ * @param transaction
59
+ */
60
+ buildSignAndSend(signOptions: StakingSignOptions, transaction: StakingTransaction): Promise<StakingTransaction>;
61
+ private expandBuildParams;
62
+ private createStakingRequest;
63
+ private stakingRequestsURL;
64
+ private stakingRequestUrl;
65
+ private stakingTransactionURL;
66
+ }
67
+ //# sourceMappingURL=stakingWallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stakingWallet.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/staking/stakingWallet.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,gCAAgC,EAChC,wBAAwB,EACxB,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACf,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAA2B,MAAM,UAAU,CAAC;AAE9D,qBAAa,aAAc,YAAW,cAAc;IAClD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAE3B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,SAAS,CAAC;gBAEd,MAAM,EAAE,OAAO;IAM3B,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;OAIG;IACG,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC;IAI3D;;;;OAIG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAI/D;;;;OAIG;IACG,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAI1E;;;;OAIG;IACG,0BAA0B,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAgB5F;;;;OAIG;IACG,KAAK,CAAC,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAAC,gCAAgC,CAAC;IA0BvF;;;;OAIG;IACG,IAAI,CACR,WAAW,EAAE,kBAAkB,EAC/B,0BAA0B,EAAE,gCAAgC,GAC3D,OAAO,CAAC,wBAAwB,CAAC;IAgBpC;;;OAGG;IACG,IAAI,CAAC,iBAAiB,EAAE,wBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAOpF;;;;OAIG;IACG,gBAAgB,CACpB,WAAW,EAAE,kBAAkB,EAC/B,WAAW,EAAE,kBAAkB,GAC9B,OAAO,CAAC,kBAAkB,CAAC;YAMhB,iBAAiB;YAOjB,oBAAoB;IAWlC,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,qBAAqB;CAG9B"}
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StakingWallet = void 0;
4
+ const utils_1 = require("../utils");
5
+ class StakingWallet {
6
+ constructor(wallet) {
7
+ this.wallet = wallet;
8
+ this.bitgo = wallet.bitgo;
9
+ this.tssUtil = new utils_1.TssUtils(this.bitgo, this.wallet.baseCoin, this.wallet);
10
+ }
11
+ get walletId() {
12
+ return this.wallet.id();
13
+ }
14
+ get coin() {
15
+ return this.wallet.coin();
16
+ }
17
+ /**
18
+ * Stake coins
19
+ * @param options - stake options
20
+ * @return StakingRequest
21
+ */
22
+ async stake(options) {
23
+ return await this.createStakingRequest(options.amount, 'STAKE', options.clientId);
24
+ }
25
+ /**
26
+ * Unstake coins
27
+ * @param options - unstake options
28
+ * @return StakingRequest
29
+ */
30
+ async unstake(options) {
31
+ return await this.createStakingRequest(options.amount, 'UNSTAKE', options.clientId);
32
+ }
33
+ /**
34
+ * Get a staking request by ID
35
+ * @param stakingRequestId - id of the staking request to retrieve
36
+ * @return StakingRequest
37
+ */
38
+ async getStakingRequest(stakingRequestId) {
39
+ return await this.bitgo.get(this.bitgo.microservicesUrl(this.stakingRequestUrl(stakingRequestId))).result();
40
+ }
41
+ /**
42
+ * Get transactions ready to sign
43
+ * @param stakingRequestId
44
+ * @return TransactionsReadyToSign
45
+ */
46
+ async getTransactionsReadyToSign(stakingRequestId) {
47
+ const stakingRequest = await this.getStakingRequest(stakingRequestId);
48
+ const readyToSign = stakingRequest.transactions.filter((transaction) => transaction.status === `READY`);
49
+ const newTransactions = stakingRequest.transactions.filter((transaction) => transaction.status === `NEW`);
50
+ return Promise.resolve({
51
+ allSigningComplete: stakingRequest.transactions.length > 0 && newTransactions.length === 0 && readyToSign.length === 0,
52
+ transactions: readyToSign,
53
+ });
54
+ }
55
+ /**
56
+ * Build the staking transaction
57
+ * If TSS delete signature shares, else expand build params and then build
58
+ * @param transaction - staking transaction to build
59
+ */
60
+ async build(transaction) {
61
+ if (this.wallet.baseCoin.supportsTss()) {
62
+ if (!transaction.txRequestId) {
63
+ throw new Error('txRequestId is required to sign and send');
64
+ }
65
+ // delete signature shares before signing for transaction request API
66
+ await this.tssUtil.deleteSignatureShares(transaction.txRequestId);
67
+ return {
68
+ transaction: transaction,
69
+ result: {
70
+ walletId: this.walletId,
71
+ txRequestId: transaction.txRequestId,
72
+ },
73
+ };
74
+ }
75
+ else {
76
+ transaction = await this.expandBuildParams(transaction);
77
+ if (!transaction.buildParams) {
78
+ throw Error(`Staking transaction ${transaction.id} build params not expanded`);
79
+ }
80
+ return {
81
+ transaction: transaction,
82
+ result: await this.wallet.prebuildTransaction(transaction.buildParams),
83
+ };
84
+ }
85
+ }
86
+ /**
87
+ * Sign the staking transaction
88
+ * @param signOptions
89
+ * @param stakingPrebuildTransaction
90
+ */
91
+ async sign(signOptions, stakingPrebuildTransaction) {
92
+ const reqId = new utils_1.RequestTracer();
93
+ const keychain = await this.wallet.baseCoin.keychains().getKeysForSigning({
94
+ wallet: this.wallet,
95
+ reqId: reqId,
96
+ });
97
+ return {
98
+ transaction: stakingPrebuildTransaction.transaction,
99
+ signed: await this.wallet.signTransaction({
100
+ txPrebuild: stakingPrebuildTransaction.result,
101
+ walletPassphrase: signOptions.walletPassphrase,
102
+ keychain: keychain[0],
103
+ }),
104
+ };
105
+ }
106
+ /**
107
+ * Send the signed staking transaction
108
+ * @param signedTransaction
109
+ */
110
+ async send(signedTransaction) {
111
+ return await this.bitgo
112
+ .post(this.bitgo.microservicesUrl(this.stakingTransactionURL(signedTransaction.transaction)))
113
+ .send(signedTransaction.signed)
114
+ .result();
115
+ }
116
+ /**
117
+ * Build, sign and send the transaction.
118
+ * @param signOptions
119
+ * @param transaction
120
+ */
121
+ async buildSignAndSend(signOptions, transaction) {
122
+ return await this.build(transaction)
123
+ .then((result) => this.sign(signOptions, result))
124
+ .then((result) => this.send(result));
125
+ }
126
+ async expandBuildParams(stakingTransaction) {
127
+ return await this.bitgo
128
+ .get(this.bitgo.microservicesUrl(this.stakingTransactionURL(stakingTransaction)))
129
+ .query({ expandBuildParams: true })
130
+ .result();
131
+ }
132
+ async createStakingRequest(amount, type, clientId) {
133
+ return await this.bitgo
134
+ .post(this.bitgo.microservicesUrl(this.stakingRequestsURL()))
135
+ .send({
136
+ amount: amount,
137
+ clientId: clientId,
138
+ type: type,
139
+ })
140
+ .result();
141
+ }
142
+ stakingRequestsURL() {
143
+ return `/api/staking/v1/${this.coin}/wallets/${this.walletId}/requests`;
144
+ }
145
+ stakingRequestUrl(stakingRequestId) {
146
+ return `${this.stakingRequestsURL()}/${stakingRequestId}`;
147
+ }
148
+ stakingTransactionURL(stakingTransaction) {
149
+ return `${this.stakingRequestUrl(stakingTransaction.stakingRequestId)}/transactions/${stakingTransaction.id}`;
150
+ }
151
+ }
152
+ exports.StakingWallet = StakingWallet;
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ1dhbGxldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby9zdGFraW5nL3N0YWtpbmdXYWxsZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBZ0JBLG9DQUE4RDtBQUU5RCxNQUFhLGFBQWE7SUFNeEIsWUFBWSxNQUFlO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksZ0JBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQXFCO1FBQy9CLE9BQU8sTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUF1QjtRQUNuQyxPQUFPLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBd0I7UUFDOUMsT0FBTyxNQUFNLElB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LElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7YUFDNUQsSUFBSSxDQUFDO1lBQ0osTUFBTSxFQUFFLE1BQU07WUFDZCxRQUFRLEVBQUUsUUFBUTtZQUNsQixJQUFJLEVBQUUsSUFBSTtTQUNYLENBQUM7YUFDRCxNQUFNLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsT0FBTyxtQkFBbUIsSUFBSSxDQUFDLElBQUksWUFBWSxJQUFJLENBQUMsUUFBUSxXQUFXLENBQUM7SUFDMUUsQ0FBQztJQUVPLGlCQUFpQixDQUFDLGdCQUF3QjtRQUNoRCxPQUFPLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztJQUM1RCxDQUFDO0lBRU8scUJBQXFCLENBQUMsa0JBQXNDO1FBQ2xFLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLGtCQUFrQixDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQ2hILENBQUM7Q0FDRjtBQWpMRCxzQ0FpTEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICovXG5pbXBvcnQge1xuICBJU3Rha2luZ1dhbGxldCxcbiAgU3Rha2luZ1JlcXVlc3QsXG4gIFRyYW5zYWN0aW9uc1JlYWR5VG9TaWduLFxuICBTdGFraW5nVHJhbnNhY3Rpb24sXG4gIFN0YWtpbmdQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0LFxuICBTdGFraW5nU2lnbmVkVHJhbnNhY3Rpb24sXG4gIFN0YWtpbmdTaWduT3B0aW9ucyxcbiAgU3Rha2VPcHRpb25zLFxuICBVbnN0YWtlT3B0aW9ucyxcbn0gZnJvbSAnLi9pU3Rha2luZ1dhbGxldCc7XG5pbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICcuLi9iaXRnb0Jhc2UnO1xuaW1wb3J0IHsgSVdhbGxldCB9IGZyb20gJy4uL3dhbGxldCc7XG5pbXBvcnQgeyBJVHNzVXRpbHMsIFJlcXVlc3RUcmFjZXIsIFRzc1V0aWxzIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgU3Rha2luZ1dhbGxldCBpbXBsZW1lbnRzIElTdGFraW5nV2FsbGV0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBiaXRnbzogQml0R29CYXNlO1xuXG4gIHB1YmxpYyB3YWxsZXQ6IElXYWxsZXQ7XG4gIHB1YmxpYyB0c3NVdGlsOiBJVHNzVXRpbHM7XG5cbiAgY29uc3RydWN0b3Iod2FsbGV0OiBJV2FsbGV0KSB7XG4gICAgdGhpcy53YWxsZXQgPSB3YWxsZXQ7XG4gICAgdGhpcy5iaXRnbyA9IHdhbGxldC5iaXRnbztcbiAgICB0aGlzLnRzc1V0aWwgPSBuZXcgVHNzVXRpbHModGhpcy5iaXRnbywgdGhpcy53YWxsZXQuYmFzZUNvaW4sIHRoaXMud2FsbGV0KTtcbiAgfVxuXG4gIGdldCB3YWxsZXRJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLndhbGxldC5pZCgpO1xuICB9XG5cbiAgZ2V0IGNvaW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy53YWxsZXQuY29pbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0YWtlIGNvaW5zXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gc3Rha2Ugb3B0aW9uc1xuICAgKiBAcmV0dXJuIFN0YWtpbmdSZXF1ZXN0XG4gICAqL1xuICBhc3luYyBzdGFrZShvcHRpb25zOiBTdGFrZU9wdGlvbnMpOiBQcm9taXNlPFN0YWtpbmdSZXF1ZXN0PiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY3JlYXRlU3Rha2luZ1JlcXVlc3Qob3B0aW9ucy5hbW91bnQsICdTVEFLRScsIG9wdGlvbnMuY2xpZW50SWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVuc3Rha2UgY29pbnNcbiAgICogQHBhcmFtIG9wdGlvbnMgLSB1bnN0YWtlIG9wdGlvbnNcbiAgICogQHJldHVybiBTdGFraW5nUmVxdWVzdFxuICAgKi9cbiAgYXN5bmMgdW5zdGFrZShvcHRpb25zOiBVbnN0YWtlT3B0aW9ucyk6IFByb21pc2U8U3Rha2luZ1JlcXVlc3Q+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jcmVhdGVTdGFraW5nUmVxdWVzdChvcHRpb25zLmFtb3VudCwgJ1VOU1RBS0UnLCBvcHRpb25zLmNsaWVudElkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBzdGFraW5nIHJlcXVlc3QgYnkgSURcbiAgICogQHBhcmFtIHN0YWtpbmdSZXF1ZXN0SWQgLSBpZCBvZiB0aGUgc3Rha2luZyByZXF1ZXN0IHRvIHJldHJpZXZlXG4gICAqIEByZXR1cm4gU3Rha2luZ1JlcXVlc3RcbiAgICovXG4gIGFzeW5jIGdldFN0YWtpbmdSZXF1ZXN0KHN0YWtpbmdSZXF1ZXN0SWQ6IHN0cmluZyk6IFByb21pc2U8U3Rha2luZ1JlcXVlc3Q+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5iaXRnby5nZXQodGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKHRoaXMuc3Rha2luZ1JlcXVlc3RVcmwoc3Rha2luZ1JlcXVlc3RJZCkpKS5yZXN1bHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdHJhbnNhY3Rpb25zIHJlYWR5IHRvIHNpZ25cbiAgICogQHBhcmFtIHN0YWtpbmdSZXF1ZXN0SWRcbiAgICogQHJldHVybiBUcmFuc2FjdGlvbnNSZWFkeVRvU2lnblxuICAgKi9cbiAgYXN5bmMgZ2V0VHJhbnNhY3Rpb25zUmVhZHlUb1NpZ24oc3Rha2luZ1JlcXVlc3RJZDogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2FjdGlvbnNSZWFkeVRvU2lnbj4ge1xuICAgIGNvbnN0IHN0YWtpbmdSZXF1ZXN0OiBTdGFraW5nUmVxdWVzdCA9IGF3YWl0IHRoaXMuZ2V0U3Rha2luZ1JlcXVlc3Qoc3Rha2luZ1JlcXVlc3RJZCk7XG4gICAgY29uc3QgcmVhZHlUb1NpZ246IFN0YWtpbmdUcmFuc2FjdGlvbltdID0gc3Rha2luZ1JlcXVlc3QudHJhbnNhY3Rpb25zLmZpbHRlcihcbiAgICAgICh0cmFuc2FjdGlvbjogU3Rha2luZ1RyYW5zYWN0aW9uKSA9PiB0cmFuc2FjdGlvbi5zdGF0dXMgPT09IGBSRUFEWWBcbiAgICApO1xuICAgIGNvbnN0IG5ld1RyYW5zYWN0aW9uczogU3Rha2luZ1RyYW5zYWN0aW9uW10gPSBzdGFraW5nUmVxdWVzdC50cmFuc2FjdGlvbnMuZmlsdGVyKFxuICAgICAgKHRyYW5zYWN0aW9uOiBTdGFraW5nVHJhbnNhY3Rpb24pID0+IHRyYW5zYWN0aW9uLnN0YXR1cyA9PT0gYE5FV2BcbiAgICApO1xuXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7XG4gICAgICBhbGxTaWduaW5nQ29tcGxldGU6XG4gICAgICAgIHN0YWtpbmdSZXF1ZXN0LnRyYW5zYWN0aW9ucy5sZW5ndGggPiAwICYmIG5ld1RyYW5zYWN0aW9ucy5sZW5ndGggPT09IDAgJiYgcmVhZHlUb1NpZ24ubGVuZ3RoID09PSAwLFxuICAgICAgdHJhbnNhY3Rpb25zOiByZWFkeVRvU2lnbixcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCB0aGUgc3Rha2luZyB0cmFuc2FjdGlvblxuICAgKiBJZiBUU1MgZGVsZXRlIHNpZ25hdHVyZSBzaGFyZXMsIGVsc2UgZXhwYW5kIGJ1aWxkIHBhcmFtcyBhbmQgdGhlbiBidWlsZFxuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb24gLSBzdGFraW5nIHRyYW5zYWN0aW9uIHRvIGJ1aWxkXG4gICAqL1xuICBhc3luYyBidWlsZCh0cmFuc2FjdGlvbjogU3Rha2luZ1RyYW5zYWN0aW9uKTogUHJvbWlzZTxTdGFraW5nUHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdD4ge1xuICAgIGlmICh0aGlzLndhbGxldC5iYXNlQ29pbi5zdXBwb3J0c1RzcygpKSB7XG4gICAgICBpZiAoIXRyYW5zYWN0aW9uLnR4UmVxdWVzdElkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcigndHhSZXF1ZXN0SWQgaXMgcmVxdWlyZWQgdG8gc2lnbiBhbmQgc2VuZCcpO1xuICAgICAgfVxuICAgICAgLy8gZGVsZXRlIHNpZ25hdHVyZSBzaGFyZXMgYmVmb3JlIHNpZ25pbmcgZm9yIHRyYW5zYWN0aW9uIHJlcXVlc3QgQVBJXG4gICAgICBhd2FpdCB0aGlzLnRzc1V0aWwuZGVsZXRlU2lnbmF0dXJlU2hhcmVzKHRyYW5zYWN0aW9uLnR4UmVxdWVzdElkKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRyYW5zYWN0aW9uOiB0cmFuc2FjdGlvbixcbiAgICAgICAgcmVzdWx0OiB7XG4gICAgICAgICAgd2FsbGV0SWQ6IHRoaXMud2FsbGV0SWQsXG4gICAgICAgICAgdHhSZXF1ZXN0SWQ6IHRyYW5zYWN0aW9uLnR4UmVxdWVzdElkLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgdHJhbnNhY3Rpb24gPSBhd2FpdCB0aGlzLmV4cGFuZEJ1aWxkUGFyYW1zKHRyYW5zYWN0aW9uKTtcbiAgICAgIGlmICghdHJhbnNhY3Rpb24uYnVpbGRQYXJhbXMpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoYFN0YWtpbmcgdHJhbnNhY3Rpb24gJHt0cmFuc2FjdGlvbi5pZH0gYnVpbGQgcGFyYW1zIG5vdCBleHBhbmRlZGApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHJhbnNhY3Rpb246IHRyYW5zYWN0aW9uLFxuICAgICAgICByZXN1bHQ6IGF3YWl0IHRoaXMud2FsbGV0LnByZWJ1aWxkVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24uYnVpbGRQYXJhbXMpLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2lnbiB0aGUgc3Rha2luZyB0cmFuc2FjdGlvblxuICAgKiBAcGFyYW0gc2lnbk9wdGlvbnNcbiAgICogQHBhcmFtIHN0YWtpbmdQcmVidWlsZFRyYW5zYWN0aW9uXG4gICAqL1xuICBhc3luYyBzaWduKFxuICAgIHNpZ25PcHRpb25zOiBTdGFraW5nU2lnbk9wdGlvbnMsXG4gICAgc3Rha2luZ1ByZWJ1aWxkVHJhbnNhY3Rpb246IFN0YWtpbmdQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0XG4gICk6IFByb21pc2U8U3Rha2luZ1NpZ25lZFRyYW5zYWN0aW9uPiB7XG4gICAgY29uc3QgcmVxSWQgPSBuZXcgUmVxdWVzdFRyYWNlcigpO1xuICAgIGNvbnN0IGtleWNoYWluID0gYXdhaXQgdGhpcy53YWxsZXQuYmFzZUNvaW4ua2V5Y2hhaW5zKCkuZ2V0S2V5c0ZvclNpZ25pbmcoe1xuICAgICAgd2FsbGV0OiB0aGlzLndhbGxldCxcbiAgICAgIHJlcUlkOiByZXFJZCxcbiAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgdHJhbnNhY3Rpb246IHN0YWtpbmdQcmVidWlsZFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uLFxuICAgICAgc2lnbmVkOiBhd2FpdCB0aGlzLndhbGxldC5zaWduVHJhbnNhY3Rpb24oe1xuICAgICAgICB0eFByZWJ1aWxkOiBzdGFraW5nUHJlYnVpbGRUcmFuc2FjdGlvbi5yZXN1bHQsXG4gICAgICAgIHdhbGxldFBhc3NwaHJhc2U6IHNpZ25PcHRpb25zLndhbGxldFBhc3NwaHJhc2UsXG4gICAgICAgIGtleWNoYWluOiBrZXljaGFpblswXSxcbiAgICAgIH0pLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogU2VuZCB0aGUgc2lnbmVkIHN0YWtpbmcgdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIHNpZ25lZFRyYW5zYWN0aW9uXG4gICAqL1xuICBhc3luYyBzZW5kKHNpZ25lZFRyYW5zYWN0aW9uOiBTdGFraW5nU2lnbmVkVHJhbnNhY3Rpb24pOiBQcm9taXNlPFN0YWtpbmdUcmFuc2FjdGlvbj4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmJpdGdvXG4gICAgICAucG9zdCh0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwodGhpcy5zdGFraW5nVHJhbnNhY3Rpb25VUkwoc2lnbmVkVHJhbnNhY3Rpb24udHJhbnNhY3Rpb24pKSlcbiAgICAgIC5zZW5kKHNpZ25lZFRyYW5zYWN0aW9uLnNpZ25lZClcbiAgICAgIC5yZXN1bHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCwgc2lnbiBhbmQgc2VuZCB0aGUgdHJhbnNhY3Rpb24uXG4gICAqIEBwYXJhbSBzaWduT3B0aW9uc1xuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb25cbiAgICovXG4gIGFzeW5jIGJ1aWxkU2lnbkFuZFNlbmQoXG4gICAgc2lnbk9wdGlvbnM6IFN0YWtpbmdTaWduT3B0aW9ucyxcbiAgICB0cmFuc2FjdGlvbjogU3Rha2luZ1RyYW5zYWN0aW9uXG4gICk6IFByb21pc2U8U3Rha2luZ1RyYW5zYWN0aW9uPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYnVpbGQodHJhbnNhY3Rpb24pXG4gICAgICAudGhlbigocmVzdWx0OiBTdGFraW5nUHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdCkgPT4gdGhpcy5zaWduKHNpZ25PcHRpb25zLCByZXN1bHQpKVxuICAgICAgLnRoZW4oKHJlc3VsdDogU3Rha2luZ1NpZ25lZFRyYW5zYWN0aW9uKSA9PiB0aGlzLnNlbmQocmVzdWx0KSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGV4cGFuZEJ1aWxkUGFyYW1zKHN0YWtpbmdUcmFuc2FjdGlvbjogU3Rha2luZ1RyYW5zYWN0aW9uKTogUHJvbWlzZTxTdGFraW5nVHJhbnNhY3Rpb24+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5iaXRnb1xuICAgICAgLmdldCh0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwodGhpcy5zdGFraW5nVHJhbnNhY3Rpb25VUkwoc3Rha2luZ1RyYW5zYWN0aW9uKSkpXG4gICAgICAucXVlcnkoeyBleHBhbmRCdWlsZFBhcmFtczogdHJ1ZSB9KVxuICAgICAgLnJlc3VsdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjcmVhdGVTdGFraW5nUmVxdWVzdChhbW91bnQ6IHN0cmluZywgdHlwZTogc3RyaW5nLCBjbGllbnRJZD86IHN0cmluZyk6IFByb21pc2U8U3Rha2luZ1JlcXVlc3Q+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5iaXRnb1xuICAgICAgLnBvc3QodGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKHRoaXMuc3Rha2luZ1JlcXVlc3RzVVJMKCkpKVxuICAgICAgLnNlbmQoe1xuICAgICAgICBhbW91bnQ6IGFtb3VudCxcbiAgICAgICAgY2xpZW50SWQ6IGNsaWVudElkLFxuICAgICAgICB0eXBlOiB0eXBlLFxuICAgICAgfSlcbiAgICAgIC5yZXN1bHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgc3Rha2luZ1JlcXVlc3RzVVJMKCkge1xuICAgIHJldHVybiBgL2FwaS9zdGFraW5nL3YxLyR7dGhpcy5jb2lufS93YWxsZXRzLyR7dGhpcy53YWxsZXRJZH0vcmVxdWVzdHNgO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGFraW5nUmVxdWVzdFVybChzdGFraW5nUmVxdWVzdElkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN0YWtpbmdSZXF1ZXN0c1VSTCgpfS8ke3N0YWtpbmdSZXF1ZXN0SWR9YDtcbiAgfVxuXG4gIHByaXZhdGUgc3Rha2luZ1RyYW5zYWN0aW9uVVJMKHN0YWtpbmdUcmFuc2FjdGlvbjogU3Rha2luZ1RyYW5zYWN0aW9uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zdGFraW5nUmVxdWVzdFVybChzdGFraW5nVHJhbnNhY3Rpb24uc3Rha2luZ1JlcXVlc3RJZCl9L3RyYW5zYWN0aW9ucy8ke3N0YWtpbmdUcmFuc2FjdGlvbi5pZH1gO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,23 @@
1
+ import { BitGoBase } from '../bitgoBase';
2
+ import { TxRequest } from '../utils';
3
+ import { SignatureShareRecord } from '../utils/tss/baseTypes';
4
+ /**
5
+ * Gets the latest Tx Request by id
6
+ *
7
+ * @param {BitGoBase} bitgo - the bitgo instance
8
+ * @param {String} walletId - the wallet id
9
+ * @param {String} txRequestId - the txRequest Id
10
+ * @returns {Promise<TxRequest>}
11
+ */
12
+ export declare function getTxRequest(bitgo: BitGoBase, walletId: string, txRequestId: string): Promise<TxRequest>;
13
+ /**
14
+ * Sends a Signature Share
15
+ *
16
+ * @param {BitGoBase} bitgo - the bitgo instance
17
+ * @param {String} walletId - the wallet id *
18
+ * @param {String} txRequestId - the txRequest Id
19
+ * @param {SignatureShareRecord} signatureShare - a Signature Share
20
+ * @returns {Promise<SignatureShareRecord>} - a Signature Share
21
+ */
22
+ export declare function sendSignatureShare(bitgo: BitGoBase, walletId: string, txRequestId: string, signatureShare: SignatureShareRecord, signerShare?: string): Promise<SignatureShareRecord>;
23
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/tss/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAW9G;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,oBAAoB,EACpC,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,oBAAoB,CAAC,CAQ/B"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sendSignatureShare = exports.getTxRequest = void 0;
4
+ /**
5
+ * Gets the latest Tx Request by id
6
+ *
7
+ * @param {BitGoBase} bitgo - the bitgo instance
8
+ * @param {String} walletId - the wallet id
9
+ * @param {String} txRequestId - the txRequest Id
10
+ * @returns {Promise<TxRequest>}
11
+ */
12
+ async function getTxRequest(bitgo, walletId, txRequestId) {
13
+ const txRequestRes = await bitgo
14
+ .get(bitgo.url('/wallet/' + walletId + '/txrequests', 2))
15
+ .query({ txRequestIds: txRequestId, latest: 'true' })
16
+ .result();
17
+ if (txRequestRes.txRequests.length <= 0) {
18
+ throw new Error(`Unable to find TxRequest with id ${txRequestId}`);
19
+ }
20
+ return txRequestRes.txRequests[0];
21
+ }
22
+ exports.getTxRequest = getTxRequest;
23
+ /**
24
+ * Sends a Signature Share
25
+ *
26
+ * @param {BitGoBase} bitgo - the bitgo instance
27
+ * @param {String} walletId - the wallet id *
28
+ * @param {String} txRequestId - the txRequest Id
29
+ * @param {SignatureShareRecord} signatureShare - a Signature Share
30
+ * @returns {Promise<SignatureShareRecord>} - a Signature Share
31
+ */
32
+ async function sendSignatureShare(bitgo, walletId, txRequestId, signatureShare, signerShare) {
33
+ return bitgo
34
+ .post(bitgo.url('/wallet/' + walletId + '/txrequests/' + txRequestId + '/signatureshares', 2))
35
+ .send({
36
+ signatureShare,
37
+ signerShare,
38
+ })
39
+ .result();
40
+ }
41
+ exports.sendSignatureShare = sendSignatureShare;
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3Rzcy9jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUE7Ozs7Ozs7R0FPRztBQUNJLEtBQUssVUFBVSxZQUFZLENBQUMsS0FBZ0IsRUFBRSxRQUFnQixFQUFFLFdBQW1CO0lBQ3hGLE1BQU0sWUFBWSxHQUFHLE1BQU0sS0FBSztTQUM3QixHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEdBQUcsUUFBUSxHQUFHLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUN4RCxLQUFLLENBQUMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQztTQUNwRCxNQUFNLEVBQUUsQ0FBQztJQUVaLElBQUksWUFBWSxDQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO1FBQ3ZDLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLFdBQVcsRUFBRSxDQUFDLENBQUM7S0FDcEU7SUFFRCxPQUFPLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEMsQ0FBQztBQVhELG9DQVdDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSSxLQUFLLFVBQVUsa0JBQWtCLENBQ3RDLEtBQWdCLEVBQ2hCLFFBQWdCLEVBQ2hCLFdBQW1CLEVBQ25CLGNBQW9DLEVBQ3BDLFdBQW9CO0lBRXBCLE9BQU8sS0FBSztTQUNULElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQVUsR0FBRyxRQUFRLEdBQUcsY0FBYyxHQUFHLFdBQVcsR0FBRyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUM3RixJQUFJLENBQUM7UUFDSixjQUFjO1FBQ2QsV0FBVztLQUNaLENBQUM7U0FDRCxNQUFNLEVBQUUsQ0FBQztBQUNkLENBQUM7QUFkRCxnREFjQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJy4uL2JpdGdvQmFzZSc7XG5pbXBvcnQgeyBUeFJlcXVlc3QgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBTaWduYXR1cmVTaGFyZVJlY29yZCB9IGZyb20gJy4uL3V0aWxzL3Rzcy9iYXNlVHlwZXMnO1xuXG4vKipcbiAqIEdldHMgdGhlIGxhdGVzdCBUeCBSZXF1ZXN0IGJ5IGlkXG4gKlxuICogQHBhcmFtIHtCaXRHb0Jhc2V9IGJpdGdvIC0gdGhlIGJpdGdvIGluc3RhbmNlXG4gKiBAcGFyYW0ge1N0cmluZ30gd2FsbGV0SWQgLSB0aGUgd2FsbGV0IGlkXG4gKiBAcGFyYW0ge1N0cmluZ30gdHhSZXF1ZXN0SWQgLSB0aGUgdHhSZXF1ZXN0IElkXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxUeFJlcXVlc3Q+fVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0VHhSZXF1ZXN0KGJpdGdvOiBCaXRHb0Jhc2UsIHdhbGxldElkOiBzdHJpbmcsIHR4UmVxdWVzdElkOiBzdHJpbmcpOiBQcm9taXNlPFR4UmVxdWVzdD4ge1xuICBjb25zdCB0eFJlcXVlc3RSZXMgPSBhd2FpdCBiaXRnb1xuICAgIC5nZXQoYml0Z28udXJsKCcvd2FsbGV0LycgKyB3YWxsZXRJZCArICcvdHhyZXF1ZXN0cycsIDIpKVxuICAgIC5xdWVyeSh7IHR4UmVxdWVzdElkczogdHhSZXF1ZXN0SWQsIGxhdGVzdDogJ3RydWUnIH0pXG4gICAgLnJlc3VsdCgpO1xuXG4gIGlmICh0eFJlcXVlc3RSZXMudHhSZXF1ZXN0cy5sZW5ndGggPD0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIGZpbmQgVHhSZXF1ZXN0IHdpdGggaWQgJHt0eFJlcXVlc3RJZH1gKTtcbiAgfVxuXG4gIHJldHVybiB0eFJlcXVlc3RSZXMudHhSZXF1ZXN0c1swXTtcbn1cblxuLyoqXG4gKiBTZW5kcyBhIFNpZ25hdHVyZSBTaGFyZVxuICpcbiAqIEBwYXJhbSB7Qml0R29CYXNlfSBiaXRnbyAtIHRoZSBiaXRnbyBpbnN0YW5jZVxuICogQHBhcmFtIHtTdHJpbmd9IHdhbGxldElkIC0gdGhlIHdhbGxldCBpZCAgKlxuICogQHBhcmFtIHtTdHJpbmd9IHR4UmVxdWVzdElkIC0gdGhlIHR4UmVxdWVzdCBJZFxuICogQHBhcmFtIHtTaWduYXR1cmVTaGFyZVJlY29yZH0gc2lnbmF0dXJlU2hhcmUgLSBhIFNpZ25hdHVyZSBTaGFyZVxuICogQHJldHVybnMge1Byb21pc2U8U2lnbmF0dXJlU2hhcmVSZWNvcmQ+fSAtIGEgU2lnbmF0dXJlIFNoYXJlXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzZW5kU2lnbmF0dXJlU2hhcmUoXG4gIGJpdGdvOiBCaXRHb0Jhc2UsXG4gIHdhbGxldElkOiBzdHJpbmcsXG4gIHR4UmVxdWVzdElkOiBzdHJpbmcsXG4gIHNpZ25hdHVyZVNoYXJlOiBTaWduYXR1cmVTaGFyZVJlY29yZCxcbiAgc2lnbmVyU2hhcmU/OiBzdHJpbmdcbik6IFByb21pc2U8U2lnbmF0dXJlU2hhcmVSZWNvcmQ+IHtcbiAgcmV0dXJuIGJpdGdvXG4gICAgLnBvc3QoYml0Z28udXJsKCcvd2FsbGV0LycgKyB3YWxsZXRJZCArICcvdHhyZXF1ZXN0cy8nICsgdHhSZXF1ZXN0SWQgKyAnL3NpZ25hdHVyZXNoYXJlcycsIDIpKVxuICAgIC5zZW5kKHtcbiAgICAgIHNpZ25hdHVyZVNoYXJlLFxuICAgICAgc2lnbmVyU2hhcmUsXG4gICAgfSlcbiAgICAucmVzdWx0KCk7XG59XG4iXX0=
@@ -1,35 +1,166 @@
1
- import { ECDSA } from './../../../account-lib/mpc/tss';
2
- import { DecryptableNShare, CombinedKey, EncryptedNShare } from './types';
3
- declare type KeyShare = ECDSA.KeyShare;
1
+ /// <reference types="node" />
2
+ import { DecryptableNShare, CombinedKey, EncryptedNShare, AShare, CreateUserGammaAndMuShareRT, CreateUserOmicronAndDeltaShareRT, DShare, GShare, KeyShare, NShare, OShare, SendShareType, SignatureShare, SignShare, WShare, XShare, YShare, SendShareToBitgoRT } from './types';
3
+ import { SignatureShareRecord, SignatureShareType } from './../../utils';
4
+ import { BitGoBase } from '../../bitgoBase';
5
+ import { KShare, MUShare, SShare } from '../../../account-lib/mpc/tss/ecdsa/types';
4
6
  /**
5
7
  * Combines NShares to combine the final TSS key
6
8
  * This can only be used to create the User or Backup key since it requires the common keychain from BitGo first
7
9
  *
8
- * @param params.keyShare - TSS key share
9
- * @param params.encryptedNShares - encrypted NShares with information on how to decrypt
10
- * @param params.commonKeychain - expected common keychain of the combined key
10
+ * @param keyShare - TSS key share
11
+ * @param encryptedNShares - encrypted NShares with information on how to decrypt
12
+ * @param commonKeychain - expected common keychain of the combined key
11
13
  * @returns {CombinedKey} combined TSS key
12
14
  */
13
- export declare function createCombinedKey(params: {
14
- keyShare: KeyShare;
15
- encryptedNShares: DecryptableNShare[];
16
- commonKeychain: string;
17
- }): Promise<CombinedKey>;
15
+ export declare function createCombinedKey(keyShare: KeyShare, encryptedNShares: DecryptableNShare[], commonKeychain: string): Promise<CombinedKey>;
16
+ /**
17
+ * Creates the SignShare with User XShare and YShare Corresponding to BitGo
18
+ * @param {XShare} xShare User secret xShare
19
+ * @param {YShare} yShare YShare from Bitgo
20
+ * @returns {Promise<SignShare>}
21
+ */
22
+ export declare function createUserSignShare(xShare: XShare, yShare: YShare): Promise<SignShare>;
23
+ /**
24
+ * Creates the Gamma Share and MuShare with User WShare and AShare From BitGo
25
+ * @param {WShare} wShare User WShare
26
+ * @param {AShare} aShare AShare from Bitgo
27
+ * @returns {Promise<CreateUserGammaAndMuShareRT>}
28
+ */
29
+ export declare function createUserGammaAndMuShare(wShare: WShare, aShare: AShare): Promise<CreateUserGammaAndMuShareRT>;
30
+ /**
31
+ * Creates the Omicron Share and Delta share with user GShare
32
+ * @param {GShare} gShare User GShare
33
+ * @returns {Promise<CreateUserOmicronAndDeltaShareRT>}
34
+ */
35
+ export declare function createUserOmicronAndDeltaShare(gShare: GShare): Promise<CreateUserOmicronAndDeltaShareRT>;
36
+ /**
37
+ * Creates the Signature Share with User OShare and DShare From BitGo
38
+ * @param {OShare} oShare User OShare
39
+ * @param {DShare} dShare DShare from bitgo
40
+ * @param {Buffer} message message to perform sign
41
+ * @returns {Promise<createUserSignShareRT>}
42
+ */
43
+ export declare function createUserSignatureShare(oShare: OShare, dShare: DShare, message: Buffer): Promise<SignatureShare>;
44
+ /**
45
+ * Sends Share To Bitgo
46
+ * @param {BitGoBase} bitgo - the bitgo instance
47
+ * @param {String} walletId - the wallet id *
48
+ * @param {String} txRequestId - the txRequest Id
49
+ * @param {SignatureShareRecord} signatureShare - a Signature Share
50
+ * @returns {Promise<SignatureShareRecord>} - a Signature Share
51
+ */
52
+ export declare function sendShareToBitgo(bitgo: BitGoBase, walletId: string, txRequestId: string, shareType: SendShareType, share: SShare | MUShare | KShare, dShare?: DShare): Promise<SendShareToBitgoRT>;
18
53
  /**
19
54
  * Prepares a NShare to be exchanged with other key holders.
20
55
  * Output is in a format that is usable within BitGo's ecosystem.
21
56
  *
22
- * @param params.keyShare - TSS key share of the party preparing exchange materials
23
- * @param params.recipientIndex - index of the recipient (1, 2, or 3)
24
- * @param params.recipientGpgPublicArmor - recipient's public gpg key in armor format
25
- * @param params.senderGpgPrivateArmor - sender's private gpg key in armor format
26
- * @returns { EncryptedNShare } encrypted Y Share
27
- */
28
- export declare function encryptNShare(params: {
29
- keyShare: KeyShare;
30
- recipientIndex: number;
31
- recipientGpgPublicArmor: string;
32
- senderGpgPrivateArmor: string;
33
- }): Promise<EncryptedNShare>;
34
- export {};
57
+ * @param keyShare - TSS key share of the party preparing exchange materials
58
+ * @param recipientIndex - index of the recipient (1, 2, or 3)
59
+ * @param recipientGpgPublicArmor - recipient's public gpg key in armor format
60
+ * @param senderGpgPrivateArmor - sender's private gpg key in armor format
61
+ * @returns encrypted N Share
62
+ */
63
+ export declare function encryptNShare(keyShare: KeyShare, recipientIndex: number, recipientGpgPublicArmor: string, senderGpgPrivateArmor: string): Promise<EncryptedNShare>;
64
+ /**
65
+ * Decrypts encrypted n share
66
+ * @param encryptedNShare - decryptable n share with recipient private gpg key armor and sender public gpg key
67
+ * @returns N share
68
+ */
69
+ export declare function decryptNShare(encryptedNShare: DecryptableNShare): Promise<NShare>;
70
+ /**
71
+ * Gets public key from common key chain
72
+ * @param commonKeyChain - common key chain of ecdsa tss
73
+ * @returns public key
74
+ */
75
+ export declare function getPublicKey(commonKeyChain: string): string;
76
+ /**
77
+ * parses K share from signature share record
78
+ * @param share - signature share record
79
+ * @returns K Share
80
+ */
81
+ export declare function parseKShare(share: SignatureShareRecord): KShare;
82
+ /**
83
+ * convert K share to signature share record
84
+ * @param share - K share
85
+ * @returns signature share record
86
+ */
87
+ export declare function convertKShare(share: KShare): SignatureShareRecord;
88
+ /**
89
+ * parses A share from signature share record
90
+ * @param share - signature share record
91
+ * @returns A Share
92
+ */
93
+ export declare function parseAShare(share: SignatureShareRecord): AShare;
94
+ /**
95
+ * convert A share to signature share record
96
+ * @param share - A share
97
+ * @returns signature share record
98
+ */
99
+ export declare function convertAShare(share: AShare): SignatureShareRecord;
100
+ /**
101
+ * parses Mu share from signature share record
102
+ * @param share - signature share record
103
+ * @returns Mu Share
104
+ */
105
+ export declare function parseMuShare(share: SignatureShareRecord): MUShare;
106
+ /**
107
+ * convert Mu share to signature share record
108
+ * @param share - Mu share
109
+ * @returns signature share record
110
+ */
111
+ export declare function convertMuShare(share: MUShare): SignatureShareRecord;
112
+ /**
113
+ * parses D share from signature share record
114
+ * @param share - signature share record
115
+ * @returns D Share
116
+ */
117
+ export declare function parseDShare(share: SignatureShareRecord): DShare;
118
+ /**
119
+ * convert D share to signature share record
120
+ * @param share - D share
121
+ * @returns signature share record
122
+ */
123
+ export declare function convertDShare(share: DShare): SignatureShareRecord;
124
+ /**
125
+ * parses S and D share from signature share record
126
+ * @param share - signature share record
127
+ * @returns Object containing S and D Share
128
+ */
129
+ export declare function parseSDShare(share: SignatureShareRecord): {
130
+ sShare: SignatureShare;
131
+ dShare: DShare;
132
+ };
133
+ /**
134
+ * convert S and D share to signature share record
135
+ * @param share - S and D share in a object
136
+ * @returns signature share record
137
+ */
138
+ export declare function convertSDShare(share: {
139
+ sShare: SignatureShare;
140
+ dShare: DShare;
141
+ }): SignatureShareRecord;
142
+ /**
143
+ * parses signature share from signature share record
144
+ * @param share - signature share record
145
+ * @returns Signature Share
146
+ */
147
+ export declare function parseSignatureShare(share: SignatureShareRecord): SignatureShare;
148
+ /**
149
+ * convert signature share to signature share record
150
+ * @param share - K share
151
+ * @returns signature share record
152
+ */
153
+ export declare function convertSignatureShare(share: SignatureShare, senderIndex: number): SignatureShareRecord;
154
+ /**
155
+ * gets particapant index
156
+ * @param participant - participants (user, backup, or bitgo)
157
+ * @returns index (1, 2, 0r 3)
158
+ */
159
+ export declare function getParticapantIndex(participant: 'user' | 'backup' | 'bitgo'): number;
160
+ /**
161
+ * gets particapant name by index
162
+ * @param index particapant index
163
+ * @returns particapant name
164
+ */
165
+ export declare function getParticapantFromIndex(index: number): SignatureShareType;
35
166
  //# sourceMappingURL=ecdsa.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ecdsa.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/tss/ecdsa/ecdsa.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAS,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAmB,eAAe,EAAE,MAAM,SAAS,CAAC;AAI3F,aAAK,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;AAC/B;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE;IAC9C,QAAQ,EAAE,QAAQ,CAAC;IACnB,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,WAAW,CAAC,CA+DvB;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE;IAC1C,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,uBAAuB,EAAE,MAAM,CAAC;IAChC,qBAAqB,EAAE,MAAM,CAAC;CAC/B,GAAG,OAAO,CAAC,eAAe,CAAC,CAqB3B"}
1
+ {"version":3,"file":"ecdsa.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/tss/ecdsa/ecdsa.ts"],"names":[],"mappings":"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"}