@reyaxyz/sdk 0.69.2 → 0.70.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.
package/README.md CHANGED
@@ -6,5 +6,5 @@
6
6
 
7
7
  | Statements | Branches | Functions | Lines |
8
8
  | --------------------------- | ----------------------- | ------------------------- | ----------------- |
9
- | ![Statements](https://img.shields.io/badge/statements-12.75%25-red.svg?style=flat) | ![Branches](https://img.shields.io/badge/branches-9.45%25-red.svg?style=flat) | ![Functions](https://img.shields.io/badge/functions-13.04%25-red.svg?style=flat) | ![Lines](https://img.shields.io/badge/lines-12.07%25-red.svg?style=flat) |
9
+ | ![Statements](https://img.shields.io/badge/statements-12.36%25-red.svg?style=flat) | ![Branches](https://img.shields.io/badge/branches-9.45%25-red.svg?style=flat) | ![Functions](https://img.shields.io/badge/functions-12.16%25-red.svg?style=flat) | ![Lines](https://img.shields.io/badge/lines-11.69%25-red.svg?style=flat) |
10
10
 
@@ -1,4 +1,15 @@
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
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
14
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
15
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -36,7 +47,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
47
  }
37
48
  };
38
49
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.getBalancesForBridge = exports.getBalanceByTokenAddress = void 0;
50
+ exports.getBalancesForBridgeMA = exports.getBalancesForBridgeLP = exports.getBalanceByTokenAddress = void 0;
40
51
  var common_1 = require("@reyaxyz/common");
41
52
  var ethers_1 = require("ethers");
42
53
  var config_1 = require("../../config");
@@ -60,7 +71,7 @@ var getBalanceByTokenAddress = function (_a) {
60
71
  });
61
72
  };
62
73
  exports.getBalanceByTokenAddress = getBalanceByTokenAddress;
63
- var getBalancesForBridge = function (_a) {
74
+ var getBalancesForBridgeLP = function (_a) {
64
75
  var walletAddress = _a.walletAddress;
65
76
  return __awaiter(void 0, void 0, void 0, function () {
66
77
  var chains, balancePromises, balancesArray, balances;
@@ -82,7 +93,7 @@ var getBalancesForBridge = function (_a) {
82
93
  })];
83
94
  case 1:
84
95
  balance = _a.sent();
85
- return [2 /*return*/, { chain: chain, balance: balance }];
96
+ return [2 /*return*/, { chain: chain, tokenInfo: tokenInfo, balance: balance }];
86
97
  }
87
98
  });
88
99
  }); });
@@ -90,8 +101,62 @@ var getBalancesForBridge = function (_a) {
90
101
  case 1:
91
102
  balancesArray = _b.sent();
92
103
  balances = balancesArray.reduce(function (acc, _a) {
93
- var chain = _a.chain, balance = _a.balance;
94
- acc[chain] = balance;
104
+ var chain = _a.chain, tokenInfo = _a.tokenInfo, balance = _a.balance;
105
+ acc[chain] = {
106
+ tokenEntity: {
107
+ name: tokenInfo.name,
108
+ address: tokenInfo.address,
109
+ },
110
+ balance: balance,
111
+ };
112
+ return acc;
113
+ }, {});
114
+ return [2 /*return*/, balances];
115
+ }
116
+ });
117
+ });
118
+ };
119
+ exports.getBalancesForBridgeLP = getBalancesForBridgeLP;
120
+ var getBalancesForBridgeMA = function (_a) {
121
+ var walletAddress = _a.walletAddress;
122
+ return __awaiter(void 0, void 0, void 0, function () {
123
+ var moneyInOutChainIds, balancePromises, balancesArray, balances;
124
+ return __generator(this, function (_b) {
125
+ switch (_b.label) {
126
+ case 0:
127
+ moneyInOutChainIds = (0, common_1.getMoneyInOutNetworks)((0, config_1.getSdkEnvironment)());
128
+ balancePromises = moneyInOutChainIds
129
+ .map(function (moneyInOutChainId) {
130
+ var provider = ethers_1.ethers.getDefaultProvider(common_1.ChainRpcUrls[moneyInOutChainId]);
131
+ var tokenInfos = (0, common_1.getTokenInfosByChain)(moneyInOutChainId);
132
+ return tokenInfos.map(function (tokenInfo) { return __awaiter(void 0, void 0, void 0, function () {
133
+ var balance;
134
+ return __generator(this, function (_a) {
135
+ switch (_a.label) {
136
+ case 0: return [4 /*yield*/, (0, common_1.getERC20Balance)({
137
+ tokenAddress: tokenInfo.address,
138
+ walletAddress: walletAddress,
139
+ subject: provider,
140
+ })];
141
+ case 1:
142
+ balance = _a.sent();
143
+ return [2 /*return*/, {
144
+ chain: moneyInOutChainId,
145
+ tokenName: tokenInfo.name,
146
+ balance: balance,
147
+ }];
148
+ }
149
+ });
150
+ }); });
151
+ })
152
+ .reduce(function (acc, value) { return acc.concat(value); }, []);
153
+ return [4 /*yield*/, Promise.all(balancePromises)];
154
+ case 1:
155
+ balancesArray = _b.sent();
156
+ balances = balancesArray.reduce(function (acc, _a) {
157
+ var _b;
158
+ var chain = _a.chain, tokenName = _a.tokenName, balance = _a.balance;
159
+ acc[chain] = __assign(__assign({}, acc[chain]), (_b = {}, _b[tokenName] = balance, _b));
95
160
  return acc;
96
161
  }, {});
97
162
  return [2 /*return*/, balances];
@@ -99,5 +164,5 @@ var getBalancesForBridge = function (_a) {
99
164
  });
100
165
  });
101
166
  };
102
- exports.getBalancesForBridge = getBalancesForBridge;
167
+ exports.getBalancesForBridgeMA = getBalancesForBridgeMA;
103
168
  //# sourceMappingURL=getBalanceByTokenAddress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getBalanceByTokenAddress.js","sourceRoot":"/","sources":["services/token/getBalanceByTokenAddress.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,0CAOyB;AACzB,iCAAgC;AAChC,uCAAiD;AAE1C,IAAM,wBAAwB,GAAG,UAAO,EAGd;QAF/B,MAAM,YAAA,EACN,YAAY,kBAAA;;;;;wBAEU,qBAAM,MAAM,CAAC,UAAU,EAAE,EAAA;;oBAAzC,aAAa,GAAG,SAAyB;oBACxC,qBAAM,IAAA,wBAAe,EAAC;4BAC3B,aAAa,eAAA;4BACb,OAAO,EAAE,MAAM;4BACf,YAAY,EAAE,YAAY;yBAC3B,CAAC,EAAA;wBAJF,sBAAO,SAIL,EAAC;;;;CACJ,CAAC;AAVW,QAAA,wBAAwB,4BAUnC;AAEK,IAAM,oBAAoB,GAAG,UAAO,EAEhB;QADzB,aAAa,mBAAA;;;;;;oBAEP,MAAM,GAAwB,IAAA,8BAAqB,EACvD,IAAA,0BAAiB,GAA2B,CAC7C,CAAC;oBAGI,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,UAAO,KAAK;;;;;oCACvC,SAAS,GAAG,IAAA,mCAA0B,EAAC,KAAK,CAAC,CAAC;oCAC9C,QAAQ,GAAG,eAAM,CAAC,kBAAkB,CAAC,qBAAY,CAAC,KAAK,CAAC,CAAC,CAAC;oCAChD,qBAAM,IAAA,wBAAe,EAAC;4CACpC,YAAY,EAAE,SAAS,CAAC,OAAO;4CAC/B,aAAa,EAAE,aAAa;4CAC5B,OAAO,EAAE,QAAQ;yCAClB,CAAC,EAAA;;oCAJI,OAAO,GAAG,SAId;oCAEF,sBAAO,EAAE,KAAK,OAAA,EAAE,OAAO,SAAA,EAAE,EAAC;;;yBAC3B,CAAC,CAAC;oBAEmB,qBAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAA;;oBAAlD,aAAa,GAAG,SAAkC;oBAElD,QAAQ,GAAG,aAAa,CAAC,MAAM,CAElC,UAAC,GAAG,EAAE,EAAkB;4BAAhB,KAAK,WAAA,EAAE,OAAO,aAAA;wBACvB,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;wBACrB,OAAO,GAAG,CAAC;oBACb,CAAC,EAAE,EAAE,CAAC,CAAC;oBAEP,sBAAO,QAAQ,EAAC;;;;CACjB,CAAC;AA9BW,QAAA,oBAAoB,wBA8B/B","sourcesContent":["import { GetBalanceByTokenAddressParams } from './types';\nimport {\n getERC20Balance,\n ChainRpcUrls,\n GetBalancesForBridgeArgs,\n getMoneyInOutNetworks,\n getRUSDUnderlyingTokenInfo,\n MoneyInOutChainId,\n} from '@reyaxyz/common';\nimport { ethers } from 'ethers';\nimport { getSdkEnvironment } from '../../config';\n\nexport const getBalanceByTokenAddress = async ({\n signer,\n tokenAddress,\n}: GetBalanceByTokenAddressParams): Promise<number> => {\n const walletAddress = await signer.getAddress();\n return await getERC20Balance({\n walletAddress,\n subject: signer,\n tokenAddress: tokenAddress,\n });\n};\n\nexport const getBalancesForBridge = async ({\n walletAddress,\n}: GetBalancesForBridgeArgs): Promise<{ [chainId: string]: number }> => {\n const chains: MoneyInOutChainId[] = getMoneyInOutNetworks(\n getSdkEnvironment() as 'production' | 'test',\n );\n\n // Use Promise.all to fetch balances for all chains in parallel\n const balancePromises = chains.map(async (chain) => {\n const tokenInfo = getRUSDUnderlyingTokenInfo(chain);\n const provider = ethers.getDefaultProvider(ChainRpcUrls[chain]);\n const balance = await getERC20Balance({\n tokenAddress: tokenInfo.address,\n walletAddress: walletAddress,\n subject: provider,\n });\n\n return { chain, balance };\n });\n\n const balancesArray = await Promise.all(balancePromises);\n\n const balances = balancesArray.reduce<{\n [key in MoneyInOutChainId]?: number;\n }>((acc, { chain, balance }) => {\n acc[chain] = balance;\n return acc;\n }, {});\n\n return balances;\n};\n"]}
1
+ {"version":3,"file":"getBalanceByTokenAddress.js","sourceRoot":"/","sources":["services/token/getBalanceByTokenAddress.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n GetBalanceByTokenAddressParams,\n GetBalancesForBridgeLPResult,\n GetBalancesForBridgeMAResult,\n LPBalanceInfo,\n MABalanceInfo,\n} from './types';\nimport {\n getERC20Balance,\n ChainRpcUrls,\n GetBalancesForBridgeArgs,\n getMoneyInOutNetworks,\n getRUSDUnderlyingTokenInfo,\n MoneyInOutChainId,\n getTokenInfosByChain,\n} from '@reyaxyz/common';\nimport { ethers } from 'ethers';\nimport { getSdkEnvironment } from '../../config';\n\nexport const getBalanceByTokenAddress = async ({\n signer,\n tokenAddress,\n}: GetBalanceByTokenAddressParams): Promise<number> => {\n const walletAddress = await signer.getAddress();\n return await getERC20Balance({\n walletAddress,\n subject: signer,\n tokenAddress: tokenAddress,\n });\n};\n\nexport const getBalancesForBridgeLP = async ({\n walletAddress,\n}: GetBalancesForBridgeArgs): Promise<GetBalancesForBridgeLPResult> => {\n const chains: MoneyInOutChainId[] = getMoneyInOutNetworks(\n getSdkEnvironment() as 'production' | 'test',\n );\n\n // Use Promise.all to fetch balances for all chains in parallel\n const balancePromises = chains.map(async (chain) => {\n const tokenInfo = getRUSDUnderlyingTokenInfo(chain);\n const provider = ethers.getDefaultProvider(ChainRpcUrls[chain]);\n const balance = await getERC20Balance({\n tokenAddress: tokenInfo.address,\n walletAddress: walletAddress,\n subject: provider,\n });\n\n return { chain, tokenInfo, balance };\n });\n\n const balancesArray = await Promise.all(balancePromises);\n\n const balances = balancesArray.reduce<{\n [key in MoneyInOutChainId]?: LPBalanceInfo;\n }>((acc, { chain, tokenInfo, balance }) => {\n acc[chain] = {\n tokenEntity: {\n name: tokenInfo.name,\n address: tokenInfo.address,\n },\n balance: balance,\n };\n return acc;\n }, {});\n\n return balances;\n};\n\nexport const getBalancesForBridgeMA = async ({\n walletAddress,\n}: GetBalancesForBridgeArgs): Promise<GetBalancesForBridgeMAResult> => {\n const moneyInOutChainIds: MoneyInOutChainId[] = getMoneyInOutNetworks(\n getSdkEnvironment() as 'production' | 'test',\n );\n\n const balancePromises = moneyInOutChainIds\n .map((moneyInOutChainId) => {\n const provider = ethers.getDefaultProvider(\n ChainRpcUrls[moneyInOutChainId],\n );\n\n const tokenInfos = getTokenInfosByChain(moneyInOutChainId);\n return tokenInfos.map(async (tokenInfo) => {\n const balance = await getERC20Balance({\n tokenAddress: tokenInfo.address,\n walletAddress: walletAddress,\n subject: provider,\n });\n\n return {\n chain: moneyInOutChainId,\n tokenName: tokenInfo.name,\n balance: balance,\n };\n });\n })\n .reduce((acc, value) => acc.concat(value), []);\n\n const balancesArray = await Promise.all(balancePromises);\n\n const balances = balancesArray.reduce<{\n [key in MoneyInOutChainId]?: MABalanceInfo;\n }>((acc, { chain, tokenName, balance }) => {\n acc[chain] = {\n ...acc[chain],\n [tokenName]: balance,\n };\n\n return acc;\n }, {});\n\n return balances;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"/","sources":["services/token/types.ts"],"names":[],"mappings":";;;AAGA,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,2CAAE,CAAA;IACF,qDAAO,CAAA;IACP,mDAAM,CAAA;AACR,CAAC,EAJW,YAAY,4BAAZ,YAAY,QAIvB","sourcesContent":["import { JsonRpcSigner, Signer } from 'ethers';\nimport { TokenEntity } from '@reyaxyz/common';\n\nexport enum ApprovalType {\n LP,\n DEPOSIT,\n BRIDGE,\n}\n\nexport type ApproveTokenParams = {\n signer: Signer | JsonRpcSigner;\n tokenAddress: TokenEntity['address'];\n amount: number;\n type: ApprovalType;\n};\n\nexport type GetAllowanceParams = {\n signer: Signer | JsonRpcSigner;\n tokenAddress: TokenEntity['address'];\n type: ApprovalType;\n};\n\nexport type GetBalanceByTokenAddressParams = {\n signer: Signer | JsonRpcSigner;\n tokenAddress: TokenEntity['address'];\n};\n\nexport type GetRUSDUnderlyingSignerInfoParams = {\n signer: Signer | JsonRpcSigner;\n};\n\nexport type GetRUSDUnderlyingSignerInfoResult = {\n balance: number;\n rusdUnderlying: TokenEntity;\n};\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"/","sources":["services/token/types.ts"],"names":[],"mappings":";;;AAKA,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,2CAAE,CAAA;IACF,qDAAO,CAAA;IACP,mDAAM,CAAA;AACR,CAAC,EAJW,YAAY,4BAAZ,YAAY,QAIvB","sourcesContent":["import { JsonRpcSigner, Signer } from 'ethers';\nimport { TokenEntity, TokenName } from '@reyaxyz/common';\n\nexport { GetBalancesForBridgeArgs } from '@reyaxyz/common';\n\nexport enum ApprovalType {\n LP,\n DEPOSIT,\n BRIDGE,\n}\n\nexport type ApproveTokenParams = {\n signer: Signer | JsonRpcSigner;\n tokenAddress: TokenEntity['address'];\n amount: number;\n type: ApprovalType;\n};\n\nexport type GetAllowanceParams = {\n signer: Signer | JsonRpcSigner;\n tokenAddress: TokenEntity['address'];\n type: ApprovalType;\n};\n\nexport type GetBalanceByTokenAddressParams = {\n signer: Signer | JsonRpcSigner;\n tokenAddress: TokenEntity['address'];\n};\n\nexport type GetRUSDUnderlyingSignerInfoParams = {\n signer: Signer | JsonRpcSigner;\n};\n\nexport type GetRUSDUnderlyingSignerInfoResult = {\n balance: number;\n rusdUnderlying: TokenEntity;\n};\n\nexport type LPBalanceInfo = {\n tokenEntity: TokenEntity;\n balance: number;\n};\n\nexport type GetBalancesForBridgeLPResult = {\n [chainId: string]: LPBalanceInfo;\n};\n\nexport type MABalanceInfo = { [tokenName: TokenName]: number };\n\nexport type GetBalancesForBridgeMAResult = {\n [chainId: string]: MABalanceInfo;\n};\n"]}
@@ -1,7 +1,6 @@
1
- import { GetBalanceByTokenAddressParams } from './types';
1
+ import { GetBalanceByTokenAddressParams, GetBalancesForBridgeLPResult, GetBalancesForBridgeMAResult } from './types';
2
2
  import { GetBalancesForBridgeArgs } from '@reyaxyz/common';
3
3
  export declare const getBalanceByTokenAddress: ({ signer, tokenAddress, }: GetBalanceByTokenAddressParams) => Promise<number>;
4
- export declare const getBalancesForBridge: ({ walletAddress, }: GetBalancesForBridgeArgs) => Promise<{
5
- [chainId: string]: number;
6
- }>;
4
+ export declare const getBalancesForBridgeLP: ({ walletAddress, }: GetBalancesForBridgeArgs) => Promise<GetBalancesForBridgeLPResult>;
5
+ export declare const getBalancesForBridgeMA: ({ walletAddress, }: GetBalancesForBridgeArgs) => Promise<GetBalancesForBridgeMAResult>;
7
6
  //# sourceMappingURL=getBalanceByTokenAddress.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getBalanceByTokenAddress.d.ts","sourceRoot":"/","sources":["services/token/getBalanceByTokenAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EAGL,wBAAwB,EAIzB,MAAM,iBAAiB,CAAC;AAIzB,eAAO,MAAM,wBAAwB,8BAGlC,8BAA8B,KAAG,QAAQ,MAAM,CAOjD,CAAC;AAEF,eAAO,MAAM,oBAAoB,uBAE9B,wBAAwB;;EA4B1B,CAAC"}
1
+ {"version":3,"file":"getBalanceByTokenAddress.d.ts","sourceRoot":"/","sources":["services/token/getBalanceByTokenAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,4BAA4B,EAC5B,4BAA4B,EAG7B,MAAM,SAAS,CAAC;AACjB,OAAO,EAGL,wBAAwB,EAKzB,MAAM,iBAAiB,CAAC;AAIzB,eAAO,MAAM,wBAAwB,8BAGlC,8BAA8B,KAAG,QAAQ,MAAM,CAOjD,CAAC;AAEF,eAAO,MAAM,sBAAsB,uBAEhC,wBAAwB,KAAG,QAAQ,4BAA4B,CAkCjE,CAAC;AAEF,eAAO,MAAM,sBAAsB,uBAEhC,wBAAwB,KAAG,QAAQ,4BAA4B,CA0CjE,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { JsonRpcSigner, Signer } from 'ethers';
2
- import { TokenEntity } from '@reyaxyz/common';
2
+ import { TokenEntity, TokenName } from '@reyaxyz/common';
3
+ export { GetBalancesForBridgeArgs } from '@reyaxyz/common';
3
4
  export declare enum ApprovalType {
4
5
  LP = 0,
5
6
  DEPOSIT = 1,
@@ -27,4 +28,17 @@ export type GetRUSDUnderlyingSignerInfoResult = {
27
28
  balance: number;
28
29
  rusdUnderlying: TokenEntity;
29
30
  };
31
+ export type LPBalanceInfo = {
32
+ tokenEntity: TokenEntity;
33
+ balance: number;
34
+ };
35
+ export type GetBalancesForBridgeLPResult = {
36
+ [chainId: string]: LPBalanceInfo;
37
+ };
38
+ export type MABalanceInfo = {
39
+ [tokenName: TokenName]: number;
40
+ };
41
+ export type GetBalancesForBridgeMAResult = {
42
+ [chainId: string]: MABalanceInfo;
43
+ };
30
44
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"/","sources":["services/token/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,oBAAY,YAAY;IACtB,EAAE,IAAA;IACF,OAAO,IAAA;IACP,MAAM,IAAA;CACP;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,WAAW,CAAC;CAC7B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"/","sources":["services/token/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,oBAAY,YAAY;IACtB,EAAE,IAAA;IACF,OAAO,IAAA;IACP,MAAM,IAAA;CACP;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,WAAW,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAAE,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAAA;CAAE,CAAC;AAE/D,MAAM,MAAM,4BAA4B,GAAG;IACzC,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC;CAClC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reyaxyz/sdk",
3
- "version": "0.69.2",
3
+ "version": "0.70.0",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org"
@@ -34,5 +34,5 @@
34
34
  "ethers": "6.9.0"
35
35
  },
36
36
  "packageManager": "pnpm@8.10.4",
37
- "gitHead": "65155ffba41042349cbe4aa43c904ea11c40bdec"
37
+ "gitHead": "4f202130a1d552775fe68bdb0d36e2c1d9365e34"
38
38
  }
@@ -1,4 +1,10 @@
1
- import { GetBalanceByTokenAddressParams } from './types';
1
+ import {
2
+ GetBalanceByTokenAddressParams,
3
+ GetBalancesForBridgeLPResult,
4
+ GetBalancesForBridgeMAResult,
5
+ LPBalanceInfo,
6
+ MABalanceInfo,
7
+ } from './types';
2
8
  import {
3
9
  getERC20Balance,
4
10
  ChainRpcUrls,
@@ -6,6 +12,7 @@ import {
6
12
  getMoneyInOutNetworks,
7
13
  getRUSDUnderlyingTokenInfo,
8
14
  MoneyInOutChainId,
15
+ getTokenInfosByChain,
9
16
  } from '@reyaxyz/common';
10
17
  import { ethers } from 'ethers';
11
18
  import { getSdkEnvironment } from '../../config';
@@ -22,9 +29,9 @@ export const getBalanceByTokenAddress = async ({
22
29
  });
23
30
  };
24
31
 
25
- export const getBalancesForBridge = async ({
32
+ export const getBalancesForBridgeLP = async ({
26
33
  walletAddress,
27
- }: GetBalancesForBridgeArgs): Promise<{ [chainId: string]: number }> => {
34
+ }: GetBalancesForBridgeArgs): Promise<GetBalancesForBridgeLPResult> => {
28
35
  const chains: MoneyInOutChainId[] = getMoneyInOutNetworks(
29
36
  getSdkEnvironment() as 'production' | 'test',
30
37
  );
@@ -39,15 +46,67 @@ export const getBalancesForBridge = async ({
39
46
  subject: provider,
40
47
  });
41
48
 
42
- return { chain, balance };
49
+ return { chain, tokenInfo, balance };
43
50
  });
44
51
 
45
52
  const balancesArray = await Promise.all(balancePromises);
46
53
 
47
54
  const balances = balancesArray.reduce<{
48
- [key in MoneyInOutChainId]?: number;
49
- }>((acc, { chain, balance }) => {
50
- acc[chain] = balance;
55
+ [key in MoneyInOutChainId]?: LPBalanceInfo;
56
+ }>((acc, { chain, tokenInfo, balance }) => {
57
+ acc[chain] = {
58
+ tokenEntity: {
59
+ name: tokenInfo.name,
60
+ address: tokenInfo.address,
61
+ },
62
+ balance: balance,
63
+ };
64
+ return acc;
65
+ }, {});
66
+
67
+ return balances;
68
+ };
69
+
70
+ export const getBalancesForBridgeMA = async ({
71
+ walletAddress,
72
+ }: GetBalancesForBridgeArgs): Promise<GetBalancesForBridgeMAResult> => {
73
+ const moneyInOutChainIds: MoneyInOutChainId[] = getMoneyInOutNetworks(
74
+ getSdkEnvironment() as 'production' | 'test',
75
+ );
76
+
77
+ const balancePromises = moneyInOutChainIds
78
+ .map((moneyInOutChainId) => {
79
+ const provider = ethers.getDefaultProvider(
80
+ ChainRpcUrls[moneyInOutChainId],
81
+ );
82
+
83
+ const tokenInfos = getTokenInfosByChain(moneyInOutChainId);
84
+ return tokenInfos.map(async (tokenInfo) => {
85
+ const balance = await getERC20Balance({
86
+ tokenAddress: tokenInfo.address,
87
+ walletAddress: walletAddress,
88
+ subject: provider,
89
+ });
90
+
91
+ return {
92
+ chain: moneyInOutChainId,
93
+ tokenName: tokenInfo.name,
94
+ balance: balance,
95
+ };
96
+ });
97
+ })
98
+ .reduce((acc, value) => acc.concat(value), []);
99
+
100
+ const balancesArray = await Promise.all(balancePromises);
101
+
102
+ const balances = balancesArray.reduce<{
103
+ [key in MoneyInOutChainId]?: MABalanceInfo;
104
+ }>((acc, { chain, tokenName, balance }) => {
105
+ acc[chain] = {
106
+ ...acc[chain],
107
+ [tokenName]: balance,
108
+ };
109
+
51
110
  return acc;
52
111
  }, {});
53
112
 
@@ -1,5 +1,7 @@
1
1
  import { JsonRpcSigner, Signer } from 'ethers';
2
- import { TokenEntity } from '@reyaxyz/common';
2
+ import { TokenEntity, TokenName } from '@reyaxyz/common';
3
+
4
+ export { GetBalancesForBridgeArgs } from '@reyaxyz/common';
3
5
 
4
6
  export enum ApprovalType {
5
7
  LP,
@@ -33,3 +35,18 @@ export type GetRUSDUnderlyingSignerInfoResult = {
33
35
  balance: number;
34
36
  rusdUnderlying: TokenEntity;
35
37
  };
38
+
39
+ export type LPBalanceInfo = {
40
+ tokenEntity: TokenEntity;
41
+ balance: number;
42
+ };
43
+
44
+ export type GetBalancesForBridgeLPResult = {
45
+ [chainId: string]: LPBalanceInfo;
46
+ };
47
+
48
+ export type MABalanceInfo = { [tokenName: TokenName]: number };
49
+
50
+ export type GetBalancesForBridgeMAResult = {
51
+ [chainId: string]: MABalanceInfo;
52
+ };