@reyaxyz/sdk 0.67.2 → 0.68.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 CHANGED
@@ -6,5 +6,5 @@
6
6
 
7
7
  | Statements | Branches | Functions | Lines |
8
8
  | --------------------------- | ----------------------- | ------------------------- | ----------------- |
9
- | ![Statements](https://img.shields.io/badge/statements-13.04%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.63%25-red.svg?style=flat) | ![Lines](https://img.shields.io/badge/lines-12.35%25-red.svg?style=flat) |
9
+ | ![Statements](https://img.shields.io/badge/statements-12.58%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.85%25-red.svg?style=flat) | ![Lines](https://img.shields.io/badge/lines-11.91%25-red.svg?style=flat) |
10
10
 
@@ -51,7 +51,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
51
51
  }
52
52
  };
53
53
  Object.defineProperty(exports, "__esModule", { value: true });
54
- exports.getAlphaTermsModuleClient = exports.getTransactionModuleClient = exports.configureSDK = exports.AlphaTermsModule = exports.TransactionModule = void 0;
54
+ exports.getAlphaTermsModuleClient = exports.getTransactionModuleClient = exports.configureSDK = exports.getSdkEnvironment = exports.AlphaTermsModule = exports.TransactionModule = void 0;
55
55
  var common_1 = require("@reyaxyz/common");
56
56
  var TransactionModule = /** @class */ (function (_super) {
57
57
  __extends(TransactionModule, _super);
@@ -97,9 +97,15 @@ exports.AlphaTermsModule = AlphaTermsModule;
97
97
  // Internal state
98
98
  var transactionModule = new TransactionModule(common_1.API_CLIENT_CONFIGS['test'].apiEndpoint);
99
99
  var alphaTermsModule = new AlphaTermsModule(common_1.API_CLIENT_CONFIGS['test'].apiEndpoint);
100
+ var sdkEnv = 'test';
101
+ var getSdkEnvironment = function () {
102
+ return sdkEnv;
103
+ };
104
+ exports.getSdkEnvironment = getSdkEnvironment;
100
105
  // Function to configure the SDK
101
106
  var configureSDK = function (environment) {
102
107
  var config = common_1.API_CLIENT_CONFIGS[environment] || common_1.API_CLIENT_CONFIGS['test'];
108
+ sdkEnv = environment;
103
109
  transactionModule = new TransactionModule(config.apiEndpoint);
104
110
  alphaTermsModule = new AlphaTermsModule(config.apiEndpoint);
105
111
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"/","sources":["config/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAKyB;AAgBzB;IAAuC,qCAAU;IAAjD;;IAkBA,CAAC;IAjBO,8CAAkB,GAAxB,UACE,MAAc,EACd,eAAuB,EACvB,QAAsC;;;;gBAGhC,GAAG,GAAG,0BAA0B,CAAC;gBACvC,sBAAO,IAAI,CAAC,IAAI,CACd,GAAG,EACH,EAAE,EACF;wBACE,MAAM,EAAE,MAAM;wBACd,eAAe,iBAAA;wBACf,QAAQ,UAAA;qBACT,CACF,EAAC;;;KACH;IACH,wBAAC;AAAD,CAAC,AAlBD,CAAuC,mBAAU,GAkBhD;AAlBY,8CAAiB;AAoB9B;IAAsC,oCAAU;IAAhD;;IAUA,CAAC;IATO,iDAAsB,GAA5B,UAA6B,MAAsB;;;;gBAE3C,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAChC,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvD,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBAErC,GAAG,GAAG,2BAA2B,CAAC;gBACxC,sBAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAC;;;KACvD;IACH,uBAAC;AAAD,CAAC,AAVD,CAAsC,mBAAU,GAU/C;AAVY,4CAAgB;AAY7B,iBAAiB;AACjB,IAAI,iBAAiB,GAAsB,IAAI,iBAAiB,CAC9D,2BAAkB,CAAC,MAAM,CAAC,CAAC,WAAW,CACvC,CAAC;AACF,IAAI,gBAAgB,GAAqB,IAAI,gBAAgB,CAC3D,2BAAkB,CAAC,MAAM,CAAC,CAAC,WAAW,CACvC,CAAC;AAEF,gCAAgC;AACzB,IAAM,YAAY,GAAG,UAC1B,WAAyC;IAEzC,IAAM,MAAM,GAAG,2BAAkB,CAAC,WAAW,CAAC,IAAI,2BAAkB,CAAC,MAAM,CAAC,CAAC;IAC7E,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC9D,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AAC9D,CAAC,CAAC;AANW,QAAA,YAAY,gBAMvB;AAEK,IAAM,0BAA0B,GAAG;IACxC,IAAI,CAAC,iBAAiB;QACpB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC;AAJW,QAAA,0BAA0B,8BAIrC;AAEK,IAAM,yBAAyB,GAAG;IACvC,IAAI,CAAC,gBAAgB;QACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC;AAJW,QAAA,yBAAyB,6BAIpC","sourcesContent":["import {\n Address,\n API_CLIENT_CONFIGS,\n RestClient,\n ServiceConfig,\n} from '@reyaxyz/common';\n\nexport type BroadcastTransactionMetadata = {\n accountName?: string;\n};\n\nexport type TxData = {\n to: string;\n data: string;\n};\n\ntype AlphaTermsData = {\n walletAddress: Address;\n link: string;\n};\n\nexport class TransactionModule extends RestClient {\n async executeTransaction(\n txData: TxData,\n contractAddress: string,\n metadata: BroadcastTransactionMetadata,\n ) {\n // const uri = `/api/transaction-gelato/executeGelato`;\n const uri = `/api/transaction/execute`; //switch between Gelato and internal relayer\n return this.post<{ txHash: string; accountId?: string }>(\n uri,\n {},\n {\n txData: txData,\n contractAddress,\n metadata,\n },\n );\n }\n}\n\nexport class AlphaTermsModule extends RestClient {\n async registerAlphaSignature(params: AlphaTermsData): Promise<void> {\n // Build formData object.\n const formData = new FormData();\n formData.append('walletAddress', params.walletAddress);\n formData.append('signedLink', params.link);\n\n const uri = '/api/tos/alpha-signatures';\n return this.post(uri, undefined, formData, undefined);\n }\n}\n\n// Internal state\nlet transactionModule: TransactionModule = new TransactionModule(\n API_CLIENT_CONFIGS['test'].apiEndpoint,\n);\nlet alphaTermsModule: AlphaTermsModule = new AlphaTermsModule(\n API_CLIENT_CONFIGS['test'].apiEndpoint,\n);\n\n// Function to configure the SDK\nexport const configureSDK = (\n environment: ServiceConfig['environment'],\n): void => {\n const config = API_CLIENT_CONFIGS[environment] || API_CLIENT_CONFIGS['test'];\n transactionModule = new TransactionModule(config.apiEndpoint);\n alphaTermsModule = new AlphaTermsModule(config.apiEndpoint);\n};\n\nexport const getTransactionModuleClient = (): TransactionModule => {\n if (!transactionModule)\n throw new Error('SDK is not configured! Call configureSDK()');\n return transactionModule;\n};\n\nexport const getAlphaTermsModuleClient = (): AlphaTermsModule => {\n if (!alphaTermsModule)\n throw new Error('SDK is not configured! Call configureSDK()');\n return alphaTermsModule;\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"/","sources":["config/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAKyB;AAgBzB;IAAuC,qCAAU;IAAjD;;IAkBA,CAAC;IAjBO,8CAAkB,GAAxB,UACE,MAAc,EACd,eAAuB,EACvB,QAAsC;;;;gBAGhC,GAAG,GAAG,0BAA0B,CAAC;gBACvC,sBAAO,IAAI,CAAC,IAAI,CACd,GAAG,EACH,EAAE,EACF;wBACE,MAAM,EAAE,MAAM;wBACd,eAAe,iBAAA;wBACf,QAAQ,UAAA;qBACT,CACF,EAAC;;;KACH;IACH,wBAAC;AAAD,CAAC,AAlBD,CAAuC,mBAAU,GAkBhD;AAlBY,8CAAiB;AAoB9B;IAAsC,oCAAU;IAAhD;;IAUA,CAAC;IATO,iDAAsB,GAA5B,UAA6B,MAAsB;;;;gBAE3C,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAChC,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvD,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBAErC,GAAG,GAAG,2BAA2B,CAAC;gBACxC,sBAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAC;;;KACvD;IACH,uBAAC;AAAD,CAAC,AAVD,CAAsC,mBAAU,GAU/C;AAVY,4CAAgB;AAY7B,iBAAiB;AACjB,IAAI,iBAAiB,GAAsB,IAAI,iBAAiB,CAC9D,2BAAkB,CAAC,MAAM,CAAC,CAAC,WAAW,CACvC,CAAC;AACF,IAAI,gBAAgB,GAAqB,IAAI,gBAAgB,CAC3D,2BAAkB,CAAC,MAAM,CAAC,CAAC,WAAW,CACvC,CAAC;AAEF,IAAI,MAAM,GAAiC,MAAM,CAAC;AAE3C,IAAM,iBAAiB,GAAG;IAC/B,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAFW,QAAA,iBAAiB,qBAE5B;AACF,gCAAgC;AACzB,IAAM,YAAY,GAAG,UAC1B,WAAyC;IAEzC,IAAM,MAAM,GAAG,2BAAkB,CAAC,WAAW,CAAC,IAAI,2BAAkB,CAAC,MAAM,CAAC,CAAC;IAC7E,MAAM,GAAG,WAAW,CAAC;IACrB,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC9D,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AAC9D,CAAC,CAAC;AAPW,QAAA,YAAY,gBAOvB;AAEK,IAAM,0BAA0B,GAAG;IACxC,IAAI,CAAC,iBAAiB;QACpB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC;AAJW,QAAA,0BAA0B,8BAIrC;AAEK,IAAM,yBAAyB,GAAG;IACvC,IAAI,CAAC,gBAAgB;QACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC;AAJW,QAAA,yBAAyB,6BAIpC","sourcesContent":["import {\n Address,\n API_CLIENT_CONFIGS,\n RestClient,\n ServiceConfig,\n} from '@reyaxyz/common';\n\nexport type BroadcastTransactionMetadata = {\n accountName?: string;\n};\n\nexport type TxData = {\n to: string;\n data: string;\n};\n\ntype AlphaTermsData = {\n walletAddress: Address;\n link: string;\n};\n\nexport class TransactionModule extends RestClient {\n async executeTransaction(\n txData: TxData,\n contractAddress: string,\n metadata: BroadcastTransactionMetadata,\n ) {\n // const uri = `/api/transaction-gelato/executeGelato`;\n const uri = `/api/transaction/execute`; //switch between Gelato and internal relayer\n return this.post<{ txHash: string; accountId?: string }>(\n uri,\n {},\n {\n txData: txData,\n contractAddress,\n metadata,\n },\n );\n }\n}\n\nexport class AlphaTermsModule extends RestClient {\n async registerAlphaSignature(params: AlphaTermsData): Promise<void> {\n // Build formData object.\n const formData = new FormData();\n formData.append('walletAddress', params.walletAddress);\n formData.append('signedLink', params.link);\n\n const uri = '/api/tos/alpha-signatures';\n return this.post(uri, undefined, formData, undefined);\n }\n}\n\n// Internal state\nlet transactionModule: TransactionModule = new TransactionModule(\n API_CLIENT_CONFIGS['test'].apiEndpoint,\n);\nlet alphaTermsModule: AlphaTermsModule = new AlphaTermsModule(\n API_CLIENT_CONFIGS['test'].apiEndpoint,\n);\n\nlet sdkEnv: ServiceConfig['environment'] = 'test';\n\nexport const getSdkEnvironment = (): ServiceConfig['environment'] => {\n return sdkEnv;\n};\n// Function to configure the SDK\nexport const configureSDK = (\n environment: ServiceConfig['environment'],\n): void => {\n const config = API_CLIENT_CONFIGS[environment] || API_CLIENT_CONFIGS['test'];\n sdkEnv = environment;\n transactionModule = new TransactionModule(config.apiEndpoint);\n alphaTermsModule = new AlphaTermsModule(config.apiEndpoint);\n};\n\nexport const getTransactionModuleClient = (): TransactionModule => {\n if (!transactionModule)\n throw new Error('SDK is not configured! Call configureSDK()');\n return transactionModule;\n};\n\nexport const getAlphaTermsModuleClient = (): AlphaTermsModule => {\n if (!alphaTermsModule)\n throw new Error('SDK is not configured! Call configureSDK()');\n return alphaTermsModule;\n};\n"]}
@@ -36,8 +36,10 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
36
  }
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.getBalanceByTokenAddress = void 0;
39
+ exports.getBalancesForBridge = exports.getBalanceByTokenAddress = void 0;
40
40
  var common_1 = require("@reyaxyz/common");
41
+ var ethers_1 = require("ethers");
42
+ var config_1 = require("../../config");
41
43
  var getBalanceByTokenAddress = function (_a) {
42
44
  var signer = _a.signer, tokenAddress = _a.tokenAddress;
43
45
  return __awaiter(void 0, void 0, void 0, function () {
@@ -58,4 +60,44 @@ var getBalanceByTokenAddress = function (_a) {
58
60
  });
59
61
  };
60
62
  exports.getBalanceByTokenAddress = getBalanceByTokenAddress;
63
+ var getBalancesForBridge = function (_a) {
64
+ var walletAddress = _a.walletAddress;
65
+ return __awaiter(void 0, void 0, void 0, function () {
66
+ var chains, balancePromises, balancesArray, balances;
67
+ return __generator(this, function (_b) {
68
+ switch (_b.label) {
69
+ case 0:
70
+ chains = (0, common_1.getMoneyInOutNetworks)((0, config_1.getSdkEnvironment)());
71
+ balancePromises = chains.map(function (chain) { return __awaiter(void 0, void 0, void 0, function () {
72
+ var tokenInfo, provider, balance;
73
+ return __generator(this, function (_a) {
74
+ switch (_a.label) {
75
+ case 0:
76
+ tokenInfo = (0, common_1.getRUSDUnderlyingTokenInfo)(chain);
77
+ provider = ethers_1.ethers.getDefaultProvider(common_1.ChainRpcUrls[chain]);
78
+ return [4 /*yield*/, (0, common_1.getERC20Balance)({
79
+ tokenAddress: tokenInfo.address,
80
+ walletAddress: walletAddress,
81
+ subject: provider,
82
+ })];
83
+ case 1:
84
+ balance = _a.sent();
85
+ return [2 /*return*/, { chain: chain, balance: balance }];
86
+ }
87
+ });
88
+ }); });
89
+ return [4 /*yield*/, Promise.all(balancePromises)];
90
+ case 1:
91
+ balancesArray = _b.sent();
92
+ balances = balancesArray.reduce(function (acc, _a) {
93
+ var chain = _a.chain, balance = _a.balance;
94
+ acc[chain] = balance;
95
+ return acc;
96
+ }, {});
97
+ return [2 /*return*/, balances];
98
+ }
99
+ });
100
+ });
101
+ };
102
+ exports.getBalancesForBridge = getBalancesForBridge;
61
103
  //# sourceMappingURL=getBalanceByTokenAddress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getBalanceByTokenAddress.js","sourceRoot":"/","sources":["services/token/getBalanceByTokenAddress.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,0CAAkD;AAE3C,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","sourcesContent":["import { GetBalanceByTokenAddressParams } from './types';\nimport { getERC20Balance } from '@reyaxyz/common';\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"]}
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"]}
@@ -19,6 +19,7 @@ export declare class TransactionModule extends RestClient {
19
19
  export declare class AlphaTermsModule extends RestClient {
20
20
  registerAlphaSignature(params: AlphaTermsData): Promise<void>;
21
21
  }
22
+ export declare const getSdkEnvironment: () => ServiceConfig['environment'];
22
23
  export declare const configureSDK: (environment: ServiceConfig['environment']) => void;
23
24
  export declare const getTransactionModuleClient: () => TransactionModule;
24
25
  export declare const getAlphaTermsModuleClient: () => AlphaTermsModule;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAEP,UAAU,EACV,aAAa,EACd,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,4BAA4B,GAAG;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,qBAAa,iBAAkB,SAAQ,UAAU;IACzC,kBAAkB,CACtB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,4BAA4B;gBAIX,MAAM;;;CAUpC;AAED,qBAAa,gBAAiB,SAAQ,UAAU;IACxC,sBAAsB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CASpE;AAWD,eAAO,MAAM,YAAY,gBACV,aAAa,CAAC,aAAa,CAAC,KACxC,IAIF,CAAC;AAEF,eAAO,MAAM,0BAA0B,QAAO,iBAI7C,CAAC;AAEF,eAAO,MAAM,yBAAyB,QAAO,gBAI5C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAEP,UAAU,EACV,aAAa,EACd,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,4BAA4B,GAAG;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,qBAAa,iBAAkB,SAAQ,UAAU;IACzC,kBAAkB,CACtB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,4BAA4B;gBAIX,MAAM;;;CAUpC;AAED,qBAAa,gBAAiB,SAAQ,UAAU;IACxC,sBAAsB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CASpE;AAYD,eAAO,MAAM,iBAAiB,QAAO,aAAa,CAAC,aAAa,CAE/D,CAAC;AAEF,eAAO,MAAM,YAAY,gBACV,aAAa,CAAC,aAAa,CAAC,KACxC,IAKF,CAAC;AAEF,eAAO,MAAM,0BAA0B,QAAO,iBAI7C,CAAC;AAEF,eAAO,MAAM,yBAAyB,QAAO,gBAI5C,CAAC"}
@@ -1,3 +1,7 @@
1
1
  import { GetBalanceByTokenAddressParams } from './types';
2
+ import { GetBalancesForBridgeArgs } from '@reyaxyz/common';
2
3
  export declare const getBalanceByTokenAddress: ({ signer, tokenAddress, }: GetBalanceByTokenAddressParams) => Promise<number>;
4
+ export declare const getBalancesForBridge: ({ walletAddress, }: GetBalancesForBridgeArgs) => Promise<{
5
+ [chainId: string]: number;
6
+ }>;
3
7
  //# 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;AAGzD,eAAO,MAAM,wBAAwB,8BAGlC,8BAA8B,KAAG,QAAQ,MAAM,CAOjD,CAAC"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reyaxyz/sdk",
3
- "version": "0.67.2",
3
+ "version": "0.68.1",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org"
@@ -29,10 +29,10 @@
29
29
  "generate:coverage-badges": "npx istanbul-badges-readme --silent"
30
30
  },
31
31
  "dependencies": {
32
- "@reyaxyz/common": "0.72.1",
32
+ "@reyaxyz/common": "0.73.1",
33
33
  "bignumber.js": "^9.1.2",
34
34
  "ethers": "6.9.0"
35
35
  },
36
36
  "packageManager": "pnpm@8.10.4",
37
- "gitHead": "4fe3bc6805d786fdaf8d63307eb616430a980fca"
37
+ "gitHead": "f5f13f0307655a010fe3b805cba8122c0200056e"
38
38
  }
@@ -59,11 +59,17 @@ let alphaTermsModule: AlphaTermsModule = new AlphaTermsModule(
59
59
  API_CLIENT_CONFIGS['test'].apiEndpoint,
60
60
  );
61
61
 
62
+ let sdkEnv: ServiceConfig['environment'] = 'test';
63
+
64
+ export const getSdkEnvironment = (): ServiceConfig['environment'] => {
65
+ return sdkEnv;
66
+ };
62
67
  // Function to configure the SDK
63
68
  export const configureSDK = (
64
69
  environment: ServiceConfig['environment'],
65
70
  ): void => {
66
71
  const config = API_CLIENT_CONFIGS[environment] || API_CLIENT_CONFIGS['test'];
72
+ sdkEnv = environment;
67
73
  transactionModule = new TransactionModule(config.apiEndpoint);
68
74
  alphaTermsModule = new AlphaTermsModule(config.apiEndpoint);
69
75
  };
@@ -1,5 +1,14 @@
1
1
  import { GetBalanceByTokenAddressParams } from './types';
2
- import { getERC20Balance } from '@reyaxyz/common';
2
+ import {
3
+ getERC20Balance,
4
+ ChainRpcUrls,
5
+ GetBalancesForBridgeArgs,
6
+ getMoneyInOutNetworks,
7
+ getRUSDUnderlyingTokenInfo,
8
+ MoneyInOutChainId,
9
+ } from '@reyaxyz/common';
10
+ import { ethers } from 'ethers';
11
+ import { getSdkEnvironment } from '../../config';
3
12
 
4
13
  export const getBalanceByTokenAddress = async ({
5
14
  signer,
@@ -12,3 +21,35 @@ export const getBalanceByTokenAddress = async ({
12
21
  tokenAddress: tokenAddress,
13
22
  });
14
23
  };
24
+
25
+ export const getBalancesForBridge = async ({
26
+ walletAddress,
27
+ }: GetBalancesForBridgeArgs): Promise<{ [chainId: string]: number }> => {
28
+ const chains: MoneyInOutChainId[] = getMoneyInOutNetworks(
29
+ getSdkEnvironment() as 'production' | 'test',
30
+ );
31
+
32
+ // Use Promise.all to fetch balances for all chains in parallel
33
+ const balancePromises = chains.map(async (chain) => {
34
+ const tokenInfo = getRUSDUnderlyingTokenInfo(chain);
35
+ const provider = ethers.getDefaultProvider(ChainRpcUrls[chain]);
36
+ const balance = await getERC20Balance({
37
+ tokenAddress: tokenInfo.address,
38
+ walletAddress: walletAddress,
39
+ subject: provider,
40
+ });
41
+
42
+ return { chain, balance };
43
+ });
44
+
45
+ const balancesArray = await Promise.all(balancePromises);
46
+
47
+ const balances = balancesArray.reduce<{
48
+ [key in MoneyInOutChainId]?: number;
49
+ }>((acc, { chain, balance }) => {
50
+ acc[chain] = balance;
51
+ return acc;
52
+ }, {});
53
+
54
+ return balances;
55
+ };