@bitgo-beta/sdk-coin-algo 1.3.19-beta.13 → 1.3.19-beta.1300

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 +108 -16
  2. package/dist/src/algo.d.ts.map +1 -1
  3. package/dist/src/algo.js +340 -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 +114 -0
  31. package/dist/test/fixtures/resources.d.ts.map +1 -0
  32. package/dist/test/fixtures/resources.js +123 -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 +294 -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 -160
  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,53 @@ 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;
257
+ /**
258
+ * Gets config for how token enablements work for this coin
259
+ * @returns
260
+ * requiresTokenEnablement: True if tokens need to be enabled for this coin
261
+ * supportsMultipleTokenEnablements: True if multiple tokens can be enabled in one transaction
262
+ */
263
+ getTokenEnablementConfig(): {
264
+ requiresTokenEnablement: boolean;
265
+ supportsMultipleTokenEnablements: boolean;
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>;
198
287
  /**
199
288
  * Stellar and Algorand both use keys on the ed25519 curve, but use different encodings.
200
289
  * As the HSM doesn't have explicit support to create Algorand addresses, we use the Stellar
@@ -207,5 +296,8 @@ export declare class Algo extends BaseCoin {
207
296
  */
208
297
  private stellarAddressToAlgoAddress;
209
298
  private getBuilder;
299
+ /** @inheritDoc */
300
+ auditDecryptedKey({ publicKey, prv, multiSigType }: AuditDecryptedKeyParams): void;
210
301
  }
302
+ export {};
211
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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"}