@reyaxyz/common 0.65.0 → 0.66.1

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 (42) hide show
  1. package/README.md +1 -1
  2. package/dist/services/getAllowedChainsForMoneyInOut.js +10 -5
  3. package/dist/services/getAllowedChainsForMoneyInOut.js.map +1 -1
  4. package/dist/services/getNativeToken.js +6 -0
  5. package/dist/services/getNativeToken.js.map +1 -1
  6. package/dist/services/getSocketAddresses.js +2 -1
  7. package/dist/services/getSocketAddresses.js.map +1 -1
  8. package/dist/services/getSocketBridgeTime.js +18 -4
  9. package/dist/services/getSocketBridgeTime.js.map +1 -1
  10. package/dist/services/getSocketDepositFees.js +6 -0
  11. package/dist/services/getSocketDepositFees.js.map +1 -1
  12. package/dist/types/services/getAllowedChainsForMoneyInOut.d.ts.map +1 -1
  13. package/dist/types/services/getNativeToken.d.ts.map +1 -1
  14. package/dist/types/services/getSocketAddresses.d.ts.map +1 -1
  15. package/dist/types/services/getSocketBridgeTime.d.ts.map +1 -1
  16. package/dist/types/services/getSocketDepositFees.d.ts.map +1 -1
  17. package/dist/types/types.d.ts +5 -0
  18. package/dist/types/types.d.ts.map +1 -1
  19. package/dist/types/utils/network.d.ts.map +1 -1
  20. package/dist/types/utils/token-info.d.ts.map +1 -1
  21. package/dist/types/utils/token.d.ts +1 -0
  22. package/dist/types/utils/token.d.ts.map +1 -1
  23. package/dist/types.js +6 -0
  24. package/dist/types.js.map +1 -1
  25. package/dist/utils/network.js +7 -0
  26. package/dist/utils/network.js.map +1 -1
  27. package/dist/utils/socket/reyaNetwork.json +154 -0
  28. package/dist/utils/token-info.js +40 -27
  29. package/dist/utils/token-info.js.map +1 -1
  30. package/dist/utils/token.js +9 -1
  31. package/dist/utils/token.js.map +1 -1
  32. package/package.json +2 -2
  33. package/src/services/getAllowedChainsForMoneyInOut.ts +8 -3
  34. package/src/services/getNativeToken.ts +6 -0
  35. package/src/services/getSocketAddresses.ts +2 -1
  36. package/src/services/getSocketBridgeTime.ts +18 -4
  37. package/src/services/getSocketDepositFees.ts +6 -0
  38. package/src/types.ts +7 -0
  39. package/src/utils/network.ts +8 -0
  40. package/src/utils/socket/reyaNetwork.json +154 -0
  41. package/src/utils/token-info.ts +76 -1
  42. package/src/utils/token.ts +16 -0
@@ -24,46 +24,59 @@ exports.TOKEN_INFO = (_a = {},
24
24
  /* MAINNET */
25
25
  /* ------------------------------------------------------ */
26
26
  _a[types_1.ReyaChainId.reyaNetwork] = [
27
- // todo
27
+ __assign({ name: 'RUSD', address: '0xa9f32a851b1800742e47725da54a09a7ef2556a3', decimals: 6, isRUSDUnderlying: false }, defaultTokenThresholds),
28
+ __assign({ name: 'USDC', address: '0x3b860c0b53f2e8bd5264aa7c3451d41263c933f2', decimals: 6, isRUSDUnderlying: true }, defaultTokenThresholds),
29
+ ],
30
+ _a[types_1.MoneyInOutChainId.ethereumMainnet] = [
31
+ __assign({ name: 'USDC', address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', decimals: 6, isRUSDUnderlying: true }, defaultTokenThresholds),
32
+ ],
33
+ _a[types_1.MoneyInOutChainId.opMainnet] = [
34
+ __assign({ name: 'USDC.E', address: '0x7f5c764cbc14f9669b88837ca1490cca17c31607', decimals: 6, isRUSDUnderlying: true }, defaultTokenThresholds),
35
+ ],
36
+ _a[types_1.MoneyInOutChainId.polygonMainnet] = [
37
+ __assign({ name: 'USDC.E', address: '0x2791bca1f2de4661ed88a30c99a7a9449aa84174', decimals: 6, isRUSDUnderlying: true }, defaultTokenThresholds),
38
+ ],
39
+ _a[types_1.MoneyInOutChainId.arbitrumOne] = [
40
+ __assign({ name: 'USDC.E', address: '0xff970a61a04b1ca14834a43f5de4533ebddb5cc8', decimals: 6, isRUSDUnderlying: true }, defaultTokenThresholds),
28
41
  ],
29
42
  /* ------------------------------------------------------ */
30
43
  /* TESTNET */
31
44
  /* ------------------------------------------------------ */
32
45
  _a[types_1.ReyaChainId.reyaCronos] = [
33
- __assign({ name: 'RUSD', address: '0x26ee9dfb27f12990d90ec003af7c5e9c19ea2a4c', decimals: 6 }, defaultTokenThresholds),
34
- __assign({ name: 'USDC', address: '0x1b700a40a0707dd5f0bc31cbc57d730558e5714d', decimals: 6 }, defaultTokenThresholds),
35
- __assign({ name: 'USDT', address: '0x9ade781dacbd220f0161d98f496a2982b231a9d6', decimals: 6 }, defaultTokenThresholds),
36
- __assign({ name: 'DAI', address: '0x733299259c45726ee1bfc9bd0deeba58e48a1853', decimals: 18 }, defaultTokenThresholds),
37
- __assign({ name: 'WETH', address: '0xc123b7aeb9d2b2e8a035217d5c29e317c91842e2', decimals: 18 }, defaultTokenThresholds),
38
- __assign({ name: 'WBTC', address: '0xd382e2f0df859ff9e82f963dcad1aaee939c5e4f', decimals: 8 }, defaultTokenThresholds),
46
+ __assign({ name: 'RUSD', address: '0x26ee9dfb27f12990d90ec003af7c5e9c19ea2a4c', decimals: 6, isRUSDUnderlying: false }, defaultTokenThresholds),
47
+ __assign({ name: 'USDC', address: '0x1b700a40a0707dd5f0bc31cbc57d730558e5714d', decimals: 6, isRUSDUnderlying: true }, defaultTokenThresholds),
48
+ __assign({ name: 'USDT', address: '0x9ade781dacbd220f0161d98f496a2982b231a9d6', decimals: 6, isRUSDUnderlying: false }, defaultTokenThresholds),
49
+ __assign({ name: 'DAI', address: '0x733299259c45726ee1bfc9bd0deeba58e48a1853', decimals: 18, isRUSDUnderlying: false }, defaultTokenThresholds),
50
+ __assign({ name: 'WETH', address: '0xc123b7aeb9d2b2e8a035217d5c29e317c91842e2', decimals: 18, isRUSDUnderlying: false }, defaultTokenThresholds),
51
+ __assign({ name: 'WBTC', address: '0xd382e2f0df859ff9e82f963dcad1aaee939c5e4f', decimals: 8, isRUSDUnderlying: false }, defaultTokenThresholds),
39
52
  ],
40
53
  _a[types_1.MoneyInOutChainId.polygonMumbai] = [
41
- __assign({ name: 'USDC', address: '0xd9edcc943ed9729b08e52bb1e110fe43d1930773', decimals: 6 }, defaultTokenThresholds),
42
- __assign({ name: 'USDT', address: '0x4f8ecb190b9ef36113127d97c7f9300875b6563f', decimals: 6 }, defaultTokenThresholds),
43
- __assign({ name: 'DAI', address: '0x35479b023e508ee9a7b533dbb5b516bb6875f937', decimals: 18 }, defaultTokenThresholds),
44
- __assign({ name: 'WETH', address: '0x6c7a28f6ae2d245b0130520b112fa3544a06d9ae', decimals: 18 }, defaultTokenThresholds),
45
- __assign({ name: 'WBTC', address: '0x92c7a51bd507736ac0dda48b5f35a4aad0c2bb4d', decimals: 8 }, defaultTokenThresholds),
54
+ __assign({ name: 'USDC', address: '0xd9edcc943ed9729b08e52bb1e110fe43d1930773', decimals: 6, isRUSDUnderlying: true }, defaultTokenThresholds),
55
+ __assign({ name: 'USDT', address: '0x4f8ecb190b9ef36113127d97c7f9300875b6563f', decimals: 6, isRUSDUnderlying: false }, defaultTokenThresholds),
56
+ __assign({ name: 'DAI', address: '0x35479b023e508ee9a7b533dbb5b516bb6875f937', decimals: 18, isRUSDUnderlying: false }, defaultTokenThresholds),
57
+ __assign({ name: 'WETH', address: '0x6c7a28f6ae2d245b0130520b112fa3544a06d9ae', decimals: 18, isRUSDUnderlying: false }, defaultTokenThresholds),
58
+ __assign({ name: 'WBTC', address: '0x92c7a51bd507736ac0dda48b5f35a4aad0c2bb4d', decimals: 8, isRUSDUnderlying: false }, defaultTokenThresholds),
46
59
  ],
47
60
  _a[types_1.MoneyInOutChainId.arbitrumSepolia] = [
48
- __assign({ name: 'USDC', address: '0x8537307810fc40f4073a12a38554d4ff78efff41', decimals: 6 }, defaultTokenThresholds),
49
- __assign({ name: 'USDT', address: '0x66dfb9987c36c4be232156e70b085f664367599a', decimals: 6 }, defaultTokenThresholds),
50
- __assign({ name: 'DAI', address: '0x9a573b27d7298c6e2f4d2d4a41c37a0c8af6acca', decimals: 18 }, defaultTokenThresholds),
51
- __assign({ name: 'WETH', address: '0x565810cbfa3cf1390963e5afa2fb953795686339', decimals: 18 }, defaultTokenThresholds),
52
- __assign({ name: 'WBTC', address: '0x1019958c2bd43b882a4e1349337a32ef9563fc4d', decimals: 8 }, defaultTokenThresholds),
61
+ __assign({ name: 'USDC', address: '0x8537307810fc40f4073a12a38554d4ff78efff41', decimals: 6, isRUSDUnderlying: true }, defaultTokenThresholds),
62
+ __assign({ name: 'USDT', address: '0x66dfb9987c36c4be232156e70b085f664367599a', decimals: 6, isRUSDUnderlying: false }, defaultTokenThresholds),
63
+ __assign({ name: 'DAI', address: '0x9a573b27d7298c6e2f4d2d4a41c37a0c8af6acca', decimals: 18, isRUSDUnderlying: false }, defaultTokenThresholds),
64
+ __assign({ name: 'WETH', address: '0x565810cbfa3cf1390963e5afa2fb953795686339', decimals: 18, isRUSDUnderlying: false }, defaultTokenThresholds),
65
+ __assign({ name: 'WBTC', address: '0x1019958c2bd43b882a4e1349337a32ef9563fc4d', decimals: 8, isRUSDUnderlying: false }, defaultTokenThresholds),
53
66
  ],
54
67
  _a[types_1.MoneyInOutChainId.opSepolia] = [
55
- __assign({ name: 'USDC', address: '0x6d290609b3f5f02d52f28d97c75a443ed8564cbf', decimals: 6 }, defaultTokenThresholds),
56
- __assign({ name: 'USDT', address: '0x2d1aba6fabae80bf5c1c9ea433aae9030e07cb22', decimals: 6 }, defaultTokenThresholds),
57
- __assign({ name: 'DAI', address: '0xdc0258dc3db980090e97ebf4f1fd9cc3c5ad5894', decimals: 18 }, defaultTokenThresholds),
58
- __assign({ name: 'WETH', address: '0x2b42affd4b7c14d9b7c2579229495c052672ccd3', decimals: 18 }, defaultTokenThresholds),
59
- __assign({ name: 'WBTC', address: '0xfc5cc93d85861ac82d89fc2d3e56315540e9c8a7', decimals: 8 }, defaultTokenThresholds),
68
+ __assign({ name: 'USDC', address: '0x6d290609b3f5f02d52f28d97c75a443ed8564cbf', decimals: 6, isRUSDUnderlying: true }, defaultTokenThresholds),
69
+ __assign({ name: 'USDT', address: '0x2d1aba6fabae80bf5c1c9ea433aae9030e07cb22', decimals: 6, isRUSDUnderlying: false }, defaultTokenThresholds),
70
+ __assign({ name: 'DAI', address: '0xdc0258dc3db980090e97ebf4f1fd9cc3c5ad5894', decimals: 18, isRUSDUnderlying: false }, defaultTokenThresholds),
71
+ __assign({ name: 'WETH', address: '0x2b42affd4b7c14d9b7c2579229495c052672ccd3', decimals: 18, isRUSDUnderlying: false }, defaultTokenThresholds),
72
+ __assign({ name: 'WBTC', address: '0xfc5cc93d85861ac82d89fc2d3e56315540e9c8a7', decimals: 8, isRUSDUnderlying: false }, defaultTokenThresholds),
60
73
  ],
61
74
  _a[types_1.MoneyInOutChainId.ethereumSepolia] = [
62
- __assign({ name: 'USDC', address: '0x565810cbfa3cf1390963e5afa2fb953795686339', decimals: 6 }, defaultTokenThresholds),
63
- __assign({ name: 'USDT', address: '0xb4130e87a180b9448286b291331aee8a9c154a3a', decimals: 6 }, defaultTokenThresholds),
64
- __assign({ name: 'DAI', address: '0x255745e5c7ae620b7f523f5e4a0ead37660ec5d6', decimals: 18 }, defaultTokenThresholds),
65
- __assign({ name: 'WETH', address: '0x771d1ae208377453d478df08bbc38034f72ac833', decimals: 18 }, defaultTokenThresholds),
66
- __assign({ name: 'WBTC', address: '0x94beff5da6201cb2c8f489196fd970b3df5aa32a', decimals: 8 }, defaultTokenThresholds),
75
+ __assign({ name: 'USDC', address: '0x565810cbfa3cf1390963e5afa2fb953795686339', decimals: 6, isRUSDUnderlying: true }, defaultTokenThresholds),
76
+ __assign({ name: 'USDT', address: '0xb4130e87a180b9448286b291331aee8a9c154a3a', decimals: 6, isRUSDUnderlying: false }, defaultTokenThresholds),
77
+ __assign({ name: 'DAI', address: '0x255745e5c7ae620b7f523f5e4a0ead37660ec5d6', decimals: 18, isRUSDUnderlying: false }, defaultTokenThresholds),
78
+ __assign({ name: 'WETH', address: '0x771d1ae208377453d478df08bbc38034f72ac833', decimals: 18, isRUSDUnderlying: false }, defaultTokenThresholds),
79
+ __assign({ name: 'WBTC', address: '0x94beff5da6201cb2c8f489196fd970b3df5aa32a', decimals: 8, isRUSDUnderlying: false }, defaultTokenThresholds),
67
80
  ],
68
81
  _a);
69
82
  //# sourceMappingURL=token-info.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-info.js","sourceRoot":"/","sources":["utils/token-info.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kCAAqE;AAErE,IAAM,sBAAsB,GAGxB;IACF,gBAAgB,EAAE,CAAC;IACnB,iBAAiB,EAAE,CAAC;IACpB,iBAAiB,EAAE,CAAC;CACrB,CAAC;AAEW,QAAA,UAAU;IAEnB,4DAA4D;IAC5D,4DAA4D;IAC5D,4DAA4D;IAC5D,GAAC,mBAAW,CAAC,WAAW,IAAG;IACzB,OAAO;KACR;IAED,4DAA4D;IAC5D,4DAA4D;IAC5D,4DAA4D;IAC5D,GAAC,mBAAW,CAAC,UAAU,IAAG;mBAEtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,4CAA4C,EACrD,QAAQ,EAAE,CAAC,IACR,sBAAsB;mBAGzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,4CAA4C,EACrD,QAAQ,EAAE,CAAC,IACR,sBAAsB;mBAGzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,4CAA4C,EACrD,QAAQ,EAAE,CAAC,IACR,sBAAsB;mBAGzB,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,4CAA4C,EACrD,QAAQ,EAAE,EAAE,IACT,sBAAsB;mBAGzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,4CAA4C,EACrD,QAAQ,EAAE,EAAE,IACT,sBAAsB;mBAGzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,4CAA4C,EACrD,QAAQ,EAAE,CAAC,IACR,sBAAsB;KAE5B;IACD,GAAC,yBAAiB,CAAC,aAAa,IAAG;mBAE/B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,4CAA4C,EACrD,QAAQ,EAAE,CAAC,IACR,sBAAsB;mBAGzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,4CAA4C,EACrD,QAAQ,EAAE,CAAC,IACR,sBAAsB;mBAGzB,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,4CAA4C,EACrD,QAAQ,EAAE,EAAE,IACT,sBAAsB;mBAGzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,4CAA4C,EACrD,QAAQ,EAAE,EAAE,IACT,sBAAsB;mBAGzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,4CAA4C,EACrD,QAAQ,EAAE,CAAC,IACR,sBAAsB;KAE5B;IACD,GAAC,yBAAiB,CAAC,eAAe,IAAG;mBAEjC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,4CAA4C,EACrD,QAAQ,EAAE,CAAC,IACR,sBAAsB;mBAGzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,4CAA4C,EACrD,QAAQ,EAAE,CAAC,IACR,sBAAsB;mBAGzB,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,4CAA4C,EACrD,QAAQ,EAAE,EAAE,IACT,sBAAsB;mBAGzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,4CAA4C,EACrD,QAAQ,EAAE,EAAE,IACT,sBAAsB;mBAGzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,4CAA4C,EACrD,QAAQ,EAAE,CAAC,IACR,sBAAsB;KAE5B;IACD,GAAC,yBAAiB,CAAC,SAAS,IAAG;mBAE3B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,4CAA4C,EACrD,QAAQ,EAAE,CAAC,IACR,sBAAsB;mBAGzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,4CAA4C,EACrD,QAAQ,EAAE,CAAC,IACR,sBAAsB;mBAGzB,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,4CAA4C,EACrD,QAAQ,EAAE,EAAE,IACT,sBAAsB;mBAGzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,4CAA4C,EACrD,QAAQ,EAAE,EAAE,IACT,sBAAsB;mBAGzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,4CAA4C,EACrD,QAAQ,EAAE,CAAC,IACR,sBAAsB;KAE5B;IACD,GAAC,yBAAiB,CAAC,eAAe,IAAG;mBAEjC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,4CAA4C,EACrD,QAAQ,EAAE,CAAC,IACR,sBAAsB;mBAGzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,4CAA4C,EACrD,QAAQ,EAAE,CAAC,IACR,sBAAsB;mBAGzB,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,4CAA4C,EACrD,QAAQ,EAAE,EAAE,IACT,sBAAsB;mBAGzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,4CAA4C,EACrD,QAAQ,EAAE,EAAE,IACT,sBAAsB;mBAGzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,4CAA4C,EACrD,QAAQ,EAAE,CAAC,IACR,sBAAsB;KAE5B;QACD","sourcesContent":["import { MoneyInOutChainId, ReyaChainId, TokenInfo } from '../types';\n\nconst defaultTokenThresholds: Pick<\n TokenInfo,\n 'minDepositAmount' | 'minWithdrawAmount' | 'minTransferAmount'\n> = {\n minDepositAmount: 1,\n minWithdrawAmount: 1,\n minTransferAmount: 1,\n};\n\nexport const TOKEN_INFO: Record<ReyaChainId | MoneyInOutChainId, TokenInfo[]> =\n {\n /* ------------------------------------------------------ */\n /* MAINNET */\n /* ------------------------------------------------------ */\n [ReyaChainId.reyaNetwork]: [\n // todo\n ],\n\n /* ------------------------------------------------------ */\n /* TESTNET */\n /* ------------------------------------------------------ */\n [ReyaChainId.reyaCronos]: [\n {\n name: 'RUSD',\n address: '0x26ee9dfb27f12990d90ec003af7c5e9c19ea2a4c',\n decimals: 6,\n ...defaultTokenThresholds,\n },\n {\n name: 'USDC',\n address: '0x1b700a40a0707dd5f0bc31cbc57d730558e5714d',\n decimals: 6,\n ...defaultTokenThresholds,\n },\n {\n name: 'USDT',\n address: '0x9ade781dacbd220f0161d98f496a2982b231a9d6',\n decimals: 6,\n ...defaultTokenThresholds,\n },\n {\n name: 'DAI',\n address: '0x733299259c45726ee1bfc9bd0deeba58e48a1853',\n decimals: 18,\n ...defaultTokenThresholds,\n },\n {\n name: 'WETH',\n address: '0xc123b7aeb9d2b2e8a035217d5c29e317c91842e2',\n decimals: 18,\n ...defaultTokenThresholds,\n },\n {\n name: 'WBTC',\n address: '0xd382e2f0df859ff9e82f963dcad1aaee939c5e4f',\n decimals: 8,\n ...defaultTokenThresholds,\n },\n ],\n [MoneyInOutChainId.polygonMumbai]: [\n {\n name: 'USDC',\n address: '0xd9edcc943ed9729b08e52bb1e110fe43d1930773',\n decimals: 6,\n ...defaultTokenThresholds,\n },\n {\n name: 'USDT',\n address: '0x4f8ecb190b9ef36113127d97c7f9300875b6563f',\n decimals: 6,\n ...defaultTokenThresholds,\n },\n {\n name: 'DAI',\n address: '0x35479b023e508ee9a7b533dbb5b516bb6875f937',\n decimals: 18,\n ...defaultTokenThresholds,\n },\n {\n name: 'WETH',\n address: '0x6c7a28f6ae2d245b0130520b112fa3544a06d9ae',\n decimals: 18,\n ...defaultTokenThresholds,\n },\n {\n name: 'WBTC',\n address: '0x92c7a51bd507736ac0dda48b5f35a4aad0c2bb4d',\n decimals: 8,\n ...defaultTokenThresholds,\n },\n ],\n [MoneyInOutChainId.arbitrumSepolia]: [\n {\n name: 'USDC',\n address: '0x8537307810fc40f4073a12a38554d4ff78efff41',\n decimals: 6,\n ...defaultTokenThresholds,\n },\n {\n name: 'USDT',\n address: '0x66dfb9987c36c4be232156e70b085f664367599a',\n decimals: 6,\n ...defaultTokenThresholds,\n },\n {\n name: 'DAI',\n address: '0x9a573b27d7298c6e2f4d2d4a41c37a0c8af6acca',\n decimals: 18,\n ...defaultTokenThresholds,\n },\n {\n name: 'WETH',\n address: '0x565810cbfa3cf1390963e5afa2fb953795686339',\n decimals: 18,\n ...defaultTokenThresholds,\n },\n {\n name: 'WBTC',\n address: '0x1019958c2bd43b882a4e1349337a32ef9563fc4d',\n decimals: 8,\n ...defaultTokenThresholds,\n },\n ],\n [MoneyInOutChainId.opSepolia]: [\n {\n name: 'USDC',\n address: '0x6d290609b3f5f02d52f28d97c75a443ed8564cbf',\n decimals: 6,\n ...defaultTokenThresholds,\n },\n {\n name: 'USDT',\n address: '0x2d1aba6fabae80bf5c1c9ea433aae9030e07cb22',\n decimals: 6,\n ...defaultTokenThresholds,\n },\n {\n name: 'DAI',\n address: '0xdc0258dc3db980090e97ebf4f1fd9cc3c5ad5894',\n decimals: 18,\n ...defaultTokenThresholds,\n },\n {\n name: 'WETH',\n address: '0x2b42affd4b7c14d9b7c2579229495c052672ccd3',\n decimals: 18,\n ...defaultTokenThresholds,\n },\n {\n name: 'WBTC',\n address: '0xfc5cc93d85861ac82d89fc2d3e56315540e9c8a7',\n decimals: 8,\n ...defaultTokenThresholds,\n },\n ],\n [MoneyInOutChainId.ethereumSepolia]: [\n {\n name: 'USDC',\n address: '0x565810cbfa3cf1390963e5afa2fb953795686339',\n decimals: 6,\n ...defaultTokenThresholds,\n },\n {\n name: 'USDT',\n address: '0xb4130e87a180b9448286b291331aee8a9c154a3a',\n decimals: 6,\n ...defaultTokenThresholds,\n },\n {\n name: 'DAI',\n address: '0x255745e5c7ae620b7f523f5e4a0ead37660ec5d6',\n decimals: 18,\n ...defaultTokenThresholds,\n },\n {\n name: 'WETH',\n address: '0x771d1ae208377453d478df08bbc38034f72ac833',\n decimals: 18,\n ...defaultTokenThresholds,\n },\n {\n name: 'WBTC',\n address: '0x94beff5da6201cb2c8f489196fd970b3df5aa32a',\n decimals: 8,\n ...defaultTokenThresholds,\n },\n ],\n };\n"]}
1
+ {"version":3,"file":"token-info.js","sourceRoot":"/","sources":["utils/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: 1,\n minWithdrawAmount: 1,\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 [MoneyInOutChainId.ethereumMainnet]: [\n {\n name: 'USDC',\n address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n },\n ],\n [MoneyInOutChainId.opMainnet]: [\n {\n name: 'USDC.E',\n address: '0x7f5c764cbc14f9669b88837ca1490cca17c31607',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n },\n ],\n [MoneyInOutChainId.polygonMainnet]: [\n {\n name: 'USDC.E',\n address: '0x2791bca1f2de4661ed88a30c99a7a9449aa84174',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n },\n ],\n [MoneyInOutChainId.arbitrumOne]: [\n {\n name: 'USDC.E',\n address: '0xff970a61a04b1ca14834a43f5de4533ebddb5cc8',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n },\n ],\n\n /* ------------------------------------------------------ */\n /* TESTNET */\n /* ------------------------------------------------------ */\n [ReyaChainId.reyaCronos]: [\n {\n name: 'RUSD',\n address: '0x26ee9dfb27f12990d90ec003af7c5e9c19ea2a4c',\n decimals: 6,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'USDC',\n address: '0x1b700a40a0707dd5f0bc31cbc57d730558e5714d',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'USDT',\n address: '0x9ade781dacbd220f0161d98f496a2982b231a9d6',\n decimals: 6,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'DAI',\n address: '0x733299259c45726ee1bfc9bd0deeba58e48a1853',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'WETH',\n address: '0xc123b7aeb9d2b2e8a035217d5c29e317c91842e2',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'WBTC',\n address: '0xd382e2f0df859ff9e82f963dcad1aaee939c5e4f',\n decimals: 8,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n ],\n [MoneyInOutChainId.polygonMumbai]: [\n {\n name: 'USDC',\n address: '0xd9edcc943ed9729b08e52bb1e110fe43d1930773',\n decimals: 6,\n isRUSDUnderlying: true,\n ...defaultTokenThresholds,\n },\n {\n name: 'USDT',\n address: '0x4f8ecb190b9ef36113127d97c7f9300875b6563f',\n decimals: 6,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'DAI',\n address: '0x35479b023e508ee9a7b533dbb5b516bb6875f937',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'WETH',\n address: '0x6c7a28f6ae2d245b0130520b112fa3544a06d9ae',\n decimals: 18,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'WBTC',\n address: '0x92c7a51bd507736ac0dda48b5f35a4aad0c2bb4d',\n decimals: 8,\n isRUSDUnderlying: false,\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: 'USDT',\n address: '0x66dfb9987c36c4be232156e70b085f664367599a',\n decimals: 6,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'DAI',\n address: '0x9a573b27d7298c6e2f4d2d4a41c37a0c8af6acca',\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 },\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: 'USDT',\n address: '0x2d1aba6fabae80bf5c1c9ea433aae9030e07cb22',\n decimals: 6,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'DAI',\n address: '0xdc0258dc3db980090e97ebf4f1fd9cc3c5ad5894',\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 },\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: 'USDT',\n address: '0xb4130e87a180b9448286b291331aee8a9c154a3a',\n decimals: 6,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n {\n name: 'DAI',\n address: '0x255745e5c7ae620b7f523f5e4a0ead37660ec5d6',\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 },\n {\n name: 'WBTC',\n address: '0x94beff5da6201cb2c8f489196fd970b3df5aa32a',\n decimals: 8,\n isRUSDUnderlying: false,\n ...defaultTokenThresholds,\n },\n ],\n };\n"]}
@@ -36,7 +36,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
36
  }
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.getERC20Balance = exports.getERC20Allowance = exports.getTokenInfosByChain = exports.getTokenInfoByName = exports.getTokenInfoByAddress = exports.convertToAddress = exports.getERC20TokenContract = exports.scale = exports.descale = void 0;
39
+ exports.getERC20Balance = exports.getERC20Allowance = exports.getRUSDUnderlying = exports.getTokenInfosByChain = exports.getTokenInfoByName = exports.getTokenInfoByAddress = exports.convertToAddress = exports.getERC20TokenContract = exports.scale = exports.descale = void 0;
40
40
  var ethers_1 = require("ethers");
41
41
  var ethers_2 = require("ethers");
42
42
  var token_info_1 = require("./token-info");
@@ -117,6 +117,14 @@ var getTokenInfosByChain = function (chainId) {
117
117
  return token_info_1.TOKEN_INFO[chainId];
118
118
  };
119
119
  exports.getTokenInfosByChain = getTokenInfosByChain;
120
+ var getRUSDUnderlying = function (chainId) {
121
+ var tokenInfo = token_info_1.TOKEN_INFO[chainId].find(function (tokenInfo) { return tokenInfo.isRUSDUnderlying === true; });
122
+ if (!tokenInfo) {
123
+ throw new Error("getRUSDUnderlying: no token info found [chain id ".concat(chainId, "]"));
124
+ }
125
+ return tokenInfo;
126
+ };
127
+ exports.getRUSDUnderlying = getRUSDUnderlying;
120
128
  var getERC20Allowance = function (_a) {
121
129
  var walletAddress = _a.walletAddress, tokenAddress = _a.tokenAddress, spenderAddress = _a.spenderAddress, subject = _a.subject;
122
130
  return __awaiter(void 0, void 0, void 0, function () {
@@ -1 +1 @@
1
- {"version":3,"file":"token.js","sourceRoot":"/","sources":["utils/token.ts"],"names":[],"mappings":"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","sourcesContent":["import { ethers } from 'ethers';\n\nimport { Contract, Signer } from 'ethers';\nimport { TOKEN_INFO } from './token-info';\nimport { exponentialBackoff } from './retry';\nimport {\n Address,\n GetERC20AllowanceParams,\n MoneyInOutChainId,\n ReyaChainId,\n TokenInfo,\n TokenName,\n} from '../types';\n\nexport const descale = (tokenDecimals: number) => {\n const f = (value: bigint) => {\n return Number(ethers.formatUnits(value.toString(), tokenDecimals));\n };\n\n return f;\n};\n\nexport const scale = (tokenDecimals: number): ((value: number) => bigint) => {\n return (value: number): bigint => {\n // Convert the number to a string\n const valueStr = value.toString();\n // Split the string into whole and fractional parts\n // eslint-disable-next-line prefer-const\n let [whole, fractional = ''] = valueStr.split('.');\n // Ensure the fractional part is the correct length, padding with zeros if necessary\n fractional = fractional\n .padEnd(tokenDecimals, '0')\n .substring(0, tokenDecimals);\n // Concatenate the whole part with the correctly length-limited fractional part\n const scaledValueStr = whole + fractional;\n // Convert the concatenated string to a BigInt, assuming it represents a value in wei (or equivalent smallest unit)\n // This is safe as we're not losing precision - just scaling the number to its smallest unit representation\n return BigInt(scaledValueStr);\n };\n};\n\nexport const getERC20TokenContract = (\n tokenAddress: string,\n subject: Signer,\n): Contract => {\n const abi: string[] = [\n `function approve(address, uint256) external returns (bool)`,\n `function balanceOf(address) external view returns (uint256)`,\n `function allowance(address,address) external view returns (uint256)`,\n `function approve(address,uint256) external returns (bool)`,\n ];\n\n const contract = new Contract(tokenAddress, abi, subject);\n\n return contract;\n};\n\nexport const convertToAddress = (str: string): Address => {\n return str.toLowerCase() as Address;\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 = 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 getERC20Allowance = async ({\n walletAddress,\n tokenAddress,\n spenderAddress,\n subject,\n}: GetERC20AllowanceParams): Promise<number> => {\n const tokenContract = getERC20TokenContract(tokenAddress, subject);\n const tokenInfo = getTokenInfoByAddress(tokenAddress);\n\n const allowance = await exponentialBackoff(() =>\n tokenContract.allowance(walletAddress, spenderAddress),\n );\n\n return BigInt(allowance) > scale(tokenInfo.decimals)(Number.MAX_SAFE_INTEGER)\n ? Number.MAX_SAFE_INTEGER\n : descale(tokenInfo.decimals)(allowance);\n};\n\nexport type GetERC20BalanceArgs = {\n tokenAddress: string;\n walletAddress: string;\n subject: Signer;\n};\n\nexport const getERC20Balance = async ({\n tokenAddress,\n walletAddress,\n subject,\n}: GetERC20BalanceArgs): Promise<number> => {\n const token = getERC20TokenContract(tokenAddress, subject);\n\n const tokenInfo = getTokenInfoByAddress(convertToAddress(tokenAddress));\n\n const currentBalance = await exponentialBackoff(() =>\n token.balanceOf(walletAddress),\n );\n\n return descale(tokenInfo.decimals)(currentBalance);\n};\n"]}
1
+ {"version":3,"file":"token.js","sourceRoot":"/","sources":["utils/token.ts"],"names":[],"mappings":"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","sourcesContent":["import { ethers } from 'ethers';\n\nimport { Contract, Signer } from 'ethers';\nimport { TOKEN_INFO } from './token-info';\nimport { exponentialBackoff } from './retry';\nimport {\n Address,\n GetERC20AllowanceParams,\n MoneyInOutChainId,\n ReyaChainId,\n TokenInfo,\n TokenName,\n} from '../types';\n\nexport const descale = (tokenDecimals: number) => {\n const f = (value: bigint) => {\n return Number(ethers.formatUnits(value.toString(), tokenDecimals));\n };\n\n return f;\n};\n\nexport const scale = (tokenDecimals: number): ((value: number) => bigint) => {\n return (value: number): bigint => {\n // Convert the number to a string\n const valueStr = value.toString();\n // Split the string into whole and fractional parts\n // eslint-disable-next-line prefer-const\n let [whole, fractional = ''] = valueStr.split('.');\n // Ensure the fractional part is the correct length, padding with zeros if necessary\n fractional = fractional\n .padEnd(tokenDecimals, '0')\n .substring(0, tokenDecimals);\n // Concatenate the whole part with the correctly length-limited fractional part\n const scaledValueStr = whole + fractional;\n // Convert the concatenated string to a BigInt, assuming it represents a value in wei (or equivalent smallest unit)\n // This is safe as we're not losing precision - just scaling the number to its smallest unit representation\n return BigInt(scaledValueStr);\n };\n};\n\nexport const getERC20TokenContract = (\n tokenAddress: string,\n subject: Signer,\n): Contract => {\n const abi: string[] = [\n `function approve(address, uint256) external returns (bool)`,\n `function balanceOf(address) external view returns (uint256)`,\n `function allowance(address,address) external view returns (uint256)`,\n `function approve(address,uint256) external returns (bool)`,\n ];\n\n const contract = new Contract(tokenAddress, abi, subject);\n\n return contract;\n};\n\nexport const convertToAddress = (str: string): Address => {\n return str.toLowerCase() as Address;\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 = 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 getRUSDUnderlying = (\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 `getRUSDUnderlying: no token info found [chain id ${chainId}]`,\n );\n }\n\n return tokenInfo;\n};\n\nexport const getERC20Allowance = async ({\n walletAddress,\n tokenAddress,\n spenderAddress,\n subject,\n}: GetERC20AllowanceParams): Promise<number> => {\n const tokenContract = getERC20TokenContract(tokenAddress, subject);\n const tokenInfo = getTokenInfoByAddress(tokenAddress);\n\n const allowance = await exponentialBackoff(() =>\n tokenContract.allowance(walletAddress, spenderAddress),\n );\n\n return BigInt(allowance) > scale(tokenInfo.decimals)(Number.MAX_SAFE_INTEGER)\n ? Number.MAX_SAFE_INTEGER\n : descale(tokenInfo.decimals)(allowance);\n};\n\nexport type GetERC20BalanceArgs = {\n tokenAddress: string;\n walletAddress: string;\n subject: Signer;\n};\n\nexport const getERC20Balance = async ({\n tokenAddress,\n walletAddress,\n subject,\n}: GetERC20BalanceArgs): Promise<number> => {\n const token = getERC20TokenContract(tokenAddress, subject);\n\n const tokenInfo = getTokenInfoByAddress(convertToAddress(tokenAddress));\n\n const currentBalance = await exponentialBackoff(() =>\n token.balanceOf(walletAddress),\n );\n\n return descale(tokenInfo.decimals)(currentBalance);\n};\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reyaxyz/common",
3
- "version": "0.65.0",
3
+ "version": "0.66.1",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org"
@@ -42,5 +42,5 @@
42
42
  "generate:coverage-badges": "npx istanbul-badges-readme --silent"
43
43
  },
44
44
  "packageManager": "pnpm@8.10.4",
45
- "gitHead": "2f5dd7c59e9a3f247acd87aa80ebb30a97e06791"
45
+ "gitHead": "3fdb789141374d425db31abd19a3fab14936db20"
46
46
  }
@@ -1,13 +1,18 @@
1
1
  import { ReyaChainId, MoneyInOutChainId } from '../types';
2
2
 
3
3
  export const getAllowedChainsForMoneyInOut = ({
4
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
5
4
  destinationChainId,
6
5
  }: {
7
6
  destinationChainId: ReyaChainId;
8
7
  }): MoneyInOutChainId[] => {
9
- // todo: mainnet
10
- if (destinationChainId === ReyaChainId.reyaCronos) {
8
+ if (destinationChainId === ReyaChainId.reyaNetwork) {
9
+ return [
10
+ MoneyInOutChainId.ethereumMainnet,
11
+ MoneyInOutChainId.arbitrumOne,
12
+ MoneyInOutChainId.polygonMainnet,
13
+ MoneyInOutChainId.opMainnet,
14
+ ];
15
+ } else if (destinationChainId === ReyaChainId.reyaCronos) {
11
16
  return [
12
17
  MoneyInOutChainId.polygonMumbai,
13
18
  MoneyInOutChainId.arbitrumSepolia,
@@ -1,6 +1,12 @@
1
1
  import { MoneyInOutChainId, TokenEntity } from '../types';
2
2
 
3
3
  const nativeToken: Record<MoneyInOutChainId, TokenEntity['id']> = {
4
+ // mainnet
5
+ [MoneyInOutChainId.ethereumMainnet]: 'eth',
6
+ [MoneyInOutChainId.opMainnet]: 'eth',
7
+ [MoneyInOutChainId.polygonMainnet]: 'matic',
8
+ [MoneyInOutChainId.arbitrumOne]: 'eth',
9
+ // testnet
4
10
  [MoneyInOutChainId.polygonMumbai]: 'matic',
5
11
  [MoneyInOutChainId.arbitrumSepolia]: 'eth',
6
12
  [MoneyInOutChainId.opSepolia]: 'eth',
@@ -12,6 +12,7 @@ import { getReyaNetworkFromMoneyInOutChainId } from '../utils/network';
12
12
  import { convertToAddress } from '../utils/token';
13
13
 
14
14
  import * as REYA_CRONOS from '../utils/socket/reyaCronos.json';
15
+ import * as REYA_NETWORK from '../utils/socket/reyaNetwork.json';
15
16
 
16
17
  type SocketDeploymentAddresses = {
17
18
  [chain in ReyaChainId | MoneyInOutChainId]?: SocketChainAddresses;
@@ -62,7 +63,7 @@ const getSocketDeploymentJSON = (
62
63
  ): SocketDeploymentAddresses => {
63
64
  switch (reyaChainId) {
64
65
  case ReyaChainId.reyaNetwork:
65
- throw new Error('getSocketDeploymentJSON unsupported chain id');
66
+ return REYA_NETWORK;
66
67
  case ReyaChainId.reyaCronos:
67
68
  return REYA_CRONOS;
68
69
  }
@@ -5,17 +5,31 @@ import {
5
5
  } from '../types';
6
6
 
7
7
  const socketFees: Record<MoneyInOutChainId, GetSocketBridgeTimeResult> = {
8
+ // mainnet
9
+ [MoneyInOutChainId.ethereumMainnet]: {
10
+ bridgeTimeInMS: 3 * 60 * 1000,
11
+ },
12
+ [MoneyInOutChainId.opMainnet]: {
13
+ bridgeTimeInMS: 3 * 60 * 1000,
14
+ },
15
+ [MoneyInOutChainId.polygonMainnet]: {
16
+ bridgeTimeInMS: 3 * 60 * 1000,
17
+ },
18
+ [MoneyInOutChainId.arbitrumOne]: {
19
+ bridgeTimeInMS: 3 * 60 * 1000,
20
+ },
21
+ // testnet
8
22
  [MoneyInOutChainId.polygonMumbai]: {
9
- bridgeTimeInMS: 15 * 60 * 1000,
23
+ bridgeTimeInMS: 55 * 60 * 1000,
10
24
  },
11
25
  [MoneyInOutChainId.arbitrumSepolia]: {
12
- bridgeTimeInMS: 15 * 60 * 1000,
26
+ bridgeTimeInMS: 5 * 60 * 1000,
13
27
  },
14
28
  [MoneyInOutChainId.opSepolia]: {
15
- bridgeTimeInMS: 15 * 60 * 1000,
29
+ bridgeTimeInMS: 5 * 60 * 1000,
16
30
  },
17
31
  [MoneyInOutChainId.ethereumSepolia]: {
18
- bridgeTimeInMS: 15 * 60 * 1000,
32
+ bridgeTimeInMS: 5 * 60 * 1000,
19
33
  },
20
34
  };
21
35
 
@@ -8,6 +8,12 @@ import { getNativeToken } from './getNativeToken';
8
8
 
9
9
  // @todo update with mainnet values
10
10
  const socketDepositFees: Record<MoneyInOutChainId, bigint> = {
11
+ // mainnet
12
+ [MoneyInOutChainId.ethereumMainnet]: BigInt(3422324293549200), // 2281549529032800 * 1.5
13
+ [MoneyInOutChainId.opMainnet]: BigInt(130964418509915), // 87309612339943 * 1.5
14
+ [MoneyInOutChainId.polygonMainnet]: BigInt(18671288892048000), // 12447525928032000 * 1.5
15
+ [MoneyInOutChainId.arbitrumOne]: BigInt(4052061000000), // 2701374000000 * 1.5
16
+ // testnet
11
17
  [MoneyInOutChainId.polygonMumbai]: BigInt(79721),
12
18
  [MoneyInOutChainId.arbitrumSepolia]: BigInt(217574),
13
19
  [MoneyInOutChainId.opSepolia]: BigInt(104026208000),
package/src/types.ts CHANGED
@@ -36,6 +36,12 @@ export enum ReyaChainId {
36
36
  }
37
37
 
38
38
  export enum MoneyInOutChainId {
39
+ // mainnet
40
+ ethereumMainnet = 1,
41
+ opMainnet = 10,
42
+ polygonMainnet = 137,
43
+ arbitrumOne = 42161,
44
+ // testnet
39
45
  polygonMumbai = 80001,
40
46
  arbitrumSepolia = 421614,
41
47
  opSepolia = 11155420,
@@ -516,6 +522,7 @@ export type TokenInfo = {
516
522
  name: TokenName;
517
523
  address: Address;
518
524
  decimals: number;
525
+ isRUSDUnderlying: boolean;
519
526
  minDepositAmount: number;
520
527
  minWithdrawAmount: number;
521
528
  minTransferAmount: number;
@@ -11,6 +11,14 @@ export function getReyaNetworkFromMoneyInOutChainId(
11
11
  moneyInOutChainId: MoneyInOutChainId,
12
12
  ): ReyaChainId {
13
13
  switch (moneyInOutChainId) {
14
+ // mainnet
15
+ case MoneyInOutChainId.ethereumMainnet:
16
+ case MoneyInOutChainId.opMainnet:
17
+ case MoneyInOutChainId.polygonMainnet:
18
+ case MoneyInOutChainId.arbitrumOne:
19
+ return getReyaNetwork('production');
20
+
21
+ // testnet
14
22
  case MoneyInOutChainId.polygonMumbai:
15
23
  case MoneyInOutChainId.arbitrumSepolia:
16
24
  case MoneyInOutChainId.opSepolia:
@@ -0,0 +1,154 @@
1
+ {
2
+ "1": {
3
+ "USDC": {
4
+ "isAppChain": false,
5
+ "NonMintableToken": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
6
+ "Vault": "0xdff78a949e47c1e90f3dd6dd7fe2fa72b42a75f7",
7
+ "ExecutionHelper": "0x96FEf44d041FC6B2666cBbC86cABCEF4E5ae3b0B",
8
+ "LimitExecutionHook": "0x4fB274909ffeEf635270915a729dC40500c7260B",
9
+ "connectors": {
10
+ "1729": {
11
+ "FAST": "0x2Dba37E679358125BaB2132dDF5133d7d66F7D06"
12
+ }
13
+ }
14
+ },
15
+ "USDT": {
16
+ "isAppChain": false
17
+ },
18
+ "DAI": {
19
+ "isAppChain": false
20
+ },
21
+ "WETH": {
22
+ "isAppChain": false
23
+ },
24
+ "WBTC": {
25
+ "isAppChain": false
26
+ }
27
+ },
28
+ "10": {
29
+ "USDC.E": {
30
+ "isAppChain": false,
31
+ "NonMintableToken": "0x7f5c764cbc14f9669b88837ca1490cca17c31607",
32
+ "Vault": "0x9239609eED7c40C6DDcEC25D247Ef205103590B6",
33
+ "ExecutionHelper": "0x4229dddF42B1D05eA0FD4625df5094968b67e528",
34
+ "LimitExecutionHook": "0xf4EeA99899423abcAAf3C36BB0deD334C58cD014",
35
+ "connectors": {
36
+ "1729": {
37
+ "FAST": "0x6190855f54DeB642c410A2d642A993D454083736"
38
+ }
39
+ }
40
+ },
41
+ "USDT": {
42
+ "isAppChain": false
43
+ },
44
+ "DAI": {
45
+ "isAppChain": false
46
+ },
47
+ "WETH": {
48
+ "isAppChain": false
49
+ },
50
+ "WBTC": {
51
+ "isAppChain": false
52
+ }
53
+ },
54
+ "137": {
55
+ "USDC.E": {
56
+ "isAppChain": false,
57
+ "NonMintableToken": "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
58
+ "Vault": "0xC0acBb471465FCf848746D1837d8358aB891546c",
59
+ "ExecutionHelper": "0xdD4c717a69763176d8B7A687728e228597eAB86d",
60
+ "LimitExecutionHook": "0x27f4B23944e2bb59b1E276aff22FD2Be45658F64",
61
+ "connectors": {
62
+ "1729": {
63
+ "FAST": "0xE5967877065f111a556850d8f05b8DaD88edCEc9"
64
+ }
65
+ }
66
+ },
67
+ "USDT": {
68
+ "isAppChain": false
69
+ },
70
+ "DAI": {
71
+ "isAppChain": false
72
+ },
73
+ "WETH": {
74
+ "isAppChain": false
75
+ },
76
+ "WBTC": {
77
+ "isAppChain": false
78
+ }
79
+ },
80
+ "42161": {
81
+ "USDC.E": {
82
+ "isAppChain": false,
83
+ "NonMintableToken": "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",
84
+ "Vault": "0xa0E9B6DA89BD0303A8163B81B8702388bE0Fde77",
85
+ "ExecutionHelper": "0xA9D0c013Ef86Bf49dD7240a6a01FC9064d7025e8",
86
+ "LimitExecutionHook": "0x65f258263aCc0857C3eeE77c2E997D6ff99B8132",
87
+ "connectors": {
88
+ "1729": {
89
+ "FAST": "0xE0A298922F14aD230218218E75860E9FE4c0B55c"
90
+ }
91
+ }
92
+ },
93
+ "USDT": {
94
+ "isAppChain": false
95
+ },
96
+ "DAI": {
97
+ "isAppChain": false
98
+ },
99
+ "WETH": {
100
+ "isAppChain": false
101
+ },
102
+ "WBTC": {
103
+ "isAppChain": false
104
+ }
105
+ },
106
+ "1729": {
107
+ "USDC.E": {
108
+ "isAppChain": true,
109
+ "MintableToken": "0x3B860c0b53f2e8bd5264AA7c3451d41263C933F2",
110
+ "Controller": "0x1d43076909Ca139BFaC4EbB7194518bE3638fc76",
111
+ "ExecutionHelper": "0x9ca48cAF8AD2B081a0b633d6FCD803076F719fEa",
112
+ "LimitExecutionHook": "0x0f933F6a58D885586d356d6677DC87995bdC1B51",
113
+ "connectors": {
114
+ "10": {
115
+ "FAST": "0xe48AE3B68f0560d4aaA312E12fD687630C948561"
116
+ },
117
+ "137": {
118
+ "FAST": "0x54CAA0946dA179425e1abB169C020004284d64D3"
119
+ },
120
+ "42161": {
121
+ "FAST": "0x663dc7E91157c58079f55C1BF5ee1BdB6401Ca7a"
122
+ }
123
+ }
124
+ },
125
+ "USDC": {
126
+ "isAppChain": true,
127
+ "MintableToken": "0x3B860c0b53f2e8bd5264AA7c3451d41263C933F2",
128
+ "Controller": "0x1d43076909Ca139BFaC4EbB7194518bE3638fc76",
129
+ "ExecutionHelper": "0x9ca48cAF8AD2B081a0b633d6FCD803076F719fEa",
130
+ "LimitExecutionHook": "0x0f933F6a58D885586d356d6677DC87995bdC1B51",
131
+ "connectors": {
132
+ "1": {
133
+ "FAST": "0x807B2e8724cDf346c87EEFF4E309bbFCb8681eC1"
134
+ }
135
+ }
136
+ },
137
+ "USDT": {
138
+ "isAppChain": true,
139
+ "MintableToken": ""
140
+ },
141
+ "DAI": {
142
+ "isAppChain": true,
143
+ "MintableToken": ""
144
+ },
145
+ "WETH": {
146
+ "isAppChain": true,
147
+ "MintableToken": ""
148
+ },
149
+ "WBTC": {
150
+ "isAppChain": true,
151
+ "MintableToken": ""
152
+ }
153
+ }
154
+ }