@reyaxyz/common 0.362.0 → 0.363.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 (104) hide show
  1. package/README.md +1 -1
  2. package/dist/commands/exposure/command.js +8 -22
  3. package/dist/commands/exposure/command.js.map +1 -1
  4. package/dist/incentives-api-types.js.map +1 -1
  5. package/dist/services/getNativeToken.js +1 -0
  6. package/dist/services/getNativeToken.js.map +1 -1
  7. package/dist/services/getSocketAddresses.js +1 -0
  8. package/dist/services/getSocketAddresses.js.map +1 -1
  9. package/dist/trading-api-types.js.map +1 -1
  10. package/dist/transactions/abis/Errors.json +1638 -34
  11. package/dist/transactions/abis/OrdersGateway.json +729 -123
  12. package/dist/transactions/abis/PassivePerpProxy.json +542 -0
  13. package/dist/transactions/buildMulticallTx.js.map +1 -1
  14. package/dist/transactions/consts.js +1 -2
  15. package/dist/transactions/consts.js.map +1 -1
  16. package/dist/transactions/contractAddresses.js +45 -5
  17. package/dist/transactions/contractAddresses.js.map +1 -1
  18. package/dist/transactions/sign.js +237 -111
  19. package/dist/transactions/sign.js.map +1 -1
  20. package/dist/types/commands/exposure/command.d.ts +8 -7
  21. package/dist/types/commands/exposure/command.d.ts.map +1 -1
  22. package/dist/types/incentives-api-types.d.ts +61 -5
  23. package/dist/types/incentives-api-types.d.ts.map +1 -1
  24. package/dist/types/services/getNativeToken.d.ts.map +1 -1
  25. package/dist/types/services/getSocketAddresses.d.ts.map +1 -1
  26. package/dist/types/trading-api-types.d.ts +200 -32
  27. package/dist/types/trading-api-types.d.ts.map +1 -1
  28. package/dist/types/transactions/buildMulticallTx.d.ts +1 -0
  29. package/dist/types/transactions/buildMulticallTx.d.ts.map +1 -1
  30. package/dist/types/transactions/consts.d.ts +0 -1
  31. package/dist/types/transactions/consts.d.ts.map +1 -1
  32. package/dist/types/transactions/contractAddresses.d.ts +0 -1
  33. package/dist/types/transactions/contractAddresses.d.ts.map +1 -1
  34. package/dist/types/transactions/sign.d.ts +113 -9
  35. package/dist/types/transactions/sign.d.ts.map +1 -1
  36. package/dist/types/types.d.ts +62 -63
  37. package/dist/types/types.d.ts.map +1 -1
  38. package/dist/types/utils/calculate.d.ts.map +1 -1
  39. package/dist/types/utils/consts.d.ts +2 -2
  40. package/dist/types/utils/consts.d.ts.map +1 -1
  41. package/dist/types/utils/error-sanitizer.d.ts +15 -0
  42. package/dist/types/utils/error-sanitizer.d.ts.map +1 -0
  43. package/dist/types/utils/index.d.ts +3 -0
  44. package/dist/types/utils/index.d.ts.map +1 -1
  45. package/dist/types/utils/network.d.ts.map +1 -1
  46. package/dist/types/utils/number.d.ts +5 -0
  47. package/dist/types/utils/number.d.ts.map +1 -1
  48. package/dist/types/utils/realized-balance.d.ts +54 -0
  49. package/dist/types/utils/realized-balance.d.ts.map +1 -0
  50. package/dist/types/utils/throttled-error.d.ts +42 -0
  51. package/dist/types/utils/throttled-error.d.ts.map +1 -0
  52. package/dist/types/utils/token/normalize.d.ts +2 -1
  53. package/dist/types/utils/token/normalize.d.ts.map +1 -1
  54. package/dist/types/utils/token/token-info-getters.d.ts.map +1 -1
  55. package/dist/types/utils/token/token-info.d.ts.map +1 -1
  56. package/dist/types.js +25 -11
  57. package/dist/types.js.map +1 -1
  58. package/dist/utils/calculate.js +18 -9
  59. package/dist/utils/calculate.js.map +1 -1
  60. package/dist/utils/consts.js +2 -7
  61. package/dist/utils/consts.js.map +1 -1
  62. package/dist/utils/error-sanitizer.js +135 -0
  63. package/dist/utils/error-sanitizer.js.map +1 -0
  64. package/dist/utils/index.js +3 -0
  65. package/dist/utils/index.js.map +1 -1
  66. package/dist/utils/network.js +4 -0
  67. package/dist/utils/network.js.map +1 -1
  68. package/dist/utils/number.js +96 -1
  69. package/dist/utils/number.js.map +1 -1
  70. package/dist/utils/realized-balance.js +126 -0
  71. package/dist/utils/realized-balance.js.map +1 -0
  72. package/dist/utils/throttled-error.js +60 -0
  73. package/dist/utils/throttled-error.js.map +1 -0
  74. package/dist/utils/token/normalize.js +2 -2
  75. package/dist/utils/token/normalize.js.map +1 -1
  76. package/dist/utils/token/token-info-getters.js +80 -5
  77. package/dist/utils/token/token-info-getters.js.map +1 -1
  78. package/dist/utils/token/token-info.js +11 -0
  79. package/dist/utils/token/token-info.js.map +1 -1
  80. package/package.json +3 -3
  81. package/src/commands/exposure/command.ts +8 -38
  82. package/src/incentives-api-types.ts +60 -5
  83. package/src/services/getNativeToken.ts +1 -0
  84. package/src/services/getSocketAddresses.ts +1 -0
  85. package/src/trading-api-types.ts +258 -39
  86. package/src/transactions/abis/Errors.json +5478 -3874
  87. package/src/transactions/abis/OrdersGateway.json +730 -124
  88. package/src/transactions/abis/PassivePerpProxy.json +542 -0
  89. package/src/transactions/buildMulticallTx.ts +4 -0
  90. package/src/transactions/consts.ts +0 -1
  91. package/src/transactions/contractAddresses.ts +42 -7
  92. package/src/transactions/sign.ts +306 -150
  93. package/src/types.ts +102 -82
  94. package/src/utils/calculate.ts +21 -8
  95. package/src/utils/consts.ts +4 -16
  96. package/src/utils/error-sanitizer.ts +137 -0
  97. package/src/utils/index.ts +3 -0
  98. package/src/utils/network.ts +4 -0
  99. package/src/utils/number.ts +110 -0
  100. package/src/utils/realized-balance.ts +163 -0
  101. package/src/utils/throttled-error.ts +85 -0
  102. package/src/utils/token/normalize.ts +6 -1
  103. package/src/utils/token/token-info-getters.ts +104 -6
  104. package/src/utils/token/token-info.ts +78 -0
@@ -1 +1 @@
1
- {"version":3,"file":"normalize.js","sourceRoot":"/","sources":["utils/token/normalize.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,2DAA6D;AAEtD,IAAM,iBAAiB,GAAG,UAC/B,KAAgC,EAChC,QAAgB;IAEhB,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,IAAM,SAAS,GAAG,EAAE,GAAG,QAAQ,CAAC;IAChC,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7B,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC;IAC1C,CAAC;IACD,OAAO,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AAC7C,CAAC,CAAC;AAXW,QAAA,iBAAiB,qBAW5B;AAEK,IAAM,uBAAuB,GAAG,UACrC,cAA8E;IAE9E,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;QAC/B,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,IAAM,QAAQ,GAAG,IAAA,0CAAqB,EAAC,cAAc,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC;IAC3E,6BACK,cAAc,KACjB,OAAO,EAAE,IAAA,yBAAiB,EAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,EAC5D,KAAK,EAAE,IAAA,yBAAiB,EAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,IACxD;AACJ,CAAC,CAAC;AAZW,QAAA,uBAAuB,2BAYlC","sourcesContent":["import { TradingApi } from '../../trading-api-types';\nimport { getTokenInfoByAddress } from './token-info-getters';\n\nexport const normalizeDecimals = (\n value: string | null | undefined,\n decimals: number,\n): string | null => {\n if (!value) return null;\n const padLength = 18 - decimals;\n if (!padLength) return value;\n if (padLength < 0) {\n return value.slice(0, padLength) || '0';\n }\n return value + ''.padStart(padLength, '0');\n};\n\nexport const normalizeAccountBalance = (\n accountBalance: TradingApi['wallet/:address/accounts/balances']['response'][0],\n) => {\n if (!accountBalance.collateral) {\n return accountBalance;\n }\n const decimals = getTokenInfoByAddress(accountBalance.collateral).decimals;\n return {\n ...accountBalance,\n balance: normalizeDecimals(accountBalance.balance, decimals),\n delta: normalizeDecimals(accountBalance.delta, decimals),\n };\n};\n"]}
1
+ {"version":3,"file":"normalize.js","sourceRoot":"/","sources":["utils/token/normalize.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,2DAA6D;AAEtD,IAAM,iBAAiB,GAAG,UAC/B,KAAgC,EAChC,QAAgB;IAEhB,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,IAAM,SAAS,GAAG,EAAE,GAAG,QAAQ,CAAC;IAChC,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7B,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC;IAC1C,CAAC;IACD,OAAO,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AAC7C,CAAC,CAAC;AAXW,QAAA,iBAAiB,qBAW5B;AAEK,IAAM,uBAAuB,GAAG,UACrC,cAA8E,EAC9E,OAAyC;IAEzC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;QAC/B,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,IAAM,QAAQ,GAAG,IAAA,0CAAqB,EACpC,cAAc,CAAC,UAAU,EACzB,OAAO,CACR,CAAC,QAAQ,CAAC;IACX,6BACK,cAAc,KACjB,OAAO,EAAE,IAAA,yBAAiB,EAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,EAC5D,KAAK,EAAE,IAAA,yBAAiB,EAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,IACxD;AACJ,CAAC,CAAC;AAhBW,QAAA,uBAAuB,2BAgBlC","sourcesContent":["import { TradingApi } from '../../trading-api-types';\nimport { MoneyInOutChainId, ReyaChainId } from '../../types';\nimport { getTokenInfoByAddress } from './token-info-getters';\n\nexport const normalizeDecimals = (\n value: string | null | undefined,\n decimals: number,\n): string | null => {\n if (!value) return null;\n const padLength = 18 - decimals;\n if (!padLength) return value;\n if (padLength < 0) {\n return value.slice(0, padLength) || '0';\n }\n return value + ''.padStart(padLength, '0');\n};\n\nexport const normalizeAccountBalance = (\n accountBalance: TradingApi['wallet/:address/accounts/balances']['response'][0],\n chainId?: ReyaChainId | MoneyInOutChainId,\n) => {\n if (!accountBalance.collateral) {\n return accountBalance;\n }\n const decimals = getTokenInfoByAddress(\n accountBalance.collateral,\n chainId,\n ).decimals;\n return {\n ...accountBalance,\n balance: normalizeDecimals(accountBalance.balance, decimals),\n delta: normalizeDecimals(accountBalance.delta, decimals),\n };\n};\n"]}
@@ -1,14 +1,80 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  Object.defineProperty(exports, "__esModule", { value: true });
3
14
  exports.getRUSDUnderlyingTokenInfo = exports.getTokenInfosByChain = exports.getTokenInfoByName = exports.getTokenInfoByAddress = void 0;
4
15
  var token_info_1 = require("./token-info");
16
+ var types_1 = require("../../types");
5
17
  var utils_1 = require("./utils");
18
+ var LOCAL_ADDRESS_PATTERN = /^0x[a-fA-F0-9]{40}$/;
19
+ var localAddressOverride = function (envName, fallback) {
20
+ var _a;
21
+ var rawAddress = (_a = process.env[envName]) === null || _a === void 0 ? void 0 : _a.trim();
22
+ if (!rawAddress) {
23
+ return fallback;
24
+ }
25
+ if (!LOCAL_ADDRESS_PATTERN.test(rawAddress)) {
26
+ throw new Error("Invalid ".concat(envName, " address override: ").concat(rawAddress));
27
+ }
28
+ return rawAddress.toLowerCase();
29
+ };
30
+ /**
31
+ * The Reya chains whose token addresses may be overridden from the
32
+ * environment. An ALLOWLIST on purpose: this function also accepts
33
+ * MoneyInOutChainId, and TOKEN_INFO carries entries for external chains
34
+ * (ethereum, op, polygon, arbitrum, base) whose USDC/WETH names collide with
35
+ * the ones overridden below. A "not mainnet" test would quietly rewrite those
36
+ * external addresses from Reya-local env vars; an allowlist cannot, and a new
37
+ * money-in/out chain cannot opt itself in by accident.
38
+ *
39
+ * reyaCronos is here because devnet1 shares that chain id while running its
40
+ * OWN passive pool and sRUSD (2026-08-22), publishing SRUSD_PROXY_ADDRESS in
41
+ * its api values. Gated on reyaLocal alone it never reached this path, so
42
+ * getTokenInfoByAddress threw "no token info found" for devnet's own sRUSD,
43
+ * which broke /v2/wallet/:address/accountBalances -- the RLP balance never
44
+ * appeared after staking rUSD. Each override still falls back to the compiled
45
+ * address when its env var is unset, so cronos itself is a no-op.
46
+ *
47
+ * Same root cause and same fix as the asset map in common-backend (#2903);
48
+ * these two must stay in step.
49
+ */
50
+ var REYA_CHAINS_WITH_ADDRESS_OVERRIDES = new Set([
51
+ types_1.ReyaChainId.reyaLocal,
52
+ types_1.ReyaChainId.reyaCronos,
53
+ ]);
54
+ var withLocalAddressOverrides = function (tokenInfos) {
55
+ return tokenInfos.map(function (tokenInfo) {
56
+ switch (tokenInfo.name) {
57
+ case 'RUSD':
58
+ return __assign(__assign({}, tokenInfo), { address: localAddressOverride('RUSD_COLLATERAL_ADDRESS', tokenInfo.address) });
59
+ case 'WETH':
60
+ return __assign(__assign({}, tokenInfo), { address: localAddressOverride('LOCAL_ETH_ASSET_ADDRESS', tokenInfo.address) });
61
+ case 'WBTC':
62
+ return __assign(__assign({}, tokenInfo), { address: localAddressOverride('LOCAL_BTC_ASSET_ADDRESS', tokenInfo.address) });
63
+ case 'SRUSD':
64
+ return __assign(__assign({}, tokenInfo), { address: localAddressOverride('SRUSD_PROXY_ADDRESS', tokenInfo.address) });
65
+ case 'USDC':
66
+ return __assign(__assign({}, tokenInfo), { address: localAddressOverride('LOCAL_USDC_ASSET_ADDRESS', tokenInfo.address) });
67
+ default:
68
+ return tokenInfo;
69
+ }
70
+ });
71
+ };
6
72
  var getTokenInfoByAddress = function (tokenAddressParam, chainId) {
7
73
  var tokenAddress = typeof tokenAddressParam === 'string'
8
74
  ? (0, utils_1.convertToAddress)(tokenAddressParam)
9
75
  : tokenAddressParam;
10
76
  if (chainId) {
11
- var tokenInfo = token_info_1.TOKEN_INFO[chainId].find(function (tokenInfo) { return tokenInfo.address === tokenAddress; });
77
+ var tokenInfo = (0, exports.getTokenInfosByChain)(chainId).find(function (tokenInfo) { return tokenInfo.address === tokenAddress; });
12
78
  if (!tokenInfo) {
13
79
  throw new Error("getTokenInfoByAddress: no token info found [chainId ".concat(chainId, ", token address ").concat(tokenAddress, "]"));
14
80
  }
@@ -16,7 +82,13 @@ var getTokenInfoByAddress = function (tokenAddressParam, chainId) {
16
82
  }
17
83
  else {
18
84
  for (var chainId_1 in token_info_1.TOKEN_INFO) {
19
- var tokenInfos = token_info_1.TOKEN_INFO[chainId_1];
85
+ // getTokenInfosByChain, NOT raw TOKEN_INFO: the address overrides live
86
+ // in that function, so reading the table directly here made this branch
87
+ // blind to any deployment running its own token. devnet1's sRUSD
88
+ // resolved on the chainId-passing branch above and threw here --
89
+ // "no token info found [token address 0x8a04...]", with no chainId in
90
+ // the message, which is what distinguishes the two call sites.
91
+ var tokenInfos = (0, exports.getTokenInfosByChain)(Number(chainId_1));
20
92
  var tokenInfo = tokenInfos.find(function (tokenInfo) { return tokenInfo.address === tokenAddress; });
21
93
  if (tokenInfo) {
22
94
  return tokenInfo;
@@ -27,7 +99,7 @@ var getTokenInfoByAddress = function (tokenAddressParam, chainId) {
27
99
  };
28
100
  exports.getTokenInfoByAddress = getTokenInfoByAddress;
29
101
  var getTokenInfoByName = function (tokenName, chainId) {
30
- var tokenInfo = token_info_1.TOKEN_INFO[chainId].find(function (tokenInfo) { return tokenInfo.name === tokenName; });
102
+ var tokenInfo = (0, exports.getTokenInfosByChain)(chainId).find(function (tokenInfo) { return tokenInfo.name === tokenName; });
31
103
  if (!tokenInfo) {
32
104
  throw new Error("getTokenInfoByName: no token info found [chain id ".concat(chainId, ", token name ").concat(tokenName, "]"));
33
105
  }
@@ -35,11 +107,14 @@ var getTokenInfoByName = function (tokenName, chainId) {
35
107
  };
36
108
  exports.getTokenInfoByName = getTokenInfoByName;
37
109
  var getTokenInfosByChain = function (chainId) {
38
- return token_info_1.TOKEN_INFO[chainId];
110
+ var tokenInfos = token_info_1.TOKEN_INFO[chainId];
111
+ return REYA_CHAINS_WITH_ADDRESS_OVERRIDES.has(chainId)
112
+ ? withLocalAddressOverrides(tokenInfos)
113
+ : tokenInfos;
39
114
  };
40
115
  exports.getTokenInfosByChain = getTokenInfosByChain;
41
116
  var getRUSDUnderlyingTokenInfo = function (chainId) {
42
- var tokenInfo = token_info_1.TOKEN_INFO[chainId].find(function (tokenInfo) { return tokenInfo.isRUSDUnderlying === true; });
117
+ var tokenInfo = (0, exports.getTokenInfosByChain)(chainId).find(function (tokenInfo) { return tokenInfo.isRUSDUnderlying === true; });
43
118
  if (!tokenInfo) {
44
119
  throw new Error("getRUSDUnderlyingTokenInfo: no token info found [chain id ".concat(chainId, "]"));
45
120
  }
@@ -1 +1 @@
1
- {"version":3,"file":"token-info-getters.js","sourceRoot":"/","sources":["utils/token/token-info-getters.ts"],"names":[],"mappings":";;;AAAA,2CAA0C;AAQ1C,iCAA2C;AAEpC,IAAM,qBAAqB,GAAG,UACnC,iBAAmC,EACnC,OAAyC;IAEzC,IAAM,YAAY,GAChB,OAAO,iBAAiB,KAAK,QAAQ;QACnC,CAAC,CAAC,IAAA,wBAAgB,EAAC,iBAAiB,CAAC;QACrC,CAAC,CAAC,iBAAiB,CAAC;IAExB,IAAI,OAAO,EAAE,CAAC;QACZ,IAAM,SAAS,GAAG,uBAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CACxC,UAAC,SAAS,IAAK,OAAA,SAAS,CAAC,OAAO,KAAK,YAAY,EAAlC,CAAkC,CAClD,CAAC;QACF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,8DAAuD,OAAO,6BAAmB,YAAY,MAAG,CACjG,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;SAAM,CAAC;QACN,KAAK,IAAM,SAAO,IAAI,uBAAU,EAAE,CAAC;YACjC,IAAM,UAAU,GACd,uBAAU,CAAC,SAA6C,CAAC,CAAC;YAC5D,IAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAC/B,UAAC,SAAS,IAAK,OAAA,SAAS,CAAC,OAAO,KAAK,YAAY,EAAlC,CAAkC,CAClD,CAAC;YACF,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CACb,oEAA6D,YAAY,MAAG,CAC7E,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAlCW,QAAA,qBAAqB,yBAkChC;AAEK,IAAM,kBAAkB,GAAG,UAChC,SAAoB,EACpB,OAAwC;IAExC,IAAM,SAAS,GAAG,uBAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CACxC,UAAC,SAAS,IAAK,OAAA,SAAS,CAAC,IAAI,KAAK,SAAS,EAA5B,CAA4B,CAC5C,CAAC;IAEF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,4DAAqD,OAAO,0BAAgB,SAAS,MAAG,CACzF,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAfW,QAAA,kBAAkB,sBAe7B;AAEK,IAAM,oBAAoB,GAAG,UAClC,OAAwC;IAExC,OAAO,uBAAU,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC,CAAC;AAJW,QAAA,oBAAoB,wBAI/B;AAEK,IAAM,0BAA0B,GAAG,UACxC,OAAwC;IAExC,IAAM,SAAS,GAAG,uBAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CACxC,UAAC,SAAS,IAAK,OAAA,SAAS,CAAC,gBAAgB,KAAK,IAAI,EAAnC,CAAmC,CACnD,CAAC;IAEF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,oEAA6D,OAAO,MAAG,CACxE,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAdW,QAAA,0BAA0B,8BAcrC","sourcesContent":["import { TOKEN_INFO } from './token-info';\nimport {\n Address,\n MoneyInOutChainId,\n ReyaChainId,\n TokenInfo,\n TokenName,\n} from '../../types';\nimport { convertToAddress } from './utils';\n\nexport const getTokenInfoByAddress = (\n tokenAddressParam: Address | string,\n chainId?: ReyaChainId | MoneyInOutChainId,\n): TokenInfo => {\n const tokenAddress =\n typeof tokenAddressParam === 'string'\n ? convertToAddress(tokenAddressParam)\n : tokenAddressParam;\n\n if (chainId) {\n const tokenInfo = TOKEN_INFO[chainId].find(\n (tokenInfo) => tokenInfo.address === tokenAddress,\n );\n if (!tokenInfo) {\n throw new Error(\n `getTokenInfoByAddress: no token info found [chainId ${chainId}, token address ${tokenAddress}]`,\n );\n }\n return tokenInfo;\n } else {\n for (const chainId in TOKEN_INFO) {\n const tokenInfos =\n TOKEN_INFO[chainId as unknown as keyof typeof TOKEN_INFO];\n const tokenInfo = tokenInfos.find(\n (tokenInfo) => tokenInfo.address === tokenAddress,\n );\n if (tokenInfo) {\n return tokenInfo;\n }\n }\n throw new Error(\n `getTokenInfoByAddress: no token info found [token address ${tokenAddress}]`,\n );\n }\n};\n\nexport const getTokenInfoByName = (\n tokenName: TokenName,\n chainId: ReyaChainId | MoneyInOutChainId,\n): TokenInfo => {\n const tokenInfo = TOKEN_INFO[chainId].find(\n (tokenInfo) => tokenInfo.name === tokenName,\n );\n\n if (!tokenInfo) {\n throw new Error(\n `getTokenInfoByName: no token info found [chain id ${chainId}, token name ${tokenName}]`,\n );\n }\n\n return tokenInfo;\n};\n\nexport const getTokenInfosByChain = (\n chainId: ReyaChainId | MoneyInOutChainId,\n): TokenInfo[] => {\n return TOKEN_INFO[chainId];\n};\n\nexport const getRUSDUnderlyingTokenInfo = (\n chainId: ReyaChainId | MoneyInOutChainId,\n): TokenInfo => {\n const tokenInfo = TOKEN_INFO[chainId].find(\n (tokenInfo) => tokenInfo.isRUSDUnderlying === true,\n );\n\n if (!tokenInfo) {\n throw new Error(\n `getRUSDUnderlyingTokenInfo: no token info found [chain id ${chainId}]`,\n );\n }\n\n return tokenInfo;\n};\n"]}
1
+ {"version":3,"file":"token-info-getters.js","sourceRoot":"/","sources":["utils/token/token-info-getters.ts"],"names":[],"mappings":"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","sourcesContent":["import { TOKEN_INFO } from './token-info';\nimport {\n Address,\n MoneyInOutChainId,\n ReyaChainId,\n TokenInfo,\n TokenName,\n} from '../../types';\nimport { convertToAddress } from './utils';\n\nconst LOCAL_ADDRESS_PATTERN = /^0x[a-fA-F0-9]{40}$/;\n\nconst localAddressOverride = (envName: string, fallback: Address): Address => {\n const rawAddress = process.env[envName]?.trim();\n if (!rawAddress) {\n return fallback;\n }\n\n if (!LOCAL_ADDRESS_PATTERN.test(rawAddress)) {\n throw new Error(`Invalid ${envName} address override: ${rawAddress}`);\n }\n\n return rawAddress.toLowerCase() as Address;\n};\n\n/**\n * The Reya chains whose token addresses may be overridden from the\n * environment. An ALLOWLIST on purpose: this function also accepts\n * MoneyInOutChainId, and TOKEN_INFO carries entries for external chains\n * (ethereum, op, polygon, arbitrum, base) whose USDC/WETH names collide with\n * the ones overridden below. A \"not mainnet\" test would quietly rewrite those\n * external addresses from Reya-local env vars; an allowlist cannot, and a new\n * money-in/out chain cannot opt itself in by accident.\n *\n * reyaCronos is here because devnet1 shares that chain id while running its\n * OWN passive pool and sRUSD (2026-08-22), publishing SRUSD_PROXY_ADDRESS in\n * its api values. Gated on reyaLocal alone it never reached this path, so\n * getTokenInfoByAddress threw \"no token info found\" for devnet's own sRUSD,\n * which broke /v2/wallet/:address/accountBalances -- the RLP balance never\n * appeared after staking rUSD. Each override still falls back to the compiled\n * address when its env var is unset, so cronos itself is a no-op.\n *\n * Same root cause and same fix as the asset map in common-backend (#2903);\n * these two must stay in step.\n */\nconst REYA_CHAINS_WITH_ADDRESS_OVERRIDES: ReadonlySet<ReyaChainId> = new Set([\n ReyaChainId.reyaLocal,\n ReyaChainId.reyaCronos,\n]);\n\nconst withLocalAddressOverrides = (tokenInfos: TokenInfo[]): TokenInfo[] =>\n tokenInfos.map((tokenInfo) => {\n switch (tokenInfo.name) {\n case 'RUSD':\n return {\n ...tokenInfo,\n address: localAddressOverride(\n 'RUSD_COLLATERAL_ADDRESS',\n tokenInfo.address,\n ),\n };\n case 'WETH':\n return {\n ...tokenInfo,\n address: localAddressOverride(\n 'LOCAL_ETH_ASSET_ADDRESS',\n tokenInfo.address,\n ),\n };\n case 'WBTC':\n return {\n ...tokenInfo,\n address: localAddressOverride(\n 'LOCAL_BTC_ASSET_ADDRESS',\n tokenInfo.address,\n ),\n };\n case 'SRUSD':\n return {\n ...tokenInfo,\n address: localAddressOverride(\n 'SRUSD_PROXY_ADDRESS',\n tokenInfo.address,\n ),\n };\n case 'USDC':\n return {\n ...tokenInfo,\n address: localAddressOverride(\n 'LOCAL_USDC_ASSET_ADDRESS',\n tokenInfo.address,\n ),\n };\n default:\n return tokenInfo;\n }\n });\n\nexport const getTokenInfoByAddress = (\n tokenAddressParam: Address | string,\n chainId?: ReyaChainId | MoneyInOutChainId,\n): TokenInfo => {\n const tokenAddress =\n typeof tokenAddressParam === 'string'\n ? convertToAddress(tokenAddressParam)\n : tokenAddressParam;\n\n if (chainId) {\n const tokenInfo = getTokenInfosByChain(chainId).find(\n (tokenInfo) => tokenInfo.address === tokenAddress,\n );\n if (!tokenInfo) {\n throw new Error(\n `getTokenInfoByAddress: no token info found [chainId ${chainId}, token address ${tokenAddress}]`,\n );\n }\n return tokenInfo;\n } else {\n for (const chainId in TOKEN_INFO) {\n // getTokenInfosByChain, NOT raw TOKEN_INFO: the address overrides live\n // in that function, so reading the table directly here made this branch\n // blind to any deployment running its own token. devnet1's sRUSD\n // resolved on the chainId-passing branch above and threw here --\n // \"no token info found [token address 0x8a04...]\", with no chainId in\n // the message, which is what distinguishes the two call sites.\n const tokenInfos = getTokenInfosByChain(\n Number(chainId) as ReyaChainId | MoneyInOutChainId,\n );\n const tokenInfo = tokenInfos.find(\n (tokenInfo) => tokenInfo.address === tokenAddress,\n );\n if (tokenInfo) {\n return tokenInfo;\n }\n }\n throw new Error(\n `getTokenInfoByAddress: no token info found [token address ${tokenAddress}]`,\n );\n }\n};\n\nexport const getTokenInfoByName = (\n tokenName: TokenName,\n chainId: ReyaChainId | MoneyInOutChainId,\n): TokenInfo => {\n const tokenInfo = getTokenInfosByChain(chainId).find(\n (tokenInfo) => tokenInfo.name === tokenName,\n );\n\n if (!tokenInfo) {\n throw new Error(\n `getTokenInfoByName: no token info found [chain id ${chainId}, token name ${tokenName}]`,\n );\n }\n\n return tokenInfo;\n};\n\nexport const getTokenInfosByChain = (\n chainId: ReyaChainId | MoneyInOutChainId,\n): TokenInfo[] => {\n const tokenInfos = TOKEN_INFO[chainId];\n return REYA_CHAINS_WITH_ADDRESS_OVERRIDES.has(chainId as ReyaChainId)\n ? withLocalAddressOverrides(tokenInfos)\n : tokenInfos;\n};\n\nexport const getRUSDUnderlyingTokenInfo = (\n chainId: ReyaChainId | MoneyInOutChainId,\n): TokenInfo => {\n const tokenInfo = getTokenInfosByChain(chainId).find(\n (tokenInfo) => tokenInfo.isRUSDUnderlying === true,\n );\n\n if (!tokenInfo) {\n throw new Error(\n `getRUSDUnderlyingTokenInfo: no token info found [chain id ${chainId}]`,\n );\n }\n\n return tokenInfo;\n};\n"]}
@@ -35,6 +35,8 @@ exports.TOKEN_INFO = (_a = {},
35
35
  __assign({ name: 'RSELINI', address: '0xb6a307bb281bca13d69792eaf5db7c2bbe6de248', decimals: 18, isRUSDUnderlying: false, whitelistedWalletOnly: true, isLmToken: true }, defaultTokenThresholds),
36
36
  __assign({ name: 'RAMBER', address: '0x63fc3f743ee2e70e670864079978a1deb9c18b76', decimals: 18, isRUSDUnderlying: false, whitelistedWalletOnly: true, isLmToken: true }, defaultTokenThresholds),
37
37
  __assign({ name: 'RHEDGE', address: '0x3ee6f82498d4e40db33bac3addabd8b41eca1c9c', decimals: 18, isRUSDUnderlying: false, whitelistedWalletOnly: true, isLmToken: true }, defaultTokenThresholds),
38
+ __assign({ name: 'RKEYROCK', address: '0x088a85146bc401b44e1604740162421b5ff8e561', decimals: 18, isRUSDUnderlying: false, whitelistedWalletOnly: true, isLmToken: true }, defaultTokenThresholds),
39
+ __assign({ name: 'RFLOW', address: '0x4325c20027025ac8e758310db882f143a27e5dfc', decimals: 18, isRUSDUnderlying: false, whitelistedWalletOnly: true, isLmToken: true }, defaultTokenThresholds),
38
40
  __assign({ name: 'SRUSD', address: '0x162b78e827a8db8173d13735c08c8d40cb5ccdab', decimals: 30, isRUSDUnderlying: false, whitelistedWalletOnly: false, isPoolToken: true }, defaultTokenThresholds),
39
41
  {
40
42
  name: 'WBTC',
@@ -126,6 +128,8 @@ exports.TOKEN_INFO = (_a = {},
126
128
  __assign({ name: 'RSELINI', address: '0xba8ae4d2a147c54c3aba123e8e01937af505fc3c', decimals: 18, isRUSDUnderlying: false, whitelistedWalletOnly: true, isLmToken: true }, defaultTokenThresholds),
127
129
  __assign({ name: 'RAMBER', address: '0x125fd68ec0ab65ce9606ded99e8f19c286f9e534', decimals: 18, isRUSDUnderlying: false, whitelistedWalletOnly: true, isLmToken: true }, defaultTokenThresholds),
128
130
  __assign({ name: 'RHEDGE', address: '0xfb9eed7a6f3100db35c94b214917a0a64aec1a97', decimals: 18, isRUSDUnderlying: false, whitelistedWalletOnly: true, isLmToken: true }, defaultTokenThresholds),
131
+ __assign({ name: 'RKEYROCK', address: '0xfd105c5d2b1399925e220b5ad8feecbf7c0bd43f', decimals: 18, isRUSDUnderlying: false, whitelistedWalletOnly: true, isLmToken: true }, defaultTokenThresholds),
132
+ __assign({ name: 'RFLOW', address: '0xd018109ebd2c16b184286a99f3cd62c51ee818b0', decimals: 18, isRUSDUnderlying: false, whitelistedWalletOnly: true, isLmToken: true }, defaultTokenThresholds),
129
133
  __assign({ name: 'SRUSD', address: '0xb9f531a54fc0e9adca1b931d9533b4e49bb2fad6', decimals: 30, isRUSDUnderlying: false, whitelistedWalletOnly: false, isPoolToken: true }, defaultTokenThresholds),
130
134
  {
131
135
  name: 'REYA',
@@ -149,6 +153,13 @@ exports.TOKEN_INFO = (_a = {},
149
153
  minTransferAmount: 1,
150
154
  },
151
155
  ],
156
+ _a[types_1.ReyaChainId.reyaLocal] = [
157
+ __assign({ name: 'WBTC', address: '0x459374f3f3e92728bca838dfa8c95e706fe67e8a', decimals: 8, isRUSDUnderlying: false }, defaultTokenThresholds),
158
+ __assign({ name: 'RUSD', address: '0x9de724e7b3facf87ce39465d3d712717182e3e55', decimals: 6, isRUSDUnderlying: false }, defaultTokenThresholds),
159
+ __assign({ name: 'USDC', address: '0xfa27c7c6051344263533cc365274d9569b0272a8', decimals: 6, isRUSDUnderlying: true }, defaultTokenThresholds),
160
+ __assign(__assign({ name: 'WETH', address: '0x2cf56315acc7e791b1a0135c09d8d5c8dbcd2f14', decimals: 18, isRUSDUnderlying: false }, defaultTokenThresholds), { minDepositAmount: 0.01, minWithdrawAmount: 0.01, minTransferAmount: 0.01 }),
161
+ __assign({ name: 'SRUSD', address: '0xb9f531a54fc0e9adca1b931d9533b4e49bb2fad6', decimals: 30, isRUSDUnderlying: false, whitelistedWalletOnly: false, isPoolToken: true }, defaultTokenThresholds),
162
+ ],
152
163
  _a[types_1.MoneyInOutChainId.arbitrumSepolia] = [
153
164
  __assign({ name: 'USDC', address: '0x8537307810fc40f4073a12a38554d4ff78efff41', decimals: 6, isRUSDUnderlying: true }, defaultTokenThresholds),
154
165
  __assign({ name: 'USDE', address: '0xdca6971c26fdee0536fdff076d063643f7810621', decimals: 18, isRUSDUnderlying: false }, defaultTokenThresholds),
@@ -1 +1 @@
1
- {"version":3,"file":"token-info.js","sourceRoot":"/","sources":["utils/token/token-info.ts"],"names":[],"mappings":"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","sourcesContent":["import { MoneyInOutChainId, ReyaChainId, TokenInfo } from '../../types';\n\nconst defaultTokenThresholds: Pick<\n TokenInfo,\n 'minDepositAmount' | 'minWithdrawAmount' | 'minTransferAmount'\n> = {\n minDepositAmount: 10,\n minWithdrawAmount: 10,\n minTransferAmount: 1,\n};\n\nexport const TOKEN_INFO: Record<ReyaChainId | MoneyInOutChainId, TokenInfo[]> =\n {\n /* ------------------------------------------------------ */\n /* MAINNET */\n /* ------------------------------------------------------ */\n [ReyaChainId.reyaNetwork]: [\n {\n name: 'RUSD',\n address: '0xa9f32a851b1800742e47725da54a09a7ef2556a3',\n decimals: 6,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'USDC',\n address: '0x3b860c0b53f2e8bd5264aa7c3451d41263c933f2',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'WETH',\n address: '0x6b48c2e6a32077ec17e8ba0d98ffc676dfab1a30',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n minDepositAmount: 0.01,\n minWithdrawAmount: 0.01,\n minTransferAmount: 0.01,\n },\n {\n name: 'WSTETH',\n address: '0x7ae54d5a9e5a975dfc3261d915f8151dcca76be0',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n minDepositAmount: 0.01,\n minWithdrawAmount: 0.01,\n minTransferAmount: 0.01,\n },\n {\n name: 'USDE',\n address: '0xaab18b45467ece5e47f85ca6d3dc4df2a350fd42',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'SUSDE',\n address: '0x2339d41f410ea761f346a14c184385d15f7266c4',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'DEUSD',\n address: '0x809b99df4ddd6fa90f2cf305e2cdc310c6ad3c2c',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: false,\n isElixirToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'SDEUSD',\n address: '0x4d3feb76ab1c7ef40388cd7a2066edace1a2237d',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: false,\n isElixirToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'RSELINI',\n address: '0xb6a307bb281bca13d69792eaf5db7c2bbe6de248',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n isLmToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'RAMBER',\n address: '0x63fc3f743ee2e70e670864079978a1deb9c18b76',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n isLmToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'RHEDGE',\n address: '0x3ee6f82498d4e40db33bac3addabd8b41eca1c9c',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n isLmToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'SRUSD',\n address: '0x162b78e827a8db8173d13735c08c8d40cb5ccdab',\n decimals: 30,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: false,\n isPoolToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'WBTC',\n address: '0xa6cf523f856f4a0aab78848e251c1b042e6406d5',\n decimals: 8,\n isRUSDUnderlying: false,\n minDepositAmount: 0.0001,\n minWithdrawAmount: 0.0001,\n minTransferAmount: 0.0001,\n },\n {\n name: 'REYA',\n address: '0xcc8e02d7112ddaa66a63b89d73e4eda65722b111',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n isOFT: true,\n minDepositAmount: 1,\n minWithdrawAmount: 1,\n minTransferAmount: 1,\n },\n {\n name: 'SREYA',\n address: '0xf3dd224de5f9b112690a15521b4a0c450a4a82c2',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n minDepositAmount: 1,\n minWithdrawAmount: 1,\n minTransferAmount: 1,\n },\n ],\n [MoneyInOutChainId.ethereumMainnet]: [\n {\n name: 'USDC',\n address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n minWithdrawAmount: 28,\n },\n {\n name: 'WETH',\n address: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n minDepositAmount: 0.01,\n minWithdrawAmount: 0.01,\n minTransferAmount: 0.001,\n },\n {\n name: 'WSTETH',\n address: '0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n minDepositAmount: 0.01,\n minWithdrawAmount: 0.01,\n minTransferAmount: 0.001,\n },\n {\n name: 'USDE',\n address: '0x4c9edd5852cd905f086c759e8383e09bff1e68b3',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'SUSDE',\n address: '0x9d39a5de30e57443bff2a8307a4256c8797a3497',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'DEUSD',\n address: '0x15700b564ca08d9439c58ca5053166e8317aa138',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: false,\n isElixirToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'SDEUSD',\n address: '0x5c5b196abe0d54485975d1ec29617d42d9198326',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: false,\n isElixirToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'WBTC',\n address: '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599',\n decimals: 8,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n minDepositAmount: 0.0001,\n minWithdrawAmount: 0.0001,\n minTransferAmount: 0.0001,\n },\n {\n name: 'REYA',\n address: '0xcc8e02d7112ddaa66a63b89d73e4eda65722b111',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n isOFT: true,\n minDepositAmount: 1,\n minWithdrawAmount: 1,\n minTransferAmount: 1,\n },\n ],\n [MoneyInOutChainId.opMainnet]: [\n {\n name: 'USDC',\n address: '0x0b2c639c533813f4aa9d7837caf62653d097ff85',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n minWithdrawAmount: 10,\n },\n {\n name: 'USDC.E',\n address: '0x7f5c764cbc14f9669b88837ca1490cca17c31607',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n minWithdrawAmount: 10,\n },\n {\n name: 'WETH',\n address: '0x4200000000000000000000000000000000000006',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n ...defaultTokenThresholds,\n minDepositAmount: 0.01,\n minWithdrawAmount: 0.01,\n minTransferAmount: 0.01,\n },\n {\n name: 'SUSDE',\n address: '0x211cc4dd073734da055fbf44a2b4667d5e5fe5d2',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: false,\n ...defaultTokenThresholds,\n },\n ],\n [MoneyInOutChainId.polygonMainnet]: [\n {\n name: 'USDC',\n address: '0x3c499c542cef5e3811e1192ce70d8cc03d5c3359',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n minWithdrawAmount: 10,\n },\n {\n name: 'USDC.E',\n address: '0x2791bca1f2de4661ed88a30c99a7a9449aa84174',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n minWithdrawAmount: 10,\n },\n {\n name: 'WETH',\n address: '0x7ceb23fd6bc0add59e62ac25578270cff1b9f619',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n ...defaultTokenThresholds,\n minDepositAmount: 0.01,\n minWithdrawAmount: 0.01,\n minTransferAmount: 0.01,\n },\n ],\n [MoneyInOutChainId.arbitrumOne]: [\n {\n name: 'USDC',\n address: '0xaf88d065e77c8cc2239327c5edb3a432268e5831',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n minWithdrawAmount: 10,\n },\n {\n name: 'USDC.E',\n address: '0xff970a61a04b1ca14834a43f5de4533ebddb5cc8',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n minWithdrawAmount: 10,\n },\n {\n name: 'WETH',\n address: '0x82af49447d8a07e3bd95bd0d56f35241523fbab1',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n ...defaultTokenThresholds,\n minDepositAmount: 0.01,\n minWithdrawAmount: 0.01,\n minTransferAmount: 0.01,\n },\n {\n name: 'SUSDE',\n address: '0x211cc4dd073734da055fbf44a2b4667d5e5fe5d2',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: false,\n ...defaultTokenThresholds,\n },\n ],\n [MoneyInOutChainId.baseMainnet]: [\n {\n name: 'USDC',\n address: '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n minWithdrawAmount: 10,\n },\n {\n name: 'WETH',\n address: '0x4200000000000000000000000000000000000006',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n ...defaultTokenThresholds,\n minDepositAmount: 0.01,\n minWithdrawAmount: 0.01,\n minTransferAmount: 0.01,\n },\n {\n name: 'SUSDE',\n address: '0x211cc4dd073734da055fbf44a2b4667d5e5fe5d2',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: false,\n ...defaultTokenThresholds,\n },\n ],\n\n /* ------------------------------------------------------ */\n /* TESTNET */\n /* ------------------------------------------------------ */\n [ReyaChainId.reyaCronos]: [\n {\n name: 'RUSD',\n address: '0x9de724e7b3facf87ce39465d3d712717182e3e55',\n decimals: 6,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'USDC',\n address: '0xfa27c7c6051344263533cc365274d9569b0272a8',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'USDE',\n address: '0xdca6971c26fdee0536fdff076d063643f7810621',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'SUSDE',\n address: '0x08a766935478a1632fa776dcebd3e75ce88a1034',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'WETH',\n address: '0x2cf56315acc7e791b1a0135c09d8d5c8dbcd2f14',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n minDepositAmount: 0.01,\n minWithdrawAmount: 0.01,\n minTransferAmount: 0.01,\n },\n {\n name: 'WSTETH',\n address: '0xdf52410a19298fe168c900513e762adad00c42b1',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n minDepositAmount: 0.01,\n minWithdrawAmount: 0.01,\n minTransferAmount: 0.01,\n },\n {\n name: 'WBTC',\n address: '0x459374f3f3e92728bca838dfa8c95e706fe67e8a',\n decimals: 8,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'DEUSD',\n address: '0x3b9d28dc180813a106d26778135ac2a674f89957',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: false,\n isElixirToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'SDEUSD',\n address: '0xbeb316680b6fcd2dc3af1fc933b3a27a2513d89d',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: false,\n isElixirToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'RSELINI',\n address: '0xba8ae4d2a147c54c3aba123e8e01937af505fc3c',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n isLmToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'RAMBER',\n address: '0x125fd68ec0ab65ce9606ded99e8f19c286f9e534',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n isLmToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'RHEDGE',\n address: '0xfb9eed7a6f3100db35c94b214917a0a64aec1a97',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n isLmToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'SRUSD',\n address: '0xb9f531a54fc0e9adca1b931d9533b4e49bb2fad6',\n decimals: 30,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: false,\n isPoolToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'REYA',\n address: '0xbd96be24f68c5e616ff22ffc32715ffa1c4b70d0',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n isOFT: true,\n minDepositAmount: 1,\n minWithdrawAmount: 1,\n minTransferAmount: 1,\n },\n {\n name: 'SREYA',\n address: '0xecab1c86ecf1100ad3aa7a2c175aede4c87e949b',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n minDepositAmount: 1,\n minWithdrawAmount: 1,\n minTransferAmount: 1,\n },\n ],\n [MoneyInOutChainId.arbitrumSepolia]: [\n {\n name: 'USDC',\n address: '0x8537307810fc40f4073a12a38554d4ff78efff41',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'USDE',\n address: '0xdca6971c26fdee0536fdff076d063643f7810621',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'SUSDE',\n address: '0xef642117fc6d88cd7efe81fa0dacab196102f2ae',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'WETH',\n address: '0x565810cbfa3cf1390963e5afa2fb953795686339',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n minDepositAmount: 0.01,\n minWithdrawAmount: 0.01,\n minTransferAmount: 0.01,\n },\n {\n name: 'WBTC',\n address: '0x1019958c2bd43b882a4e1349337a32ef9563fc4d',\n decimals: 8,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n ],\n [MoneyInOutChainId.opSepolia]: [\n {\n name: 'USDC',\n address: '0x6d290609b3f5f02d52f28d97c75a443ed8564cbf',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'USDE',\n address: '0xdca6971c26fdee0536fdff076d063643f7810621',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'SUSDE',\n address: '0xef642117fc6d88cd7efe81fa0dacab196102f2ae',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'WETH',\n address: '0x2b42affd4b7c14d9b7c2579229495c052672ccd3',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n minDepositAmount: 0.01,\n minWithdrawAmount: 0.01,\n minTransferAmount: 0.01,\n },\n {\n name: 'WBTC',\n address: '0xfc5cc93d85861ac82d89fc2d3e56315540e9c8a7',\n decimals: 8,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n ],\n [MoneyInOutChainId.ethereumSepolia]: [\n {\n name: 'USDC',\n address: '0x565810cbfa3cf1390963e5afa2fb953795686339',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'USDE',\n address: '0xdca6971c26fdee0536fdff076d063643f7810621',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'SUSDE',\n address: '0xef642117fc6d88cd7efe81fa0dacab196102f2ae',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'WETH',\n address: '0x771d1ae208377453d478df08bbc38034f72ac833',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n minDepositAmount: 0.01,\n minWithdrawAmount: 0.01,\n minTransferAmount: 0.01,\n },\n {\n name: 'WBTC',\n address: '0x94beff5da6201cb2c8f489196fd970b3df5aa32a',\n decimals: 8,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'DEUSD',\n address: '0xa6b08f1b0d894429ed73fb68f0330318b188e2b0',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: false,\n isElixirToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'SDEUSD',\n address: '0x97d3e518029c622015afa7ad20036ebef60a7a4e',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: false,\n isElixirToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'REYA',\n address: '0x2998f96655f6c8814bec364c8ffdd3cd7dfc4b2e',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n isOFT: true,\n minDepositAmount: 1,\n minWithdrawAmount: 1,\n minTransferAmount: 1,\n },\n ],\n };\n"]}
1
+ {"version":3,"file":"token-info.js","sourceRoot":"/","sources":["utils/token/token-info.ts"],"names":[],"mappings":"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","sourcesContent":["import { MoneyInOutChainId, ReyaChainId, TokenInfo } from '../../types';\n\nconst defaultTokenThresholds: Pick<\n TokenInfo,\n 'minDepositAmount' | 'minWithdrawAmount' | 'minTransferAmount'\n> = {\n minDepositAmount: 10,\n minWithdrawAmount: 10,\n minTransferAmount: 1,\n};\n\nexport const TOKEN_INFO: Record<ReyaChainId | MoneyInOutChainId, TokenInfo[]> =\n {\n /* ------------------------------------------------------ */\n /* MAINNET */\n /* ------------------------------------------------------ */\n [ReyaChainId.reyaNetwork]: [\n {\n name: 'RUSD',\n address: '0xa9f32a851b1800742e47725da54a09a7ef2556a3',\n decimals: 6,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'USDC',\n address: '0x3b860c0b53f2e8bd5264aa7c3451d41263c933f2',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'WETH',\n address: '0x6b48c2e6a32077ec17e8ba0d98ffc676dfab1a30',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n minDepositAmount: 0.01,\n minWithdrawAmount: 0.01,\n minTransferAmount: 0.01,\n },\n {\n name: 'WSTETH',\n address: '0x7ae54d5a9e5a975dfc3261d915f8151dcca76be0',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n minDepositAmount: 0.01,\n minWithdrawAmount: 0.01,\n minTransferAmount: 0.01,\n },\n {\n name: 'USDE',\n address: '0xaab18b45467ece5e47f85ca6d3dc4df2a350fd42',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'SUSDE',\n address: '0x2339d41f410ea761f346a14c184385d15f7266c4',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'DEUSD',\n address: '0x809b99df4ddd6fa90f2cf305e2cdc310c6ad3c2c',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: false,\n isElixirToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'SDEUSD',\n address: '0x4d3feb76ab1c7ef40388cd7a2066edace1a2237d',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: false,\n isElixirToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'RSELINI',\n address: '0xb6a307bb281bca13d69792eaf5db7c2bbe6de248',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n isLmToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'RAMBER',\n address: '0x63fc3f743ee2e70e670864079978a1deb9c18b76',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n isLmToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'RHEDGE',\n address: '0x3ee6f82498d4e40db33bac3addabd8b41eca1c9c',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n isLmToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'RKEYROCK',\n address: '0x088a85146bc401b44e1604740162421b5ff8e561',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n isLmToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'RFLOW',\n address: '0x4325c20027025ac8e758310db882f143a27e5dfc',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n isLmToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'SRUSD',\n address: '0x162b78e827a8db8173d13735c08c8d40cb5ccdab',\n decimals: 30,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: false,\n isPoolToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'WBTC',\n address: '0xa6cf523f856f4a0aab78848e251c1b042e6406d5',\n decimals: 8,\n isRUSDUnderlying: false,\n minDepositAmount: 0.0001,\n minWithdrawAmount: 0.0001,\n minTransferAmount: 0.0001,\n },\n {\n name: 'REYA',\n address: '0xcc8e02d7112ddaa66a63b89d73e4eda65722b111',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n isOFT: true,\n minDepositAmount: 1,\n minWithdrawAmount: 1,\n minTransferAmount: 1,\n },\n {\n name: 'SREYA',\n address: '0xf3dd224de5f9b112690a15521b4a0c450a4a82c2',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n minDepositAmount: 1,\n minWithdrawAmount: 1,\n minTransferAmount: 1,\n },\n ],\n [MoneyInOutChainId.ethereumMainnet]: [\n {\n name: 'USDC',\n address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n minWithdrawAmount: 28,\n },\n {\n name: 'WETH',\n address: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n minDepositAmount: 0.01,\n minWithdrawAmount: 0.01,\n minTransferAmount: 0.001,\n },\n {\n name: 'WSTETH',\n address: '0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n minDepositAmount: 0.01,\n minWithdrawAmount: 0.01,\n minTransferAmount: 0.001,\n },\n {\n name: 'USDE',\n address: '0x4c9edd5852cd905f086c759e8383e09bff1e68b3',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'SUSDE',\n address: '0x9d39a5de30e57443bff2a8307a4256c8797a3497',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'DEUSD',\n address: '0x15700b564ca08d9439c58ca5053166e8317aa138',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: false,\n isElixirToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'SDEUSD',\n address: '0x5c5b196abe0d54485975d1ec29617d42d9198326',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: false,\n isElixirToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'WBTC',\n address: '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599',\n decimals: 8,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n minDepositAmount: 0.0001,\n minWithdrawAmount: 0.0001,\n minTransferAmount: 0.0001,\n },\n {\n name: 'REYA',\n address: '0xcc8e02d7112ddaa66a63b89d73e4eda65722b111',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n isOFT: true,\n minDepositAmount: 1,\n minWithdrawAmount: 1,\n minTransferAmount: 1,\n },\n ],\n [MoneyInOutChainId.opMainnet]: [\n {\n name: 'USDC',\n address: '0x0b2c639c533813f4aa9d7837caf62653d097ff85',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n minWithdrawAmount: 10,\n },\n {\n name: 'USDC.E',\n address: '0x7f5c764cbc14f9669b88837ca1490cca17c31607',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n minWithdrawAmount: 10,\n },\n {\n name: 'WETH',\n address: '0x4200000000000000000000000000000000000006',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n ...defaultTokenThresholds,\n minDepositAmount: 0.01,\n minWithdrawAmount: 0.01,\n minTransferAmount: 0.01,\n },\n {\n name: 'SUSDE',\n address: '0x211cc4dd073734da055fbf44a2b4667d5e5fe5d2',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: false,\n ...defaultTokenThresholds,\n },\n ],\n [MoneyInOutChainId.polygonMainnet]: [\n {\n name: 'USDC',\n address: '0x3c499c542cef5e3811e1192ce70d8cc03d5c3359',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n minWithdrawAmount: 10,\n },\n {\n name: 'USDC.E',\n address: '0x2791bca1f2de4661ed88a30c99a7a9449aa84174',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n minWithdrawAmount: 10,\n },\n {\n name: 'WETH',\n address: '0x7ceb23fd6bc0add59e62ac25578270cff1b9f619',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n ...defaultTokenThresholds,\n minDepositAmount: 0.01,\n minWithdrawAmount: 0.01,\n minTransferAmount: 0.01,\n },\n ],\n [MoneyInOutChainId.arbitrumOne]: [\n {\n name: 'USDC',\n address: '0xaf88d065e77c8cc2239327c5edb3a432268e5831',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n minWithdrawAmount: 10,\n },\n {\n name: 'USDC.E',\n address: '0xff970a61a04b1ca14834a43f5de4533ebddb5cc8',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n minWithdrawAmount: 10,\n },\n {\n name: 'WETH',\n address: '0x82af49447d8a07e3bd95bd0d56f35241523fbab1',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n ...defaultTokenThresholds,\n minDepositAmount: 0.01,\n minWithdrawAmount: 0.01,\n minTransferAmount: 0.01,\n },\n {\n name: 'SUSDE',\n address: '0x211cc4dd073734da055fbf44a2b4667d5e5fe5d2',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: false,\n ...defaultTokenThresholds,\n },\n ],\n [MoneyInOutChainId.baseMainnet]: [\n {\n name: 'USDC',\n address: '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n minWithdrawAmount: 10,\n },\n {\n name: 'WETH',\n address: '0x4200000000000000000000000000000000000006',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n ...defaultTokenThresholds,\n minDepositAmount: 0.01,\n minWithdrawAmount: 0.01,\n minTransferAmount: 0.01,\n },\n {\n name: 'SUSDE',\n address: '0x211cc4dd073734da055fbf44a2b4667d5e5fe5d2',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: false,\n ...defaultTokenThresholds,\n },\n ],\n\n /* ------------------------------------------------------ */\n /* TESTNET */\n /* ------------------------------------------------------ */\n [ReyaChainId.reyaCronos]: [\n {\n name: 'RUSD',\n address: '0x9de724e7b3facf87ce39465d3d712717182e3e55',\n decimals: 6,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'USDC',\n address: '0xfa27c7c6051344263533cc365274d9569b0272a8',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'USDE',\n address: '0xdca6971c26fdee0536fdff076d063643f7810621',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'SUSDE',\n address: '0x08a766935478a1632fa776dcebd3e75ce88a1034',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'WETH',\n address: '0x2cf56315acc7e791b1a0135c09d8d5c8dbcd2f14',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n minDepositAmount: 0.01,\n minWithdrawAmount: 0.01,\n minTransferAmount: 0.01,\n },\n {\n name: 'WSTETH',\n address: '0xdf52410a19298fe168c900513e762adad00c42b1',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n minDepositAmount: 0.01,\n minWithdrawAmount: 0.01,\n minTransferAmount: 0.01,\n },\n {\n name: 'WBTC',\n address: '0x459374f3f3e92728bca838dfa8c95e706fe67e8a',\n decimals: 8,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'DEUSD',\n address: '0x3b9d28dc180813a106d26778135ac2a674f89957',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: false,\n isElixirToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'SDEUSD',\n address: '0xbeb316680b6fcd2dc3af1fc933b3a27a2513d89d',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: false,\n isElixirToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'RSELINI',\n address: '0xba8ae4d2a147c54c3aba123e8e01937af505fc3c',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n isLmToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'RAMBER',\n address: '0x125fd68ec0ab65ce9606ded99e8f19c286f9e534',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n isLmToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'RHEDGE',\n address: '0xfb9eed7a6f3100db35c94b214917a0a64aec1a97',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n isLmToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'RKEYROCK',\n address: '0xfd105c5d2b1399925e220b5ad8feecbf7c0bd43f',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n isLmToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'RFLOW',\n address: '0xd018109ebd2c16b184286a99f3cd62c51ee818b0',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n isLmToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'SRUSD',\n address: '0xb9f531a54fc0e9adca1b931d9533b4e49bb2fad6',\n decimals: 30,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: false,\n isPoolToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'REYA',\n address: '0xbd96be24f68c5e616ff22ffc32715ffa1c4b70d0',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n isOFT: true,\n minDepositAmount: 1,\n minWithdrawAmount: 1,\n minTransferAmount: 1,\n },\n {\n name: 'SREYA',\n address: '0xecab1c86ecf1100ad3aa7a2c175aede4c87e949b',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n minDepositAmount: 1,\n minWithdrawAmount: 1,\n minTransferAmount: 1,\n },\n ],\n [ReyaChainId.reyaLocal]: [\n {\n name: 'WBTC',\n address: '0x459374f3f3e92728bca838dfa8c95e706fe67e8a',\n decimals: 8,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'RUSD',\n address: '0x9de724e7b3facf87ce39465d3d712717182e3e55',\n decimals: 6,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'USDC',\n address: '0xfa27c7c6051344263533cc365274d9569b0272a8',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'WETH',\n address: '0x2cf56315acc7e791b1a0135c09d8d5c8dbcd2f14',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n minDepositAmount: 0.01,\n minWithdrawAmount: 0.01,\n minTransferAmount: 0.01,\n },\n {\n name: 'SRUSD',\n address: '0xb9f531a54fc0e9adca1b931d9533b4e49bb2fad6',\n decimals: 30,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: false,\n isPoolToken: true,\n ...defaultTokenThresholds,\n },\n ],\n [MoneyInOutChainId.arbitrumSepolia]: [\n {\n name: 'USDC',\n address: '0x8537307810fc40f4073a12a38554d4ff78efff41',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'USDE',\n address: '0xdca6971c26fdee0536fdff076d063643f7810621',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'SUSDE',\n address: '0xef642117fc6d88cd7efe81fa0dacab196102f2ae',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'WETH',\n address: '0x565810cbfa3cf1390963e5afa2fb953795686339',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n minDepositAmount: 0.01,\n minWithdrawAmount: 0.01,\n minTransferAmount: 0.01,\n },\n {\n name: 'WBTC',\n address: '0x1019958c2bd43b882a4e1349337a32ef9563fc4d',\n decimals: 8,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n ],\n [MoneyInOutChainId.opSepolia]: [\n {\n name: 'USDC',\n address: '0x6d290609b3f5f02d52f28d97c75a443ed8564cbf',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'USDE',\n address: '0xdca6971c26fdee0536fdff076d063643f7810621',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'SUSDE',\n address: '0xef642117fc6d88cd7efe81fa0dacab196102f2ae',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'WETH',\n address: '0x2b42affd4b7c14d9b7c2579229495c052672ccd3',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n minDepositAmount: 0.01,\n minWithdrawAmount: 0.01,\n minTransferAmount: 0.01,\n },\n {\n name: 'WBTC',\n address: '0xfc5cc93d85861ac82d89fc2d3e56315540e9c8a7',\n decimals: 8,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n ],\n [MoneyInOutChainId.ethereumSepolia]: [\n {\n name: 'USDC',\n address: '0x565810cbfa3cf1390963e5afa2fb953795686339',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'USDE',\n address: '0xdca6971c26fdee0536fdff076d063643f7810621',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'SUSDE',\n address: '0xef642117fc6d88cd7efe81fa0dacab196102f2ae',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'WETH',\n address: '0x771d1ae208377453d478df08bbc38034f72ac833',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n minDepositAmount: 0.01,\n minWithdrawAmount: 0.01,\n minTransferAmount: 0.01,\n },\n {\n name: 'WBTC',\n address: '0x94beff5da6201cb2c8f489196fd970b3df5aa32a',\n decimals: 8,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'DEUSD',\n address: '0xa6b08f1b0d894429ed73fb68f0330318b188e2b0',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: false,\n isElixirToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'SDEUSD',\n address: '0x97d3e518029c622015afa7ad20036ebef60a7a4e',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: false,\n isElixirToken: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'REYA',\n address: '0x2998f96655f6c8814bec364c8ffdd3cd7dfc4b2e',\n decimals: 18,\n isRUSDUnderlying: false,\n whitelistedWalletOnly: true,\n isOFT: true,\n minDepositAmount: 1,\n minWithdrawAmount: 1,\n minTransferAmount: 1,\n },\n ],\n };\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reyaxyz/common",
3
- "version": "0.362.0",
3
+ "version": "0.363.0",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org"
@@ -25,7 +25,7 @@
25
25
  "dependencies": {
26
26
  "axios": "1.6.2",
27
27
  "bignumber.js": "9.1.2",
28
- "ethers": "6.9.0",
28
+ "ethers": "6.17.0",
29
29
  "ethers-decode-error": "2.1.3",
30
30
  "lodash.clonedeep": "4.5.0"
31
31
  },
@@ -45,5 +45,5 @@
45
45
  "generate:coverage-badges": "npx istanbul-badges-readme --silent"
46
46
  },
47
47
  "packageManager": "pnpm@8.3.1",
48
- "gitHead": "a691ef73599e2d5d76b73f1e1f4e570ae45b0842"
48
+ "gitHead": "c2d3b457f0b5105aa90227e215b5a61af9dd77ca"
49
49
  }
@@ -919,44 +919,6 @@ export class ExposureCommand {
919
919
  );
920
920
  }
921
921
 
922
- /**
923
- * @audit This function uses a linear approximation that is not aligned with the on-chain
924
- * exponential logPriceMultiplier pricing logic (PriceMultiplier.sol). The intention is to
925
- * deprecate this function completely once downstream consumers (PoolLiquidityCommand,
926
- * updateLiquidity.task, marketDataLiquidity.task) are migrated.
927
- */
928
- getSlippage(
929
- deltaBase: number,
930
- marketConfiguration: MarketConfiguration,
931
- marketStorage: MarketStorage,
932
- ): number {
933
- const deltaExposure = BigNumber(
934
- this.oraclePricePerMarket[marketConfiguration.market_id],
935
- )
936
- .times(deltaBase)
937
- .toNumber();
938
-
939
- const riskMatrixIndex = BigNumber(
940
- String(marketConfiguration.risk_matrix_index),
941
- ).toNumber();
942
-
943
- // isPool is true as we only get slippage for the pool
944
- const { maxExposureShort, maxExposureLong, exposures } =
945
- this.getMaxExposure(marketConfiguration, marketStorage, true);
946
-
947
- const netExposure = exposures[riskMatrixIndex].plus(deltaExposure);
948
- const maxExposure = netExposure.lt(0) ? maxExposureShort : maxExposureLong;
949
-
950
- return BigNumber(netExposure)
951
- .negated()
952
- .div(
953
- BigNumber(maxExposure)
954
- .times(amountNormalizer(marketConfiguration.depth_factor))
955
- .plus(netExposure),
956
- )
957
- .toNumber();
958
- }
959
-
960
922
  getMaxExposure(
961
923
  marketConfiguration: MarketConfiguration,
962
924
  marketStorage: MarketStorage,
@@ -1228,6 +1190,10 @@ export class ExposureCommand {
1228
1190
  return clampFundingRate(lastFundingRate.plus(fundingRateDelta));
1229
1191
  }
1230
1192
 
1193
+ /**
1194
+ * @deprecated OB model reads funding rate directly from FundingRateProvider.
1195
+ * Remains for legacy AMM model consumers. To be removed in a future cleanup PR.
1196
+ */
1231
1197
  static getCurrentHourlyFundingRate(
1232
1198
  last_funding_timestamp: BigNumber,
1233
1199
  lastFundingVelocity: BigNumber,
@@ -1276,6 +1242,10 @@ export class ExposureCommand {
1276
1242
  return areaDelta.times(price).times(baseMultiplier);
1277
1243
  }
1278
1244
 
1245
+ /**
1246
+ * @deprecated OB model reads funding value directly from market trackers.
1247
+ * Remains for legacy AMM model consumers. To be removed in a future cleanup PR.
1248
+ */
1279
1249
  static getCurrentFundingValue(
1280
1250
  spotPrice: BigNumber,
1281
1251
  lastFundingValue: BigNumber,
@@ -17,9 +17,27 @@ export type PointsBreakdown = {
17
17
  rank: number;
18
18
  };
19
19
 
20
+ /** A points season as served by the API. `endsAt` is null while the season is active. */
21
+ export type IncentivesSeason = {
22
+ id: number;
23
+ name: string;
24
+ startsAt: string;
25
+ endsAt: string | null;
26
+ };
27
+
28
+ /** A wallet's frozen result in a closed season. Forfeited wallets read zero in every figure. */
29
+ export type IncentivesClosedSeasonPoints = PointsBreakdown & {
30
+ season: IncentivesSeason;
31
+ forfeited: boolean;
32
+ };
33
+
20
34
  export type IncentivesUserPointsData = {
35
+ /** Latest weekly leaderboard of the active season. */
21
36
  weekly: PointsBreakdown;
22
- total: PointsBreakdown;
37
+ /** Running cumulative total of the active season. */
38
+ season: PointsBreakdown;
39
+ /** Final results of every closed season, oldest first (zeros where the wallet never scored). */
40
+ closedSeasons: IncentivesClosedSeasonPoints[];
23
41
  };
24
42
 
25
43
  export type IncentivesUserRanks = {
@@ -35,11 +53,32 @@ export type IncentivesUserBoosts = {
35
53
  loyaltyBoost: number;
36
54
  };
37
55
 
56
+ /** Live retention progress in the scorer's current (windowStartedAt, asOf] period. */
57
+ export type IncentivesRetention = {
58
+ /** Previous archival, or season start before the first archival; an ISO UTC instant. */
59
+ windowStartedAt: string;
60
+ /** Query cutoff, an ISO UTC instant. */
61
+ asOf: string;
62
+ /** Sorted distinct UTC YYYY-MM-DD dates of matched perp fills, using block time on either leg. */
63
+ tradingDates: string[];
64
+ tradingDays: number;
65
+ requiredDays: number;
66
+ boostMultiplier: number;
67
+ /** Meets the retention day threshold; does not guarantee a points award. */
68
+ qualified: boolean;
69
+ /** Current retention factor on volume XP, before other scoring rules. */
70
+ appliedMultiplier: number;
71
+ };
72
+
38
73
  export type IncentivesUserSummaryData = {
39
74
  walletAddress: string;
75
+ /** The season `points.weekly` and `points.season` belong to. */
76
+ activeSeason: IncentivesSeason;
40
77
  points: IncentivesUserPointsData;
41
78
  ranks: Omit<IncentivesUserRanks, 'walletAddress'>;
42
79
  boosts: Omit<IncentivesUserBoosts, 'walletAddress'>;
80
+ /** Live progress, separate from archived points.weekly; null outside active V2 scoring. */
81
+ retention: IncentivesRetention | null;
43
82
  };
44
83
 
45
84
  export type IncentivesLeaderBoardEntry = {
@@ -89,7 +128,15 @@ export type IncentivesPointsHistoryEntry = {
89
128
  totalPoints: number;
90
129
  };
91
130
 
92
- export type LeaderBoardParams = { type: 'weekly' | 'total' };
131
+ /**
132
+ * `weekly` = latest weekly leaderboard of the active season; `season` = a whole season: the
133
+ * running cumulative of the active season by default, or the frozen result of the season selected
134
+ * with the `seasonId` query parameter once it is closed.
135
+ */
136
+ export type LeaderBoardType = 'weekly' | 'season';
137
+ export type LeaderBoardParams = { type: LeaderBoardType };
138
+ /** `seasonId` selects the season for `type=season` (default: the active one); ignored for `weekly`. */
139
+ export type LeaderBoardQuery = { seasonId?: string };
93
140
 
94
141
  export type TradingCompetitionRoundParams = { round: number };
95
142
 
@@ -134,8 +181,13 @@ export type IncentivesStreakUserActivity = IncentivesStreakStatus & {
134
181
  export type IncentivesApiSource = {
135
182
  'incentives/points': ApiEndpoint<
136
183
  {
137
- total: number;
184
+ activeSeason: IncentivesSeason;
185
+ /** Points issued in the latest weekly leaderboard of the active season. */
138
186
  weekly: number;
187
+ /** Running total of the active season. */
188
+ season: number;
189
+ /** Frozen totals of every closed season, oldest first (forfeited wallets excluded). */
190
+ closedSeasons: { season: IncentivesSeason; totalPoints: number }[];
139
191
  },
140
192
  never
141
193
  >;
@@ -143,7 +195,7 @@ export type IncentivesApiSource = {
143
195
  'incentives/leaderBoard/:type': ApiInfiniteListEndpoint<
144
196
  IncentivesLeaderBoardEntry,
145
197
  LeaderBoardParams,
146
- PaginatedQueryParams
198
+ PaginatedQueryParams & LeaderBoardQuery
147
199
  >;
148
200
 
149
201
  'incentives/wallet/:address': ApiEndpoint<
@@ -153,7 +205,8 @@ export type IncentivesApiSource = {
153
205
 
154
206
  'incentives/wallet/:address/referralsLeaderBoard/:type': ApiListEndpoint<
155
207
  IncentivesLeaderBoardEntry,
156
- AddressParam & LeaderBoardParams
208
+ AddressParam & LeaderBoardParams,
209
+ LeaderBoardQuery
157
210
  >;
158
211
 
159
212
  'incentives/wallet/:address/pointsHistory': ApiEndpoint<
@@ -228,6 +281,8 @@ export type IncentivesApiSource = {
228
281
  x: { username: string; followedAt: string | null } | null;
229
282
  email: string | null;
230
283
  share: { lastAt: string | null; nextAt: string | null };
284
+ /** tier * 1000 + min(position in the tier, 999); null when not ranked. */
285
+ rank: number | null;
231
286
  },
232
287
  AddressParam
233
288
  >;
@@ -9,6 +9,7 @@ const nativeToken: Record<MoneyInOutChainId | ReyaChainId, TokenName> = {
9
9
  [MoneyInOutChainId.arbitrumOne]: 'ETH',
10
10
  [MoneyInOutChainId.baseMainnet]: 'ETH',
11
11
  // testnet
12
+ [ReyaChainId.reyaLocal]: 'ETH',
12
13
  [ReyaChainId.reyaCronos]: 'ETH',
13
14
  [MoneyInOutChainId.arbitrumSepolia]: 'ETH',
14
15
  [MoneyInOutChainId.opSepolia]: 'ETH',
@@ -67,6 +67,7 @@ export const getSocketDeploymentJSON = (
67
67
  switch (reyaChainId) {
68
68
  case ReyaChainId.reyaNetwork:
69
69
  return REYA_NETWORK;
70
+ case ReyaChainId.reyaLocal:
70
71
  case ReyaChainId.reyaCronos:
71
72
  return REYA_CRONOS;
72
73
  }