@heliofi/common 0.2.255 → 0.2.257

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/dist/src/domain/model/audit/explorer/constants/ExplorerAuditAction.d.ts +1 -0
  2. package/dist/src/domain/model/audit/explorer/constants/ExplorerAuditAction.js +1 -0
  3. package/dist/src/domain/model/audit/explorer/constants/ExplorerAuditAction.js.map +1 -1
  4. package/dist/src/domain/model/audit/explorer/constants/ExplorerAuditActionType.js +1 -0
  5. package/dist/src/domain/model/audit/explorer/constants/ExplorerAuditActionType.js.map +1 -1
  6. package/dist/src/domain/model/company/dtos/index.d.ts +10 -8
  7. package/dist/src/domain/model/company/dtos/index.js +10 -8
  8. package/dist/src/domain/model/company/dtos/index.js.map +1 -1
  9. package/dist/src/domain/model/company/dtos/updateIronApiKey.dto.d.ts +6 -0
  10. package/dist/src/domain/model/company/dtos/updateIronApiKey.dto.js +37 -0
  11. package/dist/src/domain/model/company/dtos/updateIronApiKey.dto.js.map +1 -0
  12. package/dist/src/domain/model/company/dtos/{UpdateMoonpayApiKey.dto.js → updateMoonpayApiKey.dto.js} +1 -1
  13. package/dist/src/domain/model/company/dtos/{UpdateMoonpayApiKey.dto.js.map → updateMoonpayApiKey.dto.js.map} +1 -1
  14. package/dist/src/domain/model/company/dtos/updateOneToOneSwapRoutes.dto.d.ts +3 -0
  15. package/dist/src/domain/model/company/dtos/updateOneToOneSwapRoutes.dto.js +21 -0
  16. package/dist/src/domain/model/company/dtos/updateOneToOneSwapRoutes.dto.js.map +1 -0
  17. package/dist/src/domain/model/company/dtos/{UpdateOnramperApiKey.dto.js → updateOnramperApiKey.dto.js} +1 -1
  18. package/dist/src/domain/model/company/dtos/{UpdateOnramperApiKey.dto.js.map → updateOnramperApiKey.dto.js.map} +1 -1
  19. package/dist/src/domain/model/company/entities/BaseCompany.entity.d.ts +1 -0
  20. package/dist/src/domain/model/company/entities/BaseCompany.entity.js.map +1 -1
  21. package/dist/src/domain/model/company/entities/CompanyWithFees.entity.d.ts +1 -0
  22. package/dist/src/domain/model/company/entities/CompanyWithFees.entity.js.map +1 -1
  23. package/dist/src/domain/model/company/entities/IronApiKeyConfig.entity.d.ts +6 -0
  24. package/dist/src/domain/model/company/entities/IronApiKeyConfig.entity.js +7 -0
  25. package/dist/src/domain/model/company/entities/IronApiKeyConfig.entity.js.map +1 -0
  26. package/dist/src/domain/model/company/entities/index.d.ts +1 -0
  27. package/dist/src/domain/model/company/entities/index.js +1 -0
  28. package/dist/src/domain/model/company/entities/index.js.map +1 -1
  29. package/dist/src/domain/model/decent-swap/index.d.ts +1 -0
  30. package/dist/src/domain/model/decent-swap/index.js +1 -0
  31. package/dist/src/domain/model/decent-swap/index.js.map +1 -1
  32. package/dist/src/domain/model/decent-swap/utils/index.d.ts +1 -0
  33. package/dist/src/domain/model/decent-swap/utils/index.js +18 -0
  34. package/dist/src/domain/model/decent-swap/utils/index.js.map +1 -0
  35. package/dist/src/domain/model/decent-swap/utils/selectBestDecentRoute.d.ts +7 -0
  36. package/dist/src/domain/model/decent-swap/utils/selectBestDecentRoute.js +134 -0
  37. package/dist/src/domain/model/decent-swap/utils/selectBestDecentRoute.js.map +1 -0
  38. package/dist/src/domain/model/decent-swap/utils/selectBestDecentRoute.spec.d.ts +1 -0
  39. package/dist/src/domain/model/decent-swap/utils/selectBestDecentRoute.spec.js +251 -0
  40. package/dist/src/domain/model/decent-swap/utils/selectBestDecentRoute.spec.js.map +1 -0
  41. package/dist/src/domain/model/deposit-wallet-incoming-transaction/entities/DepositWalletIncomingTransaction.entity.d.ts +2 -1
  42. package/dist/src/domain/model/deposit-wallet-incoming-transaction/entities/DepositWalletIncomingTransaction.entity.js.map +1 -1
  43. package/dist/src/domain/model/userGroups/entities/UserGroupPermissions.d.ts +1 -0
  44. package/dist/src/domain/model/userGroups/entities/UserGroupPermissions.js +1 -0
  45. package/dist/src/domain/model/userGroups/entities/UserGroupPermissions.js.map +1 -1
  46. package/dist/tsconfig.tsbuildinfo +1 -1
  47. package/package.json +2 -2
  48. /package/dist/src/domain/model/company/dtos/{UpdateMoonpayApiKey.dto.d.ts → updateMoonpayApiKey.dto.d.ts} +0 -0
  49. /package/dist/src/domain/model/company/dtos/{UpdateOnramperApiKey.dto.d.ts → updateOnramperApiKey.dto.d.ts} +0 -0
@@ -0,0 +1,251 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const SwapOptions_1 = require("../entities/SwapOptions");
4
+ const selectBestDecentRoute_1 = require("./selectBestDecentRoute");
5
+ const USDC_SOLANA = 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v';
6
+ const USDC_ARBITRUM = '0xaf88d065e77c8cc2239327c5edb3a432268e5831';
7
+ const usdcSolana = (amount) => ({
8
+ tokenAddress: USDC_SOLANA,
9
+ address: USDC_SOLANA,
10
+ decimals: 6,
11
+ symbol: 'USDC',
12
+ name: 'USD Coin',
13
+ chainId: 792703809,
14
+ amount,
15
+ });
16
+ function makeRoute(overrides = {}) {
17
+ return {
18
+ tx: { to: '0xrouter', data: '0xdeadbeef', value: '0', chainId: 42161 },
19
+ txId: 'tx-default',
20
+ vmId: 'vm-default',
21
+ amountIn: {
22
+ tokenAddress: USDC_ARBITRUM,
23
+ address: USDC_ARBITRUM,
24
+ decimals: 6,
25
+ symbol: 'USDT',
26
+ name: 'Tether USD',
27
+ chainId: 42161,
28
+ amount: '1000000',
29
+ },
30
+ amountInMax: {
31
+ tokenAddress: USDC_ARBITRUM,
32
+ address: USDC_ARBITRUM,
33
+ decimals: 6,
34
+ symbol: 'USDT',
35
+ name: 'Tether USD',
36
+ chainId: 42161,
37
+ amount: '1010000',
38
+ },
39
+ amountOut: usdcSolana('951400'),
40
+ amountOutMin: usdcSolana('941886'),
41
+ protocolFee: usdcSolana('0'),
42
+ applicationFee: usdcSolana('0'),
43
+ bridgeFee: usdcSolana('0'),
44
+ bridgeIds: ['relay'],
45
+ bridgeRoute: [],
46
+ exchangeRate: 0.9514,
47
+ estimatedTxTime: 30,
48
+ estimatedPriceImpact: 0.05,
49
+ ...overrides,
50
+ };
51
+ }
52
+ describe('selectBestDecentRoute', () => {
53
+ it('returns the input route unchanged when allRoutes is undefined', () => {
54
+ const route = makeRoute({ allRoutes: undefined });
55
+ const result = (0, selectBestDecentRoute_1.selectBestDecentRoute)(route, {
56
+ swapDirection: SwapOptions_1.DecentSwapOptions.EXACT_IN,
57
+ });
58
+ expect(result).toBe(route);
59
+ });
60
+ it('returns the input route unchanged when allRoutes is empty', () => {
61
+ const route = makeRoute({ allRoutes: [] });
62
+ const result = (0, selectBestDecentRoute_1.selectBestDecentRoute)(route, {
63
+ swapDirection: SwapOptions_1.DecentSwapOptions.EXACT_IN,
64
+ });
65
+ expect(result).toBe(route);
66
+ });
67
+ it('EXACT_IN: picks the alternative with higher net output (the 1:1 stablecoin route)', () => {
68
+ const oneToOne = makeRoute({
69
+ txId: 'tx-1to1',
70
+ amountOut: usdcSolana('1000000'),
71
+ amountOutMin: usdcSolana('990000'),
72
+ estimatedTxTime: 60,
73
+ });
74
+ const route = makeRoute({ allRoutes: [oneToOne] });
75
+ const result = (0, selectBestDecentRoute_1.selectBestDecentRoute)(route, {
76
+ swapDirection: SwapOptions_1.DecentSwapOptions.EXACT_IN,
77
+ });
78
+ expect(result.txId).toBe('tx-1to1');
79
+ expect(result.amountOut.amount).toBe('1000000');
80
+ });
81
+ it('ranks by amountOut without subtracting reported fees (amountOut is already net)', () => {
82
+ const oneToOneWithFee = makeRoute({
83
+ txId: 'tx-1to1',
84
+ amountOut: usdcSolana('1000000'),
85
+ amountOutMin: usdcSolana('990000'),
86
+ bridgeFee: usdcSolana('60000'),
87
+ applicationFee: usdcSolana('5000'),
88
+ });
89
+ const route = makeRoute({ allRoutes: [oneToOneWithFee] });
90
+ const result = (0, selectBestDecentRoute_1.selectBestDecentRoute)(route, {
91
+ swapDirection: SwapOptions_1.DecentSwapOptions.EXACT_IN,
92
+ });
93
+ expect(result.txId).toBe('tx-1to1');
94
+ });
95
+ it('EXACT_OUT: skips an alternative with missing payer cost (must not rank as cheapest)', () => {
96
+ const noCost = makeRoute({
97
+ txId: 'tx-nocost',
98
+ amountInMax: undefined,
99
+ amountIn: undefined,
100
+ });
101
+ const route = makeRoute({ allRoutes: [noCost] });
102
+ const result = (0, selectBestDecentRoute_1.selectBestDecentRoute)(route, {
103
+ swapDirection: SwapOptions_1.DecentSwapOptions.EXACT_OUT,
104
+ });
105
+ expect(result.txId).toBe('tx-default');
106
+ });
107
+ it('EXACT_OUT: a valid alternative is still chosen when the default route has no payer cost', () => {
108
+ const validAlt = makeRoute({ txId: 'tx-valid' });
109
+ const route = makeRoute({
110
+ txId: 'tx-default',
111
+ amountInMax: undefined,
112
+ amountIn: undefined,
113
+ allRoutes: [validAlt],
114
+ });
115
+ const result = (0, selectBestDecentRoute_1.selectBestDecentRoute)(route, {
116
+ swapDirection: SwapOptions_1.DecentSwapOptions.EXACT_OUT,
117
+ });
118
+ expect(result.txId).toBe('tx-valid');
119
+ });
120
+ it('EXACT_OUT: picks the alternative with lower payer cost (amountInMax)', () => {
121
+ const cheaper = makeRoute({
122
+ txId: 'tx-cheaper',
123
+ amountInMax: {
124
+ tokenAddress: USDC_ARBITRUM,
125
+ address: USDC_ARBITRUM,
126
+ decimals: 6,
127
+ symbol: 'USDT',
128
+ name: 'Tether USD',
129
+ chainId: 42161,
130
+ amount: '1002000',
131
+ },
132
+ });
133
+ const route = makeRoute({ allRoutes: [cheaper] });
134
+ const result = (0, selectBestDecentRoute_1.selectBestDecentRoute)(route, {
135
+ swapDirection: SwapOptions_1.DecentSwapOptions.EXACT_OUT,
136
+ });
137
+ expect(result.txId).toBe('tx-cheaper');
138
+ });
139
+ it('skips alternatives without an executable tx even if their output is higher', () => {
140
+ const noTx = makeRoute({
141
+ txId: 'tx-notexec',
142
+ tx: {},
143
+ amountOut: usdcSolana('1000000'),
144
+ amountOutMin: usdcSolana('990000'),
145
+ });
146
+ const route = makeRoute({ allRoutes: [noTx] });
147
+ const result = (0, selectBestDecentRoute_1.selectBestDecentRoute)(route, {
148
+ swapDirection: SwapOptions_1.DecentSwapOptions.EXACT_IN,
149
+ });
150
+ expect(result.txId).toBe('tx-default');
151
+ });
152
+ it('skips alternatives with malformed amountOutMin (greater than amountOut)', () => {
153
+ const malformed = makeRoute({
154
+ txId: 'tx-malformed',
155
+ amountOut: usdcSolana('1000000'),
156
+ amountOutMin: usdcSolana('1100000'),
157
+ });
158
+ const route = makeRoute({ allRoutes: [malformed] });
159
+ const result = (0, selectBestDecentRoute_1.selectBestDecentRoute)(route, {
160
+ swapDirection: SwapOptions_1.DecentSwapOptions.EXACT_IN,
161
+ });
162
+ expect(result.txId).toBe('tx-default');
163
+ });
164
+ it('never returns a route worse than the default', () => {
165
+ const worse = makeRoute({
166
+ txId: 'tx-worse',
167
+ amountOut: usdcSolana('900000'),
168
+ amountOutMin: usdcSolana('891000'),
169
+ });
170
+ const route = makeRoute({ allRoutes: [worse] });
171
+ const result = (0, selectBestDecentRoute_1.selectBestDecentRoute)(route, {
172
+ swapDirection: SwapOptions_1.DecentSwapOptions.EXACT_IN,
173
+ });
174
+ expect(result.txId).toBe('tx-default');
175
+ });
176
+ it('on equal net output, prefers the faster route', () => {
177
+ const sameOutputFaster = makeRoute({
178
+ txId: 'tx-fast',
179
+ estimatedTxTime: 10,
180
+ });
181
+ const route = makeRoute({ allRoutes: [sameOutputFaster] });
182
+ const result = (0, selectBestDecentRoute_1.selectBestDecentRoute)(route, {
183
+ swapDirection: SwapOptions_1.DecentSwapOptions.EXACT_IN,
184
+ });
185
+ expect(result.txId).toBe('tx-fast');
186
+ });
187
+ it('on equal net output and equal time, prefers lower price impact', () => {
188
+ const sameOutputLowerImpact = makeRoute({
189
+ txId: 'tx-lowimpact',
190
+ estimatedPriceImpact: 0.01,
191
+ });
192
+ const route = makeRoute({ allRoutes: [sameOutputLowerImpact] });
193
+ const result = (0, selectBestDecentRoute_1.selectBestDecentRoute)(route, {
194
+ swapDirection: SwapOptions_1.DecentSwapOptions.EXACT_IN,
195
+ });
196
+ expect(result.txId).toBe('tx-lowimpact');
197
+ });
198
+ it('skips routes exceeding maxEstimatedTxTime even if their output is higher', () => {
199
+ const slowButBetter = makeRoute({
200
+ txId: 'tx-slow',
201
+ amountOut: usdcSolana('1000000'),
202
+ amountOutMin: usdcSolana('990000'),
203
+ estimatedTxTime: 600,
204
+ });
205
+ const route = makeRoute({ allRoutes: [slowButBetter] });
206
+ const result = (0, selectBestDecentRoute_1.selectBestDecentRoute)(route, {
207
+ swapDirection: SwapOptions_1.DecentSwapOptions.EXACT_IN,
208
+ maxEstimatedTxTime: 120,
209
+ });
210
+ expect(result.txId).toBe('tx-default');
211
+ });
212
+ it('strips allRoutes from the returned route', () => {
213
+ const oneToOne = makeRoute({
214
+ txId: 'tx-1to1',
215
+ amountOut: usdcSolana('1000000'),
216
+ amountOutMin: usdcSolana('990000'),
217
+ });
218
+ const route = makeRoute({ allRoutes: [oneToOne] });
219
+ const result = (0, selectBestDecentRoute_1.selectBestDecentRoute)(route, {
220
+ swapDirection: SwapOptions_1.DecentSwapOptions.EXACT_IN,
221
+ });
222
+ expect(result.allRoutes).toBeUndefined();
223
+ });
224
+ it('selects the best across several alternatives', () => {
225
+ const route = makeRoute({
226
+ allRoutes: [
227
+ makeRoute({
228
+ txId: 'a',
229
+ amountOut: usdcSolana('960000'),
230
+ amountOutMin: usdcSolana('950400'),
231
+ }),
232
+ makeRoute({
233
+ txId: 'b',
234
+ amountOut: usdcSolana('999500'),
235
+ amountOutMin: usdcSolana('989505'),
236
+ }),
237
+ makeRoute({
238
+ txId: 'c',
239
+ amountOut: usdcSolana('980000'),
240
+ amountOutMin: usdcSolana('970200'),
241
+ }),
242
+ ],
243
+ });
244
+ const result = (0, selectBestDecentRoute_1.selectBestDecentRoute)(route, {
245
+ swapDirection: SwapOptions_1.DecentSwapOptions.EXACT_IN,
246
+ });
247
+ expect(result.txId).toBe('b');
248
+ expect(result.amountOut.amount).toBe('999500');
249
+ });
250
+ });
251
+ //# sourceMappingURL=selectBestDecentRoute.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectBestDecentRoute.spec.js","sourceRoot":"","sources":["../../../../../../src/domain/model/decent-swap/utils/selectBestDecentRoute.spec.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { IncomingTransactionStatus } from '../../../constants/IncomingTransactionStatus';
2
+ import { BaseCurrency } from '../../currency';
2
3
  import { PaymentMethod } from '../constants/PaymentMethod';
3
4
  export declare class DepositWalletIncomingTransaction {
4
5
  hash: string;
@@ -15,5 +16,5 @@ export declare class DepositWalletIncomingTransaction {
15
16
  paymentMethod?: PaymentMethod;
16
17
  refunded?: boolean;
17
18
  refundTransactionSignature?: string;
18
- currencySymbol?: string;
19
+ currency?: BaseCurrency;
19
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DepositWalletIncomingTransaction.entity.js","sourceRoot":"","sources":["../../../../../../src/domain/model/deposit-wallet-incoming-transaction/entities/DepositWalletIncomingTransaction.entity.ts"],"names":[],"mappings":";;;AAGA,MAAa,gCAAgC;CA+B5C;AA/BD,4EA+BC"}
1
+ {"version":3,"file":"DepositWalletIncomingTransaction.entity.js","sourceRoot":"","sources":["../../../../../../src/domain/model/deposit-wallet-incoming-transaction/entities/DepositWalletIncomingTransaction.entity.ts"],"names":[],"mappings":";;;AAIA,MAAa,gCAAgC;CA+B5C;AA/BD,4EA+BC"}
@@ -102,6 +102,7 @@ export declare enum UserGroupPermission {
102
102
  STRIPE_API_KEY_READ = "STRIPE_API_KEY_READ",
103
103
  STRIPE_API_KEY_WRITE = "STRIPE_API_KEY_WRITE",
104
104
  MOONPAY_API_KEY_READ = "MOONPAY_API_KEY_READ",
105
+ IRON_API_KEY_READ = "IRON_API_KEY_READ",
105
106
  ONRAMPER_API_KEY_READ = "ONRAMPER_API_KEY_READ",
106
107
  WEBHOOK_ADMIN = "WEBHOOK_ADMIN",
107
108
  WEBHOOK_WRITE = "WEBHOOK_WRITE",
@@ -106,6 +106,7 @@ var UserGroupPermission;
106
106
  UserGroupPermission["STRIPE_API_KEY_READ"] = "STRIPE_API_KEY_READ";
107
107
  UserGroupPermission["STRIPE_API_KEY_WRITE"] = "STRIPE_API_KEY_WRITE";
108
108
  UserGroupPermission["MOONPAY_API_KEY_READ"] = "MOONPAY_API_KEY_READ";
109
+ UserGroupPermission["IRON_API_KEY_READ"] = "IRON_API_KEY_READ";
109
110
  UserGroupPermission["ONRAMPER_API_KEY_READ"] = "ONRAMPER_API_KEY_READ";
110
111
  UserGroupPermission["WEBHOOK_ADMIN"] = "WEBHOOK_ADMIN";
111
112
  UserGroupPermission["WEBHOOK_WRITE"] = "WEBHOOK_WRITE";
@@ -1 +1 @@
1
- {"version":3,"file":"UserGroupPermissions.js","sourceRoot":"","sources":["../../../../../../src/domain/model/userGroups/entities/UserGroupPermissions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UserGroupPermissions.js","sourceRoot":"","sources":["../../../../../../src/domain/model/userGroups/entities/UserGroupPermissions.ts"],"names":[],"mappings":"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"}