@bitgo-beta/sdk-coin-hbar 1.0.2-beta.234 → 1.0.2-beta.2340

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 (94) hide show
  1. package/dist/src/hbar.d.ts +97 -11
  2. package/dist/src/hbar.d.ts.map +1 -1
  3. package/dist/src/hbar.js +468 -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 +1610 -0
  62. package/dist/test/unit/hbarToken.d.ts +2 -0
  63. package/dist/test/unit/hbarToken.d.ts.map +1 -0
  64. package/dist/test/unit/hbarToken.js +34 -0
  65. package/dist/test/unit/keyPair.d.ts +2 -0
  66. package/dist/test/unit/keyPair.d.ts.map +1 -0
  67. package/dist/test/unit/keyPair.js +179 -0
  68. package/dist/test/unit/transaction.d.ts +2 -0
  69. package/dist/test/unit/transaction.d.ts.map +1 -0
  70. package/dist/test/unit/transaction.js +94 -0
  71. package/dist/test/unit/transactionBuilder/accountUpdateBuilder.d.ts +2 -0
  72. package/dist/test/unit/transactionBuilder/accountUpdateBuilder.d.ts.map +1 -0
  73. package/dist/test/unit/transactionBuilder/accountUpdateBuilder.js +295 -0
  74. package/dist/test/unit/transactionBuilder/tokenAssociateBuilder.d.ts +2 -0
  75. package/dist/test/unit/transactionBuilder/tokenAssociateBuilder.d.ts.map +1 -0
  76. package/dist/test/unit/transactionBuilder/tokenAssociateBuilder.js +215 -0
  77. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts +2 -0
  78. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts.map +1 -0
  79. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.js +329 -0
  80. package/dist/test/unit/transactionBuilder/transferBuilder.d.ts +2 -0
  81. package/dist/test/unit/transactionBuilder/transferBuilder.d.ts.map +1 -0
  82. package/dist/test/unit/transactionBuilder/transferBuilder.js +353 -0
  83. package/dist/test/unit/transactionBuilder/walletInitialization.d.ts +2 -0
  84. package/dist/test/unit/transactionBuilder/walletInitialization.d.ts.map +1 -0
  85. package/dist/test/unit/transactionBuilder/walletInitialization.js +214 -0
  86. package/dist/test/unit/utils.d.ts +2 -0
  87. package/dist/test/unit/utils.d.ts.map +1 -0
  88. package/dist/test/unit/utils.js +275 -0
  89. package/dist/tsconfig.tsbuildinfo +1 -0
  90. package/package.json +18 -14
  91. package/.eslintignore +0 -5
  92. package/.mocharc.yml +0 -8
  93. package/CHANGELOG.md +0 -106
  94. 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, ExternalEd25519Signature, 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,49 @@ 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
+ /** Optional pre-made signature for the backup child, whose signature must be over the transaction body bytes (`bodyBytes`). */
52
+ externalBackupSignature?: ExternalEd25519Signature;
53
+ }
54
+ export interface RecoveryInfo {
55
+ id: string;
56
+ tx: string;
57
+ coin: string;
58
+ startTime: string;
59
+ nodeId: string;
60
+ }
61
+ export interface OfflineVaultTxInfo {
62
+ txHex: string;
63
+ userKey: string;
64
+ backupKey: string;
65
+ bitgoKey?: string;
66
+ address: string;
67
+ coin: string;
68
+ maxFee: string;
69
+ recipients: Recipient[];
70
+ amount: string;
71
+ startTime: string;
72
+ validDuration: string;
73
+ nodeId: string;
74
+ memo: string;
75
+ json?: any;
76
+ }
77
+ export interface BroadcastTransactionOptions extends BaseBroadcastTransactionOptions {
78
+ startTime?: string;
79
+ }
80
+ export interface BroadcastTransactionResult extends BaseBroadcastTransactionResult {
81
+ status?: string;
82
+ }
40
83
  export declare class Hbar extends BaseCoin {
41
84
  protected readonly _staticsCoin: Readonly<StaticsBaseCoin>;
42
85
  constructor(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>);
@@ -55,13 +98,15 @@ export declare class Hbar extends BaseCoin {
55
98
  * @param address
56
99
  */
57
100
  isValidAddress(address: string): boolean;
58
- /**
59
- * Generate Hedera Hashgraph key pair
60
- *
61
- * @param seed
62
- * @returns {Object} object with generated pub, prv
63
- */
101
+ /** inheritdoc */
102
+ deriveKeyWithSeed(): {
103
+ derivationPath: string;
104
+ key: string;
105
+ };
106
+ /** inheritdoc */
64
107
  generateKeyPair(seed?: Buffer): KeyPair;
108
+ /** inheritdoc */
109
+ generateRootKeyPair(seed?: Buffer): KeyPair;
65
110
  parseTransaction(params: ParseTransactionOptions): Promise<ParsedTransaction>;
66
111
  /**
67
112
  * Check if address is valid, then make sure it matches the base address.
@@ -71,6 +116,23 @@ export declare class Hbar extends BaseCoin {
71
116
  * @param {String} params.baseAddress - the base address from the wallet
72
117
  */
73
118
  isWalletAddress(params: VerifyAddressOptions): Promise<boolean>;
119
+ /**
120
+ * Verify a token enablement transaction with strict validation
121
+ * @param txHex - The transaction hex to verify
122
+ * @param expectedToken - Object containing tokenId (preferred) or tokenName
123
+ * @param expectedAccountId - The expected account ID that will enable the token
124
+ * @throws Error if the transaction is not a valid token enablement transaction
125
+ */
126
+ verifyTokenEnablementTransaction(txHex: string, expectedToken: {
127
+ tokenId?: string;
128
+ tokenName?: string;
129
+ }, expectedAccountId: string): Promise<void>;
130
+ private validateTxStructureStrict;
131
+ private validateNoTransfers;
132
+ private validateAccountIdMatches;
133
+ private validateTokenEnablementTarget;
134
+ private validateTxHexAgainstExpected;
135
+ private validateAssociateInstructionOnly;
74
136
  verifyTransaction(params: HbarVerifyTransactionOptions): Promise<boolean>;
75
137
  /**
76
138
  * Assemble keychain and half-sign prebuilt transaction
@@ -78,7 +140,6 @@ export declare class Hbar extends BaseCoin {
78
140
  * @param params
79
141
  * @param params.txPrebuild {Object} prebuild object returned by platform
80
142
  * @param params.prv {String} user prv
81
- * @param params.wallet.addressVersion {String} this is the version of the Algorand multisig address generation format
82
143
  * @returns Promise<SignedTransaction>
83
144
  */
84
145
  signTransaction(params: HbarSignTransactionOptions): Promise<SignedTransaction>;
@@ -98,7 +159,7 @@ export declare class Hbar extends BaseCoin {
98
159
  * 3) Send signed build - send our signed build to a public node
99
160
  * @param params
100
161
  */
101
- recover(params: any): Promise<any>;
162
+ recover(params: RecoveryOptions): Promise<RecoveryInfo | OfflineVaultTxInfo>;
102
163
  /**
103
164
  * Explain a Hedera transaction from txHex
104
165
  * @param params
@@ -107,8 +168,33 @@ export declare class Hbar extends BaseCoin {
107
168
  isStellarSeed(seed: string): boolean;
108
169
  convertFromStellarSeed(seed: string): string | null;
109
170
  isValidPub(pub: string): boolean;
171
+ supportsDeriveKeyWithSeed(): boolean;
172
+ /** inherited doc */
173
+ getDefaultMultisigType(): MultisigType;
110
174
  getTokenEnablementConfig(): TokenEnablementConfig;
111
175
  private getBuilderFactory;
176
+ private getHbarClient;
177
+ /**
178
+ * Fetches the flattened set of ed25519 public keys controlling an account, via the Hedera mirror node.
179
+ * Returns raw (non-DER) lowercase hex keys for ed25519 keys (single key, key list or threshold key).
180
+ * Account keys of other types (e.g. ECDSA_secp256k1) are rejected, so recovery of such accounts
181
+ * fails closed with an explicit error rather than a misleading key mismatch.
182
+ * Uses the free mirror-node REST API because the SDK's AccountInfoQuery is a paid query,
183
+ * and recovery runs with an operator-less client that cannot pay.
184
+ */
185
+ getAccountKeys(accountId: string): Promise<string[]>;
186
+ /**
187
+ * Flattens a protobuf Key (single ed25519 / keyList / thresholdKey) into raw ed25519 hex keys
188
+ */
189
+ private static collectEd25519Keys;
190
+ getAccountBalance(accountId: string, client: Client): Promise<AccountBalanceJson>;
191
+ broadcastTransaction({ serializedSignedTransaction, startTime, }: BroadcastTransactionOptions): Promise<BroadcastTransactionResult>;
192
+ clientBroadcastTransaction(hbarTx: HbarTransaction): Promise<{
193
+ txId: string;
194
+ status: string;
195
+ }>;
196
+ /** @inheritDoc */
197
+ auditDecryptedKey({ prv, publicKey, multiSigType }: AuditDecryptedKeyParams): void;
112
198
  }
113
199
  export {};
114
200
  //# sourceMappingURL=hbar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hbar.d.ts","sourceRoot":"","sources":["../../src/hbar.ts"],"names":[],"mappings":";AAAA;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,QAAQ,IAAI,eAAe,EAAS,MAAM,qBAAqB,CAAC;AACrF,OAAO,EACL,QAAQ,EACR,SAAS,EACT,OAAO,EAEP,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,IAAI,wBAAwB,EAChD,wBAAwB,EACxB,cAAc,EACd,oBAAoB,IAAI,SAAS,EACjC,mBAAmB,IAAI,uBAAuB,EAC9C,sBAAsB,EACtB,IAAI,EACJ,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAQ9B,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB;IACxE,UAAU,EAAE,mBAAmB,CAAC;IAChC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,MAAM;IACrB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE;QACX,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,OAAO,EAAE,cAAc,CAAC;IAExB,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,4BAA6B,SAAQ,wBAAwB;IAC5E,UAAU,EAAE,mBAAmB,CAAC;IAChC,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AAED,UAAU,oBAAqB,SAAQ,wBAAwB;IAC7D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,IAAK,SAAQ,QAAQ;IAChC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;gBAE/C,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAUrE,QAAQ;IAIR,SAAS,IAAI,UAAU;IAIvB,WAAW;IAIX,aAAa;IAIb,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;IAI1F;;;OAGG;IACH,wBAAwB,IAAI,OAAO;IAInC;;;OAGG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAQxC;;;;;OAKG;IACH,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO;IAcjC,gBAAgB,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAInF;;;;;;OAMG;IACG,eAAe,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAK/D,iBAAiB,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,OAAO,CAAC;IA8C/E;;;;;;;;OAQG;IACG,eAAe,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAiBrF;;;;;;OAMG;IACG,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAM1E;;;;;;;OAOG;IACG,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAIxC;;;OAGG;IACG,kBAAkB,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAoF5F,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIpC,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAiBnD,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,wBAAwB,IAAI,qBAAqB;IAOxD,OAAO,CAAC,iBAAiB;CAG1B"}
1
+ {"version":3,"file":"hbar.d.ts","sourceRoot":"","sources":["../../src/hbar.ts"],"names":[],"mappings":"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"}