@reserve-protocol/dtf-sdk 0.1.0 → 0.1.2
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/abi/distributor.d.ts +21 -0
- package/dist/abi/distributor.d.ts.map +1 -0
- package/dist/abi/facade-read.d.ts +140 -0
- package/dist/abi/facade-read.d.ts.map +1 -0
- package/dist/abi/main.d.ts +102 -0
- package/dist/abi/main.d.ts.map +1 -0
- package/dist/abi/st-rsr.d.ts +104 -0
- package/dist/abi/st-rsr.d.ts.map +1 -0
- package/dist/ccip-9vnc6854.js +14 -0
- package/dist/ccip-tn8s4j8m.js +14 -0
- package/dist/constants.d.ts +2 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/index-aarnj29d.js +2889 -0
- package/dist/index-azrx1hqn.js +6105 -0
- package/dist/index-qp8fkhx7.js +2109 -0
- package/dist/index-sdksp5px.js +30 -0
- package/dist/index-tdmavmz7.js +6097 -0
- package/dist/index-wjqsw4fc.js +357 -0
- package/dist/index.d.ts +14 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18227 -73
- package/dist/secp256k1-53bx94th.js +16 -0
- package/dist/types.d.ts +51 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/query-subgraph.d.ts +2 -1
- package/dist/utils/query-subgraph.d.ts.map +1 -1
- package/dist/yield-dtf/detect-dtf-type.d.ts +13 -0
- package/dist/yield-dtf/detect-dtf-type.d.ts.map +1 -0
- package/dist/yield-dtf/issue.d.ts +22 -0
- package/dist/yield-dtf/issue.d.ts.map +1 -0
- package/dist/yield-dtf/read-backing.d.ts +15 -0
- package/dist/yield-dtf/read-backing.d.ts.map +1 -0
- package/dist/yield-dtf/read-basket.d.ts +10 -0
- package/dist/yield-dtf/read-basket.d.ts.map +1 -0
- package/dist/yield-dtf/read-components.d.ts +8 -0
- package/dist/yield-dtf/read-components.d.ts.map +1 -0
- package/dist/yield-dtf/read-config.d.ts +8 -0
- package/dist/yield-dtf/read-config.d.ts.map +1 -0
- package/dist/yield-dtf/read-distribution.d.ts +8 -0
- package/dist/yield-dtf/read-distribution.d.ts.map +1 -0
- package/dist/yield-dtf/read-st-rsr.d.ts +7 -0
- package/dist/yield-dtf/read-st-rsr.d.ts.map +1 -0
- package/package.json +5 -3
- package/dist/abi/deployer.js +0 -178
- package/dist/abi/deployer.js.map +0 -1
- package/dist/abi/erc20.js +0 -58
- package/dist/abi/erc20.js.map +0 -1
- package/dist/abi/folio.js +0 -1430
- package/dist/abi/folio.js.map +0 -1
- package/dist/abi/governance-deployer.js +0 -77
- package/dist/abi/governance-deployer.js.map +0 -1
- package/dist/abi/governor.js +0 -1661
- package/dist/abi/governor.js.map +0 -1
- package/dist/abi/proxy-admin.js +0 -42
- package/dist/abi/proxy-admin.js.map +0 -1
- package/dist/abi/spells.js +0 -61
- package/dist/abi/spells.js.map +0 -1
- package/dist/abi/timelock.js +0 -469
- package/dist/abi/timelock.js.map +0 -1
- package/dist/abi/vote-lock.js +0 -116
- package/dist/abi/vote-lock.js.map +0 -1
- package/dist/clients/chains.js +0 -23
- package/dist/clients/chains.js.map +0 -1
- package/dist/clients/create-clients.js +0 -32
- package/dist/clients/create-clients.js.map +0 -1
- package/dist/clients/create-price-client.js +0 -15
- package/dist/clients/create-price-client.js.map +0 -1
- package/dist/constants.js +0 -100
- package/dist/constants.js.map +0 -1
- package/dist/deploy/build-deploy.js +0 -84
- package/dist/deploy/build-deploy.js.map +0 -1
- package/dist/deploy/extract-deployed-address.js +0 -36
- package/dist/deploy/extract-deployed-address.js.map +0 -1
- package/dist/deploy/permissionless-defaults.js +0 -76
- package/dist/deploy/permissionless-defaults.js.map +0 -1
- package/dist/deploy/token-registry.js +0 -68
- package/dist/deploy/token-registry.js.map +0 -1
- package/dist/deploy/zap-deploy.js +0 -50
- package/dist/deploy/zap-deploy.js.map +0 -1
- package/dist/dtf/fees.js +0 -103
- package/dist/dtf/fees.js.map +0 -1
- package/dist/dtf/fetch-analytics.js +0 -63
- package/dist/dtf/fetch-analytics.js.map +0 -1
- package/dist/dtf/fetch-basket.js +0 -32
- package/dist/dtf/fetch-basket.js.map +0 -1
- package/dist/dtf/fetch-discover.js +0 -17
- package/dist/dtf/fetch-discover.js.map +0 -1
- package/dist/dtf/fetch-dtf.js +0 -39
- package/dist/dtf/fetch-dtf.js.map +0 -1
- package/dist/dtf/mint.js +0 -82
- package/dist/dtf/mint.js.map +0 -1
- package/dist/dtf/read-basket.js +0 -20
- package/dist/dtf/read-basket.js.map +0 -1
- package/dist/dtf/read-config.js +0 -80
- package/dist/dtf/read-config.js.map +0 -1
- package/dist/dtf/read-dtf.js +0 -32
- package/dist/dtf/read-dtf.js.map +0 -1
- package/dist/dtf/read-rebalance-control.js +0 -14
- package/dist/dtf/read-rebalance-control.js.map +0 -1
- package/dist/dtf/read-roles.js +0 -29
- package/dist/dtf/read-roles.js.map +0 -1
- package/dist/dtf/read-version.js +0 -9
- package/dist/dtf/read-version.js.map +0 -1
- package/dist/dtf/redeem.js +0 -27
- package/dist/dtf/redeem.js.map +0 -1
- package/dist/governance/build-proposal.js +0 -78
- package/dist/governance/build-proposal.js.map +0 -1
- package/dist/governance/build-settings-calldata.js +0 -145
- package/dist/governance/build-settings-calldata.js.map +0 -1
- package/dist/governance/compute-proposal-state.js +0 -87
- package/dist/governance/compute-proposal-state.js.map +0 -1
- package/dist/governance/decode-proposal.js +0 -164
- package/dist/governance/decode-proposal.js.map +0 -1
- package/dist/governance/fetch-proposals.js +0 -173
- package/dist/governance/fetch-proposals.js.map +0 -1
- package/dist/governance/read-governance.js +0 -97
- package/dist/governance/read-governance.js.map +0 -1
- package/dist/governance/read-proposals.js +0 -104
- package/dist/governance/read-proposals.js.map +0 -1
- package/dist/governance/read-voting-power.js +0 -25
- package/dist/governance/read-voting-power.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/prices/chainlink.js +0 -116
- package/dist/prices/chainlink.js.map +0 -1
- package/dist/prices/reserve-api.js +0 -47
- package/dist/prices/reserve-api.js.map +0 -1
- package/dist/rebalance/build-auction.js +0 -73
- package/dist/rebalance/build-auction.js.map +0 -1
- package/dist/rebalance/build-rebalance.js +0 -30
- package/dist/rebalance/build-rebalance.js.map +0 -1
- package/dist/rebalance/read-auction.js +0 -31
- package/dist/rebalance/read-auction.js.map +0 -1
- package/dist/rebalance/read-rebalance.js +0 -50
- package/dist/rebalance/read-rebalance.js.map +0 -1
- package/dist/rebalance/transform.js +0 -47
- package/dist/rebalance/transform.js.map +0 -1
- package/dist/revenue/compute-revenue.js +0 -216
- package/dist/revenue/compute-revenue.js.map +0 -1
- package/dist/revenue/fetch-revenue.js +0 -182
- package/dist/revenue/fetch-revenue.js.map +0 -1
- package/dist/revenue/fetch-rsr-burns.js +0 -106
- package/dist/revenue/fetch-rsr-burns.js.map +0 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
- package/dist/utils/assert.js +0 -5
- package/dist/utils/assert.js.map +0 -1
- package/dist/utils/fetch-token-metadata.js +0 -29
- package/dist/utils/fetch-token-metadata.js.map +0 -1
- package/dist/utils/fetch-with-retry.js +0 -38
- package/dist/utils/fetch-with-retry.js.map +0 -1
- package/dist/utils/query-subgraph.js +0 -25
- package/dist/utils/query-subgraph.js.map +0 -1
- package/dist/utils/validate-price-control.js +0 -6
- package/dist/utils/validate-price-control.js.map +0 -1
- package/dist/vote-lock/build-vote-lock.js +0 -73
- package/dist/vote-lock/build-vote-lock.js.map +0 -1
- package/dist/vote-lock/read-vote-lock.js +0 -64
- package/dist/vote-lock/read-vote-lock.js.map +0 -1
package/dist/abi/vote-lock.js
DELETED
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
const voteLockAbi = [
|
|
2
|
-
{
|
|
3
|
-
name: 'deposit',
|
|
4
|
-
type: 'function',
|
|
5
|
-
inputs: [
|
|
6
|
-
{ name: 'assets', type: 'uint256' },
|
|
7
|
-
{ name: 'receiver', type: 'address' },
|
|
8
|
-
],
|
|
9
|
-
outputs: [{ type: 'uint256' }],
|
|
10
|
-
stateMutability: 'nonpayable',
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
name: 'depositAndDelegate',
|
|
14
|
-
type: 'function',
|
|
15
|
-
inputs: [{ name: 'assets', type: 'uint256' }],
|
|
16
|
-
outputs: [{ name: 'shares', type: 'uint256' }],
|
|
17
|
-
stateMutability: 'nonpayable',
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
name: 'withdraw',
|
|
21
|
-
type: 'function',
|
|
22
|
-
inputs: [
|
|
23
|
-
{ name: 'assets', type: 'uint256' },
|
|
24
|
-
{ name: 'receiver', type: 'address' },
|
|
25
|
-
{ name: 'owner', type: 'address' },
|
|
26
|
-
],
|
|
27
|
-
outputs: [{ type: 'uint256' }],
|
|
28
|
-
stateMutability: 'nonpayable',
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
name: 'delegate',
|
|
32
|
-
type: 'function',
|
|
33
|
-
inputs: [{ name: 'delegatee', type: 'address' }],
|
|
34
|
-
outputs: [],
|
|
35
|
-
stateMutability: 'nonpayable',
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
name: 'delegates',
|
|
39
|
-
type: 'function',
|
|
40
|
-
inputs: [{ name: 'account', type: 'address' }],
|
|
41
|
-
outputs: [{ type: 'address' }],
|
|
42
|
-
stateMutability: 'view',
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
name: 'balanceOf',
|
|
46
|
-
type: 'function',
|
|
47
|
-
inputs: [{ name: 'account', type: 'address' }],
|
|
48
|
-
outputs: [{ type: 'uint256' }],
|
|
49
|
-
stateMutability: 'view',
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
name: 'getVotes',
|
|
53
|
-
type: 'function',
|
|
54
|
-
inputs: [{ name: 'account', type: 'address' }],
|
|
55
|
-
outputs: [{ type: 'uint256' }],
|
|
56
|
-
stateMutability: 'view',
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
name: 'asset',
|
|
60
|
-
type: 'function',
|
|
61
|
-
inputs: [],
|
|
62
|
-
outputs: [{ type: 'address' }],
|
|
63
|
-
stateMutability: 'view',
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
name: 'unstakingDelay',
|
|
67
|
-
type: 'function',
|
|
68
|
-
inputs: [],
|
|
69
|
-
outputs: [{ type: 'uint256' }],
|
|
70
|
-
stateMutability: 'view',
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
name: 'claimRewards',
|
|
74
|
-
type: 'function',
|
|
75
|
-
inputs: [{ name: '_rewardTokens', type: 'address[]' }],
|
|
76
|
-
outputs: [{ name: 'claimableRewards', type: 'uint256[]' }],
|
|
77
|
-
stateMutability: 'nonpayable',
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
name: 'maxWithdraw',
|
|
81
|
-
type: 'function',
|
|
82
|
-
inputs: [{ name: 'owner', type: 'address' }],
|
|
83
|
-
outputs: [{ type: 'uint256' }],
|
|
84
|
-
stateMutability: 'view',
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
name: 'convertToAssets',
|
|
88
|
-
type: 'function',
|
|
89
|
-
inputs: [{ name: 'shares', type: 'uint256' }],
|
|
90
|
-
outputs: [{ type: 'uint256' }],
|
|
91
|
-
stateMutability: 'view',
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
name: 'getAllRewardTokens',
|
|
95
|
-
type: 'function',
|
|
96
|
-
inputs: [],
|
|
97
|
-
outputs: [{ type: 'address[]' }],
|
|
98
|
-
stateMutability: 'view',
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
name: 'addRewardToken',
|
|
102
|
-
type: 'function',
|
|
103
|
-
inputs: [{ name: 'token', type: 'address' }],
|
|
104
|
-
outputs: [],
|
|
105
|
-
stateMutability: 'nonpayable',
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
name: 'removeRewardToken',
|
|
109
|
-
type: 'function',
|
|
110
|
-
inputs: [{ name: 'token', type: 'address' }],
|
|
111
|
-
outputs: [],
|
|
112
|
-
stateMutability: 'nonpayable',
|
|
113
|
-
},
|
|
114
|
-
];
|
|
115
|
-
export default voteLockAbi;
|
|
116
|
-
//# sourceMappingURL=vote-lock.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vote-lock.js","sourceRoot":"","sources":["../../src/abi/vote-lock.ts"],"names":[],"mappings":"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"}
|
package/dist/clients/chains.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { mainnet, base, bsc } from 'viem/chains';
|
|
2
|
-
export const CHAINS = {
|
|
3
|
-
[mainnet.id]: mainnet,
|
|
4
|
-
[bsc.id]: bsc,
|
|
5
|
-
[base.id]: base,
|
|
6
|
-
};
|
|
7
|
-
export const DEFAULT_RPCS = {
|
|
8
|
-
[mainnet.id]: [
|
|
9
|
-
'https://ethereum-rpc.publicnode.com/',
|
|
10
|
-
'https://mainnet.gateway.tenderly.co/',
|
|
11
|
-
],
|
|
12
|
-
[bsc.id]: [
|
|
13
|
-
'https://bsc-dataseed2.binance.org',
|
|
14
|
-
'https://bsc-dataseed3.ninicoin.io',
|
|
15
|
-
'https://bsc-dataseed4.defibit.io',
|
|
16
|
-
'https://bsc-rpc.publicnode.com',
|
|
17
|
-
],
|
|
18
|
-
[base.id]: [
|
|
19
|
-
'https://base-rpc.publicnode.com',
|
|
20
|
-
'https://base.gateway.tenderly.co',
|
|
21
|
-
],
|
|
22
|
-
};
|
|
23
|
-
//# sourceMappingURL=chains.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chains.js","sourceRoot":"","sources":["../../src/clients/chains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAIhD,MAAM,CAAC,MAAM,MAAM,GAAoC;IACrD,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO;IACrB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG;IACb,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI;CAChB,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAuC;IAC9D,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACZ,sCAAsC;QACtC,sCAAsC;KACvC;IACD,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QACR,mCAAmC;QACnC,mCAAmC;QACnC,kCAAkC;QAClC,gCAAgC;KACjC;IACD,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;QACT,iCAAiC;QACjC,kCAAkC;KACnC;CACF,CAAA"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { createPublicClient, createWalletClient, fallback, http, } from 'viem';
|
|
2
|
-
import { privateKeyToAccount } from 'viem/accounts';
|
|
3
|
-
import { CHAINS, DEFAULT_RPCS } from './chains';
|
|
4
|
-
const HTTP_OPTIONS = { retryCount: 2, timeout: 20_000 };
|
|
5
|
-
export function createDtfClients(opts) {
|
|
6
|
-
const chain = CHAINS[opts.chainId];
|
|
7
|
-
if (!chain)
|
|
8
|
-
throw new Error(`Unsupported chainId: ${opts.chainId}`);
|
|
9
|
-
const transport = buildTransport(opts.chainId, opts.rpc);
|
|
10
|
-
const publicClient = createPublicClient({ chain, transport });
|
|
11
|
-
let walletClient = null;
|
|
12
|
-
let account = null;
|
|
13
|
-
if (opts.walletKey) {
|
|
14
|
-
const key = opts.walletKey.startsWith('0x')
|
|
15
|
-
? opts.walletKey
|
|
16
|
-
: `0x${opts.walletKey}`;
|
|
17
|
-
account = privateKeyToAccount(key);
|
|
18
|
-
walletClient = createWalletClient({ account, chain, transport });
|
|
19
|
-
}
|
|
20
|
-
return { publicClient, walletClient, account };
|
|
21
|
-
}
|
|
22
|
-
function buildTransport(chainId, rpc) {
|
|
23
|
-
if (typeof rpc === 'string')
|
|
24
|
-
return http(rpc, HTTP_OPTIONS);
|
|
25
|
-
if (Array.isArray(rpc) && rpc.length > 0)
|
|
26
|
-
return fallback(rpc.map((r) => http(r, HTTP_OPTIONS)));
|
|
27
|
-
const defaults = DEFAULT_RPCS[chainId];
|
|
28
|
-
if (!defaults)
|
|
29
|
-
throw new Error(`No default RPCs for chainId: ${chainId}`);
|
|
30
|
-
return fallback(defaults.map((r) => http(r, HTTP_OPTIONS)));
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=create-clients.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-clients.js","sourceRoot":"","sources":["../../src/clients/create-clients.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,QAAQ,EACR,IAAI,GAML,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAEnD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAc/C,MAAM,YAAY,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAW,CAAA;AAEhE,MAAM,UAAU,gBAAgB,CAAC,IAA0B;IACzD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAClC,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;IAEnE,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IAExD,MAAM,YAAY,GAAG,kBAAkB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;IAE7D,IAAI,YAAY,GAAmD,IAAI,CAAA;IACvE,IAAI,OAAO,GAAmB,IAAI,CAAA;IAElC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;YACzC,CAAC,CAAE,IAAI,CAAC,SAA2B;YACnC,CAAC,CAAE,KAAK,IAAI,CAAC,SAAS,EAAoB,CAAA;QAC5C,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAA;QAClC,YAAY,GAAG,kBAAkB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;IAClE,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,CAAA;AAChD,CAAC;AAED,SAAS,cAAc,CACrB,OAAyB,EACzB,GAAuB;IAEvB,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;IAC3D,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;QACtC,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;IAExD,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IACtC,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAA;IACzE,OAAO,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;AAC7D,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { createPublicClient, fallback, http } from 'viem';
|
|
2
|
-
import { mainnet } from 'viem/chains';
|
|
3
|
-
import { DEFAULT_RPCS } from './chains';
|
|
4
|
-
const HTTP_OPTIONS = { retryCount: 2, timeout: 20_000 };
|
|
5
|
-
/**
|
|
6
|
-
* Create a read-only client for ETH mainnet (Chainlink price feeds).
|
|
7
|
-
* Always ETH mainnet regardless of which chain the DTF is on.
|
|
8
|
-
*/
|
|
9
|
-
export function createPriceClient(rpc) {
|
|
10
|
-
const transport = rpc
|
|
11
|
-
? http(rpc, HTTP_OPTIONS)
|
|
12
|
-
: fallback(DEFAULT_RPCS[mainnet.id].map((r) => http(r, HTTP_OPTIONS)));
|
|
13
|
-
return createPublicClient({ chain: mainnet, transport });
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=create-price-client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-price-client.js","sourceRoot":"","sources":["../../src/clients/create-price-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAqB,MAAM,MAAM,CAAA;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,MAAM,YAAY,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAW,CAAA;AAEhE;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAY;IAC5C,MAAM,SAAS,GAAG,GAAG;QACnB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC;QACzB,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;IAEzE,OAAO,kBAAkB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;AAC1D,CAAC"}
|
package/dist/constants.js
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
// -- Subgraph URLs (Goldsky) --
|
|
2
|
-
export const SUBGRAPH_URLS = {
|
|
3
|
-
1: 'https://api.goldsky.com/api/public/project_cmgzim3e100095np2gjnbh6ry/subgraphs/dtf-index-mainnet/prod/gn',
|
|
4
|
-
56: 'https://api.goldsky.com/api/public/project_cmgzim3e100095np2gjnbh6ry/subgraphs/dtf-index-bsc/prod/gn',
|
|
5
|
-
8453: 'https://api.goldsky.com/api/public/project_cmgzim3e100095np2gjnbh6ry/subgraphs/dtf-index-base/prod/gn',
|
|
6
|
-
};
|
|
7
|
-
// -- Supported chains --
|
|
8
|
-
export const SUPPORTED_CHAINS = [1, 56, 8453];
|
|
9
|
-
// -- Chainlink --
|
|
10
|
-
export const CHAINLINK_BTC_USD = '0xF4030086522a5bEEa4988F8cA5B36dbC97BeE88c';
|
|
11
|
-
export const CHAINLINK_RSR_USD = '0x759bBC1be8F90eE6457C44abc7d443842a976d02';
|
|
12
|
-
export const CHAINLINK_DECIMALS = 8;
|
|
13
|
-
export const STALE_PRICE_THRESHOLD_S = 7200; // 2 hours
|
|
14
|
-
// -- Reserve API --
|
|
15
|
-
export const RESERVE_API_BASE_URL = 'https://api.reserve.org';
|
|
16
|
-
// -- Rebalance TTL --
|
|
17
|
-
export const AUCTION_LAUNCHER_WINDOW = 86400n; // 24h
|
|
18
|
-
export const REBALANCE_TTL = 172800n; // 48h
|
|
19
|
-
// -- PriceControl enum values --
|
|
20
|
-
export const PRICE_CONTROL = {
|
|
21
|
-
NONE: 0,
|
|
22
|
-
PARTIAL: 1,
|
|
23
|
-
ATOMIC_SWAP: 2,
|
|
24
|
-
};
|
|
25
|
-
// -- Folio roles (keccak256 hashes from Constants.sol) --
|
|
26
|
-
export const FOLIO_ROLES = {
|
|
27
|
-
DEFAULT_ADMIN: '0x0000000000000000000000000000000000000000000000000000000000000000',
|
|
28
|
-
REBALANCE_MANAGER: '0x4ff6ae4d6a29e79ca45c6441bdc89b93878ac6118485b33c8baa3749fc3cb130',
|
|
29
|
-
AUCTION_LAUNCHER: '0x13ff1b2625181b311f257c723b5e6d366eb318b212d9dd694c48fcf227659df5',
|
|
30
|
-
BRAND_MANAGER: '0x2d8e650da9bd8c373ab2450d770f2ed39549bfc28d3630025cecc51511bcd374',
|
|
31
|
-
};
|
|
32
|
-
// -- Volatility → priceError (auction-time, tighter bands) --
|
|
33
|
-
export const VOLATILITY_TO_PRICE_ERROR = {
|
|
34
|
-
low: 0.02,
|
|
35
|
-
medium: 0.05,
|
|
36
|
-
high: 0.10,
|
|
37
|
-
degen: 0.50,
|
|
38
|
-
};
|
|
39
|
-
// WHY: Proposal-time volatility is WIDER than auction-time because prices
|
|
40
|
-
// may move significantly during the governance delay (voting + timelock).
|
|
41
|
-
export const PROPOSAL_VOLATILITY_TO_PRICE_ERROR = {
|
|
42
|
-
low: 0.25,
|
|
43
|
-
medium: 0.50,
|
|
44
|
-
high: 0.75,
|
|
45
|
-
degen: 0.90,
|
|
46
|
-
};
|
|
47
|
-
// -- D18 constant --
|
|
48
|
-
export const D18 = 10n ** 18n;
|
|
49
|
-
// -- Small auction thresholds (USD) --
|
|
50
|
-
export const SMALL_AUCTION_THRESHOLD_L1 = 1000;
|
|
51
|
-
export const SMALL_AUCTION_THRESHOLD_L2 = 100;
|
|
52
|
-
// -- Deployer addresses --
|
|
53
|
-
export const DEPLOYER_ADDRESS = {
|
|
54
|
-
1: '0x4D201a6e5BF975E2CEE9e5cbDfc803C0Ff122073',
|
|
55
|
-
8453: '0x3451fD177E9a8bB4Eb8271E627A804BD22A816F9',
|
|
56
|
-
56: '0x72f87239981159ed23673012EE3806Ca6114AB2A',
|
|
57
|
-
};
|
|
58
|
-
export const GOVERNANCE_DEPLOYER_ADDRESS = {
|
|
59
|
-
1: '0x72f87239981159ed23673012EE3806Ca6114AB2A',
|
|
60
|
-
8453: '0xECA52a5BDBAd98a5B4B6B944C4C9cc636D4D7461',
|
|
61
|
-
56: '0xA7BC1265C37A8D285cd2B10c842Efb8415A7bF9f',
|
|
62
|
-
};
|
|
63
|
-
// -- Spell addresses --
|
|
64
|
-
export const V5_SPELL_ADDRESS = {
|
|
65
|
-
1: '0x044B6F685FB8D0c3fd56D92FCBE5F0Ad947d2D53',
|
|
66
|
-
8453: '0x04B3eD311C68dfB0649D9faf695115F23DcbB540',
|
|
67
|
-
56: '0xe8e67a366e5166c442B6D376ADc772b93CdE7825',
|
|
68
|
-
};
|
|
69
|
-
export const V4_SPELL_ADDRESS = {
|
|
70
|
-
1: '0x7498c6aB0669A09DE7B9185ba72A98fa3Ca39cC9',
|
|
71
|
-
8453: '0x4720dbCAEEF5834AEf590781F93d70fD1e3AcADB',
|
|
72
|
-
};
|
|
73
|
-
export const GOVERNANCE_SPELL_ADDRESS = {
|
|
74
|
-
1: '0x4491b242f15f8dc9c6dfbb9a08edbbaae2623199',
|
|
75
|
-
8453: '0x587cefb69473ad467993c6dd3a8f202bf1ef5e2a',
|
|
76
|
-
};
|
|
77
|
-
// -- Role names (human-readable labels for role hashes) --
|
|
78
|
-
export const ROLE_NAMES = {
|
|
79
|
-
[FOLIO_ROLES.DEFAULT_ADMIN]: 'Default Admin',
|
|
80
|
-
[FOLIO_ROLES.REBALANCE_MANAGER]: 'Rebalance Manager',
|
|
81
|
-
[FOLIO_ROLES.AUCTION_LAUNCHER]: 'Auction Launcher',
|
|
82
|
-
[FOLIO_ROLES.BRAND_MANAGER]: 'Brand Manager',
|
|
83
|
-
// Timelock roles (OZ TimelockControllerUpgradeable)
|
|
84
|
-
'0xb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1': 'Proposer',
|
|
85
|
-
'0xd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63': 'Executor',
|
|
86
|
-
'0xfd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783': 'Canceller',
|
|
87
|
-
'0x5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca5': 'Timelock Admin',
|
|
88
|
-
};
|
|
89
|
-
// -- Governor state enum (OZ) --
|
|
90
|
-
export const PROPOSAL_STATE_MAP = {
|
|
91
|
-
0: 'PENDING',
|
|
92
|
-
1: 'ACTIVE',
|
|
93
|
-
2: 'CANCELED',
|
|
94
|
-
3: 'DEFEATED',
|
|
95
|
-
4: 'SUCCEEDED',
|
|
96
|
-
5: 'QUEUED',
|
|
97
|
-
6: 'EXPIRED',
|
|
98
|
-
7: 'EXECUTED',
|
|
99
|
-
};
|
|
100
|
-
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { encodeFunctionData, keccak256 } from 'viem';
|
|
2
|
-
import deployerAbi from '../abi/deployer';
|
|
3
|
-
import governanceDeployerAbi from '../abi/governance-deployer';
|
|
4
|
-
import { DEPLOYER_ADDRESS, GOVERNANCE_DEPLOYER_ADDRESS } from '../constants';
|
|
5
|
-
import { assert } from '../utils/assert';
|
|
6
|
-
export function buildDeployDtfCalldata(chainId, basicDetails, additionalDetails, flags, owner, basketManagers, auctionLaunchers, brandManagers, deploymentNonce) {
|
|
7
|
-
assert(basicDetails.assets.length > 0, 'assets must not be empty');
|
|
8
|
-
assert(basicDetails.assets.length === basicDetails.amounts.length, 'assets and amounts must have the same length');
|
|
9
|
-
const deployer = DEPLOYER_ADDRESS[chainId];
|
|
10
|
-
assert(!!deployer, `No deployer address for chain ${chainId}`);
|
|
11
|
-
return {
|
|
12
|
-
to: deployer,
|
|
13
|
-
data: encodeFunctionData({
|
|
14
|
-
abi: deployerAbi,
|
|
15
|
-
functionName: 'deployFolio',
|
|
16
|
-
args: [
|
|
17
|
-
basicDetails,
|
|
18
|
-
{
|
|
19
|
-
...additionalDetails,
|
|
20
|
-
// WHY: On-chain feeRecipient.portion is uint96, but we accept bigint for ergonomics
|
|
21
|
-
feeRecipients: additionalDetails.feeRecipients.map((r) => ({
|
|
22
|
-
recipient: r.recipient,
|
|
23
|
-
portion: r.portion,
|
|
24
|
-
})),
|
|
25
|
-
},
|
|
26
|
-
flags,
|
|
27
|
-
owner,
|
|
28
|
-
basketManagers,
|
|
29
|
-
auctionLaunchers,
|
|
30
|
-
brandManagers,
|
|
31
|
-
deploymentNonce,
|
|
32
|
-
],
|
|
33
|
-
}),
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
export function buildDeployGovernedDtfCalldata(chainId, stToken, basicDetails, additionalDetails, flags, ownerGovParams, tradingGovParams, govRoles, deploymentNonce) {
|
|
37
|
-
assert(basicDetails.assets.length > 0, 'assets must not be empty');
|
|
38
|
-
assert(basicDetails.assets.length === basicDetails.amounts.length, 'assets and amounts must have the same length');
|
|
39
|
-
const deployer = DEPLOYER_ADDRESS[chainId];
|
|
40
|
-
assert(!!deployer, `No deployer address for chain ${chainId}`);
|
|
41
|
-
return {
|
|
42
|
-
to: deployer,
|
|
43
|
-
data: encodeFunctionData({
|
|
44
|
-
abi: deployerAbi,
|
|
45
|
-
functionName: 'deployGovernedFolio',
|
|
46
|
-
args: [
|
|
47
|
-
stToken,
|
|
48
|
-
basicDetails,
|
|
49
|
-
{
|
|
50
|
-
...additionalDetails,
|
|
51
|
-
feeRecipients: additionalDetails.feeRecipients.map((r) => ({
|
|
52
|
-
recipient: r.recipient,
|
|
53
|
-
portion: r.portion,
|
|
54
|
-
})),
|
|
55
|
-
},
|
|
56
|
-
flags,
|
|
57
|
-
ownerGovParams,
|
|
58
|
-
tradingGovParams,
|
|
59
|
-
govRoles,
|
|
60
|
-
deploymentNonce,
|
|
61
|
-
],
|
|
62
|
-
}),
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
export function buildDeployStakingTokenCalldata(chainId, name, symbol, underlying, govParams, deploymentNonce) {
|
|
66
|
-
const govDeployer = GOVERNANCE_DEPLOYER_ADDRESS[chainId];
|
|
67
|
-
assert(!!govDeployer, `No governance deployer address for chain ${chainId}`);
|
|
68
|
-
return {
|
|
69
|
-
to: govDeployer,
|
|
70
|
-
data: encodeFunctionData({
|
|
71
|
-
abi: governanceDeployerAbi,
|
|
72
|
-
functionName: 'deployGovernedStakingToken',
|
|
73
|
-
args: [name, symbol, underlying, govParams, deploymentNonce],
|
|
74
|
-
}),
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
export function generateDeploymentNonce() {
|
|
78
|
-
// WHY: Deployment nonce must be unique per deployment to get deterministic addresses via CREATE2.
|
|
79
|
-
// crypto.randomUUID gives us sufficient entropy.
|
|
80
|
-
const randomBytes = new Uint8Array(32);
|
|
81
|
-
crypto.getRandomValues(randomBytes);
|
|
82
|
-
return keccak256(randomBytes);
|
|
83
|
-
}
|
|
84
|
-
//# sourceMappingURL=build-deploy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build-deploy.js","sourceRoot":"","sources":["../../src/deploy/build-deploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { parseEventLogs } from 'viem';
|
|
2
|
-
import deployerAbi from '../abi/deployer';
|
|
3
|
-
/**
|
|
4
|
-
* Extract the deployed DTF (Folio) address from a deploy transaction's logs.
|
|
5
|
-
* Tries GovernedFolioDeployed first (governed deploy), then FolioDeployed (ungoverned).
|
|
6
|
-
* Throws if neither event is found.
|
|
7
|
-
*/
|
|
8
|
-
export function extractDeployedAddress(logs) {
|
|
9
|
-
// WHY: parseEventLogs returns an empty array (not throws) when no matching events exist.
|
|
10
|
-
// Check governed first — more common for permissionless deploys.
|
|
11
|
-
const governed = parseEventLogs({
|
|
12
|
-
abi: deployerAbi,
|
|
13
|
-
logs,
|
|
14
|
-
eventName: 'GovernedFolioDeployed',
|
|
15
|
-
});
|
|
16
|
-
if (governed.length > 0) {
|
|
17
|
-
const folio = governed[0].args.folio;
|
|
18
|
-
if (!folio)
|
|
19
|
-
throw new Error('GovernedFolioDeployed event missing folio arg');
|
|
20
|
-
return folio;
|
|
21
|
-
}
|
|
22
|
-
const ungoverned = parseEventLogs({
|
|
23
|
-
abi: deployerAbi,
|
|
24
|
-
logs,
|
|
25
|
-
eventName: 'FolioDeployed',
|
|
26
|
-
});
|
|
27
|
-
if (ungoverned.length > 0) {
|
|
28
|
-
const folio = ungoverned[0].args.folio;
|
|
29
|
-
if (!folio)
|
|
30
|
-
throw new Error('FolioDeployed event missing folio arg');
|
|
31
|
-
return folio;
|
|
32
|
-
}
|
|
33
|
-
throw new Error('Could not find deployed DTF address in transaction logs. ' +
|
|
34
|
-
'Expected FolioDeployed or GovernedFolioDeployed event.');
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=extract-deployed-address.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extract-deployed-address.js","sourceRoot":"","sources":["../../src/deploy/extract-deployed-address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA0B,MAAM,MAAM,CAAA;AAC7D,OAAO,WAAW,MAAM,iBAAiB,CAAA;AAEzC;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAW;IAChD,yFAAyF;IACzF,iEAAiE;IACjE,MAAM,QAAQ,GAAG,cAAc,CAAC;QAC9B,GAAG,EAAE,WAAW;QAChB,IAAI;QACJ,SAAS,EAAE,uBAAuB;KACnC,CAAC,CAAA;IACF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,KAAK,CAAA;QACrC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;QAC5E,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,UAAU,GAAG,cAAc,CAAC;QAChC,GAAG,EAAE,WAAW;QAChB,IAAI;QACJ,SAAS,EAAE,eAAe;KAC3B,CAAC,CAAA;IACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,KAAK,CAAA;QACvC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;QACpE,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,IAAI,KAAK,CACb,2DAA2D;QAC3D,wDAAwD,CACzD,CAAA;AACH,CAAC"}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { D18 } from '../constants';
|
|
2
|
-
// -- Vote-lock DAO address per chain --
|
|
3
|
-
export const VOTE_LOCK_ADDRESS = {
|
|
4
|
-
// WHY: Only Base has a permissionless vote-lock DAO deployed.
|
|
5
|
-
// Ethereum and BSC use zeroAddress as sentinel for "not available".
|
|
6
|
-
8453: '0xeDAB3789D7D2283214d8F65A6E412B00b1cBfB7a',
|
|
7
|
-
1: '0x0000000000000000000000000000000000000000',
|
|
8
|
-
56: '0x0000000000000000000000000000000000000000',
|
|
9
|
-
};
|
|
10
|
-
// -- Default fees (0.15% = D18 * 15 / 10000) --
|
|
11
|
-
export const DEFAULT_TVL_FEE = (D18 * 15n) / 10000n;
|
|
12
|
-
export const DEFAULT_MINT_FEE = (D18 * 15n) / 10000n;
|
|
13
|
-
// -- Auction length (30 min) --
|
|
14
|
-
export const DEFAULT_AUCTION_LENGTH = 1800n;
|
|
15
|
-
// -- Default flags --
|
|
16
|
-
export const DEFAULT_FLAGS = {
|
|
17
|
-
trustedFillerEnabled: true,
|
|
18
|
-
rebalanceControl: { weightControl: true, priceControl: 1 },
|
|
19
|
-
bidsEnabled: true,
|
|
20
|
-
};
|
|
21
|
-
// -- Governance params --
|
|
22
|
-
// WHY: Both owner and trading governance use identical params for permissionless deploys.
|
|
23
|
-
// This matches Register's frontend. They CAN differ for custom deploys, but the default
|
|
24
|
-
// is symmetric. See: register/src/views/deploy/utils/governance.ts
|
|
25
|
-
export const DEFAULT_TRADING_GOV_PARAMS = {
|
|
26
|
-
votingDelay: '0',
|
|
27
|
-
votingPeriod: '86400', // 24h
|
|
28
|
-
proposalThreshold: (D18 / 100n).toString(), // 1%
|
|
29
|
-
quorumThreshold: ((D18 * 3n) / 100n).toString(), // 3%
|
|
30
|
-
timelockDelay: '86400', // 24h
|
|
31
|
-
};
|
|
32
|
-
export const DEFAULT_OWNER_GOV_PARAMS = {
|
|
33
|
-
votingDelay: '0',
|
|
34
|
-
votingPeriod: '86400', // 24h
|
|
35
|
-
proposalThreshold: (D18 / 100n).toString(), // 1%
|
|
36
|
-
quorumThreshold: ((D18 * 3n) / 100n).toString(), // 3%
|
|
37
|
-
timelockDelay: '86400', // 24h
|
|
38
|
-
};
|
|
39
|
-
// -- Guardians (multi-sig addresses that can cancel proposals) --
|
|
40
|
-
export const DEFAULT_GUARDIANS = {
|
|
41
|
-
8453: ['0x7f7b3795E017389bCF44BeE9Ba1A63Fe9e019094'],
|
|
42
|
-
1: [],
|
|
43
|
-
56: [],
|
|
44
|
-
};
|
|
45
|
-
// -- Trusted auction launchers --
|
|
46
|
-
export const DEFAULT_AUCTION_LAUNCHERS = {
|
|
47
|
-
8453: [
|
|
48
|
-
'0x7f7b3795E017389bCF44BeE9Ba1A63Fe9e019094',
|
|
49
|
-
'0xe2a7B44c3Ca35F1F04e4e14a64F40E42f4e20D04',
|
|
50
|
-
'0xaDa7D4Ef3CaDF49A87d4D3a8FF80bD4cE7F0f2E0',
|
|
51
|
-
'0xE6B0F91Be5e46d2fD42c4eC88220F5d4dF4F3B64',
|
|
52
|
-
'0x32e77125db4a78A0697f3DEe6D7CC8F2d66a5D3D',
|
|
53
|
-
],
|
|
54
|
-
1: [],
|
|
55
|
-
56: [],
|
|
56
|
-
};
|
|
57
|
-
// -- Fee recipients --
|
|
58
|
-
// WHY: Platform fee portion depends on chain. Reserve takes 50% on Eth/Base, 33% on BSC.
|
|
59
|
-
const PLATFORM_FEE_RECIPIENT = '0xaE8a796Bd9437fCd009B3B3fB41bF2d17D1E08A0';
|
|
60
|
-
const PLATFORM_PORTIONS = {
|
|
61
|
-
1: (D18 * 50n) / 100n,
|
|
62
|
-
8453: (D18 * 50n) / 100n,
|
|
63
|
-
56: (D18 * 33n) / 100n,
|
|
64
|
-
};
|
|
65
|
-
// WHY: Returns string portions (not bigint) because the Zapper API accepts string-encoded values.
|
|
66
|
-
// The on-chain DeployAdditionalDetails uses bigint portions — use the SDK's `buildDeployDtfCalldata`
|
|
67
|
-
// with `FeeRecipient` type for direct contract interaction instead.
|
|
68
|
-
export function buildDefaultFeeRecipients(chainId, stTokenAddress) {
|
|
69
|
-
const platformPortion = PLATFORM_PORTIONS[chainId] ?? (D18 * 50n) / 100n;
|
|
70
|
-
const governancePortion = D18 - platformPortion;
|
|
71
|
-
return [
|
|
72
|
-
{ recipient: stTokenAddress, portion: governancePortion.toString() },
|
|
73
|
-
{ recipient: PLATFORM_FEE_RECIPIENT, portion: platformPortion.toString() },
|
|
74
|
-
];
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=permissionless-defaults.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"permissionless-defaults.js","sourceRoot":"","sources":["../../src/deploy/permissionless-defaults.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
const BASE_TOKENS = {
|
|
2
|
-
WETH: { address: '0x4200000000000000000000000000000000000006', decimals: 18 },
|
|
3
|
-
USDC: { address: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', decimals: 6 },
|
|
4
|
-
USDbC: { address: '0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA', decimals: 6 },
|
|
5
|
-
cbBTC: { address: '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf', decimals: 8 },
|
|
6
|
-
cbETH: { address: '0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22', decimals: 18 },
|
|
7
|
-
DAI: { address: '0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb', decimals: 18 },
|
|
8
|
-
AERO: { address: '0x940181a94A35A4569E4529A3CDfB74e38FD98631', decimals: 18 },
|
|
9
|
-
RSR: { address: '0xaB36452DbAC151bE02b16Ca17d8919826072f64a', decimals: 18 },
|
|
10
|
-
VIRTUAL: { address: '0x0b3e328455c4059EEb9e3f84b5543F74E24e7E1b', decimals: 18 },
|
|
11
|
-
DEGEN: { address: '0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed', decimals: 18 },
|
|
12
|
-
BRETT: { address: '0x532f27101965dd16442E59d40670FaF5eBB142E4', decimals: 18 },
|
|
13
|
-
TOSHI: { address: '0xAC1Bd2486aAf3B5C0fc3Fd868558b082a531B2B4', decimals: 18 },
|
|
14
|
-
EURC: { address: '0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42', decimals: 6 },
|
|
15
|
-
WELL: { address: '0xA88594D404727625A9437C3f886C7643872296AE', decimals: 18 },
|
|
16
|
-
MORPHO: { address: '0xBAa5CC21fd487B8Fcc2F632f3F4E8D37262a0842', decimals: 18 },
|
|
17
|
-
};
|
|
18
|
-
const ETH_TOKENS = {
|
|
19
|
-
WETH: { address: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', decimals: 18 },
|
|
20
|
-
USDC: { address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', decimals: 6 },
|
|
21
|
-
USDT: { address: '0xdAC17F958D2ee523a2206206994597C13D831ec7', decimals: 6 },
|
|
22
|
-
WBTC: { address: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', decimals: 8 },
|
|
23
|
-
DAI: { address: '0x6B175474E89094C44Da98b954EedeAC495271d0F', decimals: 18 },
|
|
24
|
-
RSR: { address: '0x320623b8E4fF03373931769A31Fc52A4E78B5D70', decimals: 18 },
|
|
25
|
-
stETH: { address: '0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84', decimals: 18 },
|
|
26
|
-
rETH: { address: '0xae78736Cd615f374D3085123A210448E74Fc6393', decimals: 18 },
|
|
27
|
-
LINK: { address: '0x514910771AF9Ca656af840dff83E8264EcF986CA', decimals: 18 },
|
|
28
|
-
UNI: { address: '0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984', decimals: 18 },
|
|
29
|
-
};
|
|
30
|
-
// WHY: BSC USDC and USDT are Binance-Peg tokens with 18 decimals, NOT 6 like Ethereum.
|
|
31
|
-
// BTCB is also 18 decimals. Do not "fix" these to match Ethereum — they are correct.
|
|
32
|
-
const BSC_TOKENS = {
|
|
33
|
-
WBNB: { address: '0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c', decimals: 18 },
|
|
34
|
-
USDC: { address: '0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d', decimals: 18 },
|
|
35
|
-
USDT: { address: '0x55d398326f99059fF775485246999027B3197955', decimals: 18 },
|
|
36
|
-
BTCB: { address: '0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c', decimals: 18 },
|
|
37
|
-
ETH: { address: '0x2170Ed0880ac9A755fd29B2688956BD959F933F8', decimals: 18 },
|
|
38
|
-
RSR: { address: '0x23f72a3Db61D6CB8aBE5d9AF1Ac4B6c99327bFee', decimals: 18 },
|
|
39
|
-
CAKE: { address: '0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82', decimals: 18 },
|
|
40
|
-
XRP: { address: '0x1D2F0da169ceB9fC7B3144628dB156f3F6c60dBE', decimals: 18 },
|
|
41
|
-
};
|
|
42
|
-
const REGISTRIES = {
|
|
43
|
-
1: ETH_TOKENS,
|
|
44
|
-
56: BSC_TOKENS,
|
|
45
|
-
8453: BASE_TOKENS,
|
|
46
|
-
};
|
|
47
|
-
// WHY: Pre-build case-insensitive lookup maps to avoid O(n) scan on every call.
|
|
48
|
-
const LOOKUP_MAPS = new Map();
|
|
49
|
-
for (const [chainId, registry] of Object.entries(REGISTRIES)) {
|
|
50
|
-
const map = new Map();
|
|
51
|
-
for (const [sym, entry] of Object.entries(registry)) {
|
|
52
|
-
map.set(sym.toUpperCase(), entry);
|
|
53
|
-
}
|
|
54
|
-
LOOKUP_MAPS.set(Number(chainId), map);
|
|
55
|
-
}
|
|
56
|
-
export function resolveToken(chainId, symbolOrAddress) {
|
|
57
|
-
// Raw address — caller fetches decimals separately
|
|
58
|
-
if (symbolOrAddress.startsWith('0x'))
|
|
59
|
-
return null;
|
|
60
|
-
const map = LOOKUP_MAPS.get(chainId);
|
|
61
|
-
if (!map)
|
|
62
|
-
return null;
|
|
63
|
-
return map.get(symbolOrAddress.toUpperCase()) ?? null;
|
|
64
|
-
}
|
|
65
|
-
export function getTokenRegistry(chainId) {
|
|
66
|
-
return REGISTRIES[chainId] ?? {};
|
|
67
|
-
}
|
|
68
|
-
//# sourceMappingURL=token-registry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"token-registry.js","sourceRoot":"","sources":["../../src/deploy/token-registry.ts"],"names":[],"mappings":"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"}
|