@bitgo-beta/sdk-coin-hbar 1.0.2-beta.236 → 1.0.2-beta.2361

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 (97) hide show
  1. package/dist/src/hbar.d.ts +109 -11
  2. package/dist/src/hbar.d.ts.map +1 -1
  3. package/dist/src/hbar.js +497 -25
  4. package/dist/src/hbarToken.d.ts +4 -1
  5. package/dist/src/hbarToken.d.ts.map +1 -1
  6. package/dist/src/hbarToken.js +12 -3
  7. package/dist/src/index.js +6 -2
  8. package/dist/src/lib/accountUpdateBuilder.d.ts +49 -0
  9. package/dist/src/lib/accountUpdateBuilder.d.ts.map +1 -0
  10. package/dist/src/lib/accountUpdateBuilder.js +122 -0
  11. package/dist/src/lib/coinTransferBuilder.d.ts +1 -1
  12. package/dist/src/lib/coinTransferBuilder.d.ts.map +1 -1
  13. package/dist/src/lib/coinTransferBuilder.js +12 -28
  14. package/dist/src/lib/constants.d.ts +2 -1
  15. package/dist/src/lib/constants.d.ts.map +1 -1
  16. package/dist/src/lib/constants.js +3 -2
  17. package/dist/src/lib/iface.d.ts +10 -1
  18. package/dist/src/lib/iface.d.ts.map +1 -1
  19. package/dist/src/lib/iface.js +1 -1
  20. package/dist/src/lib/index.d.ts +2 -0
  21. package/dist/src/lib/index.d.ts.map +1 -1
  22. package/dist/src/lib/index.js +26 -10
  23. package/dist/src/lib/keyPair.d.ts +1 -0
  24. package/dist/src/lib/keyPair.d.ts.map +1 -1
  25. package/dist/src/lib/keyPair.js +7 -7
  26. package/dist/src/lib/tokenAssociateBuilder.js +9 -28
  27. package/dist/src/lib/tokenTransferBuilder.d.ts +1 -1
  28. package/dist/src/lib/tokenTransferBuilder.d.ts.map +1 -1
  29. package/dist/src/lib/tokenTransferBuilder.js +15 -31
  30. package/dist/src/lib/transaction.d.ts +7 -1
  31. package/dist/src/lib/transaction.d.ts.map +1 -1
  32. package/dist/src/lib/transaction.js +97 -41
  33. package/dist/src/lib/transactionBuilder.d.ts +1 -1
  34. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  35. package/dist/src/lib/transactionBuilder.js +18 -37
  36. package/dist/src/lib/transactionBuilderFactory.d.ts +5 -0
  37. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  38. package/dist/src/lib/transactionBuilderFactory.js +12 -3
  39. package/dist/src/lib/transferBuilder.d.ts +1 -1
  40. package/dist/src/lib/transferBuilder.d.ts.map +1 -1
  41. package/dist/src/lib/transferBuilder.js +5 -24
  42. package/dist/src/lib/utils.d.ts +18 -1
  43. package/dist/src/lib/utils.d.ts.map +1 -1
  44. package/dist/src/lib/utils.js +112 -41
  45. package/dist/src/lib/walletInitializationBuilder.js +12 -28
  46. package/dist/src/seedValidator.js +24 -10
  47. package/dist/test/fixtures/hbar.d.ts +6 -0
  48. package/dist/test/fixtures/hbar.d.ts.map +1 -0
  49. package/dist/test/fixtures/hbar.js +9 -0
  50. package/dist/test/resources/hbar.d.ts +67 -0
  51. package/dist/test/resources/hbar.d.ts.map +1 -0
  52. package/dist/test/resources/hbar.js +73 -0
  53. package/dist/test/unit/fixtures/hbarBackupKey.d.ts +4 -0
  54. package/dist/test/unit/fixtures/hbarBackupKey.d.ts.map +1 -0
  55. package/dist/test/unit/fixtures/hbarBackupKey.js +10 -0
  56. package/dist/test/unit/getBuilderFactory.d.ts +3 -0
  57. package/dist/test/unit/getBuilderFactory.d.ts.map +1 -0
  58. package/dist/test/unit/getBuilderFactory.js +10 -0
  59. package/dist/test/unit/hbar.d.ts +2 -0
  60. package/dist/test/unit/hbar.d.ts.map +1 -0
  61. package/dist/test/unit/hbar.js +1673 -0
  62. package/dist/test/unit/hbarSafeRecovery.d.ts +2 -0
  63. package/dist/test/unit/hbarSafeRecovery.d.ts.map +1 -0
  64. package/dist/test/unit/hbarSafeRecovery.js +186 -0
  65. package/dist/test/unit/hbarToken.d.ts +2 -0
  66. package/dist/test/unit/hbarToken.d.ts.map +1 -0
  67. package/dist/test/unit/hbarToken.js +34 -0
  68. package/dist/test/unit/keyPair.d.ts +2 -0
  69. package/dist/test/unit/keyPair.d.ts.map +1 -0
  70. package/dist/test/unit/keyPair.js +179 -0
  71. package/dist/test/unit/transaction.d.ts +2 -0
  72. package/dist/test/unit/transaction.d.ts.map +1 -0
  73. package/dist/test/unit/transaction.js +94 -0
  74. package/dist/test/unit/transactionBuilder/accountUpdateBuilder.d.ts +2 -0
  75. package/dist/test/unit/transactionBuilder/accountUpdateBuilder.d.ts.map +1 -0
  76. package/dist/test/unit/transactionBuilder/accountUpdateBuilder.js +295 -0
  77. package/dist/test/unit/transactionBuilder/tokenAssociateBuilder.d.ts +2 -0
  78. package/dist/test/unit/transactionBuilder/tokenAssociateBuilder.d.ts.map +1 -0
  79. package/dist/test/unit/transactionBuilder/tokenAssociateBuilder.js +215 -0
  80. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts +2 -0
  81. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts.map +1 -0
  82. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.js +329 -0
  83. package/dist/test/unit/transactionBuilder/transferBuilder.d.ts +2 -0
  84. package/dist/test/unit/transactionBuilder/transferBuilder.d.ts.map +1 -0
  85. package/dist/test/unit/transactionBuilder/transferBuilder.js +353 -0
  86. package/dist/test/unit/transactionBuilder/walletInitialization.d.ts +2 -0
  87. package/dist/test/unit/transactionBuilder/walletInitialization.d.ts.map +1 -0
  88. package/dist/test/unit/transactionBuilder/walletInitialization.js +214 -0
  89. package/dist/test/unit/utils.d.ts +2 -0
  90. package/dist/test/unit/utils.d.ts.map +1 -0
  91. package/dist/test/unit/utils.js +275 -0
  92. package/dist/tsconfig.tsbuildinfo +1 -0
  93. package/package.json +18 -14
  94. package/.eslintignore +0 -5
  95. package/.mocharc.yml +0 -8
  96. package/CHANGELOG.md +0 -106
  97. package/LICENSE +0 -191
@@ -1,9 +1,9 @@
1
- /// <reference types="node" />
2
1
  /**
3
2
  * @prettier
4
3
  */
5
4
  import { CoinFamily, BaseCoin as StaticsBaseCoin } from '@bitgo-beta/statics';
6
- import { BaseCoin, BitGoBase, KeyPair, ParsedTransaction, ParseTransactionOptions, SignedTransaction, SignTransactionOptions, VerifyAddressOptions as BaseVerifyAddressOptions, VerifyTransactionOptions, TransactionFee, TransactionRecipient as Recipient, TransactionPrebuild as BaseTransactionPrebuild, TransactionExplanation, Memo, TokenEnablementConfig } from '@bitgo-beta/sdk-core';
5
+ import { BaseCoin, BitGoBase, ExternalEd25519Signer, KeyPair, ParsedTransaction, ParseTransactionOptions, SignedTransaction, SignTransactionOptions, VerifyAddressOptions as BaseVerifyAddressOptions, VerifyTransactionOptions, TransactionFee, TransactionRecipient as Recipient, TransactionPrebuild as BaseTransactionPrebuild, TransactionExplanation, Memo, TokenEnablementConfig, BaseBroadcastTransactionOptions, BaseBroadcastTransactionResult, MultisigType, AuditDecryptedKeyParams } from '@bitgo-beta/sdk-core';
6
+ import { Client, Transaction as HbarTransaction, AccountBalanceJson } from '@hashgraph/sdk';
7
7
  export interface HbarSignTransactionOptions extends SignTransactionOptions {
8
8
  txPrebuild: TransactionPrebuild;
9
9
  prv: string;
@@ -24,7 +24,7 @@ export interface ExplainTransactionOptions {
24
24
  halfSigned?: {
25
25
  txHex: string;
26
26
  };
27
- feeInfo: TransactionFee;
27
+ feeInfo?: TransactionFee;
28
28
  memo?: {
29
29
  type: string;
30
30
  value: string;
@@ -37,6 +37,61 @@ export interface HbarVerifyTransactionOptions extends VerifyTransactionOptions {
37
37
  interface VerifyAddressOptions extends BaseVerifyAddressOptions {
38
38
  baseAddress: string;
39
39
  }
40
+ export interface RecoveryOptions {
41
+ backupKey?: string;
42
+ userKey: string;
43
+ rootAddress: string;
44
+ recoveryDestination: string;
45
+ bitgoKey?: string;
46
+ walletPassphrase?: string;
47
+ maxFee?: string;
48
+ nodeId?: string;
49
+ startTime?: string;
50
+ tokenId?: string;
51
+ /** Lazy signer for the seedless backup child; the signed body bytes only exist after recover() builds the transaction. */
52
+ externalBackupSigner?: ExternalEd25519Signer;
53
+ }
54
+ /**
55
+ * Signed recovery result. Optional key/account fields are populated for Safe recovery when
56
+ * `externalBackupSigner` is supplied. They expose only public material.
57
+ */
58
+ export interface RecoveryInfo {
59
+ id: string;
60
+ tx: string;
61
+ coin: string;
62
+ startTime: string;
63
+ nodeId: string;
64
+ /** Derived user public key with the Hedera public-key prefix, never the encrypted `userKey` input. */
65
+ userKey?: string;
66
+ /** Derived backup public key with the Hedera public-key prefix, not a private key or seed. */
67
+ backupKey?: string;
68
+ /** BitGo public key with the Hedera public-key prefix, when supplied by the caller. */
69
+ bitgoKey?: string;
70
+ /** Caller-supplied Hedera account ID (for example, `0.0.12345`), not a public or private key. */
71
+ rootAddress?: string;
72
+ }
73
+ export interface OfflineVaultTxInfo {
74
+ txHex: string;
75
+ userKey: string;
76
+ backupKey: string;
77
+ bitgoKey?: string;
78
+ address: string;
79
+ coin: string;
80
+ maxFee: string;
81
+ recipients: Recipient[];
82
+ amount: string;
83
+ startTime: string;
84
+ validDuration: string;
85
+ nodeId: string;
86
+ memo: string;
87
+ json?: any;
88
+ }
89
+ export interface BroadcastTransactionOptions extends BaseBroadcastTransactionOptions {
90
+ startTime?: string;
91
+ }
92
+ export interface BroadcastTransactionResult extends BaseBroadcastTransactionResult {
93
+ status?: string;
94
+ }
40
95
  export declare class Hbar extends BaseCoin {
41
96
  protected readonly _staticsCoin: Readonly<StaticsBaseCoin>;
42
97
  constructor(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>);
@@ -55,13 +110,15 @@ export declare class Hbar extends BaseCoin {
55
110
  * @param address
56
111
  */
57
112
  isValidAddress(address: string): boolean;
58
- /**
59
- * Generate Hedera Hashgraph key pair
60
- *
61
- * @param seed
62
- * @returns {Object} object with generated pub, prv
63
- */
113
+ /** inheritdoc */
114
+ deriveKeyWithSeed(): {
115
+ derivationPath: string;
116
+ key: string;
117
+ };
118
+ /** inheritdoc */
64
119
  generateKeyPair(seed?: Buffer): KeyPair;
120
+ /** inheritdoc */
121
+ generateRootKeyPair(seed?: Buffer): KeyPair;
65
122
  parseTransaction(params: ParseTransactionOptions): Promise<ParsedTransaction>;
66
123
  /**
67
124
  * Check if address is valid, then make sure it matches the base address.
@@ -71,6 +128,23 @@ export declare class Hbar extends BaseCoin {
71
128
  * @param {String} params.baseAddress - the base address from the wallet
72
129
  */
73
130
  isWalletAddress(params: VerifyAddressOptions): Promise<boolean>;
131
+ /**
132
+ * Verify a token enablement transaction with strict validation
133
+ * @param txHex - The transaction hex to verify
134
+ * @param expectedToken - Object containing tokenId (preferred) or tokenName
135
+ * @param expectedAccountId - The expected account ID that will enable the token
136
+ * @throws Error if the transaction is not a valid token enablement transaction
137
+ */
138
+ verifyTokenEnablementTransaction(txHex: string, expectedToken: {
139
+ tokenId?: string;
140
+ tokenName?: string;
141
+ }, expectedAccountId: string): Promise<void>;
142
+ private validateTxStructureStrict;
143
+ private validateNoTransfers;
144
+ private validateAccountIdMatches;
145
+ private validateTokenEnablementTarget;
146
+ private validateTxHexAgainstExpected;
147
+ private validateAssociateInstructionOnly;
74
148
  verifyTransaction(params: HbarVerifyTransactionOptions): Promise<boolean>;
75
149
  /**
76
150
  * Assemble keychain and half-sign prebuilt transaction
@@ -78,7 +152,6 @@ export declare class Hbar extends BaseCoin {
78
152
  * @param params
79
153
  * @param params.txPrebuild {Object} prebuild object returned by platform
80
154
  * @param params.prv {String} user prv
81
- * @param params.wallet.addressVersion {String} this is the version of the Algorand multisig address generation format
82
155
  * @returns Promise<SignedTransaction>
83
156
  */
84
157
  signTransaction(params: HbarSignTransactionOptions): Promise<SignedTransaction>;
@@ -98,7 +171,7 @@ export declare class Hbar extends BaseCoin {
98
171
  * 3) Send signed build - send our signed build to a public node
99
172
  * @param params
100
173
  */
101
- recover(params: any): Promise<any>;
174
+ recover(params: RecoveryOptions): Promise<RecoveryInfo | OfflineVaultTxInfo>;
102
175
  /**
103
176
  * Explain a Hedera transaction from txHex
104
177
  * @param params
@@ -107,8 +180,33 @@ export declare class Hbar extends BaseCoin {
107
180
  isStellarSeed(seed: string): boolean;
108
181
  convertFromStellarSeed(seed: string): string | null;
109
182
  isValidPub(pub: string): boolean;
183
+ supportsDeriveKeyWithSeed(): boolean;
184
+ /** inherited doc */
185
+ getDefaultMultisigType(): MultisigType;
110
186
  getTokenEnablementConfig(): TokenEnablementConfig;
111
187
  private getBuilderFactory;
188
+ private getHbarClient;
189
+ /**
190
+ * Fetches the flattened set of ed25519 public keys controlling an account, via the Hedera mirror node.
191
+ * Returns raw (non-DER) lowercase hex keys for ed25519 keys (single key, key list or threshold key).
192
+ * Account keys of other types (e.g. ECDSA_secp256k1) are rejected, so recovery of such accounts
193
+ * fails closed with an explicit error rather than a misleading key mismatch.
194
+ * Uses the free mirror-node REST API because the SDK's AccountInfoQuery is a paid query,
195
+ * and recovery runs with an operator-less client that cannot pay.
196
+ */
197
+ getAccountKeys(accountId: string): Promise<string[]>;
198
+ /**
199
+ * Flattens a protobuf Key (single ed25519 / keyList / thresholdKey) into raw ed25519 hex keys
200
+ */
201
+ private static collectEd25519Keys;
202
+ getAccountBalance(accountId: string, client: Client): Promise<AccountBalanceJson>;
203
+ broadcastTransaction({ serializedSignedTransaction, startTime, }: BroadcastTransactionOptions): Promise<BroadcastTransactionResult>;
204
+ clientBroadcastTransaction(hbarTx: HbarTransaction): Promise<{
205
+ txId: string;
206
+ status: string;
207
+ }>;
208
+ /** @inheritDoc */
209
+ auditDecryptedKey({ prv, publicKey, multiSigType }: AuditDecryptedKeyParams): void;
112
210
  }
113
211
  export {};
114
212
  //# sourceMappingURL=hbar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hbar.d.ts","sourceRoot":"","sources":["../../src/hbar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hbar.d.ts","sourceRoot":"","sources":["../../src/hbar.ts"],"names":[],"mappings":"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"}