@reyaxyz/sdk 0.16.1 → 0.17.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/dist/abis/Periphery.json +700 -0
- package/dist/services/encode.js +9 -5
- package/dist/services/encode.js.map +1 -1
- package/dist/services/executeTransaction.js +4 -7
- package/dist/services/executeTransaction.js.map +1 -1
- package/dist/services/lp/encode.js +30 -1
- package/dist/services/lp/encode.js.map +1 -1
- package/dist/services/lp/lp.js +3 -3
- package/dist/services/lp/lp.js.map +1 -1
- package/dist/services/lp/transferFromMAToPool.js +70 -0
- package/dist/services/lp/transferFromMAToPool.js.map +1 -0
- package/dist/services/lp/types.js.map +1 -1
- package/dist/services/lp/withdrawPassivePoolAndBridge.js +75 -0
- package/dist/services/lp/withdrawPassivePoolAndBridge.js.map +1 -0
- package/dist/services/margin-accounts/account.js +2 -2
- package/dist/services/margin-accounts/account.js.map +1 -1
- package/dist/services/margin-accounts/deposit.js +4 -6
- package/dist/services/margin-accounts/deposit.js.map +1 -1
- package/dist/services/margin-accounts/encode.js +33 -5
- package/dist/services/margin-accounts/encode.js.map +1 -1
- package/dist/services/margin-accounts/transferMarginBetweenAccounts.js +67 -0
- package/dist/services/margin-accounts/transferMarginBetweenAccounts.js.map +1 -0
- package/dist/services/margin-accounts/types.js.map +1 -1
- package/dist/services/margin-accounts/withdraw.js +4 -6
- package/dist/services/margin-accounts/withdraw.js.map +1 -1
- package/dist/services/margin-accounts/withdrawMAAndBridge.js +77 -0
- package/dist/services/margin-accounts/withdrawMAAndBridge.js.map +1 -0
- package/dist/services/orders/order.js +3 -3
- package/dist/services/orders/order.js.map +1 -1
- package/dist/services/sign.js +124 -0
- package/dist/services/sign.js.map +1 -0
- package/dist/services/token/approve.js +2 -2
- package/dist/services/token/approve.js.map +1 -1
- package/dist/services/token/getAllowance.js +2 -2
- package/dist/services/token/getAllowance.js.map +1 -1
- package/dist/types/services/encode.d.ts +3 -2
- package/dist/types/services/encode.d.ts.map +1 -1
- package/dist/types/services/executeTransaction.d.ts +3 -3
- package/dist/types/services/executeTransaction.d.ts.map +1 -1
- package/dist/types/services/lp/encode.d.ts +3 -0
- package/dist/types/services/lp/encode.d.ts.map +1 -1
- package/dist/types/services/lp/transferFromMAToPool.d.ts +3 -0
- package/dist/types/services/lp/transferFromMAToPool.d.ts.map +1 -0
- package/dist/types/services/lp/types.d.ts +28 -1
- package/dist/types/services/lp/types.d.ts.map +1 -1
- package/dist/types/services/lp/withdrawPassivePoolAndBridge.d.ts +3 -0
- package/dist/types/services/lp/withdrawPassivePoolAndBridge.d.ts.map +1 -0
- package/dist/types/services/margin-accounts/deposit.d.ts.map +1 -1
- package/dist/types/services/margin-accounts/encode.d.ts +5 -2
- package/dist/types/services/margin-accounts/encode.d.ts.map +1 -1
- package/dist/types/services/margin-accounts/transferMarginBetweenAccounts.d.ts +3 -0
- package/dist/types/services/margin-accounts/transferMarginBetweenAccounts.d.ts.map +1 -0
- package/dist/types/services/margin-accounts/types.d.ts +23 -0
- package/dist/types/services/margin-accounts/types.d.ts.map +1 -1
- package/dist/types/services/margin-accounts/withdraw.d.ts.map +1 -1
- package/dist/types/services/margin-accounts/withdrawMAAndBridge.d.ts +3 -0
- package/dist/types/services/margin-accounts/withdrawMAAndBridge.d.ts.map +1 -0
- package/dist/types/services/sign.d.ts +10 -0
- package/dist/types/services/sign.d.ts.map +1 -0
- package/dist/types/utils/contractAddresses.d.ts +5 -1
- package/dist/types/utils/contractAddresses.d.ts.map +1 -1
- package/dist/types/utils/routerCommands.d.ts +2 -1
- package/dist/types/utils/routerCommands.d.ts.map +1 -1
- package/dist/utils/contractAddresses.js +23 -14
- package/dist/utils/contractAddresses.js.map +1 -1
- package/dist/utils/routerCommands.js +2 -0
- package/dist/utils/routerCommands.js.map +1 -1
- package/package.json +3 -3
- package/src/abis/Periphery.json +700 -0
- package/src/services/encode.ts +17 -7
- package/src/services/executeTransaction.ts +5 -9
- package/src/services/lp/encode.ts +47 -0
- package/src/services/lp/lp.ts +3 -3
- package/src/services/lp/transferFromMAToPool.ts +48 -0
- package/src/services/lp/types.ts +32 -1
- package/src/services/lp/withdrawPassivePoolAndBridge.ts +56 -0
- package/src/services/margin-accounts/account.ts +2 -2
- package/src/services/margin-accounts/deposit.ts +2 -6
- package/src/services/margin-accounts/encode.ts +52 -6
- package/src/services/margin-accounts/transferMarginBetweenAccounts.ts +36 -0
- package/src/services/margin-accounts/types.ts +27 -0
- package/src/services/margin-accounts/withdraw.ts +2 -6
- package/src/services/margin-accounts/withdrawMAAndBridge.ts +56 -0
- package/src/services/orders/order.ts +3 -3
- package/src/services/sign.ts +110 -0
- package/src/services/token/approve.ts +3 -3
- package/src/services/token/getAllowance.ts +3 -3
- package/src/utils/contractAddresses.ts +17 -7
- package/src/utils/routerCommands.ts +2 -0
- package/dist/types/utils/consts.d.ts +0 -8
- package/dist/types/utils/consts.d.ts.map +0 -1
- package/dist/utils/consts.js +0 -12
- package/dist/utils/consts.js.map +0 -1
- package/src/utils/consts.ts +0 -7
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { JsonRpcSigner, Signature, Signer, TypedDataField } from 'ethers';
|
|
2
|
+
import { ContractType, getAddress } from '../utils/contractAddresses';
|
|
3
|
+
|
|
4
|
+
export type EIP712Signature = {
|
|
5
|
+
v: number;
|
|
6
|
+
r: string;
|
|
7
|
+
s: string;
|
|
8
|
+
deadline: number;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
function convertEthersSignatureToEIP712Signature(
|
|
12
|
+
signature: Signature,
|
|
13
|
+
deadline: number,
|
|
14
|
+
): EIP712Signature {
|
|
15
|
+
return {
|
|
16
|
+
v: signature.v,
|
|
17
|
+
r: signature.r,
|
|
18
|
+
s: signature.s,
|
|
19
|
+
deadline: deadline,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export async function signCoreCommands(
|
|
24
|
+
signer: Signer | JsonRpcSigner,
|
|
25
|
+
chainId: number,
|
|
26
|
+
accountId: number,
|
|
27
|
+
nonce: number,
|
|
28
|
+
deadline: number,
|
|
29
|
+
// todo: add caller/commands/both once smart contracts are fixed
|
|
30
|
+
): Promise<EIP712Signature> {
|
|
31
|
+
const signature = await signReyaTypedData(
|
|
32
|
+
signer,
|
|
33
|
+
chainId,
|
|
34
|
+
getAddress(chainId, ContractType.CORE_PROXY),
|
|
35
|
+
{
|
|
36
|
+
ExecuteBySig: [
|
|
37
|
+
{ name: 'accountId', type: 'uint128' },
|
|
38
|
+
{ name: 'nonce', type: 'uint256' },
|
|
39
|
+
{ name: 'deadline', type: 'uint256' },
|
|
40
|
+
],
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
accountId: accountId,
|
|
44
|
+
nonce: nonce,
|
|
45
|
+
deadline: deadline,
|
|
46
|
+
},
|
|
47
|
+
);
|
|
48
|
+
|
|
49
|
+
return convertEthersSignatureToEIP712Signature(signature, deadline);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export async function signPoolRemoveLiquidity(
|
|
53
|
+
signer: Signer | JsonRpcSigner,
|
|
54
|
+
chainId: number,
|
|
55
|
+
owner: string,
|
|
56
|
+
poolId: number,
|
|
57
|
+
sharesAmount: bigint,
|
|
58
|
+
minOut: bigint,
|
|
59
|
+
nonce: number,
|
|
60
|
+
deadline: number,
|
|
61
|
+
// todo: add caller once smart contracts are fixed
|
|
62
|
+
): Promise<EIP712Signature> {
|
|
63
|
+
const signature = await signReyaTypedData(
|
|
64
|
+
signer,
|
|
65
|
+
chainId,
|
|
66
|
+
getAddress(chainId, ContractType.PASSIVE_POOL_PROXY),
|
|
67
|
+
{
|
|
68
|
+
RemoveLiquidityBySig: [
|
|
69
|
+
{ name: 'owner', type: 'address' },
|
|
70
|
+
{ name: 'poolId', type: 'uint128' },
|
|
71
|
+
{ name: 'sharesAmount', type: 'uint256' },
|
|
72
|
+
{ name: 'minOut', type: 'uint256' },
|
|
73
|
+
{ name: 'nonce', type: 'uint256' },
|
|
74
|
+
{ name: 'deadline', type: 'uint256' },
|
|
75
|
+
],
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
owner: owner,
|
|
79
|
+
poolId: poolId,
|
|
80
|
+
sharesAmount: sharesAmount,
|
|
81
|
+
minOut: minOut,
|
|
82
|
+
nonce: nonce,
|
|
83
|
+
deadline: deadline,
|
|
84
|
+
},
|
|
85
|
+
);
|
|
86
|
+
|
|
87
|
+
return convertEthersSignatureToEIP712Signature(signature, deadline);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
async function signReyaTypedData(
|
|
91
|
+
signer: Signer | JsonRpcSigner,
|
|
92
|
+
chainId: number,
|
|
93
|
+
verifyingContract: string,
|
|
94
|
+
types: Record<string, Array<TypedDataField>>,
|
|
95
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
96
|
+
value: Record<string, any>,
|
|
97
|
+
): Promise<Signature> {
|
|
98
|
+
const signatureString = await signer.signTypedData(
|
|
99
|
+
{
|
|
100
|
+
name: 'Reya',
|
|
101
|
+
version: '1',
|
|
102
|
+
chainId: chainId,
|
|
103
|
+
verifyingContract: verifyingContract,
|
|
104
|
+
},
|
|
105
|
+
types,
|
|
106
|
+
value,
|
|
107
|
+
);
|
|
108
|
+
|
|
109
|
+
return Signature.from(signatureString);
|
|
110
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ApprovalType, ApproveTokenParams } from './types';
|
|
2
2
|
import { getERC20Allowance, getERC20TokenContract } from './common';
|
|
3
|
-
import { getAddress } from '../../utils/contractAddresses';
|
|
3
|
+
import { ContractType, getAddress } from '../../utils/contractAddresses';
|
|
4
4
|
|
|
5
5
|
export const approveTokenSpending = async (
|
|
6
6
|
params: ApproveTokenParams,
|
|
@@ -17,8 +17,8 @@ export const approveTokenSpending = async (
|
|
|
17
17
|
|
|
18
18
|
const contractProxyAddress =
|
|
19
19
|
params.type === ApprovalType.DEPOSIT
|
|
20
|
-
? getAddress(chainId,
|
|
21
|
-
: getAddress(chainId,
|
|
20
|
+
? getAddress(chainId, ContractType.CORE_PROXY)
|
|
21
|
+
: getAddress(chainId, ContractType.PASSIVE_POOL_PROXY);
|
|
22
22
|
|
|
23
23
|
// @todo validate if maxAllowance should be passed from UI
|
|
24
24
|
const maxUint256Bn = BigInt(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ApprovalType, GetAllowanceParams } from './types';
|
|
2
2
|
import { getERC20Allowance } from './common';
|
|
3
|
-
import { getAddress } from '../../utils/contractAddresses';
|
|
3
|
+
import { ContractType, getAddress } from '../../utils/contractAddresses';
|
|
4
4
|
|
|
5
5
|
export const getAllowance = async (
|
|
6
6
|
params: GetAllowanceParams,
|
|
@@ -12,8 +12,8 @@ export const getAllowance = async (
|
|
|
12
12
|
|
|
13
13
|
const contractProxyAddress =
|
|
14
14
|
params.type === ApprovalType.DEPOSIT
|
|
15
|
-
? getAddress(chainId,
|
|
16
|
-
: getAddress(chainId,
|
|
15
|
+
? getAddress(chainId, ContractType.CORE_PROXY)
|
|
16
|
+
: getAddress(chainId, ContractType.PASSIVE_POOL_PROXY);
|
|
17
17
|
const walletAddress: string = await params.signer.getAddress();
|
|
18
18
|
|
|
19
19
|
const allowance = await getERC20Allowance({
|
|
@@ -2,21 +2,31 @@ export type Address = Lowercase<string>;
|
|
|
2
2
|
// @todo update with proper chainId for mainnet
|
|
3
3
|
import { ReyaChainId } from '@reyaxyz/common';
|
|
4
4
|
|
|
5
|
-
export
|
|
5
|
+
export enum ContractType {
|
|
6
|
+
CORE_PROXY = 'core_proxy',
|
|
7
|
+
PASSIVE_POOL_PROXY = 'passive_pool_proxy',
|
|
8
|
+
PERIPHERY_PROXY = 'periphery_proxy',
|
|
9
|
+
}
|
|
6
10
|
|
|
7
11
|
const addresses: Record<ReyaChainId, Record<ContractType, Address>> = {
|
|
8
12
|
[ReyaChainId.polygonMumbai]: {
|
|
9
|
-
|
|
10
|
-
|
|
13
|
+
[ContractType.CORE_PROXY]: '0xc2f1b4a1275b7338e0eb03967fea3858af4bc900',
|
|
14
|
+
[ContractType.PASSIVE_POOL_PROXY]:
|
|
15
|
+
'0x1b9d499f3ac864b8d4da415846d1d1916e00a6ff',
|
|
16
|
+
[ContractType.PERIPHERY_PROXY]: 'todo',
|
|
11
17
|
},
|
|
12
18
|
[ReyaChainId.reyaCronos]: {
|
|
13
|
-
|
|
14
|
-
|
|
19
|
+
[ContractType.CORE_PROXY]: '0x141a7e35a22688c8e8f429da47e246f3896c5af8',
|
|
20
|
+
[ContractType.PASSIVE_POOL_PROXY]:
|
|
21
|
+
'0x730ea458b8b2d2fdf15406829c4106a12775bae0',
|
|
22
|
+
[ContractType.PERIPHERY_PROXY]: 'todo',
|
|
15
23
|
},
|
|
16
24
|
// TODO: add proper config
|
|
17
25
|
[ReyaChainId.reyaNetwork]: {
|
|
18
|
-
|
|
19
|
-
|
|
26
|
+
[ContractType.CORE_PROXY]: '0x2cb06a22ee9b823a307d22f131380dbe151ece5f',
|
|
27
|
+
[ContractType.PASSIVE_POOL_PROXY]:
|
|
28
|
+
'0x63df38878c5b8e84d7dcb347b934072add64bdc5',
|
|
29
|
+
[ContractType.PERIPHERY_PROXY]: 'todo',
|
|
20
30
|
},
|
|
21
31
|
};
|
|
22
32
|
export const getAddress = (
|
|
@@ -12,6 +12,7 @@ export enum CommandType {
|
|
|
12
12
|
DUTCH_LIQUIDATION,
|
|
13
13
|
MATCH_ORDER,
|
|
14
14
|
PROPAGATE_CACHE_FLOW,
|
|
15
|
+
TRANSFER_MARGIN_ACCOUNT,
|
|
15
16
|
}
|
|
16
17
|
|
|
17
18
|
const ABI_DEFINITION: { [key in CommandType]: string[] } = {
|
|
@@ -20,6 +21,7 @@ const ABI_DEFINITION: { [key in CommandType]: string[] } = {
|
|
|
20
21
|
[CommandType.MATCH_ORDER]: ['uint128[]', 'bytes'],
|
|
21
22
|
[CommandType.PROPAGATE_CACHE_FLOW]: [], // @todo Check if correct
|
|
22
23
|
[CommandType.DUTCH_LIQUIDATION]: [], // @todo update once needed
|
|
24
|
+
[CommandType.TRANSFER_MARGIN_ACCOUNT]: [], // @todo update once needed
|
|
23
25
|
};
|
|
24
26
|
|
|
25
27
|
export type RouterCommand = {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"consts.d.ts","sourceRoot":"/","sources":["utils/consts.ts"],"names":[],"mappings":"AAAA,oBAAY,eAAe;IACzB,cAAc,IAAA;IACd,OAAO,IAAA;IACP,QAAQ,IAAA;IACR,EAAE,IAAA;IACF,KAAK,IAAA;CACN"}
|
package/dist/utils/consts.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TransactionType = void 0;
|
|
4
|
-
var TransactionType;
|
|
5
|
-
(function (TransactionType) {
|
|
6
|
-
TransactionType[TransactionType["CREATE_ACCOUNT"] = 0] = "CREATE_ACCOUNT";
|
|
7
|
-
TransactionType[TransactionType["DEPOSIT"] = 1] = "DEPOSIT";
|
|
8
|
-
TransactionType[TransactionType["WITHDRAW"] = 2] = "WITHDRAW";
|
|
9
|
-
TransactionType[TransactionType["LP"] = 3] = "LP";
|
|
10
|
-
TransactionType[TransactionType["TRADE"] = 4] = "TRADE";
|
|
11
|
-
})(TransactionType || (exports.TransactionType = TransactionType = {}));
|
|
12
|
-
//# sourceMappingURL=consts.js.map
|
package/dist/utils/consts.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"consts.js","sourceRoot":"/","sources":["utils/consts.ts"],"names":[],"mappings":";;;AAAA,IAAY,eAMX;AAND,WAAY,eAAe;IACzB,yEAAc,CAAA;IACd,2DAAO,CAAA;IACP,6DAAQ,CAAA;IACR,iDAAE,CAAA;IACF,uDAAK,CAAA;AACP,CAAC,EANW,eAAe,+BAAf,eAAe,QAM1B","sourcesContent":["export enum TransactionType {\n CREATE_ACCOUNT,\n DEPOSIT,\n WITHDRAW,\n LP,\n TRADE,\n}\n"]}
|