@bitgo-beta/sdk-coin-ada 2.3.14-beta.149 → 2.3.14-beta.1491

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 (113) hide show
  1. package/dist/src/ada.d.ts +12 -13
  2. package/dist/src/ada.d.ts.map +1 -1
  3. package/dist/src/ada.js +79 -27
  4. package/dist/src/adaToken.d.ts +3 -10
  5. package/dist/src/adaToken.d.ts.map +1 -1
  6. package/dist/src/adaToken.js +6 -3
  7. package/dist/src/index.js +6 -2
  8. package/dist/src/lib/index.d.ts +2 -0
  9. package/dist/src/lib/index.d.ts.map +1 -1
  10. package/dist/src/lib/index.js +29 -9
  11. package/dist/src/lib/keyPair.js +29 -16
  12. package/dist/src/lib/messages/cip8/cip8Message.d.ts +25 -0
  13. package/dist/src/lib/messages/cip8/cip8Message.d.ts.map +1 -0
  14. package/dist/src/lib/messages/cip8/cip8Message.js +140 -0
  15. package/dist/src/lib/messages/cip8/cip8MessageBuilder.d.ts +19 -0
  16. package/dist/src/lib/messages/cip8/cip8MessageBuilder.d.ts.map +1 -0
  17. package/dist/src/lib/messages/cip8/cip8MessageBuilder.js +27 -0
  18. package/dist/src/lib/messages/cip8/index.d.ts +4 -0
  19. package/dist/src/lib/messages/cip8/index.d.ts.map +1 -0
  20. package/dist/src/lib/messages/cip8/index.js +20 -0
  21. package/dist/src/lib/messages/cip8/utils.d.ts +24 -0
  22. package/dist/src/lib/messages/cip8/utils.d.ts.map +1 -0
  23. package/dist/src/lib/messages/cip8/utils.js +73 -0
  24. package/dist/src/lib/messages/index.d.ts +3 -0
  25. package/dist/src/lib/messages/index.d.ts.map +1 -0
  26. package/dist/src/lib/messages/index.js +19 -0
  27. package/dist/src/lib/messages/messageBuilderFactory.d.ts +7 -0
  28. package/dist/src/lib/messages/messageBuilderFactory.d.ts.map +1 -0
  29. package/dist/src/lib/messages/messageBuilderFactory.js +20 -0
  30. package/dist/src/lib/stakingActivateBuilder.d.ts +1 -1
  31. package/dist/src/lib/stakingActivateBuilder.d.ts.map +1 -1
  32. package/dist/src/lib/stakingActivateBuilder.js +30 -10
  33. package/dist/src/lib/stakingDeactivateBuilder.js +24 -10
  34. package/dist/src/lib/transaction.d.ts +8 -7
  35. package/dist/src/lib/transaction.d.ts.map +1 -1
  36. package/dist/src/lib/transaction.js +48 -16
  37. package/dist/src/lib/transactionBuilder.d.ts +79 -2
  38. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  39. package/dist/src/lib/transactionBuilder.js +411 -42
  40. package/dist/src/lib/transactionBuilderFactory.d.ts +2 -0
  41. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  42. package/dist/src/lib/transactionBuilderFactory.js +7 -1
  43. package/dist/src/lib/utils.d.ts +23 -0
  44. package/dist/src/lib/utils.d.ts.map +1 -1
  45. package/dist/src/lib/utils.js +153 -17
  46. package/dist/src/lib/voteDelegationBuilder.d.ts +24 -0
  47. package/dist/src/lib/voteDelegationBuilder.d.ts.map +1 -0
  48. package/dist/src/lib/voteDelegationBuilder.js +84 -0
  49. package/dist/test/resources/cip8Resources.d.ts +25 -0
  50. package/dist/test/resources/cip8Resources.d.ts.map +1 -0
  51. package/dist/test/resources/cip8Resources.js +76 -0
  52. package/dist/test/resources/index.d.ts +435 -0
  53. package/dist/test/resources/index.d.ts.map +1 -0
  54. package/dist/test/resources/index.js +635 -0
  55. package/dist/test/unit/StakingActivateBuilder.d.ts +2 -0
  56. package/dist/test/unit/StakingActivateBuilder.d.ts.map +1 -0
  57. package/dist/test/unit/StakingActivateBuilder.js +213 -0
  58. package/dist/test/unit/StakingDeactivateBuilder.d.ts +2 -0
  59. package/dist/test/unit/StakingDeactivateBuilder.d.ts.map +1 -0
  60. package/dist/test/unit/StakingDeactivateBuilder.js +158 -0
  61. package/dist/test/unit/ada.d.ts +5 -0
  62. package/dist/test/unit/ada.d.ts.map +1 -0
  63. package/dist/test/unit/ada.js +997 -0
  64. package/dist/test/unit/getBuilderFactory.d.ts +3 -0
  65. package/dist/test/unit/getBuilderFactory.d.ts.map +1 -0
  66. package/dist/test/unit/getBuilderFactory.js +10 -0
  67. package/dist/test/unit/index.d.ts +2 -0
  68. package/dist/test/unit/index.d.ts.map +1 -0
  69. package/dist/test/unit/index.js +32 -0
  70. package/dist/test/unit/keyPair.d.ts +2 -0
  71. package/dist/test/unit/keyPair.d.ts.map +1 -0
  72. package/dist/test/unit/keyPair.js +88 -0
  73. package/dist/test/unit/messages/cip8/cip8Message.d.ts +2 -0
  74. package/dist/test/unit/messages/cip8/cip8Message.d.ts.map +1 -0
  75. package/dist/test/unit/messages/cip8/cip8Message.js +131 -0
  76. package/dist/test/unit/messages/cip8/cip8MessageBuilder.d.ts +2 -0
  77. package/dist/test/unit/messages/cip8/cip8MessageBuilder.d.ts.map +1 -0
  78. package/dist/test/unit/messages/cip8/cip8MessageBuilder.js +132 -0
  79. package/dist/test/unit/messages/cip8/utils.d.ts +2 -0
  80. package/dist/test/unit/messages/cip8/utils.d.ts.map +1 -0
  81. package/dist/test/unit/messages/cip8/utils.js +127 -0
  82. package/dist/test/unit/messages/messageBuilderFactory.d.ts +2 -0
  83. package/dist/test/unit/messages/messageBuilderFactory.d.ts.map +1 -0
  84. package/dist/test/unit/messages/messageBuilderFactory.js +35 -0
  85. package/dist/test/unit/stakingClaimRewardsBuilder.d.ts +2 -0
  86. package/dist/test/unit/stakingClaimRewardsBuilder.d.ts.map +1 -0
  87. package/dist/test/unit/stakingClaimRewardsBuilder.js +70 -0
  88. package/dist/test/unit/stakingPledgeBuilder.d.ts +2 -0
  89. package/dist/test/unit/stakingPledgeBuilder.d.ts.map +1 -0
  90. package/dist/test/unit/stakingPledgeBuilder.js +141 -0
  91. package/dist/test/unit/stakingWithdrawBuilder.d.ts +2 -0
  92. package/dist/test/unit/stakingWithdrawBuilder.d.ts.map +1 -0
  93. package/dist/test/unit/stakingWithdrawBuilder.js +167 -0
  94. package/dist/test/unit/tokenWithdrawal.d.ts +2 -0
  95. package/dist/test/unit/tokenWithdrawal.d.ts.map +1 -0
  96. package/dist/test/unit/tokenWithdrawal.js +316 -0
  97. package/dist/test/unit/transaction.d.ts +2 -0
  98. package/dist/test/unit/transaction.d.ts.map +1 -0
  99. package/dist/test/unit/transaction.js +100 -0
  100. package/dist/test/unit/transactionBuilder.d.ts +2 -0
  101. package/dist/test/unit/transactionBuilder.d.ts.map +1 -0
  102. package/dist/test/unit/transactionBuilder.js +454 -0
  103. package/dist/test/unit/utils.d.ts +2 -0
  104. package/dist/test/unit/utils.d.ts.map +1 -0
  105. package/dist/test/unit/utils.js +138 -0
  106. package/dist/test/unit/voteDelegationBuilder.d.ts +2 -0
  107. package/dist/test/unit/voteDelegationBuilder.d.ts.map +1 -0
  108. package/dist/test/unit/voteDelegationBuilder.js +96 -0
  109. package/dist/tsconfig.tsbuildinfo +1 -0
  110. package/package.json +17 -12
  111. package/.eslintignore +0 -5
  112. package/.mocharc.yml +0 -8
  113. package/CHANGELOG.md +0 -337
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import BigNumber from 'bignumber.js';
3
2
  import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
4
3
  import { BaseAddress, BaseKey, BaseTransactionBuilder, PublicKey as BasePublicKey, Signature, TransactionType } from '@bitgo-beta/sdk-core';
@@ -19,14 +18,37 @@ export declare abstract class TransactionBuilder extends BaseTransactionBuilder
19
18
  protected _withdrawals: Withdrawal[];
20
19
  protected _type: TransactionType;
21
20
  protected _multiAssets: Asset[];
21
+ /** Address of the transaction recipient */
22
+ protected _recipientAddress: string;
23
+ /** Map of sender's assets by asset name */
24
+ protected _senderAssetList: Record<string, any>;
22
25
  private _fee;
26
+ /** Flag indicating if this is a token transaction */
27
+ private _isTokenTransaction;
28
+ /** Deep clone of _senderAssetList - for manipulating during two iterations
29
+ * - one for calculating the fee
30
+ * - one for the actual transaction build with the calculated fee
31
+ * */
32
+ private _mutableSenderAssetList;
23
33
  constructor(_coinConfig: Readonly<CoinConfig>);
24
34
  input(i: TransactionInput): this;
25
35
  output(o: TransactionOutput): this;
26
36
  assets(a: Asset): this;
27
37
  ttl(t: number): this;
28
- changeAddress(addr: string, totalInputBalance: string): this;
38
+ /**
39
+ * Sets the change address and input balances for the transaction
40
+ * @param addr - The address where change will be sent
41
+ * @param totalInputBalance - The total ADA input balance in Lovelace
42
+ * @param inputAssetList - Optional map of token assets in the input
43
+ */
44
+ changeAddress(addr: string, totalInputBalance: string, inputAssetList?: Record<string, any>): this;
45
+ setMutableSenderAssetList(): void;
29
46
  fee(fee: string): this;
47
+ /**
48
+ * Marks this transaction as a token transaction
49
+ * Enables special handling for token transfers
50
+ */
51
+ isTokenTransaction(): this;
30
52
  /**
31
53
  * Initialize the transaction builder fields using the decoded transaction data
32
54
  *
@@ -35,6 +57,61 @@ export declare abstract class TransactionBuilder extends BaseTransactionBuilder
35
57
  initBuilder(tx: Transaction): void;
36
58
  /** @inheritdoc */
37
59
  protected fromImplementation(rawTransaction: string): Transaction;
60
+ /**
61
+ * Builds a transaction that includes token assets
62
+ * @returns The built transaction
63
+ */
64
+ private processTokenBuild;
65
+ /**
66
+ * Adds transaction inputs to the transaction
67
+ * @param inputs - The inputs collection to add to
68
+ */
69
+ private addInputs;
70
+ /**
71
+ * Adds outputs to the transaction including token outputs and change
72
+ * @param outputs - The outputs collection to add to
73
+ */
74
+ private addOutputs;
75
+ /**
76
+ * Adds receiver outputs to the transaction and calculates the remaining change
77
+ * @param outputs - Transaction outputs collection
78
+ * @param change - Current change amount in ADA
79
+ * @returns Remaining change after adding receiver outputs
80
+ */
81
+ private addReceiverOutputs;
82
+ /**
83
+ * Adds tokens to a transaction output
84
+ * @param change - The current change amount in Lovelace
85
+ * @param outputs - The outputs collection to add to
86
+ * @param address - The recipient address
87
+ * @param asset - The asset to add
88
+ * @returns The minimum ADA amount needed for this asset output
89
+ */
90
+ private addTokensToOutput;
91
+ /**
92
+ * Builds token outputs for a transaction
93
+ * @param asset - The asset to include in the output
94
+ * @param minAmountNeededForOneAssetOutput - Minimum ADA required for this asset output
95
+ * @param outputs - Transaction outputs collection
96
+ * @param address - Recipient address
97
+ */
98
+ private buildTokens;
99
+ /**
100
+ * Adds a change output to the transaction
101
+ * @param change - The change amount in Lovelace
102
+ * @param outputs - The outputs collection to add to
103
+ */
104
+ private addChangeOutput;
105
+ /**
106
+ * Sets the calculated fee in the transaction
107
+ */
108
+ private setFeeInTransaction;
109
+ /**
110
+ * Calculates the transaction fee based on transaction size
111
+ * @param txDraft - Draft transaction to calculate fee for
112
+ */
113
+ private calculateFee;
114
+ private prepareAdaTransactionDraft;
38
115
  /** @inheritdoc */
39
116
  protected buildImplementation(): Promise<Transaction>;
40
117
  /** @inheritdoc */
@@ -1 +1 @@
1
- {"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilder.ts"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EACL,WAAW,EACX,OAAO,EACP,sBAAsB,EAEtB,SAAS,IAAI,aAAa,EAC1B,SAAS,EACT,eAAe,EAEhB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACpG,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,WAAW,MAAM,0CAA0C,CAAC;AAGxE,8BAAsB,kBAAmB,SAAQ,sBAAsB;IACrE,SAAS,CAAC,YAAY,EAAG,WAAW,CAAC;IACrC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAM;IACnC,SAAS,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,CAAM;IACtD,SAAS,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,CAAM;IACxD,SAAS,CAAC,eAAe,EAAE,SAAS,EAAE,CAAM;IAC5C,SAAS,CAAC,WAAW,EAAE,SAAS,EAAE,CAAM;IACxC,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,IAAI,SAAK;IACnB,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,WAAW,EAAE,CAAM;IACjD,SAAS,CAAC,YAAY,EAAE,UAAU,EAAE,CAAM;IAC1C,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC;IACjC,SAAS,CAAC,YAAY,EAAE,KAAK,EAAE,CAAM;IACrC,OAAO,CAAC,IAAI,CAAS;gBAET,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAM7C,KAAK,CAAC,CAAC,EAAE,gBAAgB,GAAG,IAAI;IAKhC,MAAM,CAAC,CAAC,EAAE,iBAAiB,GAAG,IAAI;IAKlC,MAAM,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAKtB,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKpB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,IAAI;IAM5D,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAkDlC,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAMjE,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IA8M3D,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW;IAKvD,kBAAkB;IAClB,SAAS,KAAK,WAAW,IAAI,WAAW,CAEvC;IAED,kBAAkB;IAClB,SAAS,KAAK,WAAW,CAAC,WAAW,EAAE,WAAW,EAEjD;IAED,kBAAkB;IAClB,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI;IAMnE,kBAAkB;IAClB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAQ/B,kBAAkB;IAClB,sBAAsB,CAAC,cAAc,EAAE,GAAG,GAAG,IAAI;IAQjD,kBAAkB;IAClB,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAMnD,kBAAkB;IAClB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAOrC,kBAAkB;IAClB,YAAY,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAI/D,OAAO,CAAC,gBAAgB;CAGzB"}
1
+ {"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EACL,WAAW,EACX,OAAO,EACP,sBAAsB,EAEtB,SAAS,IAAI,aAAa,EAC1B,SAAS,EACT,eAAe,EAEhB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACpG,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,WAAW,MAAM,0CAA0C,CAAC;AAexE,8BAAsB,kBAAmB,SAAQ,sBAAsB;IACrE,SAAS,CAAC,YAAY,EAAG,WAAW,CAAC;IACrC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAM;IACnC,SAAS,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,CAAM;IACtD,SAAS,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,CAAM;IACxD,SAAS,CAAC,eAAe,EAAE,SAAS,EAAE,CAAM;IAC5C,SAAS,CAAC,WAAW,EAAE,SAAS,EAAE,CAAM;IACxC,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,IAAI,SAAK;IACnB,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,WAAW,EAAE,CAAM;IACjD,SAAS,CAAC,YAAY,EAAE,UAAU,EAAE,CAAM;IAC1C,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC;IACjC,SAAS,CAAC,YAAY,EAAE,KAAK,EAAE,CAAM;IACrC,2CAA2C;IAC3C,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACpC,2CAA2C;IAC3C,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;IACrD,OAAO,CAAC,IAAI,CAAS;IACrB,qDAAqD;IACrD,OAAO,CAAC,mBAAmB,CAAS;IACpC;;;SAGK;IACL,OAAO,CAAC,uBAAuB,CAA2B;gBAE9C,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAM7C,KAAK,CAAC,CAAC,EAAE,gBAAgB,GAAG,IAAI;IAKhC,MAAM,CAAC,CAAC,EAAE,iBAAiB,GAAG,IAAI;IAKlC,MAAM,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAKtB,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKpB;;;;;OAKG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAQlG,yBAAyB;IAIzB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKtB;;;OAGG;IACH,kBAAkB;IAKlB;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAmDlC,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAMjE;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;;OAGG;IACH,OAAO,CAAC,SAAS;IAWjB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAOlB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAqD1B;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAsBnB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IA0BvB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;;OAGG;IACH,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,0BAA0B;IAiDlC,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAqT3D,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW;IAKvD,kBAAkB;IAClB,SAAS,KAAK,WAAW,IAAI,WAAW,CAEvC;IAED,kBAAkB;IAClB,SAAS,KAAK,WAAW,CAAC,WAAW,EAAE,WAAW,EAEjD;IAED,kBAAkB;IAClB,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI;IAMnE,kBAAkB;IAClB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAQ/B,kBAAkB;IAClB,sBAAsB,CAAC,cAAc,EAAE,GAAG,GAAG,IAAI;IAQjD,kBAAkB;IAClB,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAMnD,kBAAkB;IAClB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAOrC,kBAAkB;IAClB,YAAY,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAI/D,OAAO,CAAC,gBAAgB;CAGzB"}