@rosen-bridge/minimum-fee 2.2.2 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/MinimumFeeBox.d.ts +55 -0
- package/dist/MinimumFeeBox.d.ts.map +1 -0
- package/dist/MinimumFeeBox.js +219 -0
- package/dist/MinimumFeeBoxBuilder.d.ts +55 -0
- package/dist/MinimumFeeBoxBuilder.d.ts.map +1 -0
- package/dist/MinimumFeeBoxBuilder.js +138 -0
- package/dist/MinimumFeeConfig.d.ts +22 -0
- package/dist/MinimumFeeConfig.d.ts.map +1 -0
- package/dist/MinimumFeeConfig.js +41 -0
- package/dist/constants.d.ts +3 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +3 -0
- package/dist/{lib/errors.d.ts → errors.d.ts} +6 -6
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +26 -0
- package/dist/handleApiError.d.ts +18 -0
- package/dist/handleApiError.d.ts.map +1 -0
- package/dist/handleApiError.js +35 -0
- package/dist/{lib/index.d.ts → index.d.ts} +1 -1
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/types.d.ts +38 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +22 -0
- package/dist/{lib/utils.d.ts → utils.d.ts} +7 -7
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +111 -0
- package/package.json +12 -16
- package/dist/lib/MinimumFeeBox.d.ts +0 -65
- package/dist/lib/MinimumFeeBox.d.ts.map +0 -1
- package/dist/lib/MinimumFeeBox.js +0 -219
- package/dist/lib/MinimumFeeBoxBuilder.d.ts +0 -55
- package/dist/lib/MinimumFeeBoxBuilder.d.ts.map +0 -1
- package/dist/lib/MinimumFeeBoxBuilder.js +0 -168
- package/dist/lib/MinimumFeeConfig.d.ts +0 -26
- package/dist/lib/MinimumFeeConfig.d.ts.map +0 -1
- package/dist/lib/MinimumFeeConfig.js +0 -39
- package/dist/lib/constants.d.ts +0 -3
- package/dist/lib/constants.d.ts.map +0 -1
- package/dist/lib/constants.js +0 -3
- package/dist/lib/errors.d.ts.map +0 -1
- package/dist/lib/errors.js +0 -26
- package/dist/lib/handleApiError.d.ts +0 -37
- package/dist/lib/handleApiError.d.ts.map +0 -1
- package/dist/lib/handleApiError.js +0 -37
- package/dist/lib/index.d.ts.map +0 -1
- package/dist/lib/index.js +0 -8
- package/dist/lib/types.d.ts +0 -38
- package/dist/lib/types.d.ts.map +0 -1
- package/dist/lib/types.js +0 -22
- package/dist/lib/utils.d.ts.map +0 -1
- package/dist/lib/utils.js +0 -110
- package/dist/tsconfig.build.tsbuildinfo +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
interface ErrorHandler<HandlerReturnType> {
|
|
2
|
-
(error: any): HandlerReturnType;
|
|
3
|
-
}
|
|
4
|
-
/**
|
|
5
|
-
* handle an axios api error, considering different kinds of events which may
|
|
6
|
-
* cause it
|
|
7
|
-
* @param error the error object
|
|
8
|
-
* @param baseMessage string to prepend the actual error message
|
|
9
|
-
* @param overrideHandlers an object for overriding how different kinds of error
|
|
10
|
-
* are handled
|
|
11
|
-
*/
|
|
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;
|
|
36
|
-
export default handleApiError;
|
|
37
|
-
//# sourceMappingURL=handleApiError.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handleApiError.d.ts","sourceRoot":"","sources":["../../lib/handleApiError.ts"],"names":[],"mappings":"AAEA,UAAU,YAAY,CAAC,iBAAiB;IACtC,CAAC,KAAK,EAAE,GAAG,GAAG,iBAAiB,CAAC;CACjC;AAED;;;;;;;GAOG;AACH,QAAA,MAAM,cAAc,sIAKX,GAAG,eACG,MAAM;;;;sHAoCpB,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { FailedError, NetworkError, UnexpectedApiError } from './errors';
|
|
2
|
-
/**
|
|
3
|
-
* handle an axios api error, considering different kinds of events which may
|
|
4
|
-
* cause it
|
|
5
|
-
* @param error the error object
|
|
6
|
-
* @param baseMessage string to prepend the actual error message
|
|
7
|
-
* @param overrideHandlers an object for overriding how different kinds of error
|
|
8
|
-
* are handled
|
|
9
|
-
*/
|
|
10
|
-
const handleApiError = (error, baseMessage, overrideHandlers) => {
|
|
11
|
-
const generateErrorMessage = (partialMessage) =>
|
|
12
|
-
`${baseMessage} ${partialMessage}`;
|
|
13
|
-
const handleRespondedState =
|
|
14
|
-
overrideHandlers?.handleRespondedState ??
|
|
15
|
-
((error) => {
|
|
16
|
-
throw new FailedError(generateErrorMessage(error.response.data.reason));
|
|
17
|
-
});
|
|
18
|
-
const handleNotRespondedState =
|
|
19
|
-
overrideHandlers?.handleNotRespondedState ??
|
|
20
|
-
((error) => {
|
|
21
|
-
throw new NetworkError(generateErrorMessage(error.message));
|
|
22
|
-
});
|
|
23
|
-
const handleUnknownState =
|
|
24
|
-
overrideHandlers?.handleUnknownState ??
|
|
25
|
-
((error) => {
|
|
26
|
-
throw new UnexpectedApiError(generateErrorMessage(error.message));
|
|
27
|
-
});
|
|
28
|
-
if (error.response) {
|
|
29
|
-
return handleRespondedState(error);
|
|
30
|
-
} else if (error.request) {
|
|
31
|
-
return handleNotRespondedState(error);
|
|
32
|
-
} else {
|
|
33
|
-
return handleUnknownState(error);
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
export default handleApiError;
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlQXBpRXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvaGFuZGxlQXBpRXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFNekU7Ozs7Ozs7R0FPRztBQUNILE1BQU0sY0FBYyxHQUFHLENBS3JCLEtBQVUsRUFDVixXQUFtQixFQUNuQixnQkFJQyxFQUkrQixFQUFFO0lBQ2xDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxjQUFzQixFQUFFLEVBQUUsQ0FDdEQsR0FBRyxXQUFXLElBQUksY0FBYyxFQUFFLENBQUM7SUFFckMsTUFBTSxvQkFBb0IsR0FDeEIsZ0JBQWdCLEVBQUUsb0JBQW9CO1FBQ3RDLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUNkLE1BQU0sSUFBSSxXQUFXLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUMxRSxDQUFDLENBQUMsQ0FBQztJQUNMLE1BQU0sdUJBQXVCLEdBQzNCLGdCQUFnQixFQUFFLHVCQUF1QjtRQUN6QyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDZCxNQUFNLElBQUksWUFBWSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzlELENBQUMsQ0FBQyxDQUFDO0lBQ0wsTUFBTSxrQkFBa0IsR0FDdEIsZ0JBQWdCLEVBQUUsa0JBQWtCO1FBQ3BDLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUNkLE1BQU0sSUFBSSxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNwRSxDQUFDLENBQUMsQ0FBQztJQUVMLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRTtRQUNsQixPQUFPLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ3BDO1NBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFO1FBQ3hCLE9BQU8sdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDdkM7U0FBTTtRQUNMLE9BQU8sa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDbEM7QUFDSCxDQUFDLENBQUM7QUFFRixlQUFlLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhaWxlZEVycm9yLCBOZXR3b3JrRXJyb3IsIFVuZXhwZWN0ZWRBcGlFcnJvciB9IGZyb20gJy4vZXJyb3JzJztcblxuaW50ZXJmYWNlIEVycm9ySGFuZGxlcjxIYW5kbGVyUmV0dXJuVHlwZT4ge1xuICAoZXJyb3I6IGFueSk6IEhhbmRsZXJSZXR1cm5UeXBlO1xufVxuXG4vKipcbiAqIGhhbmRsZSBhbiBheGlvcyBhcGkgZXJyb3IsIGNvbnNpZGVyaW5nIGRpZmZlcmVudCBraW5kcyBvZiBldmVudHMgd2hpY2ggbWF5XG4gKiBjYXVzZSBpdFxuICogQHBhcmFtIGVycm9yIHRoZSBlcnJvciBvYmplY3RcbiAqIEBwYXJhbSBiYXNlTWVzc2FnZSBzdHJpbmcgdG8gcHJlcGVuZCB0aGUgYWN0dWFsIGVycm9yIG1lc3NhZ2VcbiAqIEBwYXJhbSBvdmVycmlkZUhhbmRsZXJzIGFuIG9iamVjdCBmb3Igb3ZlcnJpZGluZyBob3cgZGlmZmVyZW50IGtpbmRzIG9mIGVycm9yXG4gKiBhcmUgaGFuZGxlZFxuICovXG5jb25zdCBoYW5kbGVBcGlFcnJvciA9IDxcbiAgUmVzcG9uZGVkU3RhdGVIYW5kbGVyUmV0dXJuVHlwZSA9IG5ldmVyLFxuICBOb3RSZXNwb25kZWRTdGF0ZUhhbmRsZXJSZXR1cm5UeXBlID0gbmV2ZXIsXG4gIFVua25vd25TdGF0ZUhhbmRsZXJSZXR1cm5UeXBlID0gbmV2ZXJcbj4oXG4gIGVycm9yOiBhbnksXG4gIGJhc2VNZXNzYWdlOiBzdHJpbmcsXG4gIG92ZXJyaWRlSGFuZGxlcnM/OiB7XG4gICAgaGFuZGxlUmVzcG9uZGVkU3RhdGU/OiBFcnJvckhhbmRsZXI8UmVzcG9uZGVkU3RhdGVIYW5kbGVyUmV0dXJuVHlwZT47XG4gICAgaGFuZGxlTm90UmVzcG9uZGVkU3RhdGU/OiBFcnJvckhhbmRsZXI8Tm90UmVzcG9uZGVkU3RhdGVIYW5kbGVyUmV0dXJuVHlwZT47XG4gICAgaGFuZGxlVW5rbm93blN0YXRlPzogRXJyb3JIYW5kbGVyPFVua25vd25TdGF0ZUhhbmRsZXJSZXR1cm5UeXBlPjtcbiAgfVxuKTpcbiAgfCBSZXNwb25kZWRTdGF0ZUhhbmRsZXJSZXR1cm5UeXBlXG4gIHwgTm90UmVzcG9uZGVkU3RhdGVIYW5kbGVyUmV0dXJuVHlwZVxuICB8IFVua25vd25TdGF0ZUhhbmRsZXJSZXR1cm5UeXBlID0+IHtcbiAgY29uc3QgZ2VuZXJhdGVFcnJvck1lc3NhZ2UgPSAocGFydGlhbE1lc3NhZ2U6IHN0cmluZykgPT5cbiAgICBgJHtiYXNlTWVzc2FnZX0gJHtwYXJ0aWFsTWVzc2FnZX1gO1xuXG4gIGNvbnN0IGhhbmRsZVJlc3BvbmRlZFN0YXRlID1cbiAgICBvdmVycmlkZUhhbmRsZXJzPy5oYW5kbGVSZXNwb25kZWRTdGF0ZSA/P1xuICAgICgoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgdGhyb3cgbmV3IEZhaWxlZEVycm9yKGdlbmVyYXRlRXJyb3JNZXNzYWdlKGVycm9yLnJlc3BvbnNlLmRhdGEucmVhc29uKSk7XG4gICAgfSk7XG4gIGNvbnN0IGhhbmRsZU5vdFJlc3BvbmRlZFN0YXRlID1cbiAgICBvdmVycmlkZUhhbmRsZXJzPy5oYW5kbGVOb3RSZXNwb25kZWRTdGF0ZSA/P1xuICAgICgoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgdGhyb3cgbmV3IE5ldHdvcmtFcnJvcihnZW5lcmF0ZUVycm9yTWVzc2FnZShlcnJvci5tZXNzYWdlKSk7XG4gICAgfSk7XG4gIGNvbnN0IGhhbmRsZVVua25vd25TdGF0ZSA9XG4gICAgb3ZlcnJpZGVIYW5kbGVycz8uaGFuZGxlVW5rbm93blN0YXRlID8/XG4gICAgKChlcnJvcjogYW55KSA9PiB7XG4gICAgICB0aHJvdyBuZXcgVW5leHBlY3RlZEFwaUVycm9yKGdlbmVyYXRlRXJyb3JNZXNzYWdlKGVycm9yLm1lc3NhZ2UpKTtcbiAgICB9KTtcblxuICBpZiAoZXJyb3IucmVzcG9uc2UpIHtcbiAgICByZXR1cm4gaGFuZGxlUmVzcG9uZGVkU3RhdGUoZXJyb3IpO1xuICB9IGVsc2UgaWYgKGVycm9yLnJlcXVlc3QpIHtcbiAgICByZXR1cm4gaGFuZGxlTm90UmVzcG9uZGVkU3RhdGUoZXJyb3IpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBoYW5kbGVVbmtub3duU3RhdGUoZXJyb3IpO1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBoYW5kbGVBcGlFcnJvcjtcbiJdfQ==
|
package/dist/lib/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,cAAc,SAAS,CAAC"}
|
package/dist/lib/index.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export { FEE_RATIO_DIVISOR } from './constants';
|
|
2
|
-
export * from './types';
|
|
3
|
-
export * from './errors';
|
|
4
|
-
export { MinimumFeeConfig } from './MinimumFeeConfig';
|
|
5
|
-
export { MinimumFeeBoxBuilder } from './MinimumFeeBoxBuilder';
|
|
6
|
-
export { MinimumFeeBox } from './MinimumFeeBox';
|
|
7
|
-
export * from './utils';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hELGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEZFRV9SQVRJT19ESVZJU09SIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2Vycm9ycyc7XG5leHBvcnQgeyBNaW5pbXVtRmVlQ29uZmlnIH0gZnJvbSAnLi9NaW5pbXVtRmVlQ29uZmlnJztcbmV4cG9ydCB7IE1pbmltdW1GZWVCb3hCdWlsZGVyIH0gZnJvbSAnLi9NaW5pbXVtRmVlQm94QnVpbGRlcic7XG5leHBvcnQgeyBNaW5pbXVtRmVlQm94IH0gZnJvbSAnLi9NaW5pbXVtRmVlQm94JztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xuIl19
|
package/dist/lib/types.d.ts
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { Constant } from 'ergo-lib-wasm-nodejs';
|
|
2
|
-
export interface Fee {
|
|
3
|
-
heights: {
|
|
4
|
-
[key: string]: number;
|
|
5
|
-
};
|
|
6
|
-
configs: {
|
|
7
|
-
[key: string]: ChainFee;
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
|
-
export interface ChainFee {
|
|
11
|
-
bridgeFee: bigint;
|
|
12
|
-
networkFee: bigint;
|
|
13
|
-
rsnRatio: bigint;
|
|
14
|
-
rsnRatioDivisor: bigint;
|
|
15
|
-
feeRatio: bigint;
|
|
16
|
-
}
|
|
17
|
-
export declare class ChainMinimumFee implements ChainFee {
|
|
18
|
-
bridgeFee: bigint;
|
|
19
|
-
networkFee: bigint;
|
|
20
|
-
rsnRatio: bigint;
|
|
21
|
-
rsnRatioDivisor: bigint;
|
|
22
|
-
feeRatio: bigint;
|
|
23
|
-
readonly feeRatioDivisor: bigint;
|
|
24
|
-
constructor(chainFee: ChainFee);
|
|
25
|
-
}
|
|
26
|
-
export declare enum ErgoNetworkType {
|
|
27
|
-
explorer = 'explorer',
|
|
28
|
-
node = 'node',
|
|
29
|
-
}
|
|
30
|
-
export interface RegisterValues {
|
|
31
|
-
R4: Constant;
|
|
32
|
-
R5: Constant;
|
|
33
|
-
R6: Constant;
|
|
34
|
-
R7: Constant;
|
|
35
|
-
R8: Constant;
|
|
36
|
-
R9: Constant;
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=types.d.ts.map
|
package/dist/lib/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACnC,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAE,CAAC;CACtC;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,eAAgB,YAAW,QAAQ;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAqB;gBAEzC,QAAQ,EAAE,QAAQ;CAO/B;AAED,oBAAY,eAAe;IACzB,QAAQ,aAAa;IACrB,IAAI,SAAS;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,QAAQ,CAAC;IACb,EAAE,EAAE,QAAQ,CAAC;IACb,EAAE,EAAE,QAAQ,CAAC;IACb,EAAE,EAAE,QAAQ,CAAC;IACb,EAAE,EAAE,QAAQ,CAAC;IACb,EAAE,EAAE,QAAQ,CAAC;CACd"}
|
package/dist/lib/types.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { FEE_RATIO_DIVISOR } from './constants';
|
|
2
|
-
export class ChainMinimumFee {
|
|
3
|
-
bridgeFee;
|
|
4
|
-
networkFee;
|
|
5
|
-
rsnRatio;
|
|
6
|
-
rsnRatioDivisor;
|
|
7
|
-
feeRatio;
|
|
8
|
-
feeRatioDivisor = FEE_RATIO_DIVISOR;
|
|
9
|
-
constructor(chainFee) {
|
|
10
|
-
this.bridgeFee = chainFee.bridgeFee;
|
|
11
|
-
this.networkFee = chainFee.networkFee;
|
|
12
|
-
this.rsnRatio = chainFee.rsnRatio;
|
|
13
|
-
this.rsnRatioDivisor = chainFee.rsnRatioDivisor;
|
|
14
|
-
this.feeRatio = chainFee.feeRatio;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
export var ErgoNetworkType;
|
|
18
|
-
(function (ErgoNetworkType) {
|
|
19
|
-
ErgoNetworkType['explorer'] = 'explorer';
|
|
20
|
-
ErgoNetworkType['node'] = 'node';
|
|
21
|
-
})(ErgoNetworkType || (ErgoNetworkType = {}));
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBZWhELE1BQU0sT0FBTyxlQUFlO0lBQzFCLFNBQVMsQ0FBUztJQUNsQixVQUFVLENBQVM7SUFDbkIsUUFBUSxDQUFTO0lBQ2pCLGVBQWUsQ0FBUztJQUN4QixRQUFRLENBQVM7SUFDUixlQUFlLEdBQVcsaUJBQWlCLENBQUM7SUFFckQsWUFBWSxRQUFrQjtRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUM7UUFDcEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUNsQyxJQUFJLENBQUMsZUFBZSxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUM7UUFDaEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDO0lBQ3BDLENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBTixJQUFZLGVBR1g7QUFIRCxXQUFZLGVBQWU7SUFDekIsd0NBQXFCLENBQUE7SUFDckIsZ0NBQWEsQ0FBQTtBQUNmLENBQUMsRUFIVyxlQUFlLEtBQWYsZUFBZSxRQUcxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0YW50IH0gZnJvbSAnZXJnby1saWItd2FzbS1ub2RlanMnO1xuaW1wb3J0IHsgRkVFX1JBVElPX0RJVklTT1IgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVlIHtcbiAgaGVpZ2h0czogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfTtcbiAgY29uZmlnczogeyBba2V5OiBzdHJpbmddOiBDaGFpbkZlZSB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYWluRmVlIHtcbiAgYnJpZGdlRmVlOiBiaWdpbnQ7XG4gIG5ldHdvcmtGZWU6IGJpZ2ludDtcbiAgcnNuUmF0aW86IGJpZ2ludDtcbiAgcnNuUmF0aW9EaXZpc29yOiBiaWdpbnQ7XG4gIGZlZVJhdGlvOiBiaWdpbnQ7XG59XG5cbmV4cG9ydCBjbGFzcyBDaGFpbk1pbmltdW1GZWUgaW1wbGVtZW50cyBDaGFpbkZlZSB7XG4gIGJyaWRnZUZlZTogYmlnaW50O1xuICBuZXR3b3JrRmVlOiBiaWdpbnQ7XG4gIHJzblJhdGlvOiBiaWdpbnQ7XG4gIHJzblJhdGlvRGl2aXNvcjogYmlnaW50O1xuICBmZWVSYXRpbzogYmlnaW50O1xuICByZWFkb25seSBmZWVSYXRpb0Rpdmlzb3I6IGJpZ2ludCA9IEZFRV9SQVRJT19ESVZJU09SO1xuXG4gIGNvbnN0cnVjdG9yKGNoYWluRmVlOiBDaGFpbkZlZSkge1xuICAgIHRoaXMuYnJpZGdlRmVlID0gY2hhaW5GZWUuYnJpZGdlRmVlO1xuICAgIHRoaXMubmV0d29ya0ZlZSA9IGNoYWluRmVlLm5ldHdvcmtGZWU7XG4gICAgdGhpcy5yc25SYXRpbyA9IGNoYWluRmVlLnJzblJhdGlvO1xuICAgIHRoaXMucnNuUmF0aW9EaXZpc29yID0gY2hhaW5GZWUucnNuUmF0aW9EaXZpc29yO1xuICAgIHRoaXMuZmVlUmF0aW8gPSBjaGFpbkZlZS5mZWVSYXRpbztcbiAgfVxufVxuXG5leHBvcnQgZW51bSBFcmdvTmV0d29ya1R5cGUge1xuICBleHBsb3JlciA9ICdleHBsb3JlcicsXG4gIG5vZGUgPSAnbm9kZScsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0ZXJWYWx1ZXMge1xuICBSNDogQ29uc3RhbnQ7XG4gIFI1OiBDb25zdGFudDtcbiAgUjY6IENvbnN0YW50O1xuICBSNzogQ29uc3RhbnQ7XG4gIFI4OiBDb25zdGFudDtcbiAgUjk6IENvbnN0YW50O1xufVxuIl19
|
package/dist/lib/utils.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAE9B;;;GAGG;AACH,eAAO,MAAM,iBAAiB,QAAS,OAAO,KAAG,MAAM,GAAG,CAiDzD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,SAAU,MAAM,GAAG,CAAC;;;;;;;CA0DnD,CAAC"}
|
package/dist/lib/utils.js
DELETED
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { Constant } from 'ergo-lib-wasm-nodejs';
|
|
2
|
-
/**
|
|
3
|
-
* extracts Fee config from box registers
|
|
4
|
-
* @param box
|
|
5
|
-
*/
|
|
6
|
-
export const extractFeeFromBox = (box) => {
|
|
7
|
-
const R4 = box.register_value(4);
|
|
8
|
-
const R5 = box.register_value(5);
|
|
9
|
-
const R6 = box.register_value(6);
|
|
10
|
-
const R7 = box.register_value(7);
|
|
11
|
-
const R8 = box.register_value(8);
|
|
12
|
-
const R9 = box.register_value(9);
|
|
13
|
-
if (!R4 || !R5 || !R6 || !R7 || !R8 || !R9)
|
|
14
|
-
throw Error(
|
|
15
|
-
`Incomplete register data for minimum-fee config box [${box
|
|
16
|
-
.box_id()
|
|
17
|
-
.to_str()}]`
|
|
18
|
-
);
|
|
19
|
-
const fees = [];
|
|
20
|
-
const chains = R4.to_coll_coll_byte().map((element) =>
|
|
21
|
-
Buffer.from(element).toString()
|
|
22
|
-
);
|
|
23
|
-
const heights = R5.to_js();
|
|
24
|
-
const bridgeFees = R6.to_js();
|
|
25
|
-
const networkFees = R7.to_js();
|
|
26
|
-
const rsnRatios = R8.to_js();
|
|
27
|
-
const feeRatios = R9.to_js();
|
|
28
|
-
for (let feeIdx = 0; feeIdx < heights.length; feeIdx++) {
|
|
29
|
-
const fee = {
|
|
30
|
-
heights: {},
|
|
31
|
-
configs: {},
|
|
32
|
-
};
|
|
33
|
-
for (let chainIdx = 0; chainIdx < chains.length; chainIdx++) {
|
|
34
|
-
const chain = chains[chainIdx];
|
|
35
|
-
if (heights[feeIdx][chainIdx] === -1) continue;
|
|
36
|
-
fee.heights[chain] = heights[feeIdx][chainIdx];
|
|
37
|
-
if (bridgeFees[feeIdx][chainIdx] === '-1') continue;
|
|
38
|
-
fee.configs[chain] = {
|
|
39
|
-
bridgeFee: BigInt(bridgeFees[feeIdx][chainIdx]),
|
|
40
|
-
networkFee: BigInt(networkFees[feeIdx][chainIdx]),
|
|
41
|
-
rsnRatio: BigInt(rsnRatios[feeIdx][chainIdx][0]),
|
|
42
|
-
rsnRatioDivisor: BigInt(rsnRatios[feeIdx][chainIdx][1]),
|
|
43
|
-
feeRatio: BigInt(feeRatios[feeIdx][chainIdx]),
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
fees.push(fee);
|
|
47
|
-
}
|
|
48
|
-
return fees;
|
|
49
|
-
};
|
|
50
|
-
/**
|
|
51
|
-
* converts fee config to register values
|
|
52
|
-
* @param fees
|
|
53
|
-
* @returns
|
|
54
|
-
*/
|
|
55
|
-
export const feeToRegisterValues = (fees) => {
|
|
56
|
-
// extract chains
|
|
57
|
-
const chains = [];
|
|
58
|
-
fees.forEach((fee) => {
|
|
59
|
-
Object.keys(fee.heights).forEach((feeChain) => {
|
|
60
|
-
if (!chains.includes(feeChain)) chains.push(feeChain);
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
chains.sort();
|
|
64
|
-
// extract configs
|
|
65
|
-
const heights = [];
|
|
66
|
-
const bridgeFees = [];
|
|
67
|
-
const networkFees = [];
|
|
68
|
-
const rsnRatios = [];
|
|
69
|
-
const feeRatios = [];
|
|
70
|
-
fees.forEach((fee) => {
|
|
71
|
-
const heightsConfigs = [];
|
|
72
|
-
const bridgeFeesConfigs = [];
|
|
73
|
-
const networkFeesConfigs = [];
|
|
74
|
-
const rsnRatiosConfigs = [];
|
|
75
|
-
const feeRatiosConfigs = [];
|
|
76
|
-
chains.forEach((chain) => {
|
|
77
|
-
if (Object.hasOwn(fee.heights, chain))
|
|
78
|
-
heightsConfigs.push(fee.heights[chain]);
|
|
79
|
-
else heightsConfigs.push(-1);
|
|
80
|
-
if (Object.hasOwn(fee.configs, chain)) {
|
|
81
|
-
bridgeFeesConfigs.push(fee.configs[chain].bridgeFee.toString());
|
|
82
|
-
networkFeesConfigs.push(fee.configs[chain].networkFee.toString());
|
|
83
|
-
rsnRatiosConfigs.push([
|
|
84
|
-
fee.configs[chain].rsnRatio.toString(),
|
|
85
|
-
fee.configs[chain].rsnRatioDivisor.toString(),
|
|
86
|
-
]);
|
|
87
|
-
feeRatiosConfigs.push(fee.configs[chain].feeRatio.toString());
|
|
88
|
-
} else {
|
|
89
|
-
bridgeFeesConfigs.push('-1');
|
|
90
|
-
networkFeesConfigs.push('-1');
|
|
91
|
-
rsnRatiosConfigs.push(['-1', '-1']);
|
|
92
|
-
feeRatiosConfigs.push('-1');
|
|
93
|
-
}
|
|
94
|
-
});
|
|
95
|
-
heights.push(heightsConfigs);
|
|
96
|
-
bridgeFees.push(bridgeFeesConfigs);
|
|
97
|
-
networkFees.push(networkFeesConfigs);
|
|
98
|
-
rsnRatios.push(rsnRatiosConfigs);
|
|
99
|
-
feeRatios.push(feeRatiosConfigs);
|
|
100
|
-
});
|
|
101
|
-
return {
|
|
102
|
-
R4: Constant.from_coll_coll_byte(chains.map((chain) => Buffer.from(chain))),
|
|
103
|
-
R5: Constant.from_js(heights),
|
|
104
|
-
R6: Constant.from_js(bridgeFees),
|
|
105
|
-
R7: Constant.from_js(networkFees),
|
|
106
|
-
R8: Constant.from_js(rsnRatios),
|
|
107
|
-
R9: Constant.from_js(feeRatios),
|
|
108
|
-
};
|
|
109
|
-
};
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBR3pEOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsR0FBWSxFQUFjLEVBQUU7SUFDNUQsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakMsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFakMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUU7UUFDeEMsTUFBTSxLQUFLLENBQ1Qsd0RBQXdELEdBQUc7YUFDeEQsTUFBTSxFQUFFO2FBQ1IsTUFBTSxFQUFFLEdBQUcsQ0FDZixDQUFDO0lBRUosTUFBTSxJQUFJLEdBQWUsRUFBRSxDQUFDO0lBQzVCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ3BELE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQ2hDLENBQUM7SUFDRixNQUFN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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RhbnQsIEVyZ29Cb3ggfSBmcm9tICdlcmdvLWxpYi13YXNtLW5vZGVqcyc7XG5pbXBvcnQgeyBGZWUgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBleHRyYWN0cyBGZWUgY29uZmlnIGZyb20gYm94IHJlZ2lzdGVyc1xuICogQHBhcmFtIGJveFxuICovXG5leHBvcnQgY29uc3QgZXh0cmFjdEZlZUZyb21Cb3ggPSAoYm94OiBFcmdvQm94KTogQXJyYXk8RmVlPiA9PiB7XG4gIGNvbnN0IFI0ID0gYm94LnJlZ2lzdGVyX3ZhbHVlKDQpO1xuICBjb25zdCBSNSA9IGJveC5yZWdpc3Rlcl92YWx1ZSg1KTtcbiAgY29uc3QgUjYgPSBib3gucmVnaXN0ZXJfdmFsdWUoNik7XG4gIGNvbnN0IFI3ID0gYm94LnJlZ2lzdGVyX3ZhbHVlKDcpO1xuICBjb25zdCBSOCA9IGJveC5yZWdpc3Rlcl92YWx1ZSg4KTtcbiAgY29uc3QgUjkgPSBib3gucmVnaXN0ZXJfdmFsdWUoOSk7XG5cbiAgaWYgKCFSNCB8fCAhUjUgfHwgIVI2IHx8ICFSNyB8fCAhUjggfHwgIVI5KVxuICAgIHRocm93IEVycm9yKFxuICAgICAgYEluY29tcGxldGUgcmVnaXN0ZXIgZGF0YSBmb3IgbWluaW11bS1mZWUgY29uZmlnIGJveCBbJHtib3hcbiAgICAgICAgLmJveF9pZCgpXG4gICAgICAgIC50b19zdHIoKX1dYFxuICAgICk7XG5cbiAgY29uc3QgZmVlczogQXJyYXk8RmVlPiA9IFtdO1xuICBjb25zdCBjaGFpbnMgPSBSNC50b19jb2xsX2NvbGxfYnl0ZSgpLm1hcCgoZWxlbWVudCkgPT5cbiAgICBCdWZmZXIuZnJvbShlbGVtZW50KS50b1N0cmluZygpXG4gICk7XG4gIGNvbnN0IGhlaWdodHMgPSBSNS50b19qcygpIGFzIEFycmF5PEFycmF5PG51bWJlcj4+O1xuICBjb25zdCBicmlkZ2VGZWVzID0gUjYudG9fanMoKSBhcyBBcnJheTxBcnJheTxzdHJpbmc+PjtcbiAgY29uc3QgbmV0d29ya0ZlZXMgPSBSNy50b19qcygpIGFzIEFycmF5PEFycmF5PHN0cmluZz4+O1xuICBjb25zdCByc25SYXRpb3MgPSBSOC50b19qcygpIGFzIEFycmF5PEFycmF5PEFycmF5PHN0cmluZz4+PjtcbiAgY29uc3QgZmVlUmF0aW9zID0gUjkudG9fanMoKSBhcyBBcnJheTxBcnJheTxzdHJpbmc+PjtcblxuICBmb3IgKGxldCBmZWVJZHggPSAwOyBmZWVJZHggPCBoZWlnaHRzLmxlbmd0aDsgZmVlSWR4KyspIHtcbiAgICBjb25zdCBmZWU6IEZlZSA9IHtcbiAgICAgIGhlaWdodHM6IHt9LFxuICAgICAgY29uZmlnczoge30sXG4gICAgfTtcbiAgICBmb3IgKGxldCBjaGFpbklkeCA9IDA7IGNoYWluSWR4IDwgY2hhaW5zLmxlbmd0aDsgY2hhaW5JZHgrKykge1xuICAgICAgY29uc3QgY2hhaW4gPSBjaGFpbnNbY2hhaW5JZHhdO1xuXG4gICAgICBpZiAoaGVpZ2h0c1tmZWVJZHhdW2NoYWluSWR4XSA9PT0gLTEpIGNvbnRpbnVlO1xuICAgICAgZmVlLmhlaWdodHNbY2hhaW5dID0gaGVpZ2h0c1tmZWVJZHhdW2NoYWluSWR4XTtcblxuICAgICAgaWYgKGJyaWRnZUZlZXNbZmVlSWR4XVtjaGFpbklkeF0gPT09ICctMScpIGNvbnRpbnVlO1xuICAgICAgZmVlLmNvbmZpZ3NbY2hhaW5dID0ge1xuICAgICAgICBicmlkZ2VGZWU6IEJpZ0ludChicmlkZ2VGZWVzW2ZlZUlkeF1bY2hhaW5JZHhdKSxcbiAgICAgICAgbmV0d29ya0ZlZTogQmlnSW50KG5ldHdvcmtGZWVzW2ZlZUlkeF1bY2hhaW5JZHhdKSxcbiAgICAgICAgcnNuUmF0aW86IEJpZ0ludChyc25SYXRpb3NbZmVlSWR4XVtjaGFpbklkeF1bMF0pLFxuICAgICAgICByc25SYXRpb0Rpdmlzb3I6IEJpZ0ludChyc25SYXRpb3NbZmVlSWR4XVtjaGFpbklkeF1bMV0pLFxuICAgICAgICBmZWVSYXRpbzogQmlnSW50KGZlZVJhdGlvc1tmZWVJZHhdW2NoYWluSWR4XSksXG4gICAgICB9O1xuICAgIH1cbiAgICBmZWVzLnB1c2goZmVlKTtcbiAgfVxuXG4gIHJldHVybiBmZWVzO1xufTtcblxuLyoqXG4gKiBjb252ZXJ0cyBmZWUgY29uZmlnIHRvIHJlZ2lzdGVyIHZhbHVlc1xuICogQHBhcmFtIGZlZXNcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBjb25zdCBmZWVUb1JlZ2lzdGVyVmFsdWVzID0gKGZlZXM6IEFycmF5PEZlZT4pID0+IHtcbiAgLy8gIGV4dHJhY3QgY2hhaW5zXG4gIGNvbnN0IGNoYWluczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuICBmZWVzLmZvckVhY2goKGZlZSkgPT4ge1xuICAgIE9iamVjdC5rZXlzKGZlZS5oZWlnaHRzKS5mb3JFYWNoKChmZWVDaGFpbikgPT4ge1xuICAgICAgaWYgKCFjaGFpbnMuaW5jbHVkZXMoZmVlQ2hhaW4pKSBjaGFpbnMucHVzaChmZWVDaGFpbik7XG4gICAgfSk7XG4gIH0pO1xuICBjaGFpbnMuc29ydCgpO1xuICAvLyAgZXh0cmFjdCBjb25maWdzXG4gIGNvbnN0IGhlaWdodHM6IEFycmF5PEFycmF5PG51bWJlcj4+ID0gW107XG4gIGNvbnN0IGJyaWRnZUZlZXM6IEFycmF5PEFycmF5PHN0cmluZz4+ID0gW107XG4gIGNvbnN0IG5ldHdvcmtGZWVzOiBBcnJheTxBcnJheTxzdHJpbmc+PiA9IFtdO1xuICBjb25zdCByc25SYXRpb3M6IEFycmF5PEFycmF5PEFycmF5PHN0cmluZz4+PiA9IFtdO1xuICBjb25zdCBmZWVSYXRpb3M6IEFycmF5PEFycmF5PHN0cmluZz4+ID0gW107XG4gIGZlZXMuZm9yRWFjaCgoZmVlKSA9PiB7XG4gICAgY29uc3QgaGVpZ2h0c0NvbmZpZ3M6IEFycmF5PG51bWJlcj4gPSBbXTtcbiAgICBjb25zdCBicmlkZ2VGZWVzQ29uZmlnczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuICAgIGNvbnN0IG5ldHdvcmtGZWVzQ29uZmlnczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuICAgIGNvbnN0IHJzblJhdGlvc0NvbmZpZ3M6IEFycmF5PEFycmF5PHN0cmluZz4+ID0gW107XG4gICAgY29uc3QgZmVlUmF0aW9zQ29uZmlnczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuXG4gICAgY2hhaW5zLmZvckVhY2goKGNoYWluKSA9PiB7XG4gICAgICBpZiAoT2JqZWN0Lmhhc093bihmZWUuaGVpZ2h0cywgY2hhaW4pKVxuICAgICAgICBoZWlnaHRzQ29uZmlncy5wdXNoKGZlZS5oZWlnaHRzW2NoYWluXSk7XG4gICAgICBlbHNlIGhlaWdodHNDb25maWdzLnB1c2goLTEpO1xuXG4gICAgICBpZiAoT2JqZWN0Lmhhc093bihmZWUuY29uZmlncywgY2hhaW4pKSB7XG4gICAgICAgIGJyaWRnZUZlZXNDb25maWdzLnB1c2goZmVlLmNvbmZpZ3NbY2hhaW5dLmJyaWRnZUZlZS50b1N0cmluZygpKTtcbiAgICAgICAgbmV0d29ya0ZlZXNDb25maWdzLnB1c2goZmVlLmNvbmZpZ3NbY2hhaW5dLm5ldHdvcmtGZWUudG9TdHJpbmcoKSk7XG4gICAgICAgIHJzblJhdGlvc0NvbmZpZ3MucHVzaChbXG4gICAgICAgICAgZmVlLmNvbmZpZ3NbY2hhaW5dLnJzblJhdGlvLnRvU3RyaW5nKCksXG4gICAgICAgICAgZmVlLmNvbmZpZ3NbY2hhaW5dLnJzblJhdGlvRGl2aXNvci50b1N0cmluZygpLFxuICAgICAgICBdKTtcbiAgICAgICAgZmVlUmF0aW9zQ29uZmlncy5wdXNoKGZlZS5jb25maWdzW2NoYWluXS5mZWVSYXRpby50b1N0cmluZygpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJyaWRnZUZlZXNDb25maWdzLnB1c2goJy0xJyk7XG4gICAgICAgIG5ldHdvcmtGZWVzQ29uZmlncy5wdXNoKCctMScpO1xuICAgICAgICByc25SYXRpb3NDb25maWdzLnB1c2goWyctMScsICctMSddKTtcbiAgICAgICAgZmVlUmF0aW9zQ29uZmlncy5wdXNoKCctMScpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaGVpZ2h0cy5wdXNoKGhlaWdodHNDb25maWdzKTtcbiAgICBicmlkZ2VGZWVzLnB1c2goYnJpZGdlRmVlc0NvbmZpZ3MpO1xuICAgIG5ldHdvcmtGZWVzLnB1c2gobmV0d29ya0ZlZXNDb25maWdzKTtcbiAgICByc25SYXRpb3MucHVzaChyc25SYXRpb3NDb25maWdzKTtcbiAgICBmZWVSYXRpb3MucHVzaChmZWVSYXRpb3NDb25maWdzKTtcbiAgfSk7XG5cbiAgcmV0dXJuIHtcbiAgICBSNDogQ29uc3RhbnQuZnJvbV9jb2xsX2NvbGxfYnl0ZShjaGFpbnMubWFwKChjaGFpbikgPT4gQnVmZmVyLmZyb20oY2hhaW4pKSksXG4gICAgUjU6IENvbnN0YW50LmZyb21fanMoaGVpZ2h0cyksXG4gICAgUjY6IENvbnN0YW50LmZyb21fanMoYnJpZGdlRmVlcyksXG4gICAgUjc6IENvbnN0YW50LmZyb21fanMobmV0d29ya0ZlZXMpLFxuICAgIFI4OiBDb25zdGFudC5mcm9tX2pzKHJzblJhdGlvcyksXG4gICAgUjk6IENvbnN0YW50LmZyb21fanMoZmVlUmF0aW9zKSxcbiAgfTtcbn07XG4iXX0=
|