@bitgo-beta/abstract-eth 1.2.3-alpha.403 → 1.2.3-alpha.405
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/package.json +7 -7
- package/dist/src/abstractEthLikeCoin.d.ts +0 -95
- package/dist/src/abstractEthLikeCoin.d.ts.map +0 -1
- package/dist/src/abstractEthLikeCoin.js +0 -160
- package/dist/src/abstractEthLikeNewCoins.d.ts +0 -749
- package/dist/src/abstractEthLikeNewCoins.d.ts.map +0 -1
- package/dist/src/abstractEthLikeNewCoins.js +0 -2229
- package/dist/src/ethLikeToken.d.ts +0 -70
- package/dist/src/ethLikeToken.d.ts.map +0 -1
- package/dist/src/ethLikeToken.js +0 -360
- package/dist/src/index.d.ts +0 -5
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -21
- package/dist/src/lib/contractCall.d.ts +0 -8
- package/dist/src/lib/contractCall.d.ts.map +0 -1
- package/dist/src/lib/contractCall.js +0 -17
- package/dist/src/lib/iface.d.ts +0 -133
- package/dist/src/lib/iface.d.ts.map +0 -1
- package/dist/src/lib/iface.js +0 -8
- package/dist/src/lib/index.d.ts +0 -16
- package/dist/src/lib/index.d.ts.map +0 -1
- package/dist/src/lib/index.js +0 -57
- package/dist/src/lib/keyPair.d.ts +0 -26
- package/dist/src/lib/keyPair.d.ts.map +0 -1
- package/dist/src/lib/keyPair.js +0 -65
- package/dist/src/lib/messages/eip191/eip191Message.d.ts +0 -12
- package/dist/src/lib/messages/eip191/eip191Message.d.ts.map +0 -1
- package/dist/src/lib/messages/eip191/eip191Message.js +0 -25
- package/dist/src/lib/messages/eip191/eip191MessageBuilder.d.ts +0 -19
- package/dist/src/lib/messages/eip191/eip191MessageBuilder.d.ts.map +0 -1
- package/dist/src/lib/messages/eip191/eip191MessageBuilder.js +0 -27
- package/dist/src/lib/messages/eip191/index.d.ts +0 -3
- package/dist/src/lib/messages/eip191/index.d.ts.map +0 -1
- package/dist/src/lib/messages/eip191/index.js +0 -19
- package/dist/src/lib/messages/eip712/eip712Message.d.ts +0 -6
- package/dist/src/lib/messages/eip712/eip712Message.d.ts.map +0 -1
- package/dist/src/lib/messages/eip712/eip712Message.js +0 -27
- package/dist/src/lib/messages/eip712/eip712MessageBuilder.d.ts +0 -7
- package/dist/src/lib/messages/eip712/eip712MessageBuilder.d.ts.map +0 -1
- package/dist/src/lib/messages/eip712/eip712MessageBuilder.js +0 -15
- package/dist/src/lib/messages/eip712/index.d.ts +0 -3
- package/dist/src/lib/messages/eip712/index.d.ts.map +0 -1
- package/dist/src/lib/messages/eip712/index.js +0 -19
- package/dist/src/lib/messages/index.d.ts +0 -4
- package/dist/src/lib/messages/index.d.ts.map +0 -1
- package/dist/src/lib/messages/index.js +0 -20
- package/dist/src/lib/messages/messageBuilderFactory.d.ts +0 -7
- package/dist/src/lib/messages/messageBuilderFactory.d.ts.map +0 -1
- package/dist/src/lib/messages/messageBuilderFactory.js +0 -23
- package/dist/src/lib/transaction.d.ts +0 -67
- package/dist/src/lib/transaction.d.ts.map +0 -1
- package/dist/src/lib/transaction.js +0 -142
- package/dist/src/lib/transactionBuilder.d.ts +0 -270
- package/dist/src/lib/transactionBuilder.d.ts.map +0 -1
- package/dist/src/lib/transactionBuilder.js +0 -822
- package/dist/src/lib/transferBuilder.d.ts +0 -76
- package/dist/src/lib/transferBuilder.d.ts.map +0 -1
- package/dist/src/lib/transferBuilder.js +0 -307
- package/dist/src/lib/transferBuilders/baseNFTTransferBuilder.d.ts +0 -54
- package/dist/src/lib/transferBuilders/baseNFTTransferBuilder.d.ts.map +0 -1
- package/dist/src/lib/transferBuilders/baseNFTTransferBuilder.js +0 -120
- package/dist/src/lib/transferBuilders/index.d.ts +0 -4
- package/dist/src/lib/transferBuilders/index.d.ts.map +0 -1
- package/dist/src/lib/transferBuilders/index.js +0 -20
- package/dist/src/lib/transferBuilders/transferBuilderERC1155.d.ts +0 -17
- package/dist/src/lib/transferBuilders/transferBuilderERC1155.d.ts.map +0 -1
- package/dist/src/lib/transferBuilders/transferBuilderERC1155.js +0 -96
- package/dist/src/lib/transferBuilders/transferBuilderERC721.d.ts +0 -16
- package/dist/src/lib/transferBuilders/transferBuilderERC721.d.ts.map +0 -1
- package/dist/src/lib/transferBuilders/transferBuilderERC721.js +0 -81
- package/dist/src/lib/types.d.ts +0 -39
- package/dist/src/lib/types.d.ts.map +0 -1
- package/dist/src/lib/types.js +0 -137
- package/dist/src/lib/utils.d.ts +0 -310
- package/dist/src/lib/utils.d.ts.map +0 -1
- package/dist/src/lib/utils.js +0 -829
- package/dist/src/lib/walletUtil.d.ts +0 -40
- package/dist/src/lib/walletUtil.d.ts.map +0 -1
- package/dist/src/lib/walletUtil.js +0 -43
- package/dist/src/types.d.ts +0 -9
- package/dist/src/types.d.ts.map +0 -1
- package/dist/src/types.js +0 -3
- package/dist/test/index.d.ts +0 -2
- package/dist/test/index.d.ts.map +0 -1
- package/dist/test/index.js +0 -18
- package/dist/test/unit/coin.d.ts +0 -8
- package/dist/test/unit/coin.d.ts.map +0 -1
- package/dist/test/unit/coin.js +0 -577
- package/dist/test/unit/index.d.ts +0 -6
- package/dist/test/unit/index.d.ts.map +0 -1
- package/dist/test/unit/index.js +0 -22
- package/dist/test/unit/messages/abstractEthMessageBuilderTests.d.ts +0 -3
- package/dist/test/unit/messages/abstractEthMessageBuilderTests.d.ts.map +0 -1
- package/dist/test/unit/messages/abstractEthMessageBuilderTests.js +0 -110
- package/dist/test/unit/messages/abstractEthMessageTestTypes.d.ts +0 -43
- package/dist/test/unit/messages/abstractEthMessageTestTypes.d.ts.map +0 -1
- package/dist/test/unit/messages/abstractEthMessageTestTypes.js +0 -3
- package/dist/test/unit/messages/abstractEthMessagesTests.d.ts +0 -3
- package/dist/test/unit/messages/abstractEthMessagesTests.d.ts.map +0 -1
- package/dist/test/unit/messages/abstractEthMessagesTests.js +0 -129
- package/dist/test/unit/messages/eip191/eip191Message.d.ts +0 -2
- package/dist/test/unit/messages/eip191/eip191Message.d.ts.map +0 -1
- package/dist/test/unit/messages/eip191/eip191Message.js +0 -15
- package/dist/test/unit/messages/eip191/eip191MessageBuilder.d.ts +0 -2
- package/dist/test/unit/messages/eip191/eip191MessageBuilder.d.ts.map +0 -1
- package/dist/test/unit/messages/eip191/eip191MessageBuilder.js +0 -16
- package/dist/test/unit/messages/eip191/fixtures.d.ts +0 -109
- package/dist/test/unit/messages/eip191/fixtures.d.ts.map +0 -1
- package/dist/test/unit/messages/eip191/fixtures.js +0 -63
- package/dist/test/unit/messages/eip712/eip712Message.d.ts +0 -2
- package/dist/test/unit/messages/eip712/eip712Message.d.ts.map +0 -1
- package/dist/test/unit/messages/eip712/eip712Message.js +0 -15
- package/dist/test/unit/messages/eip712/eip712MessageBuilder.d.ts +0 -2
- package/dist/test/unit/messages/eip712/eip712MessageBuilder.d.ts.map +0 -1
- package/dist/test/unit/messages/eip712/eip712MessageBuilder.js +0 -16
- package/dist/test/unit/messages/eip712/fixtures.d.ts +0 -76
- package/dist/test/unit/messages/eip712/fixtures.d.ts.map +0 -1
- package/dist/test/unit/messages/eip712/fixtures.js +0 -120
- package/dist/test/unit/messages/index.d.ts +0 -4
- package/dist/test/unit/messages/index.d.ts.map +0 -1
- package/dist/test/unit/messages/index.js +0 -20
- package/dist/test/unit/messages/messageBuilderFactory.d.ts +0 -2
- package/dist/test/unit/messages/messageBuilderFactory.d.ts.map +0 -1
- package/dist/test/unit/messages/messageBuilderFactory.js +0 -52
- package/dist/test/unit/token.d.ts +0 -2
- package/dist/test/unit/token.d.ts.map +0 -1
- package/dist/test/unit/token.js +0 -37
- package/dist/test/unit/transaction.d.ts +0 -3
- package/dist/test/unit/transaction.d.ts.map +0 -1
- package/dist/test/unit/transaction.js +0 -60
- package/dist/test/unit/transactionBuilder/addressInitialization.d.ts +0 -8
- package/dist/test/unit/transactionBuilder/addressInitialization.d.ts.map +0 -1
- package/dist/test/unit/transactionBuilder/addressInitialization.js +0 -95
- package/dist/test/unit/transactionBuilder/flushNft.d.ts +0 -2
- package/dist/test/unit/transactionBuilder/flushNft.d.ts.map +0 -1
- package/dist/test/unit/transactionBuilder/flushNft.js +0 -381
- package/dist/test/unit/transactionBuilder/index.d.ts +0 -5
- package/dist/test/unit/transactionBuilder/index.d.ts.map +0 -1
- package/dist/test/unit/transactionBuilder/index.js +0 -21
- package/dist/test/unit/transactionBuilder/send.d.ts +0 -3
- package/dist/test/unit/transactionBuilder/send.d.ts.map +0 -1
- package/dist/test/unit/transactionBuilder/send.js +0 -197
- package/dist/test/unit/transactionBuilder/walletInitialization.d.ts +0 -10
- package/dist/test/unit/transactionBuilder/walletInitialization.d.ts.map +0 -1
- package/dist/test/unit/transactionBuilder/walletInitialization.js +0 -124
- package/dist/test/unit/transferBuilder.d.ts +0 -2
- package/dist/test/unit/transferBuilder.d.ts.map +0 -1
- package/dist/test/unit/transferBuilder.js +0 -76
- package/dist/test/unit/utils.d.ts +0 -2
- package/dist/test/unit/utils.d.ts.map +0 -1
- package/dist/test/unit/utils.js +0 -184
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MessageBuilderFactory = void 0;
|
|
4
|
-
const eip191_1 = require("./eip191");
|
|
5
|
-
const eip712_1 = require("./eip712");
|
|
6
|
-
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
7
|
-
class MessageBuilderFactory extends sdk_core_1.BaseMessageBuilderFactory {
|
|
8
|
-
constructor(coinConfig) {
|
|
9
|
-
super(coinConfig);
|
|
10
|
-
}
|
|
11
|
-
getMessageBuilder(type) {
|
|
12
|
-
switch (type) {
|
|
13
|
-
case sdk_core_1.MessageStandardType.EIP191:
|
|
14
|
-
return new eip191_1.Eip191MessageBuilder(this.coinConfig);
|
|
15
|
-
case sdk_core_1.MessageStandardType.EIP712:
|
|
16
|
-
return new eip712_1.Eip712MessageBuilder(this.coinConfig);
|
|
17
|
-
default:
|
|
18
|
-
throw new Error(`Invalid message standard ${type}`);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
exports.MessageBuilderFactory = MessageBuilderFactory;
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZUJ1aWxkZXJGYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9tZXNzYWdlcy9tZXNzYWdlQnVpbGRlckZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUNBQWdEO0FBQ2hELHFDQUFnRDtBQUVoRCxtREFBdUc7QUFFdkcsTUFBYSxxQkFBc0IsU0FBUSxvQ0FBeUI7SUFDbEUsWUFBWSxVQUFnQztRQUMxQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVNLGlCQUFpQixDQUFDLElBQXlCO1FBQ2hELFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDYixLQUFLLDhCQUFtQixDQUFDLE1BQU07Z0JBQzdCLE9BQU8sSUFBSSw2QkFBb0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDbkQsS0FBSyw4QkFBbUIsQ0FBQyxNQUFNO2dCQUM3QixPQUFPLElBQUksNkJBQW9CLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ25EO2dCQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLElBQUksRUFBRSxDQUFDLENBQUM7UUFDeEQsQ0FBQztJQUNILENBQUM7Q0FDRjtBQWZELHNEQWVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWlwMTkxTWVzc2FnZUJ1aWxkZXIgfSBmcm9tICcuL2VpcDE5MSc7XG5pbXBvcnQgeyBFaXA3MTJNZXNzYWdlQnVpbGRlciB9IGZyb20gJy4vZWlwNzEyJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEJhc2VNZXNzYWdlQnVpbGRlckZhY3RvcnksIElNZXNzYWdlQnVpbGRlciwgTWVzc2FnZVN0YW5kYXJkVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcblxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VCdWlsZGVyRmFjdG9yeSBleHRlbmRzIEJhc2VNZXNzYWdlQnVpbGRlckZhY3Rvcnkge1xuICBjb25zdHJ1Y3Rvcihjb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKGNvaW5Db25maWcpO1xuICB9XG5cbiAgcHVibGljIGdldE1lc3NhZ2VCdWlsZGVyKHR5cGU6IE1lc3NhZ2VTdGFuZGFyZFR5cGUpOiBJTWVzc2FnZUJ1aWxkZXIge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSBNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MTpcbiAgICAgICAgcmV0dXJuIG5ldyBFaXAxOTFNZXNzYWdlQnVpbGRlcih0aGlzLmNvaW5Db25maWcpO1xuICAgICAgY2FzZSBNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDcxMjpcbiAgICAgICAgcmV0dXJuIG5ldyBFaXA3MTJNZXNzYWdlQnVpbGRlcih0aGlzLmNvaW5Db25maWcpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1lc3NhZ2Ugc3RhbmRhcmQgJHt0eXBlfWApO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Ethereum transaction model. This is the base model for all ethereum based coins (Celo, ETC, RSK, ETH)
|
|
3
|
-
*/
|
|
4
|
-
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
5
|
-
import EthereumCommon from '@ethereumjs/common';
|
|
6
|
-
import { BaseKey, Entry, BaseTransaction, TransactionType } from '@bitgo-beta/sdk-core';
|
|
7
|
-
import { KeyPair } from './keyPair';
|
|
8
|
-
import { EthLikeTransactionData, TxData } from './iface';
|
|
9
|
-
export declare class Transaction extends BaseTransaction {
|
|
10
|
-
protected _id: string;
|
|
11
|
-
protected _inputs: Entry[];
|
|
12
|
-
protected _outputs: Entry[];
|
|
13
|
-
protected _signatures: string[];
|
|
14
|
-
protected _type: TransactionType;
|
|
15
|
-
protected _common: EthereumCommon;
|
|
16
|
-
protected _transactionData?: EthLikeTransactionData;
|
|
17
|
-
/**
|
|
18
|
-
* return a new Transaction initialized with the serialized tx string
|
|
19
|
-
*
|
|
20
|
-
* @param coinConfig The coin configuration object
|
|
21
|
-
* @param common network commons
|
|
22
|
-
* @param serializedTx The serialized tx string with which to initialize the transaction
|
|
23
|
-
* @param isFirstSigner whether the transaction is being signed by the first signer
|
|
24
|
-
* @returns a new transaction object
|
|
25
|
-
*/
|
|
26
|
-
static fromSerialized(coinConfig: Readonly<CoinConfig>, common: EthereumCommon, serializedTx: string, isFirstSigner?: boolean): Transaction;
|
|
27
|
-
/**
|
|
28
|
-
* Public constructor.
|
|
29
|
-
*
|
|
30
|
-
* @param {Readonly<CoinConfig>} coinConfig
|
|
31
|
-
* @param common the network commons
|
|
32
|
-
* @param {TxData} txData The object transaction data or encoded transaction data
|
|
33
|
-
* @param {boolean} isFirstSigner whether the transaction is being signed by the first signer
|
|
34
|
-
*/
|
|
35
|
-
constructor(coinConfig: Readonly<CoinConfig>, common: EthereumCommon, txData?: TxData, isFirstSigner?: boolean);
|
|
36
|
-
/**
|
|
37
|
-
* Set the transaction data
|
|
38
|
-
*
|
|
39
|
-
* @param {TxData} txData The transaction data to set
|
|
40
|
-
* @param {boolean} isFirstSigner Whether the transaction is being signed by the first signer
|
|
41
|
-
*/
|
|
42
|
-
setTransactionData(txData: TxData, isFirstSigner?: boolean): void;
|
|
43
|
-
/**
|
|
44
|
-
* Update the internal fields based on the currently set transaction data, if there is any
|
|
45
|
-
*/
|
|
46
|
-
protected updateFields(isFirstSigner?: boolean): void;
|
|
47
|
-
/**
|
|
48
|
-
* Set the transaction type
|
|
49
|
-
*
|
|
50
|
-
* @param {TransactionType} transactionType The transaction type to be set
|
|
51
|
-
*/
|
|
52
|
-
setTransactionType(transactionType: TransactionType): void;
|
|
53
|
-
/** @inheritdoc */
|
|
54
|
-
canSign(key: BaseKey): boolean;
|
|
55
|
-
/**
|
|
56
|
-
* Sign the transaction with the provided key. It does not check if the signer is allowed to sign
|
|
57
|
-
* it or not.
|
|
58
|
-
*
|
|
59
|
-
* @param {KeyPair} keyPair The key to sign the transaction with
|
|
60
|
-
*/
|
|
61
|
-
sign(keyPair: KeyPair): Promise<void>;
|
|
62
|
-
/** @inheritdoc */
|
|
63
|
-
toBroadcastFormat(): string;
|
|
64
|
-
/** @inheritdoc */
|
|
65
|
-
toJson(): TxData;
|
|
66
|
-
}
|
|
67
|
-
//# sourceMappingURL=transaction.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/lib/transaction.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAChD,OAAO,EACL,OAAO,EACP,KAAK,EACL,eAAe,EACf,eAAe,EAGhB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAMzD,qBAAa,WAAY,SAAQ,eAAe;IAC9C,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;IAC3B,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC5B,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IAChC,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC;IACjC,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC;IAElC,SAAS,CAAC,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAEpD;;;;;;;;OAQG;WACW,cAAc,CAC1B,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,EAChC,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,OAAO,GACtB,WAAW;IASd;;;;;;;OAOG;gBACS,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO;IAQ9G;;;;;OAKG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,IAAI;IAKjE;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,OAAO,GAAG,IAAI;IAoDrD;;;;OAIG;IACH,kBAAkB,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IAI1D,kBAAkB;IAClB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAK9B;;;;;OAKG;IACG,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAe3C,kBAAkB;IAClB,iBAAiB,IAAI,MAAM;IAO3B,kBAAkB;IAClB,MAAM,IAAI,MAAM;CAMjB"}
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Transaction = void 0;
|
|
4
|
-
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
5
|
-
const types_1 = require("./types");
|
|
6
|
-
const utils_1 = require("./utils");
|
|
7
|
-
const UNSUPPORTED_COIN_NAME = 'unsupported';
|
|
8
|
-
class Transaction extends sdk_core_1.BaseTransaction {
|
|
9
|
-
/**
|
|
10
|
-
* return a new Transaction initialized with the serialized tx string
|
|
11
|
-
*
|
|
12
|
-
* @param coinConfig The coin configuration object
|
|
13
|
-
* @param common network commons
|
|
14
|
-
* @param serializedTx The serialized tx string with which to initialize the transaction
|
|
15
|
-
* @param isFirstSigner whether the transaction is being signed by the first signer
|
|
16
|
-
* @returns a new transaction object
|
|
17
|
-
*/
|
|
18
|
-
static fromSerialized(coinConfig, common, serializedTx, isFirstSigner) {
|
|
19
|
-
return new Transaction(coinConfig, common, types_1.EthTransactionData.fromSerialized(serializedTx, common).toJson(), isFirstSigner);
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Public constructor.
|
|
23
|
-
*
|
|
24
|
-
* @param {Readonly<CoinConfig>} coinConfig
|
|
25
|
-
* @param common the network commons
|
|
26
|
-
* @param {TxData} txData The object transaction data or encoded transaction data
|
|
27
|
-
* @param {boolean} isFirstSigner whether the transaction is being signed by the first signer
|
|
28
|
-
*/
|
|
29
|
-
constructor(coinConfig, common, txData, isFirstSigner) {
|
|
30
|
-
super(coinConfig);
|
|
31
|
-
this._common = common;
|
|
32
|
-
if (txData) {
|
|
33
|
-
this.setTransactionData(txData, isFirstSigner);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Set the transaction data
|
|
38
|
-
*
|
|
39
|
-
* @param {TxData} txData The transaction data to set
|
|
40
|
-
* @param {boolean} isFirstSigner Whether the transaction is being signed by the first signer
|
|
41
|
-
*/
|
|
42
|
-
setTransactionData(txData, isFirstSigner) {
|
|
43
|
-
this._transactionData = types_1.EthTransactionData.fromJson(txData, this._common);
|
|
44
|
-
this.updateFields(isFirstSigner);
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Update the internal fields based on the currently set transaction data, if there is any
|
|
48
|
-
*/
|
|
49
|
-
updateFields(isFirstSigner) {
|
|
50
|
-
if (!this._transactionData) {
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
const txData = this._transactionData.toJson();
|
|
54
|
-
if (txData.id) {
|
|
55
|
-
this._id = txData.id;
|
|
56
|
-
}
|
|
57
|
-
this._type = (0, utils_1.classifyTransaction)(txData.data);
|
|
58
|
-
// reset arrays to empty to ensure that they are only set with one set of fresh values
|
|
59
|
-
this._inputs = [];
|
|
60
|
-
this._outputs = [];
|
|
61
|
-
this._signatures = [];
|
|
62
|
-
if ((0, utils_1.hasSignature)(txData)) {
|
|
63
|
-
this._signatures.push((0, utils_1.toStringSig)({ v: txData.v, r: txData.r, s: txData.s }));
|
|
64
|
-
}
|
|
65
|
-
// only send transactions have inputs / outputs / signatures to parse
|
|
66
|
-
if (this._type === sdk_core_1.TransactionType.Send ||
|
|
67
|
-
this._type === sdk_core_1.TransactionType.SendERC721 ||
|
|
68
|
-
this._type === sdk_core_1.TransactionType.SendERC1155) {
|
|
69
|
-
const { to, amount, tokenContractAddress, signature } = (0, utils_1.decodeTransferData)(txData.data, isFirstSigner);
|
|
70
|
-
let coinName;
|
|
71
|
-
if (tokenContractAddress) {
|
|
72
|
-
const token = (0, utils_1.getToken)(tokenContractAddress, this._coinConfig.network, this._coinConfig.family);
|
|
73
|
-
coinName = token ? token.name : UNSUPPORTED_COIN_NAME;
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
coinName = this._coinConfig.name;
|
|
77
|
-
}
|
|
78
|
-
this.outputs.push({
|
|
79
|
-
address: to,
|
|
80
|
-
value: amount,
|
|
81
|
-
coin: coinName,
|
|
82
|
-
});
|
|
83
|
-
this.inputs.push({
|
|
84
|
-
address: txData.to, // the sending wallet contract is the recipient of the outer transaction
|
|
85
|
-
value: amount,
|
|
86
|
-
coin: coinName,
|
|
87
|
-
});
|
|
88
|
-
if (signature !== '0x') {
|
|
89
|
-
this._signatures.push(signature);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Set the transaction type
|
|
95
|
-
*
|
|
96
|
-
* @param {TransactionType} transactionType The transaction type to be set
|
|
97
|
-
*/
|
|
98
|
-
setTransactionType(transactionType) {
|
|
99
|
-
this._type = transactionType;
|
|
100
|
-
}
|
|
101
|
-
/** @inheritdoc */
|
|
102
|
-
canSign(key) {
|
|
103
|
-
// TODO: implement this validation for the ethereum network
|
|
104
|
-
return true;
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Sign the transaction with the provided key. It does not check if the signer is allowed to sign
|
|
108
|
-
* it or not.
|
|
109
|
-
*
|
|
110
|
-
* @param {KeyPair} keyPair The key to sign the transaction with
|
|
111
|
-
*/
|
|
112
|
-
async sign(keyPair) {
|
|
113
|
-
if (!this._transactionData) {
|
|
114
|
-
throw new sdk_core_1.InvalidTransactionError('No transaction data to sign');
|
|
115
|
-
}
|
|
116
|
-
if (!keyPair.getKeys().prv) {
|
|
117
|
-
throw new sdk_core_1.SigningError('Missing private key');
|
|
118
|
-
}
|
|
119
|
-
await this._transactionData.sign(keyPair);
|
|
120
|
-
const txData = this._transactionData.toJson();
|
|
121
|
-
if (txData.id) {
|
|
122
|
-
this._id = txData.id;
|
|
123
|
-
}
|
|
124
|
-
this._signatures.push((0, utils_1.toStringSig)({ v: txData.v, r: txData.r, s: txData.s }));
|
|
125
|
-
}
|
|
126
|
-
/** @inheritdoc */
|
|
127
|
-
toBroadcastFormat() {
|
|
128
|
-
if (this._transactionData) {
|
|
129
|
-
return this._transactionData.toSerialized();
|
|
130
|
-
}
|
|
131
|
-
throw new sdk_core_1.InvalidTransactionError('No transaction data to format');
|
|
132
|
-
}
|
|
133
|
-
/** @inheritdoc */
|
|
134
|
-
toJson() {
|
|
135
|
-
if (this._transactionData) {
|
|
136
|
-
return this._transactionData.toJson();
|
|
137
|
-
}
|
|
138
|
-
throw new sdk_core_1.InvalidTransactionError('Empty transaction');
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
exports.Transaction = Transaction;
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBLG1EQU84QjtBQUc5QixtQ0FBNkM7QUFDN0MsbUNBQXVHO0FBRXZHLE1BQU0scUJBQXFCLEdBQUcsYUFBYSxDQUFDO0FBRTVDLE1BQWEsV0FBWSxTQUFRLDBCQUFlO0lBVTlDOzs7Ozs7OztPQVFHO0lBQ0ksTUFBTSxDQUFDLGNBQWMsQ0FDMUIsVUFBZ0MsRUFDaEMsTUFBc0IsRUFDdEIsWUFBb0IsRUFDcEIsYUFBdUI7UUFFdkIsT0FBTyxJQUFJLFdBQVcsQ0FDcEIsVUFBVSxFQUNWLE1BQU0sRUFDTiwwQkFBa0IsQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUNoRSxhQUFhLENBQ2QsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsWUFBWSxVQUFnQyxFQUFFLE1BQXNCLEVBQUUsTUFBZSxFQUFFLGFBQXVCO1FBQzVHLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQztRQUNqRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsa0JBQWtCLENBQUMsTUFBYyxFQUFFLGFBQXVCO1FBQ3hELElBQUksQ0FBQyxnQkFBZ0IsR0FBRywwQkFBa0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7T0FFRztJQUNPLFlBQVksQ0FBQyxhQUF1QjtRQUM1QyxJQUFJ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QztJQUN6RCxDQUFDO0NBQ0Y7QUF0S0Qsa0NBc0tDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFdGhlcmV1bSB0cmFuc2FjdGlvbiBtb2RlbC4gVGhpcyBpcyB0aGUgYmFzZSBtb2RlbCBmb3IgYWxsIGV0aGVyZXVtIGJhc2VkIGNvaW5zIChDZWxvLCBFVEMsIFJTSywgRVRIKVxuICovXG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgRXRoZXJldW1Db21tb24gZnJvbSAnQGV0aGVyZXVtanMvY29tbW9uJztcbmltcG9ydCB7XG4gIEJhc2VLZXksXG4gIEVudHJ5LFxuICBCYXNlVHJhbnNhY3Rpb24sXG4gIFRyYW5zYWN0aW9uVHlwZSxcbiAgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsXG4gIFNpZ25pbmdFcnJvcixcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgS2V5UGFpciB9IGZyb20gJy4va2V5UGFpcic7XG5pbXBvcnQgeyBFdGhMaWtlVHJhbnNhY3Rpb25EYXRhLCBUeERhdGEgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IEV0aFRyYW5zYWN0aW9uRGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgY2xhc3NpZnlUcmFuc2FjdGlvbiwgZGVjb2RlVHJhbnNmZXJEYXRhLCBnZXRUb2tlbiwgaGFzU2lnbmF0dXJlLCB0b1N0cmluZ1NpZyB9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBVTlNVUFBPUlRFRF9DT0lOX05BTUUgPSAndW5zdXBwb3J0ZWQnO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb24gZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb24ge1xuICBwcm90ZWN0ZWQgX2lkOiBzdHJpbmc7IC8vIFRoZSB0cmFuc2FjdGlvbiBpZCBhcyBzZWVuIGluIHRoZSBibG9ja2NoYWluXG4gIHByb3RlY3RlZCBfaW5wdXRzOiBFbnRyeVtdO1xuICBwcm90ZWN0ZWQgX291dHB1dHM6IEVudHJ5W107XG4gIHByb3RlY3RlZCBfc2lnbmF0dXJlczogc3RyaW5nW107XG4gIHByb3RlY3RlZCBfdHlwZTogVHJhbnNhY3Rpb25UeXBlO1xuICBwcm90ZWN0ZWQgX2NvbW1vbjogRXRoZXJldW1Db21tb247XG5cbiAgcHJvdGVjdGVkIF90cmFuc2FjdGlvbkRhdGE/OiBFdGhMaWtlVHJhbnNhY3Rpb25EYXRhO1xuXG4gIC8qKlxuICAgKiByZXR1cm4gYSBuZXcgVHJhbnNhY3Rpb24gaW5pdGlhbGl6ZWQgd2l0aCB0aGUgc2VyaWFsaXplZCB0eCBzdHJpbmdcbiAgICpcbiAgICogQHBhcmFtIGNvaW5Db25maWcgVGhlIGNvaW4gY29uZmlndXJhdGlvbiBvYmplY3RcbiAgICogQHBhcmFtIGNvbW1vbiBuZXR3b3JrIGNvbW1vbnNcbiAgICogQHBhcmFtIHNlcmlhbGl6ZWRUeCBUaGUgc2VyaWFsaXplZCB0eCBzdHJpbmcgd2l0aCB3aGljaCB0byBpbml0aWFsaXplIHRoZSB0cmFuc2FjdGlvblxuICAgKiBAcGFyYW0gaXNGaXJzdFNpZ25lciB3aGV0aGVyIHRoZSB0cmFuc2FjdGlvbiBpcyBiZWluZyBzaWduZWQgYnkgdGhlIGZpcnN0IHNpZ25lclxuICAgKiBAcmV0dXJucyBhIG5ldyB0cmFuc2FjdGlvbiBvYmplY3RcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVNlcmlhbGl6ZWQoXG4gICAgY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4sXG4gICAgY29tbW9uOiBFdGhlcmV1bUNvbW1vbixcbiAgICBzZXJpYWxpemVkVHg6IHN0cmluZyxcbiAgICBpc0ZpcnN0U2lnbmVyPzogYm9vbGVhblxuICApOiBUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbihcbiAgICAgIGNvaW5Db25maWcsXG4gICAgICBjb21tb24sXG4gICAgICBFdGhUcmFuc2FjdGlvbkRhdGEuZnJvbVNlcmlhbGl6ZWQoc2VyaWFsaXplZFR4LCBjb21tb24pLnRvSnNvbigpLFxuICAgICAgaXNGaXJzdFNpZ25lclxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUHVibGljIGNvbnN0cnVjdG9yLlxuICAgKlxuICAgKiBAcGFyYW0ge1JlYWRvbmx5PENvaW5Db25maWc+fSBjb2luQ29uZmlnXG4gICAqIEBwYXJhbSBjb21tb24gdGhlIG5ldHdvcmsgY29tbW9uc1xuICAgKiBAcGFyYW0ge1R4RGF0YX0gdHhEYXRhIFRoZSBvYmplY3QgdHJhbnNhY3Rpb24gZGF0YSBvciBlbmNvZGVkIHRyYW5zYWN0aW9uIGRhdGFcbiAgICogQHBhcmFtIHtib29sZWFufSBpc0ZpcnN0U2lnbmVyIHdoZXRoZXIgdGhlIHRyYW5zYWN0aW9uIGlzIGJlaW5nIHNpZ25lZCBieSB0aGUgZmlyc3Qgc2lnbmVyXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihjb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPiwgY29tbW9uOiBFdGhlcmV1bUNvbW1vbiwgdHhEYXRhPzogVHhEYXRhLCBpc0ZpcnN0U2lnbmVyPzogYm9vbGVhbikge1xuICAgIHN1cGVyKGNvaW5Db25maWcpO1xuICAgIHRoaXMuX2NvbW1vbiA9IGNvbW1vbjtcbiAgICBpZiAodHhEYXRhKSB7XG4gICAgICB0aGlzLnNldFRyYW5zYWN0aW9uRGF0YSh0eERhdGEsIGlzRmlyc3RTaWduZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHRyYW5zYWN0aW9uIGRhdGFcbiAgICpcbiAgICogQHBhcmFtIHtUeERhdGF9IHR4RGF0YSBUaGUgdHJhbnNhY3Rpb24gZGF0YSB0byBzZXRcbiAgICogQHBhcmFtIHtib29sZWFufSBpc0ZpcnN0U2lnbmVyIFdoZXRoZXIgdGhlIHRyYW5zYWN0aW9uIGlzIGJlaW5nIHNpZ25lZCBieSB0aGUgZmlyc3Qgc2lnbmVyXG4gICAqL1xuICBzZXRUcmFuc2FjdGlvbkRhdGEodHhEYXRhOiBUeERhdGEsIGlzRmlyc3RTaWduZXI/OiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb25EYXRhID0gRXRoVHJhbnNhY3Rpb25EYXRhLmZyb21Kc29uKHR4RGF0YSwgdGhpcy5fY29tbW9uKTtcbiAgICB0aGlzLnVwZGF0ZUZpZWxkcyhpc0ZpcnN0U2lnbmVyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgdGhlIGludGVybmFsIGZpZWxkcyBiYXNlZCBvbiB0aGUgY3VycmVudGx5IHNldCB0cmFuc2FjdGlvbiBkYXRhLCBpZiB0aGVyZSBpcyBhbnlcbiAgICovXG4gIHByb3RlY3RlZCB1cGRhdGVGaWVsZHMoaXNGaXJzdFNpZ25lcj86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3RyYW5zYWN0aW9uRGF0YSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHR4RGF0YSA9IHRoaXMuX3RyYW5zYWN0aW9uRGF0YS50b0pzb24oKTtcbiAgICBpZiAodHhEYXRhLmlkKSB7XG4gICAgICB0aGlzLl9pZCA9IHR4RGF0YS5pZDtcbiAgICB9XG4gICAgdGhpcy5fdHlwZSA9IGNsYXNzaWZ5VHJhbnNhY3Rpb24odHhEYXRhLmRhdGEpO1xuXG4gICAgLy8gcmVzZXQgYXJyYXlzIHRvIGVtcHR5IHRvIGVuc3VyZSB0aGF0IHRoZXkgYXJlIG9ubHkgc2V0IHdpdGggb25lIHNldCBvZiBmcmVzaCB2YWx1ZXNcbiAgICB0aGlzLl9pbnB1dHMgPSBbXTtcbiAgICB0aGlzLl9vdXRwdXRzID0gW107XG4gICAgdGhpcy5fc2lnbmF0dXJlcyA9IFtdO1xuXG4gICAgaWYgKGhhc1NpZ25hdHVyZSh0eERhdGEpKSB7XG4gICAgICB0aGlzLl9zaWduYXR1cmVzLnB1c2godG9TdHJpbmdTaWcoeyB2OiB0eERhdGEudiEsIHI6IHR4RGF0YS5yISwgczogdHhEYXRhLnMhIH0pKTtcbiAgICB9XG5cbiAgICAvLyBvbmx5IHNlbmQgdHJhbnNhY3Rpb25zIGhhdmUgaW5wdXRzIC8gb3V0cHV0cyAvIHNpZ25hdHVyZXMgdG8gcGFyc2VcbiAgICBpZiAoXG4gICAgICB0aGlzLl90eXBlID09PSBUcmFuc2FjdGlvblR5cGUuU2VuZCB8fFxuICAgICAgdGhpcy5fdHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLlNlbmRFUkM3MjEgfHxcbiAgICAgIHRoaXMuX3R5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5TZW5kRVJDMTE1NVxuICAgICkge1xuICAgICAgY29uc3QgeyB0bywgYW1vdW50LCB0b2tlbkNvbnRyYWN0QWRkcmVzcywgc2lnbmF0dXJlIH0gPSBkZWNvZGVUcmFuc2ZlckRhdGEodHhEYXRhLmRhdGEsIGlzRmlyc3RTaWduZXIpO1xuICAgICAgbGV0IGNvaW5OYW1lOiBzdHJpbmc7XG4gICAgICBpZiAodG9rZW5Db250cmFjdEFkZHJlc3MpIHtcbiAgICAgICAgY29uc3QgdG9rZW4gPSBnZXRUb2tlbih0b2tlbkNvbnRyYWN0QWRkcmVzcywgdGhpcy5fY29pbkNvbmZpZy5uZXR3b3JrLCB0aGlzLl9jb2luQ29uZmlnLmZhbWlseSk7XG4gICAgICAgIGNvaW5OYW1lID0gdG9rZW4gPyB0b2tlbi5uYW1lIDogVU5TVVBQT1JURURfQ09JTl9OQU1FO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29pbk5hbWUgPSB0aGlzLl9jb2luQ29uZmlnLm5hbWU7XG4gICAgICB9XG5cbiAgICAgIHRoaXMub3V0cHV0cy5wdXNoKHtcbiAgICAgICAgYWRkcmVzczogdG8sXG4gICAgICAgIHZhbHVlOiBhbW91bnQsXG4gICAgICAgIGNvaW46IGNvaW5OYW1lLFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuaW5wdXRzLnB1c2goe1xuICAgICAgICBhZGRyZXNzOiB0eERhdGEudG8hLCAvLyB0aGUgc2VuZGluZyB3YWxsZXQgY29udHJhY3QgaXMgdGhlIHJlY2lwaWVudCBvZiB0aGUgb3V0ZXIgdHJhbnNhY3Rpb25cbiAgICAgICAgdmFsdWU6IGFtb3VudCxcbiAgICAgICAgY29pbjogY29pbk5hbWUsXG4gICAgICB9KTtcbiAgICAgIGlmIChzaWduYXR1cmUgIT09ICcweCcpIHtcbiAgICAgICAgdGhpcy5fc2lnbmF0dXJlcy5wdXNoKHNpZ25hdHVyZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgdHJhbnNhY3Rpb24gdHlwZVxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uVHlwZX0gdHJhbnNhY3Rpb25UeXBlIFRoZSB0cmFuc2FjdGlvbiB0eXBlIHRvIGJlIHNldFxuICAgKi9cbiAgc2V0VHJhbnNhY3Rpb25UeXBlKHRyYW5zYWN0aW9uVHlwZTogVHJhbnNhY3Rpb25UeXBlKTogdm9pZCB7XG4gICAgdGhpcy5fdHlwZSA9IHRyYW5zYWN0aW9uVHlwZTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBjYW5TaWduKGtleTogQmFzZUtleSk6IGJvb2xlYW4ge1xuICAgIC8vIFRPRE86IGltcGxlbWVudCB0aGlzIHZhbGlkYXRpb24gZm9yIHRoZSBldGhlcmV1bSBuZXR3b3JrXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogU2lnbiB0aGUgdHJhbnNhY3Rpb24gd2l0aCB0aGUgcHJvdmlkZWQga2V5LiBJdCBkb2VzIG5vdCBjaGVjayBpZiB0aGUgc2lnbmVyIGlzIGFsbG93ZWQgdG8gc2lnblxuICAgKiBpdCBvciBub3QuXG4gICAqXG4gICAqIEBwYXJhbSB7S2V5UGFpcn0ga2V5UGFpciBUaGUga2V5IHRvIHNpZ24gdGhlIHRyYW5zYWN0aW9uIHdpdGhcbiAgICovXG4gIGFzeW5jIHNpZ24oa2V5UGFpcjogS2V5UGFpcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy5fdHJhbnNhY3Rpb25EYXRhKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ05vIHRyYW5zYWN0aW9uIGRhdGEgdG8gc2lnbicpO1xuICAgIH1cbiAgICBpZiAoIWtleVBhaXIuZ2V0S2V5cygpLnBydikge1xuICAgICAgdGhyb3cgbmV3IFNpZ25pbmdFcnJvcignTWlzc2luZyBwcml2YXRlIGtleScpO1xuICAgIH1cbiAgICBhd2FpdCB0aGlzLl90cmFuc2FjdGlvbkRhdGEuc2lnbihrZXlQYWlyKTtcbiAgICBjb25zdCB0eERhdGEgPSB0aGlzLl90cmFuc2FjdGlvbkRhdGEudG9Kc29uKCk7XG4gICAgaWYgKHR4RGF0YS5pZCkge1xuICAgICAgdGhpcy5faWQgPSB0eERhdGEuaWQ7XG4gICAgfVxuICAgIHRoaXMuX3NpZ25hdHVyZXMucHVzaCh0b1N0cmluZ1NpZyh7IHY6IHR4RGF0YS52ISwgcjogdHhEYXRhLnIhLCBzOiB0eERhdGEucyEgfSkpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHRvQnJvYWRjYXN0Rm9ybWF0KCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuX3RyYW5zYWN0aW9uRGF0YSkge1xuICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uRGF0YS50b1NlcmlhbGl6ZWQoKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdObyB0cmFuc2FjdGlvbiBkYXRhIHRvIGZvcm1hdCcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHRvSnNvbigpOiBUeERhdGEge1xuICAgIGlmICh0aGlzLl90cmFuc2FjdGlvbkRhdGEpIHtcbiAgICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbkRhdGEudG9Kc29uKCk7XG4gICAgfVxuICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24nKTtcbiAgfVxufVxuIl19
|
|
@@ -1,270 +0,0 @@
|
|
|
1
|
-
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
2
|
-
import EthereumCommon from '@ethereumjs/common';
|
|
3
|
-
import BigNumber from 'bignumber.js';
|
|
4
|
-
import { BaseAddress, BaseKey, BaseTransaction, BaseTransactionBuilder, TransactionType } from '@bitgo-beta/sdk-core';
|
|
5
|
-
import { KeyPair } from './keyPair';
|
|
6
|
-
import { Fee, TxData } from './iface';
|
|
7
|
-
import { ERC1155TransferBuilder } from './transferBuilders/transferBuilderERC1155';
|
|
8
|
-
import { ERC721TransferBuilder } from './transferBuilders/transferBuilderERC721';
|
|
9
|
-
import { Transaction } from './transaction';
|
|
10
|
-
import { TransferBuilder } from './transferBuilder';
|
|
11
|
-
/**
|
|
12
|
-
* EthereumLike transaction builder.
|
|
13
|
-
*/
|
|
14
|
-
export declare abstract class TransactionBuilder extends BaseTransactionBuilder {
|
|
15
|
-
protected _type: TransactionType;
|
|
16
|
-
protected _common: EthereumCommon;
|
|
17
|
-
protected _sourceKeyPair: KeyPair;
|
|
18
|
-
private _transaction;
|
|
19
|
-
private _counter;
|
|
20
|
-
private _fee;
|
|
21
|
-
protected _value: string;
|
|
22
|
-
private _txSignature;
|
|
23
|
-
private _walletOwnerAddresses;
|
|
24
|
-
protected _walletVersion: number;
|
|
25
|
-
private _forwarderAddress;
|
|
26
|
-
private _tokenAddress;
|
|
27
|
-
private _tokenId;
|
|
28
|
-
protected _transfer: TransferBuilder | ERC721TransferBuilder | ERC1155TransferBuilder;
|
|
29
|
-
private _contractAddress;
|
|
30
|
-
private _contractCounter;
|
|
31
|
-
private _forwarderVersion;
|
|
32
|
-
private _initCode;
|
|
33
|
-
private _baseAddress;
|
|
34
|
-
private _feeAddress;
|
|
35
|
-
private _data;
|
|
36
|
-
private _salt;
|
|
37
|
-
protected _walletSimpleByteCode: string;
|
|
38
|
-
/**
|
|
39
|
-
* Public constructor.
|
|
40
|
-
*
|
|
41
|
-
* @param _coinConfig
|
|
42
|
-
*/
|
|
43
|
-
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
44
|
-
/** @inheritdoc */
|
|
45
|
-
protected buildImplementation(): Promise<BaseTransaction>;
|
|
46
|
-
protected getTransactionData(): TxData;
|
|
47
|
-
/** @inheritdoc */
|
|
48
|
-
protected fromImplementation(rawTransaction: string, isFirstSigner?: boolean): Transaction;
|
|
49
|
-
/**
|
|
50
|
-
* Load the builder data using the deserialized transaction
|
|
51
|
-
*
|
|
52
|
-
* @param {TxData} transactionJson the deserialized transaction json
|
|
53
|
-
* @param {boolean} isFirstSigner if the transaction is being signed by the first signer
|
|
54
|
-
*/
|
|
55
|
-
protected loadBuilderInput(transactionJson: TxData, isFirstSigner?: boolean): void;
|
|
56
|
-
protected setTransactionTypeFields(decodedType: TransactionType, transactionJson: TxData, isFirstSigner?: boolean): void;
|
|
57
|
-
/** @inheritdoc */
|
|
58
|
-
protected signImplementation(key: BaseKey): BaseTransaction;
|
|
59
|
-
/** @inheritdoc */
|
|
60
|
-
validateAddress(address: BaseAddress): void;
|
|
61
|
-
/** @inheritdoc */
|
|
62
|
-
validateKey(key: BaseKey): void;
|
|
63
|
-
/**
|
|
64
|
-
* Validate the raw transaction is either a JSON or
|
|
65
|
-
* a hex encoded transaction
|
|
66
|
-
*
|
|
67
|
-
* @param {any} rawTransaction The raw transaction to be validated
|
|
68
|
-
*/
|
|
69
|
-
validateRawTransaction(rawTransaction: any): void;
|
|
70
|
-
private isEip1559Txn;
|
|
71
|
-
private isRLPDecodable;
|
|
72
|
-
protected validateBaseTransactionFields(): void;
|
|
73
|
-
/** @inheritdoc */
|
|
74
|
-
validateTransaction(transaction: BaseTransaction): void;
|
|
75
|
-
/**
|
|
76
|
-
* Check wallet owner addresses for wallet initialization transactions are valid or throw.
|
|
77
|
-
*/
|
|
78
|
-
private validateWalletInitializationFields;
|
|
79
|
-
/**
|
|
80
|
-
* Check if a token address for the tx was defined or throw.
|
|
81
|
-
*/
|
|
82
|
-
private validateTokenAddress;
|
|
83
|
-
/**
|
|
84
|
-
* Check if a forwarder address for the tx was defined or throw.
|
|
85
|
-
*/
|
|
86
|
-
private validateForwarderAddress;
|
|
87
|
-
/**
|
|
88
|
-
* Check if a contract address for the wallet was defined or throw.
|
|
89
|
-
*/
|
|
90
|
-
private validateContractAddress;
|
|
91
|
-
/**
|
|
92
|
-
* Checks if a contract call data field was defined or throws otherwise
|
|
93
|
-
*/
|
|
94
|
-
private validateDataField;
|
|
95
|
-
private setContract;
|
|
96
|
-
validateValue(value: BigNumber): void;
|
|
97
|
-
/**
|
|
98
|
-
* The type of transaction being built.
|
|
99
|
-
*
|
|
100
|
-
* @param {TransactionType} type
|
|
101
|
-
*/
|
|
102
|
-
type(type: TransactionType): void;
|
|
103
|
-
/**
|
|
104
|
-
* Set the transaction fees. Low fees may get a transaction rejected or never picked up by bakers.
|
|
105
|
-
*
|
|
106
|
-
* @param {Fee} fee Baker fees. May also include the maximum gas to pay
|
|
107
|
-
*/
|
|
108
|
-
fee(fee: Fee): void;
|
|
109
|
-
/**
|
|
110
|
-
* Set the transaction counter to prevent submitting repeated transactions.
|
|
111
|
-
*
|
|
112
|
-
* @param {number} counter The counter to use
|
|
113
|
-
*/
|
|
114
|
-
counter(counter: number): void;
|
|
115
|
-
/**
|
|
116
|
-
* The value to send along with this transaction. 0 by default
|
|
117
|
-
*
|
|
118
|
-
* @param {string} value The value to send along with this transaction
|
|
119
|
-
*/
|
|
120
|
-
value(value: string): void;
|
|
121
|
-
protected buildBase(data: string): TxData;
|
|
122
|
-
/**
|
|
123
|
-
* Set one of the owners of the multisig wallet.
|
|
124
|
-
*
|
|
125
|
-
* @param {string} address An Ethereum address
|
|
126
|
-
*/
|
|
127
|
-
owner(address: string): void;
|
|
128
|
-
/**
|
|
129
|
-
* Build a transaction for a generic multisig contract.
|
|
130
|
-
*
|
|
131
|
-
* @returns {TxData} The Ethereum transaction data
|
|
132
|
-
*/
|
|
133
|
-
protected buildWalletInitializationTransaction(walletVersion?: number): TxData;
|
|
134
|
-
/**
|
|
135
|
-
* Returns the smart contract encoded data
|
|
136
|
-
*
|
|
137
|
-
* @param {string[]} addresses - the contract signers
|
|
138
|
-
* @returns {string} - the smart contract encoded data
|
|
139
|
-
*/
|
|
140
|
-
protected getContractData(addresses: string[]): string;
|
|
141
|
-
contract(address: string): void;
|
|
142
|
-
/**
|
|
143
|
-
* Gets the transfer funds builder if exist, or creates a new one for this transaction and returns it
|
|
144
|
-
*
|
|
145
|
-
* @param {string} data transfer data to initialize the transfer builder with, empty if none given
|
|
146
|
-
* @param {boolean} isFirstSigner whether the transaction is being signed by the first signer
|
|
147
|
-
* @returns {TransferBuilder | ERC721TransferBuilder | ERC1155TransferBuilder} the transfer builder
|
|
148
|
-
*/
|
|
149
|
-
abstract transfer(data?: string, isFirstSigner?: boolean): TransferBuilder | ERC721TransferBuilder | ERC1155TransferBuilder;
|
|
150
|
-
/**
|
|
151
|
-
* Returns the serialized sendMultiSig contract method data
|
|
152
|
-
*
|
|
153
|
-
* @returns {string} serialized sendMultiSig data
|
|
154
|
-
*/
|
|
155
|
-
getSendData(): string;
|
|
156
|
-
/**
|
|
157
|
-
* Decide if the coin uses non-packed encoding for tx data
|
|
158
|
-
*
|
|
159
|
-
* @returns {boolean} true if the coin uses non-packed encoding for tx data
|
|
160
|
-
*/
|
|
161
|
-
coinUsesNonPackedEncodingForTxData(): boolean;
|
|
162
|
-
private buildSendTransaction;
|
|
163
|
-
/**
|
|
164
|
-
* Set the contract transaction nonce to calculate the forwarder address.
|
|
165
|
-
*
|
|
166
|
-
* @param {number} contractCounter The counter to use
|
|
167
|
-
*/
|
|
168
|
-
contractCounter(contractCounter: number): void;
|
|
169
|
-
/**
|
|
170
|
-
* Build a transaction to create a forwarder.
|
|
171
|
-
*
|
|
172
|
-
* @returns {TxData} The Ethereum transaction data
|
|
173
|
-
*/
|
|
174
|
-
private buildAddressInitializationTransaction;
|
|
175
|
-
/**
|
|
176
|
-
* Set the forwarder address to flush
|
|
177
|
-
*
|
|
178
|
-
* @param {string} address The address to flush
|
|
179
|
-
*/
|
|
180
|
-
forwarderAddress(address: string): void;
|
|
181
|
-
/**
|
|
182
|
-
* Set the address of the ERC20 token contract that we are flushing tokens for
|
|
183
|
-
*
|
|
184
|
-
* @param {string} address the contract address of the token to flush
|
|
185
|
-
*/
|
|
186
|
-
tokenAddress(address: string): void;
|
|
187
|
-
/**
|
|
188
|
-
* Set the token ID for ERC721/ERC1155 token flush
|
|
189
|
-
*
|
|
190
|
-
* @param {string} tokenId the token ID to flush
|
|
191
|
-
*/
|
|
192
|
-
tokenId(tokenId: string): void;
|
|
193
|
-
/**
|
|
194
|
-
* Build a transaction to flush tokens from a forwarder.
|
|
195
|
-
*
|
|
196
|
-
* @returns {TxData} The Ethereum transaction data
|
|
197
|
-
*/
|
|
198
|
-
private buildFlushTokensTransaction;
|
|
199
|
-
/**
|
|
200
|
-
* Build a transaction to flush tokens from a forwarder.
|
|
201
|
-
*
|
|
202
|
-
* @returns {TxData} The Ethereum transaction data
|
|
203
|
-
*/
|
|
204
|
-
private buildFlushCoinsTransaction;
|
|
205
|
-
/**
|
|
206
|
-
* Build a transaction to flush ERC721 NFTs from a forwarder.
|
|
207
|
-
*
|
|
208
|
-
* @returns {TxData} The Ethereum transaction data
|
|
209
|
-
*/
|
|
210
|
-
private buildFlushERC721Transaction;
|
|
211
|
-
/**
|
|
212
|
-
* Build a transaction to flush ERC1155 tokens from a forwarder.
|
|
213
|
-
*
|
|
214
|
-
* @returns {TxData} The Ethereum transaction data
|
|
215
|
-
*/
|
|
216
|
-
private buildFlushERC1155Transaction;
|
|
217
|
-
data(encodedCall: string): void;
|
|
218
|
-
private buildGenericContractCallTransaction;
|
|
219
|
-
/** @inheritdoc */
|
|
220
|
-
protected get transaction(): Transaction;
|
|
221
|
-
/** @inheritdoc */
|
|
222
|
-
protected set transaction(transaction: Transaction);
|
|
223
|
-
/**
|
|
224
|
-
* Get the final v value. Final v is described in EIP-155.
|
|
225
|
-
*
|
|
226
|
-
* @protected for internal use when the enableFinalVField flag is true.
|
|
227
|
-
*/
|
|
228
|
-
protected getFinalV(): string;
|
|
229
|
-
/**
|
|
230
|
-
* Set the forwarder version for address to be initialized
|
|
231
|
-
*
|
|
232
|
-
* @param {number} version forwarder version
|
|
233
|
-
*/
|
|
234
|
-
forwarderVersion(version: number): void;
|
|
235
|
-
/**
|
|
236
|
-
* Set the salt to create the address using create2
|
|
237
|
-
*
|
|
238
|
-
* @param {string} salt The salt to create the address using create2, hex string
|
|
239
|
-
*/
|
|
240
|
-
salt(salt: string): void;
|
|
241
|
-
/**
|
|
242
|
-
* Take the implementation address for the proxy contract, and get the binary initcode for the associated proxy
|
|
243
|
-
*
|
|
244
|
-
* @param {string} implementationAddress The address of the implementation contract
|
|
245
|
-
*/
|
|
246
|
-
initCode(implementationAddress: string): void;
|
|
247
|
-
/**
|
|
248
|
-
* Set the wallet version for wallet to be initialized
|
|
249
|
-
*
|
|
250
|
-
* @param {number} version wallet version
|
|
251
|
-
*/
|
|
252
|
-
walletVersion(version: number): void;
|
|
253
|
-
/**
|
|
254
|
-
* Set the base address of the wallet
|
|
255
|
-
*
|
|
256
|
-
* @param {string} address The wallet contract address
|
|
257
|
-
*/
|
|
258
|
-
baseAddress(address: string): void;
|
|
259
|
-
/**
|
|
260
|
-
* Set the fee address of the wallet
|
|
261
|
-
*
|
|
262
|
-
* @param {string} address The fee address of the wallet
|
|
263
|
-
*/
|
|
264
|
-
feeAddress(address: string): void;
|
|
265
|
-
/**
|
|
266
|
-
* Get the wallet version for wallet
|
|
267
|
-
*/
|
|
268
|
-
getWalletVersion(): number;
|
|
269
|
-
}
|
|
270
|
-
//# sourceMappingURL=transactionBuilder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilder.ts"],"names":[],"mappings":"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"}
|