@bitgo-beta/sdk-coin-algo 1.3.19-beta.136 → 1.3.19-beta.1361

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 (83) hide show
  1. package/dist/src/algo.d.ts +98 -16
  2. package/dist/src/algo.d.ts.map +1 -1
  3. package/dist/src/algo.js +345 -46
  4. package/dist/src/algoToken.d.ts +1 -1
  5. package/dist/src/algoToken.d.ts.map +1 -1
  6. package/dist/src/algoToken.js +3 -3
  7. package/dist/src/index.js +23 -9
  8. package/dist/src/lib/assetTransferBuilder.d.ts +1 -1
  9. package/dist/src/lib/assetTransferBuilder.js +2 -2
  10. package/dist/src/lib/ifaces.d.ts +0 -1
  11. package/dist/src/lib/ifaces.d.ts.map +1 -1
  12. package/dist/src/lib/index.js +23 -9
  13. package/dist/src/lib/keyPair.js +24 -10
  14. package/dist/src/lib/keyRegistrationBuilder.js +1 -1
  15. package/dist/src/lib/seedEncoding.js +23 -9
  16. package/dist/src/lib/transaction.js +3 -4
  17. package/dist/src/lib/transactionBuilder.d.ts +6 -0
  18. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  19. package/dist/src/lib/transactionBuilder.js +45 -29
  20. package/dist/src/lib/transactionBuilderFactory.js +1 -1
  21. package/dist/src/lib/transferBuilder.js +1 -1
  22. package/dist/src/lib/txnSchema.js +1 -1
  23. package/dist/src/lib/utils.d.ts +6 -1
  24. package/dist/src/lib/utils.d.ts.map +1 -1
  25. package/dist/src/lib/utils.js +35 -11
  26. package/dist/src/seedValidator.js +23 -9
  27. package/dist/test/fixtures/algo.d.ts +101 -0
  28. package/dist/test/fixtures/algo.d.ts.map +1 -0
  29. package/dist/test/fixtures/algo.js +239 -0
  30. package/dist/test/fixtures/resources.d.ts +121 -0
  31. package/dist/test/fixtures/resources.d.ts.map +1 -0
  32. package/dist/test/fixtures/resources.js +131 -0
  33. package/dist/test/integration/algo.integration.d.ts +2 -0
  34. package/dist/test/integration/algo.integration.d.ts.map +1 -0
  35. package/dist/test/integration/algo.integration.js +71 -0
  36. package/dist/test/unit/algo.d.ts +2 -0
  37. package/dist/test/unit/algo.d.ts.map +1 -0
  38. package/dist/test/unit/algo.js +1096 -0
  39. package/dist/test/unit/algoIsWalletAddress.d.ts +2 -0
  40. package/dist/test/unit/algoIsWalletAddress.d.ts.map +1 -0
  41. package/dist/test/unit/algoIsWalletAddress.js +118 -0
  42. package/dist/test/unit/algoToken.d.ts +2 -0
  43. package/dist/test/unit/algoToken.d.ts.map +1 -0
  44. package/dist/test/unit/algoToken.js +79 -0
  45. package/dist/test/unit/fixtures/algoBackupKey.d.ts +4 -0
  46. package/dist/test/unit/fixtures/algoBackupKey.d.ts.map +1 -0
  47. package/dist/test/unit/fixtures/algoBackupKey.js +10 -0
  48. package/dist/test/unit/lib/keyPair.d.ts +2 -0
  49. package/dist/test/unit/lib/keyPair.d.ts.map +1 -0
  50. package/dist/test/unit/lib/keyPair.js +110 -0
  51. package/dist/test/unit/lib/seedEncoding.d.ts +2 -0
  52. package/dist/test/unit/lib/seedEncoding.d.ts.map +1 -0
  53. package/dist/test/unit/lib/seedEncoding.js +59 -0
  54. package/dist/test/unit/lib/transaction.d.ts +2 -0
  55. package/dist/test/unit/lib/transaction.d.ts.map +1 -0
  56. package/dist/test/unit/lib/transaction.js +157 -0
  57. package/dist/test/unit/lib/transactionBuilder/assetTransferBuilder.d.ts +2 -0
  58. package/dist/test/unit/lib/transactionBuilder/assetTransferBuilder.d.ts.map +1 -0
  59. package/dist/test/unit/lib/transactionBuilder/assetTransferBuilder.js +300 -0
  60. package/dist/test/unit/lib/transactionBuilder/base.d.ts +2 -0
  61. package/dist/test/unit/lib/transactionBuilder/base.d.ts.map +1 -0
  62. package/dist/test/unit/lib/transactionBuilder/base.js +310 -0
  63. package/dist/test/unit/lib/transactionBuilder/keyRegistrationBuilder.d.ts +2 -0
  64. package/dist/test/unit/lib/transactionBuilder/keyRegistrationBuilder.d.ts.map +1 -0
  65. package/dist/test/unit/lib/transactionBuilder/keyRegistrationBuilder.js +473 -0
  66. package/dist/test/unit/lib/transactionBuilder/transactionBuilderFactory.d.ts +2 -0
  67. package/dist/test/unit/lib/transactionBuilder/transactionBuilderFactory.d.ts.map +1 -0
  68. package/dist/test/unit/lib/transactionBuilder/transactionBuilderFactory.js +138 -0
  69. package/dist/test/unit/lib/transactionBuilder/transferBuilder.d.ts +2 -0
  70. package/dist/test/unit/lib/transactionBuilder/transferBuilder.d.ts.map +1 -0
  71. package/dist/test/unit/lib/transactionBuilder/transferBuilder.js +290 -0
  72. package/dist/test/unit/lib/utils.d.ts +2 -0
  73. package/dist/test/unit/lib/utils.d.ts.map +1 -0
  74. package/dist/test/unit/lib/utils.js +307 -0
  75. package/dist/test/unit/verifyTransaction.d.ts +2 -0
  76. package/dist/test/unit/verifyTransaction.d.ts.map +1 -0
  77. package/dist/test/unit/verifyTransaction.js +703 -0
  78. package/dist/tsconfig.tsbuildinfo +1 -0
  79. package/package.json +12 -10
  80. package/.eslintignore +0 -5
  81. package/.mocharc.yml +0 -8
  82. package/CHANGELOG.md +0 -258
  83. package/types/index.d.ts +0 -60
@@ -1,5 +1,6 @@
1
- /// <reference types="node" />
2
- import { AddressCoinSpecific, BaseCoin, BitGoBase, KeyPair, ParsedTransaction, ParseTransactionOptions, SignedTransaction, SignTransactionOptions as BaseSignTransactionOptions, TokenManagementType, TransactionExplanation, VerifyAddressOptions, VerifyTransactionOptions } from '@bitgo-beta/sdk-core';
1
+ import { AddressCoinSpecific, BaseBroadcastTransactionOptions, BaseBroadcastTransactionResult, BaseCoin, BitGoBase, KeyPair, ParsedTransaction, ParseTransactionOptions, SignedTransaction, SignTransactionOptions as BaseSignTransactionOptions, TokenManagementType, TransactionExplanation, VerifyAddressOptions, VerifyTransactionOptions, MultisigType, AuditDecryptedKeyParams } from '@bitgo-beta/sdk-core';
2
+ import * as algosdk from 'algosdk';
3
+ import { Buffer } from 'buffer';
3
4
  export interface AlgoAddressCoinSpecifics extends AddressCoinSpecific {
4
5
  rootAddress: string;
5
6
  bitgoKey: string;
@@ -71,6 +72,11 @@ export interface ExplainTransactionOptions {
71
72
  publicKeys?: string[];
72
73
  feeInfo: TransactionFee;
73
74
  }
75
+ interface NodeParams {
76
+ token: string;
77
+ baseServer: string;
78
+ port: number;
79
+ }
74
80
  export interface VerifiedTransactionParameters {
75
81
  txHex: string;
76
82
  addressVersion: number;
@@ -79,6 +85,50 @@ export interface VerifiedTransactionParameters {
79
85
  isHalfSigned: boolean;
80
86
  numberSigners: number;
81
87
  }
88
+ export interface RecoveryOptions {
89
+ backupKey: string;
90
+ userKey: string;
91
+ rootAddress: string;
92
+ recoveryDestination: string;
93
+ bitgoKey: string;
94
+ walletPassphrase?: string;
95
+ fee: number;
96
+ firstRound?: number;
97
+ note?: string;
98
+ nodeParams: NodeParams;
99
+ }
100
+ interface RecoveryInfo {
101
+ id: string;
102
+ tx: string;
103
+ coin: string;
104
+ fee: number;
105
+ firstRound: number;
106
+ lastRound: number;
107
+ genesisId: string;
108
+ genesisHash: string;
109
+ note?: string;
110
+ }
111
+ export interface OfflineVaultTxInfo {
112
+ txHex: string;
113
+ userKey: string;
114
+ backupKey: string;
115
+ bitgoKey: string;
116
+ type?: string;
117
+ address: string;
118
+ coin: string;
119
+ feeInfo: number;
120
+ amount: string;
121
+ firstRound: number;
122
+ lastRound: number;
123
+ genesisId: string;
124
+ genesisHash: string;
125
+ note?: string;
126
+ addressVersion: number;
127
+ keys: string[];
128
+ }
129
+ export interface BroadcastTransactionOptions extends BaseBroadcastTransactionOptions {
130
+ nodeParams: NodeParams;
131
+ }
82
132
  export declare class Algo extends BaseCoin {
83
133
  readonly ENABLE_TOKEN: TokenManagementType;
84
134
  readonly DISABLE_TOKEN: TokenManagementType;
@@ -99,13 +149,15 @@ export declare class Algo extends BaseCoin {
99
149
  * to the main address.
100
150
  */
101
151
  allowsAccountConsolidations(): boolean;
102
- /**
103
- * Generate ed25519 key pair
104
- *
105
- * @param seed
106
- * @returns {Object} object with generated pub, prv
107
- */
152
+ /** inheritdoc */
153
+ deriveKeyWithSeed(): {
154
+ derivationPath: string;
155
+ key: string;
156
+ };
157
+ /** inheritdoc */
108
158
  generateKeyPair(seed?: Buffer): KeyPair;
159
+ /** inheritdoc */
160
+ generateRootKeyPair(seed?: Buffer): KeyPair;
109
161
  /**
110
162
  * Return boolean indicating whether input is valid public key for the coin.
111
163
  *
@@ -185,16 +237,23 @@ export declare class Algo extends BaseCoin {
185
237
  */
186
238
  isWalletAddress(params: VerifyAlgoAddressOptions): Promise<boolean>;
187
239
  verifyTransaction(params: VerifyTransactionOptions): Promise<boolean>;
188
- /** @inheritDoc */
189
- deriveKeyWithSeed({ key, seed }: {
190
- key: string;
191
- seed: string;
192
- }): {
193
- derivationPath: string;
194
- key: string;
195
- };
240
+ /**
241
+ * Validate basic transaction fields common to all transaction types
242
+ */
243
+ private validateBasicTransaction;
244
+ /**
245
+ * Validate Payment (pay) transaction
246
+ */
247
+ private validatePayTransaction;
248
+ /**
249
+ * Validate Asset Transfer (axfer) transaction
250
+ */
251
+ private validateAssetTransferTransaction;
196
252
  decodeTx(txn: Buffer): unknown;
197
253
  getAddressFromPublicKey(pubKey: Uint8Array): string;
254
+ supportsDeriveKeyWithSeed(): boolean;
255
+ /** inherited doc */
256
+ getDefaultMultisigType(): MultisigType;
198
257
  /**
199
258
  * Gets config for how token enablements work for this coin
200
259
  * @returns
@@ -205,6 +264,26 @@ export declare class Algo extends BaseCoin {
205
264
  requiresTokenEnablement: boolean;
206
265
  supportsMultipleTokenEnablements: boolean;
207
266
  };
267
+ /**
268
+ * Gets the balance of the root address in base units of algo
269
+ * Eg. If balance is 1 Algo, this returns 1*10^6
270
+ * @param rootAddress
271
+ * @param client
272
+ */
273
+ getAccountBalance(rootAddress: string, client: algosdk.Algodv2): Promise<number>;
274
+ /**
275
+ * Returns the Algo client for the given token, baseServer and port
276
+ * Used to interact with the Algo network
277
+ */
278
+ getClient(token: string, baseServer: string, port: number): algosdk.Algodv2;
279
+ recover(params: RecoveryOptions): Promise<RecoveryInfo | OfflineVaultTxInfo>;
280
+ /**
281
+ * Accepts a fully signed serialized base64 transaction and broadcasts it on the network.
282
+ * Uses the external node provided by the client
283
+ * @param serializedSignedTransaction
284
+ * @param nodeParams
285
+ */
286
+ broadcastTransaction({ serializedSignedTransaction, nodeParams, }: BroadcastTransactionOptions): Promise<BaseBroadcastTransactionResult>;
208
287
  /**
209
288
  * Stellar and Algorand both use keys on the ed25519 curve, but use different encodings.
210
289
  * As the HSM doesn't have explicit support to create Algorand addresses, we use the Stellar
@@ -217,5 +296,8 @@ export declare class Algo extends BaseCoin {
217
296
  */
218
297
  private stellarAddressToAlgoAddress;
219
298
  private getBuilder;
299
+ /** @inheritDoc */
300
+ auditDecryptedKey({ publicKey, prv, multiSigType }: AuditDecryptedKeyParams): void;
220
301
  }
302
+ export {};
221
303
  //# sourceMappingURL=algo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"algo.d.ts","sourceRoot":"","sources":["../../src/algo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"algo.d.ts","sourceRoot":"","sources":["../../src/algo.ts"],"names":[],"mappings":"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"}