@rosen-bridge/minimum-fee 2.2.3 → 3.0.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.
Files changed (49) hide show
  1. package/CHANGELOG.md +86 -0
  2. package/dist/constants.d.ts.map +1 -0
  3. package/dist/constants.js +3 -0
  4. package/dist/errors.d.ts.map +1 -0
  5. package/dist/errors.js +26 -0
  6. package/dist/{lib/handleApiError.d.ts → handleApiError.d.ts} +4 -4
  7. package/dist/handleApiError.d.ts.map +1 -0
  8. package/dist/handleApiError.js +35 -0
  9. package/dist/index.d.ts +8 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +8 -0
  12. package/dist/{lib/MinimumFeeBox.d.ts → minimumFeeBox.d.ts} +2 -2
  13. package/dist/minimumFeeBox.d.ts.map +1 -0
  14. package/dist/minimumFeeBox.js +219 -0
  15. package/dist/{lib/MinimumFeeBoxBuilder.d.ts → minimumFeeBoxBuilder.d.ts} +2 -2
  16. package/dist/minimumFeeBoxBuilder.d.ts.map +1 -0
  17. package/dist/minimumFeeBoxBuilder.js +138 -0
  18. package/dist/{lib/MinimumFeeConfig.d.ts → minimumFeeConfig.d.ts} +1 -1
  19. package/dist/minimumFeeConfig.d.ts.map +1 -0
  20. package/dist/minimumFeeConfig.js +41 -0
  21. package/dist/types.d.ts.map +1 -0
  22. package/dist/types.js +22 -0
  23. package/dist/utils.d.ts.map +1 -0
  24. package/dist/utils.js +111 -0
  25. package/package.json +24 -26
  26. package/dist/lib/MinimumFeeBox.d.ts.map +0 -1
  27. package/dist/lib/MinimumFeeBox.js +0 -219
  28. package/dist/lib/MinimumFeeBoxBuilder.d.ts.map +0 -1
  29. package/dist/lib/MinimumFeeBoxBuilder.js +0 -138
  30. package/dist/lib/MinimumFeeConfig.d.ts.map +0 -1
  31. package/dist/lib/MinimumFeeConfig.js +0 -41
  32. package/dist/lib/constants.d.ts.map +0 -1
  33. package/dist/lib/constants.js +0 -3
  34. package/dist/lib/errors.d.ts.map +0 -1
  35. package/dist/lib/errors.js +0 -26
  36. package/dist/lib/handleApiError.d.ts.map +0 -1
  37. package/dist/lib/handleApiError.js +0 -35
  38. package/dist/lib/index.d.ts +0 -8
  39. package/dist/lib/index.d.ts.map +0 -1
  40. package/dist/lib/index.js +0 -8
  41. package/dist/lib/types.d.ts.map +0 -1
  42. package/dist/lib/types.js +0 -22
  43. package/dist/lib/utils.d.ts.map +0 -1
  44. package/dist/lib/utils.js +0 -111
  45. package/dist/tsconfig.build.tsbuildinfo +0 -1
  46. /package/dist/{lib/constants.d.ts → constants.d.ts} +0 -0
  47. /package/dist/{lib/errors.d.ts → errors.d.ts} +0 -0
  48. /package/dist/{lib/types.d.ts → types.d.ts} +0 -0
  49. /package/dist/{lib/utils.d.ts → utils.d.ts} +0 -0
@@ -0,0 +1,138 @@
1
+ import { Address, BoxValue, Contract, ErgoBoxCandidateBuilder, I64, TokenAmount, TokenId, } from 'ergo-lib-wasm-nodejs';
2
+ import { InvalidConfig } from './errors';
3
+ import { ERGO_NATIVE_TOKEN } from './constants';
4
+ import { feeToRegisterValues } from './utils';
5
+ export class MinimumFeeBoxBuilder {
6
+ fees;
7
+ boxValue;
8
+ boxHeight;
9
+ tokenId;
10
+ minimumFeeNFT;
11
+ address;
12
+ constructor(minimumFeeNFT, address) {
13
+ this.fees = [];
14
+ this.minimumFeeNFT = minimumFeeNFT;
15
+ this.address = address;
16
+ }
17
+ /**
18
+ * adds a feeConfig
19
+ * @param feeConfig
20
+ */
21
+ addConfig = (feeConfig) => {
22
+ this.fees.push(feeConfig.getConfig());
23
+ return this;
24
+ };
25
+ /**
26
+ * removes a config by index
27
+ * @param index
28
+ */
29
+ removeConfig = (index) => {
30
+ this.fees.splice(index, 1);
31
+ return this;
32
+ };
33
+ /**
34
+ * gets current feeConfig
35
+ */
36
+ getConfigs = () => {
37
+ return this.fees;
38
+ };
39
+ /**
40
+ * sets ErgoBox Erg value
41
+ * @param nanoErg
42
+ * @returns
43
+ */
44
+ setValue = (nanoErg) => {
45
+ this.boxValue = BoxValue.from_i64(I64.from_str(nanoErg.toString()));
46
+ return this;
47
+ };
48
+ /**
49
+ * sets ErgoBox creationheight
50
+ * @param currentHeight
51
+ */
52
+ setHeight = (currentHeight) => {
53
+ this.boxHeight = currentHeight;
54
+ return this;
55
+ };
56
+ /**
57
+ * sets config token id
58
+ * @param tokenId
59
+ */
60
+ setToken = (tokenId) => {
61
+ this.tokenId = tokenId;
62
+ return this;
63
+ };
64
+ /**
65
+ * validates some of specified configs
66
+ */
67
+ validate = () => {
68
+ if (!this.boxValue)
69
+ throw new InvalidConfig(`Box value argument is not defined`);
70
+ if (!this.boxHeight)
71
+ throw new InvalidConfig(`Box creation height argument is not defined`);
72
+ if (!this.tokenId)
73
+ throw new InvalidConfig(`Config token id is not defined`);
74
+ if (this.fees.length === 0)
75
+ throw new InvalidConfig(`No config added. Please add at least one config`);
76
+ for (let i = 0; i < this.fees.length - 1; i++) {
77
+ const chains = Object.keys(this.fees[0].heights);
78
+ chains.forEach((chain) => {
79
+ if (!this.fees[i + 1].heights[chain])
80
+ throw new InvalidConfig(`Expected chain [${chain}] at index [${i + 1}]`);
81
+ if (this.fees[i + 1].heights[chain] < this.fees[i].heights[chain])
82
+ throw new InvalidConfig(`All heights for a chain should be ascending. Heights of chain [${chain}] at indexes [${i},${i + 1}] are invalid [${this.fees[i + 1].heights[chain]} < ${this.fees[i].heights[chain]}]`);
83
+ });
84
+ }
85
+ };
86
+ /**
87
+ * removes heights and configs of all chains which don't have any configs
88
+ */
89
+ prune = () => {
90
+ const activeChains = [];
91
+ for (let i = 0; i < this.fees.length; i++) {
92
+ const chains = Object.keys(this.fees[i].heights);
93
+ chains.forEach((chain) => {
94
+ const feeConfig = this.fees[i].configs[chain];
95
+ if (feeConfig &&
96
+ (feeConfig.bridgeFee !== -1n ||
97
+ feeConfig.networkFee !== -1n ||
98
+ feeConfig.rsnRatio !== -1n ||
99
+ feeConfig.rsnRatioDivisor !== -1n ||
100
+ feeConfig.feeRatio !== -1n))
101
+ activeChains.push(chain);
102
+ });
103
+ }
104
+ for (let i = 0; i < this.fees.length; i++) {
105
+ const chains = Object.keys(this.fees[i].heights);
106
+ chains.forEach((chain) => {
107
+ if (!activeChains.includes(chain)) {
108
+ delete this.fees[i].heights[chain];
109
+ delete this.fees[i].configs[chain];
110
+ }
111
+ });
112
+ }
113
+ return this;
114
+ };
115
+ /**
116
+ * validates specified configs and builds ErgoBoxCandidate of config box using them
117
+ */
118
+ build = () => {
119
+ this.validate();
120
+ // add box value, address and creation height
121
+ const boxBuilder = new ErgoBoxCandidateBuilder(this.boxValue, Contract.new(Address.from_base58(this.address).to_ergo_tree()), this.boxHeight);
122
+ // add box tokens
123
+ boxBuilder.add_token(TokenId.from_str(this.minimumFeeNFT), TokenAmount.from_i64(I64.from_str('1')));
124
+ if (this.tokenId !== ERGO_NATIVE_TOKEN)
125
+ boxBuilder.add_token(TokenId.from_str(this.tokenId), TokenAmount.from_i64(I64.from_str('1')));
126
+ // generate register values
127
+ const registerValues = feeToRegisterValues(this.fees);
128
+ // add box registers
129
+ boxBuilder.set_register_value(4, registerValues.R4);
130
+ boxBuilder.set_register_value(5, registerValues.R5);
131
+ boxBuilder.set_register_value(6, registerValues.R6);
132
+ boxBuilder.set_register_value(7, registerValues.R7);
133
+ boxBuilder.set_register_value(8, registerValues.R8);
134
+ boxBuilder.set_register_value(9, registerValues.R9);
135
+ return boxBuilder.build();
136
+ };
137
+ }
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaW11bUZlZUJveEJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvbWluaW11bUZlZUJveEJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE9BQU8sRUFDUCxRQUFRLEVBQ1IsUUFBUSxFQUNSLHVCQUF1QixFQUN2QixHQUFHLEVBQ0gsV0FBVyxFQUNYLE9BQU8sR0FFUixNQUFNLHNCQUFzQixDQUFDO0FBRzlCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUU5QyxNQUFNLE9BQU8sb0JBQW9CO0lBQ3JCLElBQUksQ0FBYTtJQUNqQixRQUFRLENBQVc7SUFDbkIsU0FBUyxDQUFTO0lBQ2xCLE9BQU8sQ0FBUztJQUNoQixhQUFhLENBQVM7SUFDdEIsT0FBTyxDQUFTO0lBRTFCLFlBQVksYUFBcUIsRUFBRSxPQUFlO1FBQ2hELElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVMsR0FBRyxDQUFDLFNBQTJCLEVBQXdCLEVBQUU7UUFDaEUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDdEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLENBQUM7SUFFRjs7O09BR0c7SUFDSCxZQUFZLEdBQUcsQ0FBQyxLQUFhLEVBQXdCLEVBQUU7UUFDckQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzNCLE9BQU8sSUFB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a0JBQWtCLENBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNwRCxVQUFVLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNwRCxVQUFVLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNwRCxVQUFVLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNwRCxVQUFVLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVwRCxPQUFPLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM1QixDQUFDLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFkZHJlc3MsXG4gIEJveFZhbHVlLFxuICBDb250cmFjdCxcbiAgRXJnb0JveENhbmRpZGF0ZUJ1aWxkZXIsXG4gIEk2NCxcbiAgVG9rZW5BbW91bnQsXG4gIFRva2VuSWQsXG4gIEVyZ29Cb3hDYW5kaWRhdGUsXG59IGZyb20gJ2VyZ28tbGliLXdhc20tbm9kZWpzJztcbmltcG9ydCB7IE1pbmltdW1GZWVDb25maWcgfSBmcm9tICcuL21pbmltdW1GZWVDb25maWcnO1xuaW1wb3J0IHsgRmVlIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBJbnZhbGlkQ29uZmlnIH0gZnJvbSAnLi9lcnJvcnMnO1xuaW1wb3J0IHsgRVJHT19OQVRJVkVfVE9LRU4gfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBmZWVUb1JlZ2lzdGVyVmFsdWVzIH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBNaW5pbXVtRmVlQm94QnVpbGRlciB7XG4gIHByb3RlY3RlZCBmZWVzOiBBcnJheTxGZWU+O1xuICBwcm90ZWN0ZWQgYm94VmFsdWU6IEJveFZhbHVlO1xuICBwcm90ZWN0ZWQgYm94SGVpZ2h0OiBudW1iZXI7XG4gIHByb3RlY3RlZCB0b2tlbklkOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBtaW5pbXVtRmVlTkZUOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBhZGRyZXNzOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IobWluaW11bUZlZU5GVDogc3RyaW5nLCBhZGRyZXNzOiBzdHJpbmcpIHtcbiAgICB0aGlzLmZlZXMgPSBbXTtcbiAgICB0aGlzLm1pbmltdW1GZWVORlQgPSBtaW5pbXVtRmVlTkZUO1xuICAgIHRoaXMuYWRkcmVzcyA9IGFkZHJlc3M7XG4gIH1cblxuICAvKipcbiAgICogYWRkcyBhIGZlZUNvbmZpZ1xuICAgKiBAcGFyYW0gZmVlQ29uZmlnXG4gICAqL1xuICBhZGRDb25maWcgPSAoZmVlQ29uZmlnOiBNaW5pbXVtRmVlQ29uZmlnKTogTWluaW11bUZlZUJveEJ1aWxkZXIgPT4ge1xuICAgIHRoaXMuZmVlcy5wdXNoKGZlZUNvbmZpZy5nZXRDb25maWcoKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH07XG5cbiAgLyoqXG4gICAqIHJlbW92ZXMgYSBjb25maWcgYnkgaW5kZXhcbiAgICogQHBhcmFtIGluZGV4XG4gICAqL1xuICByZW1vdmVDb25maWcgPSAoaW5kZXg6IG51bWJlcik6IE1pbmltdW1GZWVCb3hCdWlsZGVyID0+IHtcbiAgICB0aGlzLmZlZXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfTtcblxuICAvKipcbiAgICogZ2V0cyBjdXJyZW50IGZlZUNvbmZpZ1xuICAgKi9cbiAgZ2V0Q29uZmlncyA9ICgpOiBBcnJheTxGZWU+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5mZWVzO1xuICB9O1xuXG4gIC8qKlxuICAgKiBzZXRzIEVyZ29Cb3ggRXJnIHZhbHVlXG4gICAqIEBwYXJhbSBuYW5vRXJnXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBzZXRWYWx1ZSA9IChuYW5vRXJnOiBiaWdpbnQpOiBNaW5pbXVtRmVlQm94QnVpbGRlciA9PiB7XG4gICAgdGhpcy5ib3hWYWx1ZSA9IEJveFZhbHVlLmZyb21faTY0KEk2NC5mcm9tX3N0cihuYW5vRXJnLnRvU3RyaW5nKCkpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfTtcblxuICAvKipcbiAgICogc2V0cyBFcmdvQm94IGNyZWF0aW9uaGVpZ2h0XG4gICAqIEBwYXJhbSBjdXJyZW50SGVpZ2h0XG4gICAqL1xuICBzZXRIZWlnaHQgPSAoY3VycmVudEhlaWdodDogbnVtYmVyKTogTWluaW11bUZlZUJveEJ1aWxkZXIgPT4ge1xuICAgIHRoaXMuYm94SGVpZ2h0ID0gY3VycmVudEhlaWdodDtcbiAgICByZXR1cm4gdGhpcztcbiAgfTtcblxuICAvKipcbiAgICogc2V0cyBjb25maWcgdG9rZW4gaWRcbiAgICogQHBhcmFtIHRva2VuSWRcbiAgICovXG4gIHNldFRva2VuID0gKHRva2VuSWQ6IHN0cmluZyk6IE1pbmltdW1GZWVCb3hCdWlsZGVyID0+IHtcbiAgICB0aGlzLnRva2VuSWQgPSB0b2tlbklkO1xuICAgIHJldHVybiB0aGlzO1xuICB9O1xuXG4gIC8qKlxuICAgKiB2YWxpZGF0ZXMgc29tZSBvZiBzcGVjaWZpZWQgY29uZmlnc1xuICAgKi9cbiAgcHJvdGVjdGVkIHZhbGlkYXRlID0gKCk6IHZvaWQgPT4ge1xuICAgIGlmICghdGhpcy5ib3hWYWx1ZSlcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkQ29uZmlnKGBCb3ggdmFsdWUgYXJndW1lbnQgaXMgbm90IGRlZmluZWRgKTtcbiAgICBpZiAoIXRoaXMuYm94SGVpZ2h0KVxuICAgICAgdGhyb3cgbmV3IEludmFsaWRDb25maWcoYEJveCBjcmVhdGlvbiBoZWlnaHQgYXJndW1lbnQgaXMgbm90IGRlZmluZWRgKTtcbiAgICBpZiAoIXRoaXMudG9rZW5JZClcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkQ29uZmlnKGBDb25maWcgdG9rZW4gaWQgaXMgbm90IGRlZmluZWRgKTtcbiAgICBpZiAodGhpcy5mZWVzLmxlbmd0aCA9PT0gMClcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkQ29uZmlnKFxuICAgICAgICBgTm8gY29uZmlnIGFkZGVkLiBQbGVhc2UgYWRkIGF0IGxlYXN0IG9uZSBjb25maWdgLFxuICAgICAgKTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5mZWVzLmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgY29uc3QgY2hhaW5zID0gT2JqZWN0LmtleXModGhpcy5mZWVzWzBdLmhlaWdodHMpO1xuICAgICAgY2hhaW5zLmZvckVhY2goKGNoYWluKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5mZWVzW2kgKyAxXS5oZWlnaHRzW2NoYWluXSlcbiAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZENvbmZpZyhcbiAgICAgICAgICAgIGBFeHBlY3RlZCBjaGFpbiBbJHtjaGFpbn1dIGF0IGluZGV4IFske2kgKyAxfV1gLFxuICAgICAgICAgICk7XG4gICAgICAgIGlmICh0aGlzLmZlZXNbaSArIDFdLmhlaWdodHNbY2hhaW5dIDwgdGhpcy5mZWVzW2ldLmhlaWdodHNbY2hhaW5dKVxuICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQ29uZmlnKFxuICAgICAgICAgICAgYEFsbCBoZWlnaHRzIGZvciBhIGNoYWluIHNob3VsZCBiZSBhc2NlbmRpbmcuIEhlaWdodHMgb2YgY2hhaW4gWyR7Y2hhaW59XSBhdCBpbmRleGVzIFske2l9LCR7XG4gICAgICAgICAgICAgIGkgKyAxXG4gICAgICAgICAgICB9XSBhcmUgaW52YWxpZCBbJHt0aGlzLmZlZXNbaSArIDFdLmhlaWdodHNbY2hhaW5dfSA8ICR7XG4gICAgICAgICAgICAgIHRoaXMuZmVlc1tpXS5oZWlnaHRzW2NoYWluXVxuICAgICAgICAgICAgfV1gLFxuICAgICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIHJlbW92ZXMgaGVpZ2h0cyBhbmQgY29uZmlncyBvZiBhbGwgY2hhaW5zIHdoaWNoIGRvbid0IGhhdmUgYW55IGNvbmZpZ3NcbiAgICovXG4gIHBydW5lID0gKCk6IE1pbmltdW1GZWVCb3hCdWlsZGVyID0+IHtcbiAgICBjb25zdCBhY3RpdmVDaGFpbnM6IHN0cmluZ1tdID0gW107XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZmVlcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgY2hhaW5zID0gT2JqZWN0LmtleXModGhpcy5mZWVzW2ldLmhlaWdodHMpO1xuICAgICAgY2hhaW5zLmZvckVhY2goKGNoYWluKSA9PiB7XG4gICAgICAgIGNvbnN0IGZlZUNvbmZpZyA9IHRoaXMuZmVlc1tpXS5jb25maWdzW2NoYWluXTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGZlZUNvbmZpZyAmJlxuICAgICAgICAgIChmZWVDb25maWcuYnJpZGdlRmVlICE9PSAtMW4gfHxcbiAgICAgICAgICAgIGZlZUNvbmZpZy5uZXR3b3JrRmVlICE9PSAtMW4gfHxcbiAgICAgICAgICAgIGZlZUNvbmZpZy5yc25SYXRpbyAhPT0gLTFuIHx8XG4gICAgICAgICAgICBmZWVDb25maWcucnNuUmF0aW9EaXZpc29yICE9PSAtMW4gfHxcbiAgICAgICAgICAgIGZlZUNvbmZpZy5mZWVSYXRpbyAhPT0gLTFuKVxuICAgICAgICApXG4gICAgICAgICAgYWN0aXZlQ2hhaW5zLnB1c2goY2hhaW4pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmZlZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGNoYWlucyA9IE9iamVjdC5rZXlzKHRoaXMuZmVlc1tpXS5oZWlnaHRzKTtcbiAgICAgIGNoYWlucy5mb3JFYWNoKChjaGFpbikgPT4ge1xuICAgICAgICBpZiAoIWFjdGl2ZUNoYWlucy5pbmNsdWRlcyhjaGFpbikpIHtcbiAgICAgICAgICBkZWxldGUgdGhpcy5mZWVzW2ldLmhlaWdodHNbY2hhaW5dO1xuICAgICAgICAgIGRlbGV0ZSB0aGlzLmZlZXNbaV0uY29uZmlnc1tjaGFpbl07XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzO1xuICB9O1xuXG4gIC8qKlxuICAgKiB2YWxpZGF0ZXMgc3BlY2lmaWVkIGNvbmZpZ3MgYW5kIGJ1aWxkcyBFcmdvQm94Q2FuZGlkYXRlIG9mIGNvbmZpZyBib3ggdXNpbmcgdGhlbVxuICAgKi9cbiAgYnVpbGQgPSAoKTogRXJnb0JveENhbmRpZGF0ZSA9PiB7XG4gICAgdGhpcy52YWxpZGF0ZSgpO1xuXG4gICAgLy8gYWRkIGJveCB2YWx1ZSwgYWRkcmVzcyBhbmQgY3JlYXRpb24gaGVpZ2h0XG4gICAgY29uc3QgYm94QnVpbGRlciA9IG5ldyBFcmdvQm94Q2FuZGlkYXRlQnVpbGRlcihcbiAgICAgIHRoaXMuYm94VmFsdWUsXG4gICAgICBDb250cmFjdC5uZXcoQWRkcmVzcy5mcm9tX2Jhc2U1OCh0aGlzLmFkZHJlc3MpLnRvX2VyZ29fdHJlZSgpKSxcbiAgICAgIHRoaXMuYm94SGVpZ2h0LFxuICAgICk7XG5cbiAgICAvLyBhZGQgYm94IHRva2Vuc1xuICAgIGJveEJ1aWxkZXIuYWRkX3Rva2VuKFxuICAgICAgVG9rZW5JZC5mcm9tX3N0cih0aGlzLm1pbmltdW1GZWVORlQpLFxuICAgICAgVG9rZW5BbW91bnQuZnJvbV9pNjQoSTY0LmZyb21fc3RyKCcxJykpLFxuICAgICk7XG4gICAgaWYgKHRoaXMudG9rZW5JZCAhPT0gRVJHT19OQVRJVkVfVE9LRU4pXG4gICAgICBib3hCdWlsZGVyLmFkZF90b2tlbihcbiAgICAgICAgVG9rZW5JZC5mcm9tX3N0cih0aGlzLnRva2VuSWQpLFxuICAgICAgICBUb2tlbkFtb3VudC5mcm9tX2k2NChJNjQuZnJvbV9zdHIoJzEnKSksXG4gICAgICApO1xuXG4gICAgLy8gZ2VuZXJhdGUgcmVnaXN0ZXIgdmFsdWVzXG4gICAgY29uc3QgcmVnaXN0ZXJWYWx1ZXMgPSBmZWVUb1JlZ2lzdGVyVmFsdWVzKHRoaXMuZmVlcyk7XG5cbiAgICAvLyBhZGQgYm94IHJlZ2lzdGVyc1xuICAgIGJveEJ1aWxkZXIuc2V0X3JlZ2lzdGVyX3ZhbHVlKDQsIHJlZ2lzdGVyVmFsdWVzLlI0KTtcbiAgICBib3hCdWlsZGVyLnNldF9yZWdpc3Rlcl92YWx1ZSg1LCByZWdpc3RlclZhbHVlcy5SNSk7XG4gICAgYm94QnVpbGRlci5zZXRfcmVnaXN0ZXJfdmFsdWUoNiwgcmVnaXN0ZXJWYWx1ZXMuUjYpO1xuICAgIGJveEJ1aWxkZXIuc2V0X3JlZ2lzdGVyX3ZhbHVlKDcsIHJlZ2lzdGVyVmFsdWVzLlI3KTtcbiAgICBib3hCdWlsZGVyLnNldF9yZWdpc3Rlcl92YWx1ZSg4LCByZWdpc3RlclZhbHVlcy5SOCk7XG4gICAgYm94QnVpbGRlci5zZXRfcmVnaXN0ZXJfdmFsdWUoOSwgcmVnaXN0ZXJWYWx1ZXMuUjkpO1xuXG4gICAgcmV0dXJuIGJveEJ1aWxkZXIuYnVpbGQoKTtcbiAgfTtcbn1cbiJdfQ==
@@ -19,4 +19,4 @@ export declare class MinimumFeeConfig {
19
19
  */
20
20
  getConfig: () => Fee;
21
21
  }
22
- //# sourceMappingURL=MinimumFeeConfig.d.ts.map
22
+ //# sourceMappingURL=minimumFeeConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"minimumFeeConfig.d.ts","sourceRoot":"","sources":["../lib/minimumFeeConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAExC,qBAAa,gBAAgB;IAC3B,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;gBAEP,GAAG,CAAC,EAAE,GAAG;IASrB;;;;;OAKG;IACH,cAAc,GACZ,OAAO,MAAM,EACb,QAAQ,MAAM,EACd,UAAU,QAAQ,GAAG,SAAS,KAC7B,gBAAgB,CAKjB;IAEF;;;OAGG;IACH,iBAAiB,GAAI,OAAO,MAAM,KAAG,gBAAgB,CAInD;IAEF;;OAEG;IACH,SAAS,QAAO,GAAG,CAEjB;CACH"}
@@ -0,0 +1,41 @@
1
+ export class MinimumFeeConfig {
2
+ fee;
3
+ constructor(fee) {
4
+ this.fee = fee
5
+ ? fee
6
+ : {
7
+ heights: {},
8
+ configs: {},
9
+ };
10
+ }
11
+ /**
12
+ * sets fee for a chain
13
+ * @param chain
14
+ * @param height
15
+ * @param chainFee
16
+ */
17
+ setChainConfig = (chain, height, chainFee) => {
18
+ this.fee.heights[chain] = height;
19
+ if (chainFee)
20
+ this.fee.configs[chain] = chainFee;
21
+ else
22
+ delete this.fee.configs[chain];
23
+ return this;
24
+ };
25
+ /**
26
+ * removes fee for a chain
27
+ * @param chain
28
+ */
29
+ removeChainConfig = (chain) => {
30
+ delete this.fee.heights[chain];
31
+ delete this.fee.configs[chain];
32
+ return this;
33
+ };
34
+ /**
35
+ * returns generated fee
36
+ */
37
+ getConfig = () => {
38
+ return this.fee;
39
+ };
40
+ }
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaW11bUZlZUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2xpYi9taW5pbXVtRmVlQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxnQkFBZ0I7SUFDakIsR0FBRyxDQUFNO0lBRW5CLFlBQVksR0FBUztRQUNuQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUc7WUFDWixDQUFDLENBQUMsR0FBRztZQUNMLENBQUMsQ0FBQztnQkFDRSxPQUFPLEVBQUUsRUFBRTtnQkFDWCxPQUFPLEVBQUUsRUFBRTthQUNaLENBQUM7SUFDUixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxjQUFjLEdBQUcsQ0FDZixLQUFhLEVBQ2IsTUFBYyxFQUNkLFFBQThCLEVBQ1osRUFBRTtRQUNwQixJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDakMsSUFBSSxRQUFRO1lBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsUUFBUSxDQUFDOztZQUM1QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0lBRUY7OztPQUdHO0lBQ0gsaUJBQWlCLEdBQUcsQ0FBQyxLQUFhLEVBQW9CLEVBQUU7UUFDdEQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9CLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0lBRUY7O09BRUc7SUFDSCxTQUFTLEdBQUcsR0FBUSxFQUFFO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQixDQUFDLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYWluRmVlLCBGZWUgfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNsYXNzIE1pbmltdW1GZWVDb25maWcge1xuICBwcm90ZWN0ZWQgZmVlOiBGZWU7XG5cbiAgY29uc3RydWN0b3IoZmVlPzogRmVlKSB7XG4gICAgdGhpcy5mZWUgPSBmZWVcbiAgICAgID8gZmVlXG4gICAgICA6IHtcbiAgICAgICAgICBoZWlnaHRzOiB7fSxcbiAgICAgICAgICBjb25maWdzOiB7fSxcbiAgICAgICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBzZXRzIGZlZSBmb3IgYSBjaGFpblxuICAgKiBAcGFyYW0gY2hhaW5cbiAgICogQHBhcmFtIGhlaWdodFxuICAgKiBAcGFyYW0gY2hhaW5GZWVcbiAgICovXG4gIHNldENoYWluQ29uZmlnID0gKFxuICAgIGNoYWluOiBzdHJpbmcsXG4gICAgaGVpZ2h0OiBudW1iZXIsXG4gICAgY2hhaW5GZWU6IENoYWluRmVlIHwgdW5kZWZpbmVkLFxuICApOiBNaW5pbXVtRmVlQ29uZmlnID0+IHtcbiAgICB0aGlzLmZlZS5oZWlnaHRzW2NoYWluXSA9IGhlaWdodDtcbiAgICBpZiAoY2hhaW5GZWUpIHRoaXMuZmVlLmNvbmZpZ3NbY2hhaW5dID0gY2hhaW5GZWU7XG4gICAgZWxzZSBkZWxldGUgdGhpcy5mZWUuY29uZmlnc1tjaGFpbl07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH07XG5cbiAgLyoqXG4gICAqIHJlbW92ZXMgZmVlIGZvciBhIGNoYWluXG4gICAqIEBwYXJhbSBjaGFpblxuICAgKi9cbiAgcmVtb3ZlQ2hhaW5Db25maWcgPSAoY2hhaW46IHN0cmluZyk6IE1pbmltdW1GZWVDb25maWcgPT4ge1xuICAgIGRlbGV0ZSB0aGlzLmZlZS5oZWlnaHRzW2NoYWluXTtcbiAgICBkZWxldGUgdGhpcy5mZWUuY29uZmlnc1tjaGFpbl07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH07XG5cbiAgLyoqXG4gICAqIHJldHVybnMgZ2VuZXJhdGVkIGZlZVxuICAgKi9cbiAgZ2V0Q29uZmlnID0gKCk6IEZlZSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuZmVlO1xuICB9O1xufVxuIl19
@@ -0,0 +1 @@
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;IAErB,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/types.js ADDED
@@ -0,0 +1,22 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBZWhELE1BQU0sT0FBTyxlQUFlO0lBQzFCLFNBQVMsQ0FBUztJQUNsQixVQUFVLENBQVM7SUFDbkIsUUFBUSxDQUFTO0lBQ2pCLGVBQWUsQ0FBUztJQUN4QixRQUFRLENBQVM7SUFDUixlQUFlLEdBQVcsaUJBQWlCLENBQUM7SUFFckQsWUFBWSxRQUFrQjtRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUM7UUFDcEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUNsQyxJQUFJLENBQUMsZUFBZSxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUM7UUFDaEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDO0lBQ3BDLENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBTixJQUFZLGVBSVg7QUFKRCxXQUFZLGVBQWU7SUFDekIsd0NBQXFCLENBQUE7SUFFckIsZ0NBQWEsQ0FBQTtBQUNmLENBQUMsRUFKVyxlQUFlLEtBQWYsZUFBZSxRQUkxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0YW50IH0gZnJvbSAnZXJnby1saWItd2FzbS1ub2RlanMnO1xuaW1wb3J0IHsgRkVFX1JBVElPX0RJVklTT1IgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVlIHtcbiAgaGVpZ2h0czogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfTtcbiAgY29uZmlnczogeyBba2V5OiBzdHJpbmddOiBDaGFpbkZlZSB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYWluRmVlIHtcbiAgYnJpZGdlRmVlOiBiaWdpbnQ7XG4gIG5ldHdvcmtGZWU6IGJpZ2ludDtcbiAgcnNuUmF0aW86IGJpZ2ludDtcbiAgcnNuUmF0aW9EaXZpc29yOiBiaWdpbnQ7XG4gIGZlZVJhdGlvOiBiaWdpbnQ7XG59XG5cbmV4cG9ydCBjbGFzcyBDaGFpbk1pbmltdW1GZWUgaW1wbGVtZW50cyBDaGFpbkZlZSB7XG4gIGJyaWRnZUZlZTogYmlnaW50O1xuICBuZXR3b3JrRmVlOiBiaWdpbnQ7XG4gIHJzblJhdGlvOiBiaWdpbnQ7XG4gIHJzblJhdGlvRGl2aXNvcjogYmlnaW50O1xuICBmZWVSYXRpbzogYmlnaW50O1xuICByZWFkb25seSBmZWVSYXRpb0Rpdmlzb3I6IGJpZ2ludCA9IEZFRV9SQVRJT19ESVZJU09SO1xuXG4gIGNvbnN0cnVjdG9yKGNoYWluRmVlOiBDaGFpbkZlZSkge1xuICAgIHRoaXMuYnJpZGdlRmVlID0gY2hhaW5GZWUuYnJpZGdlRmVlO1xuICAgIHRoaXMubmV0d29ya0ZlZSA9IGNoYWluRmVlLm5ldHdvcmtGZWU7XG4gICAgdGhpcy5yc25SYXRpbyA9IGNoYWluRmVlLnJzblJhdGlvO1xuICAgIHRoaXMucnNuUmF0aW9EaXZpc29yID0gY2hhaW5GZWUucnNuUmF0aW9EaXZpc29yO1xuICAgIHRoaXMuZmVlUmF0aW8gPSBjaGFpbkZlZS5mZWVSYXRpbztcbiAgfVxufVxuXG5leHBvcnQgZW51bSBFcmdvTmV0d29ya1R5cGUge1xuICBleHBsb3JlciA9ICdleHBsb3JlcicsXG5cbiAgbm9kZSA9ICdub2RlJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlclZhbHVlcyB7XG4gIFI0OiBDb25zdGFudDtcbiAgUjU6IENvbnN0YW50O1xuICBSNjogQ29uc3RhbnQ7XG4gIFI3OiBDb25zdGFudDtcbiAgUjg6IENvbnN0YW50O1xuICBSOTogQ29uc3RhbnQ7XG59XG4iXX0=
@@ -0,0 +1 @@
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,GAAI,KAAK,OAAO,KAAG,KAAK,CAAC,GAAG,CAiDzD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,MAAM,KAAK,CAAC,GAAG,CAAC;;;;;;;CA0DnD,CAAC"}
package/dist/utils.js ADDED
@@ -0,0 +1,111 @@
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(`Incomplete register data for minimum-fee config box [${box
15
+ .box_id()
16
+ .to_str()}]`);
17
+ const fees = [];
18
+ const chains = R4.to_coll_coll_byte().map((element) => Buffer.from(element).toString());
19
+ const heights = R5.to_js();
20
+ const bridgeFees = R6.to_js();
21
+ const networkFees = R7.to_js();
22
+ const rsnRatios = R8.to_js();
23
+ const feeRatios = R9.to_js();
24
+ for (let feeIdx = 0; feeIdx < heights.length; feeIdx++) {
25
+ const fee = {
26
+ heights: {},
27
+ configs: {},
28
+ };
29
+ for (let chainIdx = 0; chainIdx < chains.length; chainIdx++) {
30
+ const chain = chains[chainIdx];
31
+ if (heights[feeIdx][chainIdx] === -1)
32
+ continue;
33
+ fee.heights[chain] = heights[feeIdx][chainIdx];
34
+ if (bridgeFees[feeIdx][chainIdx] === '-1')
35
+ continue;
36
+ fee.configs[chain] = {
37
+ bridgeFee: BigInt(bridgeFees[feeIdx][chainIdx]),
38
+ networkFee: BigInt(networkFees[feeIdx][chainIdx]),
39
+ rsnRatio: BigInt(rsnRatios[feeIdx][chainIdx][0]),
40
+ rsnRatioDivisor: BigInt(rsnRatios[feeIdx][chainIdx][1]),
41
+ feeRatio: BigInt(feeRatios[feeIdx][chainIdx]),
42
+ };
43
+ }
44
+ fees.push(fee);
45
+ }
46
+ return fees;
47
+ };
48
+ /**
49
+ * converts fee config to register values
50
+ * @param fees
51
+ * @returns
52
+ */
53
+ export const feeToRegisterValues = (fees) => {
54
+ // extract chains
55
+ const chains = [];
56
+ fees.forEach((fee) => {
57
+ Object.keys(fee.heights).forEach((feeChain) => {
58
+ if (!chains.includes(feeChain))
59
+ chains.push(feeChain);
60
+ });
61
+ });
62
+ chains.sort();
63
+ // extract configs
64
+ const heights = [];
65
+ const bridgeFees = [];
66
+ const networkFees = [];
67
+ const rsnRatios = [];
68
+ const feeRatios = [];
69
+ fees.forEach((fee) => {
70
+ const heightsConfigs = [];
71
+ const bridgeFeesConfigs = [];
72
+ const networkFeesConfigs = [];
73
+ const rsnRatiosConfigs = [];
74
+ const feeRatiosConfigs = [];
75
+ chains.forEach((chain) => {
76
+ if (Object.hasOwn(fee.heights, chain))
77
+ heightsConfigs.push(fee.heights[chain]);
78
+ else
79
+ 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
+ }
89
+ else {
90
+ bridgeFeesConfigs.push('-1');
91
+ networkFeesConfigs.push('-1');
92
+ rsnRatiosConfigs.push(['-1', '-1']);
93
+ feeRatiosConfigs.push('-1');
94
+ }
95
+ });
96
+ heights.push(heightsConfigs);
97
+ bridgeFees.push(bridgeFeesConfigs);
98
+ networkFees.push(networkFeesConfigs);
99
+ rsnRatios.push(rsnRatiosConfigs);
100
+ feeRatios.push(feeRatiosConfigs);
101
+ });
102
+ return {
103
+ R4: Constant.from_coll_coll_byte(chains.map((chain) => Buffer.from(chain))),
104
+ R5: Constant.from_js(heights),
105
+ R6: Constant.from_js(bridgeFees),
106
+ R7: Constant.from_js(networkFees),
107
+ R8: Constant.from_js(rsnRatios),
108
+ R9: Constant.from_js(feeRatios),
109
+ };
110
+ };
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBR3pEOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsR0FBWSxFQUFjLEVBQUU7SUFDNUQsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakMsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFakMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUU7UUFDeEMsTUFBTSxLQUFLLENBQ1Qsd0RBQXdELEdBQUc7YUFDeEQsTUFBTSxFQUFFO2FBQ1IsTUFBTSxFQUFFLEdBQUcsQ0FDZixDQUFDO0lBRUosTUFBTSxJQUFJLEdBQWUsRUFBRSxDQUFDO0lBQzVCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ3BELE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQ2hDLENBQUM7SUFDRixNQUFNLE9B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QyxTQUFTLENBQUM7S0FDaEMsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0YW50LCBFcmdvQm94IH0gZnJvbSAnZXJnby1saWItd2FzbS1ub2RlanMnO1xuaW1wb3J0IHsgRmVlIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogZXh0cmFjdHMgRmVlIGNvbmZpZyBmcm9tIGJveCByZWdpc3RlcnNcbiAqIEBwYXJhbSBib3hcbiAqL1xuZXhwb3J0IGNvbnN0IGV4dHJhY3RGZWVGcm9tQm94ID0gKGJveDogRXJnb0JveCk6IEFycmF5PEZlZT4gPT4ge1xuICBjb25zdCBSNCA9IGJveC5yZWdpc3Rlcl92YWx1ZSg0KTtcbiAgY29uc3QgUjUgPSBib3gucmVnaXN0ZXJfdmFsdWUoNSk7XG4gIGNvbnN0IFI2ID0gYm94LnJlZ2lzdGVyX3ZhbHVlKDYpO1xuICBjb25zdCBSNyA9IGJveC5yZWdpc3Rlcl92YWx1ZSg3KTtcbiAgY29uc3QgUjggPSBib3gucmVnaXN0ZXJfdmFsdWUoOCk7XG4gIGNvbnN0IFI5ID0gYm94LnJlZ2lzdGVyX3ZhbHVlKDkpO1xuXG4gIGlmICghUjQgfHwgIVI1IHx8ICFSNiB8fCAhUjcgfHwgIVI4IHx8ICFSOSlcbiAgICB0aHJvdyBFcnJvcihcbiAgICAgIGBJbmNvbXBsZXRlIHJlZ2lzdGVyIGRhdGEgZm9yIG1pbmltdW0tZmVlIGNvbmZpZyBib3ggWyR7Ym94XG4gICAgICAgIC5ib3hfaWQoKVxuICAgICAgICAudG9fc3RyKCl9XWAsXG4gICAgKTtcblxuICBjb25zdCBmZWVzOiBBcnJheTxGZWU+ID0gW107XG4gIGNvbnN0IGNoYWlucyA9IFI0LnRvX2NvbGxfY29sbF9ieXRlKCkubWFwKChlbGVtZW50KSA9PlxuICAgIEJ1ZmZlci5mcm9tKGVsZW1lbnQpLnRvU3RyaW5nKCksXG4gICk7XG4gIGNvbnN0IGhlaWdodHMgPSBSNS50b19qcygpIGFzIEFycmF5PEFycmF5PG51bWJlcj4+O1xuICBjb25zdCBicmlkZ2VGZWVzID0gUjYudG9fanMoKSBhcyBBcnJheTxBcnJheTxzdHJpbmc+PjtcbiAgY29uc3QgbmV0d29ya0ZlZXMgPSBSNy50b19qcygpIGFzIEFycmF5PEFycmF5PHN0cmluZz4+O1xuICBjb25zdCByc25SYXRpb3MgPSBSOC50b19qcygpIGFzIEFycmF5PEFycmF5PEFycmF5PHN0cmluZz4+PjtcbiAgY29uc3QgZmVlUmF0aW9zID0gUjkudG9fanMoKSBhcyBBcnJheTxBcnJheTxzdHJpbmc+PjtcblxuICBmb3IgKGxldCBmZWVJZHggPSAwOyBmZWVJZHggPCBoZWlnaHRzLmxlbmd0aDsgZmVlSWR4KyspIHtcbiAgICBjb25zdCBmZWU6IEZlZSA9IHtcbiAgICAgIGhlaWdodHM6IHt9LFxuICAgICAgY29uZmlnczoge30sXG4gICAgfTtcbiAgICBmb3IgKGxldCBjaGFpbklkeCA9IDA7IGNoYWluSWR4IDwgY2hhaW5zLmxlbmd0aDsgY2hhaW5JZHgrKykge1xuICAgICAgY29uc3QgY2hhaW4gPSBjaGFpbnNbY2hhaW5JZHhdO1xuXG4gICAgICBpZiAoaGVpZ2h0c1tmZWVJZHhdW2NoYWluSWR4XSA9PT0gLTEpIGNvbnRpbnVlO1xuICAgICAgZmVlLmhlaWdodHNbY2hhaW5dID0gaGVpZ2h0c1tmZWVJZHhdW2NoYWluSWR4XTtcblxuICAgICAgaWYgKGJyaWRnZUZlZXNbZmVlSWR4XVtjaGFpbklkeF0gPT09ICctMScpIGNvbnRpbnVlO1xuICAgICAgZmVlLmNvbmZpZ3NbY2hhaW5dID0ge1xuICAgICAgICBicmlkZ2VGZWU6IEJpZ0ludChicmlkZ2VGZWVzW2ZlZUlkeF1bY2hhaW5JZHhdKSxcbiAgICAgICAgbmV0d29ya0ZlZTogQmlnSW50KG5ldHdvcmtGZWVzW2ZlZUlkeF1bY2hhaW5JZHhdKSxcbiAgICAgICAgcnNuUmF0aW86IEJpZ0ludChyc25SYXRpb3NbZmVlSWR4XVtjaGFpbklkeF1bMF0pLFxuICAgICAgICByc25SYXRpb0Rpdmlzb3I6IEJpZ0ludChyc25SYXRpb3NbZmVlSWR4XVtjaGFpbklkeF1bMV0pLFxuICAgICAgICBmZWVSYXRpbzogQmlnSW50KGZlZVJhdGlvc1tmZWVJZHhdW2NoYWluSWR4XSksXG4gICAgICB9O1xuICAgIH1cbiAgICBmZWVzLnB1c2goZmVlKTtcbiAgfVxuXG4gIHJldHVybiBmZWVzO1xufTtcblxuLyoqXG4gKiBjb252ZXJ0cyBmZWUgY29uZmlnIHRvIHJlZ2lzdGVyIHZhbHVlc1xuICogQHBhcmFtIGZlZXNcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBjb25zdCBmZWVUb1JlZ2lzdGVyVmFsdWVzID0gKGZlZXM6IEFycmF5PEZlZT4pID0+IHtcbiAgLy8gIGV4dHJhY3QgY2hhaW5zXG4gIGNvbnN0IGNoYWluczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuICBmZWVzLmZvckVhY2goKGZlZSkgPT4ge1xuICAgIE9iamVjdC5rZXlzKGZlZS5oZWlnaHRzKS5mb3JFYWNoKChmZWVDaGFpbikgPT4ge1xuICAgICAgaWYgKCFjaGFpbnMuaW5jbHVkZXMoZmVlQ2hhaW4pKSBjaGFpbnMucHVzaChmZWVDaGFpbik7XG4gICAgfSk7XG4gIH0pO1xuICBjaGFpbnMuc29ydCgpO1xuICAvLyAgZXh0cmFjdCBjb25maWdzXG4gIGNvbnN0IGhlaWdodHM6IEFycmF5PEFycmF5PG51bWJlcj4+ID0gW107XG4gIGNvbnN0IGJyaWRnZUZlZXM6IEFycmF5PEFycmF5PHN0cmluZz4+ID0gW107XG4gIGNvbnN0IG5ldHdvcmtGZWVzOiBBcnJheTxBcnJheTxzdHJpbmc+PiA9IFtdO1xuICBjb25zdCByc25SYXRpb3M6IEFycmF5PEFycmF5PEFycmF5PHN0cmluZz4+PiA9IFtdO1xuICBjb25zdCBmZWVSYXRpb3M6IEFycmF5PEFycmF5PHN0cmluZz4+ID0gW107XG4gIGZlZXMuZm9yRWFjaCgoZmVlKSA9PiB7XG4gICAgY29uc3QgaGVpZ2h0c0NvbmZpZ3M6IEFycmF5PG51bWJlcj4gPSBbXTtcbiAgICBjb25zdCBicmlkZ2VGZWVzQ29uZmlnczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuICAgIGNvbnN0IG5ldHdvcmtGZWVzQ29uZmlnczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuICAgIGNvbnN0IHJzblJhdGlvc0NvbmZpZ3M6IEFycmF5PEFycmF5PHN0cmluZz4+ID0gW107XG4gICAgY29uc3QgZmVlUmF0aW9zQ29uZmlnczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuXG4gICAgY2hhaW5zLmZvckVhY2goKGNoYWluKSA9PiB7XG4gICAgICBpZiAoT2JqZWN0Lmhhc093bihmZWUuaGVpZ2h0cywgY2hhaW4pKVxuICAgICAgICBoZWlnaHRzQ29uZmlncy5wdXNoKGZlZS5oZWlnaHRzW2NoYWluXSk7XG4gICAgICBlbHNlIGhlaWdodHNDb25maWdzLnB1c2goLTEpO1xuXG4gICAgICBpZiAoT2JqZWN0Lmhhc093bihmZWUuY29uZmlncywgY2hhaW4pKSB7XG4gICAgICAgIGJyaWRnZUZlZXNDb25maWdzLnB1c2goZmVlLmNvbmZpZ3NbY2hhaW5dLmJyaWRnZUZlZS50b1N0cmluZygpKTtcbiAgICAgICAgbmV0d29ya0ZlZXNDb25maWdzLnB1c2goZmVlLmNvbmZpZ3NbY2hhaW5dLm5ldHdvcmtGZWUudG9TdHJpbmcoKSk7XG4gICAgICAgIHJzblJhdGlvc0NvbmZpZ3MucHVzaChbXG4gICAgICAgICAgZmVlLmNvbmZpZ3NbY2hhaW5dLnJzblJhdGlvLnRvU3RyaW5nKCksXG4gICAgICAgICAgZmVlLmNvbmZpZ3NbY2hhaW5dLnJzblJhdGlvRGl2aXNvci50b1N0cmluZygpLFxuICAgICAgICBdKTtcbiAgICAgICAgZmVlUmF0aW9zQ29uZmlncy5wdXNoKGZlZS5jb25maWdzW2NoYWluXS5mZWVSYXRpby50b1N0cmluZygpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJyaWRnZUZlZXNDb25maWdzLnB1c2goJy0xJyk7XG4gICAgICAgIG5ldHdvcmtGZWVzQ29uZmlncy5wdXNoKCctMScpO1xuICAgICAgICByc25SYXRpb3NDb25maWdzLnB1c2goWyctMScsICctMSddKTtcbiAgICAgICAgZmVlUmF0aW9zQ29uZmlncy5wdXNoKCctMScpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaGVpZ2h0cy5wdXNoKGhlaWdodHNDb25maWdzKTtcbiAgICBicmlkZ2VGZWVzLnB1c2goYnJpZGdlRmVlc0NvbmZpZ3MpO1xuICAgIG5ldHdvcmtGZWVzLnB1c2gobmV0d29ya0ZlZXNDb25maWdzKTtcbiAgICByc25SYXRpb3MucHVzaChyc25SYXRpb3NDb25maWdzKTtcbiAgICBmZWVSYXRpb3MucHVzaChmZWVSYXRpb3NDb25maWdzKTtcbiAgfSk7XG5cbiAgcmV0dXJuIHtcbiAgICBSNDogQ29uc3RhbnQuZnJvbV9jb2xsX2NvbGxfYnl0ZShjaGFpbnMubWFwKChjaGFpbikgPT4gQnVmZmVyLmZyb20oY2hhaW4pKSksXG4gICAgUjU6IENvbnN0YW50LmZyb21fanMoaGVpZ2h0cyksXG4gICAgUjY6IENvbnN0YW50LmZyb21fanMoYnJpZGdlRmVlcyksXG4gICAgUjc6IENvbnN0YW50LmZyb21fanMobmV0d29ya0ZlZXMpLFxuICAgIFI4OiBDb25zdGFudC5mcm9tX2pzKHJzblJhdGlvcyksXG4gICAgUjk6IENvbnN0YW50LmZyb21fanMoZmVlUmF0aW9zKSxcbiAgfTtcbn07XG4iXX0=
package/package.json CHANGED
@@ -1,47 +1,45 @@
1
1
  {
2
2
  "name": "@rosen-bridge/minimum-fee",
3
- "version": "2.2.3",
3
+ "version": "3.0.0",
4
4
  "description": "this project gets minimum fee of the bridge for supported tokens from blockchain",
5
- "main": "dist/lib/index.js",
6
- "types": "dist/lib/index.d.ts",
7
- "type": "module",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/rosen-bridge/utils.git"
8
+ },
9
+ "license": "MIT",
8
10
  "author": "Rosen Team",
11
+ "type": "module",
12
+ "main": "dist/index.js",
13
+ "types": "dist/index.d.ts",
14
+ "files": [
15
+ "dist",
16
+ "CHANGELOG.md"
17
+ ],
9
18
  "scripts": {
10
- "prettify": "prettier --write . --ignore-path .gitignore",
19
+ "prettify": "prettier --write . --ignore-path ../../../.gitignore",
20
+ "prettify:check": "prettier --check . --ignore-path ../../../.gitignore",
11
21
  "lint": "eslint --fix . && npm run prettify",
22
+ "lint:check": "eslint . && npm run prettify:check",
12
23
  "build": "tsc --build tsconfig.build.json",
13
24
  "type-check": "tsc --noEmit",
14
25
  "test": "jest --runInBand",
15
26
  "coverage": "npm run test -- --coverage",
16
27
  "release": "npm run test && npm run build && npm publish --access public"
17
28
  },
18
- "repository": {
19
- "type": "git",
20
- "url": "git+https://github.com/rosen-bridge/utils.git"
21
- },
22
- "files": [
23
- "dist"
24
- ],
25
- "license": "GPL-3.0",
26
29
  "dependencies": {
27
- "@rosen-bridge/abstract-logger": "^2.0.1",
28
- "@rosen-bridge/json-bigint": "^0.1.0",
29
- "@rosen-clients/ergo-explorer": "^1.1.5",
30
- "@rosen-clients/ergo-node": "^1.2.3",
30
+ "@rosen-bridge/abstract-logger": "^3.0.0",
31
+ "@rosen-bridge/json-bigint": "^1.0.0",
32
+ "@rosen-clients/ergo-explorer": "^2.0.0",
33
+ "@rosen-clients/ergo-node": "^3.0.0",
31
34
  "ergo-lib-wasm-nodejs": "^0.24.1"
32
35
  },
33
36
  "devDependencies": {
37
+ "@babel/preset-env": "^7.19.0",
34
38
  "@types/jest": "^29.1.2",
35
- "@types/node": "^18.0.0",
36
- "@typescript-eslint/eslint-plugin": "^5.30.7",
37
- "@typescript-eslint/parser": "^5.26.0",
38
- "eslint": "^8.16.0",
39
- "eslint-config-prettier": "^8.5.0",
39
+ "@types/node": "^22.18.0",
40
40
  "jest": "^29.2.0",
41
- "prettier": "^2.7.1",
42
41
  "ts-jest": "^29.0.3",
43
- "ts-node": "^10.8.1",
44
- "typescript": "^4.7.4"
42
+ "typescript": "^5.8.3"
45
43
  },
46
44
  "directories": {
47
45
  "lib": "lib",
@@ -51,6 +49,6 @@
51
49
  "rosen"
52
50
  ],
53
51
  "engines": {
54
- "node": ">=18.16.1"
52
+ "node": ">=22.18.0"
55
53
  }
56
54
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"MinimumFeeBox.d.ts","sourceRoot":"","sources":["../../lib/MinimumFeeBox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,OAAO,EAAiB,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAEhE,OAAO,yBAAyB,MAAM,8BAA8B,CAAC;AACrE,OAAO,qBAAqB,MAAM,0BAA0B,CAAC;AAG7D,OAAO,EAAE,cAAc,EAAe,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAK9D,qBAAa,aAAa;IACxB,SAAS,CAAC,QAAQ,CAAC,sBAAsB,MAAM;IAC/C,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC;IACjC,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,cAAc,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC;IACvE,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;gBAG7D,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,eAAe,EAC5B,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,cAAc;IAUzB;;;OAGG;IACH,QAAQ,QAAa,QAAQ,OAAO,CAAC,CAoCnC;IAEF;;;OAGG;IACH,SAAS,CAAC,iBAAiB,kBAAmB,MAAM,OAAO,CAAC,KAAG,OAAO,CAyBpE;IAEF;;OAEG;IACH,SAAS,CAAC,uBAAuB,QAAa,QAAQ,MAAM,OAAO,CAAC,CAAC,CA8CnE;IAEF;;OAEG;IACH,SAAS,CAAC,mBAAmB,QAAa,QAAQ,MAAM,OAAO,CAAC,CAAC,CAiD/D;IAEF;;OAEG;IACH,MAAM,QAAO,OAAO,GAAG,SAAS,CAAa;IAE7C;;OAEG;IACH,UAAU,QAAO,MAAM,GAAG,CAAC,CASzB;IAEF;;;;;OAKG;IACH,MAAM,cACO,MAAM,UACT,MAAM,WACL,MAAM,KACd,eAAe,CA4BhB;IAEF;;;OAGG;IACH,SAAS,QAAO,oBAAoB,CA+BlC;CACH"}