@bitgo-beta/sdk-coin-sui 3.0.3-beta.99 → 3.0.3-beta.990

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 (136) hide show
  1. package/CHANGELOG.md +817 -0
  2. package/dist/src/index.d.ts +1 -0
  3. package/dist/src/index.d.ts.map +1 -1
  4. package/dist/src/index.js +7 -2
  5. package/dist/src/lib/compareTransactionBlocks.js +2 -3
  6. package/dist/src/lib/constants.d.ts +9 -2
  7. package/dist/src/lib/constants.d.ts.map +1 -1
  8. package/dist/src/lib/constants.js +18 -2
  9. package/dist/src/lib/customTransaction.d.ts +57 -0
  10. package/dist/src/lib/customTransaction.d.ts.map +1 -0
  11. package/dist/src/lib/customTransaction.js +159 -0
  12. package/dist/src/lib/customTransactionBuilder.d.ts +46 -0
  13. package/dist/src/lib/customTransactionBuilder.d.ts.map +1 -0
  14. package/dist/src/lib/customTransactionBuilder.js +117 -0
  15. package/dist/src/lib/iface.d.ts +76 -10
  16. package/dist/src/lib/iface.d.ts.map +1 -1
  17. package/dist/src/lib/iface.js +40 -5
  18. package/dist/src/lib/index.d.ts +8 -0
  19. package/dist/src/lib/index.d.ts.map +1 -1
  20. package/dist/src/lib/index.js +40 -10
  21. package/dist/src/lib/keyPair.js +24 -10
  22. package/dist/src/lib/mystenlab/builder/Inputs.d.ts +9 -9
  23. package/dist/src/lib/mystenlab/builder/Inputs.d.ts.map +1 -1
  24. package/dist/src/lib/mystenlab/builder/Inputs.js +18 -19
  25. package/dist/src/lib/mystenlab/builder/TransactionBlock.d.ts +40 -354
  26. package/dist/src/lib/mystenlab/builder/TransactionBlock.d.ts.map +1 -1
  27. package/dist/src/lib/mystenlab/builder/TransactionBlock.js +22 -25
  28. package/dist/src/lib/mystenlab/builder/TransactionDataBlock.d.ts +74 -74
  29. package/dist/src/lib/mystenlab/builder/TransactionDataBlock.d.ts.map +1 -1
  30. package/dist/src/lib/mystenlab/builder/TransactionDataBlock.js +41 -44
  31. package/dist/src/lib/mystenlab/builder/Transactions.d.ts +133 -188
  32. package/dist/src/lib/mystenlab/builder/Transactions.d.ts.map +1 -1
  33. package/dist/src/lib/mystenlab/builder/Transactions.js +52 -53
  34. package/dist/src/lib/mystenlab/builder/bcs.d.ts +1 -1
  35. package/dist/src/lib/mystenlab/builder/bcs.d.ts.map +1 -1
  36. package/dist/src/lib/mystenlab/builder/bcs.js +2 -2
  37. package/dist/src/lib/mystenlab/builder/index.js +6 -2
  38. package/dist/src/lib/mystenlab/builder/serializer.js +6 -8
  39. package/dist/src/lib/mystenlab/builder/utils.d.ts +1 -1
  40. package/dist/src/lib/mystenlab/builder/utils.d.ts.map +1 -1
  41. package/dist/src/lib/mystenlab/builder/utils.js +4 -4
  42. package/dist/src/lib/mystenlab/cryptography/hash.js +3 -4
  43. package/dist/src/lib/mystenlab/framework/framework.d.ts +6 -6
  44. package/dist/src/lib/mystenlab/framework/framework.d.ts.map +1 -1
  45. package/dist/src/lib/mystenlab/framework/framework.js +22 -25
  46. package/dist/src/lib/mystenlab/framework/index.js +6 -2
  47. package/dist/src/lib/mystenlab/framework/sui-system-state.js +2 -2
  48. package/dist/src/lib/mystenlab/txn-data-serializers/type-tag-serializer.js +2 -2
  49. package/dist/src/lib/mystenlab/types/coin.d.ts +10 -10
  50. package/dist/src/lib/mystenlab/types/coin.d.ts.map +1 -1
  51. package/dist/src/lib/mystenlab/types/coin.js +19 -19
  52. package/dist/src/lib/mystenlab/types/common.d.ts +8 -8
  53. package/dist/src/lib/mystenlab/types/common.d.ts.map +1 -1
  54. package/dist/src/lib/mystenlab/types/common.js +22 -22
  55. package/dist/src/lib/mystenlab/types/events.d.ts +14 -14
  56. package/dist/src/lib/mystenlab/types/events.d.ts.map +1 -1
  57. package/dist/src/lib/mystenlab/types/events.js +17 -17
  58. package/dist/src/lib/mystenlab/types/index.js +6 -2
  59. package/dist/src/lib/mystenlab/types/normalized.d.ts +21 -21
  60. package/dist/src/lib/mystenlab/types/normalized.d.ts.map +1 -1
  61. package/dist/src/lib/mystenlab/types/normalized.js +41 -41
  62. package/dist/src/lib/mystenlab/types/objects.d.ts +51 -51
  63. package/dist/src/lib/mystenlab/types/objects.d.ts.map +1 -1
  64. package/dist/src/lib/mystenlab/types/objects.js +96 -106
  65. package/dist/src/lib/mystenlab/types/option.d.ts +1 -1
  66. package/dist/src/lib/mystenlab/types/option.d.ts.map +1 -1
  67. package/dist/src/lib/mystenlab/types/option.js +2 -3
  68. package/dist/src/lib/mystenlab/types/sui-bcs.d.ts +8 -8
  69. package/dist/src/lib/mystenlab/types/sui-bcs.d.ts.map +1 -1
  70. package/dist/src/lib/mystenlab/types/sui-bcs.js +5 -5
  71. package/dist/src/lib/mystenlab/types/transactions.d.ts +625 -625
  72. package/dist/src/lib/mystenlab/types/transactions.d.ts.map +1 -1
  73. package/dist/src/lib/mystenlab/types/transactions.js +178 -194
  74. package/dist/src/lib/mystenlab/types/validator.d.ts +9 -9
  75. package/dist/src/lib/mystenlab/types/validator.d.ts.map +1 -1
  76. package/dist/src/lib/mystenlab/types/validator.js +124 -124
  77. package/dist/src/lib/resources/walrusConfig.d.ts +22 -0
  78. package/dist/src/lib/resources/walrusConfig.d.ts.map +1 -0
  79. package/dist/src/lib/resources/walrusConfig.js +37 -0
  80. package/dist/src/lib/rpcClient.d.ts +5 -0
  81. package/dist/src/lib/rpcClient.d.ts.map +1 -0
  82. package/dist/src/lib/rpcClient.js +74 -0
  83. package/dist/src/lib/stakingBuilder.d.ts.map +1 -1
  84. package/dist/src/lib/stakingBuilder.js +23 -7
  85. package/dist/src/lib/stakingTransaction.d.ts +1 -1
  86. package/dist/src/lib/stakingTransaction.d.ts.map +1 -1
  87. package/dist/src/lib/stakingTransaction.js +26 -15
  88. package/dist/src/lib/tokenTransferBuilder.d.ts +38 -0
  89. package/dist/src/lib/tokenTransferBuilder.d.ts.map +1 -0
  90. package/dist/src/lib/tokenTransferBuilder.js +132 -0
  91. package/dist/src/lib/tokenTransferTransaction.d.ts +57 -0
  92. package/dist/src/lib/tokenTransferTransaction.d.ts.map +1 -0
  93. package/dist/src/lib/tokenTransferTransaction.js +250 -0
  94. package/dist/src/lib/transaction.d.ts +12 -4
  95. package/dist/src/lib/transaction.d.ts.map +1 -1
  96. package/dist/src/lib/transaction.js +91 -18
  97. package/dist/src/lib/transactionBuilder.d.ts +2 -3
  98. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  99. package/dist/src/lib/transactionBuilder.js +4 -4
  100. package/dist/src/lib/transactionBuilderFactory.d.ts +14 -2
  101. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  102. package/dist/src/lib/transactionBuilderFactory.js +42 -1
  103. package/dist/src/lib/transferBuilder.d.ts.map +1 -1
  104. package/dist/src/lib/transferBuilder.js +21 -5
  105. package/dist/src/lib/transferTransaction.d.ts +1 -1
  106. package/dist/src/lib/transferTransaction.d.ts.map +1 -1
  107. package/dist/src/lib/transferTransaction.js +31 -8
  108. package/dist/src/lib/unstakingBuilder.js +6 -6
  109. package/dist/src/lib/unstakingTransaction.d.ts +1 -1
  110. package/dist/src/lib/unstakingTransaction.d.ts.map +1 -1
  111. package/dist/src/lib/unstakingTransaction.js +31 -17
  112. package/dist/src/lib/utils.d.ts +16 -4
  113. package/dist/src/lib/utils.d.ts.map +1 -1
  114. package/dist/src/lib/utils.js +269 -29
  115. package/dist/src/lib/walrusStakingBuilder.d.ts +66 -0
  116. package/dist/src/lib/walrusStakingBuilder.d.ts.map +1 -0
  117. package/dist/src/lib/walrusStakingBuilder.js +200 -0
  118. package/dist/src/lib/walrusStakingTransaction.d.ts +52 -0
  119. package/dist/src/lib/walrusStakingTransaction.d.ts.map +1 -0
  120. package/dist/src/lib/walrusStakingTransaction.js +269 -0
  121. package/dist/src/lib/walrusWithdrawStakeBuilder.d.ts +36 -0
  122. package/dist/src/lib/walrusWithdrawStakeBuilder.d.ts.map +1 -0
  123. package/dist/src/lib/walrusWithdrawStakeBuilder.js +173 -0
  124. package/dist/src/lib/walrusWithdrawStakeTransaction.d.ts +21 -0
  125. package/dist/src/lib/walrusWithdrawStakeTransaction.d.ts.map +1 -0
  126. package/dist/src/lib/walrusWithdrawStakeTransaction.js +190 -0
  127. package/dist/src/register.d.ts.map +1 -1
  128. package/dist/src/register.js +5 -1
  129. package/dist/src/sui.d.ts +46 -8
  130. package/dist/src/sui.d.ts.map +1 -1
  131. package/dist/src/sui.js +479 -32
  132. package/dist/src/suiToken.d.ts +22 -0
  133. package/dist/src/suiToken.d.ts.map +1 -0
  134. package/dist/src/suiToken.js +61 -0
  135. package/dist/src/tsui.js +1 -1
  136. package/package.json +10 -8
@@ -0,0 +1,66 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
+ import { BaseKey, TransactionType } from '@bitgo-beta/sdk-core';
3
+ import { RequestWalrusStakeWithPool, SuiTransaction, WalrusStakingProgrammableTransaction } from './iface';
4
+ import { TransactionBuilder } from './transactionBuilder';
5
+ import { Transaction } from './transaction';
6
+ import { TransferTransaction } from './transferTransaction';
7
+ import { SuiObjectRef } from './mystenlab/types';
8
+ export declare class WalrusStakingBuilder extends TransactionBuilder<WalrusStakingProgrammableTransaction> {
9
+ protected _stakeWithPoolTx: RequestWalrusStakeWithPool[];
10
+ protected _inputObjects: SuiObjectRef[];
11
+ private walrusConfig;
12
+ constructor(_coinConfig: Readonly<CoinConfig>);
13
+ /**
14
+ * Build a MoveCall transaction ready to be signed and executed.
15
+ *
16
+ * @returns {BitGoSuiTransaction} an unsigned Sui transaction
17
+ */
18
+ protected buildStakeTransaction(): SuiTransaction<WalrusStakingProgrammableTransaction>;
19
+ /**
20
+ * Get staking transaction type
21
+ *
22
+ * @return {TransactionType}
23
+ * @protected
24
+ */
25
+ protected get transactionType(): TransactionType;
26
+ /** @inheritdoc */
27
+ validateTransaction(transaction: TransferTransaction): void;
28
+ /** @inheritdoc */
29
+ sign(key: BaseKey): void;
30
+ /**
31
+ * Create a new transaction for staking coins ready to be signed and executed.
32
+ *
33
+ * @param {RequestWalrusStakeWithPool[]} request: a list of staking request
34
+ */
35
+ stake(request: RequestWalrusStakeWithPool[]): this;
36
+ /**
37
+ * Set the $WAL objects to be used for staking.
38
+ *
39
+ * @param tokens The WAL objects to be used
40
+ * @returns this
41
+ */
42
+ inputObjects(inputObjects: SuiObjectRef[]): this;
43
+ private validateInputObjects;
44
+ /** @inheritdoc */
45
+ protected fromImplementation(rawTransaction: string): Transaction<WalrusStakingProgrammableTransaction>;
46
+ /** @inheritdoc */
47
+ protected buildImplementation(): Promise<Transaction<WalrusStakingProgrammableTransaction>>;
48
+ /**
49
+ * Initialize the transaction builder fields using the decoded transaction data
50
+ *
51
+ * @param {StakingTransaction} tx the transaction data
52
+ */
53
+ initBuilder(tx: Transaction<WalrusStakingProgrammableTransaction>): void;
54
+ /**
55
+ * Validates all fields are defined
56
+ */
57
+ private validateTransactionFields;
58
+ /**
59
+ * Build SuiTransaction
60
+ *
61
+ * @return {BitGoSuiTransaction<MoveCallTx>}
62
+ * @protected
63
+ */
64
+ protected buildSuiTransaction(): SuiTransaction<WalrusStakingProgrammableTransaction>;
65
+ }
66
+ //# sourceMappingURL=walrusStakingBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walrusStakingBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/walrusStakingBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAe,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAkD,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAChH,OAAO,EACL,0BAA0B,EAC1B,cAAc,EAEd,oCAAoC,EACrC,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAU5D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,qBAAa,oBAAqB,SAAQ,kBAAkB,CAAC,oCAAoC,CAAC;IAChG,SAAS,CAAC,gBAAgB,EAAE,0BAA0B,EAAE,CAAC;IACzD,SAAS,CAAC,aAAa,EAAE,YAAY,EAAE,CAAC;IAExC,OAAO,CAAC,YAAY,CAAM;gBAEd,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAQ7C;;;;OAIG;IACH,SAAS,CAAC,qBAAqB,IAAI,cAAc,CAAC,oCAAoC,CAAC;IAYvF;;;;;OAKG;IACH,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,kBAAkB;IAClB,mBAAmB,CAAC,WAAW,EAAE,mBAAmB,GAAG,IAAI;IAO3D,kBAAkB;IAClB,IAAI,CAAC,GAAG,EAAE,OAAO;IAKjB;;;;OAIG;IACH,KAAK,CAAC,OAAO,EAAE,0BAA0B,EAAE,GAAG,IAAI;IAclD;;;;;OAKG;IACH,YAAY,CAAC,YAAY,EAAE,YAAY,EAAE,GAAG,IAAI;IAMhD,OAAO,CAAC,oBAAoB;IAU5B,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW,CAAC,oCAAoC,CAAC;IAQvG,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC,oCAAoC,CAAC,CAAC;IAgBjG;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,WAAW,CAAC,oCAAoC,CAAC,GAAG,IAAI;IAmBxE;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAYjC;;;;;OAKG;IACH,SAAS,CAAC,mBAAmB,IAAI,cAAc,CAAC,oCAAoC,CAAC;CAiDtF"}
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.WalrusStakingBuilder = void 0;
7
+ const statics_1 = require("@bitgo-beta/statics");
8
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
9
+ const iface_1 = require("./iface");
10
+ const transactionBuilder_1 = require("./transactionBuilder");
11
+ const utils_1 = __importDefault(require("./utils"));
12
+ const assert_1 = __importDefault(require("assert"));
13
+ const stakingTransaction_1 = require("./stakingTransaction");
14
+ const builder_1 = require("./mystenlab/builder");
15
+ const constants_1 = require("./constants");
16
+ const walrusConfig_1 = require("./resources/walrusConfig");
17
+ class WalrusStakingBuilder extends transactionBuilder_1.TransactionBuilder {
18
+ constructor(_coinConfig) {
19
+ super(_coinConfig);
20
+ this._transaction = new stakingTransaction_1.StakingTransaction(_coinConfig);
21
+ // TODO improve mainnet vs. testnet configuration
22
+ this.walrusConfig = _coinConfig.network.type === statics_1.NetworkType.MAINNET ? walrusConfig_1.WALRUS_PROD_CONFIG : walrusConfig_1.WALRUS_TESTNET_CONFIG;
23
+ }
24
+ /**
25
+ * Build a MoveCall transaction ready to be signed and executed.
26
+ *
27
+ * @returns {BitGoSuiTransaction} an unsigned Sui transaction
28
+ */
29
+ buildStakeTransaction() {
30
+ return {
31
+ type: iface_1.SuiTransactionType.WalrusStakeWithPool,
32
+ sender: this._sender,
33
+ tx: {
34
+ inputs: [],
35
+ transactions: [],
36
+ },
37
+ gasData: this._gasData,
38
+ };
39
+ }
40
+ /**
41
+ * Get staking transaction type
42
+ *
43
+ * @return {TransactionType}
44
+ * @protected
45
+ */
46
+ get transactionType() {
47
+ return sdk_core_1.TransactionType.StakingAdd;
48
+ }
49
+ /** @inheritdoc */
50
+ validateTransaction(transaction) {
51
+ if (!transaction.suiTransaction) {
52
+ return;
53
+ }
54
+ this.validateTransactionFields();
55
+ }
56
+ /** @inheritdoc */
57
+ sign(key) {
58
+ this.transaction.setSuiTransaction(this.buildSuiTransaction());
59
+ super.sign(key);
60
+ }
61
+ /**
62
+ * Create a new transaction for staking coins ready to be signed and executed.
63
+ *
64
+ * @param {RequestWalrusStakeWithPool[]} request: a list of staking request
65
+ */
66
+ stake(request) {
67
+ request.forEach((req) => {
68
+ utils_1.default.validateAddress(req.validatorAddress, 'validatorAddress');
69
+ (0, assert_1.default)(utils_1.default.isValidAmount(req.amount), 'Invalid recipient amount');
70
+ if (this._sender === req.validatorAddress) {
71
+ throw new sdk_core_1.BuildTransactionError('Sender address cannot be the same as the Staking address');
72
+ }
73
+ });
74
+ this._stakeWithPoolTx = request;
75
+ return this;
76
+ }
77
+ /**
78
+ * Set the $WAL objects to be used for staking.
79
+ *
80
+ * @param tokens The WAL objects to be used
81
+ * @returns this
82
+ */
83
+ inputObjects(inputObjects) {
84
+ this.validateInputObjects(inputObjects);
85
+ this._inputObjects = inputObjects;
86
+ return this;
87
+ }
88
+ validateInputObjects(inputObjects) {
89
+ (0, assert_1.default)(inputObjects && inputObjects.length > 0, new sdk_core_1.BuildTransactionError('input objects required before building'));
90
+ inputObjects.forEach((inputObject) => {
91
+ this.validateSuiObjectRef(inputObject, 'input object');
92
+ });
93
+ }
94
+ /** @inheritdoc */
95
+ fromImplementation(rawTransaction) {
96
+ const tx = new stakingTransaction_1.StakingTransaction(this._coinConfig);
97
+ this.validateRawTransaction(rawTransaction);
98
+ tx.fromRawTransaction(rawTransaction);
99
+ this.initBuilder(tx);
100
+ return this.transaction;
101
+ }
102
+ /** @inheritdoc */
103
+ async buildImplementation() {
104
+ this.transaction.setSuiTransaction(this.buildSuiTransaction());
105
+ this.transaction.transactionType(this.transactionType);
106
+ if (this._signer) {
107
+ this.transaction.sign(this._signer);
108
+ }
109
+ this._signatures.forEach((signature) => {
110
+ this.transaction.addSignature(signature.publicKey, signature.signature);
111
+ });
112
+ this.transaction.loadInputsAndOutputs();
113
+ return this.transaction;
114
+ }
115
+ /**
116
+ * Initialize the transaction builder fields using the decoded transaction data
117
+ *
118
+ * @param {StakingTransaction} tx the transaction data
119
+ */
120
+ initBuilder(tx) {
121
+ this._transaction = tx;
122
+ if (tx.signature && tx.signature.length > 0) {
123
+ this._signatures = [tx.suiSignature];
124
+ }
125
+ const txData = tx.toJson();
126
+ this.type(iface_1.SuiTransactionType.WalrusStakeWithPool);
127
+ this.sender(txData.sender);
128
+ this.gasData(txData.gasData);
129
+ const requests = utils_1.default.getWalrusStakeWithPoolRequests(tx.suiTransaction.tx);
130
+ this.stake(requests);
131
+ (0, assert_1.default)(txData.inputObjects);
132
+ this.inputObjects(txData.inputObjects);
133
+ }
134
+ /**
135
+ * Validates all fields are defined
136
+ */
137
+ validateTransactionFields() {
138
+ (0, assert_1.default)(this._type, new sdk_core_1.BuildTransactionError('type is required before building'));
139
+ (0, assert_1.default)(this._sender, new sdk_core_1.BuildTransactionError('sender is required before building'));
140
+ this._stakeWithPoolTx.forEach((req) => {
141
+ (0, assert_1.default)(req.validatorAddress, new sdk_core_1.BuildTransactionError('validator address is required before building'));
142
+ (0, assert_1.default)(req.amount, new sdk_core_1.BuildTransactionError('staking amount is required before building'));
143
+ });
144
+ (0, assert_1.default)(this._gasData, new sdk_core_1.BuildTransactionError('gasData is required before building'));
145
+ this.validateGasData(this._gasData);
146
+ this.validateInputObjects(this._inputObjects);
147
+ }
148
+ /**
149
+ * Build SuiTransaction
150
+ *
151
+ * @return {BitGoSuiTransaction<MoveCallTx>}
152
+ * @protected
153
+ */
154
+ buildSuiTransaction() {
155
+ this.validateTransactionFields();
156
+ const programmableTxBuilder = new builder_1.TransactionBlock();
157
+ switch (this._type) {
158
+ case iface_1.SuiTransactionType.WalrusStakeWithPool:
159
+ const inputObjects = this._inputObjects.map((token) => programmableTxBuilder.object(builder_1.Inputs.ObjectRef(token)));
160
+ const mergedObject = inputObjects.shift();
161
+ if (inputObjects.length > 0) {
162
+ programmableTxBuilder.mergeCoins(mergedObject, inputObjects);
163
+ }
164
+ // Create a new coin with staking balance, based on the coins used as gas payment.
165
+ const stakedWals = this._stakeWithPoolTx.map((req) => {
166
+ const splitObject = programmableTxBuilder.splitCoins(mergedObject, [
167
+ programmableTxBuilder.pure(Number(req.amount)),
168
+ ]);
169
+ // Stake the split coin to a specific validator address.
170
+ return programmableTxBuilder.moveCall({
171
+ target: `${this.walrusConfig.WALRUS_PKG_ID}::${this.walrusConfig.WALRUS_STAKING_MODULE_NAME}::${this.walrusConfig.WALRUS_STAKE_WITH_POOL_FUN_NAME}`,
172
+ arguments: [
173
+ programmableTxBuilder.object(builder_1.Inputs.SharedObjectRef(this.walrusConfig.WALRUS_STAKING_OBJECT)),
174
+ splitObject,
175
+ programmableTxBuilder.object(req.validatorAddress),
176
+ ],
177
+ });
178
+ });
179
+ programmableTxBuilder.transferObjects(stakedWals, programmableTxBuilder.object(this._sender));
180
+ break;
181
+ default:
182
+ throw new sdk_core_1.InvalidTransactionError(`unsupported target method`);
183
+ }
184
+ const txData = programmableTxBuilder.blockData;
185
+ return {
186
+ type: this._type,
187
+ sender: this._sender,
188
+ tx: {
189
+ inputs: [...txData.inputs],
190
+ transactions: [...txData.transactions],
191
+ },
192
+ gasData: {
193
+ ...this._gasData,
194
+ payment: this._gasData.payment.slice(0, constants_1.MAX_GAS_OBJECTS - 1),
195
+ },
196
+ };
197
+ }
198
+ }
199
+ exports.WalrusStakingBuilder = WalrusStakingBuilder;
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FscnVzU3Rha2luZ0J1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3dhbHJ1c1N0YWtpbmdCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGlEQUEwRTtBQUMxRSxtREFBZ0g7QUFDaEgsbUNBS2lCO0FBQ2pCLDZEQUEwRDtBQUUxRCxvREFBNEI7QUFDNUIsb0RBQTRCO0FBRTVCLDZEQUEwRDtBQUMxRCxpREFLNkI7QUFDN0IsMkNBQThDO0FBQzlDLDJEQUFxRjtBQUdyRixNQUFhLG9CQUFxQixTQUFRLHVDQUF3RDtJQU1oRyxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksdUNBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFeEQsaURBQWlEO1FBQ2pELElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUsscUJBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGlDQUFrQixDQUFDLENBQUMsQ0FBQyxvQ0FBcUIsQ0FBQztJQUNwSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNPLHFCQUFxQjtRQUM3QixPQUFPO1lBQ0wsSUFBSSxFQUFFLDBCQUFrQixDQUFDLG1CQUFtQjtZQUM1QyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDcEIsRUFBRSxFQUFFO2dCQUNGLE1BQU0sRUFBRSxFQUFFO2dCQUNWLFlBQVksRUFBRSxFQUFFO2FBQ2pCO1lBQ0QsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3ZCLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLFVBQVUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLG1CQUFtQixDQUFDLFdBQWdDO1FBQ2xELElBQUksQ0FBQyxXQUFX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QUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztnQkFDMUIsWUFBWSxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO2FBQ3ZDO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLEdBQUcsSUFBSSxDQUFDLFFBQVE7Z0JBQ2hCLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLDJCQUFlLEdBQUcsQ0FBQyxDQUFDO2FBQzdEO1NBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXhORCxvREF3TkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnLCBOZXR3b3JrVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgQmFzZUtleSwgQnVpbGRUcmFuc2FjdGlvbkVycm9yLCBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHtcbiAgUmVxdWVzdFdhbHJ1c1N0YWtlV2l0aFBvb2wsXG4gIFN1aVRyYW5zYWN0aW9uLFxuICBTdWlUcmFuc2FjdGlvblR5cGUsXG4gIFdhbHJ1c1N0YWtpbmdQcm9ncmFtbWFibGVUcmFuc2FjdGlvbixcbn0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHsgVHJhbnNmZXJUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNmZXJUcmFuc2FjdGlvbic7XG5pbXBvcnQgeyBTdGFraW5nVHJhbnNhY3Rpb24gfSBmcm9tICcuL3N0YWtpbmdUcmFuc2FjdGlvbic7XG5pbXBvcnQge1xuICBJbnB1dHMsXG4gIE1vdmVDYWxsVHJhbnNhY3Rpb24sXG4gIFRyYW5zYWN0aW9uQXJndW1lbnQsXG4gIFRyYW5zYWN0aW9uQmxvY2sgYXMgUHJvZ3JhbW1pbmdUcmFuc2FjdGlvbkJsb2NrQnVpbGRlcixcbn0gZnJvbSAnLi9teXN0ZW5sYWIvYnVpbGRlcic7XG5pbXBvcnQgeyBNQVhfR0FTX09CSkVDVFMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBXQUxSVVNfUFJPRF9DT05GSUcsIFdBTFJVU19URVNUTkVUX0NPTkZJRyB9IGZyb20gJy4vcmVzb3VyY2VzL3dhbHJ1c0NvbmZpZyc7XG5pbXBvcnQgeyBTdWlPYmplY3RSZWYgfSBmcm9tICcuL215c3RlbmxhYi90eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBXYWxydXNTdGFraW5nQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlcjxXYWxydXNTdGFraW5nUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24+IHtcbiAgcHJvdGVjdGVkIF9zdGFrZVdpdGhQb29sVHg6IFJlcXVlc3RXYWxydXNTdGFrZVdpdGhQb29sW107XG4gIHByb3RlY3RlZCBfaW5wdXRPYmplY3RzOiBTdWlPYmplY3RSZWZbXTtcblxuICBwcml2YXRlIHdhbHJ1c0NvbmZpZzogYW55OyAvLyBUT0RPIGltcHJvdmVcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24gPSBuZXcgU3Rha2luZ1RyYW5zYWN0aW9uKF9jb2luQ29uZmlnKTtcblxuICAgIC8vIFRPRE8gaW1wcm92ZSBtYWlubmV0IHZzLiB0ZXN0bmV0IGNvbmZpZ3VyYXRpb25cbiAgICB0aGlzLndhbHJ1c0NvbmZpZyA9IF9jb2luQ29uZmlnLm5ldHdvcmsudHlwZSA9PT0gTmV0d29ya1R5cGUuTUFJTk5FVCA/IFdBTFJVU19QUk9EX0NPTkZJRyA6IFdBTFJVU19URVNUTkVUX0NPTkZJRztcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCBhIE1vdmVDYWxsIHRyYW5zYWN0aW9uIHJlYWR5IHRvIGJlIHNpZ25lZCBhbmQgZXhlY3V0ZWQuXG4gICAqXG4gICAqIEByZXR1cm5zIHtCaXRHb1N1aVRyYW5zYWN0aW9ufSBhbiB1bnNpZ25lZCBTdWkgdHJhbnNhY3Rpb25cbiAgICovXG4gIHByb3RlY3RlZCBidWlsZFN0YWtlVHJhbnNhY3Rpb24oKTogU3VpVHJhbnNhY3Rpb248V2FscnVzU3Rha2luZ1Byb2dyYW1tYWJsZVRyYW5zYWN0aW9uPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IFN1aVRyYW5zYWN0aW9uVHlwZS5XYWxydXNTdGFrZVdpdGhQb29sLFxuICAgICAgc2VuZGVyOiB0aGlzLl9zZW5kZXIsXG4gICAgICB0eDoge1xuICAgICAgICBpbnB1dHM6IFtdLFxuICAgICAgICB0cmFuc2FjdGlvbnM6IFtdLFxuICAgICAgfSxcbiAgICAgIGdhc0RhdGE6IHRoaXMuX2dhc0RhdGEsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgc3Rha2luZyB0cmFuc2FjdGlvbiB0eXBlXG4gICAqXG4gICAqIEByZXR1cm4ge1RyYW5zYWN0aW9uVHlwZX1cbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdBZGQ7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVUcmFuc2FjdGlvbih0cmFuc2FjdGlvbjogVHJhbnNmZXJUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIGlmICghdHJhbnNhY3Rpb24uc3VpVHJhbnNhY3Rpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy52YWxpZGF0ZVRyYW5zYWN0aW9uRmllbGRzKCk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgc2lnbihrZXk6IEJhc2VLZXkpIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnNldFN1aVRyYW5zYWN0aW9uKHRoaXMuYnVpbGRTdWlUcmFuc2FjdGlvbigpKTtcbiAgICBzdXBlci5zaWduKGtleSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IHRyYW5zYWN0aW9uIGZvciBzdGFraW5nIGNvaW5zIHJlYWR5IHRvIGJlIHNpZ25lZCBhbmQgZXhlY3V0ZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7UmVxdWVzdFdhbHJ1c1N0YWtlV2l0aFBvb2xbXX0gcmVxdWVzdDogYSBsaXN0IG9mIHN0YWtpbmcgcmVxdWVzdFxuICAgKi9cbiAgc3Rha2UocmVxdWVzdDogUmVxdWVzdFdhbHJ1c1N0YWtlV2l0aFBvb2xbXSk6IHRoaXMge1xuICAgIHJlcXVlc3QuZm9yRWFjaCgocmVxKSA9PiB7XG4gICAgICB1dGlscy52YWxpZGF0ZUFkZHJlc3MocmVxLnZhbGlkYXRvckFkZHJlc3MsICd2YWxpZGF0b3JBZGRyZXNzJyk7XG4gICAgICBhc3NlcnQodXRpbHMuaXNWYWxpZEFtb3VudChyZXEuYW1vdW50KSwgJ0ludmFsaWQgcmVjaXBpZW50IGFtb3VudCcpO1xuXG4gICAgICBpZiAodGhpcy5fc2VuZGVyID09PSByZXEudmFsaWRhdG9yQWRkcmVzcykge1xuICAgICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdTZW5kZXIgYWRkcmVzcyBjYW5ub3QgYmUgdGhlIHNhbWUgYXMgdGhlIFN0YWtpbmcgYWRkcmVzcycpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5fc3Rha2VXaXRoUG9vbFR4ID0gcmVxdWVzdDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlICRXQUwgb2JqZWN0cyB0byBiZSB1c2VkIGZvciBzdGFraW5nLlxuICAgKlxuICAgKiBAcGFyYW0gdG9rZW5zIFRoZSBXQUwgb2JqZWN0cyB0byBiZSB1c2VkXG4gICAqIEByZXR1cm5zIHRoaXNcbiAgICovXG4gIGlucHV0T2JqZWN0cyhpbnB1dE9iamVjdHM6IFN1aU9iamVjdFJlZltdKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZUlucHV0T2JqZWN0cyhpbnB1dE9iamVjdHMpO1xuICAgIHRoaXMuX2lucHV0T2JqZWN0cyA9IGlucHV0T2JqZWN0cztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVJbnB1dE9iamVjdHMoaW5wdXRPYmplY3RzOiBTdWlPYmplY3RSZWZbXSk6IHZvaWQge1xuICAgIGFzc2VydChcbiAgICAgIGlucHV0T2JqZWN0cyAmJiBpbnB1dE9iamVjdHMubGVuZ3RoID4gMCxcbiAgICAgIG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ2lucHV0IG9iamVjdHMgcmVxdWlyZWQgYmVmb3JlIGJ1aWxkaW5nJylcbiAgICApO1xuICAgIGlucHV0T2JqZWN0cy5mb3JFYWNoKChpbnB1dE9iamVjdCkgPT4ge1xuICAgICAgdGhpcy52YWxpZGF0ZVN1aU9iamVjdFJlZihpbnB1dE9iamVjdCwgJ2lucHV0IG9iamVjdCcpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFRyYW5zYWN0aW9uPFdhbHJ1c1N0YWtpbmdQcm9ncmFtbWFibGVUcmFuc2FjdGlvbj4ge1xuICAgIGNvbnN0IHR4ID0gbmV3IFN0YWtpbmdUcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnKTtcbiAgICB0aGlzLnZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIHR4LmZyb21SYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgdGhpcy5pbml0QnVpbGRlcih0eCk7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb247XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbjxXYWxydXNTdGFraW5nUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24+PiB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5zZXRTdWlUcmFuc2FjdGlvbih0aGlzLmJ1aWxkU3VpVHJhbnNhY3Rpb24oKSk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvblR5cGUodGhpcy50cmFuc2FjdGlvblR5cGUpO1xuXG4gICAgaWYgKHRoaXMuX3NpZ25lcikge1xuICAgICAgdGhpcy50cmFuc2FjdGlvbi5zaWduKHRoaXMuX3NpZ25lcik7XG4gICAgfVxuXG4gICAgdGhpcy5fc2lnbmF0dXJlcy5mb3JFYWNoKChzaWduYXR1cmUpID0+IHtcbiAgICAgIHRoaXMudHJhbnNhY3Rpb24uYWRkU2lnbmF0dXJlKHNpZ25hdHVyZS5wdWJsaWNLZXksIHNpZ25hdHVyZS5zaWduYXR1cmUpO1xuICAgIH0pO1xuXG4gICAgdGhpcy50cmFuc2FjdGlvbi5sb2FkSW5wdXRzQW5kT3V0cHV0cygpO1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIHRyYW5zYWN0aW9uIGJ1aWxkZXIgZmllbGRzIHVzaW5nIHRoZSBkZWNvZGVkIHRyYW5zYWN0aW9uIGRhdGFcbiAgICpcbiAgICogQHBhcmFtIHtTdGFraW5nVHJhbnNhY3Rpb259IHR4IHRoZSB0cmFuc2FjdGlvbiBkYXRhXG4gICAqL1xuICBpbml0QnVpbGRlcih0eDogVHJhbnNhY3Rpb248V2FscnVzU3Rha2luZ1Byb2dyYW1tYWJsZVRyYW5zYWN0aW9uPik6IHZvaWQge1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gdHg7XG5cbiAgICBpZiAodHguc2lnbmF0dXJlICYmIHR4LnNpZ25hdHVyZS5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLl9zaWduYXR1cmVzID0gW3R4LnN1aVNpZ25hdHVyZV07XG4gICAgfVxuXG4gICAgY29uc3QgdHhEYXRhID0gdHgudG9Kc29uKCk7XG4gICAgdGhpcy50eXBlKFN1aVRyYW5zYWN0aW9uVHlwZS5XYWxydXNTdGFrZVdpdGhQb29sKTtcbiAgICB0aGlzLnNlbmRlcih0eERhdGEuc2VuZGVyKTtcbiAgICB0aGlzLmdhc0RhdGEodHhEYXRhLmdhc0RhdGEpO1xuXG4gICAgY29uc3QgcmVxdWVzdHMgPSB1dGlscy5nZXRXYWxydXNTdGFrZVdpdGhQb29sUmVxdWVzdHModHguc3VpVHJhbnNhY3Rpb24udHgpO1xuICAgIHRoaXMuc3Rha2UocmVxdWVzdHMpO1xuXG4gICAgYXNzZXJ0KHR4RGF0YS5pbnB1dE9iamVjdHMpO1xuICAgIHRoaXMuaW5wdXRPYmplY3RzKHR4RGF0YS5pbnB1dE9iamVjdHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyBhbGwgZmllbGRzIGFyZSBkZWZpbmVkXG4gICAqL1xuICBwcml2YXRlIHZhbGlkYXRlVHJhbnNhY3Rpb25GaWVsZHMoKTogdm9pZCB7XG4gICAgYXNzZXJ0KHRoaXMuX3R5cGUsIG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ3R5cGUgaXMgcmVxdWlyZWQgYmVmb3JlIGJ1aWxkaW5nJykpO1xuICAgIGFzc2VydCh0aGlzLl9zZW5kZXIsIG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ3NlbmRlciBpcyByZXF1aXJlZCBiZWZvcmUgYnVpbGRpbmcnKSk7XG4gICAgdGhpcy5fc3Rha2VXaXRoUG9vbFR4LmZvckVhY2goKHJlcSkgPT4ge1xuICAgICAgYXNzZXJ0KHJlcS52YWxpZGF0b3JBZGRyZXNzLCBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCd2YWxpZGF0b3IgYWRkcmVzcyBpcyByZXF1aXJlZCBiZWZvcmUgYnVpbGRpbmcnKSk7XG4gICAgICBhc3NlcnQocmVxLmFtb3VudCwgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignc3Rha2luZyBhbW91bnQgaXMgcmVxdWlyZWQgYmVmb3JlIGJ1aWxkaW5nJykpO1xuICAgIH0pO1xuICAgIGFzc2VydCh0aGlzLl9nYXNEYXRhLCBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdnYXNEYXRhIGlzIHJlcXVpcmVkIGJlZm9yZSBidWlsZGluZycpKTtcbiAgICB0aGlzLnZhbGlkYXRlR2FzRGF0YSh0aGlzLl9nYXNEYXRhKTtcbiAgICB0aGlzLnZhbGlkYXRlSW5wdXRPYmplY3RzKHRoaXMuX2lucHV0T2JqZWN0cyk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgU3VpVHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHJldHVybiB7Qml0R29TdWlUcmFuc2FjdGlvbjxNb3ZlQ2FsbFR4Pn1cbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkU3VpVHJhbnNhY3Rpb24oKTogU3VpVHJhbnNhY3Rpb248V2FscnVzU3Rha2luZ1Byb2dyYW1tYWJsZVRyYW5zYWN0aW9uPiB7XG4gICAgdGhpcy52YWxpZGF0ZVRyYW5zYWN0aW9uRmllbGRzKCk7XG5cbiAgICBjb25zdCBwcm9ncmFtbWFibGVUeEJ1aWxkZXIgPSBuZXcgUHJvZ3JhbW1pbmdUcmFuc2FjdGlvbkJsb2NrQnVpbGRlcigpO1xuICAgIHN3aXRjaCAodGhpcy5fdHlwZSkge1xuICAgICAgY2FzZSBTdWlUcmFuc2FjdGlvblR5cGUuV2FscnVzU3Rha2VXaXRoUG9vbDpcbiAgICAgICAgY29uc3QgaW5wdXRPYmplY3RzID0gdGhpcy5faW5wdXRPYmplY3RzLm1hcCgodG9rZW4pID0+IHByb2dyYW1tYWJsZVR4QnVpbGRlci5vYmplY3QoSW5wdXRzLk9iamVjdFJlZih0b2tlbikpKTtcbiAgICAgICAgY29uc3QgbWVyZ2VkT2JqZWN0ID0gaW5wdXRPYmplY3RzLnNoaWZ0KCkgYXMgVHJhbnNhY3Rpb25Bcmd1bWVudDtcblxuICAgICAgICBpZiAoaW5wdXRPYmplY3RzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBwcm9ncmFtbWFibGVUeEJ1aWxkZXIubWVyZ2VDb2lucyhtZXJnZWRPYmplY3QsIGlucHV0T2JqZWN0cyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDcmVhdGUgYSBuZXcgY29pbiB3aXRoIHN0YWtpbmcgYmFsYW5jZSwgYmFzZWQgb24gdGhlIGNvaW5zIHVzZWQgYXMgZ2FzIHBheW1lbnQuXG4gICAgICAgIGNvbnN0IHN0YWtlZFdhbHMgPSB0aGlzLl9zdGFrZVdpdGhQb29sVHgubWFwKChyZXEpID0+IHtcbiAgICAgICAgICBjb25zdCBzcGxpdE9iamVjdCA9IHByb2dyYW1tYWJsZVR4QnVpbGRlci5zcGxpdENvaW5zKG1lcmdlZE9iamVjdCwgW1xuICAgICAgICAgICAgcHJvZ3JhbW1hYmxlVHhCdWlsZGVyLnB1cmUoTnVtYmVyKHJlcS5hbW91bnQpKSxcbiAgICAgICAgICBdKTtcbiAgICAgICAgICAvLyBTdGFrZSB0aGUgc3BsaXQgY29pbiB0byBhIHNwZWNpZmljIHZhbGlkYXRvciBhZGRyZXNzLlxuICAgICAgICAgIHJldHVybiBwcm9ncmFtbWFibGVUeEJ1aWxkZXIubW92ZUNhbGwoe1xuICAgICAgICAgICAgdGFyZ2V0OiBgJHt0aGlzLndhbHJ1c0NvbmZpZy5XQUxSVVNfUEtHX0lEfTo6JHt0aGlzLndhbHJ1c0NvbmZpZy5XQUxSVVNfU1RBS0lOR19NT0RVTEVfTkFNRX06OiR7dGhpcy53YWxydXNDb25maWcuV0FMUlVTX1NUQUtFX1dJVEhfUE9PTF9GVU5fTkFNRX1gLFxuICAgICAgICAgICAgYXJndW1lbnRzOiBbXG4gICAgICAgICAgICAgIHByb2dyYW1tYWJsZVR4QnVpbGRlci5vYmplY3QoSW5wdXRzLlNoYXJlZE9iamVjdFJlZih0aGlzLndhbHJ1c0NvbmZpZy5XQUxSVVNfU1RBS0lOR19PQkpFQ1QpKSxcbiAgICAgICAgICAgICAgc3BsaXRPYmplY3QsXG4gICAgICAgICAgICAgIHByb2dyYW1tYWJsZVR4QnVpbGRlci5vYmplY3QocmVxLnZhbGlkYXRvckFkZHJlc3MpLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9IGFzIHVua25vd24gYXMgTW92ZUNhbGxUcmFuc2FjdGlvbik7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHByb2dyYW1tYWJsZVR4QnVpbGRlci50cmFuc2Zlck9iamVjdHMoc3Rha2VkV2FscywgcHJvZ3JhbW1hYmxlVHhCdWlsZGVyLm9iamVjdCh0aGlzLl9zZW5kZXIpKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYHVuc3VwcG9ydGVkIHRhcmdldCBtZXRob2RgKTtcbiAgICB9XG5cbiAgICBjb25zdCB0eERhdGEgPSBwcm9ncmFtbWFibGVUeEJ1aWxkZXIuYmxvY2tEYXRhO1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiB0aGlzLl90eXBlLFxuICAgICAgc2VuZGVyOiB0aGlzLl9zZW5kZXIsXG4gICAgICB0eDoge1xuICAgICAgICBpbnB1dHM6IFsuLi50eERhdGEuaW5wdXRzXSxcbiAgICAgICAgdHJhbnNhY3Rpb25zOiBbLi4udHhEYXRhLnRyYW5zYWN0aW9uc10sXG4gICAgICB9LFxuICAgICAgZ2FzRGF0YToge1xuICAgICAgICAuLi50aGlzLl9nYXNEYXRhLFxuICAgICAgICBwYXltZW50OiB0aGlzLl9nYXNEYXRhLnBheW1lbnQuc2xpY2UoMCwgTUFYX0dBU19PQkpFQ1RTIC0gMSksXG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,52 @@
1
+ import { BaseKey, PublicKey as BasePublicKey, Signature, TransactionType } from '@bitgo-beta/sdk-core';
2
+ import { WalrusStakingProgrammableTransaction, SuiTransaction, TransactionExplanation, TxData } from './iface';
3
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
4
+ import { Buffer } from 'buffer';
5
+ import { Transaction } from './transaction';
6
+ export declare class WalrusStakingTransaction extends Transaction<WalrusStakingProgrammableTransaction> {
7
+ constructor(_coinConfig: Readonly<CoinConfig>);
8
+ get suiTransaction(): SuiTransaction<WalrusStakingProgrammableTransaction>;
9
+ setSuiTransaction(tx: SuiTransaction<WalrusStakingProgrammableTransaction>): void;
10
+ addSignature(publicKey: BasePublicKey, signature: Buffer): void;
11
+ get suiSignature(): Signature;
12
+ /** @inheritdoc */
13
+ canSign(key: BaseKey): boolean;
14
+ /** @inheritdoc */
15
+ toBroadcastFormat(): string;
16
+ /** @inheritdoc */
17
+ toJson(): TxData;
18
+ /** @inheritDoc */
19
+ explainTransaction(): TransactionExplanation;
20
+ /**
21
+ * Set the transaction type.
22
+ *
23
+ * @param {TransactionType} transactionType The transaction type to be set.
24
+ */
25
+ transactionType(transactionType: TransactionType): void;
26
+ /**
27
+ * Load the input and output data on this transaction.
28
+ */
29
+ loadInputsAndOutputs(): void;
30
+ /**
31
+ * Sets this transaction payload
32
+ *
33
+ * @param {string} rawTransaction
34
+ */
35
+ fromRawTransaction(rawTransaction: string): void;
36
+ /**
37
+ * Helper function for serialize() to get the correct txData with transaction type
38
+ *
39
+ * @return {TxData}
40
+ */
41
+ getTxData(): TxData;
42
+ /**
43
+ * Returns a complete explanation for a staking transaction
44
+ *
45
+ * @param {TxData} json The transaction data in json format
46
+ * @param {TransactionExplanation} explanationResult The transaction explanation to be completed
47
+ * @returns {TransactionExplanation}
48
+ */
49
+ explainAddDelegationTransaction(json: TxData, explanationResult: TransactionExplanation): TransactionExplanation;
50
+ private getInputObjectsFromTx;
51
+ }
52
+ //# sourceMappingURL=walrusStakingTransaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walrusStakingTransaction.d.ts","sourceRoot":"","sources":["../../../src/lib/walrusStakingTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAGP,SAAS,IAAI,aAAa,EAC1B,SAAS,EAET,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,oCAAoC,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC/G,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAc5C,qBAAa,wBAAyB,SAAQ,WAAW,CAAC,oCAAoC,CAAC;gBACjF,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,IAAI,cAAc,IAAI,cAAc,CAAC,oCAAoC,CAAC,CAEzE;IAED,iBAAiB,CAAC,EAAE,EAAE,cAAc,CAAC,oCAAoC,CAAC,GAAG,IAAI;IAIjF,YAAY,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAM/D,IAAI,YAAY,IAAI,SAAS,CAE5B;IAED,kBAAkB;IAClB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAI9B,kBAAkB;IAClB,iBAAiB,IAAI,MAAM;IAO3B,kBAAkB;IAClB,MAAM,IAAI,MAAM;IAgBhB,kBAAkB;IAClB,kBAAkB,IAAI,sBAAsB;IAmC5C;;;;OAIG;IACH,eAAe,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IAIvD;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAsB5B;;;;OAIG;IACH,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAchD;;;;OAIG;IACH,SAAS,IAAI,MAAM;IA0CnB;;;;;;OAMG;IACH,+BAA+B,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,GAAG,sBAAsB;IAgChH,OAAO,CAAC,qBAAqB;CA2B9B"}