@rabby-wallet/staking-sdk 0.1.0-alpha.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 +25 -0
- package/dist/addresses/deployments.d.ts +200 -0
- package/dist/addresses/deployments.d.ts.map +1 -0
- package/dist/addresses/deployments.js +223 -0
- package/dist/addresses/deployments.js.map +1 -0
- package/dist/addresses/erc4626.d.ts +74 -0
- package/dist/addresses/erc4626.d.ts.map +1 -0
- package/dist/addresses/erc4626.js +83 -0
- package/dist/addresses/erc4626.js.map +1 -0
- package/dist/addresses/index.d.ts +78 -0
- package/dist/addresses/index.d.ts.map +1 -0
- package/dist/addresses/index.js +13 -0
- package/dist/addresses/index.js.map +1 -0
- package/dist/addresses/univ2.d.ts +2 -0
- package/dist/addresses/univ2.d.ts.map +1 -0
- package/dist/addresses/univ2.js +2 -0
- package/dist/addresses/univ2.js.map +1 -0
- package/dist/addresses/univ3.d.ts +2 -0
- package/dist/addresses/univ3.d.ts.map +1 -0
- package/dist/addresses/univ3.js +2 -0
- package/dist/addresses/univ3.js.map +1 -0
- package/dist/core/abi/erc20.d.ts +13 -0
- package/dist/core/abi/erc20.d.ts.map +1 -0
- package/dist/core/abi/erc20.js +15 -0
- package/dist/core/abi/erc20.js.map +1 -0
- package/dist/core/abi/erc4626.d.ts +194 -0
- package/dist/core/abi/erc4626.d.ts.map +1 -0
- package/dist/core/abi/erc4626.js +191 -0
- package/dist/core/abi/erc4626.js.map +1 -0
- package/dist/core/abi/univ2.d.ts +181 -0
- package/dist/core/abi/univ2.d.ts.map +1 -0
- package/dist/core/abi/univ2.js +161 -0
- package/dist/core/abi/univ2.js.map +1 -0
- package/dist/core/abi/univ3.d.ts +369 -0
- package/dist/core/abi/univ3.d.ts.map +1 -0
- package/dist/core/abi/univ3.js +319 -0
- package/dist/core/abi/univ3.js.map +1 -0
- package/dist/core/chains.d.ts +3 -0
- package/dist/core/chains.d.ts.map +1 -0
- package/dist/core/chains.js +19 -0
- package/dist/core/chains.js.map +1 -0
- package/dist/core/errors.d.ts +30 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +49 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/read/erc20.d.ts +7 -0
- package/dist/core/read/erc20.d.ts.map +1 -0
- package/dist/core/read/erc20.js +7 -0
- package/dist/core/read/erc20.js.map +1 -0
- package/dist/core/types.d.ts +172 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +2 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/utils/abi.d.ts +9 -0
- package/dist/core/utils/abi.d.ts.map +1 -0
- package/dist/core/utils/abi.js +70 -0
- package/dist/core/utils/abi.js.map +1 -0
- package/dist/core/utils/address.d.ts +7 -0
- package/dist/core/utils/address.d.ts.map +1 -0
- package/dist/core/utils/address.js +17 -0
- package/dist/core/utils/address.js.map +1 -0
- package/dist/core/validation/allowlist.d.ts +18 -0
- package/dist/core/validation/allowlist.d.ts.map +1 -0
- package/dist/core/validation/allowlist.js +42 -0
- package/dist/core/validation/allowlist.js.map +1 -0
- package/dist/core/validation/deployments.d.ts +16 -0
- package/dist/core/validation/deployments.d.ts.map +1 -0
- package/dist/core/validation/deployments.js +65 -0
- package/dist/core/validation/deployments.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/protocols/erc4626/builders.d.ts +23 -0
- package/dist/protocols/erc4626/builders.d.ts.map +1 -0
- package/dist/protocols/erc4626/builders.js +94 -0
- package/dist/protocols/erc4626/builders.js.map +1 -0
- package/dist/protocols/erc4626/index.d.ts +3 -0
- package/dist/protocols/erc4626/index.d.ts.map +1 -0
- package/dist/protocols/erc4626/index.js +3 -0
- package/dist/protocols/erc4626/index.js.map +1 -0
- package/dist/protocols/erc4626/read.d.ts +17 -0
- package/dist/protocols/erc4626/read.d.ts.map +1 -0
- package/dist/protocols/erc4626/read.js +46 -0
- package/dist/protocols/erc4626/read.js.map +1 -0
- package/dist/protocols/univ2/builders.d.ts +24 -0
- package/dist/protocols/univ2/builders.d.ts.map +1 -0
- package/dist/protocols/univ2/builders.js +94 -0
- package/dist/protocols/univ2/builders.js.map +1 -0
- package/dist/protocols/univ2/index.d.ts +5 -0
- package/dist/protocols/univ2/index.d.ts.map +1 -0
- package/dist/protocols/univ2/index.js +5 -0
- package/dist/protocols/univ2/index.js.map +1 -0
- package/dist/protocols/univ2/math.d.ts +24 -0
- package/dist/protocols/univ2/math.d.ts.map +1 -0
- package/dist/protocols/univ2/math.js +70 -0
- package/dist/protocols/univ2/math.js.map +1 -0
- package/dist/protocols/univ2/read.d.ts +22 -0
- package/dist/protocols/univ2/read.d.ts.map +1 -0
- package/dist/protocols/univ2/read.js +52 -0
- package/dist/protocols/univ2/read.js.map +1 -0
- package/dist/protocols/univ2/resolve.d.ts +34 -0
- package/dist/protocols/univ2/resolve.d.ts.map +1 -0
- package/dist/protocols/univ2/resolve.js +130 -0
- package/dist/protocols/univ2/resolve.js.map +1 -0
- package/dist/protocols/univ3/builders.d.ts +56 -0
- package/dist/protocols/univ3/builders.d.ts.map +1 -0
- package/dist/protocols/univ3/builders.js +197 -0
- package/dist/protocols/univ3/builders.js.map +1 -0
- package/dist/protocols/univ3/index.d.ts +7 -0
- package/dist/protocols/univ3/index.d.ts.map +1 -0
- package/dist/protocols/univ3/index.js +7 -0
- package/dist/protocols/univ3/index.js.map +1 -0
- package/dist/protocols/univ3/math.d.ts +45 -0
- package/dist/protocols/univ3/math.d.ts.map +1 -0
- package/dist/protocols/univ3/math.js +219 -0
- package/dist/protocols/univ3/math.js.map +1 -0
- package/dist/protocols/univ3/quote.d.ts +117 -0
- package/dist/protocols/univ3/quote.d.ts.map +1 -0
- package/dist/protocols/univ3/quote.js +315 -0
- package/dist/protocols/univ3/quote.js.map +1 -0
- package/dist/protocols/univ3/read.d.ts +28 -0
- package/dist/protocols/univ3/read.d.ts.map +1 -0
- package/dist/protocols/univ3/read.js +73 -0
- package/dist/protocols/univ3/read.js.map +1 -0
- package/dist/protocols/univ3/resolve.d.ts +38 -0
- package/dist/protocols/univ3/resolve.d.ts.map +1 -0
- package/dist/protocols/univ3/resolve.js +166 -0
- package/dist/protocols/univ3/resolve.js.map +1 -0
- package/dist/protocols/univ3/ticks.d.ts +15 -0
- package/dist/protocols/univ3/ticks.d.ts.map +1 -0
- package/dist/protocols/univ3/ticks.js +61 -0
- package/dist/protocols/univ3/ticks.js.map +1 -0
- package/package.json +49 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
export { PROTOCOL_DEPLOYMENTS } from './deployments.js';
|
|
2
|
+
export { ERC4626_POOLS } from './erc4626.js';
|
|
3
|
+
export { UNIV2_POOLS } from './univ2.js';
|
|
4
|
+
export { UNIV3_POOLS } from './univ3.js';
|
|
5
|
+
export declare const STAKING_ADDRESS_BOOK: readonly [{
|
|
6
|
+
readonly poolIds: readonly [string];
|
|
7
|
+
readonly chainId: "eth";
|
|
8
|
+
readonly protocolId: "spark";
|
|
9
|
+
readonly type: "erc4626";
|
|
10
|
+
readonly poolAddress: `0x${string}`;
|
|
11
|
+
readonly vault: `0x${string}`;
|
|
12
|
+
readonly spender: `0x${string}`;
|
|
13
|
+
readonly asset: `0x${string}`;
|
|
14
|
+
readonly assetSymbol: "WETH";
|
|
15
|
+
readonly shareSymbol: "spETH";
|
|
16
|
+
readonly verification: "fork-verified";
|
|
17
|
+
}, {
|
|
18
|
+
readonly poolIds: readonly [string];
|
|
19
|
+
readonly chainId: "eth";
|
|
20
|
+
readonly protocolId: "spark";
|
|
21
|
+
readonly type: "erc4626";
|
|
22
|
+
readonly poolAddress: `0x${string}`;
|
|
23
|
+
readonly vault: `0x${string}`;
|
|
24
|
+
readonly spender: `0x${string}`;
|
|
25
|
+
readonly asset: `0x${string}`;
|
|
26
|
+
readonly assetSymbol: "USDC";
|
|
27
|
+
readonly shareSymbol: "spUSDC";
|
|
28
|
+
readonly verification: "fork-verified";
|
|
29
|
+
}, {
|
|
30
|
+
readonly poolIds: readonly [string];
|
|
31
|
+
readonly chainId: "eth";
|
|
32
|
+
readonly protocolId: "spark";
|
|
33
|
+
readonly type: "erc4626";
|
|
34
|
+
readonly poolAddress: `0x${string}`;
|
|
35
|
+
readonly vault: `0x${string}`;
|
|
36
|
+
readonly spender: `0x${string}`;
|
|
37
|
+
readonly asset: `0x${string}`;
|
|
38
|
+
readonly assetSymbol: "USDT";
|
|
39
|
+
readonly shareSymbol: "spUSDT";
|
|
40
|
+
readonly verification: "fork-verified";
|
|
41
|
+
}, {
|
|
42
|
+
readonly poolIds: readonly [string];
|
|
43
|
+
readonly chainId: "eth";
|
|
44
|
+
readonly protocolId: "spark";
|
|
45
|
+
readonly type: "erc4626";
|
|
46
|
+
readonly poolAddress: `0x${string}`;
|
|
47
|
+
readonly vault: `0x${string}`;
|
|
48
|
+
readonly spender: `0x${string}`;
|
|
49
|
+
readonly asset: `0x${string}`;
|
|
50
|
+
readonly assetSymbol: "PYUSD";
|
|
51
|
+
readonly shareSymbol: "spPYUSD";
|
|
52
|
+
readonly verification: "fork-verified";
|
|
53
|
+
}, {
|
|
54
|
+
readonly poolIds: readonly [string];
|
|
55
|
+
readonly chainId: "eth";
|
|
56
|
+
readonly protocolId: "sky";
|
|
57
|
+
readonly type: "erc4626";
|
|
58
|
+
readonly poolAddress: `0x${string}`;
|
|
59
|
+
readonly vault: `0x${string}`;
|
|
60
|
+
readonly spender: `0x${string}`;
|
|
61
|
+
readonly asset: `0x${string}`;
|
|
62
|
+
readonly assetSymbol: "USDS";
|
|
63
|
+
readonly shareSymbol: "sUSDS";
|
|
64
|
+
readonly verification: "fork-verified";
|
|
65
|
+
}, {
|
|
66
|
+
readonly poolIds: readonly [string];
|
|
67
|
+
readonly chainId: "eth";
|
|
68
|
+
readonly protocolId: "sky";
|
|
69
|
+
readonly type: "erc4626";
|
|
70
|
+
readonly poolAddress: `0x${string}`;
|
|
71
|
+
readonly vault: `0x${string}`;
|
|
72
|
+
readonly spender: `0x${string}`;
|
|
73
|
+
readonly asset: `0x${string}`;
|
|
74
|
+
readonly assetSymbol: "DAI";
|
|
75
|
+
readonly shareSymbol: "sDAI";
|
|
76
|
+
readonly verification: "fork-verified";
|
|
77
|
+
}];
|
|
78
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/addresses/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIsB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ERC4626_POOLS } from './erc4626.js';
|
|
2
|
+
import { UNIV2_POOLS } from './univ2.js';
|
|
3
|
+
import { UNIV3_POOLS } from './univ3.js';
|
|
4
|
+
export { PROTOCOL_DEPLOYMENTS } from './deployments.js';
|
|
5
|
+
export { ERC4626_POOLS } from './erc4626.js';
|
|
6
|
+
export { UNIV2_POOLS } from './univ2.js';
|
|
7
|
+
export { UNIV3_POOLS } from './univ3.js';
|
|
8
|
+
export const STAKING_ADDRESS_BOOK = [
|
|
9
|
+
...ERC4626_POOLS,
|
|
10
|
+
...UNIV2_POOLS,
|
|
11
|
+
...UNIV3_POOLS,
|
|
12
|
+
];
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/addresses/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,GAAG,aAAa;IAChB,GAAG,WAAW;IACd,GAAG,WAAW;CACuC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"univ2.d.ts","sourceRoot":"","sources":["../../src/addresses/univ2.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,aAAyD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"univ2.js","sourceRoot":"","sources":["../../src/addresses/univ2.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,WAAW,GAAG,EAAsD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"univ3.d.ts","sourceRoot":"","sources":["../../src/addresses/univ3.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,aAAyD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"univ3.js","sourceRoot":"","sources":["../../src/addresses/univ3.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,WAAW,GAAG,EAAsD,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Hex } from '../types.js';
|
|
2
|
+
export declare const ERC20_METADATA_ABI: readonly [{
|
|
3
|
+
readonly type: "function";
|
|
4
|
+
readonly name: "decimals";
|
|
5
|
+
readonly stateMutability: "view";
|
|
6
|
+
readonly inputs: readonly [];
|
|
7
|
+
readonly outputs: readonly [{
|
|
8
|
+
readonly name: "decimals";
|
|
9
|
+
readonly type: "uint8";
|
|
10
|
+
}];
|
|
11
|
+
}];
|
|
12
|
+
export declare const encodeErc20Decimals: () => Hex;
|
|
13
|
+
//# sourceMappingURL=erc20.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"erc20.d.ts","sourceRoot":"","sources":["../../../src/core/abi/erc20.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEvC,eAAO,MAAM,kBAAkB;;;;;;;;;EAQrB,CAAC;AAEX,eAAO,MAAM,mBAAmB,QAAO,GAI5B,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { encodeFunctionData } from 'viem';
|
|
2
|
+
export const ERC20_METADATA_ABI = [
|
|
3
|
+
{
|
|
4
|
+
type: 'function',
|
|
5
|
+
name: 'decimals',
|
|
6
|
+
stateMutability: 'view',
|
|
7
|
+
inputs: [],
|
|
8
|
+
outputs: [{ name: 'decimals', type: 'uint8' }],
|
|
9
|
+
},
|
|
10
|
+
];
|
|
11
|
+
export const encodeErc20Decimals = () => encodeFunctionData({
|
|
12
|
+
abi: ERC20_METADATA_ABI,
|
|
13
|
+
functionName: 'decimals',
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=erc20.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"erc20.js","sourceRoot":"","sources":["../../../src/core/abi/erc20.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAI1C,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;KAC/C;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAQ,EAAE,CAC3C,kBAAkB,CAAC;IACjB,GAAG,EAAE,kBAAkB;IACvB,YAAY,EAAE,UAAU;CACzB,CAAQ,CAAC"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import type { Hex } from '../types.js';
|
|
2
|
+
export declare const ERC4626_ABI: readonly [{
|
|
3
|
+
readonly type: "function";
|
|
4
|
+
readonly name: "asset";
|
|
5
|
+
readonly stateMutability: "view";
|
|
6
|
+
readonly inputs: readonly [];
|
|
7
|
+
readonly outputs: readonly [{
|
|
8
|
+
readonly name: "assetTokenAddress";
|
|
9
|
+
readonly type: "address";
|
|
10
|
+
}];
|
|
11
|
+
}, {
|
|
12
|
+
readonly type: "function";
|
|
13
|
+
readonly name: "totalAssets";
|
|
14
|
+
readonly stateMutability: "view";
|
|
15
|
+
readonly inputs: readonly [];
|
|
16
|
+
readonly outputs: readonly [{
|
|
17
|
+
readonly name: "totalManagedAssets";
|
|
18
|
+
readonly type: "uint256";
|
|
19
|
+
}];
|
|
20
|
+
}, {
|
|
21
|
+
readonly type: "function";
|
|
22
|
+
readonly name: "balanceOf";
|
|
23
|
+
readonly stateMutability: "view";
|
|
24
|
+
readonly inputs: readonly [{
|
|
25
|
+
readonly name: "owner";
|
|
26
|
+
readonly type: "address";
|
|
27
|
+
}];
|
|
28
|
+
readonly outputs: readonly [{
|
|
29
|
+
readonly name: "balance";
|
|
30
|
+
readonly type: "uint256";
|
|
31
|
+
}];
|
|
32
|
+
}, {
|
|
33
|
+
readonly type: "function";
|
|
34
|
+
readonly name: "convertToShares";
|
|
35
|
+
readonly stateMutability: "view";
|
|
36
|
+
readonly inputs: readonly [{
|
|
37
|
+
readonly name: "assets";
|
|
38
|
+
readonly type: "uint256";
|
|
39
|
+
}];
|
|
40
|
+
readonly outputs: readonly [{
|
|
41
|
+
readonly name: "shares";
|
|
42
|
+
readonly type: "uint256";
|
|
43
|
+
}];
|
|
44
|
+
}, {
|
|
45
|
+
readonly type: "function";
|
|
46
|
+
readonly name: "convertToAssets";
|
|
47
|
+
readonly stateMutability: "view";
|
|
48
|
+
readonly inputs: readonly [{
|
|
49
|
+
readonly name: "shares";
|
|
50
|
+
readonly type: "uint256";
|
|
51
|
+
}];
|
|
52
|
+
readonly outputs: readonly [{
|
|
53
|
+
readonly name: "assets";
|
|
54
|
+
readonly type: "uint256";
|
|
55
|
+
}];
|
|
56
|
+
}, {
|
|
57
|
+
readonly type: "function";
|
|
58
|
+
readonly name: "maxDeposit";
|
|
59
|
+
readonly stateMutability: "view";
|
|
60
|
+
readonly inputs: readonly [{
|
|
61
|
+
readonly name: "receiver";
|
|
62
|
+
readonly type: "address";
|
|
63
|
+
}];
|
|
64
|
+
readonly outputs: readonly [{
|
|
65
|
+
readonly name: "maxAssets";
|
|
66
|
+
readonly type: "uint256";
|
|
67
|
+
}];
|
|
68
|
+
}, {
|
|
69
|
+
readonly type: "function";
|
|
70
|
+
readonly name: "previewDeposit";
|
|
71
|
+
readonly stateMutability: "view";
|
|
72
|
+
readonly inputs: readonly [{
|
|
73
|
+
readonly name: "assets";
|
|
74
|
+
readonly type: "uint256";
|
|
75
|
+
}];
|
|
76
|
+
readonly outputs: readonly [{
|
|
77
|
+
readonly name: "shares";
|
|
78
|
+
readonly type: "uint256";
|
|
79
|
+
}];
|
|
80
|
+
}, {
|
|
81
|
+
readonly type: "function";
|
|
82
|
+
readonly name: "deposit";
|
|
83
|
+
readonly stateMutability: "nonpayable";
|
|
84
|
+
readonly inputs: readonly [{
|
|
85
|
+
readonly name: "assets";
|
|
86
|
+
readonly type: "uint256";
|
|
87
|
+
}, {
|
|
88
|
+
readonly name: "receiver";
|
|
89
|
+
readonly type: "address";
|
|
90
|
+
}];
|
|
91
|
+
readonly outputs: readonly [{
|
|
92
|
+
readonly name: "shares";
|
|
93
|
+
readonly type: "uint256";
|
|
94
|
+
}];
|
|
95
|
+
}, {
|
|
96
|
+
readonly type: "function";
|
|
97
|
+
readonly name: "maxWithdraw";
|
|
98
|
+
readonly stateMutability: "view";
|
|
99
|
+
readonly inputs: readonly [{
|
|
100
|
+
readonly name: "owner";
|
|
101
|
+
readonly type: "address";
|
|
102
|
+
}];
|
|
103
|
+
readonly outputs: readonly [{
|
|
104
|
+
readonly name: "maxAssets";
|
|
105
|
+
readonly type: "uint256";
|
|
106
|
+
}];
|
|
107
|
+
}, {
|
|
108
|
+
readonly type: "function";
|
|
109
|
+
readonly name: "previewWithdraw";
|
|
110
|
+
readonly stateMutability: "view";
|
|
111
|
+
readonly inputs: readonly [{
|
|
112
|
+
readonly name: "assets";
|
|
113
|
+
readonly type: "uint256";
|
|
114
|
+
}];
|
|
115
|
+
readonly outputs: readonly [{
|
|
116
|
+
readonly name: "shares";
|
|
117
|
+
readonly type: "uint256";
|
|
118
|
+
}];
|
|
119
|
+
}, {
|
|
120
|
+
readonly type: "function";
|
|
121
|
+
readonly name: "withdraw";
|
|
122
|
+
readonly stateMutability: "nonpayable";
|
|
123
|
+
readonly inputs: readonly [{
|
|
124
|
+
readonly name: "assets";
|
|
125
|
+
readonly type: "uint256";
|
|
126
|
+
}, {
|
|
127
|
+
readonly name: "receiver";
|
|
128
|
+
readonly type: "address";
|
|
129
|
+
}, {
|
|
130
|
+
readonly name: "owner";
|
|
131
|
+
readonly type: "address";
|
|
132
|
+
}];
|
|
133
|
+
readonly outputs: readonly [{
|
|
134
|
+
readonly name: "shares";
|
|
135
|
+
readonly type: "uint256";
|
|
136
|
+
}];
|
|
137
|
+
}, {
|
|
138
|
+
readonly type: "function";
|
|
139
|
+
readonly name: "maxRedeem";
|
|
140
|
+
readonly stateMutability: "view";
|
|
141
|
+
readonly inputs: readonly [{
|
|
142
|
+
readonly name: "owner";
|
|
143
|
+
readonly type: "address";
|
|
144
|
+
}];
|
|
145
|
+
readonly outputs: readonly [{
|
|
146
|
+
readonly name: "maxShares";
|
|
147
|
+
readonly type: "uint256";
|
|
148
|
+
}];
|
|
149
|
+
}, {
|
|
150
|
+
readonly type: "function";
|
|
151
|
+
readonly name: "previewRedeem";
|
|
152
|
+
readonly stateMutability: "view";
|
|
153
|
+
readonly inputs: readonly [{
|
|
154
|
+
readonly name: "shares";
|
|
155
|
+
readonly type: "uint256";
|
|
156
|
+
}];
|
|
157
|
+
readonly outputs: readonly [{
|
|
158
|
+
readonly name: "assets";
|
|
159
|
+
readonly type: "uint256";
|
|
160
|
+
}];
|
|
161
|
+
}, {
|
|
162
|
+
readonly type: "function";
|
|
163
|
+
readonly name: "redeem";
|
|
164
|
+
readonly stateMutability: "nonpayable";
|
|
165
|
+
readonly inputs: readonly [{
|
|
166
|
+
readonly name: "shares";
|
|
167
|
+
readonly type: "uint256";
|
|
168
|
+
}, {
|
|
169
|
+
readonly name: "receiver";
|
|
170
|
+
readonly type: "address";
|
|
171
|
+
}, {
|
|
172
|
+
readonly name: "owner";
|
|
173
|
+
readonly type: "address";
|
|
174
|
+
}];
|
|
175
|
+
readonly outputs: readonly [{
|
|
176
|
+
readonly name: "assets";
|
|
177
|
+
readonly type: "uint256";
|
|
178
|
+
}];
|
|
179
|
+
}];
|
|
180
|
+
export declare const encodeErc4626Asset: () => Hex;
|
|
181
|
+
export declare const encodeErc4626TotalAssets: () => Hex;
|
|
182
|
+
export declare const encodeErc4626BalanceOf: (owner: string) => Hex;
|
|
183
|
+
export declare const encodeErc4626ConvertToShares: (assets: string | bigint) => Hex;
|
|
184
|
+
export declare const encodeErc4626ConvertToAssets: (shares: string | bigint) => Hex;
|
|
185
|
+
export declare const encodeErc4626MaxDeposit: (receiver: string) => Hex;
|
|
186
|
+
export declare const encodeErc4626PreviewDeposit: (assets: string | bigint) => Hex;
|
|
187
|
+
export declare const encodeErc4626Deposit: (assets: string | bigint, receiver: string) => Hex;
|
|
188
|
+
export declare const encodeErc4626MaxWithdraw: (owner: string) => Hex;
|
|
189
|
+
export declare const encodeErc4626PreviewWithdraw: (assets: string | bigint) => Hex;
|
|
190
|
+
export declare const encodeErc4626Withdraw: (assets: string | bigint, receiver: string, owner: string) => Hex;
|
|
191
|
+
export declare const encodeErc4626MaxRedeem: (owner: string) => Hex;
|
|
192
|
+
export declare const encodeErc4626PreviewRedeem: (shares: string | bigint) => Hex;
|
|
193
|
+
export declare const encodeErc4626Redeem: (shares: string | bigint, receiver: string, owner: string) => Hex;
|
|
194
|
+
//# sourceMappingURL=erc4626.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"erc4626.d.ts","sourceRoot":"","sources":["../../../src/core/abi/erc4626.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAIvC,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8Gd,CAAC;AAEX,eAAO,MAAM,kBAAkB,QAAO,GAI3B,CAAC;AAEZ,eAAO,MAAM,wBAAwB,QAAO,GAIjC,CAAC;AAEZ,eAAO,MAAM,sBAAsB,GAAI,OAAO,MAAM,KAAG,GAK5C,CAAC;AAEZ,eAAO,MAAM,4BAA4B,GAAI,QAAQ,MAAM,GAAG,MAAM,KAAG,GAK5D,CAAC;AAEZ,eAAO,MAAM,4BAA4B,GAAI,QAAQ,MAAM,GAAG,MAAM,KAAG,GAK5D,CAAC;AAEZ,eAAO,MAAM,uBAAuB,GAAI,UAAU,MAAM,KAAG,GAKhD,CAAC;AAEZ,eAAO,MAAM,2BAA2B,GAAI,QAAQ,MAAM,GAAG,MAAM,KAAG,GAK3D,CAAC;AAEZ,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,MAAM,GAAG,MAAM,EACvB,UAAU,MAAM,KACf,GAKQ,CAAC;AAEZ,eAAO,MAAM,wBAAwB,GAAI,OAAO,MAAM,KAAG,GAK9C,CAAC;AAEZ,eAAO,MAAM,4BAA4B,GAAI,QAAQ,MAAM,GAAG,MAAM,KAAG,GAK5D,CAAC;AAEZ,eAAO,MAAM,qBAAqB,GAChC,QAAQ,MAAM,GAAG,MAAM,EACvB,UAAU,MAAM,EAChB,OAAO,MAAM,KACZ,GASQ,CAAC;AAEZ,eAAO,MAAM,sBAAsB,GAAI,OAAO,MAAM,KAAG,GAK5C,CAAC;AAEZ,eAAO,MAAM,0BAA0B,GAAI,QAAQ,MAAM,GAAG,MAAM,KAAG,GAK1D,CAAC;AAEZ,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,MAAM,GAAG,MAAM,EACvB,UAAU,MAAM,EAChB,OAAO,MAAM,KACZ,GASQ,CAAC"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import { encodeFunctionData } from 'viem';
|
|
2
|
+
import { normalizeAddress } from '../utils/address.js';
|
|
3
|
+
import { parseRawUint256 } from '../utils/abi.js';
|
|
4
|
+
export const ERC4626_ABI = [
|
|
5
|
+
{
|
|
6
|
+
type: 'function',
|
|
7
|
+
name: 'asset',
|
|
8
|
+
stateMutability: 'view',
|
|
9
|
+
inputs: [],
|
|
10
|
+
outputs: [{ name: 'assetTokenAddress', type: 'address' }],
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
type: 'function',
|
|
14
|
+
name: 'totalAssets',
|
|
15
|
+
stateMutability: 'view',
|
|
16
|
+
inputs: [],
|
|
17
|
+
outputs: [{ name: 'totalManagedAssets', type: 'uint256' }],
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
type: 'function',
|
|
21
|
+
name: 'balanceOf',
|
|
22
|
+
stateMutability: 'view',
|
|
23
|
+
inputs: [{ name: 'owner', type: 'address' }],
|
|
24
|
+
outputs: [{ name: 'balance', type: 'uint256' }],
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
type: 'function',
|
|
28
|
+
name: 'convertToShares',
|
|
29
|
+
stateMutability: 'view',
|
|
30
|
+
inputs: [{ name: 'assets', type: 'uint256' }],
|
|
31
|
+
outputs: [{ name: 'shares', type: 'uint256' }],
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
type: 'function',
|
|
35
|
+
name: 'convertToAssets',
|
|
36
|
+
stateMutability: 'view',
|
|
37
|
+
inputs: [{ name: 'shares', type: 'uint256' }],
|
|
38
|
+
outputs: [{ name: 'assets', type: 'uint256' }],
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
type: 'function',
|
|
42
|
+
name: 'maxDeposit',
|
|
43
|
+
stateMutability: 'view',
|
|
44
|
+
inputs: [{ name: 'receiver', type: 'address' }],
|
|
45
|
+
outputs: [{ name: 'maxAssets', type: 'uint256' }],
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
type: 'function',
|
|
49
|
+
name: 'previewDeposit',
|
|
50
|
+
stateMutability: 'view',
|
|
51
|
+
inputs: [{ name: 'assets', type: 'uint256' }],
|
|
52
|
+
outputs: [{ name: 'shares', type: 'uint256' }],
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
type: 'function',
|
|
56
|
+
name: 'deposit',
|
|
57
|
+
stateMutability: 'nonpayable',
|
|
58
|
+
inputs: [
|
|
59
|
+
{ name: 'assets', type: 'uint256' },
|
|
60
|
+
{ name: 'receiver', type: 'address' },
|
|
61
|
+
],
|
|
62
|
+
outputs: [{ name: 'shares', type: 'uint256' }],
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
type: 'function',
|
|
66
|
+
name: 'maxWithdraw',
|
|
67
|
+
stateMutability: 'view',
|
|
68
|
+
inputs: [{ name: 'owner', type: 'address' }],
|
|
69
|
+
outputs: [{ name: 'maxAssets', type: 'uint256' }],
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'function',
|
|
73
|
+
name: 'previewWithdraw',
|
|
74
|
+
stateMutability: 'view',
|
|
75
|
+
inputs: [{ name: 'assets', type: 'uint256' }],
|
|
76
|
+
outputs: [{ name: 'shares', type: 'uint256' }],
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
type: 'function',
|
|
80
|
+
name: 'withdraw',
|
|
81
|
+
stateMutability: 'nonpayable',
|
|
82
|
+
inputs: [
|
|
83
|
+
{ name: 'assets', type: 'uint256' },
|
|
84
|
+
{ name: 'receiver', type: 'address' },
|
|
85
|
+
{ name: 'owner', type: 'address' },
|
|
86
|
+
],
|
|
87
|
+
outputs: [{ name: 'shares', type: 'uint256' }],
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
type: 'function',
|
|
91
|
+
name: 'maxRedeem',
|
|
92
|
+
stateMutability: 'view',
|
|
93
|
+
inputs: [{ name: 'owner', type: 'address' }],
|
|
94
|
+
outputs: [{ name: 'maxShares', type: 'uint256' }],
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
type: 'function',
|
|
98
|
+
name: 'previewRedeem',
|
|
99
|
+
stateMutability: 'view',
|
|
100
|
+
inputs: [{ name: 'shares', type: 'uint256' }],
|
|
101
|
+
outputs: [{ name: 'assets', type: 'uint256' }],
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
type: 'function',
|
|
105
|
+
name: 'redeem',
|
|
106
|
+
stateMutability: 'nonpayable',
|
|
107
|
+
inputs: [
|
|
108
|
+
{ name: 'shares', type: 'uint256' },
|
|
109
|
+
{ name: 'receiver', type: 'address' },
|
|
110
|
+
{ name: 'owner', type: 'address' },
|
|
111
|
+
],
|
|
112
|
+
outputs: [{ name: 'assets', type: 'uint256' }],
|
|
113
|
+
},
|
|
114
|
+
];
|
|
115
|
+
export const encodeErc4626Asset = () => encodeFunctionData({
|
|
116
|
+
abi: ERC4626_ABI,
|
|
117
|
+
functionName: 'asset',
|
|
118
|
+
});
|
|
119
|
+
export const encodeErc4626TotalAssets = () => encodeFunctionData({
|
|
120
|
+
abi: ERC4626_ABI,
|
|
121
|
+
functionName: 'totalAssets',
|
|
122
|
+
});
|
|
123
|
+
export const encodeErc4626BalanceOf = (owner) => encodeFunctionData({
|
|
124
|
+
abi: ERC4626_ABI,
|
|
125
|
+
functionName: 'balanceOf',
|
|
126
|
+
args: [normalizeAddress('owner', owner)],
|
|
127
|
+
});
|
|
128
|
+
export const encodeErc4626ConvertToShares = (assets) => encodeFunctionData({
|
|
129
|
+
abi: ERC4626_ABI,
|
|
130
|
+
functionName: 'convertToShares',
|
|
131
|
+
args: [parseRawUint256(assets)],
|
|
132
|
+
});
|
|
133
|
+
export const encodeErc4626ConvertToAssets = (shares) => encodeFunctionData({
|
|
134
|
+
abi: ERC4626_ABI,
|
|
135
|
+
functionName: 'convertToAssets',
|
|
136
|
+
args: [parseRawUint256(shares)],
|
|
137
|
+
});
|
|
138
|
+
export const encodeErc4626MaxDeposit = (receiver) => encodeFunctionData({
|
|
139
|
+
abi: ERC4626_ABI,
|
|
140
|
+
functionName: 'maxDeposit',
|
|
141
|
+
args: [normalizeAddress('receiver', receiver)],
|
|
142
|
+
});
|
|
143
|
+
export const encodeErc4626PreviewDeposit = (assets) => encodeFunctionData({
|
|
144
|
+
abi: ERC4626_ABI,
|
|
145
|
+
functionName: 'previewDeposit',
|
|
146
|
+
args: [parseRawUint256(assets)],
|
|
147
|
+
});
|
|
148
|
+
export const encodeErc4626Deposit = (assets, receiver) => encodeFunctionData({
|
|
149
|
+
abi: ERC4626_ABI,
|
|
150
|
+
functionName: 'deposit',
|
|
151
|
+
args: [parseRawUint256(assets), normalizeAddress('receiver', receiver)],
|
|
152
|
+
});
|
|
153
|
+
export const encodeErc4626MaxWithdraw = (owner) => encodeFunctionData({
|
|
154
|
+
abi: ERC4626_ABI,
|
|
155
|
+
functionName: 'maxWithdraw',
|
|
156
|
+
args: [normalizeAddress('owner', owner)],
|
|
157
|
+
});
|
|
158
|
+
export const encodeErc4626PreviewWithdraw = (assets) => encodeFunctionData({
|
|
159
|
+
abi: ERC4626_ABI,
|
|
160
|
+
functionName: 'previewWithdraw',
|
|
161
|
+
args: [parseRawUint256(assets)],
|
|
162
|
+
});
|
|
163
|
+
export const encodeErc4626Withdraw = (assets, receiver, owner) => encodeFunctionData({
|
|
164
|
+
abi: ERC4626_ABI,
|
|
165
|
+
functionName: 'withdraw',
|
|
166
|
+
args: [
|
|
167
|
+
parseRawUint256(assets),
|
|
168
|
+
normalizeAddress('receiver', receiver),
|
|
169
|
+
normalizeAddress('owner', owner),
|
|
170
|
+
],
|
|
171
|
+
});
|
|
172
|
+
export const encodeErc4626MaxRedeem = (owner) => encodeFunctionData({
|
|
173
|
+
abi: ERC4626_ABI,
|
|
174
|
+
functionName: 'maxRedeem',
|
|
175
|
+
args: [normalizeAddress('owner', owner)],
|
|
176
|
+
});
|
|
177
|
+
export const encodeErc4626PreviewRedeem = (shares) => encodeFunctionData({
|
|
178
|
+
abi: ERC4626_ABI,
|
|
179
|
+
functionName: 'previewRedeem',
|
|
180
|
+
args: [parseRawUint256(shares)],
|
|
181
|
+
});
|
|
182
|
+
export const encodeErc4626Redeem = (shares, receiver, owner) => encodeFunctionData({
|
|
183
|
+
abi: ERC4626_ABI,
|
|
184
|
+
functionName: 'redeem',
|
|
185
|
+
args: [
|
|
186
|
+
parseRawUint256(shares),
|
|
187
|
+
normalizeAddress('receiver', receiver),
|
|
188
|
+
normalizeAddress('owner', owner),
|
|
189
|
+
],
|
|
190
|
+
});
|
|
191
|
+
//# sourceMappingURL=erc4626.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"erc4626.js","sourceRoot":"","sources":["../../../src/core/abi/erc4626.ts"],"names":[],"mappings":"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"}
|