@bitgo-beta/sdk-coin-atom 1.1.2-alpha.4 → 1.1.2-alpha.400
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.
- package/dist/src/atom.d.ts +19 -21
- package/dist/src/atom.d.ts.map +1 -1
- package/dist/src/atom.js +33 -43
- package/dist/src/index.js +6 -2
- package/dist/src/lib/constants.d.ts +5 -5
- package/dist/src/lib/constants.d.ts.map +1 -1
- package/dist/src/lib/constants.js +10 -9
- package/dist/src/lib/index.d.ts +3 -5
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +33 -18
- package/dist/src/lib/keyPair.d.ts +3 -14
- package/dist/src/lib/keyPair.d.ts.map +1 -1
- package/dist/src/lib/keyPair.js +6 -52
- package/dist/src/lib/transactionBuilderFactory.d.ts +11 -11
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilderFactory.js +38 -16
- package/dist/src/lib/utils.d.ts +7 -84
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +49 -191
- package/dist/src/tatom.d.ts +0 -8
- package/dist/src/tatom.d.ts.map +1 -1
- package/dist/src/tatom.js +1 -13
- package/dist/test/integration/index.d.ts +2 -0
- package/dist/test/integration/index.d.ts.map +1 -0
- package/dist/test/integration/index.js +54 -0
- package/dist/test/resources/atom.d.ts +291 -0
- package/dist/test/resources/atom.d.ts.map +1 -0
- package/dist/test/resources/atom.js +471 -0
- package/dist/test/unit/atom.d.ts +2 -0
- package/dist/test/unit/atom.d.ts.map +1 -0
- package/dist/test/unit/atom.js +552 -0
- package/dist/test/unit/getBuilderFactory.d.ts +3 -0
- package/dist/test/unit/getBuilderFactory.d.ts.map +1 -0
- package/dist/test/unit/getBuilderFactory.js +10 -0
- package/dist/test/unit/keyPair.d.ts +2 -0
- package/dist/test/unit/keyPair.d.ts.map +1 -0
- package/dist/test/unit/keyPair.js +93 -0
- package/dist/test/unit/transaction.d.ts +2 -0
- package/dist/test/unit/transaction.d.ts.map +1 -0
- package/dist/test/unit/transaction.js +220 -0
- package/dist/test/unit/transactionBuilder/StakingActivateBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/StakingActivateBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/StakingActivateBuilder.js +171 -0
- package/dist/test/unit/transactionBuilder/StakingDeactivateBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/StakingDeactivateBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/StakingDeactivateBuilder.js +140 -0
- package/dist/test/unit/transactionBuilder/StakingRedelegateBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/StakingRedelegateBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/StakingRedelegateBuilder.js +93 -0
- package/dist/test/unit/transactionBuilder/StakingWithdrawRewardsBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/StakingWithdrawRewardsBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/StakingWithdrawRewardsBuilder.js +141 -0
- package/dist/test/unit/transactionBuilder/transactionBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/transactionBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/transactionBuilder.js +100 -0
- package/dist/test/unit/transactionBuilder/transferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/transferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/transferBuilder.js +241 -0
- package/dist/test/unit/utils.d.ts +2 -0
- package/dist/test/unit/utils.d.ts.map +1 -0
- package/dist/test/unit/utils.js +85 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +17 -13
- package/.eslintignore +0 -5
- package/.mocharc.yml +0 -8
- package/CHANGELOG.md +0 -51
- package/dist/src/lib/iface.d.ts +0 -31
- package/dist/src/lib/iface.d.ts.map +0 -1
- package/dist/src/lib/iface.js +0 -3
- package/dist/src/lib/transaction.d.ts +0 -46
- package/dist/src/lib/transaction.d.ts.map +0 -1
- package/dist/src/lib/transaction.js +0 -161
- package/dist/src/lib/transactionBuilder.d.ts +0 -76
- package/dist/src/lib/transactionBuilder.d.ts.map +0 -1
- package/dist/src/lib/transactionBuilder.js +0 -211
- package/dist/src/lib/transferBuilder.d.ts +0 -8
- package/dist/src/lib/transferBuilder.d.ts.map +0 -1
- package/dist/src/lib/transferBuilder.js +0 -15
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitgo-beta/sdk-coin-atom",
|
|
3
|
-
"version": "1.1.2-alpha.
|
|
3
|
+
"version": "1.1.2-alpha.400",
|
|
4
4
|
"description": "BitGo SDK coin library for Cosmos",
|
|
5
5
|
"main": "./dist/src/index.js",
|
|
6
6
|
"types": "./dist/src/index.d.ts",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"build": "yarn tsc --build --incremental --verbose .",
|
|
9
9
|
"fmt": "prettier --write .",
|
|
10
|
-
"check-fmt": "prettier --check
|
|
10
|
+
"check-fmt": "prettier --check '**/*.{ts,js,json}'",
|
|
11
11
|
"clean": "rm -r ./dist",
|
|
12
12
|
"lint": "eslint --quiet .",
|
|
13
13
|
"prepare": "npm run build",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"author": "BitGo SDK Team <sdkteam@bitgo.com>",
|
|
19
19
|
"license": "MIT",
|
|
20
20
|
"engines": {
|
|
21
|
-
"node": ">=
|
|
21
|
+
"node": ">=20 <23"
|
|
22
22
|
},
|
|
23
23
|
"repository": {
|
|
24
24
|
"type": "git",
|
|
@@ -40,19 +40,23 @@
|
|
|
40
40
|
]
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@bitgo-beta/
|
|
44
|
-
"@bitgo-beta/
|
|
45
|
-
"@bitgo-beta/
|
|
43
|
+
"@bitgo-beta/abstract-cosmos": "1.0.0-alpha.369",
|
|
44
|
+
"@bitgo-beta/sdk-core": "2.4.1-alpha.420",
|
|
45
|
+
"@bitgo-beta/sdk-lib-mpc": "8.2.1-alpha.376",
|
|
46
|
+
"@bitgo-beta/statics": "10.0.1-alpha.420",
|
|
46
47
|
"@cosmjs/amino": "^0.29.5",
|
|
47
48
|
"@cosmjs/encoding": "^0.29.5",
|
|
48
|
-
"@cosmjs/proto-signing": "^0.29.5",
|
|
49
49
|
"@cosmjs/stargate": "^0.29.5",
|
|
50
|
-
"bignumber.js": "^9.1.1"
|
|
51
|
-
"cosmjs-types": "^0.6.1"
|
|
50
|
+
"bignumber.js": "^9.1.1"
|
|
52
51
|
},
|
|
53
52
|
"devDependencies": {
|
|
54
|
-
"@bitgo-beta/sdk-api": "1.6.1-alpha.
|
|
55
|
-
"@bitgo-beta/sdk-test": "^1.
|
|
56
|
-
|
|
57
|
-
|
|
53
|
+
"@bitgo-beta/sdk-api": "1.6.1-alpha.420",
|
|
54
|
+
"@bitgo-beta/sdk-test": "^9.1.13",
|
|
55
|
+
"@types/lodash": "^4.14.183",
|
|
56
|
+
"axios": "^1.12.0"
|
|
57
|
+
},
|
|
58
|
+
"gitHead": "188805606e62b01d4e13d82477939e1c909d4f7e",
|
|
59
|
+
"files": [
|
|
60
|
+
"dist"
|
|
61
|
+
]
|
|
58
62
|
}
|
package/.mocharc.yml
DELETED
package/CHANGELOG.md
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
# Change Log
|
|
2
|
-
|
|
3
|
-
All notable changes to this project will be documented in this file.
|
|
4
|
-
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
|
-
|
|
6
|
-
# [2.1.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-atom@2.0.0...@bitgo/sdk-coin-atom@2.1.0) (2023-02-17)
|
|
7
|
-
|
|
8
|
-
### Features
|
|
9
|
-
|
|
10
|
-
- **sdk-coin-atom:** add function to validate amount data ([8ab8054](https://github.com/BitGo/BitGoJS/commit/8ab805403f9e636dc4e32a7ea6302b6d9e5b205e))
|
|
11
|
-
|
|
12
|
-
# [2.0.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-atom@1.1.0...@bitgo/sdk-coin-atom@2.0.0) (2023-02-16)
|
|
13
|
-
|
|
14
|
-
### Bug Fixes
|
|
15
|
-
|
|
16
|
-
- **sdk-coin-atom:** fix get address method to generate unique address ([c75378b](https://github.com/BitGo/BitGoJS/commit/c75378b538b0b1002cc3195f29677fcb0e970208))
|
|
17
|
-
|
|
18
|
-
### Code Refactoring
|
|
19
|
-
|
|
20
|
-
- **sdk-coin-atom:** only decode sequence from raw atom tx ([84c8370](https://github.com/BitGo/BitGoJS/commit/84c8370bdeb1330e8801c416b9170a6329884c46))
|
|
21
|
-
|
|
22
|
-
### Features
|
|
23
|
-
|
|
24
|
-
- **sdk-coin-atom:** add Atom transaction builder skeleton ([94bf5c7](https://github.com/BitGo/BitGoJS/commit/94bf5c7bd1bbd10619fc99a21498746e04f2e5cd))
|
|
25
|
-
- **sdk-coin-atom:** implement basic util methods for atom ([ebd6a54](https://github.com/BitGo/BitGoJS/commit/ebd6a5400a976f6d2a0cd810c590147047be8680))
|
|
26
|
-
- **sdk-coin-atom:** skeleton for transaction class ATOM ([69f7c7e](https://github.com/BitGo/BitGoJS/commit/69f7c7e08e4f15fb16de545b1a816054fdaf8992))
|
|
27
|
-
|
|
28
|
-
### BREAKING CHANGES
|
|
29
|
-
|
|
30
|
-
- **sdk-coin-atom:** Updates the AtomTransaction schema to only
|
|
31
|
-
use the sequence number, not the entire explicitSignerData property.
|
|
32
|
-
TICKET: BG-67573
|
|
33
|
-
|
|
34
|
-
# [1.2.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-atom@1.1.0...@bitgo/sdk-coin-atom@1.2.0) (2023-02-08)
|
|
35
|
-
|
|
36
|
-
### Features
|
|
37
|
-
|
|
38
|
-
- **sdk-coin-atom:** add Atom transaction builder skeleton ([94bf5c7](https://github.com/BitGo/BitGoJS/commit/94bf5c7bd1bbd10619fc99a21498746e04f2e5cd))
|
|
39
|
-
- **sdk-coin-atom:** implement basic util methods for atom ([ebd6a54](https://github.com/BitGo/BitGoJS/commit/ebd6a5400a976f6d2a0cd810c590147047be8680))
|
|
40
|
-
- **sdk-coin-atom:** skeleton for transaction class ATOM ([69f7c7e](https://github.com/BitGo/BitGoJS/commit/69f7c7e08e4f15fb16de545b1a816054fdaf8992))
|
|
41
|
-
|
|
42
|
-
## [1.1.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-atom@1.1.0...@bitgo/sdk-coin-atom@1.1.1) (2023-01-30)
|
|
43
|
-
|
|
44
|
-
**Note:** Version bump only for package @bitgo/sdk-coin-atom
|
|
45
|
-
|
|
46
|
-
# 1.1.0 (2023-01-25)
|
|
47
|
-
|
|
48
|
-
### Features
|
|
49
|
-
|
|
50
|
-
- **sdk-coin-atom:** add keyPair management to cosmos ([9549a5e](https://github.com/BitGo/BitGoJS/commit/9549a5efde08c0ce13ab28149862499ad5f3eb08))
|
|
51
|
-
- **sdk-coin-atom:** create atom module ([88d9971](https://github.com/BitGo/BitGoJS/commit/88d99714275e98c3997451776c9eec3b21645ffa))
|
package/dist/src/lib/iface.d.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { TransactionExplanation as BaseTransactionExplanation, TransactionType } from '@bitgo-beta/sdk-core';
|
|
2
|
-
import { Coin } from '@cosmjs/stargate';
|
|
3
|
-
export interface TransactionExplanation extends BaseTransactionExplanation {
|
|
4
|
-
type: TransactionType;
|
|
5
|
-
}
|
|
6
|
-
export interface MessageData {
|
|
7
|
-
typeUrl: string;
|
|
8
|
-
value: {
|
|
9
|
-
fromAddress: string;
|
|
10
|
-
toAddress: string;
|
|
11
|
-
amount: Coin[];
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
export interface GasFeeLimitData {
|
|
15
|
-
amount: Coin[];
|
|
16
|
-
gas: number;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* The transaction data returned from the toJson() function of a transaction
|
|
20
|
-
*/
|
|
21
|
-
export interface TxData extends AtomTransaction {
|
|
22
|
-
id?: string;
|
|
23
|
-
}
|
|
24
|
-
export interface AtomTransaction {
|
|
25
|
-
type: string;
|
|
26
|
-
signerAddress: string;
|
|
27
|
-
sequence: number;
|
|
28
|
-
sendMessages: MessageData[];
|
|
29
|
-
gasBudget: GasFeeLimitData;
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=iface.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,IAAI,0BAA0B,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,MAAM,WAAW,sBAAuB,SAAQ,0BAA0B;IACxE,IAAI,EAAE,eAAe,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,IAAI,EAAE,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,IAAI,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,MAAO,SAAQ,eAAe;IAC7C,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,SAAS,EAAE,eAAe,CAAC;CAC5B"}
|
package/dist/src/lib/iface.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGFzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBDb2luIH0gZnJvbSAnQGNvc21qcy9zdGFyZ2F0ZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgdHlwZTogVHJhbnNhY3Rpb25UeXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2VEYXRhIHtcbiAgdHlwZVVybDogc3RyaW5nO1xuICB2YWx1ZToge1xuICAgIGZyb21BZGRyZXNzOiBzdHJpbmc7XG4gICAgdG9BZGRyZXNzOiBzdHJpbmc7XG4gICAgYW1vdW50OiBDb2luW107XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2FzRmVlTGltaXREYXRhIHtcbiAgYW1vdW50OiBDb2luW107XG4gIGdhczogbnVtYmVyOyAvLyBnYXMgbGltaXRcbn1cblxuLyoqXG4gKiBUaGUgdHJhbnNhY3Rpb24gZGF0YSByZXR1cm5lZCBmcm9tIHRoZSB0b0pzb24oKSBmdW5jdGlvbiBvZiBhIHRyYW5zYWN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHhEYXRhIGV4dGVuZHMgQXRvbVRyYW5zYWN0aW9uIHtcbiAgaWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXRvbVRyYW5zYWN0aW9uIHtcbiAgdHlwZTogc3RyaW5nO1xuICBzaWduZXJBZGRyZXNzOiBzdHJpbmc7XG4gIHNlcXVlbmNlOiBudW1iZXI7XG4gIHNlbmRNZXNzYWdlczogTWVzc2FnZURhdGFbXTtcbiAgZ2FzQnVkZ2V0OiBHYXNGZWVMaW1pdERhdGE7XG59XG4iXX0=
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { BaseKey, BaseTransaction, PublicKey as BasePublicKey, Signature, TransactionType } from '@bitgo-beta/sdk-core';
|
|
3
|
-
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
4
|
-
import { AtomTransaction, TransactionExplanation, TxData } from './iface';
|
|
5
|
-
export declare class Transaction extends BaseTransaction {
|
|
6
|
-
private _atomTransaction;
|
|
7
|
-
private _signature;
|
|
8
|
-
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
9
|
-
get atomTransaction(): AtomTransaction;
|
|
10
|
-
setAtomTransaction(tx: AtomTransaction): void;
|
|
11
|
-
/** @inheritDoc **/
|
|
12
|
-
get id(): string;
|
|
13
|
-
addSignature(publicKey: BasePublicKey, signature: Buffer): void;
|
|
14
|
-
get atomSignature(): Signature;
|
|
15
|
-
/** @inheritdoc */
|
|
16
|
-
canSign(key: BaseKey): boolean;
|
|
17
|
-
/** @inheritdoc */
|
|
18
|
-
toBroadcastFormat(): string;
|
|
19
|
-
/** @inheritdoc */
|
|
20
|
-
toJson(): TxData;
|
|
21
|
-
/** @inheritDoc */
|
|
22
|
-
explainTransaction(): TransactionExplanation;
|
|
23
|
-
/**
|
|
24
|
-
* Set the transaction type.
|
|
25
|
-
*
|
|
26
|
-
* @param {TransactionType} transactionType The transaction type to be set.
|
|
27
|
-
*/
|
|
28
|
-
transactionType(transactionType: TransactionType): void;
|
|
29
|
-
/**
|
|
30
|
-
* Sets this transaction payload
|
|
31
|
-
*
|
|
32
|
-
* @param rawTransaction
|
|
33
|
-
*/
|
|
34
|
-
fromRawTransaction(rawTransaction: string): void;
|
|
35
|
-
serialize(): string;
|
|
36
|
-
static deserializeAtomTransaction(rawTx: string): AtomTransaction;
|
|
37
|
-
/**
|
|
38
|
-
* Returns a complete explanation for a transfer transaction
|
|
39
|
-
* Currently only supports one message per transfer.
|
|
40
|
-
* @param {TxData} json The transaction data in json format
|
|
41
|
-
* @param {TransactionExplanation} explanationResult The transaction explanation to be completed
|
|
42
|
-
* @returns {TransactionExplanation}
|
|
43
|
-
*/
|
|
44
|
-
explainTransferTransaction(json: TxData, explanationResult: TransactionExplanation): TransactionExplanation;
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=transaction.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/lib/transaction.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,OAAO,EACP,eAAe,EAGf,SAAS,IAAI,aAAa,EAC1B,SAAS,EAET,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAM7D,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAG1E,qBAAa,WAAY,SAAQ,eAAe;IAC9C,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,UAAU,CAAY;gBAElB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,IAAI,eAAe,IAAI,eAAe,CAErC;IAED,kBAAkB,CAAC,EAAE,EAAE,eAAe,GAAG,IAAI;IAI7C,mBAAmB;IACnB,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,YAAY,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAM/D,IAAI,aAAa,IAAI,SAAS,CAE7B;IAED,kBAAkB;IAClB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAI9B,kBAAkB;IAClB,iBAAiB,IAAI,MAAM;IAO3B,kBAAkB;IAClB,MAAM,IAAI,MAAM;IAehB,kBAAkB;IAClB,kBAAkB,IAAI,sBAAsB;IAwB5C;;;;OAIG;IACH,eAAe,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IAIvD;;;;OAIG;IACH,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAahD,SAAS,IAAI,MAAM;IASnB,MAAM,CAAC,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe;IAqBjE;;;;;;OAMG;IACH,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,GAAG,sBAAsB;CAc5G"}
|
|
@@ -1,161 +0,0 @@
|
|
|
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.Transaction = void 0;
|
|
7
|
-
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
8
|
-
const amino_1 = require("@cosmjs/amino");
|
|
9
|
-
const encoding_1 = require("@cosmjs/encoding");
|
|
10
|
-
const proto_signing_1 = require("@cosmjs/proto-signing");
|
|
11
|
-
const constants_1 = require("./constants");
|
|
12
|
-
const utils_1 = __importDefault(require("./utils"));
|
|
13
|
-
class Transaction extends sdk_core_1.BaseTransaction {
|
|
14
|
-
constructor(_coinConfig) {
|
|
15
|
-
super(_coinConfig);
|
|
16
|
-
}
|
|
17
|
-
get atomTransaction() {
|
|
18
|
-
return this._atomTransaction;
|
|
19
|
-
}
|
|
20
|
-
setAtomTransaction(tx) {
|
|
21
|
-
this._atomTransaction = tx;
|
|
22
|
-
}
|
|
23
|
-
/** @inheritDoc **/
|
|
24
|
-
get id() {
|
|
25
|
-
return this._id || 'UNAVAILABLE_TEXT';
|
|
26
|
-
}
|
|
27
|
-
addSignature(publicKey, signature) {
|
|
28
|
-
this._signatures.push(signature.toString('hex'));
|
|
29
|
-
this._signature = { publicKey, signature };
|
|
30
|
-
this.serialize();
|
|
31
|
-
}
|
|
32
|
-
get atomSignature() {
|
|
33
|
-
return this._signature;
|
|
34
|
-
}
|
|
35
|
-
/** @inheritdoc */
|
|
36
|
-
canSign(key) {
|
|
37
|
-
return true;
|
|
38
|
-
}
|
|
39
|
-
/** @inheritdoc */
|
|
40
|
-
toBroadcastFormat() {
|
|
41
|
-
if (!this._atomTransaction) {
|
|
42
|
-
throw new sdk_core_1.InvalidTransactionError('Empty transaction');
|
|
43
|
-
}
|
|
44
|
-
return this.serialize();
|
|
45
|
-
}
|
|
46
|
-
/** @inheritdoc */
|
|
47
|
-
toJson() {
|
|
48
|
-
if (!this._atomTransaction) {
|
|
49
|
-
throw new sdk_core_1.ParseTransactionError('Empty transaction');
|
|
50
|
-
}
|
|
51
|
-
const tx = this._atomTransaction;
|
|
52
|
-
return {
|
|
53
|
-
id: this._id,
|
|
54
|
-
type: tx.type,
|
|
55
|
-
signerAddress: tx.signerAddress,
|
|
56
|
-
sequence: tx.sequence,
|
|
57
|
-
sendMessages: tx.sendMessages,
|
|
58
|
-
gasBudget: tx.gasBudget,
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
/** @inheritDoc */
|
|
62
|
-
explainTransaction() {
|
|
63
|
-
const result = this.toJson();
|
|
64
|
-
const displayOrder = ['id', 'outputs', 'outputAmount', 'changeOutputs', 'changeAmount', 'fee', 'type'];
|
|
65
|
-
const outputs = [];
|
|
66
|
-
const explanationResult = {
|
|
67
|
-
displayOrder,
|
|
68
|
-
id: this.id,
|
|
69
|
-
outputs,
|
|
70
|
-
outputAmount: '0',
|
|
71
|
-
changeOutputs: [],
|
|
72
|
-
changeAmount: '0',
|
|
73
|
-
fee: { fee: this.atomTransaction.gasBudget.gas.toString() },
|
|
74
|
-
type: this.type,
|
|
75
|
-
};
|
|
76
|
-
switch (this.type) {
|
|
77
|
-
case sdk_core_1.TransactionType.Send:
|
|
78
|
-
return this.explainTransferTransaction(result, explanationResult);
|
|
79
|
-
default:
|
|
80
|
-
throw new sdk_core_1.InvalidTransactionError('Transaction type not supported');
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Set the transaction type.
|
|
85
|
-
*
|
|
86
|
-
* @param {TransactionType} transactionType The transaction type to be set.
|
|
87
|
-
*/
|
|
88
|
-
transactionType(transactionType) {
|
|
89
|
-
this._type = transactionType;
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Sets this transaction payload
|
|
93
|
-
*
|
|
94
|
-
* @param rawTransaction
|
|
95
|
-
*/
|
|
96
|
-
fromRawTransaction(rawTransaction) {
|
|
97
|
-
try {
|
|
98
|
-
this._atomTransaction = Transaction.deserializeAtomTransaction(rawTransaction);
|
|
99
|
-
if (utils_1.default.isSignedRawTx(rawTransaction)) {
|
|
100
|
-
const signerInfo = utils_1.default.getSignerInfoFromRawSignedTx(rawTransaction);
|
|
101
|
-
this.addSignature(signerInfo.pubKey, signerInfo.signature);
|
|
102
|
-
}
|
|
103
|
-
this._type = sdk_core_1.TransactionType.Send;
|
|
104
|
-
}
|
|
105
|
-
catch (e) {
|
|
106
|
-
throw e;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
serialize() {
|
|
110
|
-
// TODO BG-67811 - Support unsigned txs serializing to pass to HSM
|
|
111
|
-
const pubKey = proto_signing_1.encodePubkey(amino_1.encodeSecp256k1Pubkey(encoding_1.fromHex(this.atomSignature.publicKey.pub)));
|
|
112
|
-
const signDoc = utils_1.default.createSignDocFromAtomTransaction(pubKey, this.atomTransaction);
|
|
113
|
-
// If we do have signatures, add them and return the base64 serialized signed tx data
|
|
114
|
-
const signedRawTx = utils_1.default.createSignedTxRaw(this.atomSignature, signDoc);
|
|
115
|
-
return utils_1.default.createBase64SignedTxBytesFromSignedTxRaw(signedRawTx);
|
|
116
|
-
}
|
|
117
|
-
static deserializeAtomTransaction(rawTx) {
|
|
118
|
-
const decodedTx = utils_1.default.getDecodedTxFromRawBase64(rawTx);
|
|
119
|
-
let type;
|
|
120
|
-
const typeUrl = utils_1.default.getTypeUrlFromDecodedTx(decodedTx);
|
|
121
|
-
if (typeUrl === constants_1.sendMsgType) {
|
|
122
|
-
type = constants_1.AtomTransactionType.Pay;
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
throw new Error('Transaction type not supported: ' + typeUrl);
|
|
126
|
-
}
|
|
127
|
-
const sendMessageData = utils_1.default.getMessageDataFromDecodedTx(decodedTx);
|
|
128
|
-
const sequence = utils_1.default.getSequenceFromDecodedTx(decodedTx);
|
|
129
|
-
const gasBudget = utils_1.default.getGasBudgetFromDecodedTx(decodedTx);
|
|
130
|
-
return {
|
|
131
|
-
type,
|
|
132
|
-
sendMessages: sendMessageData,
|
|
133
|
-
signerAddress: sendMessageData[0].value.fromAddress,
|
|
134
|
-
gasBudget,
|
|
135
|
-
sequence,
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* Returns a complete explanation for a transfer transaction
|
|
140
|
-
* Currently only supports one message per transfer.
|
|
141
|
-
* @param {TxData} json The transaction data in json format
|
|
142
|
-
* @param {TransactionExplanation} explanationResult The transaction explanation to be completed
|
|
143
|
-
* @returns {TransactionExplanation}
|
|
144
|
-
*/
|
|
145
|
-
explainTransferTransaction(json, explanationResult) {
|
|
146
|
-
const outputAmount = this._atomTransaction.sendMessages[0].value.amount[0].amount;
|
|
147
|
-
const outputs = [
|
|
148
|
-
{
|
|
149
|
-
address: this._atomTransaction.sendMessages[0].value.toAddress,
|
|
150
|
-
amount: outputAmount,
|
|
151
|
-
},
|
|
152
|
-
];
|
|
153
|
-
return {
|
|
154
|
-
...explanationResult,
|
|
155
|
-
outputAmount,
|
|
156
|
-
outputs,
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
exports.Transaction = Transaction;
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG1EQVM4QjtBQUU5Qix5Q0FBc0Q7QUFDdEQsK0NBQTJDO0FBQzNDLHlEQUFxRDtBQUVyRCwyQ0FBK0Q7QUFFL0Qsb0RBQTRCO0FBRTVCLE1BQWEsV0FBWSxTQUFRLDBCQUFlO0lBSTlDLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUVELGtCQUFrQixDQUFDLEVBQW1CO1FBQ3BDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELG1CQUFtQjtJQUNuQixJQUFJLEVBQUU7UUFDSixPQUFPLElBQUksQ0FBQyxHQUFHLElBQUksa0JBQWtCLENBQUM7SUFDeEMsQ0FBQztJQUVELFlBQVksQ0FBQyxTQUF3QixFQUFFLFNBQWlCO1FBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsT0FBTyxDQUFDLEdBQVk7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGlCQUFpQjtRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDMUIsTUFB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QUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2xGLE1BQU0sT0FBTyxHQUEyQjtZQUN0QztnQkFDRSxPQUFPLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUztnQkFDOUQsTUFBTSxFQUFFLFlBQVk7YUFDckI7U0FDRixDQUFDO1FBQ0YsT0FBTztZQUNMLEdBQUcsaUJBQWlCO1lBQ3BCLFlBQVk7WUFDWixPQUFPO1NBQ1IsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQW5LRCxrQ0FtS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCYXNlS2V5LFxuICBCYXNlVHJhbnNhY3Rpb24sXG4gIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLFxuICBQYXJzZVRyYW5zYWN0aW9uRXJyb3IsXG4gIFB1YmxpY0tleSBhcyBCYXNlUHVibGljS2V5LFxuICBTaWduYXR1cmUsXG4gIFRyYW5zYWN0aW9uUmVjaXBpZW50LFxuICBUcmFuc2FjdGlvblR5cGUsXG59IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IGVuY29kZVNlY3AyNTZrMVB1YmtleSB9IGZyb20gJ0Bjb3NtanMvYW1pbm8nO1xuaW1wb3J0IHsgZnJvbUhleCB9IGZyb20gJ0Bjb3NtanMvZW5jb2RpbmcnO1xuaW1wb3J0IHsgZW5jb2RlUHVia2V5IH0gZnJvbSAnQGNvc21qcy9wcm90by1zaWduaW5nJztcbmltcG9ydCB7IEFueSB9IGZyb20gJ2Nvc21qcy10eXBlcy9nb29nbGUvcHJvdG9idWYvYW55JztcbmltcG9ydCB7IEF0b21UcmFuc2FjdGlvblR5cGUsIHNlbmRNc2dUeXBlIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQXRvbVRyYW5zYWN0aW9uLCBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLCBUeERhdGEgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uIHtcbiAgcHJpdmF0ZSBfYXRvbVRyYW5zYWN0aW9uOiBBdG9tVHJhbnNhY3Rpb247XG4gIHByaXZhdGUgX3NpZ25hdHVyZTogU2lnbmF0dXJlO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIGdldCBhdG9tVHJhbnNhY3Rpb24oKTogQXRvbVRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fYXRvbVRyYW5zYWN0aW9uO1xuICB9XG5cbiAgc2V0QXRvbVRyYW5zYWN0aW9uKHR4OiBBdG9tVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLl9hdG9tVHJhbnNhY3Rpb24gPSB0eDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqKi9cbiAgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2lkIHx8ICdVTkFWQUlMQUJMRV9URVhUJztcbiAgfVxuXG4gIGFkZFNpZ25hdHVyZShwdWJsaWNLZXk6IEJhc2VQdWJsaWNLZXksIHNpZ25hdHVyZTogQnVmZmVyKTogdm9pZCB7XG4gICAgdGhpcy5fc2lnbmF0dXJlcy5wdXNoKHNpZ25hdHVyZS50b1N0cmluZygnaGV4JykpO1xuICAgIHRoaXMuX3NpZ25hdHVyZSA9IHsgcHVibGljS2V5LCBzaWduYXR1cmUgfTtcbiAgICB0aGlzLnNlcmlhbGl6ZSgpO1xuICB9XG5cbiAgZ2V0IGF0b21TaWduYXR1cmUoKTogU2lnbmF0dXJlIHtcbiAgICByZXR1cm4gdGhpcy5fc2lnbmF0dXJlO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGNhblNpZ24oa2V5OiBCYXNlS2V5KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdG9Ccm9hZGNhc3RGb3JtYXQoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuX2F0b21UcmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdFbXB0eSB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zZXJpYWxpemUoKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB0b0pzb24oKTogVHhEYXRhIHtcbiAgICBpZiAoIXRoaXMuX2F0b21UcmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgbmV3IFBhcnNlVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgY29uc3QgdHggPSB0aGlzLl9hdG9tVHJhbnNhY3Rpb247XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiB0aGlzLl9pZCxcbiAgICAgIHR5cGU6IHR4LnR5cGUsXG4gICAgICBzaWduZXJBZGRyZXNzOiB0eC5zaWduZXJBZGRyZXNzLFxuICAgICAgc2VxdWVuY2U6IHR4LnNlcXVlbmNlLFxuICAgICAgc2VuZE1lc3NhZ2VzOiB0eC5zZW5kTWVzc2FnZXMsXG4gICAgICBnYXNCdWRnZXQ6IHR4Lmdhc0J1ZGdldCxcbiAgICB9O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGV4cGxhaW5UcmFuc2FjdGlvbigpOiBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLnRvSnNvbigpO1xuICAgIGNvbnN0IGRpc3BsYXlPcmRlciA9IFsnaWQnLCAnb3V0cHV0cycsICdvdXRwdXRBbW91bnQnLCAnY2hhbmdlT3V0cHV0cycsICdjaGFuZ2VBbW91bnQnLCAnZmVlJywgJ3R5cGUnXTtcbiAgICBjb25zdCBvdXRwdXRzOiBUcmFuc2FjdGlvblJlY2lwaWVudFtdID0gW107XG5cbiAgICBjb25zdCBleHBsYW5hdGlvblJlc3VsdDogVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiA9IHtcbiAgICAgIGRpc3BsYXlPcmRlcixcbiAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgb3V0cHV0cyxcbiAgICAgIG91dHB1dEFtb3VudDogJzAnLFxuICAgICAgY2hhbmdlT3V0cHV0czogW10sXG4gICAgICBjaGFuZ2VBbW91bnQ6ICcwJyxcbiAgICAgIGZlZTogeyBmZWU6IHRoaXMuYXRvbVRyYW5zYWN0aW9uLmdhc0J1ZGdldC5nYXMudG9TdHJpbmcoKSB9LCAvLyBUT0RPIC0gZXhwbG9yZSB0aGUgZmVlIGV4cGxhbmF0aW9uIG1vcmUsIGRvIHdlIG5lZWQgdG8gc2hvdyBsaW1pdCBvciBiYXNlIGFtb3VudFxuICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgIH07XG5cbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU2VuZDpcbiAgICAgICAgcmV0dXJuIHRoaXMuZXhwbGFpblRyYW5zZmVyVHJhbnNhY3Rpb24ocmVzdWx0LCBleHBsYW5hdGlvblJlc3VsdCk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ1RyYW5zYWN0aW9uIHR5cGUgbm90IHN1cHBvcnRlZCcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHRyYW5zYWN0aW9uIHR5cGUuXG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb25UeXBlfSB0cmFuc2FjdGlvblR5cGUgVGhlIHRyYW5zYWN0aW9uIHR5cGUgdG8gYmUgc2V0LlxuICAgKi9cbiAgdHJhbnNhY3Rpb25UeXBlKHRyYW5zYWN0aW9uVHlwZTogVHJhbnNhY3Rpb25UeXBlKTogdm9pZCB7XG4gICAgdGhpcy5fdHlwZSA9IHRyYW5zYWN0aW9uVHlwZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoaXMgdHJhbnNhY3Rpb24gcGF5bG9hZFxuICAgKlxuICAgKiBAcGFyYW0gcmF3VHJhbnNhY3Rpb25cbiAgICovXG4gIGZyb21SYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuX2F0b21UcmFuc2FjdGlvbiA9IFRyYW5zYWN0aW9uLmRlc2VyaWFsaXplQXRvbVRyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICAgIGlmICh1dGlscy5pc1NpZ25lZFJhd1R4KHJhd1RyYW5zYWN0aW9uKSkge1xuICAgICAgICBjb25zdCBzaWduZXJJbmZvID0gdXRpbHMuZ2V0U2lnbmVySW5mb0Zyb21SYXdTaWduZWRUeChyYXdUcmFuc2FjdGlvbik7XG4gICAgICAgIHRoaXMuYWRkU2lnbmF0dXJlKHNpZ25lckluZm8ucHViS2V5LCBzaWduZXJJbmZvLnNpZ25hdHVyZSk7XG4gICAgICB9XG4gICAgICB0aGlzLl90eXBlID0gVHJhbnNhY3Rpb25UeXBlLlNlbmQ7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgZTtcbiAgICB9XG4gIH1cblxuICBzZXJpYWxpemUoKTogc3RyaW5nIHtcbiAgICAvLyBUT0RPIEJHLTY3ODExIC0gU3VwcG9ydCB1bnNpZ25lZCB0eHMgc2VyaWFsaXppbmcgdG8gcGFzcyB0byBIU01cbiAgICBjb25zdCBwdWJLZXk6IEFueSA9IGVuY29kZVB1YmtleShlbmNvZGVTZWNwMjU2azFQdWJrZXkoZnJvbUhleCh0aGlzLmF0b21TaWduYXR1cmUucHVibGljS2V5LnB1YikpKTtcbiAgICBjb25zdCBzaWduRG9jID0gdXRpbHMuY3JlYXRlU2lnbkRvY0Zyb21BdG9tVHJhbnNhY3Rpb24ocHViS2V5LCB0aGlzLmF0b21UcmFuc2FjdGlvbik7XG4gICAgLy8gSWYgd2UgZG8gaGF2ZSBzaWduYXR1cmVzLCBhZGQgdGhlbSBhbmQgcmV0dXJuIHRoZSBiYXNlNjQgc2VyaWFsaXplZCBzaWduZWQgdHggZGF0YVxuICAgIGNvbnN0IHNpZ25lZFJhd1R4ID0gdXRpbHMuY3JlYXRlU2lnbmVkVHhSYXcodGhpcy5hdG9tU2lnbmF0dXJlLCBzaWduRG9jKTtcbiAgICByZXR1cm4gdXRpbHMuY3JlYXRlQmFzZTY0U2lnbmVkVHhCeXRlc0Zyb21TaWduZWRUeFJhdyhzaWduZWRSYXdUeCk7XG4gIH1cblxuICBzdGF0aWMgZGVzZXJpYWxpemVBdG9tVHJhbnNhY3Rpb24ocmF3VHg6IHN0cmluZyk6IEF0b21UcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgZGVjb2RlZFR4ID0gdXRpbHMuZ2V0RGVjb2RlZFR4RnJvbVJhd0Jhc2U2NChyYXdUeCk7XG4gICAgbGV0IHR5cGU6IEF0b21UcmFuc2FjdGlvblR5cGU7XG4gICAgY29uc3QgdHlwZVVybCA9IHV0aWxzLmdldFR5cGVVcmxGcm9tRGVjb2RlZFR4KGRlY29kZWRUeCk7XG4gICAgaWYgKHR5cGVVcmwgPT09IHNlbmRNc2dUeXBlKSB7XG4gICAgICB0eXBlID0gQXRvbVRyYW5zYWN0aW9uVHlwZS5QYXk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVHJhbnNhY3Rpb24gdHlwZSBub3Qgc3VwcG9ydGVkOiAnICsgdHlwZVVybCk7XG4gICAgfVxuICAgIGNvbnN0IHNlbmRNZXNzYWdlRGF0YSA9IHV0aWxzLmdldE1lc3NhZ2VEYXRhRnJvbURlY29kZWRUeChkZWNvZGVkVHgpO1xuICAgIGNvbnN0IHNlcXVlbmNlID0gdXRpbHMuZ2V0U2VxdWVuY2VGcm9tRGVjb2RlZFR4KGRlY29kZWRUeCk7XG4gICAgY29uc3QgZ2FzQnVkZ2V0ID0gdXRpbHMuZ2V0R2FzQnVkZ2V0RnJvbURlY29kZWRUeChkZWNvZGVkVHgpO1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlLFxuICAgICAgc2VuZE1lc3NhZ2VzOiBzZW5kTWVzc2FnZURhdGEsXG4gICAgICBzaWduZXJBZGRyZXNzOiBzZW5kTWVzc2FnZURhdGFbMF0udmFsdWUuZnJvbUFkZHJlc3MsXG4gICAgICBnYXNCdWRnZXQsXG4gICAgICBzZXF1ZW5jZSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBjb21wbGV0ZSBleHBsYW5hdGlvbiBmb3IgYSB0cmFuc2ZlciB0cmFuc2FjdGlvblxuICAgKiBDdXJyZW50bHkgb25seSBzdXBwb3J0cyBvbmUgbWVzc2FnZSBwZXIgdHJhbnNmZXIuXG4gICAqIEBwYXJhbSB7VHhEYXRhfSBqc29uIFRoZSB0cmFuc2FjdGlvbiBkYXRhIGluIGpzb24gZm9ybWF0XG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb25FeHBsYW5hdGlvbn0gZXhwbGFuYXRpb25SZXN1bHQgVGhlIHRyYW5zYWN0aW9uIGV4cGxhbmF0aW9uIHRvIGJlIGNvbXBsZXRlZFxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25FeHBsYW5hdGlvbn1cbiAgICovXG4gIGV4cGxhaW5UcmFuc2ZlclRyYW5zYWN0aW9uKGpzb246IFR4RGF0YSwgZXhwbGFuYXRpb25SZXN1bHQ6IFRyYW5zYWN0aW9uRXhwbGFuYXRpb24pOiBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgICBjb25zdCBvdXRwdXRBbW91bnQgPSB0aGlzLl9hdG9tVHJhbnNhY3Rpb24uc2VuZE1lc3NhZ2VzWzBdLnZhbHVlLmFtb3VudFswXS5hbW91bnQ7XG4gICAgY29uc3Qgb3V0cHV0czogVHJhbnNhY3Rpb25SZWNpcGllbnRbXSA9IFtcbiAgICAgIHtcbiAgICAgICAgYWRkcmVzczogdGhpcy5fYXRvbVRyYW5zYWN0aW9uLnNlbmRNZXNzYWdlc1swXS52YWx1ZS50b0FkZHJlc3MsXG4gICAgICAgIGFtb3VudDogb3V0cHV0QW1vdW50LFxuICAgICAgfSxcbiAgICBdO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5leHBsYW5hdGlvblJlc3VsdCxcbiAgICAgIG91dHB1dEFtb3VudCxcbiAgICAgIG91dHB1dHMsXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { BaseAddress, BaseKey, BaseTransactionBuilder, PublicKey as BasePublicKey, TransactionType } from '@bitgo-beta/sdk-core';
|
|
3
|
-
import { Transaction } from './transaction';
|
|
4
|
-
import BigNumber from 'bignumber.js';
|
|
5
|
-
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
6
|
-
import { AtomTransaction, GasFeeLimitData, MessageData } from './iface';
|
|
7
|
-
import { Coin } from '@cosmjs/stargate';
|
|
8
|
-
export declare abstract class TransactionBuilder extends BaseTransactionBuilder {
|
|
9
|
-
protected _transaction: Transaction;
|
|
10
|
-
private _signatures;
|
|
11
|
-
protected _type: string;
|
|
12
|
-
protected _signerAddress: string;
|
|
13
|
-
protected _sequence: number;
|
|
14
|
-
protected _sendMessages: MessageData[];
|
|
15
|
-
protected _gasBudget: GasFeeLimitData;
|
|
16
|
-
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
17
|
-
/**
|
|
18
|
-
* The transaction type.
|
|
19
|
-
*/
|
|
20
|
-
protected abstract get transactionType(): TransactionType;
|
|
21
|
-
/** @inheritdoc */
|
|
22
|
-
protected get transaction(): Transaction;
|
|
23
|
-
/** @inheritdoc */
|
|
24
|
-
protected set transaction(transaction: Transaction);
|
|
25
|
-
/** @inheritdoc */
|
|
26
|
-
protected signImplementation(key: BaseKey): Transaction;
|
|
27
|
-
/** @inheritDoc */
|
|
28
|
-
addSignature(publicKey: BasePublicKey, signature: Buffer): void;
|
|
29
|
-
type(type: string): void;
|
|
30
|
-
/**
|
|
31
|
-
* Sets the signerAddress of this transaction.
|
|
32
|
-
* This account will be responsible for paying transaction fees.
|
|
33
|
-
*
|
|
34
|
-
* @param {string} signerAddress the account that is sending this transaction
|
|
35
|
-
* @returns {TransactionBuilder} This transaction builder
|
|
36
|
-
*/
|
|
37
|
-
signerAddress(signerAddress: string): this;
|
|
38
|
-
gasBudget(gasBudget: GasFeeLimitData): this;
|
|
39
|
-
/**
|
|
40
|
-
*
|
|
41
|
-
* @param {number} sequence - sequence data for tx signer
|
|
42
|
-
* @returns {TransactionBuilder} This transaction builder
|
|
43
|
-
*/
|
|
44
|
-
sequence(sequence: number): this;
|
|
45
|
-
sendMessages(sendMessages: MessageData[]): this;
|
|
46
|
-
/**
|
|
47
|
-
* Initialize the transaction builder fields using the decoded transaction data
|
|
48
|
-
*
|
|
49
|
-
* @param {Transaction} tx the transaction data
|
|
50
|
-
*/
|
|
51
|
-
initBuilder(tx: Transaction): void;
|
|
52
|
-
/** @inheritdoc */
|
|
53
|
-
protected fromImplementation(rawTransaction: string): Transaction;
|
|
54
|
-
/** @inheritdoc */
|
|
55
|
-
protected buildImplementation(): Promise<Transaction>;
|
|
56
|
-
protected buildAtomTransaction(): AtomTransaction;
|
|
57
|
-
validateAddress(address: BaseAddress, addressFormat?: string): void;
|
|
58
|
-
validateAmountData(amountArray: Coin[]): void;
|
|
59
|
-
validateGasBudget(gasBudget: GasFeeLimitData): void;
|
|
60
|
-
private validateMessageDataArray;
|
|
61
|
-
validateMessageData(messageData: MessageData): void;
|
|
62
|
-
/** @inheritdoc */
|
|
63
|
-
validateKey(key: BaseKey): void;
|
|
64
|
-
/** @inheritdoc */
|
|
65
|
-
validateRawTransaction(rawTransaction: string): void;
|
|
66
|
-
/** @inheritdoc */
|
|
67
|
-
validateTransaction(transaction: Transaction): void;
|
|
68
|
-
/**
|
|
69
|
-
* Validates all fields are defined
|
|
70
|
-
*/
|
|
71
|
-
private validateTransactionFields;
|
|
72
|
-
/** @inheritdoc */
|
|
73
|
-
validateValue(value: BigNumber): void;
|
|
74
|
-
private validateSequence;
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=transactionBuilder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilder.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,WAAW,EACX,OAAO,EACP,sBAAsB,EAGtB,SAAS,IAAI,aAAa,EAE1B,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAGxC,8BAAsB,kBAAmB,SAAQ,sBAAsB;IACrE,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC;IACpC,OAAO,CAAC,WAAW,CAAmB;IAEtC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC;IACvC,SAAS,CAAC,UAAU,EAAE,eAAe,CAAC;gBAE1B,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAM7C;;OAEG;IACH,SAAS,CAAC,QAAQ,KAAK,eAAe,IAAI,eAAe,CAAC;IAE1D,kBAAkB;IAClB,SAAS,KAAK,WAAW,IAAI,WAAW,CAEvC;IAED,kBAAkB;IAClB,SAAS,KAAK,WAAW,CAAC,WAAW,EAAE,WAAW,EAEjD;IAED,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW;IAIvD,kBAAkB;IAClB,YAAY,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAK/D,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIxB;;;;;;OAMG;IACH,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAQ1C,SAAS,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI;IAM3C;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMhC,YAAY,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI;IAM/C;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAWlC,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAQjE,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAM3D,SAAS,CAAC,oBAAoB,IAAI,eAAe;IAgBjD,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI;IAMnE,kBAAkB,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,IAAI;IAY7C,iBAAiB,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI;IAOnD,OAAO,CAAC,wBAAwB;IAMhC,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAgBnD,kBAAkB;IAClB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAI/B,kBAAkB;IAClB,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IASpD,kBAAkB;IAClB,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAOnD;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAkBjC,kBAAkB;IAClB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAMrC,OAAO,CAAC,gBAAgB;CAKzB"}
|