@bitgo/abstract-cosmos 1.1.1 → 1.2.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,qBAAa,qBAAsB,SAAQ,wBAAwB;IACjE,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC;gBAElB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,WAAW;IAKjE,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,kBAAkB;IAClB,QAAQ,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI;CAU5C"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CosmosTransferBuilder = void 0;
4
+ const sdk_core_1 = require("@bitgo/sdk-core");
5
+ const constants = require("./constants");
6
+ const transactionBuilder_1 = require("./transactionBuilder");
7
+ class CosmosTransferBuilder extends transactionBuilder_1.CosmosTransactionBuilder {
8
+ constructor(_coinConfig, utils) {
9
+ super(_coinConfig, utils);
10
+ this._utils = utils;
11
+ }
12
+ get transactionType() {
13
+ return sdk_core_1.TransactionType.Send;
14
+ }
15
+ /** @inheritdoc */
16
+ messages(sendMessages) {
17
+ this._messages = sendMessages.map((sendMessage) => {
18
+ this._utils.validateSendMessage(sendMessage);
19
+ return {
20
+ typeUrl: constants.sendMsgTypeUrl,
21
+ value: sendMessage,
22
+ };
23
+ });
24
+ return this;
25
+ }
26
+ }
27
+ exports.CosmosTransferBuilder = CosmosTransferBuilder;
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOENBQWtEO0FBR2xELHlDQUF5QztBQUV6Qyw2REFBZ0U7QUFHaEUsTUFBYSxxQkFBc0IsU0FBUSw2Q0FBd0I7SUFHakUsWUFBWSxXQUFpQyxFQUFFLEtBQWtCO1FBQy9ELEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsUUFBUSxDQUFDLFlBQTJCO1FBQ2xDLElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ2hELElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDN0MsT0FBTztnQkFDTCxPQUFPLEVBQUUsU0FBUyxDQUFDLGNBQWM7Z0JBQ2pDLEtBQUssRUFBRSxXQUFXO2FBQ25CLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGO0FBdkJELHNEQXVCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuXG5pbXBvcnQgKiBhcyBjb25zdGFudHMgZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgU2VuZE1lc3NhZ2UgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IENvc21vc1RyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IENvc21vc1V0aWxzIH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBDb3Ntb3NUcmFuc2ZlckJ1aWxkZXIgZXh0ZW5kcyBDb3Ntb3NUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX3V0aWxzOiBDb3Ntb3NVdGlscztcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4sIHV0aWxzOiBDb3Ntb3NVdGlscykge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnLCB1dGlscyk7XG4gICAgdGhpcy5fdXRpbHMgPSB1dGlscztcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TZW5kO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIG1lc3NhZ2VzKHNlbmRNZXNzYWdlczogU2VuZE1lc3NhZ2VbXSk6IHRoaXMge1xuICAgIHRoaXMuX21lc3NhZ2VzID0gc2VuZE1lc3NhZ2VzLm1hcCgoc2VuZE1lc3NhZ2UpID0+IHtcbiAgICAgIHRoaXMuX3V0aWxzLnZhbGlkYXRlU2VuZE1lc3NhZ2Uoc2VuZE1lc3NhZ2UpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZVVybDogY29uc3RhbnRzLnNlbmRNc2dUeXBlVXJsLFxuICAgICAgICB2YWx1ZTogc2VuZE1lc3NhZ2UsXG4gICAgICB9O1xuICAgIH0pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG4iXX0=
@@ -1,8 +1,10 @@
1
+ /// <reference types="node" />
1
2
  import { BaseUtils, TransactionType } from '@bitgo/sdk-core';
2
3
  import { DecodedTxRaw } from '@cosmjs/proto-signing';
4
+ import { Coin } from '@cosmjs/stargate';
3
5
  import { SignDoc, TxRaw } from 'cosmjs-types/cosmos/tx/v1beta1/tx';
4
- import { CosmosLikeTransaction, FeeData, MessageData } from './iface';
5
- export declare class CosmosLikeUtils implements BaseUtils {
6
+ import { CosmosLikeTransaction, DelegateOrUndelegeteMessage, FeeData, MessageData, SendMessage, WithdrawDelegatorRewardsMessage } from './iface';
7
+ export declare class CosmosUtils implements BaseUtils {
6
8
  private registry;
7
9
  /** @inheritdoc */
8
10
  isValidBlockId(hash: string): boolean;
@@ -43,6 +45,10 @@ export declare class CosmosLikeUtils implements BaseUtils {
43
45
  * @returns {EncodeObject[]} messages along with type url
44
46
  */
45
47
  private getEncodedMessagesFromDecodedTx;
48
+ /**
49
+ * Checks the txn sequence is valid or not
50
+ * @param {number} sequence
51
+ */
46
52
  validateSequence(sequence: number): void;
47
53
  /**
48
54
  * Pulls the sequence number from a DecodedTxRaw AuthInfo property
@@ -53,7 +59,7 @@ export declare class CosmosLikeUtils implements BaseUtils {
53
59
  /**
54
60
  * Pulls the typeUrl from the encoded message of a DecodedTxRaw
55
61
  * @param {DecodedTxRaw} decodedTx
56
- * @returns {string} osmosis proto type url
62
+ * @returns {string} cosmos proto type url
57
63
  */
58
64
  getTypeUrlFromDecodedTx(decodedTx: DecodedTxRaw): string;
59
65
  /**
@@ -93,7 +99,7 @@ export declare class CosmosLikeUtils implements BaseUtils {
93
99
  */
94
100
  getWithdrawDelegatorRewardsMessageDataFromDecodedTx(decodedTx: DecodedTxRaw): MessageData[];
95
101
  /**
96
- * Determines bitgo transaction type based on osmosis proto type url
102
+ * Determines bitgo transaction type based on cosmos proto type url
97
103
  * @param {string} typeUrl
98
104
  * @returns {TransactionType | undefined} TransactionType if url is supported else undefined
99
105
  */
@@ -122,14 +128,11 @@ export declare class CosmosLikeUtils implements BaseUtils {
122
128
  * @returns {boolean} true if transaction is signed else false
123
129
  */
124
130
  isSignedRawTx(rawTransaction: string): boolean;
125
- validatePublicKey(publicKey: string | undefined): void;
126
131
  /**
127
- * Validates if the address matches with regex @see accountAddressRegex
128
- *
129
- * @param {string} address
130
- * @returns {boolean} - the validation result
132
+ * Returns whether or not the string is a valid protocol public key
133
+ * @param {string | undefined} publicKey - the public key to be validated
131
134
  */
132
- isValidAddress(address: string): boolean;
135
+ validatePublicKey(publicKey: string | undefined): void;
133
136
  /**
134
137
  * Creates a sign doc from an cosmos like transaction @see CosmosLikeTransaction
135
138
  * @Precondition cosmosLikeTransaction.accountNumber and cosmosLikeTransaction.chainId must be defined
@@ -137,8 +140,109 @@ export declare class CosmosLikeUtils implements BaseUtils {
137
140
  * @returns {SignDoc} sign doc
138
141
  */
139
142
  createSignDoc(cosmosLikeTransaction: CosmosLikeTransaction, accountNumber: number | undefined, chainId: string | undefined): SignDoc;
143
+ /**
144
+ * Returns whether or not the string is a valid hex
145
+ * @param hexString - hex string format
146
+ * @returns {boolean} true if string is hex else false
147
+ */
140
148
  isValidHexString(hexString: string): boolean;
149
+ /**
150
+ * Validates the WithdrawDelegatorRewardsMessage
151
+ * @param {WithdrawDelegatorRewardsMessage} withdrawRewardsMessage - The WithdrawDelegatorRewardsMessage to validate.
152
+ * @throws {InvalidTransactionError} Throws an error if the validatorAddress or delegatorAddress is invalid or missing.
153
+ */
154
+ validateWithdrawRewardsMessage(withdrawRewardsMessage: WithdrawDelegatorRewardsMessage): void;
155
+ /**
156
+ * Helper method to check if the specified properties in an object are missing or null.
157
+ * @param {Object} obj - The object to check.
158
+ * @param {string[]} keys - An array of property keys to check.
159
+ * @throws {Error} Throws an error if any of the specified properties are missing or null.
160
+ */
161
+ isObjPropertyNull(obj: {
162
+ [key: string]: any;
163
+ }, keys: Array<string>): void;
164
+ /**
165
+ * Validates the DelegateOrUndelegeteMessage
166
+ * @param {DelegateOrUndelegeteMessage} delegateMessage - The DelegateOrUndelegeteMessage to validate.
167
+ * @throws {InvalidTransactionError} Throws an error if the validatorAddress, delegatorAddress, or amount is invalid or missing.
168
+ */
169
+ validateDelegateOrUndelegateMessage(delegateMessage: DelegateOrUndelegeteMessage): void;
170
+ /**
171
+ * Validates the MessageData
172
+ * @param {MessageData} messageData - The MessageData to validate.
173
+ * @throws {InvalidTransactionError} Throws an error if the messageData is invalid or missing required fields.
174
+ */
175
+ validateMessageData(messageData: MessageData): void;
176
+ /**
177
+ * Validates the Cosmos-like transaction.
178
+ * @param {CosmosLikeTransaction} tx - The transaction to validate.
179
+ * @throws {InvalidTransactionError} Throws an error if the transaction is invalid or missing required fields.
180
+ */
181
+ validateTransaction(tx: CosmosLikeTransaction): void;
182
+ /**
183
+ * Creates a Cosmos-like transaction.
184
+ * @param {number} sequence - The sender address sequence number for the transaction.
185
+ * @param {MessageData[]} messages - The array of message data for the transaction.
186
+ * @param {FeeData} gasBudget - The fee data for the transaction.
187
+ * @param {string} [publicKey] - The public key associated with the sender.
188
+ * @param {string} [memo] - The memo for the transaction.
189
+ * @returns {CosmosLikeTransaction} Returns the created Cosmos-like transaction.
190
+ * @throws {InvalidTransactionError} Throws an error if the created transaction is invalid.
191
+ */
192
+ createTransaction(sequence: number, messages: MessageData[], gasBudget: FeeData, publicKey?: string, memo?: string): CosmosLikeTransaction;
193
+ /**
194
+ * Creates a Cosmos-like transaction with a hash.
195
+ * @param {number} sequence - The sender address sequence number for the transaction.
196
+ * @param {MessageData[]} messages - The array of message data for the transaction.
197
+ * @param {FeeData} gasBudget - The fee data for the transaction.
198
+ * @param {string} [publicKey] - The public key associated with the transaction.
199
+ * @param {Buffer} [signature] - The signature for the transaction.
200
+ * @param {string} [memo] - The memo for the transaction.
201
+ * @returns {CosmosLikeTransaction} Returns the created Cosmos-like transaction with the hash and signature if provided.
202
+ */
203
+ createTransactionWithHash(sequence: number, messages: MessageData[], gasBudget: FeeData, publicKey?: string, signature?: Buffer, memo?: string): CosmosLikeTransaction;
204
+ /**
205
+ * Deserializes base64 enocded raw transaction string into @see CosmosLikeTransaction
206
+ * @param {string} rawTx base64 enocded raw transaction string
207
+ * @returns {CosmosLikeTransaction} Deserialized cosmosLikeTransaction
208
+ */
209
+ deserializeTransaction(rawTx: string): CosmosLikeTransaction;
210
+ /**
211
+ * Validates an array of coin amounts.
212
+ * @param {Coin[]} amountArray - The array of coin amounts to validate.
213
+ */
214
+ validateAmountData(amountArray: Coin[]): void;
215
+ /**
216
+ * Validates the gas limit and gas amount for a transaction.
217
+ * @param {FeeData} gasBudget - The gas budget to validate.
218
+ * @throws {InvalidTransactionError} Throws an error if the gas budget is invalid.
219
+ */
220
+ validateGasBudget(gasBudget: FeeData): void;
221
+ /**
222
+ * Validates a send message for a transaction.
223
+ * @param {SendMessage} sendMessage - The send message to validate.
224
+ * @throws {InvalidTransactionError} Throws an error if the send message is invalid.
225
+ */
226
+ validateSendMessage(sendMessage: SendMessage): void;
227
+ /**
228
+ * Validates a coin amount.
229
+ * @param {Coin} amount - The coin amount to validate.
230
+ * @throws {InvalidTransactionError} Throws an error if the coin amount is invalid.
231
+ */
232
+ validateAmount(amount: Coin): void;
233
+ /**
234
+ * Validates if the address matches with regex @see accountAddressRegex
235
+ * @param {string} address
236
+ * @returns {boolean} - the validation result
237
+ */
238
+ isValidValidatorAddress(address: string): boolean;
239
+ /**
240
+ * Validates if the address matches with regex @see accountAddressRegex
241
+ * @param {string} address
242
+ * @returns {boolean} - the validation result
243
+ */
244
+ isValidAddress(address: string): boolean;
141
245
  }
142
- declare const utils: CosmosLikeUtils;
246
+ declare const utils: CosmosUtils;
143
247
  export default utils;
144
248
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAIT,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,YAAY,EAQb,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAInE,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtE,qBAAa,eAAgB,YAAW,SAAS;IAC/C,OAAO,CAAC,QAAQ,CAA2C;IAE3D,kBAAkB;IAClB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIrC,kBAAkB;IAClB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IASvC,kBAAkB;IAClB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAStC,kBAAkB;IAClB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI5C,kBAAkB;IAClB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI3C;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAOtC;;;;;OAKG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO;IAS1C;;;;OAIG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAQtC;;;;OAIG;IACH,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY;IAQtD;;;;OAIG;IACH,OAAO,CAAC,+BAA+B;IAIvC,gBAAgB,CAAC,QAAQ,EAAE,MAAM;IAMjC;;;;OAIG;IACH,wBAAwB,CAAC,SAAS,EAAE,YAAY,GAAG,MAAM;IAIzD;;;;OAIG;IACH,uBAAuB,CAAC,SAAS,EAAE,YAAY,GAAG,MAAM;IAKxD;;;;OAIG;IACH,yBAAyB,CAAC,SAAS,EAAE,YAAY,GAAG,OAAO;IAO3D;;;;OAIG;IACH,yBAAyB,CAAC,SAAS,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS;IAQtE;;;;OAIG;IACH,SAAS,CAAC,+BAA+B,CAAC,SAAS,EAAE,YAAY,GAAG,WAAW,EAAE;IAcjF;;;;OAIG;IACH,+CAA+C,CAAC,SAAS,EAAE,YAAY,GAAG,WAAW,EAAE;IAcvF;;;;OAIG;IACH,0CAA0C,CAAC,SAAS,EAAE,YAAY,GAAG,WAAW,EAAE;IAalF;;;;OAIG;IACH,mDAAmD,CAAC,SAAS,EAAE,YAAY,GAAG,WAAW,EAAE;IAa3F;;;;OAIG;IACH,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAe3E;;;;;OAKG;IACH,oCAAoC,CAAC,qBAAqB,EAAE,qBAAqB,GAAG,KAAK;IAkCzF;;;;;;OAMG;IACH,iBAAiB,CACf,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE;QAAE,SAAS,EAAE,UAAU,CAAC;QAAC,aAAa,EAAE,UAAU,CAAA;KAAE,GAC/D,KAAK;IASR;;;;OAIG;IACH,aAAa,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO;IAQ9C,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS;IAU/C;;;;;OAKG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIxC;;;;;OAKG;IACH,aAAa,CACX,qBAAqB,EAAE,qBAAqB,EAC5C,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,OAAO;IAcV,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;CAG7C;AAED,QAAA,MAAM,KAAK,iBAAwB,CAAC;AAEpC,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"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"}