damm-sdk 1.4.43 → 1.4.44
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 +61 -1
- package/dist/index.cjs.map +5 -3
- package/dist/index.js +61 -1
- package/dist/index.js.map +5 -3
- package/dist/integrations/index.d.ts +1 -0
- package/dist/integrations/index.d.ts.map +1 -1
- package/dist/integrations/rocketpool/index.d.ts +2 -0
- package/dist/integrations/rocketpool/index.d.ts.map +1 -0
- package/dist/integrations/rocketpool/rocketpool.abi.d.ts +19 -0
- package/dist/integrations/rocketpool/rocketpool.abi.d.ts.map +1 -0
- package/dist/integrations/rocketpool/rocketpool.d.ts +16 -0
- package/dist/integrations/rocketpool/rocketpool.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/integrations/index.ts +1 -0
- package/src/integrations/rocketpool/index.ts +1 -0
- package/src/integrations/rocketpool/rocketpool.abi.ts +26 -0
- package/src/integrations/rocketpool/rocketpool.ts +66 -0
- package/src/lib/contractsRegistry.json +5 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/integrations/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/integrations/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/integrations/rocketpool/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare const RocketDepositPoolAbi: readonly [{
|
|
2
|
+
readonly inputs: readonly [];
|
|
3
|
+
readonly name: "deposit";
|
|
4
|
+
readonly outputs: readonly [];
|
|
5
|
+
readonly stateMutability: "payable";
|
|
6
|
+
readonly type: "function";
|
|
7
|
+
}];
|
|
8
|
+
export declare const RocketTokenRethAbi: readonly [{
|
|
9
|
+
readonly inputs: readonly [{
|
|
10
|
+
readonly internalType: "uint256";
|
|
11
|
+
readonly name: "_rethAmount";
|
|
12
|
+
readonly type: "uint256";
|
|
13
|
+
}];
|
|
14
|
+
readonly name: "burn";
|
|
15
|
+
readonly outputs: readonly [];
|
|
16
|
+
readonly stateMutability: "nonpayable";
|
|
17
|
+
readonly type: "function";
|
|
18
|
+
}];
|
|
19
|
+
//# sourceMappingURL=rocketpool.abi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rocketpool.abi.d.ts","sourceRoot":"","sources":["../../../src/integrations/rocketpool/rocketpool.abi.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,oBAAoB;;;;;;EAQvB,CAAC;AAMX,eAAO,MAAM,kBAAkB;;;;;;;;;;EAQrB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Address } from "viem";
|
|
2
|
+
import type { HexString, Unwrapable, Call } from "../../types";
|
|
3
|
+
export declare const DepositRocketPoolCalldata: () => HexString;
|
|
4
|
+
export declare const depositRocketPoolTrx: ({ rocketDepositPoolAddress, value, }: {
|
|
5
|
+
rocketDepositPoolAddress: Address;
|
|
6
|
+
value: bigint;
|
|
7
|
+
}) => Unwrapable<Call>;
|
|
8
|
+
export type BurnRocketPoolArgs = Readonly<{
|
|
9
|
+
rethAmount: bigint;
|
|
10
|
+
}>;
|
|
11
|
+
export declare const BurnRocketPoolCalldata: ({ rethAmount }: BurnRocketPoolArgs) => HexString;
|
|
12
|
+
export declare const burnRocketPoolTrx: ({ args, rethAddress, }: {
|
|
13
|
+
args: BurnRocketPoolArgs;
|
|
14
|
+
rethAddress: Address;
|
|
15
|
+
}) => Unwrapable<Call>;
|
|
16
|
+
//# sourceMappingURL=rocketpool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rocketpool.d.ts","sourceRoot":"","sources":["../../../src/integrations/rocketpool/rocketpool.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAc/D,eAAO,MAAM,yBAAyB,QAAO,SAE5C,CAAC;AAEF,eAAO,MAAM,oBAAoB;8BAIH,OAAO;WAC1B,MAAM;MACb,WAAW,IAAI,CAOlB,CAAC;AAUF,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC,CAAC;AAEH,eAAO,MAAM,sBAAsB,mBAAoB,kBAAkB,KAAG,SAE3E,CAAC;AAEF,eAAO,MAAM,iBAAiB;UAIpB,kBAAkB;iBACX,OAAO;MACpB,WAAW,IAAI,CAOlB,CAAC"}
|
package/package.json
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./rocketpool";
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// Rocket Pool RocketDepositPool — deposit() is the sole public entry point for
|
|
2
|
+
// staking ETH; mints rETH 1:1 in ETH value to msg.sender via the internal
|
|
3
|
+
// RocketTokenRETH.mint call. Resolved via RocketStorage (upgradeable).
|
|
4
|
+
export const RocketDepositPoolAbi = [
|
|
5
|
+
{
|
|
6
|
+
inputs: [],
|
|
7
|
+
name: "deposit",
|
|
8
|
+
outputs: [],
|
|
9
|
+
stateMutability: "payable",
|
|
10
|
+
type: "function",
|
|
11
|
+
},
|
|
12
|
+
] as const;
|
|
13
|
+
|
|
14
|
+
// Rocket Pool rETH (RocketTokenRETH) — fixed, non-upgradeable ERC20.
|
|
15
|
+
// burn() redeems rETH for ETH; succeeds only while RocketDepositPool holds
|
|
16
|
+
// sufficient ETH liquidity to service the redemption (protocol-level
|
|
17
|
+
// constraint enforced by the contract itself, not by the encoder).
|
|
18
|
+
export const RocketTokenRethAbi = [
|
|
19
|
+
{
|
|
20
|
+
inputs: [{ internalType: "uint256", name: "_rethAmount", type: "uint256" }],
|
|
21
|
+
name: "burn",
|
|
22
|
+
outputs: [],
|
|
23
|
+
stateMutability: "nonpayable",
|
|
24
|
+
type: "function",
|
|
25
|
+
},
|
|
26
|
+
] as const;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { ethers } from "ethers";
|
|
2
|
+
import { RocketDepositPoolAbi, RocketTokenRethAbi } from "./rocketpool.abi";
|
|
3
|
+
import type { Address } from "viem";
|
|
4
|
+
import type { HexString, Unwrapable, Call } from "../../types";
|
|
5
|
+
import { createCall } from "../../types";
|
|
6
|
+
|
|
7
|
+
const depositPoolInterface = new ethers.utils.Interface(RocketDepositPoolAbi);
|
|
8
|
+
const rethInterface = new ethers.utils.Interface(RocketTokenRethAbi);
|
|
9
|
+
|
|
10
|
+
// ============================================================================
|
|
11
|
+
// Deposit (stake ETH for rETH, payable)
|
|
12
|
+
//
|
|
13
|
+
// RocketDepositPool is resolved via RocketStorage.getAddress(key) and IS
|
|
14
|
+
// upgradeable. Callers must re-resolve `rocketDepositPoolAddress` on-chain at
|
|
15
|
+
// build/deploy time rather than caching a stale address.
|
|
16
|
+
// ============================================================================
|
|
17
|
+
|
|
18
|
+
export const DepositRocketPoolCalldata = (): HexString => {
|
|
19
|
+
return depositPoolInterface.encodeFunctionData("deposit", []) as HexString;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export const depositRocketPoolTrx = ({
|
|
23
|
+
rocketDepositPoolAddress,
|
|
24
|
+
value,
|
|
25
|
+
}: {
|
|
26
|
+
rocketDepositPoolAddress: Address;
|
|
27
|
+
value: bigint;
|
|
28
|
+
}): Unwrapable<Call> => {
|
|
29
|
+
return createCall({
|
|
30
|
+
operation: 0,
|
|
31
|
+
to: rocketDepositPoolAddress,
|
|
32
|
+
value,
|
|
33
|
+
data: DepositRocketPoolCalldata(),
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
// ============================================================================
|
|
38
|
+
// Burn rETH → ETH
|
|
39
|
+
//
|
|
40
|
+
// Succeeds only while RocketDepositPool holds sufficient ETH liquidity to
|
|
41
|
+
// service the redemption; reverts otherwise. This is a protocol-level
|
|
42
|
+
// constraint, not an encoder-level one.
|
|
43
|
+
// ============================================================================
|
|
44
|
+
|
|
45
|
+
export type BurnRocketPoolArgs = Readonly<{
|
|
46
|
+
rethAmount: bigint;
|
|
47
|
+
}>;
|
|
48
|
+
|
|
49
|
+
export const BurnRocketPoolCalldata = ({ rethAmount }: BurnRocketPoolArgs): HexString => {
|
|
50
|
+
return rethInterface.encodeFunctionData("burn", [rethAmount]) as HexString;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export const burnRocketPoolTrx = ({
|
|
54
|
+
args,
|
|
55
|
+
rethAddress,
|
|
56
|
+
}: {
|
|
57
|
+
args: BurnRocketPoolArgs;
|
|
58
|
+
rethAddress: Address;
|
|
59
|
+
}): Unwrapable<Call> => {
|
|
60
|
+
return createCall({
|
|
61
|
+
operation: 0,
|
|
62
|
+
to: rethAddress,
|
|
63
|
+
value: 0n,
|
|
64
|
+
data: BurnRocketPoolCalldata(args),
|
|
65
|
+
});
|
|
66
|
+
};
|
|
@@ -556,6 +556,11 @@
|
|
|
556
556
|
"wsteth": "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0",
|
|
557
557
|
"withdrawalQueue": "0x889edC2eDab5f40e902b864aD4d7AdE8E412F9B1"
|
|
558
558
|
},
|
|
559
|
+
"rocketpool": {
|
|
560
|
+
"reth": "0xae78736Cd615f374D3085123A210448E74Fc6393",
|
|
561
|
+
"rocketStorage": "0x1d8f8f00cfa6758d7bE78336684788Fb0ee0Fa46",
|
|
562
|
+
"depositPool": "0xCE15294273CFb9D9b628F4D61636623decDF4fdC"
|
|
563
|
+
},
|
|
559
564
|
"etherFi": {
|
|
560
565
|
"liquidityPool": "0xcfC6d9Bd7411962Bfe7145451A7EF71A24b6A7A2",
|
|
561
566
|
"withdrawAdapter": "0xFbfe6b9cEe0E555Bad7e2E7309EFFC75200cBE38",
|