@bitgo/account-lib 2.17.1-rc.8 → 2.17.2-node12.0

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 (133) hide show
  1. package/dist/browser/bitgo-account-lib.js +2 -0
  2. package/dist/browser/bitgo-account-lib.js.LICENSE.txt +416 -0
  3. package/dist/browser/bitgo-account-lib.min.js +1 -1
  4. package/dist/browser/bitgo-account-lib.min.js.LICENSE.txt +4 -4
  5. package/dist/package.json +4 -4
  6. package/dist/resources/dot/index.ts +2 -0
  7. package/dist/resources/dot/mainnet.ts +2 -0
  8. package/dist/resources/dot/westend.ts +2 -0
  9. package/dist/src/coin/dot/addressInitializationBuilder.d.ts +80 -0
  10. package/dist/src/coin/dot/addressInitializationBuilder.d.ts.map +1 -0
  11. package/dist/src/coin/dot/addressInitializationBuilder.js +205 -0
  12. package/dist/src/coin/dot/batchTransactionBuilder.d.ts +47 -0
  13. package/dist/src/coin/dot/batchTransactionBuilder.d.ts.map +1 -0
  14. package/dist/src/coin/dot/batchTransactionBuilder.js +145 -0
  15. package/dist/src/coin/dot/errors.d.ts +8 -0
  16. package/dist/src/coin/dot/errors.d.ts.map +1 -0
  17. package/dist/src/coin/dot/errors.js +40 -0
  18. package/dist/src/coin/dot/iface.d.ts +181 -0
  19. package/dist/src/coin/dot/iface.d.ts.map +1 -0
  20. package/dist/src/coin/dot/iface.js +37 -0
  21. package/dist/src/coin/dot/stakingBuilder.d.ts +59 -0
  22. package/dist/src/coin/dot/stakingBuilder.d.ts.map +1 -0
  23. package/dist/src/coin/dot/stakingBuilder.js +157 -0
  24. package/dist/src/coin/dot/txnSchema.d.ts +12 -0
  25. package/dist/src/coin/dot/txnSchema.d.ts.map +1 -0
  26. package/dist/src/coin/dot/txnSchema.js +95 -0
  27. package/dist/src/coin/dot/unnominateBuilder.d.ts +24 -0
  28. package/dist/src/coin/dot/unnominateBuilder.d.ts.map +1 -0
  29. package/dist/src/coin/dot/unnominateBuilder.js +72 -0
  30. package/dist/src/coin/dot/unstakeBuilder.d.ts +38 -0
  31. package/dist/src/coin/dot/unstakeBuilder.d.ts.map +1 -0
  32. package/dist/src/coin/dot/unstakeBuilder.js +111 -0
  33. package/dist/src/coin/near/index.d.ts +5 -0
  34. package/dist/src/coin/near/index.d.ts.map +1 -0
  35. package/dist/src/coin/near/index.js +29 -0
  36. package/dist/src/coin/near/keyPair.d.ts +19 -0
  37. package/dist/src/coin/near/keyPair.d.ts.map +1 -0
  38. package/dist/src/coin/near/keyPair.js +76 -0
  39. package/dist/src/coin/near/transaction.d.ts +11 -0
  40. package/dist/src/coin/near/transaction.d.ts.map +1 -0
  41. package/dist/src/coin/near/transaction.js +41 -0
  42. package/dist/src/coin/near/transactionBuilder.d.ts +28 -0
  43. package/dist/src/coin/near/transactionBuilder.d.ts.map +1 -0
  44. package/dist/src/coin/near/transactionBuilder.js +68 -0
  45. package/dist/src/coin/near/transactionBuilderFactory.d.ts +24 -0
  46. package/dist/src/coin/near/transactionBuilderFactory.d.ts.map +1 -0
  47. package/dist/src/coin/near/transactionBuilderFactory.js +56 -0
  48. package/dist/src/coin/near/transferBuilder.d.ts +14 -0
  49. package/dist/src/coin/near/transferBuilder.d.ts.map +1 -0
  50. package/dist/src/coin/near/transferBuilder.js +81 -0
  51. package/dist/src/coin/near/utils.d.ts +19 -0
  52. package/dist/src/coin/near/utils.d.ts.map +1 -0
  53. package/dist/src/coin/near/utils.js +61 -0
  54. package/dist/src/coin/near/walletInitializationBuilder.d.ts +14 -0
  55. package/dist/src/coin/near/walletInitializationBuilder.d.ts.map +1 -0
  56. package/dist/src/coin/near/walletInitializationBuilder.js +81 -0
  57. package/dist/src/coin/sol/constants.d.ts +49 -0
  58. package/dist/src/coin/sol/constants.d.ts.map +1 -0
  59. package/dist/src/coin/sol/constants.js +65 -0
  60. package/dist/src/coin/sol/iface.d.ts +80 -0
  61. package/dist/src/coin/sol/iface.d.ts.map +1 -0
  62. package/dist/src/coin/sol/iface.js +3 -0
  63. package/dist/src/coin/sol/index.d.ts +8 -0
  64. package/dist/src/coin/sol/index.d.ts.map +1 -0
  65. package/dist/src/coin/sol/index.js +35 -0
  66. package/dist/src/coin/sol/instructionParamsFactory.d.ts +12 -0
  67. package/dist/src/coin/sol/instructionParamsFactory.d.ts.map +1 -0
  68. package/dist/src/coin/sol/instructionParamsFactory.js +198 -0
  69. package/dist/src/coin/sol/keyPair.d.ts +27 -0
  70. package/dist/src/coin/sol/keyPair.d.ts.map +1 -0
  71. package/dist/src/coin/sol/keyPair.js +81 -0
  72. package/dist/src/coin/sol/solInstructionFactory.d.ts +10 -0
  73. package/dist/src/coin/sol/solInstructionFactory.d.ts.map +1 -0
  74. package/dist/src/coin/sol/solInstructionFactory.js +174 -0
  75. package/dist/src/coin/sol/stakingActivateBuilder.d.ts +41 -0
  76. package/dist/src/coin/sol/stakingActivateBuilder.d.ts.map +1 -0
  77. package/dist/src/coin/sol/stakingActivateBuilder.js +162 -0
  78. package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts +23 -0
  79. package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts.map +1 -0
  80. package/dist/src/coin/sol/stakingDeactivateBuilder.js +130 -0
  81. package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts +31 -0
  82. package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts.map +1 -0
  83. package/dist/src/coin/sol/stakingWithdrawBuilder.js +146 -0
  84. package/dist/src/coin/sol/transaction.d.ts +56 -0
  85. package/dist/src/coin/sol/transaction.d.ts.map +1 -0
  86. package/dist/src/coin/sol/transaction.js +419 -0
  87. package/dist/src/coin/sol/transactionBuilder.d.ts +98 -0
  88. package/dist/src/coin/sol/transactionBuilder.d.ts.map +1 -0
  89. package/dist/src/coin/sol/transactionBuilder.js +318 -0
  90. package/dist/src/coin/sol/transactionBuilderFactory.d.ts +68 -0
  91. package/dist/src/coin/sol/transactionBuilderFactory.d.ts.map +1 -0
  92. package/dist/src/coin/sol/transactionBuilderFactory.js +132 -0
  93. package/dist/src/coin/sol/transferBuilder.d.ts +26 -0
  94. package/dist/src/coin/sol/transferBuilder.d.ts.map +1 -0
  95. package/dist/src/coin/sol/transferBuilder.js +138 -0
  96. package/dist/src/coin/sol/utils.d.ts +126 -0
  97. package/dist/src/coin/sol/utils.d.ts.map +1 -0
  98. package/dist/src/coin/sol/utils.js +315 -0
  99. package/dist/src/coin/sol/walletInitializationBuilder.d.ts +26 -0
  100. package/dist/src/coin/sol/walletInitializationBuilder.d.ts.map +1 -0
  101. package/dist/src/coin/sol/walletInitializationBuilder.js +139 -0
  102. package/dist/src/coin/stx/abstractContractBuilder.d.ts +19 -0
  103. package/dist/src/coin/stx/abstractContractBuilder.d.ts.map +1 -0
  104. package/dist/src/coin/stx/abstractContractBuilder.js +140 -0
  105. package/dist/src/coin/stx/constants.d.ts +8 -0
  106. package/dist/src/coin/stx/constants.d.ts.map +1 -0
  107. package/dist/src/coin/stx/constants.js +19 -0
  108. package/dist/src/coin/stx/sendmanyBuilder.d.ts +23 -0
  109. package/dist/src/coin/stx/sendmanyBuilder.d.ts.map +1 -0
  110. package/dist/src/coin/stx/sendmanyBuilder.js +140 -0
  111. package/dist/src/coin/stx/transaction.js +2 -2
  112. package/dist/src/coin/stx/utils.d.ts +3 -3
  113. package/dist/src/coin/stx/utils.d.ts.map +1 -1
  114. package/dist/src/coin/stx/utils.js +10 -7
  115. package/dist/src/keyPair/index.d.ts +4 -0
  116. package/dist/src/keyPair/index.d.ts.map +1 -0
  117. package/dist/src/keyPair/index.js +38 -0
  118. package/dist/src/mpc/curves.d.ts +14 -0
  119. package/dist/src/mpc/curves.d.ts.map +1 -0
  120. package/dist/src/mpc/curves.js +99 -0
  121. package/dist/src/mpc/shamir.d.ts +7 -0
  122. package/dist/src/mpc/shamir.d.ts.map +1 -0
  123. package/dist/src/mpc/shamir.js +91 -0
  124. package/dist/src/mpc/tss.d.ts +69 -0
  125. package/dist/src/mpc/tss.d.ts.map +1 -0
  126. package/dist/src/mpc/tss.js +255 -0
  127. package/dist/src/utils/ed25519KeyDeriver.d.ts +49 -0
  128. package/dist/src/utils/ed25519KeyDeriver.d.ts.map +1 -0
  129. package/dist/src/utils/ed25519KeyDeriver.js +92 -0
  130. package/dist/src/utils/index.d.ts +9 -0
  131. package/dist/src/utils/index.d.ts.map +1 -0
  132. package/dist/src/utils/index.js +43 -0
  133. package/package.json +4 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walletInitializationBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/sol/walletInitializationBuilder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAI9C,qBAAa,2BAA4B,SAAQ,kBAAkB;IACjE,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,OAAO,CAAS;gBAEZ,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAG7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,kBAAkB;IAClB,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAclC;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAS5B;;;OAGG;IACH,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAOnC,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;CAkB5D"}
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (_) try {
33
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
53
+ var __importDefault = (this && this.__importDefault) || function (mod) {
54
+ return (mod && mod.__esModule) ? mod : { "default": mod };
55
+ };
56
+ Object.defineProperty(exports, "__esModule", { value: true });
57
+ exports.WalletInitializationBuilder = void 0;
58
+ var assert_1 = __importDefault(require("assert"));
59
+ var errors_1 = require("../baseCoin/errors");
60
+ var transactionBuilder_1 = require("./transactionBuilder");
61
+ var utils_1 = require("./utils");
62
+ var baseCoin_1 = require("../baseCoin");
63
+ var constants_1 = require("./constants");
64
+ var WalletInitializationBuilder = /** @class */ (function (_super) {
65
+ __extends(WalletInitializationBuilder, _super);
66
+ function WalletInitializationBuilder(_coinConfig) {
67
+ return _super.call(this, _coinConfig) || this;
68
+ }
69
+ Object.defineProperty(WalletInitializationBuilder.prototype, "transactionType", {
70
+ get: function () {
71
+ return baseCoin_1.TransactionType.WalletInitialization;
72
+ },
73
+ enumerable: false,
74
+ configurable: true
75
+ });
76
+ /** @inheritDoc */
77
+ WalletInitializationBuilder.prototype.initBuilder = function (tx) {
78
+ _super.prototype.initBuilder.call(this, tx);
79
+ for (var _i = 0, _a = this._instructionsData; _i < _a.length; _i++) {
80
+ var instruction = _a[_i];
81
+ if (instruction.type === constants_1.InstructionBuilderTypes.CreateNonceAccount) {
82
+ var walletInitInstruction = instruction;
83
+ this.address(walletInitInstruction.params.nonceAddress);
84
+ this.amount(walletInitInstruction.params.amount);
85
+ this.sender(walletInitInstruction.params.authAddress);
86
+ }
87
+ }
88
+ };
89
+ /**
90
+ * Sets the amount to fund the nonce account
91
+ *
92
+ * @param amount amount in lamports to fund the nonce account
93
+ */
94
+ WalletInitializationBuilder.prototype.amount = function (amount) {
95
+ if (!amount || !utils_1.isValidAmount(amount)) {
96
+ throw new errors_1.BuildTransactionError('Invalid or missing amount, got: ' + amount);
97
+ }
98
+ this._amount = amount;
99
+ return this;
100
+ };
101
+ /**
102
+ * Sets the address for the nonce account
103
+ * @param nonceAddress address of the new nonce account
104
+ */
105
+ WalletInitializationBuilder.prototype.address = function (nonceAddress) {
106
+ utils_1.validateAddress(nonceAddress, 'nonceAddress');
107
+ this._nonceAddress = nonceAddress;
108
+ return this;
109
+ };
110
+ /** @inheritdoc */
111
+ WalletInitializationBuilder.prototype.buildImplementation = function () {
112
+ return __awaiter(this, void 0, void 0, function () {
113
+ var walletInitData;
114
+ return __generator(this, function (_a) {
115
+ switch (_a.label) {
116
+ case 0:
117
+ assert_1.default(this._sender, 'Sender must be set before building the transaction');
118
+ assert_1.default(this._amount, 'Amount must be set before building the transaction');
119
+ assert_1.default(this._nonceAddress, 'Nonce Address must be set before building the transaction');
120
+ walletInitData = {
121
+ type: constants_1.InstructionBuilderTypes.CreateNonceAccount,
122
+ params: {
123
+ fromAddress: this._sender,
124
+ nonceAddress: this._nonceAddress,
125
+ authAddress: this._sender,
126
+ amount: this._amount,
127
+ },
128
+ };
129
+ this._instructionsData = [walletInitData];
130
+ return [4 /*yield*/, _super.prototype.buildImplementation.call(this)];
131
+ case 1: return [2 /*return*/, _a.sent()];
132
+ }
133
+ });
134
+ });
135
+ };
136
+ return WalletInitializationBuilder;
137
+ }(transactionBuilder_1.TransactionBuilder));
138
+ exports.WalletInitializationBuilder = WalletInitializationBuilder;
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vc29sL3dhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrREFBNEI7QUFHNUIsNkNBQTJEO0FBRTNELDJEQUEwRDtBQUMxRCxpQ0FBeUQ7QUFDekQsd0NBQThDO0FBRTlDLHlDQUFzRDtBQUV0RDtJQUFpRCwrQ0FBa0I7SUFJakUscUNBQVksV0FBaUM7ZUFDM0Msa0JBQU0sV0FBVyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxzQkFBYyx3REFBZTthQUE3QjtZQUNFLE9BQU8sMEJBQWUsQ0FBQyxvQkFBb0IsQ0FBQztRQUM5QyxDQUFDOzs7T0FBQTtJQUVELGtCQUFrQjtJQUNsQixpREFBVyxHQUFYLFVBQVksRUFBZTtRQUN6QixpQkFBTSxXQUFXLFlBQUMsRUFBRSxDQUFDLENBQUM7UUFFdEIsS0FBMEIsVUFBc0IsRUFBdEIsS0FBQSxJQUFJLENBQUMsaUJBQWlCLEVBQXRCLGNBQXNCLEVBQXRCLElBQXNCLEVBQUU7WUFBN0MsSUFBTSxXQUFXLFNBQUE7WUFDcEIsSUFBSSxXQUFXLENBQUMsSUFBSSxLQUFLLG1DQUF1QixDQUFDLGtCQUFrQixFQUFFO2dCQUNuRSxJQUFNLHFCQUFxQixHQUFlLFdBQVcsQ0FBQztnQkFFdEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ3hELElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNqRCxJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUN2RDtTQUNGO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCw0Q0FBTSxHQUFOLFVBQU8sTUFBYztRQUNuQixJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMscUJBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNyQyxNQUFNLElBQUksOEJBQXFCLENBQUMsa0NBQWtDLEdBQUcsTUFBTSxDQUFDLENBQUM7U0FDOUU7UUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7O09BR0c7SUFDSCw2Q0FBTyxHQUFQLFVBQVEsWUFBb0I7UUFDMUIsdUJBQWUsQ0FBQyxZQUFZLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUM7UUFFbEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0JBQWtCO0lBQ0YseURBQW1CLEdBQW5DOzs7Ozs7d0JBQ0UsZ0JBQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLG9EQUFvRCxDQUFDLENBQUM7d0JBQzNFLGdCQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxvREFBb0QsQ0FBQyxDQUFDO3dCQUMzRSxnQkFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsMkRBQTJELENBQUMsQ0FBQzt3QkFFbEYsY0FBYyxHQUFlOzRCQUNqQyxJQUFJLEVBQUUsbUNBQXVCLENBQUMsa0JBQWtCOzRCQUNoRCxNQUFNLEVBQUU7Z0NBQ04sV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPO2dDQUN6QixZQUFZLEVBQUUsSUFBSSxDQUFDLGFBQWE7Z0NBQ2hDLFdBQVcsRUFBRSxJQUFJLENBQUMsT0FBTztnQ0FDekIsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPOzZCQUNyQjt5QkFDRixDQUFDO3dCQUNGLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO3dCQUVuQyxxQkFBTSxpQkFBTSxtQkFBbUIsV0FBRSxFQUFBOzRCQUF4QyxzQkFBTyxTQUFpQyxFQUFDOzs7O0tBQzFDO0lBQ0gsa0NBQUM7QUFBRCxDQUFDLEFBdEVELENBQWlELHVDQUFrQixHQXNFbEU7QUF0RVksa0VBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgQnVpbGRUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnLi4vYmFzZUNvaW4vZXJyb3JzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBpc1ZhbGlkQW1vdW50LCB2YWxpZGF0ZUFkZHJlc3MgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJy4uL2Jhc2VDb2luJztcbmltcG9ydCB7IFdhbGxldEluaXQgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IEluc3RydWN0aW9uQnVpbGRlclR5cGVzIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5leHBvcnQgY2xhc3MgV2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJpdmF0ZSBfbm9uY2VBZGRyZXNzOiBzdHJpbmc7XG4gIHByaXZhdGUgX2Ftb3VudDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuV2FsbGV0SW5pdGlhbGl6YXRpb247XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgaW5pdEJ1aWxkZXIodHg6IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgc3VwZXIuaW5pdEJ1aWxkZXIodHgpO1xuXG4gICAgZm9yIChjb25zdCBpbnN0cnVjdGlvbiBvZiB0aGlzLl9pbnN0cnVjdGlvbnNEYXRhKSB7XG4gICAgICBpZiAoaW5zdHJ1Y3Rpb24udHlwZSA9PT0gSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuQ3JlYXRlTm9uY2VBY2NvdW50KSB7XG4gICAgICAgIGNvbnN0IHdhbGxldEluaXRJbnN0cnVjdGlvbjogV2FsbGV0SW5pdCA9IGluc3RydWN0aW9uO1xuXG4gICAgICAgIHRoaXMuYWRkcmVzcyh3YWxsZXRJbml0SW5zdHJ1Y3Rpb24ucGFyYW1zLm5vbmNlQWRkcmVzcyk7XG4gICAgICAgIHRoaXMuYW1vdW50KHdhbGxldEluaXRJbnN0cnVjdGlvbi5wYXJhbXMuYW1vdW50KTtcbiAgICAgICAgdGhpcy5zZW5kZXIod2FsbGV0SW5pdEluc3RydWN0aW9uLnBhcmFtcy5hdXRoQWRkcmVzcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGFtb3VudCB0byBmdW5kIHRoZSBub25jZSBhY2NvdW50XG4gICAqXG4gICAqIEBwYXJhbSBhbW91bnQgYW1vdW50IGluIGxhbXBvcnRzIHRvIGZ1bmQgdGhlIG5vbmNlIGFjY291bnRcbiAgICovXG4gIGFtb3VudChhbW91bnQ6IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICghYW1vdW50IHx8ICFpc1ZhbGlkQW1vdW50KGFtb3VudCkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgb3IgbWlzc2luZyBhbW91bnQsIGdvdDogJyArIGFtb3VudCk7XG4gICAgfVxuXG4gICAgdGhpcy5fYW1vdW50ID0gYW1vdW50O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGFkZHJlc3MgZm9yIHRoZSBub25jZSBhY2NvdW50XG4gICAqIEBwYXJhbSBub25jZUFkZHJlc3MgYWRkcmVzcyBvZiB0aGUgbmV3IG5vbmNlIGFjY291bnRcbiAgICovXG4gIGFkZHJlc3Mobm9uY2VBZGRyZXNzOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB2YWxpZGF0ZUFkZHJlc3Mobm9uY2VBZGRyZXNzLCAnbm9uY2VBZGRyZXNzJyk7XG4gICAgdGhpcy5fbm9uY2VBZGRyZXNzID0gbm9uY2VBZGRyZXNzO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIGFzc2VydCh0aGlzLl9zZW5kZXIsICdTZW5kZXIgbXVzdCBiZSBzZXQgYmVmb3JlIGJ1aWxkaW5nIHRoZSB0cmFuc2FjdGlvbicpO1xuICAgIGFzc2VydCh0aGlzLl9hbW91bnQsICdBbW91bnQgbXVzdCBiZSBzZXQgYmVmb3JlIGJ1aWxkaW5nIHRoZSB0cmFuc2FjdGlvbicpO1xuICAgIGFzc2VydCh0aGlzLl9ub25jZUFkZHJlc3MsICdOb25jZSBBZGRyZXNzIG11c3QgYmUgc2V0IGJlZm9yZSBidWlsZGluZyB0aGUgdHJhbnNhY3Rpb24nKTtcblxuICAgIGNvbnN0IHdhbGxldEluaXREYXRhOiBXYWxsZXRJbml0ID0ge1xuICAgICAgdHlwZTogSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuQ3JlYXRlTm9uY2VBY2NvdW50LFxuICAgICAgcGFyYW1zOiB7XG4gICAgICAgIGZyb21BZGRyZXNzOiB0aGlzLl9zZW5kZXIsXG4gICAgICAgIG5vbmNlQWRkcmVzczogdGhpcy5fbm9uY2VBZGRyZXNzLFxuICAgICAgICBhdXRoQWRkcmVzczogdGhpcy5fc2VuZGVyLFxuICAgICAgICBhbW91bnQ6IHRoaXMuX2Ftb3VudCxcbiAgICAgIH0sXG4gICAgfTtcbiAgICB0aGlzLl9pbnN0cnVjdGlvbnNEYXRhID0gW3dhbGxldEluaXREYXRhXTtcblxuICAgIHJldHVybiBhd2FpdCBzdXBlci5idWlsZEltcGxlbWVudGF0aW9uKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo/statics';
2
+ import { ClarityValue, PostCondition, PostConditionMode } from '@stacks/transactions';
3
+ import { Transaction } from './transaction';
4
+ import { TransactionBuilder } from './transactionBuilder';
5
+ export declare abstract class AbstractContractBuilder extends TransactionBuilder {
6
+ private _options;
7
+ protected _contractAddress: string;
8
+ protected _contractName: string;
9
+ protected _functionName: string;
10
+ protected _postConditionMode?: PostConditionMode;
11
+ protected _postConditions?: PostCondition[];
12
+ protected _functionArgs: ClarityValue[];
13
+ constructor(_coinConfig: Readonly<CoinConfig>);
14
+ initBuilder(tx: Transaction): void;
15
+ /** @inheritdoc */
16
+ protected buildImplementation(): Promise<Transaction>;
17
+ private buildContractCallOptions;
18
+ }
19
+ //# sourceMappingURL=abstractContractBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstractContractBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/stx/abstractContractBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EACL,YAAY,EAIZ,aAAa,EACb,iBAAiB,EAGlB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,8BAAsB,uBAAwB,SAAQ,kBAAkB;IACtE,OAAO,CAAC,QAAQ,CAAoE;IACpF,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC;IACnC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,kBAAkB,CAAC,EAAE,iBAAiB,CAAC;IACjD,SAAS,CAAC,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;IAC5C,SAAS,CAAC,aAAa,EAAE,YAAY,EAAE,CAAC;gBAE5B,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAgBlC,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAO3D,OAAO,CAAC,wBAAwB;CA4BjC"}
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
28
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
29
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
30
+ return new (P || (P = Promise))(function (resolve, reject) {
31
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
32
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
33
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
34
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
35
+ });
36
+ };
37
+ var __generator = (this && this.__generator) || function (thisArg, body) {
38
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
39
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
40
+ function verb(n) { return function (v) { return step([n, v]); }; }
41
+ function step(op) {
42
+ if (f) throw new TypeError("Generator is already executing.");
43
+ while (_) try {
44
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
45
+ if (y = 0, t) op = [op[0] & 2, t.value];
46
+ switch (op[0]) {
47
+ case 0: case 1: t = op; break;
48
+ case 4: _.label++; return { value: op[1], done: false };
49
+ case 5: _.label++; y = op[1]; op = [0]; continue;
50
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
51
+ default:
52
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
53
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
54
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
55
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
56
+ if (t[2]) _.ops.pop();
57
+ _.trys.pop(); continue;
58
+ }
59
+ op = body.call(thisArg, _);
60
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
61
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
62
+ }
63
+ };
64
+ var __importDefault = (this && this.__importDefault) || function (mod) {
65
+ return (mod && mod.__esModule) ? mod : { "default": mod };
66
+ };
67
+ Object.defineProperty(exports, "__esModule", { value: true });
68
+ exports.AbstractContractBuilder = void 0;
69
+ var bn_js_1 = __importDefault(require("bn.js"));
70
+ var transactions_1 = require("@stacks/transactions");
71
+ var baseCoin_1 = require("../baseCoin");
72
+ var errors_1 = require("../baseCoin/errors");
73
+ var transactionBuilder_1 = require("./transactionBuilder");
74
+ var AbstractContractBuilder = /** @class */ (function (_super) {
75
+ __extends(AbstractContractBuilder, _super);
76
+ function AbstractContractBuilder(_coinConfig) {
77
+ return _super.call(this, _coinConfig) || this;
78
+ }
79
+ AbstractContractBuilder.prototype.initBuilder = function (tx) {
80
+ var txData = tx.toJson();
81
+ if (txData.payload === undefined) {
82
+ throw new errors_1.InvalidTransactionError('payload must not be undefined');
83
+ }
84
+ if (txData.payload.payloadType === transactions_1.PayloadType.ContractCall) {
85
+ this._contractAddress = txData.payload.contractAddress;
86
+ this._contractName = txData.payload.contractName;
87
+ this._functionName = txData.payload.functionName;
88
+ this._functionArgs = txData.payload.functionArgs;
89
+ _super.prototype.initBuilder.call(this, tx);
90
+ }
91
+ else {
92
+ throw new errors_1.BuildTransactionError('Transaction should be contract call');
93
+ }
94
+ };
95
+ /** @inheritdoc */
96
+ AbstractContractBuilder.prototype.buildImplementation = function () {
97
+ return __awaiter(this, void 0, void 0, function () {
98
+ var _a;
99
+ return __generator(this, function (_b) {
100
+ switch (_b.label) {
101
+ case 0:
102
+ this._options = this.buildContractCallOptions();
103
+ this.transaction.setTransactionType(baseCoin_1.TransactionType.ContractCall);
104
+ _a = this.transaction;
105
+ return [4 /*yield*/, transactions_1.makeUnsignedContractCall(this._options)];
106
+ case 1:
107
+ _a.stxTransaction = _b.sent();
108
+ return [4 /*yield*/, _super.prototype.buildImplementation.call(this)];
109
+ case 2: return [2 /*return*/, _b.sent()];
110
+ }
111
+ });
112
+ });
113
+ };
114
+ AbstractContractBuilder.prototype.buildContractCallOptions = function () {
115
+ var defaultOpts = {
116
+ contractAddress: this._contractAddress,
117
+ contractName: this._contractName,
118
+ functionName: this._functionName,
119
+ functionArgs: this._functionArgs,
120
+ postConditionMode: this._postConditionMode,
121
+ postConditions: this._postConditions,
122
+ anchorMode: this._anchorMode,
123
+ network: this._network,
124
+ fee: new bn_js_1.default(this._fee.fee),
125
+ nonce: new bn_js_1.default(this._nonce),
126
+ };
127
+ if (this._fromPubKeys.length === 1) {
128
+ return __assign(__assign({}, defaultOpts), { publicKey: this._fromPubKeys[0] });
129
+ }
130
+ else if (this._fromPubKeys.length > 1) {
131
+ return __assign(__assign({}, defaultOpts), { publicKeys: this._fromPubKeys, numSignatures: this._numberSignatures });
132
+ }
133
+ else {
134
+ throw new errors_1.InvalidParameterValueError('supply at least 1 public key');
135
+ }
136
+ };
137
+ return AbstractContractBuilder;
138
+ }(transactionBuilder_1.TransactionBuilder));
139
+ exports.AbstractContractBuilder = AbstractContractBuilder;
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3RDb250cmFjdEJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9zdHgvYWJzdHJhY3RDb250cmFjdEJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxnREFBMkI7QUFDM0IscURBUzhCO0FBQzlCLHdDQUE4QztBQUM5Qyw2Q0FBZ0g7QUFFaEgsMkRBQTBEO0FBRTFEO0lBQXNELDJDQUFrQjtJQVN0RSxpQ0FBWSxXQUFpQztlQUMzQyxrQkFBTSxXQUFXLENBQUM7SUFDcEIsQ0FBQztJQUVELDZDQUFXLEdBQVgsVUFBWSxFQUFlO1FBQ3pCLElBQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMzQixJQUFJLE1BQU0sQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFO1lBQ2hDLE1BQU0sSUFBSSxnQ0FBdUIsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1NBQ3BFO1FBQ0QsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsS0FBSywwQkFBVyxDQUFDLFlBQVksRUFBRTtZQUMzRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUM7WUFDdkQsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQztZQUNqRCxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDO1lBQ2pELElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7WUFDakQsaUJBQU0sV0FBVyxZQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZCO2FBQU07WUFDTCxNQUFNLElBQUksOEJBQXFCLENBQUMscUNBQXFDLENBQUMsQ0FBQztTQUN4RTtJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDRixxREFBbUIsR0FBbkM7Ozs7Ozt3QkFDRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO3dCQUNoRCxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLDBCQUFlLENBQUMsWUFBWSxDQUFDLENBQUM7d0JBQ2xFLEtBQUEsSUFBSSxDQUFDLFdBQVcsQ0FBQTt3QkFBa0IscUJBQU0sdUNBQXdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFBOzt3QkFBL0UsR0FBaUIsY0FBYyxHQUFHLFNBQTZDLENBQUM7d0JBQ3pFLHFCQUFNLGlCQUFNLG1CQUFtQixXQUFFLEVBQUE7NEJBQXhDLHNCQUFPLFNBQWlDLEVBQUM7Ozs7S0FDMUM7SUFFTywwREFBd0IsR0FBaEM7UUFDRSxJQUFNLFdBQVcsR0FBd0I7WUFDdkMsZUFBZSxFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDdEMsWUFBWSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2hDLFlBQVksRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNoQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDaEMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtZQUMxQyxjQUFjLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDcEMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzVCLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN0QixHQUFHLEVBQUUsSUFBSSxlQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDOUIsS0FBSyxFQUFFLElBQUksZUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDL0IsQ0FBQztRQUNGLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ2xDLDZCQUNLLFdBQVcsS0FDZCxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFDL0I7U0FDSDthQUFNLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZDLDZCQUNLLFdBQVcsS0FDZCxVQUFVLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFDN0IsYUFBYSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsSUFDckM7U0FDSDthQUFNO1lBQ0wsTUFBTSxJQUFJLG1DQUEwQixDQUFDLDhCQUE4QixDQUFDLENBQUM7U0FDdEU7SUFDSCxDQUFDO0lBQ0gsOEJBQUM7QUFBRCxDQUFDLEFBakVELENBQXNELHVDQUFrQixHQWlFdkU7QUFqRXFCLDBEQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgQmlnTnVtIGZyb20gJ2JuLmpzJztcbmltcG9ydCB7XG4gIENsYXJpdHlWYWx1ZSxcbiAgQ29udHJhY3RDYWxsT3B0aW9ucyxcbiAgbWFrZVVuc2lnbmVkQ29udHJhY3RDYWxsLFxuICBQYXlsb2FkVHlwZSxcbiAgUG9zdENvbmRpdGlvbixcbiAgUG9zdENvbmRpdGlvbk1vZGUsXG4gIFVuc2lnbmVkQ29udHJhY3RDYWxsT3B0aW9ucyxcbiAgVW5zaWduZWRNdWx0aVNpZ0NvbnRyYWN0Q2FsbE9wdGlvbnMsXG59IGZyb20gJ0BzdGFja3MvdHJhbnNhY3Rpb25zJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJy4uL2Jhc2VDb2luJztcbmltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IsIEludmFsaWRUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnLi4vYmFzZUNvaW4vZXJyb3JzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdENvbnRyYWN0QnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgX29wdGlvbnM6IFVuc2lnbmVkQ29udHJhY3RDYWxsT3B0aW9ucyB8IFVuc2lnbmVkTXVsdGlTaWdDb250cmFjdENhbGxPcHRpb25zO1xuICBwcm90ZWN0ZWQgX2NvbnRyYWN0QWRkcmVzczogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX2NvbnRyYWN0TmFtZTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX2Z1bmN0aW9uTmFtZTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX3Bvc3RDb25kaXRpb25Nb2RlPzogUG9zdENvbmRpdGlvbk1vZGU7XG4gIHByb3RlY3RlZCBfcG9zdENvbmRpdGlvbnM/OiBQb3N0Q29uZGl0aW9uW107XG4gIHByb3RlY3RlZCBfZnVuY3Rpb25BcmdzOiBDbGFyaXR5VmFsdWVbXTtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICBpbml0QnVpbGRlcih0eDogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBjb25zdCB0eERhdGEgPSB0eC50b0pzb24oKTtcbiAgICBpZiAodHhEYXRhLnBheWxvYWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdwYXlsb2FkIG11c3Qgbm90IGJlIHVuZGVmaW5lZCcpO1xuICAgIH1cbiAgICBpZiAodHhEYXRhLnBheWxvYWQucGF5bG9hZFR5cGUgPT09IFBheWxvYWRUeXBlLkNvbnRyYWN0Q2FsbCkge1xuICAgICAgdGhpcy5fY29udHJhY3RBZGRyZXNzID0gdHhEYXRhLnBheWxvYWQuY29udHJhY3RBZGRyZXNzO1xuICAgICAgdGhpcy5fY29udHJhY3ROYW1lID0gdHhEYXRhLnBheWxvYWQuY29udHJhY3ROYW1lO1xuICAgICAgdGhpcy5fZnVuY3Rpb25OYW1lID0gdHhEYXRhLnBheWxvYWQuZnVuY3Rpb25OYW1lO1xuICAgICAgdGhpcy5fZnVuY3Rpb25BcmdzID0gdHhEYXRhLnBheWxvYWQuZnVuY3Rpb25BcmdzO1xuICAgICAgc3VwZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdUcmFuc2FjdGlvbiBzaG91bGQgYmUgY29udHJhY3QgY2FsbCcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgdGhpcy5fb3B0aW9ucyA9IHRoaXMuYnVpbGRDb250cmFjdENhbGxPcHRpb25zKCk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5zZXRUcmFuc2FjdGlvblR5cGUoVHJhbnNhY3Rpb25UeXBlLkNvbnRyYWN0Q2FsbCk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5zdHhUcmFuc2FjdGlvbiA9IGF3YWl0IG1ha2VVbnNpZ25lZENvbnRyYWN0Q2FsbCh0aGlzLl9vcHRpb25zKTtcbiAgICByZXR1cm4gYXdhaXQgc3VwZXIuYnVpbGRJbXBsZW1lbnRhdGlvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZENvbnRyYWN0Q2FsbE9wdGlvbnMoKTogVW5zaWduZWRDb250cmFjdENhbGxPcHRpb25zIHwgVW5zaWduZWRNdWx0aVNpZ0NvbnRyYWN0Q2FsbE9wdGlvbnMge1xuICAgIGNvbnN0IGRlZmF1bHRPcHRzOiBDb250cmFjdENhbGxPcHRpb25zID0ge1xuICAgICAgY29udHJhY3RBZGRyZXNzOiB0aGlzLl9jb250cmFjdEFkZHJlc3MsXG4gICAgICBjb250cmFjdE5hbWU6IHRoaXMuX2NvbnRyYWN0TmFtZSxcbiAgICAgIGZ1bmN0aW9uTmFtZTogdGhpcy5fZnVuY3Rpb25OYW1lLFxuICAgICAgZnVuY3Rpb25BcmdzOiB0aGlzLl9mdW5jdGlvbkFyZ3MsXG4gICAgICBwb3N0Q29uZGl0aW9uTW9kZTogdGhpcy5fcG9zdENvbmRpdGlvbk1vZGUsXG4gICAgICBwb3N0Q29uZGl0aW9uczogdGhpcy5fcG9zdENvbmRpdGlvbnMsXG4gICAgICBhbmNob3JNb2RlOiB0aGlzLl9hbmNob3JNb2RlLFxuICAgICAgbmV0d29yazogdGhpcy5fbmV0d29yayxcbiAgICAgIGZlZTogbmV3IEJpZ051bSh0aGlzLl9mZWUuZmVlKSxcbiAgICAgIG5vbmNlOiBuZXcgQmlnTnVtKHRoaXMuX25vbmNlKSxcbiAgICB9O1xuICAgIGlmICh0aGlzLl9mcm9tUHViS2V5cy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmRlZmF1bHRPcHRzLFxuICAgICAgICBwdWJsaWNLZXk6IHRoaXMuX2Zyb21QdWJLZXlzWzBdLFxuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX2Zyb21QdWJLZXlzLmxlbmd0aCA+IDEpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmRlZmF1bHRPcHRzLFxuICAgICAgICBwdWJsaWNLZXlzOiB0aGlzLl9mcm9tUHViS2V5cyxcbiAgICAgICAgbnVtU2lnbmF0dXJlczogdGhpcy5fbnVtYmVyU2lnbmF0dXJlcyxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignc3VwcGx5IGF0IGxlYXN0IDEgcHVibGljIGtleScpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,8 @@
1
+ export declare const FUNCTION_NAME_SENDMANY = "send-many";
2
+ export declare const CONTRACT_NAME_SENDMANY = "send-many-memo";
3
+ export declare const CONTRACT_NAME_STAKING = "pox";
4
+ export declare const VALID_CONTRACT_FUNCTION_NAMES: string[];
5
+ export declare const DEFAULT_SEED_SIZE_BYTES = 64;
6
+ export declare const ANCHOR_MODE = 3;
7
+ export declare const DEFAULT_MULTISIG_SIG_NUMBER = 2;
8
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/coin/stx/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,cAAc,CAAC;AAClD,eAAO,MAAM,sBAAsB,mBAAmB,CAAC;AACvD,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAE3C,eAAO,MAAM,6BAA6B,UAOzC,CAAC;AAEF,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAG1C,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,2BAA2B,IAAI,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_MULTISIG_SIG_NUMBER = exports.ANCHOR_MODE = exports.DEFAULT_SEED_SIZE_BYTES = exports.VALID_CONTRACT_FUNCTION_NAMES = exports.CONTRACT_NAME_STAKING = exports.CONTRACT_NAME_SENDMANY = exports.FUNCTION_NAME_SENDMANY = void 0;
4
+ exports.FUNCTION_NAME_SENDMANY = 'send-many';
5
+ exports.CONTRACT_NAME_SENDMANY = 'send-many-memo';
6
+ exports.CONTRACT_NAME_STAKING = 'pox';
7
+ exports.VALID_CONTRACT_FUNCTION_NAMES = [
8
+ 'stack-stx',
9
+ 'delegate-stx',
10
+ 'delegate-stack-stx',
11
+ 'stack-aggregation-commit',
12
+ 'revoke-delegate-stx',
13
+ 'send-many',
14
+ ];
15
+ exports.DEFAULT_SEED_SIZE_BYTES = 64;
16
+ // https://github.com/stacksgov/sips/blob/main/sips/sip-005/sip-005-blocks-and-transactions.md#transaction-encoding
17
+ exports.ANCHOR_MODE = 3;
18
+ exports.DEFAULT_MULTISIG_SIG_NUMBER = 2;
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vc3R4L2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLHNCQUFzQixHQUFHLFdBQVcsQ0FBQztBQUNyQyxRQUFBLHNCQUFzQixHQUFHLGdCQUFnQixDQUFDO0FBQzFDLFFBQUEscUJBQXFCLEdBQUcsS0FBSyxDQUFDO0FBRTlCLFFBQUEsNkJBQTZCLEdBQUc7SUFDM0MsV0FBVztJQUNYLGNBQWM7SUFDZCxvQkFBb0I7SUFDcEIsMEJBQTBCO0lBQzFCLHFCQUFxQjtJQUNyQixXQUFXO0NBQ1osQ0FBQztBQUVXLFFBQUEsdUJBQXVCLEdBQUcsRUFBRSxDQUFDO0FBRTFDLG1IQUFtSDtBQUN0RyxRQUFBLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFDaEIsUUFBQSwyQkFBMkIsR0FBRyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgRlVOQ1RJT05fTkFNRV9TRU5ETUFOWSA9ICdzZW5kLW1hbnknO1xuZXhwb3J0IGNvbnN0IENPTlRSQUNUX05BTUVfU0VORE1BTlkgPSAnc2VuZC1tYW55LW1lbW8nO1xuZXhwb3J0IGNvbnN0IENPTlRSQUNUX05BTUVfU1RBS0lORyA9ICdwb3gnO1xuXG5leHBvcnQgY29uc3QgVkFMSURfQ09OVFJBQ1RfRlVOQ1RJT05fTkFNRVMgPSBbXG4gICdzdGFjay1zdHgnLFxuICAnZGVsZWdhdGUtc3R4JyxcbiAgJ2RlbGVnYXRlLXN0YWNrLXN0eCcsXG4gICdzdGFjay1hZ2dyZWdhdGlvbi1jb21taXQnLFxuICAncmV2b2tlLWRlbGVnYXRlLXN0eCcsXG4gICdzZW5kLW1hbnknLFxuXTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfU0VFRF9TSVpFX0JZVEVTID0gNjQ7XG5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zdGFja3Nnb3Yvc2lwcy9ibG9iL21haW4vc2lwcy9zaXAtMDA1L3NpcC0wMDUtYmxvY2tzLWFuZC10cmFuc2FjdGlvbnMubWQjdHJhbnNhY3Rpb24tZW5jb2RpbmdcbmV4cG9ydCBjb25zdCBBTkNIT1JfTU9ERSA9IDM7XG5leHBvcnQgY29uc3QgREVGQVVMVF9NVUxUSVNJR19TSUdfTlVNQkVSID0gMjtcbiJdfQ==
@@ -0,0 +1,23 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo/statics';
2
+ import { Transaction } from './transaction';
3
+ import { SendParams } from './iface';
4
+ import { ContractCallPayload } from '@stacks/transactions/dist/payload';
5
+ import { AbstractContractBuilder } from './abstractContractBuilder';
6
+ export declare class SendmanyBuilder extends AbstractContractBuilder {
7
+ private _sendParams;
8
+ constructor(_coinConfig: Readonly<CoinConfig>);
9
+ static isValidContractCall(coinConfig: Readonly<CoinConfig>, payload: ContractCallPayload): boolean;
10
+ private sendParamsToFunctionArgs;
11
+ private sendParamsToPostcondition;
12
+ initBuilder(tx: Transaction): void;
13
+ /**
14
+ * Set a transfer
15
+ *
16
+ * @param {SendParams} sendParams - the sender address
17
+ * @returns {TransactionBuilder} This transaction builder
18
+ */
19
+ send({ address, amount, memo }: SendParams): this;
20
+ /** @inheritdoc */
21
+ protected buildImplementation(): Promise<Transaction>;
22
+ }
23
+ //# sourceMappingURL=sendmanyBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sendmanyBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/stx/sendmanyBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAoD,MAAM,gBAAgB,CAAC;AAkB1G,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAQ5C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,qBAAa,eAAgB,SAAQ,uBAAuB;IAC1D,OAAO,CAAC,WAAW,CAAoB;gBAE3B,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;WAI/B,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO;IAS1G,OAAO,CAAC,wBAAwB,CAU9B;IAEF,OAAO,CAAC,yBAAyB;IAkBjC,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAKlC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,UAAU,GAAG,IAAI;IAejD,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;CAS5D"}
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (_) try {
33
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
53
+ var __importDefault = (this && this.__importDefault) || function (mod) {
54
+ return (mod && mod.__esModule) ? mod : { "default": mod };
55
+ };
56
+ Object.defineProperty(exports, "__esModule", { value: true });
57
+ exports.SendmanyBuilder = void 0;
58
+ var statics_1 = require("@bitgo/statics");
59
+ var bn_js_1 = __importDefault(require("bn.js"));
60
+ var transactions_1 = require("@stacks/transactions");
61
+ var errors_1 = require("../baseCoin/errors");
62
+ var utils_1 = require("./utils");
63
+ var constants_1 = require("./constants");
64
+ var abstractContractBuilder_1 = require("./abstractContractBuilder");
65
+ var SendmanyBuilder = /** @class */ (function (_super) {
66
+ __extends(SendmanyBuilder, _super);
67
+ function SendmanyBuilder(_coinConfig) {
68
+ var _this = _super.call(this, _coinConfig) || this;
69
+ _this._sendParams = [];
70
+ _this.sendParamsToFunctionArgs = function (sendParams) { return [
71
+ transactions_1.listCV(sendParams.map(function (recipient) {
72
+ return transactions_1.tupleCV({
73
+ to: transactions_1.standardPrincipalCV(recipient.address),
74
+ ustx: transactions_1.uintCV(recipient.amount),
75
+ memo: transactions_1.bufferCVFromString(recipient.memo || ''),
76
+ });
77
+ })),
78
+ ]; };
79
+ return _this;
80
+ }
81
+ SendmanyBuilder.isValidContractCall = function (coinConfig, payload) {
82
+ return (coinConfig.network.sendmanymemoContractAddress ===
83
+ transactions_1.addressToString(payload.contractAddress) &&
84
+ constants_1.CONTRACT_NAME_SENDMANY === payload.contractName.content &&
85
+ constants_1.FUNCTION_NAME_SENDMANY === payload.functionName.content);
86
+ };
87
+ SendmanyBuilder.prototype.sendParamsToPostcondition = function (sendParams) {
88
+ var sum = sendParams.reduce(function (current, next) { return current.add(new bn_js_1.default(next.amount)); }, new bn_js_1.default(0));
89
+ return [
90
+ transactions_1.makeStandardSTXPostCondition(utils_1.getSTXAddressFromPubKeys(this._fromPubKeys, this._coinConfig.network.type === statics_1.NetworkType.MAINNET
91
+ ? transactions_1.AddressVersion.MainnetMultiSig
92
+ : transactions_1.AddressVersion.TestnetMultiSig, this._fromPubKeys.length > 1 ? transactions_1.AddressHashMode.SerializeP2SH : transactions_1.AddressHashMode.SerializeP2PKH, this._numberSignatures).address, transactions_1.FungibleConditionCode.Equal, sum),
93
+ ];
94
+ };
95
+ SendmanyBuilder.prototype.initBuilder = function (tx) {
96
+ _super.prototype.initBuilder.call(this, tx);
97
+ this._sendParams = utils_1.functionArgsToSendParams(tx.stxTransaction.payload.functionArgs);
98
+ };
99
+ /**
100
+ * Set a transfer
101
+ *
102
+ * @param {SendParams} sendParams - the sender address
103
+ * @returns {TransactionBuilder} This transaction builder
104
+ */
105
+ SendmanyBuilder.prototype.send = function (_a) {
106
+ var address = _a.address, amount = _a.amount, memo = _a.memo;
107
+ if (!address || !utils_1.isValidAddress(address)) {
108
+ throw new errors_1.BuildTransactionError('Invalid or missing address, got: ' + address);
109
+ }
110
+ if (!amount || !utils_1.isValidAmount(amount)) {
111
+ throw new errors_1.BuildTransactionError('Invalid or missing amount, got: ' + amount);
112
+ }
113
+ if (!!memo && !utils_1.isValidMemo(memo)) {
114
+ throw new errors_1.BuildTransactionError('Invalid memo, got: ' + memo);
115
+ }
116
+ this._sendParams.push({ address: address, amount: amount, memo: memo });
117
+ return this;
118
+ };
119
+ /** @inheritdoc */
120
+ SendmanyBuilder.prototype.buildImplementation = function () {
121
+ return __awaiter(this, void 0, void 0, function () {
122
+ return __generator(this, function (_a) {
123
+ switch (_a.label) {
124
+ case 0:
125
+ this._contractAddress = this._coinConfig.network.sendmanymemoContractAddress;
126
+ this._contractName = constants_1.CONTRACT_NAME_SENDMANY;
127
+ this._functionName = constants_1.FUNCTION_NAME_SENDMANY;
128
+ this._functionArgs = this.sendParamsToFunctionArgs(this._sendParams);
129
+ this._postConditionMode = transactions_1.PostConditionMode.Deny;
130
+ this._postConditions = this.sendParamsToPostcondition(this._sendParams);
131
+ return [4 /*yield*/, _super.prototype.buildImplementation.call(this)];
132
+ case 1: return [2 /*return*/, _a.sent()];
133
+ }
134
+ });
135
+ });
136
+ };
137
+ return SendmanyBuilder;
138
+ }(abstractContractBuilder_1.AbstractContractBuilder));
139
+ exports.SendmanyBuilder = SendmanyBuilder;
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZG1hbnlCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vc3R4L3NlbmRtYW55QnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwQ0FBMEc7QUFDMUcsZ0RBQTJCO0FBQzNCLHFEQWM4QjtBQUM5Qiw2Q0FBMkQ7QUFFM0QsaUNBTWlCO0FBRWpCLHlDQUE2RTtBQUU3RSxxRUFBb0U7QUFFcEU7SUFBcUMsbUNBQXVCO0lBRzFELHlCQUFZLFdBQWlDO1FBQTdDLFlBQ0Usa0JBQU0sV0FBVyxDQUFDLFNBQ25CO1FBSk8saUJBQVcsR0FBaUIsRUFBRSxDQUFDO1FBZS9CLDhCQUF3QixHQUFHLFVBQUMsVUFBd0IsSUFBcUIsT0FBQTtZQUMvRSxxQkFBTSxDQUNKLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBQyxTQUFTO2dCQUN2QixPQUFBLHNCQUFPLENBQUM7b0JBQ04sRUFBRSxFQUFFLGtDQUFtQixDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7b0JBQzFDLElBQUksRUFBRSxxQkFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7b0JBQzlCLElBQUksRUFBRSxpQ0FBa0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztpQkFDL0MsQ0FBQztZQUpGLENBSUUsQ0FDSCxDQUNGO1NBQ0YsRUFWZ0YsQ0FVaEYsQ0FBQzs7SUFyQkYsQ0FBQztJQUVhLG1DQUFtQixHQUFqQyxVQUFrQyxVQUFnQyxFQUFFLE9BQTRCO1FBQzlGLE9BQU8sQ0FDSixVQUFVLENBQUMsT0FBOEIsQ0FBQywyQkFBMkI7WUFDcEUsOEJBQWUsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDO1lBQzFDLGtDQUFzQixLQUFLLE9BQU8sQ0FBQyxZQUFZLENBQUMsT0FBTztZQUN2RCxrQ0FBc0IsS0FBSyxPQUFP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QUFpQyxFQUFDOzs7O0tBQzFDO0lBQ0gsc0JBQUM7QUFBRCxDQUFDLEFBbEZELENBQXFDLGlEQUF1QixHQWtGM0Q7QUFsRlksMENBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnLCBOZXR3b3JrVHlwZSwgU3RhY2tzTmV0d29yayBhcyBCaXRnb1N0YWNrc05ldHdvcmsgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgQmlnTnVtIGZyb20gJ2JuLmpzJztcbmltcG9ydCB7XG4gIEFkZHJlc3NIYXNoTW9kZSxcbiAgYWRkcmVzc1RvU3RyaW5nLFxuICBBZGRyZXNzVmVyc2lvbixcbiAgYnVmZmVyQ1ZGcm9tU3RyaW5nLFxuICBDbGFyaXR5VmFsdWUsXG4gIEZ1bmdpYmxlQ29uZGl0aW9uQ29kZSxcbiAgbGlzdENWLFxuICBtYWtlU3RhbmRhcmRTVFhQb3N0Q29uZGl0aW9uLFxuICBQb3N0Q29uZGl0aW9uLFxuICBQb3N0Q29uZGl0aW9uTW9kZSxcbiAgc3RhbmRhcmRQcmluY2lwYWxDVixcbiAgdHVwbGVDVixcbiAgdWludENWLFxufSBmcm9tICdAc3RhY2tzL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IgfSBmcm9tICcuLi9iYXNlQ29pbi9lcnJvcnMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7XG4gIGZ1bmN0aW9uQXJnc1RvU2VuZFBhcmFtcyxcbiAgZ2V0U1RYQWRkcmVzc0Zyb21QdWJLZXlzLFxuICBpc1ZhbGlkQWRkcmVzcyxcbiAgaXNWYWxpZEFtb3VudCxcbiAgaXNWYWxpZE1lbW8sXG59IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgU2VuZFBhcmFtcyB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgQ09OVFJBQ1RfTkFNRV9TRU5ETUFOWSwgRlVOQ1RJT05fTkFNRV9TRU5ETUFOWSB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IENvbnRyYWN0Q2FsbFBheWxvYWQgfSBmcm9tICdAc3RhY2tzL3RyYW5zYWN0aW9ucy9kaXN0L3BheWxvYWQnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cmFjdEJ1aWxkZXIgfSBmcm9tICcuL2Fic3RyYWN0Q29udHJhY3RCdWlsZGVyJztcblxuZXhwb3J0IGNsYXNzIFNlbmRtYW55QnVpbGRlciBleHRlbmRzIEFic3RyYWN0Q29udHJhY3RCdWlsZGVyIHtcbiAgcHJpdmF0ZSBfc2VuZFBhcmFtczogU2VuZFBhcmFtc1tdID0gW107XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpc1ZhbGlkQ29udHJhY3RDYWxsKGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+LCBwYXlsb2FkOiBDb250cmFjdENhbGxQYXlsb2FkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIChjb2luQ29uZmlnLm5ldHdvcmsgYXMgQml0Z29TdGFja3NOZXR3b3JrKS5zZW5kbWFueW1lbW9Db250cmFjdEFkZHJlc3MgPT09XG4gICAgICAgIGFkZHJlc3NUb1N0cmluZyhwYXlsb2FkLmNvbnRyYWN0QWRkcmVzcykgJiZcbiAgICAgIENPTlRSQUNUX05BTUVfU0VORE1BTlkgPT09IHBheWxvYWQuY29udHJhY3ROYW1lLmNvbnRlbnQgJiZcbiAgICAgIEZVTkNUSU9OX05BTUVfU0VORE1BTlkgPT09IHBheWxvYWQuZnVuY3Rpb25OYW1lLmNvbnRlbnRcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzZW5kUGFyYW1zVG9GdW5jdGlvbkFyZ3MgPSAoc2VuZFBhcmFtczogU2VuZFBhcmFtc1tdKTogQ2xhcml0eVZhbHVlW10gPT4gW1xuICAgIGxpc3RDVihcbiAgICAgIHNlbmRQYXJhbXMubWFwKChyZWNpcGllbnQpID0+XG4gICAgICAgIHR1cGxlQ1Yoe1xuICAgICAgICAgIHRvOiBzdGFuZGFyZFByaW5jaXBhbENWKHJlY2lwaWVudC5hZGRyZXNzKSxcbiAgICAgICAgICB1c3R4OiB1aW50Q1YocmVjaXBpZW50LmFtb3VudCksXG4gICAgICAgICAgbWVtbzogYnVmZmVyQ1ZGcm9tU3RyaW5nKHJlY2lwaWVudC5tZW1vIHx8ICcnKSxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICksXG4gIF07XG5cbiAgcHJpdmF0ZSBzZW5kUGFyYW1zVG9Qb3N0Y29uZGl0aW9uKHNlbmRQYXJhbXM6IFNlbmRQYXJhbXNbXSk6IFBvc3RDb25kaXRpb25bXSB7XG4gICAgY29uc3Qgc3VtOiBCaWdOdW0gPSBzZW5kUGFyYW1zLnJlZHVjZSgoY3VycmVudCwgbmV4dCkgPT4gY3VycmVudC5hZGQobmV3IEJpZ051bShuZXh0LmFtb3VudCkpLCBuZXcgQmlnTnVtKDApKTtcbiAgICByZXR1cm4gW1xuICAgICAgbWFrZVN0YW5kYXJkU1RYUG9zdENvbmRpdGlvbihcbiAgICAgICAgZ2V0U1RYQWRkcmVzc0Zyb21QdWJLZXlzKFxuICAgICAgICAgIHRoaXMuX2Zyb21QdWJLZXlzLFxuICAgICAgICAgIHRoaXMuX2NvaW5Db25maWcubmV0d29yay50eXBlID09PSBOZXR3b3JrVHlwZS5NQUlOTkVUXG4gICAgICAgICAgICA/IEFkZHJlc3NWZXJzaW9uLk1haW5uZXRNdWx0aVNpZ1xuICAgICAgICAgICAgOiBBZGRyZXNzVmVyc2lvbi5UZXN0bmV0TXVsdGlTaWcsXG4gICAgICAgICAgdGhpcy5fZnJvbVB1YktleXMubGVuZ3RoID4gMSA/IEFkZHJlc3NIYXNoTW9kZS5TZXJpYWxpemVQMlNIIDogQWRkcmVzc0hhc2hNb2RlLlNlcmlhbGl6ZVAyUEtILFxuICAgICAgICAgIHRoaXMuX251bWJlclNpZ25hdHVyZXMsXG4gICAgICAgICkuYWRkcmVzcyxcbiAgICAgICAgRnVuZ2libGVDb25kaXRpb25Db2RlLkVxdWFsLFxuICAgICAgICBzdW0sXG4gICAgICApLFxuICAgIF07XG4gIH1cblxuICBpbml0QnVpbGRlcih0eDogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBzdXBlci5pbml0QnVpbGRlcih0eCk7XG4gICAgdGhpcy5fc2VuZFBhcmFtcyA9IGZ1bmN0aW9uQXJnc1RvU2VuZFBhcmFtcygodHguc3R4VHJhbnNhY3Rpb24ucGF5bG9hZCBhcyBDb250cmFjdENhbGxQYXlsb2FkKS5mdW5jdGlvbkFyZ3MpO1xuICB9XG5cbiAgLyoqXG4gICAqICBTZXQgYSB0cmFuc2ZlclxuICAgKlxuICAgKiBAcGFyYW0ge1NlbmRQYXJhbXN9IHNlbmRQYXJhbXMgLSB0aGUgc2VuZGVyIGFkZHJlc3NcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBzZW5kKHsgYWRkcmVzcywgYW1vdW50LCBtZW1vIH06IFNlbmRQYXJhbXMpOiB0aGlzIHtcbiAgICBpZiAoIWFkZHJlc3MgfHwgIWlzVmFsaWRBZGRyZXNzKGFkZHJlc3MpKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIG9yIG1pc3NpbmcgYWRkcmVzcywgZ290OiAnICsgYWRkcmVzcyk7XG4gICAgfVxuICAgIGlmICghYW1vdW50IHx8ICFpc1ZhbGlkQW1vdW50KGFtb3VudCkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgb3IgbWlzc2luZyBhbW91bnQsIGdvdDogJyArIGFtb3VudCk7XG4gICAgfVxuICAgIGlmICghIW1lbW8gJiYgIWlzVmFsaWRNZW1vKG1lbW8pKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIG1lbW8sIGdvdDogJyArIG1lbW8pO1xuICAgIH1cblxuICAgIHRoaXMuX3NlbmRQYXJhbXMucHVzaCh7IGFkZHJlc3MsIGFtb3VudCwgbWVtbyB9KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgdGhpcy5fY29udHJhY3RBZGRyZXNzID0gKHRoaXMuX2NvaW5Db25maWcubmV0d29yayBhcyBCaXRnb1N0YWNrc05ldHdvcmspLnNlbmRtYW55bWVtb0NvbnRyYWN0QWRkcmVzcztcbiAgICB0aGlzLl9jb250cmFjdE5hbWUgPSBDT05UUkFDVF9OQU1FX1NFTkRNQU5ZO1xuICAgIHRoaXMuX2Z1bmN0aW9uTmFtZSA9IEZVTkNUSU9OX05BTUVfU0VORE1BTlk7XG4gICAgdGhpcy5fZnVuY3Rpb25BcmdzID0gdGhpcy5zZW5kUGFyYW1zVG9GdW5jdGlvbkFyZ3ModGhpcy5fc2VuZFBhcmFtcyk7XG4gICAgdGhpcy5fcG9zdENvbmRpdGlvbk1vZGUgPSBQb3N0Q29uZGl0aW9uTW9kZS5EZW55O1xuICAgIHRoaXMuX3Bvc3RDb25kaXRpb25zID0gdGhpcy5zZW5kUGFyYW1zVG9Qb3N0Y29uZGl0aW9uKHRoaXMuX3NlbmRQYXJhbXMpO1xuICAgIHJldHVybiBhd2FpdCBzdXBlci5idWlsZEltcGxlbWVudGF0aW9uKCk7XG4gIH1cbn1cbiJdfQ==