@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.
- package/README.md +1 -1
- package/dist/services/getAllowedChainsForMoneyInOut.js +10 -5
- package/dist/services/getAllowedChainsForMoneyInOut.js.map +1 -1
- package/dist/services/getNativeToken.js +6 -0
- package/dist/services/getNativeToken.js.map +1 -1
- package/dist/services/getSocketAddresses.js +2 -1
- package/dist/services/getSocketAddresses.js.map +1 -1
- package/dist/services/getSocketBridgeTime.js +18 -4
- package/dist/services/getSocketBridgeTime.js.map +1 -1
- package/dist/services/getSocketDepositFees.js +6 -0
- package/dist/services/getSocketDepositFees.js.map +1 -1
- package/dist/types/services/getAllowedChainsForMoneyInOut.d.ts.map +1 -1
- package/dist/types/services/getNativeToken.d.ts.map +1 -1
- package/dist/types/services/getSocketAddresses.d.ts.map +1 -1
- package/dist/types/services/getSocketBridgeTime.d.ts.map +1 -1
- package/dist/types/services/getSocketDepositFees.d.ts.map +1 -1
- package/dist/types/types.d.ts +5 -0
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/utils/network.d.ts.map +1 -1
- package/dist/types/utils/token-info.d.ts.map +1 -1
- package/dist/types/utils/token.d.ts +1 -0
- package/dist/types/utils/token.d.ts.map +1 -1
- package/dist/types.js +6 -0
- package/dist/types.js.map +1 -1
- package/dist/utils/network.js +7 -0
- package/dist/utils/network.js.map +1 -1
- package/dist/utils/socket/reyaNetwork.json +154 -0
- package/dist/utils/token-info.js +40 -27
- package/dist/utils/token-info.js.map +1 -1
- package/dist/utils/token.js +9 -1
- package/dist/utils/token.js.map +1 -1
- package/package.json +2 -2
- package/src/services/getAllowedChainsForMoneyInOut.ts +8 -3
- package/src/services/getNativeToken.ts +6 -0
- package/src/services/getSocketAddresses.ts +2 -1
- package/src/services/getSocketBridgeTime.ts +18 -4
- package/src/services/getSocketDepositFees.ts +6 -0
- package/src/types.ts +7 -0
- package/src/utils/network.ts +8 -0
- package/src/utils/socket/reyaNetwork.json +154 -0
- package/src/utils/token-info.ts +76 -1
- package/src/utils/token.ts +16 -0
package/dist/utils/token-info.js
CHANGED
|
@@ -24,46 +24,59 @@ exports.TOKEN_INFO = (_a = {},
|
|
|
24
24
|
/* MAINNET */
|
|
25
25
|
/* ------------------------------------------------------ */
|
|
26
26
|
_a[types_1.ReyaChainId.reyaNetwork] = [
|
|
27
|
-
|
|
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":"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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 // 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"]}
|
package/dist/utils/token.js
CHANGED
|
@@ -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 () {
|
package/dist/utils/token.js.map
CHANGED
|
@@ -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.
|
|
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": "
|
|
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
|
-
|
|
10
|
-
|
|
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
|
-
|
|
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:
|
|
23
|
+
bridgeTimeInMS: 55 * 60 * 1000,
|
|
10
24
|
},
|
|
11
25
|
[MoneyInOutChainId.arbitrumSepolia]: {
|
|
12
|
-
bridgeTimeInMS:
|
|
26
|
+
bridgeTimeInMS: 5 * 60 * 1000,
|
|
13
27
|
},
|
|
14
28
|
[MoneyInOutChainId.opSepolia]: {
|
|
15
|
-
bridgeTimeInMS:
|
|
29
|
+
bridgeTimeInMS: 5 * 60 * 1000,
|
|
16
30
|
},
|
|
17
31
|
[MoneyInOutChainId.ethereumSepolia]: {
|
|
18
|
-
bridgeTimeInMS:
|
|
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;
|
package/src/utils/network.ts
CHANGED
|
@@ -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
|
+
}
|