damm-sdk 1.2.32 → 1.3.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/index.cjs +262 -3
- package/dist/index.cjs.map +7 -3
- package/dist/index.js +262 -3
- package/dist/index.js.map +7 -3
- package/dist/integrations/index.d.ts +2 -0
- package/dist/integrations/index.d.ts.map +1 -1
- package/dist/integrations/iporFusion/index.d.ts +2 -0
- package/dist/integrations/iporFusion/index.d.ts.map +1 -0
- package/dist/integrations/iporFusion/ipor.fusion.abi.d.ts +103 -0
- package/dist/integrations/iporFusion/ipor.fusion.abi.d.ts.map +1 -0
- package/dist/integrations/iporFusion/ipor.fusion.d.ts +32 -0
- package/dist/integrations/iporFusion/ipor.fusion.d.ts.map +1 -0
- package/dist/integrations/originArm/index.d.ts +2 -0
- package/dist/integrations/originArm/index.d.ts.map +1 -0
- package/dist/integrations/originArm/origin.arm.abi.d.ts +108 -0
- package/dist/integrations/originArm/origin.arm.abi.d.ts.map +1 -0
- package/dist/integrations/originArm/origin.arm.d.ts +41 -0
- package/dist/integrations/originArm/origin.arm.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/integrations/index.ts +2 -0
- package/src/integrations/iporFusion/index.ts +1 -0
- package/src/integrations/iporFusion/ipor.fusion.abi.ts +55 -0
- package/src/integrations/iporFusion/ipor.fusion.ts +93 -0
- package/src/integrations/originArm/index.ts +1 -0
- package/src/integrations/originArm/origin.arm.abi.ts +64 -0
- package/src/integrations/originArm/origin.arm.ts +144 -0
- package/src/lib/contractsRegistry.json +2 -1
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { ethers } from "ethers";
|
|
2
|
+
import { OriginArmVaultAbi, OriginArmStethZapperAbi, OriginArmUniversalZapperAbi } from "./origin.arm.abi";
|
|
3
|
+
import type { Address } from "viem";
|
|
4
|
+
import type { HexString, Unwrapable, Call } from "../../types";
|
|
5
|
+
import { createCall } from "../../types";
|
|
6
|
+
|
|
7
|
+
const vaultInterface = new ethers.utils.Interface(OriginArmVaultAbi);
|
|
8
|
+
const stethZapperInterface = new ethers.utils.Interface(OriginArmStethZapperAbi);
|
|
9
|
+
const universalZapperInterface = new ethers.utils.Interface(OriginArmUniversalZapperAbi);
|
|
10
|
+
|
|
11
|
+
// ============================================================================
|
|
12
|
+
// Deposit WETH (direct to vault)
|
|
13
|
+
// ============================================================================
|
|
14
|
+
|
|
15
|
+
export type DepositOriginArmWethArgs = Readonly<{
|
|
16
|
+
assets: bigint;
|
|
17
|
+
}>;
|
|
18
|
+
|
|
19
|
+
export const DepositOriginArmWethCalldata = ({ assets }: DepositOriginArmWethArgs): HexString => {
|
|
20
|
+
return vaultInterface.encodeFunctionData("deposit", [assets]) as HexString;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export const depositOriginArmWethTrx = ({
|
|
24
|
+
args,
|
|
25
|
+
vaultAddress,
|
|
26
|
+
}: {
|
|
27
|
+
args: DepositOriginArmWethArgs;
|
|
28
|
+
vaultAddress: Address;
|
|
29
|
+
}): Unwrapable<Call> => {
|
|
30
|
+
return createCall({
|
|
31
|
+
operation: 0,
|
|
32
|
+
to: vaultAddress,
|
|
33
|
+
value: 0n,
|
|
34
|
+
data: DepositOriginArmWethCalldata(args),
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
// ============================================================================
|
|
39
|
+
// Deposit ETH via stETH ARM Zapper (payable, no parameters)
|
|
40
|
+
// ============================================================================
|
|
41
|
+
|
|
42
|
+
export const DepositOriginArmEthViaZapperCalldata = (): HexString => {
|
|
43
|
+
return stethZapperInterface.encodeFunctionData("deposit") as HexString;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
export const depositOriginArmEthViaZapperTrx = ({
|
|
47
|
+
zapperAddress,
|
|
48
|
+
value,
|
|
49
|
+
}: {
|
|
50
|
+
zapperAddress: Address;
|
|
51
|
+
value: bigint;
|
|
52
|
+
}): Unwrapable<Call> => {
|
|
53
|
+
return createCall({
|
|
54
|
+
operation: 0,
|
|
55
|
+
to: zapperAddress,
|
|
56
|
+
value,
|
|
57
|
+
data: DepositOriginArmEthViaZapperCalldata(),
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
// ============================================================================
|
|
62
|
+
// Deposit ETH via Universal Zapper (payable, arm parameter)
|
|
63
|
+
// ============================================================================
|
|
64
|
+
|
|
65
|
+
export type DepositOriginArmEthViaUniversalZapperArgs = Readonly<{
|
|
66
|
+
arm: Address;
|
|
67
|
+
}>;
|
|
68
|
+
|
|
69
|
+
export const DepositOriginArmEthViaUniversalZapperCalldata = ({
|
|
70
|
+
arm,
|
|
71
|
+
}: DepositOriginArmEthViaUniversalZapperArgs): HexString => {
|
|
72
|
+
return universalZapperInterface.encodeFunctionData("deposit", [arm]) as HexString;
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
export const depositOriginArmEthViaUniversalZapperTrx = ({
|
|
76
|
+
args,
|
|
77
|
+
zapperAddress,
|
|
78
|
+
value,
|
|
79
|
+
}: {
|
|
80
|
+
args: DepositOriginArmEthViaUniversalZapperArgs;
|
|
81
|
+
zapperAddress: Address;
|
|
82
|
+
value: bigint;
|
|
83
|
+
}): Unwrapable<Call> => {
|
|
84
|
+
return createCall({
|
|
85
|
+
operation: 0,
|
|
86
|
+
to: zapperAddress,
|
|
87
|
+
value,
|
|
88
|
+
data: DepositOriginArmEthViaUniversalZapperCalldata(args),
|
|
89
|
+
});
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
// ============================================================================
|
|
93
|
+
// Request Redeem (async withdrawal - step 1)
|
|
94
|
+
// ============================================================================
|
|
95
|
+
|
|
96
|
+
export type RequestRedeemOriginArmArgs = Readonly<{
|
|
97
|
+
shares: bigint;
|
|
98
|
+
}>;
|
|
99
|
+
|
|
100
|
+
export const RequestRedeemOriginArmCalldata = ({ shares }: RequestRedeemOriginArmArgs): HexString => {
|
|
101
|
+
return vaultInterface.encodeFunctionData("requestRedeem", [shares]) as HexString;
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
export const requestRedeemOriginArmTrx = ({
|
|
105
|
+
args,
|
|
106
|
+
vaultAddress,
|
|
107
|
+
}: {
|
|
108
|
+
args: RequestRedeemOriginArmArgs;
|
|
109
|
+
vaultAddress: Address;
|
|
110
|
+
}): Unwrapable<Call> => {
|
|
111
|
+
return createCall({
|
|
112
|
+
operation: 0,
|
|
113
|
+
to: vaultAddress,
|
|
114
|
+
value: 0n,
|
|
115
|
+
data: RequestRedeemOriginArmCalldata(args),
|
|
116
|
+
});
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
// ============================================================================
|
|
120
|
+
// Claim Redeem (async withdrawal - step 2)
|
|
121
|
+
// ============================================================================
|
|
122
|
+
|
|
123
|
+
export type ClaimRedeemOriginArmArgs = Readonly<{
|
|
124
|
+
requestId: bigint;
|
|
125
|
+
}>;
|
|
126
|
+
|
|
127
|
+
export const ClaimRedeemOriginArmCalldata = ({ requestId }: ClaimRedeemOriginArmArgs): HexString => {
|
|
128
|
+
return vaultInterface.encodeFunctionData("claimRedeem", [requestId]) as HexString;
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
export const claimRedeemOriginArmTrx = ({
|
|
132
|
+
args,
|
|
133
|
+
vaultAddress,
|
|
134
|
+
}: {
|
|
135
|
+
args: ClaimRedeemOriginArmArgs;
|
|
136
|
+
vaultAddress: Address;
|
|
137
|
+
}): Unwrapable<Call> => {
|
|
138
|
+
return createCall({
|
|
139
|
+
operation: 0,
|
|
140
|
+
to: vaultAddress,
|
|
141
|
+
value: 0n,
|
|
142
|
+
data: ClaimRedeemOriginArmCalldata(args),
|
|
143
|
+
});
|
|
144
|
+
};
|
|
@@ -501,7 +501,8 @@
|
|
|
501
501
|
"bal": "0xba100000625a3754423978a60c9317c58a424e3D",
|
|
502
502
|
"cvx": "0x4e3FBD56CD56c3e72c1403e103b45Db9da5B9D2B",
|
|
503
503
|
"crv": "0xD533a949740bb3306d119CC777fa900bA034cd52",
|
|
504
|
-
"ausd": "0x00000000eFE302BEAA2b3e6e1b18d08D69a9012a"
|
|
504
|
+
"ausd": "0x00000000eFE302BEAA2b3e6e1b18d08D69a9012a",
|
|
505
|
+
"pendle": "0x808507121B80c02388FAd14726482e061B8da827"
|
|
505
506
|
},
|
|
506
507
|
"morpho": {
|
|
507
508
|
"morphoBlue": "0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb",
|