1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const enums_1 = require("../enums");
|
4 | const bignum_1 = require("../utils/bignum");
|
5 | class FeeManager {
|
6 | constructor() {
|
7 | this.fees = {};
|
8 | }
|
9 | set(type, value) {
|
10 | this.fees[type] = bignum_1.BigNumber.make(value);
|
11 | }
|
12 | get(type) {
|
13 | return this.fees[type];
|
14 | }
|
15 | getForTransaction(transaction) {
|
16 | const fee = this.fees[transaction.type];
|
17 | if (transaction.type === enums_1.TransactionTypes.MultiSignature) {
|
18 | if (transaction.version === 2) {
|
19 | return fee.times(transaction.asset.multiSignature.publicKeys.length + 1);
|
20 | }
|
21 | else {
|
22 | return fee.times(transaction.asset.multiSignatureLegacy.keysgroup.length + 1);
|
23 | }
|
24 | }
|
25 | return fee;
|
26 | }
|
27 | }
|
28 | exports.FeeManager = FeeManager;
|
29 | exports.feeManager = new FeeManager();
|
30 |
|
\ | No newline at end of file |