@rosen-bridge/minimum-fee 1.0.1 → 1.0.2
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/lib/MinimumFeeBox.d.ts +7 -5
- package/dist/lib/MinimumFeeBox.d.ts.map +1 -1
- package/dist/lib/MinimumFeeBox.js +40 -19
- package/dist/lib/MinimumFeeBoxBuilder.d.ts +42 -42
- package/dist/lib/MinimumFeeBoxBuilder.js +172 -143
- package/dist/lib/MinimumFeeConfig.d.ts +23 -19
- package/dist/lib/MinimumFeeConfig.js +34 -36
- package/dist/lib/constants.d.ts +2 -2
- package/dist/lib/constants.js +1 -1
- package/dist/lib/errors.d.ts +6 -6
- package/dist/lib/errors.js +16 -16
- package/dist/lib/handleApiError.d.ts +26 -7
- package/dist/lib/handleApiError.js +25 -23
- package/dist/lib/index.d.ts +1 -1
- package/dist/lib/types.d.ts +21 -21
- package/dist/lib/types.js +16 -16
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +2 -2
|
@@ -1,149 +1,178 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
Address,
|
|
3
|
+
BoxValue,
|
|
4
|
+
Contract,
|
|
5
|
+
ErgoBoxCandidateBuilder,
|
|
6
|
+
I64,
|
|
7
|
+
TokenAmount,
|
|
8
|
+
TokenId,
|
|
9
|
+
Constant,
|
|
10
|
+
} from 'ergo-lib-wasm-nodejs';
|
|
2
11
|
import { InvalidConfig } from './errors';
|
|
3
12
|
import { ERGO_NATIVE_TOKEN } from './constants';
|
|
4
13
|
export class MinimumFeeBoxBuilder {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
fees;
|
|
15
|
+
boxValue;
|
|
16
|
+
boxheight;
|
|
17
|
+
tokenId;
|
|
18
|
+
minimumFeeNFT;
|
|
19
|
+
address;
|
|
20
|
+
constructor(minimumFeeNFT, address) {
|
|
21
|
+
this.fees = [];
|
|
22
|
+
this.minimumFeeNFT = minimumFeeNFT;
|
|
23
|
+
this.address = address;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* adds a feeConfig
|
|
27
|
+
* @param feeConfig
|
|
28
|
+
*/
|
|
29
|
+
addConfig = (feeConfig) => {
|
|
30
|
+
this.fees.push(feeConfig.getConfig());
|
|
31
|
+
return this;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* removes a config by index
|
|
35
|
+
* @param index
|
|
36
|
+
*/
|
|
37
|
+
removeConfig = (index) => {
|
|
38
|
+
this.fees.splice(index, 1);
|
|
39
|
+
return this;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* sets ErgoBox Erg value
|
|
43
|
+
* @param nanoErg
|
|
44
|
+
* @returns
|
|
45
|
+
*/
|
|
46
|
+
setValue = (nanoErg) => {
|
|
47
|
+
this.boxValue = BoxValue.from_i64(I64.from_str(nanoErg.toString()));
|
|
48
|
+
return this;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* sets ErgoBox creationheight
|
|
52
|
+
* @param currentHeight
|
|
53
|
+
*/
|
|
54
|
+
setHeight = (currentHeight) => {
|
|
55
|
+
this.boxheight = currentHeight;
|
|
56
|
+
return this;
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* sets config token id
|
|
60
|
+
* @param tokenId
|
|
61
|
+
*/
|
|
62
|
+
setToken = (tokenId) => {
|
|
63
|
+
this.tokenId = tokenId;
|
|
64
|
+
return this;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* validates some of specified configs
|
|
68
|
+
*/
|
|
69
|
+
validate = () => {
|
|
70
|
+
if (!this.boxValue)
|
|
71
|
+
throw new InvalidConfig(`Box value argument is not defined`);
|
|
72
|
+
if (!this.boxheight)
|
|
73
|
+
throw new InvalidConfig(`Box creation height argument is not defined`);
|
|
74
|
+
if (!this.tokenId)
|
|
75
|
+
throw new InvalidConfig(`Config token id is not defined`);
|
|
76
|
+
if (this.fees.length === 0)
|
|
77
|
+
throw new InvalidConfig(
|
|
78
|
+
`No config added. Please add at least one config`
|
|
79
|
+
);
|
|
80
|
+
for (let i = 0; i < this.fees.length - 1; i++) {
|
|
81
|
+
const chains = Object.keys(this.fees[0].heights);
|
|
82
|
+
chains.forEach((chain) => {
|
|
83
|
+
if (!this.fees[i + 1].heights[chain])
|
|
84
|
+
throw new InvalidConfig(
|
|
85
|
+
`Expected chain [${chain}] at index [${i + 1}]`
|
|
86
|
+
);
|
|
87
|
+
if (this.fees[i + 1].heights[chain] < this.fees[i].heights[chain])
|
|
88
|
+
throw new InvalidConfig(
|
|
89
|
+
`All heights for a chain should be ascending. Heights of chain [${chain}] at indexes [${i},${
|
|
90
|
+
i + 1
|
|
91
|
+
}] are invalid [${this.fees[i + 1].heights[chain]} < ${
|
|
92
|
+
this.fees[i].heights[chain]
|
|
93
|
+
}]`
|
|
94
|
+
);
|
|
95
|
+
});
|
|
15
96
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
if (
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
});
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* validates specified configs and builds ErgoBoxCandidate of config box using them
|
|
100
|
+
*/
|
|
101
|
+
build = () => {
|
|
102
|
+
this.validate();
|
|
103
|
+
// add box value, address and creation height
|
|
104
|
+
const boxBuilder = new ErgoBoxCandidateBuilder(
|
|
105
|
+
this.boxValue,
|
|
106
|
+
Contract.new(Address.from_base58(this.address).to_ergo_tree()),
|
|
107
|
+
this.boxheight
|
|
108
|
+
);
|
|
109
|
+
// add box tokens
|
|
110
|
+
boxBuilder.add_token(
|
|
111
|
+
TokenId.from_str(this.minimumFeeNFT),
|
|
112
|
+
TokenAmount.from_i64(I64.from_str('1'))
|
|
113
|
+
);
|
|
114
|
+
if (this.tokenId !== ERGO_NATIVE_TOKEN)
|
|
115
|
+
boxBuilder.add_token(
|
|
116
|
+
TokenId.from_str(this.tokenId),
|
|
117
|
+
TokenAmount.from_i64(I64.from_str('1'))
|
|
118
|
+
);
|
|
119
|
+
// generate register values
|
|
120
|
+
// extract chains
|
|
121
|
+
const chains = [];
|
|
122
|
+
this.fees.forEach((fee) => {
|
|
123
|
+
Object.keys(fee.heights).forEach((feeChain) => {
|
|
124
|
+
if (!chains.includes(feeChain)) chains.push(feeChain);
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
chains.sort();
|
|
128
|
+
// extract configs
|
|
129
|
+
const heights = [];
|
|
130
|
+
const brdigeFees = [];
|
|
131
|
+
const networkFees = [];
|
|
132
|
+
const rsnRatios = [];
|
|
133
|
+
const feeRatios = [];
|
|
134
|
+
this.fees.forEach((fee) => {
|
|
135
|
+
const heightsConfigs = [];
|
|
136
|
+
const brdigeFeesConfigs = [];
|
|
137
|
+
const networkFeesConfigs = [];
|
|
138
|
+
const rsnRatiosConfigs = [];
|
|
139
|
+
const feeRatiosConfigs = [];
|
|
140
|
+
chains.forEach((chain) => {
|
|
141
|
+
if (Object.hasOwn(fee.heights, chain))
|
|
142
|
+
heightsConfigs.push(fee.heights[chain]);
|
|
143
|
+
else heightsConfigs.push(-1);
|
|
144
|
+
if (Object.hasOwn(fee.configs, chain)) {
|
|
145
|
+
brdigeFeesConfigs.push(fee.configs[chain].bridgeFee.toString());
|
|
146
|
+
networkFeesConfigs.push(fee.configs[chain].networkFee.toString());
|
|
147
|
+
rsnRatiosConfigs.push([
|
|
148
|
+
fee.configs[chain].rsnRatio.toString(),
|
|
149
|
+
fee.configs[chain].rsnRatioDivisor.toString(),
|
|
150
|
+
]);
|
|
151
|
+
feeRatiosConfigs.push(fee.configs[chain].feeRatio.toString());
|
|
152
|
+
} else {
|
|
153
|
+
brdigeFeesConfigs.push('-1');
|
|
154
|
+
networkFeesConfigs.push('-1');
|
|
155
|
+
rsnRatiosConfigs.push(['-1', '-1']);
|
|
156
|
+
feeRatiosConfigs.push('-1');
|
|
77
157
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
});
|
|
98
|
-
});
|
|
99
|
-
chains.sort();
|
|
100
|
-
// extract configs
|
|
101
|
-
const heights = [];
|
|
102
|
-
const brdigeFees = [];
|
|
103
|
-
const networkFees = [];
|
|
104
|
-
const rsnRatios = [];
|
|
105
|
-
const feeRatios = [];
|
|
106
|
-
this.fees.forEach((fee) => {
|
|
107
|
-
const heightsConfigs = [];
|
|
108
|
-
const brdigeFeesConfigs = [];
|
|
109
|
-
const networkFeesConfigs = [];
|
|
110
|
-
const rsnRatiosConfigs = [];
|
|
111
|
-
const feeRatiosConfigs = [];
|
|
112
|
-
chains.forEach((chain) => {
|
|
113
|
-
if (Object.hasOwn(fee.heights, chain))
|
|
114
|
-
heightsConfigs.push(fee.heights[chain]);
|
|
115
|
-
else
|
|
116
|
-
heightsConfigs.push(-1);
|
|
117
|
-
if (Object.hasOwn(fee.configs, chain)) {
|
|
118
|
-
brdigeFeesConfigs.push(fee.configs[chain].bridgeFee.toString());
|
|
119
|
-
networkFeesConfigs.push(fee.configs[chain].networkFee.toString());
|
|
120
|
-
rsnRatiosConfigs.push([
|
|
121
|
-
fee.configs[chain].rsnRatio.toString(),
|
|
122
|
-
fee.configs[chain].rsnRatioDivisor.toString(),
|
|
123
|
-
]);
|
|
124
|
-
feeRatiosConfigs.push(fee.configs[chain].feeRatio.toString());
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
brdigeFeesConfigs.push('-1');
|
|
128
|
-
networkFeesConfigs.push('-1');
|
|
129
|
-
rsnRatiosConfigs.push(['-1', '-1']);
|
|
130
|
-
feeRatiosConfigs.push('-1');
|
|
131
|
-
}
|
|
132
|
-
});
|
|
133
|
-
heights.push(heightsConfigs);
|
|
134
|
-
brdigeFees.push(brdigeFeesConfigs);
|
|
135
|
-
networkFees.push(networkFeesConfigs);
|
|
136
|
-
rsnRatios.push(rsnRatiosConfigs);
|
|
137
|
-
feeRatios.push(feeRatiosConfigs);
|
|
138
|
-
});
|
|
139
|
-
// add box registers
|
|
140
|
-
boxBuilder.set_register_value(4, Constant.from_coll_coll_byte(chains.map((chain) => Buffer.from(chain))));
|
|
141
|
-
boxBuilder.set_register_value(5, Constant.from_js(heights));
|
|
142
|
-
boxBuilder.set_register_value(6, Constant.from_js(brdigeFees));
|
|
143
|
-
boxBuilder.set_register_value(7, Constant.from_js(networkFees));
|
|
144
|
-
boxBuilder.set_register_value(8, Constant.from_js(rsnRatios));
|
|
145
|
-
boxBuilder.set_register_value(9, Constant.from_js(feeRatios));
|
|
146
|
-
return boxBuilder.build();
|
|
147
|
-
};
|
|
158
|
+
});
|
|
159
|
+
heights.push(heightsConfigs);
|
|
160
|
+
brdigeFees.push(brdigeFeesConfigs);
|
|
161
|
+
networkFees.push(networkFeesConfigs);
|
|
162
|
+
rsnRatios.push(rsnRatiosConfigs);
|
|
163
|
+
feeRatios.push(feeRatiosConfigs);
|
|
164
|
+
});
|
|
165
|
+
// add box registers
|
|
166
|
+
boxBuilder.set_register_value(
|
|
167
|
+
4,
|
|
168
|
+
Constant.from_coll_coll_byte(chains.map((chain) => Buffer.from(chain)))
|
|
169
|
+
);
|
|
170
|
+
boxBuilder.set_register_value(5, Constant.from_js(heights));
|
|
171
|
+
boxBuilder.set_register_value(6, Constant.from_js(brdigeFees));
|
|
172
|
+
boxBuilder.set_register_value(7, Constant.from_js(networkFees));
|
|
173
|
+
boxBuilder.set_register_value(8, Constant.from_js(rsnRatios));
|
|
174
|
+
boxBuilder.set_register_value(9, Constant.from_js(feeRatios));
|
|
175
|
+
return boxBuilder.build();
|
|
176
|
+
};
|
|
148
177
|
}
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWluaW11bUZlZUJveEJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvTWluaW11bUZlZUJveEJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE9BQU8sRUFDUCxRQUFRLEVBQ1IsUUFBUSxFQUNSLHVCQUF1QixFQUN2QixHQUFHLEVBQ0gsV0FBVyxFQUNYLE9BQU8sRUFDUCxRQUFRLEdBRVQsTUFBTSxzQkFBc0IsQ0FBQztBQUc5QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVoRCxNQUFNLE9BQU8sb0JBQW9CO0lBQ3JCLElBQUksQ0FBYTtJQUNqQixRQUFRLENBQVc7SUFDbkIsU0FBUyxDQUFTO0lBQ2xCLE9BQU8sQ0FBUztJQUNoQixhQUFhLENBQVM7SUFDdEIsT0FBTyxDQUFTO0lBRTFCLFlBQVksYUFBcUIsRUFBRSxPQUFlO1FBQ2hELElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVMsR0FBRyxDQUFDLFNBQTJCLEVBQXdCLEVBQUU7UUFDaEUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDdEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLENBQUM7SUFFRjs7O09BR0c7SUFDSCxZQUFZLEdBQUcsQ0FBQyxLQUFhLEVBQXdCLEVBQUU7UUFDckQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzNCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0lBRUY7Ozs7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Q2hFLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzlELFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBRTlELE9BQU8sVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzVCLENBQUMsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWRkcmVzcyxcbiAgQm94VmFsdWUsXG4gIENvbnRyYWN0LFxuICBFcmdvQm94Q2FuZGlkYXRlQnVpbGRlcixcbiAgSTY0LFxuICBUb2tlbkFtb3VudCxcbiAgVG9rZW5JZCxcbiAgQ29uc3RhbnQsXG4gIEVyZ29Cb3hDYW5kaWRhdGUsXG59IGZyb20gJ2VyZ28tbGliLXdhc20tbm9kZWpzJztcbmltcG9ydCB7IE1pbmltdW1GZWVDb25maWcgfSBmcm9tICcuL01pbmltdW1GZWVDb25maWcnO1xuaW1wb3J0IHsgRmVlIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBJbnZhbGlkQ29uZmlnIH0gZnJvbSAnLi9lcnJvcnMnO1xuaW1wb3J0IHsgRVJHT19OQVRJVkVfVE9LRU4gfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjbGFzcyBNaW5pbXVtRmVlQm94QnVpbGRlciB7XG4gIHByb3RlY3RlZCBmZWVzOiBBcnJheTxGZWU+O1xuICBwcm90ZWN0ZWQgYm94VmFsdWU6IEJveFZhbHVlO1xuICBwcm90ZWN0ZWQgYm94aGVpZ2h0OiBudW1iZXI7XG4gIHByb3RlY3RlZCB0b2tlbklkOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBtaW5pbXVtRmVlTkZUOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBhZGRyZXNzOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IobWluaW11bUZlZU5GVDogc3RyaW5nLCBhZGRyZXNzOiBzdHJpbmcpIHtcbiAgICB0aGlzLmZlZXMgPSBbXTtcbiAgICB0aGlzLm1pbmltdW1GZWVORlQgPSBtaW5pbXVtRmVlTkZUO1xuICAgIHRoaXMuYWRkcmVzcyA9IGFkZHJlc3M7XG4gIH1cblxuICAvKipcbiAgICogYWRkcyBhIGZlZUNvbmZpZ1xuICAgKiBAcGFyYW0gZmVlQ29uZmlnXG4gICAqL1xuICBhZGRDb25maWcgPSAoZmVlQ29uZmlnOiBNaW5pbXVtRmVlQ29uZmlnKTogTWluaW11bUZlZUJveEJ1aWxkZXIgPT4ge1xuICAgIHRoaXMuZmVlcy5wdXNoKGZlZUNvbmZpZy5nZXRDb25maWcoKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH07XG5cbiAgLyoqXG4gICAqIHJlbW92ZXMgYSBjb25maWcgYnkgaW5kZXhcbiAgICogQHBhcmFtIGluZGV4XG4gICAqL1xuICByZW1vdmVDb25maWcgPSAoaW5kZXg6IG51bWJlcik6IE1pbmltdW1GZWVCb3hCdWlsZGVyID0+IHtcbiAgICB0aGlzLmZlZXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfTtcblxuICAvKipcbiAgICogc2V0cyBFcmdvQm94IEVyZyB2YWx1ZVxuICAgKiBAcGFyYW0gbmFub0VyZ1xuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgc2V0VmFsdWUgPSAobmFub0VyZzogYmlnaW50KTogTWluaW11bUZlZUJveEJ1aWxkZXIgPT4ge1xuICAgIHRoaXMuYm94VmFsdWUgPSBCb3hWYWx1ZS5mcm9tX2k2NChJNjQuZnJvbV9zdHIobmFub0VyZy50b1N0cmluZygpKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH07XG5cbiAgLyoqXG4gICAqIHNldHMgRXJnb0JveCBjcmVhdGlvbmhlaWdodFxuICAgKiBAcGFyYW0gY3VycmVudEhlaWdodFxuICAgKi9cbiAgc2V0SGVpZ2h0ID0gKGN1cnJlbnRIZWlnaHQ6IG51bWJlcik6IE1pbmltdW1GZWVCb3hCdWlsZGVyID0+IHtcbiAgICB0aGlzLmJveGhlaWdodCA9IGN1cnJlbnRIZWlnaHQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH07XG5cbiAgLyoqXG4gICAqIHNldHMgY29uZmlnIHRva2VuIGlkXG4gICAqIEBwYXJhbSB0b2tlbklkXG4gICAqL1xuICBzZXRUb2tlbiA9ICh0b2tlbklkOiBzdHJpbmcpOiBNaW5pbXVtRmVlQm94QnVpbGRlciA9PiB7XG4gICAgdGhpcy50b2tlbklkID0gdG9rZW5JZDtcbiAgICByZXR1cm4gdGhpcztcbiAgfTtcblxuICAvKipcbiAgICogdmFsaWRhdGVzIHNvbWUgb2Ygc3BlY2lmaWVkIGNvbmZpZ3NcbiAgICovXG4gIHByb3RlY3RlZCB2YWxpZGF0ZSA9ICgpOiB2b2lkID0+IHtcbiAgICBpZiAoIXRoaXMuYm94VmFsdWUpXG4gICAgICB0aHJvdyBuZXcgSW52YWxpZENvbmZpZyhgQm94IHZhbHVlIGFyZ3VtZW50IGlzIG5vdCBkZWZpbmVkYCk7XG4gICAgaWYgKCF0aGlzLmJveGhlaWdodClcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkQ29uZmlnKGBCb3ggY3JlYXRpb24gaGVpZ2h0IGFyZ3VtZW50IGlzIG5vdCBkZWZpbmVkYCk7XG4gICAgaWYgKCF0aGlzLnRva2VuSWQpXG4gICAgICB0aHJvdyBuZXcgSW52YWxpZENvbmZpZyhgQ29uZmlnIHRva2VuIGlkIGlzIG5vdCBkZWZpbmVkYCk7XG4gICAgaWYgKHRoaXMuZmVlcy5sZW5ndGggPT09IDApXG4gICAgICB0aHJvdyBuZXcgSW52YWxpZENvbmZpZyhcbiAgICAgICAgYE5vIGNvbmZpZyBhZGRlZC4gUGxlYXNlIGFkZCBhdCBsZWFzdCBvbmUgY29uZmlnYFxuICAgICAgKTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5mZWVzLmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgY29uc3QgY2hhaW5zID0gT2JqZWN0LmtleXModGhpcy5mZWVzWzBdLmhlaWdodHMpO1xuICAgICAgY2hhaW5zLmZvckVhY2goKGNoYWluKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5mZWVzW2kgKyAxXS5oZWlnaHRzW2NoYWluXSlcbiAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZENvbmZpZyhcbiAgICAgICAgICAgIGBFeHBlY3RlZCBjaGFpbiBbJHtjaGFpbn1dIGF0IGluZGV4IFske2kgKyAxfV1gXG4gICAgICAgICAgKTtcbiAgICAgICAgaWYgKHRoaXMuZmVlc1tpICsgMV0uaGVpZ2h0c1tjaGFpbl0gPCB0aGlzLmZlZXNbaV0uaGVpZ2h0c1tjaGFpbl0pXG4gICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRDb25maWcoXG4gICAgICAgICAgICBgQWxsIGhlaWdodHMgZm9yIGEgY2hhaW4gc2hvdWxkIGJlIGFzY2VuZGluZy4gSGVpZ2h0cyBvZiBjaGFpbiBbJHtjaGFpbn1dIGF0IGluZGV4ZXMgWyR7aX0sJHtcbiAgICAgICAgICAgICAgaSArIDFcbiAgICAgICAgICAgIH1dIGFyZSBpbnZhbGlkIFske3RoaXMuZmVlc1tpICsgMV0uaGVpZ2h0c1tjaGFpbl19IDwgJHtcbiAgICAgICAgICAgICAgdGhpcy5mZWVzW2ldLmhlaWdodHNbY2hhaW5dXG4gICAgICAgICAgICB9XWBcbiAgICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiB2YWxpZGF0ZXMgc3BlY2lmaWVkIGNvbmZpZ3MgYW5kIGJ1aWxkcyBFcmdvQm94Q2FuZGlkYXRlIG9mIGNvbmZpZyBib3ggdXNpbmcgdGhlbVxuICAgKi9cbiAgYnVpbGQgPSAoKTogRXJnb0JveENhbmRpZGF0ZSA9PiB7XG4gICAgdGhpcy52YWxpZGF0ZSgpO1xuXG4gICAgLy8gYWRkIGJveCB2YWx1ZSwgYWRkcmVzcyBhbmQgY3JlYXRpb24gaGVpZ2h0XG4gICAgY29uc3QgYm94QnVpbGRlciA9IG5ldyBFcmdvQm94Q2FuZGlkYXRlQnVpbGRlcihcbiAgICAgIHRoaXMuYm94VmFsdWUsXG4gICAgICBDb250cmFjdC5uZXcoQWRkcmVzcy5mcm9tX2Jhc2U1OCh0aGlzLmFkZHJlc3MpLnRvX2VyZ29fdHJlZSgpKSxcbiAgICAgIHRoaXMuYm94aGVpZ2h0XG4gICAgKTtcblxuICAgIC8vIGFkZCBib3ggdG9rZW5zXG4gICAgYm94QnVpbGRlci5hZGRfdG9rZW4oXG4gICAgICBUb2tlbklkLmZyb21fc3RyKHRoaXMubWluaW11bUZlZU5GVCksXG4gICAgICBUb2tlbkFtb3VudC5mcm9tX2k2NChJNjQuZnJvbV9zdHIoJzEnKSlcbiAgICApO1xuICAgIGlmICh0aGlzLnRva2VuSWQgIT09IEVSR09fTkFUSVZFX1RPS0VOKVxuICAgICAgYm94QnVpbGRlci5hZGRfdG9rZW4oXG4gICAgICAgIFRva2VuSWQuZnJvbV9zdHIodGhpcy50b2tlbklkKSxcbiAgICAgICAgVG9rZW5BbW91bnQuZnJvbV9pNjQoSTY0LmZyb21fc3RyKCcxJykpXG4gICAgICApO1xuXG4gICAgLy8gZ2VuZXJhdGUgcmVnaXN0ZXIgdmFsdWVzXG4gICAgLy8gIGV4dHJhY3QgY2hhaW5zXG4gICAgY29uc3QgY2hhaW5zOiBBcnJheTxzdHJpbmc+ID0gW107XG4gICAgdGhpcy5mZWVzLmZvckVhY2goKGZlZSkgPT4ge1xuICAgICAgT2JqZWN0LmtleXMoZmVlLmhlaWdodHMpLmZvckVhY2goKGZlZUNoYWluKSA9PiB7XG4gICAgICAgIGlmICghY2hhaW5zLmluY2x1ZGVzKGZlZUNoYWluKSkgY2hhaW5zLnB1c2goZmVlQ2hhaW4pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgY2hhaW5zLnNvcnQoKTtcbiAgICAvLyAgZXh0cmFjdCBjb25maWdzXG4gICAgY29uc3QgaGVpZ2h0czogQXJyYXk8QXJyYXk8bnVtYmVyPj4gPSBbXTtcbiAgICBjb25zdCBicmRpZ2VGZWVzOiBBcnJheTxBcnJheTxzdHJpbmc+PiA9IFtdO1xuICAgIGNvbnN0IG5ldHdvcmtGZWVzOiBBcnJheTxBcnJheTxzdHJpbmc+PiA9IFtdO1xuICAgIGNvbnN0IHJzblJhdGlvczogQXJyYXk8QXJyYXk8QXJyYXk8c3RyaW5nPj4+ID0gW107XG4gICAgY29uc3QgZmVlUmF0aW9zOiBBcnJheTxBcnJheTxzdHJpbmc+PiA9IFtdO1xuICAgIHRoaXMuZmVlcy5mb3JFYWNoKChmZWUpID0+IHtcbiAgICAgIGNvbnN0IGhlaWdodHNDb25maWdzOiBBcnJheTxudW1iZXI+ID0gW107XG4gICAgICBjb25zdCBicmRpZ2VGZWVzQ29uZmlnczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuICAgICAgY29uc3QgbmV0d29ya0ZlZXNDb25maWdzOiBBcnJheTxzdHJpbmc+ID0gW107XG4gICAgICBjb25zdCByc25SYXRpb3NDb25maWdzOiBBcnJheTxBcnJheTxzdHJpbmc+PiA9IFtdO1xuICAgICAgY29uc3QgZmVlUmF0aW9zQ29uZmlnczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuXG4gICAgICBjaGFpbnMuZm9yRWFjaCgoY2hhaW4pID0+IHtcbiAgICAgICAgaWYgKE9iamVjdC5oYXNPd24oZmVlLmhlaWdodHMsIGNoYWluKSlcbiAgICAgICAgICBoZWlnaHRzQ29uZmlncy5wdXNoKGZlZS5oZWlnaHRzW2NoYWluXSk7XG4gICAgICAgIGVsc2UgaGVpZ2h0c0NvbmZpZ3MucHVzaCgtMSk7XG5cbiAgICAgICAgaWYgKE9iamVjdC5oYXNPd24oZmVlLmNvbmZpZ3MsIGNoYWluKSkge1xuICAgICAgICAgIGJyZGlnZUZlZXNDb25maWdzLnB1c2goZmVlLmNvbmZpZ3NbY2hhaW5dLmJyaWRnZUZlZS50b1N0cmluZygpKTtcbiAgICAgICAgICBuZXR3b3JrRmVlc0NvbmZpZ3MucHVzaChmZWUuY29uZmlnc1tjaGFpbl0ubmV0d29ya0ZlZS50b1N0cmluZygpKTtcbiAgICAgICAgICByc25SYXRpb3NDb25maWdzLnB1c2goW1xuICAgICAgICAgICAgZmVlLmNvbmZpZ3NbY2hhaW5dLnJzblJhdGlvLnRvU3RyaW5nKCksXG4gICAgICAgICAgICBmZWUuY29uZmlnc1tjaGFpbl0ucnNuUmF0aW9EaXZpc29yLnRvU3RyaW5nKCksXG4gICAgICAgICAgXSk7XG4gICAgICAgICAgZmVlUmF0aW9zQ29uZmlncy5wdXNoKGZlZS5jb25maWdzW2NoYWluXS5mZWVSYXRpby50b1N0cmluZygpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBicmRpZ2VGZWVzQ29uZmlncy5wdXNoKCctMScpO1xuICAgICAgICAgIG5ldHdvcmtGZWVzQ29uZmlncy5wdXNoKCctMScpO1xuICAgICAgICAgIHJzblJhdGlvc0NvbmZpZ3MucHVzaChbJy0xJywgJy0xJ10pO1xuICAgICAgICAgIGZlZVJhdGlvc0NvbmZpZ3MucHVzaCgnLTEnKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGhlaWdodHMucHVzaChoZWlnaHRzQ29uZmlncyk7XG4gICAgICBicmRpZ2VGZWVzLnB1c2goYnJkaWdlRmVlc0NvbmZpZ3MpO1xuICAgICAgbmV0d29ya0ZlZXMucHVzaChuZXR3b3JrRmVlc0NvbmZpZ3MpO1xuICAgICAgcnNuUmF0aW9zLnB1c2gocnNuUmF0aW9zQ29uZmlncyk7XG4gICAgICBmZWVSYXRpb3MucHVzaChmZWVSYXRpb3NDb25maWdzKTtcbiAgICB9KTtcblxuICAgIC8vIGFkZCBib3ggcmVnaXN0ZXJzXG4gICAgYm94QnVpbGRlci5zZXRfcmVnaXN0ZXJfdmFsdWUoXG4gICAgICA0LFxuICAgICAgQ29uc3RhbnQuZnJvbV9jb2xsX2NvbGxfYnl0ZShjaGFpbnMubWFwKChjaGFpbikgPT4gQnVmZmVyLmZyb20oY2hhaW4pKSlcbiAgICApO1xuICAgIGJveEJ1aWxkZXIuc2V0X3JlZ2lzdGVyX3ZhbHVlKDUsIENvbnN0YW50LmZyb21fanMoaGVpZ2h0cykpO1xuICAgIGJveEJ1aWxkZXIuc2V0X3JlZ2lzdGVyX3ZhbHVlKDYsIENvbnN0YW50LmZyb21fanMoYnJkaWdlRmVlcykpO1xuICAgIGJveEJ1aWxkZXIuc2V0X3JlZ2lzdGVyX3ZhbHVlKDcsIENvbnN0YW50LmZyb21fanMobmV0d29ya0ZlZXMpKTtcbiAgICBib3hCdWlsZGVyLnNldF9yZWdpc3Rlcl92YWx1ZSg4LCBDb25zdGFudC5mcm9tX2pzKHJzblJhdGlvcykpO1xuICAgIGJveEJ1aWxkZXIuc2V0X3JlZ2lzdGVyX3ZhbHVlKDksIENvbnN0YW50LmZyb21fanMoZmVlUmF0aW9zKSk7XG5cbiAgICByZXR1cm4gYm94QnVpbGRlci5idWlsZCgpO1xuICB9O1xufVxuIl19
|
|
178
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWluaW11bUZlZUJveEJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvTWluaW11bUZlZUJveEJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE9BQU8sRUFDUCxRQUFRLEVBQ1IsUUFBUSxFQUNSLHVCQUF1QixFQUN2QixHQUFHLEVBQ0gsV0FBVyxFQUNYLE9BQU8sRUFDUCxRQUFRLEdBRVQsTUFBTSxzQkFBc0IsQ0FBQztBQUc5QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVoRCxNQUFNLE9BQU8sb0JBQW9CO0lBQ3JCLElBQUksQ0FBYTtJQUNqQixRQUFRLENBQVc7SUFDbkIsU0FBUyxDQUFTO0lBQ2xCLE9BQU8sQ0FBUztJQUNoQixhQUFhLENBQVM7SUFDdEIsT0FBTyxDQUFTO0lBRTFCLFlBQVksYUFBcUIsRUFBRSxPQUFlO1FBQ2hELElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVMsR0FBRyxDQUFDLFNBQTJCLEVBQXdCLEVBQUU7UUFDaEUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDdEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLENBQUM7SUFFRjs7O09BR0c7SUFDSCxZQUFZLEdBQUcsQ0FBQyxLQUFhLEVBQXdCLEVBQUU7UUFDckQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzNCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0lBRUY7Ozs7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Q2hFLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzlELFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBRTlELE9BQU8sVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzVCLENBQUMsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWRkcmVzcyxcbiAgQm94VmFsdWUsXG4gIENvbnRyYWN0LFxuICBFcmdvQm94Q2FuZGlkYXRlQnVpbGRlcixcbiAgSTY0LFxuICBUb2tlbkFtb3VudCxcbiAgVG9rZW5JZCxcbiAgQ29uc3RhbnQsXG4gIEVyZ29Cb3hDYW5kaWRhdGUsXG59IGZyb20gJ2VyZ28tbGliLXdhc20tbm9kZWpzJztcbmltcG9ydCB7IE1pbmltdW1GZWVDb25maWcgfSBmcm9tICcuL01pbmltdW1GZWVDb25maWcnO1xuaW1wb3J0IHsgRmVlIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBJbnZhbGlkQ29uZmlnIH0gZnJvbSAnLi9lcnJvcnMnO1xuaW1wb3J0IHsgRVJHT19OQVRJVkVfVE9LRU4gfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjbGFzcyBNaW5pbXVtRmVlQm94QnVpbGRlciB7XG4gIHByb3RlY3RlZCBmZWVzOiBBcnJheTxGZWU+O1xuICBwcm90ZWN0ZWQgYm94VmFsdWU6IEJveFZhbHVlO1xuICBwcm90ZWN0ZWQgYm94aGVpZ2h0OiBudW1iZXI7XG4gIHByb3RlY3RlZCB0b2tlbklkOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBtaW5pbXVtRmVlTkZUOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBhZGRyZXNzOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IobWluaW11bUZlZU5GVDogc3RyaW5nLCBhZGRyZXNzOiBzdHJpbmcpIHtcbiAgICB0aGlzLmZlZXMgPSBbXTtcbiAgICB0aGlzLm1pbmltdW1GZWVORlQgPSBtaW5pbXVtRmVlTkZUO1xuICAgIHRoaXMuYWRkcmVzcyA9IGFkZHJlc3M7XG4gIH1cblxuICAvKipcbiAgICogYWRkcyBhIGZlZUNvbmZpZ1xuICAgKiBAcGFyYW0gZmVlQ29uZmlnXG4gICAqL1xuICBhZGRDb25maWcgPSAoZmVlQ29uZmlnOiBNaW5pbXVtRmVlQ29uZmlnKTogTWluaW11bUZlZUJveEJ1aWxkZXIgPT4ge1xuICAgIHRoaXMuZmVlcy5wdXNoKGZlZUNvbmZpZy5nZXRDb25maWcoKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH07XG5cbiAgLyoqXG4gICAqIHJlbW92ZXMgYSBjb25maWcgYnkgaW5kZXhcbiAgICogQHBhcmFtIGluZGV4XG4gICAqL1xuICByZW1vdmVDb25maWcgPSAoaW5kZXg6IG51bWJlcik6IE1pbmltdW1GZWVCb3hCdWlsZGVyID0+IHtcbiAgICB0aGlzLmZlZXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfTtcblxuICAvKipcbiAgICogc2V0cyBFcmdvQm94IEVyZyB2YWx1ZVxuICAgKiBAcGFyYW0gbmFub0VyZ1xuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgc2V0VmFsdWUgPSAobmFub0VyZzogYmlnaW50KTogTWluaW11bUZlZUJveEJ1aWxkZXIgPT4ge1xuICAgIHRoaXMuYm94VmFsdWUgPSBCb3hWYWx1ZS5mcm9tX2k2NChJNjQuZnJvbV9zdHIobmFub0VyZy50b1N0cmluZygpKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH07XG5cbiAgLyoqXG4gICAqIHNldHMgRXJnb0JveCBjcmVhdGlvbmhlaWdodFxuICAgKiBAcGFyYW0gY3VycmVudEhlaWdodFxuICAgKi9cbiAgc2V0SGVpZ2h0ID0gKGN1cnJlbnRIZWlnaHQ6IG51bWJlcik6IE1pbmltdW1GZWVCb3hCdWlsZGVyID0+IHtcbiAgICB0aGlzLmJveGhlaWdodCA9IGN1cnJlbnRIZWlnaHQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH07XG5cbiAgLyoqXG4gICAqIHNldHMgY29uZmlnIHRva2VuIGlkXG4gICAqIEBwYXJhbSB0b2tlbklkXG4gICAqL1xuICBzZXRUb2tlbiA9ICh0b2tlbklkOiBzdHJpbmcpOiBNaW5pbXVtRmVlQm94QnVpbGRlciA9PiB7XG4gICAgdGhpcy50b2tlbklkID0gdG9rZW5JZDtcbiAgICByZXR1cm4gdGhpcztcbiAgfTtcblxuICAvKipcbiAgICogdmFsaWRhdGVzIHNvbWUgb2Ygc3BlY2lmaWVkIGNvbmZpZ3NcbiAgICovXG4gIHByb3RlY3RlZCB2YWxpZGF0ZSA9ICgpOiB2b2lkID0+IHtcbiAgICBpZiAoIXRoaXMuYm94VmFsdWUpXG4gICAgICB0aHJvdyBuZXcgSW52YWxpZENvbmZpZyhgQm94IHZhbHVlIGFyZ3VtZW50IGlzIG5vdCBkZWZpbmVkYCk7XG4gICAgaWYgKCF0aGlzLmJveGhlaWdodClcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkQ29uZmlnKGBCb3ggY3JlYXRpb24gaGVpZ2h0IGFyZ3VtZW50IGlzIG5vdCBkZWZpbmVkYCk7XG4gICAgaWYgKCF0aGlzLnRva2VuSWQpXG4gICAgICB0aHJvdyBuZXcgSW52YWxpZENvbmZpZyhgQ29uZmlnIHRva2VuIGlkIGlzIG5vdCBkZWZpbmVkYCk7XG4gICAgaWYgKHRoaXMuZmVlcy5sZW5ndGggPT09IDApXG4gICAgICB0aHJvdyBuZXcgSW52YWxpZENvbmZpZyhcbiAgICAgICAgYE5vIGNvbmZpZyBhZGRlZC4gUGxlYXNlIGFkZCBhdCBsZWFzdCBvbmUgY29uZmlnYFxuICAgICAgKTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5mZWVzLmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgY29uc3QgY2hhaW5zID0gT2JqZWN0LmtleXModGhpcy5mZWVzWzBdLmhlaWdodHMpO1xuICAgICAgY2hhaW5zLmZvckVhY2goKGNoYWluKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5mZWVzW2kgKyAxXS5oZWlnaHRzW2NoYWluXSlcbiAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZENvbmZpZyhcbiAgICAgICAgICAgIGBFeHBlY3RlZCBjaGFpbiBbJHtjaGFpbn1dIGF0IGluZGV4IFske2kgKyAxfV1gXG4gICAgICAgICAgKTtcbiAgICAgICAgaWYgKHRoaXMuZmVlc1tpICsgMV0uaGVpZ2h0c1tjaGFpbl0gPCB0aGlzLmZlZXNbaV0uaGVpZ2h0c1tjaGFpbl0pXG4gICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRDb25maWcoXG4gICAgICAgICAgICBgQWxsIGhlaWdodHMgZm9yIGEgY2hhaW4gc2hvdWxkIGJlIGFzY2VuZGluZy4gSGVpZ2h0cyBvZiBjaGFpbiBbJHtjaGFpbn1dIGF0IGluZGV4ZXMgWyR7aX0sJHtcbiAgICAgICAgICAgICAgaSArIDFcbiAgICAgICAgICAgIH1dIGFyZSBpbnZhbGlkIFske3RoaXMuZmVlc1tpICsgMV0uaGVpZ2h0c1tjaGFpbl19IDwgJHtcbiAgICAgICAgICAgICAgdGhpcy5mZWVzW2ldLmhlaWdodHNbY2hhaW5dXG4gICAgICAgICAgICB9XWBcbiAgICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiB2YWxpZGF0ZXMgc3BlY2lmaWVkIGNvbmZpZ3MgYW5kIGJ1aWxkcyBFcmdvQm94Q2FuZGlkYXRlIG9mIGNvbmZpZyBib3ggdXNpbmcgdGhlbVxuICAgKi9cbiAgYnVpbGQgPSAoKTogRXJnb0JveENhbmRpZGF0ZSA9PiB7XG4gICAgdGhpcy52YWxpZGF0ZSgpO1xuXG4gICAgLy8gYWRkIGJveCB2YWx1ZSwgYWRkcmVzcyBhbmQgY3JlYXRpb24gaGVpZ2h0XG4gICAgY29uc3QgYm94QnVpbGRlciA9IG5ldyBFcmdvQm94Q2FuZGlkYXRlQnVpbGRlcihcbiAgICAgIHRoaXMuYm94VmFsdWUsXG4gICAgICBDb250cmFjdC5uZXcoQWRkcmVzcy5mcm9tX2Jhc2U1OCh0aGlzLmFkZHJlc3MpLnRvX2VyZ29fdHJlZSgpKSxcbiAgICAgIHRoaXMuYm94aGVpZ2h0XG4gICAgKTtcblxuICAgIC8vIGFkZCBib3ggdG9rZW5zXG4gICAgYm94QnVpbGRlci5hZGRfdG9rZW4oXG4gICAgICBUb2tlbklkLmZyb21fc3RyKHRoaXMubWluaW11bUZlZU5GVCksXG4gICAgICBUb2tlbkFtb3VudC5mcm9tX2k2NChJNjQuZnJvbV9zdHIoJzEnKSlcbiAgICApO1xuICAgIGlmICh0aGlzLnRva2VuSWQgIT09IEVSR09fTkFUSVZFX1RPS0VOKVxuICAgICAgYm94QnVpbGRlci5hZGRfdG9rZW4oXG4gICAgICAgIFRva2VuSWQuZnJvbV9zdHIodGhpcy50b2tlbklkKSxcbiAgICAgICAgVG9rZW5BbW91bnQuZnJvbV9pNjQoSTY0LmZyb21fc3RyKCcxJykpXG4gICAgICApO1xuXG4gICAgLy8gZ2VuZXJhdGUgcmVnaXN0ZXIgdmFsdWVzXG4gICAgLy8gIGV4dHJhY3QgY2hhaW5zXG4gICAgY29uc3QgY2hhaW5zOiBBcnJheTxzdHJpbmc+ID0gW107XG4gICAgdGhpcy5mZWVzLmZvckVhY2goKGZlZSkgPT4ge1xuICAgICAgT2JqZWN0LmtleXMoZmVlLmhlaWdodHMpLmZvckVhY2goKGZlZUNoYWluKSA9PiB7XG4gICAgICAgIGlmICghY2hhaW5zLmluY2x1ZGVzKGZlZUNoYWluKSkgY2hhaW5zLnB1c2goZmVlQ2hhaW4pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgY2hhaW5zLnNvcnQoKTtcbiAgICAvLyAgZXh0cmFjdCBjb25maWdzXG4gICAgY29uc3QgaGVpZ2h0czogQXJyYXk8QXJyYXk8bnVtYmVyPj4gPSBbXTtcbiAgICBjb25zdCBicmRpZ2VGZWVzOiBBcnJheTxBcnJheTxzdHJpbmc+PiA9IFtdO1xuICAgIGNvbnN0IG5ldHdvcmtGZWVzOiBBcnJheTxBcnJheTxzdHJpbmc+PiA9IFtdO1xuICAgIGNvbnN0IHJzblJhdGlvczogQXJyYXk8QXJyYXk8QXJyYXk8c3RyaW5nPj4+ID0gW107XG4gICAgY29uc3QgZmVlUmF0aW9zOiBBcnJheTxBcnJheTxzdHJpbmc+PiA9IFtdO1xuICAgIHRoaXMuZmVlcy5mb3JFYWNoKChmZWUpID0+IHtcbiAgICAgIGNvbnN0IGhlaWdodHNDb25maWdzOiBBcnJheTxudW1iZXI+ID0gW107XG4gICAgICBjb25zdCBicmRpZ2VGZWVzQ29uZmlnczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuICAgICAgY29uc3QgbmV0d29ya0ZlZXNDb25maWdzOiBBcnJheTxzdHJpbmc+ID0gW107XG4gICAgICBjb25zdCByc25SYXRpb3NDb25maWdzOiBBcnJheTxBcnJheTxzdHJpbmc+PiA9IFtdO1xuICAgICAgY29uc3QgZmVlUmF0aW9zQ29uZmlnczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuXG4gICAgICBjaGFpbnMuZm9yRWFjaCgoY2hhaW4pID0+IHtcbiAgICAgICAgaWYgKE9iamVjdC5oYXNPd24oZmVlLmhlaWdodHMsIGNoYWluKSlcbiAgICAgICAgICBoZWlnaHRzQ29uZmlncy5wdXNoKGZlZS5oZWlnaHRzW2NoYWluXSk7XG4gICAgICAgIGVsc2UgaGVpZ2h0c0NvbmZpZ3MucHVzaCgtMSk7XG5cbiAgICAgICAgaWYgKE9iamVjdC5oYXNPd24oZmVlLmNvbmZpZ3MsIGNoYWluKSkge1xuICAgICAgICAgIGJyZGlnZUZlZXNDb25maWdzLnB1c2goZmVlLmNvbmZpZ3NbY2hhaW5dLmJyaWRnZUZlZS50b1N0cmluZygpKTtcbiAgICAgICAgICBuZXR3b3JrRmVlc0NvbmZpZ3MucHVzaChmZWUuY29uZmlnc1tjaGFpbl0ubmV0d29ya0ZlZS50b1N0cmluZygpKTtcbiAgICAgICAgICByc25SYXRpb3NDb25maWdzLnB1c2goW1xuICAgICAgICAgICAgZmVlLmNvbmZpZ3NbY2hhaW5dLnJzblJhdGlvLnRvU3RyaW5nKCksXG4gICAgICAgICAgICBmZWUuY29uZmlnc1tjaGFpbl0ucnNuUmF0aW9EaXZpc29yLnRvU3RyaW5nKCksXG4gICAgICAgICAgXSk7XG4gICAgICAgICAgZmVlUmF0aW9zQ29uZmlncy5wdXNoKGZlZS5jb25maWdzW2NoYWluXS5mZWVSYXRpby50b1N0cmluZygpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBicmRpZ2VGZWVzQ29uZmlncy5wdXNoKCctMScpO1xuICAgICAgICAgIG5ldHdvcmtGZWVzQ29uZmlncy5wdXNoKCctMScpO1xuICAgICAgICAgIHJzblJhdGlvc0NvbmZpZ3MucHVzaChbJy0xJywgJy0xJ10pO1xuICAgICAgICAgIGZlZVJhdGlvc0NvbmZpZ3MucHVzaCgnLTEnKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGhlaWdodHMucHVzaChoZWlnaHRzQ29uZmlncyk7XG4gICAgICBicmRpZ2VGZWVzLnB1c2goYnJkaWdlRmVlc0NvbmZpZ3MpO1xuICAgICAgbmV0d29ya0ZlZXMucHVzaChuZXR3b3JrRmVlc0NvbmZpZ3MpO1xuICAgICAgcnNuUmF0aW9zLnB1c2gocnNuUmF0aW9zQ29uZmlncyk7XG4gICAgICBmZWVSYXRpb3MucHVzaChmZWVSYXRpb3NDb25maWdzKTtcbiAgICB9KTtcblxuICAgIC8vIGFkZCBib3ggcmVnaXN0ZXJzXG4gICAgYm94QnVpbGRlci5zZXRfcmVnaXN0ZXJfdmFsdWUoXG4gICAgICA0LFxuICAgICAgQ29uc3RhbnQuZnJvbV9jb2xsX2NvbGxfYnl0ZShjaGFpbnMubWFwKChjaGFpbikgPT4gQnVmZmVyLmZyb20oY2hhaW4pKSlcbiAgICApO1xuICAgIGJveEJ1aWxkZXIuc2V0X3JlZ2lzdGVyX3ZhbHVlKDUsIENvbnN0YW50LmZyb21fanMoaGVpZ2h0cykpO1xuICAgIGJveEJ1aWxkZXIuc2V0X3JlZ2lzdGVyX3ZhbHVlKDYsIENvbnN0YW50LmZyb21fanMoYnJkaWdlRmVlcykpO1xuICAgIGJveEJ1aWxkZXIuc2V0X3JlZ2lzdGVyX3ZhbHVlKDcsIENvbnN0YW50LmZyb21fanMobmV0d29ya0ZlZXMpKTtcbiAgICBib3hCdWlsZGVyLnNldF9yZWdpc3Rlcl92YWx1ZSg4LCBDb25zdGFudC5mcm9tX2pzKHJzblJhdGlvcykpO1xuICAgIGJveEJ1aWxkZXIuc2V0X3JlZ2lzdGVyX3ZhbHVlKDksIENvbnN0YW50LmZyb21fanMoZmVlUmF0aW9zKSk7XG5cbiAgICByZXR1cm4gYm94QnVpbGRlci5idWlsZCgpO1xuICB9O1xufVxuIl19
|
|
@@ -1,22 +1,26 @@
|
|
|
1
1
|
import { ChainFee, Fee } from './types';
|
|
2
2
|
export declare class MinimumFeeConfig {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
3
|
+
protected fee: Fee;
|
|
4
|
+
constructor();
|
|
5
|
+
/**
|
|
6
|
+
* sets fee for a chain
|
|
7
|
+
* @param chain
|
|
8
|
+
* @param height
|
|
9
|
+
* @param chainFee
|
|
10
|
+
*/
|
|
11
|
+
setChainConfig: (
|
|
12
|
+
chain: string,
|
|
13
|
+
height: number,
|
|
14
|
+
chainFee: ChainFee | undefined
|
|
15
|
+
) => MinimumFeeConfig;
|
|
16
|
+
/**
|
|
17
|
+
* removes fee for a chain
|
|
18
|
+
* @param chain
|
|
19
|
+
*/
|
|
20
|
+
removeChainConfig: (chain: string) => MinimumFeeConfig;
|
|
21
|
+
/**
|
|
22
|
+
* returns generated fee
|
|
23
|
+
*/
|
|
24
|
+
getConfig: () => Fee;
|
|
21
25
|
}
|
|
22
|
-
//# sourceMappingURL=MinimumFeeConfig.d.ts.map
|
|
26
|
+
//# sourceMappingURL=MinimumFeeConfig.d.ts.map
|
|
@@ -1,39 +1,37 @@
|
|
|
1
1
|
export class MinimumFeeConfig {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
};
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* sets fee for a chain
|
|
11
|
-
* @param chain
|
|
12
|
-
* @param height
|
|
13
|
-
* @param chainFee
|
|
14
|
-
*/
|
|
15
|
-
setChainConfig = (chain, height, chainFee) => {
|
|
16
|
-
this.fee.heights[chain] = height;
|
|
17
|
-
if (chainFee)
|
|
18
|
-
this.fee.configs[chain] = chainFee;
|
|
19
|
-
else
|
|
20
|
-
delete this.fee.configs[chain];
|
|
21
|
-
return this;
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* removes fee for a chain
|
|
25
|
-
* @param chain
|
|
26
|
-
*/
|
|
27
|
-
removeChainConfig = (chain) => {
|
|
28
|
-
delete this.fee.heights[chain];
|
|
29
|
-
delete this.fee.configs[chain];
|
|
30
|
-
return this;
|
|
31
|
-
};
|
|
32
|
-
/**
|
|
33
|
-
* returns generated fee
|
|
34
|
-
*/
|
|
35
|
-
getConfig = () => {
|
|
36
|
-
return this.fee;
|
|
2
|
+
fee;
|
|
3
|
+
constructor() {
|
|
4
|
+
this.fee = {
|
|
5
|
+
heights: {},
|
|
6
|
+
configs: {},
|
|
37
7
|
};
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* sets fee for a chain
|
|
11
|
+
* @param chain
|
|
12
|
+
* @param height
|
|
13
|
+
* @param chainFee
|
|
14
|
+
*/
|
|
15
|
+
setChainConfig = (chain, height, chainFee) => {
|
|
16
|
+
this.fee.heights[chain] = height;
|
|
17
|
+
if (chainFee) this.fee.configs[chain] = chainFee;
|
|
18
|
+
else delete this.fee.configs[chain];
|
|
19
|
+
return this;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* removes fee for a chain
|
|
23
|
+
* @param chain
|
|
24
|
+
*/
|
|
25
|
+
removeChainConfig = (chain) => {
|
|
26
|
+
delete this.fee.heights[chain];
|
|
27
|
+
delete this.fee.configs[chain];
|
|
28
|
+
return this;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* returns generated fee
|
|
32
|
+
*/
|
|
33
|
+
getConfig = () => {
|
|
34
|
+
return this.fee;
|
|
35
|
+
};
|
|
38
36
|
}
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWluaW11bUZlZUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9NaW5pbXVtRmVlQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxnQkFBZ0I7SUFDakIsR0FBRyxDQUFNO0lBRW5CO1FBQ0UsSUFBSSxDQUFDLEdBQUcsR0FBRztZQUNULE9BQU8sRUFBRSxFQUFFO1lBQ1gsT0FBTyxFQUFFLEVBQUU7U0FDWixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsY0FBYyxHQUFHLENBQ2YsS0FBYSxFQUNiLE1BQWMsRUFDZCxRQUE4QixFQUNaLEVBQUU7UUFDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQ2pDLElBQUksUUFBUTtZQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLFFBQVEsQ0FBQzs7WUFDNUMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQztJQUVGOzs7T0FHRztJQUNILGlCQUFpQixHQUFHLENBQUMsS0FBYSxFQUFvQixFQUFFO1FBQ3RELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQztJQUVGOztPQUVHO0lBQ0gsU0FBUyxHQUFHLEdBQVEsRUFBRTtRQUNwQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEIsQ0FBQyxDQUFDO0NBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFpbkZlZSwgRmVlIH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBNaW5pbXVtRmVlQ29uZmlnIHtcbiAgcHJvdGVjdGVkIGZlZTogRmVlO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZmVlID0ge1xuICAgICAgaGVpZ2h0czoge30sXG4gICAgICBjb25maWdzOiB7fSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIHNldHMgZmVlIGZvciBhIGNoYWluXG4gICAqIEBwYXJhbSBjaGFpblxuICAgKiBAcGFyYW0gaGVpZ2h0XG4gICAqIEBwYXJhbSBjaGFpbkZlZVxuICAgKi9cbiAgc2V0Q2hhaW5Db25maWcgPSAoXG4gICAgY2hhaW46IHN0cmluZyxcbiAgICBoZWlnaHQ6IG51bWJlcixcbiAgICBjaGFpbkZlZTogQ2hhaW5GZWUgfCB1bmRlZmluZWRcbiAgKTogTWluaW11bUZlZUNvbmZpZyA9PiB7XG4gICAgdGhpcy5mZWUuaGVpZ2h0c1tjaGFpbl0gPSBoZWlnaHQ7XG4gICAgaWYgKGNoYWluRmVlKSB0aGlzLmZlZS5jb25maWdzW2NoYWluXSA9IGNoYWluRmVlO1xuICAgIGVsc2UgZGVsZXRlIHRoaXMuZmVlLmNvbmZpZ3NbY2hhaW5dO1xuICAgIHJldHVybiB0aGlzO1xuICB9O1xuXG4gIC8qKlxuICAgKiByZW1vdmVzIGZlZSBmb3IgYSBjaGFpblxuICAgKiBAcGFyYW0gY2hhaW5cbiAgICovXG4gIHJlbW92ZUNoYWluQ29uZmlnID0gKGNoYWluOiBzdHJpbmcpOiBNaW5pbXVtRmVlQ29uZmlnID0+IHtcbiAgICBkZWxldGUgdGhpcy5mZWUuaGVpZ2h0c1tjaGFpbl07XG4gICAgZGVsZXRlIHRoaXMuZmVlLmNvbmZpZ3NbY2hhaW5dO1xuICAgIHJldHVybiB0aGlzO1xuICB9O1xuXG4gIC8qKlxuICAgKiByZXR1cm5zIGdlbmVyYXRlZCBmZWVcbiAgICovXG4gIGdldENvbmZpZyA9ICgpOiBGZWUgPT4ge1xuICAgIHJldHVybiB0aGlzLmZlZTtcbiAgfTtcbn1cbiJdfQ==
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWluaW11bUZlZUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9NaW5pbXVtRmVlQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxnQkFBZ0I7SUFDakIsR0FBRyxDQUFNO0lBRW5CO1FBQ0UsSUFBSSxDQUFDLEdBQUcsR0FBRztZQUNULE9BQU8sRUFBRSxFQUFFO1lBQ1gsT0FBTyxFQUFFLEVBQUU7U0FDWixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsY0FBYyxHQUFHLENBQ2YsS0FBYSxFQUNiLE1BQWMsRUFDZCxRQUE4QixFQUNaLEVBQUU7UUFDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQ2pDLElBQUksUUFBUTtZQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLFFBQVEsQ0FBQzs7WUFDNUMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQztJQUVGOzs7T0FHRztJQUNILGlCQUFpQixHQUFHLENBQUMsS0FBYSxFQUFvQixFQUFFO1FBQ3RELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQztJQUVGOztPQUVHO0lBQ0gsU0FBUyxHQUFHLEdBQVEsRUFBRTtRQUNwQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEIsQ0FBQyxDQUFDO0NBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFpbkZlZSwgRmVlIH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBNaW5pbXVtRmVlQ29uZmlnIHtcbiAgcHJvdGVjdGVkIGZlZTogRmVlO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZmVlID0ge1xuICAgICAgaGVpZ2h0czoge30sXG4gICAgICBjb25maWdzOiB7fSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIHNldHMgZmVlIGZvciBhIGNoYWluXG4gICAqIEBwYXJhbSBjaGFpblxuICAgKiBAcGFyYW0gaGVpZ2h0XG4gICAqIEBwYXJhbSBjaGFpbkZlZVxuICAgKi9cbiAgc2V0Q2hhaW5Db25maWcgPSAoXG4gICAgY2hhaW46IHN0cmluZyxcbiAgICBoZWlnaHQ6IG51bWJlcixcbiAgICBjaGFpbkZlZTogQ2hhaW5GZWUgfCB1bmRlZmluZWRcbiAgKTogTWluaW11bUZlZUNvbmZpZyA9PiB7XG4gICAgdGhpcy5mZWUuaGVpZ2h0c1tjaGFpbl0gPSBoZWlnaHQ7XG4gICAgaWYgKGNoYWluRmVlKSB0aGlzLmZlZS5jb25maWdzW2NoYWluXSA9IGNoYWluRmVlO1xuICAgIGVsc2UgZGVsZXRlIHRoaXMuZmVlLmNvbmZpZ3NbY2hhaW5dO1xuICAgIHJldHVybiB0aGlzO1xuICB9O1xuXG4gIC8qKlxuICAgKiByZW1vdmVzIGZlZSBmb3IgYSBjaGFpblxuICAgKiBAcGFyYW0gY2hhaW5cbiAgICovXG4gIHJlbW92ZUNoYWluQ29uZmlnID0gKGNoYWluOiBzdHJpbmcpOiBNaW5pbXVtRmVlQ29uZmlnID0+IHtcbiAgICBkZWxldGUgdGhpcy5mZWUuaGVpZ2h0c1tjaGFpbl07XG4gICAgZGVsZXRlIHRoaXMuZmVlLmNvbmZpZ3NbY2hhaW5dO1xuICAgIHJldHVybiB0aGlzO1xuICB9O1xuXG4gIC8qKlxuICAgKiByZXR1cm5zIGdlbmVyYXRlZCBmZWVcbiAgICovXG4gIGdldENvbmZpZyA9ICgpOiBGZWUgPT4ge1xuICAgIHJldHVybiB0aGlzLmZlZTtcbiAgfTtcbn1cbiJdfQ==
|
package/dist/lib/constants.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const ERGO_NATIVE_TOKEN =
|
|
2
|
-
//# sourceMappingURL=constants.d.ts.map
|
|
1
|
+
export declare const ERGO_NATIVE_TOKEN = 'erg';
|
|
2
|
+
//# sourceMappingURL=constants.d.ts.map
|
package/dist/lib/constants.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export const ERGO_NATIVE_TOKEN = 'erg';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgRVJHT19OQVRJVkVfVE9LRU4gPSAnZXJnJztcbiJdfQ==
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgRVJHT19OQVRJVkVfVE9LRU4gPSAnZXJnJztcbiJdfQ==
|
package/dist/lib/errors.d.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
export declare class InvalidConfig extends Error {
|
|
2
|
-
|
|
2
|
+
constructor(msg: string);
|
|
3
3
|
}
|
|
4
4
|
export declare class FailedError extends Error {
|
|
5
|
-
|
|
5
|
+
constructor(msg: string);
|
|
6
6
|
}
|
|
7
7
|
export declare class NetworkError extends Error {
|
|
8
|
-
|
|
8
|
+
constructor(msg: string);
|
|
9
9
|
}
|
|
10
10
|
export declare class UnexpectedApiError extends Error {
|
|
11
|
-
|
|
11
|
+
constructor(msg: string);
|
|
12
12
|
}
|
|
13
13
|
export declare class NotFoundError extends Error {
|
|
14
|
-
|
|
14
|
+
constructor(msg: string);
|
|
15
15
|
}
|
|
16
|
-
//# sourceMappingURL=errors.d.ts.map
|
|
16
|
+
//# sourceMappingURL=errors.d.ts.map
|
package/dist/lib/errors.js
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
export class InvalidConfig extends Error {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
constructor(msg) {
|
|
3
|
+
super('InvalidConfig: ' + msg);
|
|
4
|
+
}
|
|
5
5
|
}
|
|
6
6
|
export class FailedError extends Error {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
constructor(msg) {
|
|
8
|
+
super('FailedError: ' + msg);
|
|
9
|
+
}
|
|
10
10
|
}
|
|
11
11
|
export class NetworkError extends Error {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
constructor(msg) {
|
|
13
|
+
super('NetworkError: ' + msg);
|
|
14
|
+
}
|
|
15
15
|
}
|
|
16
16
|
export class UnexpectedApiError extends Error {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
constructor(msg) {
|
|
18
|
+
super('UnexpectedApiError: ' + msg);
|
|
19
|
+
}
|
|
20
20
|
}
|
|
21
21
|
export class NotFoundError extends Error {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
constructor(msg) {
|
|
23
|
+
super('NotFoundError: ' + msg);
|
|
24
|
+
}
|
|
25
25
|
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sYUFBYyxTQUFRLEtBQUs7SUFDdEMsWUFBWSxHQUFXO1FBQ3JCLEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sV0FBWSxTQUFRLEtBQUs7SUFDcEMsWUFBWSxHQUFXO1FBQ3JCLEtBQUssQ0FBQyxlQUFlLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLFlBQWEsU0FBUSxLQUFLO0lBQ3JDLFlBQVksR0FBVztRQUNyQixLQUFLLENBQUMsZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDaEMsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLEtBQUs7SUFDM0MsWUFBWSxHQUFXO1FBQ3JCLEtBQUssQ0FBQyxzQkFBc0IsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sYUFBYyxTQUFRLEtBQUs7SUFDdEMsWUFBWSxHQUFXO1FBQ3JCLEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgSW52YWxpZENvbmZpZyBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobXNnOiBzdHJpbmcpIHtcbiAgICBzdXBlcignSW52YWxpZENvbmZpZzogJyArIG1zZyk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEZhaWxlZEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3Rvcihtc2c6IHN0cmluZykge1xuICAgIHN1cGVyKCdGYWlsZWRFcnJvcjogJyArIG1zZyk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIE5ldHdvcmtFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobXNnOiBzdHJpbmcpIHtcbiAgICBzdXBlcignTmV0d29ya0Vycm9yOiAnICsgbXNnKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVW5leHBlY3RlZEFwaUVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3Rvcihtc2c6IHN0cmluZykge1xuICAgIHN1cGVyKCdVbmV4cGVjdGVkQXBpRXJyb3I6ICcgKyBtc2cpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBOb3RGb3VuZEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3Rvcihtc2c6IHN0cmluZykge1xuICAgIHN1cGVyKCdOb3RGb3VuZEVycm9yOiAnICsgbXNnKTtcbiAgfVxufVxuIl19
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sYUFBYyxTQUFRLEtBQUs7SUFDdEMsWUFBWSxHQUFXO1FBQ3JCLEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sV0FBWSxTQUFRLEtBQUs7SUFDcEMsWUFBWSxHQUFXO1FBQ3JCLEtBQUssQ0FBQyxlQUFlLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLFlBQWEsU0FBUSxLQUFLO0lBQ3JDLFlBQVksR0FBVztRQUNyQixLQUFLLENBQUMsZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDaEMsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLEtBQUs7SUFDM0MsWUFBWSxHQUFXO1FBQ3JCLEtBQUssQ0FBQyxzQkFBc0IsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sYUFBYyxTQUFRLEtBQUs7SUFDdEMsWUFBWSxHQUFXO1FBQ3JCLEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgSW52YWxpZENvbmZpZyBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobXNnOiBzdHJpbmcpIHtcbiAgICBzdXBlcignSW52YWxpZENvbmZpZzogJyArIG1zZyk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEZhaWxlZEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3Rvcihtc2c6IHN0cmluZykge1xuICAgIHN1cGVyKCdGYWlsZWRFcnJvcjogJyArIG1zZyk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIE5ldHdvcmtFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobXNnOiBzdHJpbmcpIHtcbiAgICBzdXBlcignTmV0d29ya0Vycm9yOiAnICsgbXNnKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVW5leHBlY3RlZEFwaUVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3Rvcihtc2c6IHN0cmluZykge1xuICAgIHN1cGVyKCdVbmV4cGVjdGVkQXBpRXJyb3I6ICcgKyBtc2cpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBOb3RGb3VuZEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3Rvcihtc2c6IHN0cmluZykge1xuICAgIHN1cGVyKCdOb3RGb3VuZEVycm9yOiAnICsgbXNnKTtcbiAgfVxufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
interface ErrorHandler<HandlerReturnType> {
|
|
2
|
-
|
|
2
|
+
(error: any): HandlerReturnType;
|
|
3
3
|
}
|
|
4
4
|
/**
|
|
5
5
|
* handle an axios api error, considering different kinds of events which may
|
|
@@ -9,10 +9,29 @@ interface ErrorHandler<HandlerReturnType> {
|
|
|
9
9
|
* @param overrideHandlers an object for overriding how different kinds of error
|
|
10
10
|
* are handled
|
|
11
11
|
*/
|
|
12
|
-
declare const handleApiError: <
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
declare const handleApiError: <
|
|
13
|
+
RespondedStateHandlerReturnType = never,
|
|
14
|
+
NotRespondedStateHandlerReturnType = never,
|
|
15
|
+
UnknownStateHandlerReturnType = never
|
|
16
|
+
>(
|
|
17
|
+
error: any,
|
|
18
|
+
baseMessage: string,
|
|
19
|
+
overrideHandlers?:
|
|
20
|
+
| {
|
|
21
|
+
handleRespondedState?:
|
|
22
|
+
| ErrorHandler<RespondedStateHandlerReturnType>
|
|
23
|
+
| undefined;
|
|
24
|
+
handleNotRespondedState?:
|
|
25
|
+
| ErrorHandler<NotRespondedStateHandlerReturnType>
|
|
26
|
+
| undefined;
|
|
27
|
+
handleUnknownState?:
|
|
28
|
+
| ErrorHandler<UnknownStateHandlerReturnType>
|
|
29
|
+
| undefined;
|
|
30
|
+
}
|
|
31
|
+
| undefined
|
|
32
|
+
) =>
|
|
33
|
+
| RespondedStateHandlerReturnType
|
|
34
|
+
| NotRespondedStateHandlerReturnType
|
|
35
|
+
| UnknownStateHandlerReturnType;
|
|
17
36
|
export default handleApiError;
|
|
18
|
-
//# sourceMappingURL=handleApiError.d.ts.map
|
|
37
|
+
//# sourceMappingURL=handleApiError.d.ts.map
|