@reyaxyz/sdk 0.101.0 → 0.102.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 +1 -1
- package/dist/services/lp/transferFromMAToPool.js +11 -12
- package/dist/services/lp/transferFromMAToPool.js.map +1 -1
- package/dist/services/margin-accounts/account.js.map +1 -1
- package/dist/services/margin-accounts/transferMarginBetweenAccounts.js +10 -12
- package/dist/services/margin-accounts/transferMarginBetweenAccounts.js.map +1 -1
- package/dist/services/margin-accounts/withdrawMAAndBridge.js +19 -21
- package/dist/services/margin-accounts/withdrawMAAndBridge.js.map +1 -1
- package/dist/services/orders/order.js +25 -28
- package/dist/services/orders/order.js.map +1 -1
- package/dist/services/token/approve.js +1 -0
- package/dist/services/token/approve.js.map +1 -1
- package/dist/services/token/getAllowance.js +1 -0
- package/dist/services/token/getAllowance.js.map +1 -1
- package/dist/services/token/getBalanceByTokenAddress.js +7 -4
- package/dist/services/token/getBalanceByTokenAddress.js.map +1 -1
- package/dist/types/services/lp/transferFromMAToPool.d.ts.map +1 -1
- package/dist/types/services/margin-accounts/account.d.ts.map +1 -1
- package/dist/types/services/margin-accounts/transferMarginBetweenAccounts.d.ts.map +1 -1
- package/dist/types/services/margin-accounts/withdrawMAAndBridge.d.ts.map +1 -1
- package/dist/types/services/orders/order.d.ts.map +1 -1
- package/dist/types/services/token/approve.d.ts.map +1 -1
- package/dist/types/services/token/getAllowance.d.ts.map +1 -1
- package/dist/types/services/token/getBalanceByTokenAddress.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/services/lp/transferFromMAToPool.ts +6 -3
- package/src/services/margin-accounts/account.ts +0 -1
- package/src/services/margin-accounts/transferMarginBetweenAccounts.ts +5 -3
- package/src/services/margin-accounts/withdrawMAAndBridge.ts +6 -4
- package/src/services/orders/order.ts +6 -6
- package/src/services/token/approve.ts +1 -0
- package/src/services/token/getAllowance.ts +1 -0
- package/src/services/token/getBalanceByTokenAddress.ts +6 -1
package/README.md
CHANGED
|
@@ -6,5 +6,5 @@
|
|
|
6
6
|
|
|
7
7
|
| Statements | Branches | Functions | Lines |
|
|
8
8
|
| --------------------------- | ----------------------- | ------------------------- | ----------------- |
|
|
9
|
-
|  |  |  |  |
|
|
10
10
|
|
|
@@ -46,27 +46,26 @@ var common_5 = require("@reyaxyz/common");
|
|
|
46
46
|
var encode_2 = require("../encode");
|
|
47
47
|
var ethers_1 = require("ethers");
|
|
48
48
|
var signAndBroadcastTransaction_1 = require("../signAndBroadcastTransaction");
|
|
49
|
+
var config_1 = require("../../config");
|
|
49
50
|
var transferFromMAToPool = function (params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
50
|
-
var
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
network = _c.sent();
|
|
57
|
-
reyaChainId = Number(network === null || network === void 0 ? void 0 : network.chainId);
|
|
51
|
+
var env, reyaChainId, tokenInfo, amount, minShares, multiAction, eip712Signature, _a, data, value, result;
|
|
52
|
+
return __generator(this, function (_b) {
|
|
53
|
+
switch (_b.label) {
|
|
54
|
+
case 0:
|
|
55
|
+
env = (0, config_1.getSdkEnvironment)();
|
|
56
|
+
reyaChainId = (0, common_1.getReyaNetwork)(env === 'production' ? 'production' : 'test');
|
|
58
57
|
tokenInfo = (0, common_1.getTokenInfoByAddress)(params.pool.tokenAddress);
|
|
59
58
|
amount = (0, common_1.scale)(tokenInfo.decimals)(params.amount);
|
|
60
59
|
minShares = BigInt(0);
|
|
61
60
|
multiAction = new common_5.MultiAction();
|
|
62
61
|
(0, encode_2.encodeSingleWithdraw)(params.pool.tokenAddress, amount, multiAction);
|
|
63
62
|
return [4 /*yield*/, (0, common_3.signCoreCommands)(params.signer, reyaChainId, (0, common_2.getAddress)(reyaChainId, common_2.ContractType.PERIPHERY_PROXY), params.marginAccountId, multiAction.commands, params.owner.coreSigNonce + 1, (0, common_1.getCurrentTimestampInSeconds)() + common_4.BRIDGE_DEADLINE_IN_SECONDS, ethers_1.ethers.AbiCoder.defaultAbiCoder().encode(['uint128', 'address', 'uint256'], [params.pool.id, params.owner.address, minShares]))];
|
|
64
|
-
case
|
|
65
|
-
eip712Signature =
|
|
63
|
+
case 1:
|
|
64
|
+
eip712Signature = _b.sent();
|
|
66
65
|
_a = (0, encode_1.encodeTransferFromMAToPool)(params.marginAccountId, amount, eip712Signature, params.pool.id, minShares, params.owner.address), data = _a.calldata, value = _a.value;
|
|
67
66
|
return [4 /*yield*/, (0, signAndBroadcastTransaction_1.signAndBroadcastTransaction)(params.signer, data, value, reyaChainId, common_2.ContractType.PERIPHERY_PROXY, {})];
|
|
68
|
-
case
|
|
69
|
-
result =
|
|
67
|
+
case 2:
|
|
68
|
+
result = _b.sent();
|
|
70
69
|
return [2 /*return*/, {
|
|
71
70
|
transactionHash: (result === null || result === void 0 ? void 0 : result.txHash) || null,
|
|
72
71
|
coreSigNonce: Number(result === null || result === void 0 ? void 0 : result.coreSigNonce) || null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transferFromMAToPool.js","sourceRoot":"/","sources":["services/lp/transferFromMAToPool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAKyB;AACzB,0CAA2D;AAC3D,0CAAmD;AACnD,mCAAsD;AAKtD,0CAA6D;AAC7D,0CAA8C;AAC9C,oCAAiD;AACjD,iCAAgC;AAChC,8EAA6E;
|
|
1
|
+
{"version":3,"file":"transferFromMAToPool.js","sourceRoot":"/","sources":["services/lp/transferFromMAToPool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAKyB;AACzB,0CAA2D;AAC3D,0CAAmD;AACnD,mCAAsD;AAKtD,0CAA6D;AAC7D,0CAA8C;AAC9C,oCAAiD;AACjD,iCAAgC;AAChC,8EAA6E;AAC7E,uCAAiD;AAE1C,IAAM,oBAAoB,GAAG,UAClC,MAAkC;;;;;gBAE5B,GAAG,GAAG,IAAA,0BAAiB,GAAE,CAAC;gBAC1B,WAAW,GAAG,IAAA,uBAAc,EAChC,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAC7C,CAAC;gBAEI,SAAS,GAAG,IAAA,8BAAqB,EAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC5D,MAAM,GAAG,IAAA,cAAK,EAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAElD,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAGtB,WAAW,GAAG,IAAI,oBAAW,EAAE,CAAC;gBACtC,IAAA,6BAAoB,EAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;gBAC5C,qBAAM,IAAA,yBAAgB,EAC5C,MAAM,CAAC,MAAM,EACb,WAAW,EACX,IAAA,mBAAU,EAAC,WAAW,EAAE,qBAAY,CAAC,eAAe,CAAC,EACrD,MAAM,CAAC,eAAe,EACtB,WAAW,CAAC,QAAQ,EACpB,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,EAC7B,IAAA,qCAA4B,GAAE,GAAG,mCAA0B,EAC3D,eAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,CACtC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EACjC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAClD,CACF,EAAA;;gBAZK,eAAe,GAAG,SAYvB;gBAEK,KAA4B,IAAA,mCAA0B,EAC1D,MAAM,CAAC,eAAe,EACtB,MAAM,EACN,eAAe,EACf,MAAM,CAAC,IAAI,CAAC,EAAE,EACd,SAAS,EACT,MAAM,CAAC,KAAK,CAAC,OAAO,CACrB,EAPiB,IAAI,cAAA,EAAE,KAAK,WAAA,CAO3B;gBAEa,qBAAM,IAAA,yDAA2B,EAC9C,MAAM,CAAC,MAAM,EACb,IAAI,EACJ,KAAK,EACL,WAAW,EACX,qBAAY,CAAC,eAAe,EAC5B,EAAE,CACH,EAAA;;gBAPK,MAAM,GAAG,SAOd;gBAED,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,IAAI;wBACvC,YAAY,EAAE,MAAM,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAC,IAAI,IAAI;qBACnD,EAAC;;;KACH,CAAC;AApDW,QAAA,oBAAoB,wBAoD/B","sourcesContent":["import {\n getCurrentTimestampInSeconds,\n scale,\n getTokenInfoByAddress,\n getReyaNetwork,\n} from '@reyaxyz/common';\nimport { ContractType, getAddress } from '@reyaxyz/common';\nimport { signCoreCommands } from '@reyaxyz/common';\nimport { encodeTransferFromMAToPool } from './encode';\nimport {\n TransferFromMAToPoolParams,\n TransferFromMAToPoolResult,\n} from './types';\nimport { BRIDGE_DEADLINE_IN_SECONDS } from '@reyaxyz/common';\nimport { MultiAction } from '@reyaxyz/common';\nimport { encodeSingleWithdraw } from '../encode';\nimport { ethers } from 'ethers';\nimport { signAndBroadcastTransaction } from '../signAndBroadcastTransaction';\nimport { getSdkEnvironment } from '../../config';\n\nexport const transferFromMAToPool = async (\n params: TransferFromMAToPoolParams,\n): Promise<TransferFromMAToPoolResult> => {\n const env = getSdkEnvironment();\n const reyaChainId = getReyaNetwork(\n env === 'production' ? 'production' : 'test',\n );\n\n const tokenInfo = getTokenInfoByAddress(params.pool.tokenAddress);\n const amount = scale(tokenInfo.decimals)(params.amount);\n\n const minShares = BigInt(0);\n\n // transfer from MA to pool involves a core withdrawal\n const multiAction = new MultiAction();\n encodeSingleWithdraw(params.pool.tokenAddress, amount, multiAction);\n const eip712Signature = await signCoreCommands(\n params.signer,\n reyaChainId,\n getAddress(reyaChainId, ContractType.PERIPHERY_PROXY),\n params.marginAccountId,\n multiAction.commands,\n params.owner.coreSigNonce + 1,\n getCurrentTimestampInSeconds() + BRIDGE_DEADLINE_IN_SECONDS,\n ethers.AbiCoder.defaultAbiCoder().encode(\n ['uint128', 'address', 'uint256'],\n [params.pool.id, params.owner.address, minShares],\n ),\n );\n\n const { calldata: data, value } = encodeTransferFromMAToPool(\n params.marginAccountId,\n amount,\n eip712Signature,\n params.pool.id,\n minShares,\n params.owner.address,\n );\n\n const result = await signAndBroadcastTransaction(\n params.signer,\n data,\n value,\n reyaChainId,\n ContractType.PERIPHERY_PROXY,\n {},\n );\n\n return {\n transactionHash: result?.txHash || null,\n coreSigNonce: Number(result?.coreSigNonce) || null,\n };\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account.js","sourceRoot":"/","sources":["services/margin-accounts/account.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8EAA6E;AAC7E,mCAAmD;AAEnD,0CAA+C;AAC/C,uCAAiD;AACjD,0CAAiD;AAE1C,IAAM,aAAa,GAAG,UAC3B,MAA2B;;;;;gBAErB,KAA4B,IAAA,gCAAuB,EACvD,MAAM,CAAC,YAAY,CACpB,EAFiB,IAAI,cAAA,EAAE,KAAK,WAAA,CAE3B;
|
|
1
|
+
{"version":3,"file":"account.js","sourceRoot":"/","sources":["services/margin-accounts/account.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8EAA6E;AAC7E,mCAAmD;AAEnD,0CAA+C;AAC/C,uCAAiD;AACjD,0CAAiD;AAE1C,IAAM,aAAa,GAAG,UAC3B,MAA2B;;;;;gBAErB,KAA4B,IAAA,gCAAuB,EACvD,MAAM,CAAC,YAAY,CACpB,EAFiB,IAAI,cAAA,EAAE,KAAK,WAAA,CAE3B;gBACI,GAAG,GAAG,IAAA,0BAAiB,GAAE,CAAC;gBAC1B,OAAO,GAAG,IAAA,uBAAc,EAAC,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAE9D,qBAAM,IAAA,yDAA2B,EAC9C,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,OAAO,EACP,qBAAY,CAAC,UAAU,EACvB,EAAE,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,CAC7B,EAAA;;gBAPK,MAAM,GAAG,SAOd;gBACD,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,IAAI;wBACvC,YAAY,EAAE,MAAM,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAC,IAAI,IAAI;wBAClD,SAAS,EAAE,MAAM,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAC;qBACrC,EAAC;;;KACH,CAAC;AAtBW,QAAA,aAAa,iBAsBxB","sourcesContent":["import { signAndBroadcastTransaction } from '../signAndBroadcastTransaction';\nimport { encodeCreateAccountCall } from './encode';\nimport { CreateAccountParams, CreateAccountResult } from './types';\nimport { ContractType } from '@reyaxyz/common';\nimport { getSdkEnvironment } from '../../config';\nimport { getReyaNetwork } from '@reyaxyz/common';\n\nexport const createAccount = async (\n params: CreateAccountParams,\n): Promise<CreateAccountResult> => {\n const { calldata: data, value } = encodeCreateAccountCall(\n params.ownerAddress,\n );\n const env = getSdkEnvironment();\n const chainId = getReyaNetwork(env === 'production' ? 'production' : 'test');\n\n const result = await signAndBroadcastTransaction(\n null,\n data,\n value,\n chainId,\n ContractType.CORE_PROXY,\n { accountName: params.name },\n );\n return {\n transactionHash: result?.txHash || null,\n coreSigNonce: Number(result?.coreSigNonce) || null,\n accountId: Number(result?.accountId),\n };\n};\n"]}
|
|
@@ -41,24 +41,22 @@ var common_1 = require("@reyaxyz/common");
|
|
|
41
41
|
var common_2 = require("@reyaxyz/common");
|
|
42
42
|
var signAndBroadcastTransaction_1 = require("../signAndBroadcastTransaction");
|
|
43
43
|
var encode_1 = require("./encode");
|
|
44
|
+
var config_1 = require("../../config");
|
|
44
45
|
var transferMarginBetweenAccounts = function (params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
45
|
-
var tokenInfo, amount,
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
switch (_c.label) {
|
|
46
|
+
var tokenInfo, amount, env, chainId, _a, data, value, result;
|
|
47
|
+
return __generator(this, function (_b) {
|
|
48
|
+
switch (_b.label) {
|
|
49
49
|
case 0:
|
|
50
50
|
tokenInfo = (0, common_1.getTokenInfoByAddress)(params.tokenAddress);
|
|
51
51
|
amount = (0, common_1.scale)(tokenInfo.decimals)(params.amount);
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
network = _c.sent();
|
|
55
|
-
chainId = Number(network === null || network === void 0 ? void 0 : network.chainId);
|
|
52
|
+
env = (0, config_1.getSdkEnvironment)();
|
|
53
|
+
chainId = (0, common_1.getReyaNetwork)(env === 'production' ? 'production' : 'test');
|
|
56
54
|
return [4 /*yield*/, (0, encode_1.encodeTransferMargin)(params.signer, chainId, params.owner.coreSigNonce, params.fromMarginAccountId, params.toMarginAccountId, params.tokenAddress, amount)];
|
|
57
|
-
case
|
|
58
|
-
_a =
|
|
55
|
+
case 1:
|
|
56
|
+
_a = _b.sent(), data = _a.calldata, value = _a.value;
|
|
59
57
|
return [4 /*yield*/, (0, signAndBroadcastTransaction_1.signAndBroadcastTransaction)(params.signer, data, value, chainId, common_2.ContractType.PERIPHERY_PROXY, {})];
|
|
60
|
-
case
|
|
61
|
-
result =
|
|
58
|
+
case 2:
|
|
59
|
+
result = _b.sent();
|
|
62
60
|
return [2 /*return*/, {
|
|
63
61
|
transactionHash: (result === null || result === void 0 ? void 0 : result.txHash) || null,
|
|
64
62
|
coreSigNonce: Number(result === null || result === void 0 ? void 0 : result.coreSigNonce) || null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transferMarginBetweenAccounts.js","sourceRoot":"/","sources":["services/margin-accounts/transferMarginBetweenAccounts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA+
|
|
1
|
+
{"version":3,"file":"transferMarginBetweenAccounts.js","sourceRoot":"/","sources":["services/margin-accounts/transferMarginBetweenAccounts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA+E;AAC/E,0CAA+C;AAC/C,8EAA6E;AAC7E,mCAAgD;AAKhD,uCAAiD;AAE1C,IAAM,6BAA6B,GAAG,UAC3C,MAA2C;;;;;gBAErC,SAAS,GAAG,IAAA,8BAAqB,EAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACvD,MAAM,GAAG,IAAA,cAAK,EAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAElD,GAAG,GAAG,IAAA,0BAAiB,GAAE,CAAC;gBAC1B,OAAO,GAAG,IAAA,uBAAc,EAAC,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAE3C,qBAAM,IAAA,6BAAoB,EAC1D,MAAM,CAAC,MAAM,EACb,OAAO,EACP,MAAM,CAAC,KAAK,CAAC,YAAY,EACzB,MAAM,CAAC,mBAAmB,EAC1B,MAAM,CAAC,iBAAiB,EACxB,MAAM,CAAC,YAAY,EACnB,MAAM,CACP,EAAA;;gBARK,KAA4B,SAQjC,EARiB,IAAI,cAAA,EAAE,KAAK,WAAA;gBAUd,qBAAM,IAAA,yDAA2B,EAC9C,MAAM,CAAC,MAAM,EACb,IAAI,EACJ,KAAK,EACL,OAAO,EACP,qBAAY,CAAC,eAAe,EAC5B,EAAE,CACH,EAAA;;gBAPK,MAAM,GAAG,SAOd;gBAED,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,IAAI;wBACvC,YAAY,EAAE,MAAM,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAC,IAAI,IAAI;qBACnD,EAAC;;;KACH,CAAC;AAhCW,QAAA,6BAA6B,iCAgCxC","sourcesContent":["import { scale, getTokenInfoByAddress, getReyaNetwork } from '@reyaxyz/common';\nimport { ContractType } from '@reyaxyz/common';\nimport { signAndBroadcastTransaction } from '../signAndBroadcastTransaction';\nimport { encodeTransferMargin } from './encode';\nimport {\n TransferMarginBetweenAccountsParams,\n TransferMarginBetweenAccountsResult,\n} from './types';\nimport { getSdkEnvironment } from '../../config';\n\nexport const transferMarginBetweenAccounts = async (\n params: TransferMarginBetweenAccountsParams,\n): Promise<TransferMarginBetweenAccountsResult> => {\n const tokenInfo = getTokenInfoByAddress(params.tokenAddress);\n const amount = scale(tokenInfo.decimals)(params.amount);\n\n const env = getSdkEnvironment();\n const chainId = getReyaNetwork(env === 'production' ? 'production' : 'test');\n\n const { calldata: data, value } = await encodeTransferMargin(\n params.signer,\n chainId,\n params.owner.coreSigNonce,\n params.fromMarginAccountId,\n params.toMarginAccountId,\n params.tokenAddress,\n amount,\n );\n\n const result = await signAndBroadcastTransaction(\n params.signer,\n data,\n value,\n chainId,\n ContractType.PERIPHERY_PROXY,\n {},\n );\n\n return {\n transactionHash: result?.txHash || null,\n coreSigNonce: Number(result?.coreSigNonce) || null,\n };\n};\n"]}
|
|
@@ -50,46 +50,44 @@ var config_1 = require("../../config");
|
|
|
50
50
|
var withdrawMAAndBridge = function (_a) {
|
|
51
51
|
var signer = _a.signer, moneyInOutChainId = _a.moneyInOutChainId, marginAccountId = _a.marginAccountId, owner = _a.owner, unscaledAmount = _a.amount, tokenAddress = _a.tokenAddress, _b = _a.receiverAddress, receiverAddress = _b === void 0 ? owner.address : _b;
|
|
52
52
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
53
|
-
var
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
network = _e.sent();
|
|
60
|
-
reyaChainId = Number(network === null || network === void 0 ? void 0 : network.chainId);
|
|
53
|
+
var env, reyaChainId, corePeripheryTokenInfo, multiAction, socketMsgGasLimit, eip712Signature, _c, data, value, result, transactionModuleClient, error_1;
|
|
54
|
+
return __generator(this, function (_d) {
|
|
55
|
+
switch (_d.label) {
|
|
56
|
+
case 0:
|
|
57
|
+
env = (0, config_1.getSdkEnvironment)();
|
|
58
|
+
reyaChainId = (0, common_1.getReyaNetwork)(env === 'production' ? 'production' : 'test');
|
|
61
59
|
corePeripheryTokenInfo = (0, common_1.getTokenInfoByAddress)(tokenAddress);
|
|
62
60
|
multiAction = new common_5.MultiAction();
|
|
63
61
|
(0, encode_2.encodeSingleWithdraw)(corePeripheryTokenInfo.address, (0, common_1.scale)(corePeripheryTokenInfo.decimals)(unscaledAmount), multiAction);
|
|
64
62
|
socketMsgGasLimit = BigInt('10000000');
|
|
65
63
|
return [4 /*yield*/, (0, common_3.signCoreCommands)(signer, reyaChainId, (0, common_2.getAddress)(reyaChainId, common_2.ContractType.PERIPHERY_PROXY), marginAccountId, multiAction.commands, owner.coreSigNonce + 1, (0, common_1.getCurrentTimestampInSeconds)() + common_4.BRIDGE_DEADLINE_IN_SECONDS, ethers_1.ethers.AbiCoder.defaultAbiCoder().encode(['address', 'uint256', 'uint256'], [receiverAddress, moneyInOutChainId, socketMsgGasLimit]))];
|
|
66
|
-
case
|
|
67
|
-
eip712Signature =
|
|
64
|
+
case 1:
|
|
65
|
+
eip712Signature = _d.sent();
|
|
68
66
|
_c = (0, encode_1.encodeWithdrawMAAndBridge)(marginAccountId, corePeripheryTokenInfo.address, (0, common_1.scale)(corePeripheryTokenInfo.decimals)(unscaledAmount), eip712Signature, socketMsgGasLimit, moneyInOutChainId, receiverAddress), data = _c.calldata, value = _c.value;
|
|
69
67
|
return [4 /*yield*/, (0, signAndBroadcastTransaction_1.signAndBroadcastTransaction)(signer, data, value, reyaChainId, common_2.ContractType.PERIPHERY_PROXY, {
|
|
70
68
|
destinationType: 'account',
|
|
71
69
|
})];
|
|
72
|
-
case
|
|
73
|
-
result =
|
|
70
|
+
case 2:
|
|
71
|
+
result = _d.sent();
|
|
74
72
|
if (!(result === null || result === void 0 ? void 0 : result.txHash)) {
|
|
75
73
|
return [2 /*return*/, {
|
|
76
74
|
transactionHash: null,
|
|
77
75
|
coreSigNonce: null,
|
|
78
76
|
}];
|
|
79
77
|
}
|
|
80
|
-
|
|
81
|
-
case
|
|
82
|
-
|
|
78
|
+
_d.label = 3;
|
|
79
|
+
case 3:
|
|
80
|
+
_d.trys.push([3, 5, , 6]);
|
|
83
81
|
transactionModuleClient = (0, config_1.getTransactionModuleClient)();
|
|
84
82
|
return [4 /*yield*/, transactionModuleClient.pushPendingTransaction(marginAccountId, result.txHash, moneyInOutChainId, unscaledAmount, corePeripheryTokenInfo.address, 'withdrawal')];
|
|
83
|
+
case 4:
|
|
84
|
+
_d.sent();
|
|
85
|
+
return [3 /*break*/, 6];
|
|
85
86
|
case 5:
|
|
86
|
-
|
|
87
|
-
return [3 /*break*/, 7];
|
|
88
|
-
case 6:
|
|
89
|
-
error_1 = _e.sent();
|
|
87
|
+
error_1 = _d.sent();
|
|
90
88
|
console.log('Error persisting pending withdraw transaction', error_1);
|
|
91
|
-
return [3 /*break*/,
|
|
92
|
-
case
|
|
89
|
+
return [3 /*break*/, 6];
|
|
90
|
+
case 6: return [2 /*return*/, {
|
|
93
91
|
transactionHash: (result === null || result === void 0 ? void 0 : result.txHash) || null,
|
|
94
92
|
coreSigNonce: Number(result === null || result === void 0 ? void 0 : result.coreSigNonce) || null,
|
|
95
93
|
}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withdrawMAAndBridge.js","sourceRoot":"/","sources":["services/margin-accounts/withdrawMAAndBridge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAKyB;AACzB,0CAA2D;AAC3D,8EAA6E;AAC7E,0CAAmD;AACnD,mCAAqD;AAKrD,0CAA6D;AAC7D,oCAAiD;AACjD,0CAA8C;AAC9C,iCAAgC;AAChC,
|
|
1
|
+
{"version":3,"file":"withdrawMAAndBridge.js","sourceRoot":"/","sources":["services/margin-accounts/withdrawMAAndBridge.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n getCurrentTimestampInSeconds,\n scale,\n getTokenInfoByAddress,\n getReyaNetwork,\n} from '@reyaxyz/common';\nimport { ContractType, getAddress } from '@reyaxyz/common';\nimport { signAndBroadcastTransaction } from '../signAndBroadcastTransaction';\nimport { signCoreCommands } from '@reyaxyz/common';\nimport { encodeWithdrawMAAndBridge } from './encode';\nimport {\n WithdrawMAAndBridgeParams,\n WithdrawMAAndBridgeParamsResult,\n} from './types';\nimport { BRIDGE_DEADLINE_IN_SECONDS } from '@reyaxyz/common';\nimport { encodeSingleWithdraw } from '../encode';\nimport { MultiAction } from '@reyaxyz/common';\nimport { ethers } from 'ethers';\nimport { getSdkEnvironment, getTransactionModuleClient } from '../../config';\n\nexport const withdrawMAAndBridge = async ({\n signer,\n moneyInOutChainId,\n marginAccountId,\n owner,\n amount: unscaledAmount,\n tokenAddress,\n receiverAddress = owner.address,\n}: WithdrawMAAndBridgeParams): Promise<WithdrawMAAndBridgeParamsResult> => {\n const env = getSdkEnvironment();\n const reyaChainId = getReyaNetwork(\n env === 'production' ? 'production' : 'test',\n );\n\n const corePeripheryTokenInfo = getTokenInfoByAddress(tokenAddress);\n\n const multiAction = new MultiAction();\n encodeSingleWithdraw(\n corePeripheryTokenInfo.address,\n scale(corePeripheryTokenInfo.decimals)(unscaledAmount),\n multiAction,\n );\n\n const socketMsgGasLimit = BigInt('10000000');\n const eip712Signature = await signCoreCommands(\n signer,\n reyaChainId,\n getAddress(reyaChainId, ContractType.PERIPHERY_PROXY),\n marginAccountId,\n multiAction.commands,\n owner.coreSigNonce + 1,\n getCurrentTimestampInSeconds() + BRIDGE_DEADLINE_IN_SECONDS,\n ethers.AbiCoder.defaultAbiCoder().encode(\n ['address', 'uint256', 'uint256'],\n [receiverAddress, moneyInOutChainId, socketMsgGasLimit],\n ),\n );\n\n const { calldata: data, value } = encodeWithdrawMAAndBridge(\n marginAccountId,\n corePeripheryTokenInfo.address,\n scale(corePeripheryTokenInfo.decimals)(unscaledAmount),\n eip712Signature,\n socketMsgGasLimit,\n moneyInOutChainId,\n receiverAddress,\n );\n\n const result = await signAndBroadcastTransaction(\n signer,\n data,\n value,\n reyaChainId,\n ContractType.PERIPHERY_PROXY,\n {\n destinationType: 'account',\n },\n );\n\n if (!result?.txHash) {\n return {\n transactionHash: null,\n coreSigNonce: null,\n };\n }\n\n try {\n const transactionModuleClient = getTransactionModuleClient();\n await transactionModuleClient.pushPendingTransaction(\n marginAccountId,\n result.txHash,\n moneyInOutChainId,\n unscaledAmount,\n corePeripheryTokenInfo.address,\n 'withdrawal',\n );\n } catch (error) {\n console.log('Error persisting pending withdraw transaction', error);\n }\n\n return {\n transactionHash: result?.txHash || null,\n coreSigNonce: Number(result?.coreSigNonce) || null,\n };\n};\n"]}
|
|
@@ -46,11 +46,12 @@ var common_1 = require("@reyaxyz/common");
|
|
|
46
46
|
var bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
47
47
|
var common_2 = require("@reyaxyz/common");
|
|
48
48
|
var common_3 = require("@reyaxyz/common");
|
|
49
|
+
var config_1 = require("../../config");
|
|
49
50
|
var matchOrder = function (params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
50
|
-
var snappedAmount, orderPriceLimit, orderBase,
|
|
51
|
-
var _b, _c
|
|
52
|
-
return __generator(this, function (
|
|
53
|
-
switch (
|
|
51
|
+
var snappedAmount, orderPriceLimit, orderBase, env, chainId, _a, data, value, result;
|
|
52
|
+
var _b, _c;
|
|
53
|
+
return __generator(this, function (_d) {
|
|
54
|
+
switch (_d.label) {
|
|
54
55
|
case 0:
|
|
55
56
|
if (params.amountInBase === 0) {
|
|
56
57
|
throw new Error('Position base can not be 0');
|
|
@@ -70,25 +71,23 @@ var matchOrder = function (params) { return __awaiter(void 0, void 0, void 0, fu
|
|
|
70
71
|
}
|
|
71
72
|
orderPriceLimit = (0, common_1.calculatePriceLimitForTrade)(params.market.currentPrice, snappedAmount);
|
|
72
73
|
orderBase = (0, common_3.scale)(18)(snappedAmount);
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
network = _e.sent();
|
|
76
|
-
chainId = Number(network === null || network === void 0 ? void 0 : network.chainId);
|
|
74
|
+
env = (0, config_1.getSdkEnvironment)();
|
|
75
|
+
chainId = (0, common_1.getReyaNetwork)(env === 'production' ? 'production' : 'test');
|
|
77
76
|
return [4 /*yield*/, (0, encode_1.encodeMatchOrder)(params.signer, chainId, params.owner.coreSigNonce, params.marginAccountId, orderBase, orderPriceLimit, params.market.counterpartyAccountIds, params.market.id, params.market.exchangeId)];
|
|
78
|
-
case
|
|
79
|
-
_a =
|
|
77
|
+
case 1:
|
|
78
|
+
_a = _d.sent(), data = _a.calldata, value = _a.value;
|
|
80
79
|
return [4 /*yield*/, (0, signAndBroadcastTransaction_1.signAndBroadcastTransaction)(params.signer, data, value, chainId, common_2.ContractType.PERIPHERY_PROXY, {
|
|
81
80
|
action: 'matchOrder',
|
|
82
81
|
accountId: params.marginAccountId,
|
|
83
82
|
marketId: params.market.id,
|
|
84
83
|
})];
|
|
85
|
-
case
|
|
86
|
-
result =
|
|
84
|
+
case 2:
|
|
85
|
+
result = _d.sent();
|
|
87
86
|
return [2 /*return*/, {
|
|
88
87
|
transactionHash: (result === null || result === void 0 ? void 0 : result.txHash) || null,
|
|
89
88
|
coreSigNonce: Number(result === null || result === void 0 ? void 0 : result.coreSigNonce) || null,
|
|
90
|
-
xpBoost: ((
|
|
91
|
-
isNftWon: ((
|
|
89
|
+
xpBoost: ((_b = result.miscellaneous) === null || _b === void 0 ? void 0 : _b.tradeXpBoost) || 0,
|
|
90
|
+
isNftWon: ((_c = result.miscellaneous) === null || _c === void 0 ? void 0 : _c.xpNftAwarded) || false,
|
|
92
91
|
marginAccountId: params.marginAccountId,
|
|
93
92
|
}];
|
|
94
93
|
}
|
|
@@ -96,35 +95,33 @@ var matchOrder = function (params) { return __awaiter(void 0, void 0, void 0, fu
|
|
|
96
95
|
}); };
|
|
97
96
|
exports.matchOrder = matchOrder;
|
|
98
97
|
var closeOrder = function (params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
99
|
-
var base, orderPriceLimit,
|
|
100
|
-
var _b, _c
|
|
101
|
-
return __generator(this, function (
|
|
102
|
-
switch (
|
|
98
|
+
var base, orderPriceLimit, env, chainId, _a, data, value, result;
|
|
99
|
+
var _b, _c;
|
|
100
|
+
return __generator(this, function (_d) {
|
|
101
|
+
switch (_d.label) {
|
|
103
102
|
case 0:
|
|
104
103
|
if (params.orderBase === 0) {
|
|
105
104
|
throw new Error('Position base can not be 0');
|
|
106
105
|
}
|
|
107
106
|
base = (0, common_3.scale)(18)(params.orderBase);
|
|
108
107
|
orderPriceLimit = (0, common_1.calculatePriceLimitForTrade)(params.market.currentPrice, (0, bignumber_js_1.default)(params.orderBase).negated().toNumber());
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
network = _e.sent();
|
|
112
|
-
chainId = Number(network === null || network === void 0 ? void 0 : network.chainId);
|
|
108
|
+
env = (0, config_1.getSdkEnvironment)();
|
|
109
|
+
chainId = (0, common_1.getReyaNetwork)(env === 'production' ? 'production' : 'test');
|
|
113
110
|
return [4 /*yield*/, (0, encode_1.encodeMatchOrder)(params.signer, chainId, params.owner.coreSigNonce, params.marginAccountId, -base, orderPriceLimit, params.market.counterpartyAccountIds, params.market.id, params.market.exchangeId)];
|
|
114
|
-
case
|
|
115
|
-
_a =
|
|
111
|
+
case 1:
|
|
112
|
+
_a = _d.sent(), data = _a.calldata, value = _a.value;
|
|
116
113
|
return [4 /*yield*/, (0, signAndBroadcastTransaction_1.signAndBroadcastTransaction)(params.signer, data, value, chainId, common_2.ContractType.PERIPHERY_PROXY, {
|
|
117
114
|
action: 'closeOrder',
|
|
118
115
|
accountId: params.marginAccountId,
|
|
119
116
|
marketId: params.market.id,
|
|
120
117
|
})];
|
|
121
|
-
case
|
|
122
|
-
result =
|
|
118
|
+
case 2:
|
|
119
|
+
result = _d.sent();
|
|
123
120
|
return [2 /*return*/, {
|
|
124
121
|
transactionHash: (result === null || result === void 0 ? void 0 : result.txHash) || null,
|
|
125
122
|
coreSigNonce: Number(result === null || result === void 0 ? void 0 : result.coreSigNonce) || null,
|
|
126
|
-
xpBoost: ((
|
|
127
|
-
isNftWon: ((
|
|
123
|
+
xpBoost: ((_b = result.miscellaneous) === null || _b === void 0 ? void 0 : _b.tradeXpBoost) || 0,
|
|
124
|
+
isNftWon: ((_c = result.miscellaneous) === null || _c === void 0 ? void 0 : _c.xpNftAwarded) || false,
|
|
128
125
|
marginAccountId: params.marginAccountId,
|
|
129
126
|
}];
|
|
130
127
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order.js","sourceRoot":"/","sources":["services/orders/order.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,mCAA4C;AAC5C,8EAA6E;AAC7E,
|
|
1
|
+
{"version":3,"file":"order.js","sourceRoot":"/","sources":["services/orders/order.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n CloseOrderParams,\n CloseOrderResult,\n MatchOrderParams,\n MatchOrderResult,\n} from './types';\nimport { encodeMatchOrder } from './encode';\nimport { signAndBroadcastTransaction } from '../signAndBroadcastTransaction';\nimport { calculatePriceLimitForTrade, getReyaNetwork } from '@reyaxyz/common';\nimport BigNumber from 'bignumber.js';\nimport { ContractType } from '@reyaxyz/common';\nimport { scale } from '@reyaxyz/common';\nimport { getSdkEnvironment } from '../../config';\n\nexport const matchOrder = async (\n params: MatchOrderParams,\n): Promise<MatchOrderResult> => {\n if (params.amountInBase === 0) {\n throw new Error('Position base can not be 0');\n }\n\n let snappedAmount = BigNumber(params.amountInBase)\n .abs()\n .dividedBy(params.market.baseSpacing)\n .integerValue(BigNumber.ROUND_FLOOR)\n .multipliedBy(params.market.baseSpacing)\n .toNumber();\n\n if (params.amountInBase < 0) {\n snappedAmount = -snappedAmount;\n }\n\n if (Math.abs(snappedAmount) < params.market.minOrderSizeBase) {\n console.error(\n `Minimum trade amount ${params.market.minOrderSizeBase}. Entered amount ${snappedAmount}, ${params.amountInBase}`,\n );\n throw new Error(`Minimum trade amount ${params.market.minOrderSizeBase}`);\n }\n\n // add rounding here\n const orderPriceLimit = calculatePriceLimitForTrade(\n params.market.currentPrice,\n snappedAmount,\n );\n\n const orderBase = scale(18)(snappedAmount);\n const env = getSdkEnvironment();\n const chainId = getReyaNetwork(env === 'production' ? 'production' : 'test');\n\n const { calldata: data, value } = await encodeMatchOrder(\n params.signer,\n chainId,\n params.owner.coreSigNonce,\n params.marginAccountId,\n orderBase,\n orderPriceLimit,\n params.market.counterpartyAccountIds,\n params.market.id,\n params.market.exchangeId,\n );\n\n const result = await signAndBroadcastTransaction(\n params.signer,\n data,\n value,\n chainId,\n ContractType.PERIPHERY_PROXY,\n {\n action: 'matchOrder',\n accountId: params.marginAccountId,\n marketId: params.market.id,\n },\n );\n\n return {\n transactionHash: result?.txHash || null,\n coreSigNonce: Number(result?.coreSigNonce) || null,\n xpBoost: result.miscellaneous?.tradeXpBoost || 0,\n isNftWon: result.miscellaneous?.xpNftAwarded || false,\n marginAccountId: params.marginAccountId,\n };\n};\n\nexport const closeOrder = async (\n params: CloseOrderParams,\n): Promise<CloseOrderResult> => {\n if (params.orderBase === 0) {\n throw new Error('Position base can not be 0');\n }\n\n const base = scale(18)(params.orderBase);\n const orderPriceLimit = calculatePriceLimitForTrade(\n params.market.currentPrice,\n BigNumber(params.orderBase).negated().toNumber(), // used just because of sign\n );\n\n const env = getSdkEnvironment();\n const chainId = getReyaNetwork(env === 'production' ? 'production' : 'test');\n const { calldata: data, value } = await encodeMatchOrder(\n params.signer,\n chainId,\n params.owner.coreSigNonce,\n params.marginAccountId,\n -base,\n orderPriceLimit,\n params.market.counterpartyAccountIds,\n params.market.id,\n params.market.exchangeId,\n );\n\n const result = await signAndBroadcastTransaction(\n params.signer,\n data,\n value,\n chainId,\n ContractType.PERIPHERY_PROXY,\n {\n action: 'closeOrder',\n accountId: params.marginAccountId,\n marketId: params.market.id,\n },\n );\n\n return {\n transactionHash: result?.txHash || null,\n coreSigNonce: Number(result?.coreSigNonce) || null,\n xpBoost: result.miscellaneous?.tradeXpBoost || 0,\n isNftWon: result.miscellaneous?.xpNftAwarded || false,\n marginAccountId: params.marginAccountId,\n };\n};\n"]}
|
|
@@ -99,6 +99,7 @@ var approveTokenSpending = function (params) { return __awaiter(void 0, void 0,
|
|
|
99
99
|
return [4 /*yield*/, params.signer.getAddress()];
|
|
100
100
|
case 7: return [4 /*yield*/, _a.apply(void 0, [(_b.walletAddress = _d.sent(),
|
|
101
101
|
_b.tokenAddress = tokenInfo.address,
|
|
102
|
+
_b.tokenDecimals = tokenInfo.decimals,
|
|
102
103
|
_b.spenderAddress = contractProxyAddress,
|
|
103
104
|
_b.subject = params.signer,
|
|
104
105
|
_b)])];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approve.js","sourceRoot":"/","sources":["services/token/approve.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAA2D;AAC3D,0CAQyB;AACzB,0CAA2D;AAEpD,IAAM,oBAAoB,GAAG,UAClC,MAA0B;;;;;;oBAEV,qBAAM,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,UAAU,EAAE,CAAA,EAAA;;gBAApD,OAAO,GAAG,SAA0C;gBACpD,OAAO,GAAG,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAC;gBAGrC,SAAS,GAAG,IAAA,8BAAqB,EAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC3D,IAAI,oBAAY,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACrD,SAAS,GAAG,IAAA,mCAA0B,EAAC,OAAO,CAAC,CAAC;gBAClD,CAAC;gBAEK,aAAa,GAAG,IAAA,8BAAqB,EAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBAG9E,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,KAAK,oBAAY,CAAC,OAAO;wBACvB,oBAAoB,GAAG,IAAA,mBAAU,EAAC,OAAO,EAAE,qBAAY,CAAC,UAAU,CAAC,CAAC;wBACpE,MAAM;oBACR,KAAK,oBAAY,CAAC,EAAE;wBAClB,oBAAoB,GAAG,IAAA,mBAAU,EAC/B,OAAO,EACP,qBAAY,CAAC,kBAAkB,CAChC,CAAC;wBACF,MAAM;oBACR,KAAK,oBAAY,CAAC,MAAM;wBACtB,oBAAoB,GAAG,IAAA,uBAAc,EAAC;4BACpC,iBAAiB,EAAE,OAAO;4BAC1B,SAAS,EAAE,SAAS,CAAC,IAAI;yBACF,CAAC,CAAC;wBAC3B,MAAM;oBACR;wBACE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;gBACxE,CAAC;gBAEK,iBAAiB,GAAG,IAAA,cAAK,EAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAEvC,qBAAM,aAAa;yBAC5C,OAAO,CAAC,oBAAoB,EAAE,iBAAiB,CAAC;yBAChD,KAAK,CAAC,UAAC,KAAK;wBACX,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;wBAC/C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACrB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;oBACpD,CAAC,CAAC,EAAA;;gBANE,mBAAmB,GAAG,SAMxB;;;;gBAEF,qBAAM,mBAAmB,CAAC,IAAI,EAAE,EAAA;;gBAAhC,SAAgC,CAAC;;;;gBAEjC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;;;gBAI5B,KAAA,0BAAiB,CAAA;;gBACb,qBAAM,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAA;oBAD1C,qBAAM,mBACX,gBAAa,GAAE,SAAgC;wBAC/C,eAAY,GAAE,SAAS,CAAC,OAAO;wBAC/B,iBAAc,GAAE,oBAAoB;wBACpC,UAAO,GAAE,MAAM,CAAC,MAAM;6BACtB,EAAA;
|
|
1
|
+
{"version":3,"file":"approve.js","sourceRoot":"/","sources":["services/token/approve.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAA2D;AAC3D,0CAQyB;AACzB,0CAA2D;AAEpD,IAAM,oBAAoB,GAAG,UAClC,MAA0B;;;;;;oBAEV,qBAAM,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,UAAU,EAAE,CAAA,EAAA;;gBAApD,OAAO,GAAG,SAA0C;gBACpD,OAAO,GAAG,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAC;gBAGrC,SAAS,GAAG,IAAA,8BAAqB,EAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC3D,IAAI,oBAAY,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACrD,SAAS,GAAG,IAAA,mCAA0B,EAAC,OAAO,CAAC,CAAC;gBAClD,CAAC;gBAEK,aAAa,GAAG,IAAA,8BAAqB,EAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBAG9E,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,KAAK,oBAAY,CAAC,OAAO;wBACvB,oBAAoB,GAAG,IAAA,mBAAU,EAAC,OAAO,EAAE,qBAAY,CAAC,UAAU,CAAC,CAAC;wBACpE,MAAM;oBACR,KAAK,oBAAY,CAAC,EAAE;wBAClB,oBAAoB,GAAG,IAAA,mBAAU,EAC/B,OAAO,EACP,qBAAY,CAAC,kBAAkB,CAChC,CAAC;wBACF,MAAM;oBACR,KAAK,oBAAY,CAAC,MAAM;wBACtB,oBAAoB,GAAG,IAAA,uBAAc,EAAC;4BACpC,iBAAiB,EAAE,OAAO;4BAC1B,SAAS,EAAE,SAAS,CAAC,IAAI;yBACF,CAAC,CAAC;wBAC3B,MAAM;oBACR;wBACE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;gBACxE,CAAC;gBAEK,iBAAiB,GAAG,IAAA,cAAK,EAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAEvC,qBAAM,aAAa;yBAC5C,OAAO,CAAC,oBAAoB,EAAE,iBAAiB,CAAC;yBAChD,KAAK,CAAC,UAAC,KAAK;wBACX,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;wBAC/C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACrB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;oBACpD,CAAC,CAAC,EAAA;;gBANE,mBAAmB,GAAG,SAMxB;;;;gBAEF,qBAAM,mBAAmB,CAAC,IAAI,EAAE,EAAA;;gBAAhC,SAAgC,CAAC;;;;gBAEjC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;;;gBAI5B,KAAA,0BAAiB,CAAA;;gBACb,qBAAM,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAA;oBAD1C,qBAAM,mBACX,gBAAa,GAAE,SAAgC;wBAC/C,eAAY,GAAE,SAAS,CAAC,OAAO;wBAC/B,gBAAa,GAAE,SAAS,CAAC,QAAQ;wBACjC,iBAAc,GAAE,oBAAoB;wBACpC,UAAO,GAAE,MAAM,CAAC,MAAM;6BACtB,EAAA;oBANF,sBAAO,SAML,EAAC;;;gBAEH,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;;qBAG5C,sBAAO,CAAC,EAAC;;;KACV,CAAC;AAhEW,QAAA,oBAAoB,wBAgE/B","sourcesContent":["import { ApprovalType, ApproveTokenParams } from './types';\nimport {\n getERC20Allowance,\n getERC20TokenContract,\n getRUSDUnderlyingTokenInfo,\n getSocketVault,\n GetSocketVaultParams,\n getTokenInfoByAddress,\n scale,\n} from '@reyaxyz/common';\nimport { ContractType, getAddress } from '@reyaxyz/common';\n\nexport const approveTokenSpending = async (\n params: ApproveTokenParams,\n): Promise<number> => {\n const network = await params.signer.provider?.getNetwork();\n const chainId = Number(network?.chainId);\n\n // todo: to be removed once lp form in offchain/UI is fixed\n let tokenInfo = getTokenInfoByAddress(params.tokenAddress);\n if (ApprovalType.BRIDGE && tokenInfo.name === 'RUSD') {\n tokenInfo = getRUSDUnderlyingTokenInfo(chainId);\n }\n\n const tokenContract = getERC20TokenContract(tokenInfo.address, params.signer);\n\n let contractProxyAddress;\n switch (params.type) {\n case ApprovalType.DEPOSIT:\n contractProxyAddress = getAddress(chainId, ContractType.CORE_PROXY);\n break;\n case ApprovalType.LP:\n contractProxyAddress = getAddress(\n chainId,\n ContractType.PASSIVE_POOL_PROXY,\n );\n break;\n case ApprovalType.BRIDGE:\n contractProxyAddress = getSocketVault({\n moneyInOutChainId: chainId,\n tokenName: tokenInfo.name,\n } as GetSocketVaultParams);\n break;\n default:\n throw new Error('Unexpected approval type in approveTokenSpending');\n }\n\n const scaledTokenAmount = scale(tokenInfo.decimals)(params.amount);\n\n const approvalTransaction = await tokenContract\n .approve(contractProxyAddress, scaledTokenAmount)\n .catch((error) => {\n console.warn('Transaction Confirmation Error');\n console.error(error);\n throw new Error('Transaction Confirmation Error');\n });\n try {\n await approvalTransaction.wait();\n } catch (error) {\n console.warn('Token approval failed');\n throw new Error('Token approval failed');\n }\n\n try {\n return await getERC20Allowance({\n walletAddress: await params.signer.getAddress(),\n tokenAddress: tokenInfo.address,\n tokenDecimals: tokenInfo.decimals,\n spenderAddress: contractProxyAddress,\n subject: params.signer,\n });\n } catch (error) {\n console.warn('Fetching allowance failed');\n }\n\n return 0;\n};\n"]}
|
|
@@ -74,6 +74,7 @@ var getAllowance = function (params) { return __awaiter(void 0, void 0, void 0,
|
|
|
74
74
|
return [4 /*yield*/, (0, common_1.getERC20Allowance)({
|
|
75
75
|
walletAddress: walletAddress,
|
|
76
76
|
tokenAddress: tokenInfo.address,
|
|
77
|
+
tokenDecimals: tokenInfo.decimals,
|
|
77
78
|
spenderAddress: contractProxyAddress,
|
|
78
79
|
subject: params.signer,
|
|
79
80
|
})];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAllowance.js","sourceRoot":"/","sources":["services/token/getAllowance.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAA2D;AAC3D,0CAQyB;AAElB,IAAM,YAAY,GAAG,UAC1B,MAA0B;;;;;oBAEV,qBAAM,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,UAAU,EAAE,CAAA,EAAA;;gBAApD,OAAO,GAAG,SAA0C;gBACpD,OAAO,GAAG,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAC;gBAGrC,SAAS,GAAG,IAAA,8BAAqB,EAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC3D,IAAI,oBAAY,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACrD,SAAS,GAAG,IAAA,mCAA0B,EAAC,OAAO,CAAC,CAAC;gBAClD,CAAC;gBAGD,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,KAAK,oBAAY,CAAC,OAAO;wBACvB,oBAAoB,GAAG,IAAA,mBAAU,EAAC,OAAO,EAAE,qBAAY,CAAC,UAAU,CAAC,CAAC;wBACpE,MAAM;oBACR,KAAK,oBAAY,CAAC,EAAE;wBAClB,oBAAoB,GAAG,IAAA,mBAAU,EAC/B,OAAO,EACP,qBAAY,CAAC,kBAAkB,CAChC,CAAC;wBACF,MAAM;oBACR,KAAK,oBAAY,CAAC,MAAM;wBACtB,oBAAoB,GAAG,IAAA,uBAAc,EAAC;4BACpC,iBAAiB,EAAE,OAAO;4BAC1B,SAAS,EAAE,SAAS,CAAC,IAAI;yBACF,CAAC,CAAC;wBAC3B,MAAM;oBACR;wBACE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;gBAChE,CAAC;gBAE6B,qBAAM,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAA;;gBAAxD,aAAa,GAAW,SAAgC;gBAE5C,qBAAM,IAAA,0BAAiB,EAAC;wBACxC,aAAa,eAAA;wBACb,YAAY,EAAE,SAAS,CAAC,OAAO;wBAC/B,cAAc,EAAE,oBAAoB;wBACpC,OAAO,EAAE,MAAM,CAAC,MAAM;qBACvB,CAAC,EAAA;;
|
|
1
|
+
{"version":3,"file":"getAllowance.js","sourceRoot":"/","sources":["services/token/getAllowance.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAA2D;AAC3D,0CAQyB;AAElB,IAAM,YAAY,GAAG,UAC1B,MAA0B;;;;;oBAEV,qBAAM,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,UAAU,EAAE,CAAA,EAAA;;gBAApD,OAAO,GAAG,SAA0C;gBACpD,OAAO,GAAG,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAC;gBAGrC,SAAS,GAAG,IAAA,8BAAqB,EAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC3D,IAAI,oBAAY,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACrD,SAAS,GAAG,IAAA,mCAA0B,EAAC,OAAO,CAAC,CAAC;gBAClD,CAAC;gBAGD,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,KAAK,oBAAY,CAAC,OAAO;wBACvB,oBAAoB,GAAG,IAAA,mBAAU,EAAC,OAAO,EAAE,qBAAY,CAAC,UAAU,CAAC,CAAC;wBACpE,MAAM;oBACR,KAAK,oBAAY,CAAC,EAAE;wBAClB,oBAAoB,GAAG,IAAA,mBAAU,EAC/B,OAAO,EACP,qBAAY,CAAC,kBAAkB,CAChC,CAAC;wBACF,MAAM;oBACR,KAAK,oBAAY,CAAC,MAAM;wBACtB,oBAAoB,GAAG,IAAA,uBAAc,EAAC;4BACpC,iBAAiB,EAAE,OAAO;4BAC1B,SAAS,EAAE,SAAS,CAAC,IAAI;yBACF,CAAC,CAAC;wBAC3B,MAAM;oBACR;wBACE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;gBAChE,CAAC;gBAE6B,qBAAM,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAA;;gBAAxD,aAAa,GAAW,SAAgC;gBAE5C,qBAAM,IAAA,0BAAiB,EAAC;wBACxC,aAAa,eAAA;wBACb,YAAY,EAAE,SAAS,CAAC,OAAO;wBAC/B,aAAa,EAAE,SAAS,CAAC,QAAQ;wBACjC,cAAc,EAAE,oBAAoB;wBACpC,OAAO,EAAE,MAAM,CAAC,MAAM;qBACvB,CAAC,EAAA;;gBANI,SAAS,GAAG,SAMhB;gBAEF,sBAAO,SAAS,EAAC;;;KAClB,CAAC;AA5CW,QAAA,YAAY,gBA4CvB","sourcesContent":["import { ApprovalType, GetAllowanceParams } from './types';\nimport {\n GetSocketVaultParams,\n getERC20Allowance,\n getRUSDUnderlyingTokenInfo,\n getSocketVault,\n getTokenInfoByAddress,\n ContractType,\n getAddress,\n} from '@reyaxyz/common';\n\nexport const getAllowance = async (\n params: GetAllowanceParams,\n): Promise<number> => {\n const network = await params.signer.provider?.getNetwork();\n const chainId = Number(network?.chainId);\n\n // todo: to be removed once lp form in offchain/UI is fixed\n let tokenInfo = getTokenInfoByAddress(params.tokenAddress);\n if (ApprovalType.BRIDGE && tokenInfo.name === 'RUSD') {\n tokenInfo = getRUSDUnderlyingTokenInfo(chainId);\n }\n\n let contractProxyAddress;\n switch (params.type) {\n case ApprovalType.DEPOSIT:\n contractProxyAddress = getAddress(chainId, ContractType.CORE_PROXY);\n break;\n case ApprovalType.LP:\n contractProxyAddress = getAddress(\n chainId,\n ContractType.PASSIVE_POOL_PROXY,\n );\n break;\n case ApprovalType.BRIDGE:\n contractProxyAddress = getSocketVault({\n moneyInOutChainId: chainId,\n tokenName: tokenInfo.name,\n } as GetSocketVaultParams);\n break;\n default:\n throw new Error('Unexpected approval type in getAllowance');\n }\n\n const walletAddress: string = await params.signer.getAddress();\n\n const allowance = await getERC20Allowance({\n walletAddress,\n tokenAddress: tokenInfo.address,\n tokenDecimals: tokenInfo.decimals,\n spenderAddress: contractProxyAddress,\n subject: params.signer,\n });\n\n return allowance;\n};\n"]}
|
|
@@ -50,18 +50,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
50
50
|
exports.getBalancesForBridgeMA = exports.getBalancesForBridgeLP = exports.getBalanceByTokenAddress = void 0;
|
|
51
51
|
var common_1 = require("@reyaxyz/common");
|
|
52
52
|
var config_1 = require("../../config");
|
|
53
|
-
var common_2 = require("@reyaxyz/common");
|
|
54
53
|
var getBalanceByTokenAddress = function (_a) {
|
|
55
54
|
var signer = _a.signer, tokenAddress = _a.tokenAddress;
|
|
56
55
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
57
|
-
var walletAddress;
|
|
56
|
+
var walletAddress, tokenInfo;
|
|
58
57
|
return __generator(this, function (_b) {
|
|
59
58
|
switch (_b.label) {
|
|
60
59
|
case 0: return [4 /*yield*/, signer.getAddress()];
|
|
61
60
|
case 1:
|
|
62
61
|
walletAddress = _b.sent();
|
|
62
|
+
tokenInfo = (0, common_1.getTokenInfoByAddress)(tokenAddress);
|
|
63
63
|
return [4 /*yield*/, (0, common_1.getERC20Balance)({
|
|
64
64
|
walletAddress: walletAddress,
|
|
65
|
+
tokenDecimals: tokenInfo.decimals,
|
|
65
66
|
subject: signer,
|
|
66
67
|
tokenAddress: tokenAddress,
|
|
67
68
|
})];
|
|
@@ -85,8 +86,9 @@ var getBalancesForBridgeLP = function (_a) {
|
|
|
85
86
|
switch (_a.label) {
|
|
86
87
|
case 0:
|
|
87
88
|
tokenInfo = (0, common_1.getRUSDUnderlyingTokenInfo)(chain);
|
|
88
|
-
return [4 /*yield*/, (0,
|
|
89
|
+
return [4 /*yield*/, (0, common_1.getERC20BalanceBatch)({
|
|
89
90
|
tokenAddress: tokenInfo.address,
|
|
91
|
+
tokenDecimals: tokenInfo.decimals,
|
|
90
92
|
walletAddress: walletAddress,
|
|
91
93
|
chain: chain,
|
|
92
94
|
})];
|
|
@@ -131,8 +133,9 @@ var getBalancesForBridgeMA = function (_a) {
|
|
|
131
133
|
var balance;
|
|
132
134
|
return __generator(this, function (_a) {
|
|
133
135
|
switch (_a.label) {
|
|
134
|
-
case 0: return [4 /*yield*/, (0,
|
|
136
|
+
case 0: return [4 /*yield*/, (0, common_1.getERC20BalanceBatch)({
|
|
135
137
|
tokenAddress: tokenInfo.address,
|
|
138
|
+
tokenDecimals: tokenInfo.decimals,
|
|
136
139
|
walletAddress: walletAddress,
|
|
137
140
|
chain: moneyInOutChainId,
|
|
138
141
|
})];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBalanceByTokenAddress.js","sourceRoot":"/","sources":["services/token/getBalanceByTokenAddress.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,
|
|
1
|
+
{"version":3,"file":"getBalanceByTokenAddress.js","sourceRoot":"/","sources":["services/token/getBalanceByTokenAddress.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,0CASyB;AACzB,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;oBACzC,SAAS,GAAG,IAAA,8BAAqB,EAAC,YAAY,CAAC,CAAC;oBAC/C,qBAAM,IAAA,wBAAe,EAAC;4BAC3B,aAAa,eAAA;4BACb,aAAa,EAAE,SAAS,CAAC,QAAQ;4BACjC,OAAO,EAAE,MAAM;4BACf,YAAY,EAAE,YAAY;yBAC3B,CAAC,EAAA;wBALF,sBAAO,SAKL,EAAC;;;;CACJ,CAAC;AAZW,QAAA,wBAAwB,4BAYnC;AAEK,IAAM,sBAAsB,GAAG,UAAO,EAElB;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;oCACpC,qBAAM,IAAA,6BAAoB,EAAC;4CACzC,YAAY,EAAE,SAAS,CAAC,OAAO;4CAC/B,aAAa,EAAE,SAAS,CAAC,QAAQ;4CACjC,aAAa,EAAE,aAAa;4CAC5B,KAAK,EAAE,KAAK;yCACb,CAAC,EAAA;;oCALI,OAAO,GAAG,SAKd;oCAEF,sBAAO,EAAE,KAAK,OAAA,EAAE,SAAS,WAAA,EAAE,OAAO,SAAA,EAAE,EAAC;;;yBACtC,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,EAA6B;4BAA3B,KAAK,WAAA,EAAE,SAAS,eAAA,EAAE,OAAO,aAAA;wBAClC,GAAG,CAAC,KAAK,CAAC,GAAG;4BACX,WAAW,EAAE;gCACX,IAAI,EAAE,SAAS,CAAC,IAAI;gCACpB,OAAO,EAAE,SAAS,CAAC,OAAO;6BAC3B;4BACD,OAAO,EAAE,OAAO;yBACjB,CAAC;wBACF,OAAO,GAAG,CAAC;oBACb,CAAC,EAAE,EAAE,CAAC,CAAC;oBAEP,sBAAO,QAAQ,EAAC;;;;CACjB,CAAC;AApCW,QAAA,sBAAsB,0BAoCjC;AAEK,IAAM,sBAAsB,GAAG,UAAO,EAElB;QADzB,aAAa,mBAAA;;;;;;oBAEP,kBAAkB,GAAwB,IAAA,8BAAqB,EACnE,IAAA,0BAAiB,GAA2B,CAC7C,CAAC;oBAEI,eAAe,GAAG,kBAAkB;yBACvC,GAAG,CAAC,UAAC,iBAAiB;wBACrB,IAAM,UAAU,GAAG,IAAA,6BAAoB,EAAC,iBAAiB,CAAC,CAAC;wBAC3D,OAAO,UAAU,CAAC,GAAG,CAAC,UAAO,SAAS;;;;4CACpB,qBAAM,IAAA,6BAAoB,EAAC;4CACzC,YAAY,EAAE,SAAS,CAAC,OAAO;4CAC/B,aAAa,EAAE,SAAS,CAAC,QAAQ;4CACjC,aAAa,EAAE,aAAa;4CAC5B,KAAK,EAAE,iBAAiB;yCACzB,CAAC,EAAA;;wCALI,OAAO,GAAG,SAKd;wCAEF,sBAAO;gDACL,KAAK,EAAE,iBAAiB;gDACxB,SAAS,EAAE,SAAS,CAAC,IAAI;gDACzB,OAAO,EAAE,OAAO;6CACjB,EAAC;;;6BACH,CAAC,CAAC;oBACL,CAAC,CAAC;yBACD,MAAM,CAAC,UAAC,GAAG,EAAE,KAAK,IAAK,OAAA,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAjB,CAAiB,EAAE,EAAE,CAAC,CAAC;oBAE3B,qBAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAA;;oBAAlD,aAAa,GAAG,SAAkC;oBAElD,QAAQ,GAAG,aAAa,CAAC,MAAM,CAElC,UAAC,GAAG,EAAE,EAA6B;;4BAA3B,KAAK,WAAA,EAAE,SAAS,eAAA,EAAE,OAAO,aAAA;wBAClC,GAAG,CAAC,KAAK,CAAC,yBACL,GAAG,CAAC,KAAK,CAAC,gBACZ,SAAS,IAAG,OAAO,MACrB,CAAC;wBAEF,OAAO,GAAG,CAAC;oBACb,CAAC,EAAE,EAAE,CAAC,CAAC;oBAEP,sBAAO,QAAQ,EAAC;;;;CACjB,CAAC;AAzCW,QAAA,sBAAsB,0BAyCjC","sourcesContent":["import {\n GetBalanceByTokenAddressParams,\n GetBalancesForBridgeLPResult,\n GetBalancesForBridgeMAResult,\n LPBalanceInfo,\n MABalanceInfo,\n} from './types';\nimport {\n getERC20Balance,\n GetBalancesForBridgeArgs,\n getMoneyInOutNetworks,\n getRUSDUnderlyingTokenInfo,\n MoneyInOutChainId,\n getTokenInfosByChain,\n getERC20BalanceBatch,\n getTokenInfoByAddress,\n} from '@reyaxyz/common';\nimport { getSdkEnvironment } from '../../config';\n\nexport const getBalanceByTokenAddress = async ({\n signer,\n tokenAddress,\n}: GetBalanceByTokenAddressParams): Promise<number> => {\n const walletAddress = await signer.getAddress();\n const tokenInfo = getTokenInfoByAddress(tokenAddress);\n return await getERC20Balance({\n walletAddress,\n tokenDecimals: tokenInfo.decimals,\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 balance = await getERC20BalanceBatch({\n tokenAddress: tokenInfo.address,\n tokenDecimals: tokenInfo.decimals,\n walletAddress: walletAddress,\n chain: chain,\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 tokenInfos = getTokenInfosByChain(moneyInOutChainId);\n return tokenInfos.map(async (tokenInfo) => {\n const balance = await getERC20BalanceBatch({\n tokenAddress: tokenInfo.address,\n tokenDecimals: tokenInfo.decimals,\n walletAddress: walletAddress,\n chain: moneyInOutChainId,\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":"transferFromMAToPool.d.ts","sourceRoot":"/","sources":["services/lp/transferFromMAToPool.ts"],"names":[],"mappings":"AASA,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC3B,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"transferFromMAToPool.d.ts","sourceRoot":"/","sources":["services/lp/transferFromMAToPool.ts"],"names":[],"mappings":"AASA,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC3B,MAAM,SAAS,CAAC;AAQjB,eAAO,MAAM,oBAAoB,WACvB,0BAA0B,KACjC,QAAQ,0BAA0B,CAkDpC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account.d.ts","sourceRoot":"/","sources":["services/margin-accounts/account.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAKnE,eAAO,MAAM,aAAa,WAChB,mBAAmB,KAC1B,QAAQ,mBAAmB,
|
|
1
|
+
{"version":3,"file":"account.d.ts","sourceRoot":"/","sources":["services/margin-accounts/account.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAKnE,eAAO,MAAM,aAAa,WAChB,mBAAmB,KAC1B,QAAQ,mBAAmB,CAoB7B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transferMarginBetweenAccounts.d.ts","sourceRoot":"/","sources":["services/margin-accounts/transferMarginBetweenAccounts.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,mCAAmC,EACnC,mCAAmC,EACpC,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"transferMarginBetweenAccounts.d.ts","sourceRoot":"/","sources":["services/margin-accounts/transferMarginBetweenAccounts.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,mCAAmC,EACnC,mCAAmC,EACpC,MAAM,SAAS,CAAC;AAGjB,eAAO,MAAM,6BAA6B,WAChC,mCAAmC,KAC1C,QAAQ,mCAAmC,CA8B7C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withdrawMAAndBridge.d.ts","sourceRoot":"/","sources":["services/margin-accounts/withdrawMAAndBridge.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,yBAAyB,EACzB,+BAA+B,EAChC,MAAM,SAAS,CAAC;AAOjB,eAAO,MAAM,mBAAmB,kHAQ7B,yBAAyB,KAAG,QAAQ,+BAA+B,
|
|
1
|
+
{"version":3,"file":"withdrawMAAndBridge.d.ts","sourceRoot":"/","sources":["services/margin-accounts/withdrawMAAndBridge.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,yBAAyB,EACzB,+BAA+B,EAChC,MAAM,SAAS,CAAC;AAOjB,eAAO,MAAM,mBAAmB,kHAQ7B,yBAAyB,KAAG,QAAQ,+BAA+B,CA4ErE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order.d.ts","sourceRoot":"/","sources":["services/orders/order.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"order.d.ts","sourceRoot":"/","sources":["services/orders/order.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AASjB,eAAO,MAAM,UAAU,WACb,gBAAgB,KACvB,QAAQ,gBAAgB,CAiE1B,CAAC;AAEF,eAAO,MAAM,UAAU,WACb,gBAAgB,KACvB,QAAQ,gBAAgB,CA6C1B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approve.d.ts","sourceRoot":"/","sources":["services/token/approve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAY3D,eAAO,MAAM,oBAAoB,WACvB,kBAAkB,KACzB,QAAQ,MAAM,
|
|
1
|
+
{"version":3,"file":"approve.d.ts","sourceRoot":"/","sources":["services/token/approve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAY3D,eAAO,MAAM,oBAAoB,WACvB,kBAAkB,KACzB,QAAQ,MAAM,CA8DhB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAllowance.d.ts","sourceRoot":"/","sources":["services/token/getAllowance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAW3D,eAAO,MAAM,YAAY,WACf,kBAAkB,KACzB,QAAQ,MAAM,
|
|
1
|
+
{"version":3,"file":"getAllowance.d.ts","sourceRoot":"/","sources":["services/token/getAllowance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAW3D,eAAO,MAAM,YAAY,WACf,kBAAkB,KACzB,QAAQ,MAAM,CA0ChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
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,EAEL,wBAAwB,
|
|
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,EAEL,wBAAwB,EAOzB,MAAM,iBAAiB,CAAC;AAGzB,eAAO,MAAM,wBAAwB,8BAGlC,8BAA8B,KAAG,QAAQ,MAAM,CASjD,CAAC;AAEF,eAAO,MAAM,sBAAsB,uBAEhC,wBAAwB,KAAG,QAAQ,4BAA4B,CAkCjE,CAAC;AAEF,eAAO,MAAM,sBAAsB,uBAEhC,wBAAwB,KAAG,QAAQ,4BAA4B,CAuCjE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reyaxyz/sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.102.0",
|
|
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.
|
|
32
|
+
"@reyaxyz/common": "0.137.0",
|
|
33
33
|
"bignumber.js": "^9.1.2",
|
|
34
34
|
"ethers": "6.9.0"
|
|
35
35
|
},
|
|
36
36
|
"packageManager": "pnpm@8.3.1",
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "0af399e0a55cc36199d8a49deadf937faa6f780e"
|
|
38
38
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getCurrentTimestampInSeconds,
|
|
3
3
|
scale,
|
|
4
|
-
ReyaChainId,
|
|
5
4
|
getTokenInfoByAddress,
|
|
5
|
+
getReyaNetwork,
|
|
6
6
|
} from '@reyaxyz/common';
|
|
7
7
|
import { ContractType, getAddress } from '@reyaxyz/common';
|
|
8
8
|
import { signCoreCommands } from '@reyaxyz/common';
|
|
@@ -16,12 +16,15 @@ import { MultiAction } from '@reyaxyz/common';
|
|
|
16
16
|
import { encodeSingleWithdraw } from '../encode';
|
|
17
17
|
import { ethers } from 'ethers';
|
|
18
18
|
import { signAndBroadcastTransaction } from '../signAndBroadcastTransaction';
|
|
19
|
+
import { getSdkEnvironment } from '../../config';
|
|
19
20
|
|
|
20
21
|
export const transferFromMAToPool = async (
|
|
21
22
|
params: TransferFromMAToPoolParams,
|
|
22
23
|
): Promise<TransferFromMAToPoolResult> => {
|
|
23
|
-
const
|
|
24
|
-
const reyaChainId
|
|
24
|
+
const env = getSdkEnvironment();
|
|
25
|
+
const reyaChainId = getReyaNetwork(
|
|
26
|
+
env === 'production' ? 'production' : 'test',
|
|
27
|
+
);
|
|
25
28
|
|
|
26
29
|
const tokenInfo = getTokenInfoByAddress(params.pool.tokenAddress);
|
|
27
30
|
const amount = scale(tokenInfo.decimals)(params.amount);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { scale, getTokenInfoByAddress } from '@reyaxyz/common';
|
|
1
|
+
import { scale, getTokenInfoByAddress, getReyaNetwork } from '@reyaxyz/common';
|
|
2
2
|
import { ContractType } from '@reyaxyz/common';
|
|
3
3
|
import { signAndBroadcastTransaction } from '../signAndBroadcastTransaction';
|
|
4
4
|
import { encodeTransferMargin } from './encode';
|
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
TransferMarginBetweenAccountsParams,
|
|
7
7
|
TransferMarginBetweenAccountsResult,
|
|
8
8
|
} from './types';
|
|
9
|
+
import { getSdkEnvironment } from '../../config';
|
|
9
10
|
|
|
10
11
|
export const transferMarginBetweenAccounts = async (
|
|
11
12
|
params: TransferMarginBetweenAccountsParams,
|
|
@@ -13,8 +14,9 @@ export const transferMarginBetweenAccounts = async (
|
|
|
13
14
|
const tokenInfo = getTokenInfoByAddress(params.tokenAddress);
|
|
14
15
|
const amount = scale(tokenInfo.decimals)(params.amount);
|
|
15
16
|
|
|
16
|
-
const
|
|
17
|
-
const chainId =
|
|
17
|
+
const env = getSdkEnvironment();
|
|
18
|
+
const chainId = getReyaNetwork(env === 'production' ? 'production' : 'test');
|
|
19
|
+
|
|
18
20
|
const { calldata: data, value } = await encodeTransferMargin(
|
|
19
21
|
params.signer,
|
|
20
22
|
chainId,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getCurrentTimestampInSeconds,
|
|
3
3
|
scale,
|
|
4
|
-
ReyaChainId,
|
|
5
4
|
getTokenInfoByAddress,
|
|
5
|
+
getReyaNetwork,
|
|
6
6
|
} from '@reyaxyz/common';
|
|
7
7
|
import { ContractType, getAddress } from '@reyaxyz/common';
|
|
8
8
|
import { signAndBroadcastTransaction } from '../signAndBroadcastTransaction';
|
|
@@ -16,7 +16,7 @@ import { BRIDGE_DEADLINE_IN_SECONDS } from '@reyaxyz/common';
|
|
|
16
16
|
import { encodeSingleWithdraw } from '../encode';
|
|
17
17
|
import { MultiAction } from '@reyaxyz/common';
|
|
18
18
|
import { ethers } from 'ethers';
|
|
19
|
-
import { getTransactionModuleClient } from '../../config';
|
|
19
|
+
import { getSdkEnvironment, getTransactionModuleClient } from '../../config';
|
|
20
20
|
|
|
21
21
|
export const withdrawMAAndBridge = async ({
|
|
22
22
|
signer,
|
|
@@ -27,8 +27,10 @@ export const withdrawMAAndBridge = async ({
|
|
|
27
27
|
tokenAddress,
|
|
28
28
|
receiverAddress = owner.address,
|
|
29
29
|
}: WithdrawMAAndBridgeParams): Promise<WithdrawMAAndBridgeParamsResult> => {
|
|
30
|
-
const
|
|
31
|
-
const reyaChainId
|
|
30
|
+
const env = getSdkEnvironment();
|
|
31
|
+
const reyaChainId = getReyaNetwork(
|
|
32
|
+
env === 'production' ? 'production' : 'test',
|
|
33
|
+
);
|
|
32
34
|
|
|
33
35
|
const corePeripheryTokenInfo = getTokenInfoByAddress(tokenAddress);
|
|
34
36
|
|
|
@@ -6,10 +6,11 @@ import {
|
|
|
6
6
|
} from './types';
|
|
7
7
|
import { encodeMatchOrder } from './encode';
|
|
8
8
|
import { signAndBroadcastTransaction } from '../signAndBroadcastTransaction';
|
|
9
|
-
import { calculatePriceLimitForTrade } from '@reyaxyz/common';
|
|
9
|
+
import { calculatePriceLimitForTrade, getReyaNetwork } from '@reyaxyz/common';
|
|
10
10
|
import BigNumber from 'bignumber.js';
|
|
11
11
|
import { ContractType } from '@reyaxyz/common';
|
|
12
12
|
import { scale } from '@reyaxyz/common';
|
|
13
|
+
import { getSdkEnvironment } from '../../config';
|
|
13
14
|
|
|
14
15
|
export const matchOrder = async (
|
|
15
16
|
params: MatchOrderParams,
|
|
@@ -43,8 +44,8 @@ export const matchOrder = async (
|
|
|
43
44
|
);
|
|
44
45
|
|
|
45
46
|
const orderBase = scale(18)(snappedAmount);
|
|
46
|
-
const
|
|
47
|
-
const chainId =
|
|
47
|
+
const env = getSdkEnvironment();
|
|
48
|
+
const chainId = getReyaNetwork(env === 'production' ? 'production' : 'test');
|
|
48
49
|
|
|
49
50
|
const { calldata: data, value } = await encodeMatchOrder(
|
|
50
51
|
params.signer,
|
|
@@ -93,9 +94,8 @@ export const closeOrder = async (
|
|
|
93
94
|
BigNumber(params.orderBase).negated().toNumber(), // used just because of sign
|
|
94
95
|
);
|
|
95
96
|
|
|
96
|
-
const
|
|
97
|
-
const chainId =
|
|
98
|
-
|
|
97
|
+
const env = getSdkEnvironment();
|
|
98
|
+
const chainId = getReyaNetwork(env === 'production' ? 'production' : 'test');
|
|
99
99
|
const { calldata: data, value } = await encodeMatchOrder(
|
|
100
100
|
params.signer,
|
|
101
101
|
chainId,
|
|
@@ -65,6 +65,7 @@ export const approveTokenSpending = async (
|
|
|
65
65
|
return await getERC20Allowance({
|
|
66
66
|
walletAddress: await params.signer.getAddress(),
|
|
67
67
|
tokenAddress: tokenInfo.address,
|
|
68
|
+
tokenDecimals: tokenInfo.decimals,
|
|
68
69
|
spenderAddress: contractProxyAddress,
|
|
69
70
|
subject: params.signer,
|
|
70
71
|
});
|
|
@@ -12,17 +12,20 @@ import {
|
|
|
12
12
|
getRUSDUnderlyingTokenInfo,
|
|
13
13
|
MoneyInOutChainId,
|
|
14
14
|
getTokenInfosByChain,
|
|
15
|
+
getERC20BalanceBatch,
|
|
16
|
+
getTokenInfoByAddress,
|
|
15
17
|
} from '@reyaxyz/common';
|
|
16
18
|
import { getSdkEnvironment } from '../../config';
|
|
17
|
-
import { getERC20BalanceBatch } from '@reyaxyz/common';
|
|
18
19
|
|
|
19
20
|
export const getBalanceByTokenAddress = async ({
|
|
20
21
|
signer,
|
|
21
22
|
tokenAddress,
|
|
22
23
|
}: GetBalanceByTokenAddressParams): Promise<number> => {
|
|
23
24
|
const walletAddress = await signer.getAddress();
|
|
25
|
+
const tokenInfo = getTokenInfoByAddress(tokenAddress);
|
|
24
26
|
return await getERC20Balance({
|
|
25
27
|
walletAddress,
|
|
28
|
+
tokenDecimals: tokenInfo.decimals,
|
|
26
29
|
subject: signer,
|
|
27
30
|
tokenAddress: tokenAddress,
|
|
28
31
|
});
|
|
@@ -40,6 +43,7 @@ export const getBalancesForBridgeLP = async ({
|
|
|
40
43
|
const tokenInfo = getRUSDUnderlyingTokenInfo(chain);
|
|
41
44
|
const balance = await getERC20BalanceBatch({
|
|
42
45
|
tokenAddress: tokenInfo.address,
|
|
46
|
+
tokenDecimals: tokenInfo.decimals,
|
|
43
47
|
walletAddress: walletAddress,
|
|
44
48
|
chain: chain,
|
|
45
49
|
});
|
|
@@ -78,6 +82,7 @@ export const getBalancesForBridgeMA = async ({
|
|
|
78
82
|
return tokenInfos.map(async (tokenInfo) => {
|
|
79
83
|
const balance = await getERC20BalanceBatch({
|
|
80
84
|
tokenAddress: tokenInfo.address,
|
|
85
|
+
tokenDecimals: tokenInfo.decimals,
|
|
81
86
|
walletAddress: walletAddress,
|
|
82
87
|
chain: moneyInOutChainId,
|
|
83
88
|
});
|