@pufferfinance/puffer-sdk 1.14.2 → 1.16.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.
Files changed (32) hide show
  1. package/dist/contracts/abis/mainnet/PufferVaultV2.cjs +1 -1
  2. package/dist/contracts/abis/mainnet/PufferVaultV2.cjs.map +1 -1
  3. package/dist/contracts/abis/mainnet/PufferVaultV2.d.ts +18 -0
  4. package/dist/contracts/abis/mainnet/PufferVaultV2.js +24 -0
  5. package/dist/contracts/abis/mainnet/PufferVaultV2.js.map +1 -1
  6. package/dist/contracts/handlers/carrot-staking-handler.d.ts +6 -6
  7. package/dist/contracts/handlers/distributor-handler.d.ts +6 -6
  8. package/dist/contracts/handlers/erc20-permit-handler.d.ts +6 -6
  9. package/dist/contracts/handlers/l1-reward-manager-handler.d.ts +6 -6
  10. package/dist/contracts/handlers/l2-reward-manager-handler.d.ts +6 -6
  11. package/dist/contracts/handlers/mtw-carrot-handler.d.ts +6 -6
  12. package/dist/contracts/handlers/nucleus-accountant-handler.d.ts +6 -6
  13. package/dist/contracts/handlers/nucleus-atomic-queue-handler.d.ts +6 -6
  14. package/dist/contracts/handlers/nucleus-boring-vault-handler.d.ts +6 -6
  15. package/dist/contracts/handlers/nucleus-teller-handler.d.ts +6 -6
  16. package/dist/contracts/handlers/puf-locker-handler.d.ts +6 -6
  17. package/dist/contracts/handlers/puffer-depositor-handler.d.ts +6 -6
  18. package/dist/contracts/handlers/puffer-l2-depositor-handler.d.ts +6 -6
  19. package/dist/contracts/handlers/puffer-vault-handler.cjs +1 -1
  20. package/dist/contracts/handlers/puffer-vault-handler.cjs.map +1 -1
  21. package/dist/contracts/handlers/puffer-vault-handler.d.ts +40 -6
  22. package/dist/contracts/handlers/puffer-vault-handler.js +37 -17
  23. package/dist/contracts/handlers/puffer-vault-handler.js.map +1 -1
  24. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.d.ts +6 -6
  25. package/dist/contracts/tokens.cjs +1 -1
  26. package/dist/contracts/tokens.cjs.map +1 -1
  27. package/dist/contracts/tokens.d.ts +1 -0
  28. package/dist/contracts/tokens.js +73 -65
  29. package/dist/contracts/tokens.js.map +1 -1
  30. package/dist/utils/version.cjs +1 -1
  31. package/dist/utils/version.js +1 -1
  32. package/package.json +1 -1
@@ -1,11 +1,11 @@
1
- var s = Object.defineProperty;
2
- var o = (i, t, a) => t in i ? s(i, t, { enumerable: !0, configurable: !0, writable: !0, value: a }) : i[t] = a;
3
- var c = (i, t, a) => o(i, typeof t != "symbol" ? t + "" : t, a);
1
+ var r = Object.defineProperty;
2
+ var o = (e, t, a) => t in e ? r(e, t, { enumerable: !0, configurable: !0, writable: !0, value: a }) : e[t] = a;
3
+ var c = (e, t, a) => o(e, typeof t != "symbol" ? t + "" : t, a);
4
4
  import { V as h } from "../../constants-DtzphQjb.js";
5
5
  import { CONTRACT_ADDRESSES as m } from "../addresses.js";
6
- import { PufferVaultV2 as u } from "../abis/mainnet/PufferVaultV2.js";
7
- import { g as C } from "../../getContract-Ck0plC0s.js";
8
- class y {
6
+ import { PufferVaultV2 as C } from "../abis/mainnet/PufferVaultV2.js";
7
+ import { g as u } from "../../getContract-Ck0plC0s.js";
8
+ class l {
9
9
  /**
10
10
  * Create the handler for the `PufferVaultV2` contract exposing
11
11
  * methods to interact with the contract.
@@ -16,9 +16,9 @@ class y {
16
16
  * @param publicClient The public client to use for public
17
17
  * interactions.
18
18
  */
19
- constructor(t, a, e) {
19
+ constructor(t, a, i) {
20
20
  c(this, "viemChain");
21
- this.chain = t, this.walletClient = a, this.publicClient = e, this.viemChain = h[t];
21
+ this.chain = t, this.walletClient = a, this.publicClient = i, this.viemChain = h[t];
22
22
  }
23
23
  /**
24
24
  * Get the contract. This is a method because the typings are complex
@@ -27,8 +27,28 @@ class y {
27
27
  * @returns The viem contract.
28
28
  */
29
29
  getContract() {
30
- const t = m[this.chain].PufferVault, a = u, e = { public: this.publicClient, wallet: this.walletClient };
31
- return C({ address: t, abi: a, client: e });
30
+ const t = m[this.chain].PufferVault, a = C, i = { public: this.publicClient, wallet: this.walletClient };
31
+ return u({ address: t, abi: a, client: i });
32
+ }
33
+ /**
34
+ * Deposit tokens(e.g. WETH) in exchange for pufETH. This doesn't make the
35
+ * transaction but returns two methods namely `transact` and
36
+ * `estimate`.
37
+ *
38
+ * @param walletAddress Wallet address to get the tokens from.
39
+ * @param value Value of tokens to deposit.
40
+ * @returns `transact: (value: bigint) => Promise<Address>` -
41
+ *
42
+ * `estimate: () => Promise<bigint>` - Gas estimate of the
43
+ * transaction.
44
+ */
45
+ deposit(t, a) {
46
+ return { transact: async () => await this.getContract().write.deposit([a, t], {
47
+ account: t,
48
+ chain: this.viemChain
49
+ }), estimate: async () => await this.getContract().estimateGas.deposit([a, t], {
50
+ account: t
51
+ }) };
32
52
  }
33
53
  /**
34
54
  * Deposit ETH in exchange for pufETH. This doesn't make the
@@ -96,15 +116,15 @@ class y {
96
116
  * `estimate: () => Promise<bigint>` - Gas estimate of the
97
117
  * transaction.
98
118
  */
99
- withdraw(t, a, e) {
119
+ withdraw(t, a, i) {
100
120
  return { transact: async () => await this.getContract().write.withdraw(
101
- [e, a, t],
121
+ [i, a, t],
102
122
  {
103
123
  account: a,
104
124
  chain: this.viemChain
105
125
  }
106
126
  ), estimate: async () => await this.getContract().estimateGas.withdraw(
107
- [e, a, t],
127
+ [i, a, t],
108
128
  {
109
129
  account: a
110
130
  }
@@ -164,15 +184,15 @@ class y {
164
184
  * `estimate: () => Promise<bigint>` - Gas estimate of the
165
185
  * transaction.
166
186
  */
167
- redeem(t, a, e) {
187
+ redeem(t, a, i) {
168
188
  return { transact: async () => await this.getContract().write.redeem(
169
- [e, a, t],
189
+ [i, a, t],
170
190
  {
171
191
  account: t,
172
192
  chain: this.viemChain
173
193
  }
174
194
  ), estimate: async () => await this.getContract().estimateGas.redeem(
175
- [e, a, t],
195
+ [i, a, t],
176
196
  {
177
197
  account: t
178
198
  }
@@ -190,6 +210,6 @@ class y {
190
210
  }
191
211
  }
192
212
  export {
193
- y as PufferVaultHandler
213
+ l as PufferVaultHandler
194
214
  };
195
215
  //# sourceMappingURL=puffer-vault-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"puffer-vault-handler.js","sources":["../../../lib/contracts/handlers/puffer-vault-handler.ts"],"sourcesContent":["import {\n Address,\n GetContractReturnType,\n PublicClient,\n WalletClient,\n getContract,\n} from 'viem';\nimport { Chain, VIEM_CHAINS, ViemChain } from '../../chains/constants';\nimport { CONTRACT_ADDRESSES } from '../addresses';\nimport { PufferVaultV2 } from '../abis/mainnet/PufferVaultV2';\n\n/**\n * Handler for the `PufferVaultV2` contract exposing methods to interact\n * with the contract.\n */\nexport class PufferVaultHandler {\n private viemChain: ViemChain;\n\n /**\n * Create the handler for the `PufferVaultV2` contract exposing\n * methods to interact with the contract.\n *\n * @param chain Chain to use for the client.\n * @param walletClient The wallet client to use for wallet\n * interactions.\n * @param publicClient The public client to use for public\n * interactions.\n */\n constructor(\n private chain: Chain,\n private walletClient: WalletClient,\n private publicClient: PublicClient,\n ) {\n this.viemChain = VIEM_CHAINS[chain];\n }\n\n /**\n * Get the contract. This is a method because the typings are complex\n * and lost when trying to make it a member.\n *\n * @returns The viem contract.\n */\n public getContract() {\n const address = CONTRACT_ADDRESSES[this.chain].PufferVault as Address;\n const abi = PufferVaultV2;\n const client = { public: this.publicClient, wallet: this.walletClient };\n\n return getContract({ address, abi, client }) as GetContractReturnType<\n typeof abi,\n typeof client,\n Address\n >;\n }\n\n /**\n * Deposit ETH in exchange for pufETH. This doesn't make the\n * transaction but returns two methods namely `transact` and\n * `estimate`.\n *\n * @param walletAddress Wallet address to get the ETH from.\n * @returns `transact: (value: bigint) => Promise<Address>` - Used to\n * make the transaction with the given value.\n *\n * `estimate: () => Promise<bigint>` - Gas estimate of the\n * transaction.\n */\n public depositETH(walletAddress: Address) {\n const transact = async (value: bigint) =>\n await this.getContract().write.depositETH([walletAddress], {\n account: walletAddress,\n chain: this.viemChain,\n value,\n });\n\n const estimate = async () =>\n await this.getContract().estimateGas.depositETH([walletAddress], {\n account: walletAddress,\n });\n\n return { transact, estimate };\n }\n\n /**\n * Check the pufETH balance of the wallet.\n *\n * @param walletAddress Wallet address to check the balance of.\n * @returns pufETH balance in wei.\n */\n public async balanceOf(walletAddress: Address) {\n return await this.getContract().read.balanceOf([walletAddress]);\n }\n\n /**\n * Get the rate of pufETH compared to ETH.\n *\n * @returns Rate of pufETH compared to 1 ETH.\n */\n public async getPufETHRate() {\n const oneWei = BigInt(1e18);\n return await this.getContract().read.previewDeposit([oneWei]);\n }\n\n /**\n * Get the allowance for the given owner and spender.\n *\n * @param ownerAddress Address of the owner.\n * @param spenderAddress Address of the spender.\n * @returns Allowance for the given owner and spender.\n */\n public async getAllowance(ownerAddress: Address, spenderAddress: Address) {\n return await this.getContract().read.allowance([\n ownerAddress,\n spenderAddress,\n ]);\n }\n\n /**\n * Withdraw pufETH to the given wallet address. This doesn't make the\n * transaction but returns two methods namely `transact` and\n * `estimate`.\n *\n * @param ownerAddress Address of the owner.\n * @param walletAddress Address of the receiver.\n * @param value Value of pufETH to withdraw.\n * @returns `transact: (value: bigint) => Promise<Address>` - Used to\n * make the transaction with the given value.\n *\n * `estimate: () => Promise<bigint>` - Gas estimate of the\n * transaction.\n */\n public withdraw(\n ownerAddress: Address,\n walletAddress: Address,\n value: bigint,\n ) {\n const transact = async () =>\n await this.getContract().write.withdraw(\n [value, walletAddress, ownerAddress],\n {\n account: walletAddress,\n chain: this.viemChain,\n },\n );\n\n const estimate = async () =>\n await this.getContract().estimateGas.withdraw(\n [value, walletAddress, ownerAddress],\n {\n account: walletAddress,\n },\n );\n\n return { transact, estimate };\n }\n\n /**\n * Preview the amount of WETH that can be redeemed for the given\n * amount of pufETH using the `.redeem()` method.\n *\n * @param value Value of pufETH to redeem.\n * @returns Preview of the amount of WETH that can be redeemed.\n */\n public previewRedeem(value: bigint) {\n return this.getContract().read.previewRedeem([value]);\n }\n\n /**\n * Calculates the maximum amount of pufETH shares that can be redeemed\n * by the owner.\n *\n * @param ownerAddress Address of the owner's wallet.\n * @returns Maximum amount of pufETH shares that can be redeemed.\n */\n public maxRedeem(ownerAddress: Address) {\n return this.getContract().read.maxRedeem([ownerAddress]);\n }\n\n /**\n * Returns how many basis points of a fee there are when exiting. For\n * example, a 1% fee would mean 1% of the user's requested pufETH is\n * burned (which increases the value for all pufETH holders) before\n * the ETH is redeemed. i.e., you get 1% less ETH back.\n *\n * @returns Basis points of the exit fee.\n */\n public getExitFeeBasisPoints() {\n return this.getContract().read.getExitFeeBasisPoints();\n }\n\n /**\n * Returns how much WETH can still be withdrawn today.\n *\n * @returns Remaining WETH daily withdrawal limit.\n */\n public getRemainingAssetsDailyWithdrawalLimit() {\n return this.getContract().read.getRemainingAssetsDailyWithdrawalLimit();\n }\n\n /**\n * Redeems pufETH shares in exchange for WETH assets from the vault.\n * In the process, the pufETH shares of the owner are burned. This\n * doesn't make the transaction but returns two methods namely\n * `transact` and `estimate`.\n *\n * @param ownerAddress Address of the owner of pufETH.\n * @param receiverAddress Address of the receiver of WETH.\n * @param shares Amount of pufETH shares to redeem.\n * @returns `transact: (value: bigint) => Promise<Address>` - Used to\n * make the transaction with the given value.\n *\n * `estimate: () => Promise<bigint>` - Gas estimate of the\n * transaction.\n */\n public redeem(\n ownerAddress: Address,\n receiverAddress: Address,\n shares: bigint,\n ) {\n const transact = async () =>\n await this.getContract().write.redeem(\n [shares, receiverAddress, ownerAddress],\n {\n account: ownerAddress,\n chain: this.viemChain,\n },\n );\n\n const estimate = async () =>\n await this.getContract().estimateGas.redeem(\n [shares, receiverAddress, ownerAddress],\n {\n account: ownerAddress,\n },\n );\n\n return { transact, estimate };\n }\n\n /**\n * Gives exchange rate of pufETH relative to WETH.\n * This does not include any fees, as compared to previewRedeem method.\n *\n * @param amount Amount of pufETH to convert.\n * @returns Amount of equivalent WETH.\n */\n public convertToAssets(amount: bigint) {\n return this.getContract().read.convertToAssets([amount]);\n }\n}\n"],"names":["PufferVaultHandler","chain","walletClient","publicClient","__publicField","VIEM_CHAINS","address","CONTRACT_ADDRESSES","abi","PufferVaultV2","client","getContract","walletAddress","value","oneWei","ownerAddress","spenderAddress","receiverAddress","shares","amount"],"mappings":"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"}
1
+ {"version":3,"file":"puffer-vault-handler.js","sources":["../../../lib/contracts/handlers/puffer-vault-handler.ts"],"sourcesContent":["import {\n Address,\n GetContractReturnType,\n PublicClient,\n WalletClient,\n getContract,\n} from 'viem';\nimport { Chain, VIEM_CHAINS, ViemChain } from '../../chains/constants';\nimport { CONTRACT_ADDRESSES } from '../addresses';\nimport { PufferVaultV2 } from '../abis/mainnet/PufferVaultV2';\n\n/**\n * Handler for the `PufferVaultV2` contract exposing methods to interact\n * with the contract.\n */\nexport class PufferVaultHandler {\n private viemChain: ViemChain;\n\n /**\n * Create the handler for the `PufferVaultV2` contract exposing\n * methods to interact with the contract.\n *\n * @param chain Chain to use for the client.\n * @param walletClient The wallet client to use for wallet\n * interactions.\n * @param publicClient The public client to use for public\n * interactions.\n */\n constructor(\n private chain: Chain,\n private walletClient: WalletClient,\n private publicClient: PublicClient,\n ) {\n this.viemChain = VIEM_CHAINS[chain];\n }\n\n /**\n * Get the contract. This is a method because the typings are complex\n * and lost when trying to make it a member.\n *\n * @returns The viem contract.\n */\n public getContract() {\n const address = CONTRACT_ADDRESSES[this.chain].PufferVault as Address;\n const abi = PufferVaultV2;\n const client = { public: this.publicClient, wallet: this.walletClient };\n\n return getContract({ address, abi, client }) as GetContractReturnType<\n typeof abi,\n typeof client,\n Address\n >;\n }\n\n /**\n * Deposit tokens(e.g. WETH) in exchange for pufETH. This doesn't make the\n * transaction but returns two methods namely `transact` and\n * `estimate`.\n *\n * @param walletAddress Wallet address to get the tokens from.\n * @param value Value of tokens to deposit.\n * @returns `transact: (value: bigint) => Promise<Address>` -\n *\n * `estimate: () => Promise<bigint>` - Gas estimate of the\n * transaction.\n */\n public deposit(walletAddress: Address, value: bigint) {\n const transact = async () =>\n await this.getContract().write.deposit([value, walletAddress], {\n account: walletAddress,\n chain: this.viemChain,\n });\n\n const estimate = async () =>\n await this.getContract().estimateGas.deposit([value, walletAddress], {\n account: walletAddress,\n });\n\n return { transact, estimate };\n }\n\n /**\n * Deposit ETH in exchange for pufETH. This doesn't make the\n * transaction but returns two methods namely `transact` and\n * `estimate`.\n *\n * @param walletAddress Wallet address to get the ETH from.\n * @returns `transact: (value: bigint) => Promise<Address>` - Used to\n * make the transaction with the given value.\n *\n * `estimate: () => Promise<bigint>` - Gas estimate of the\n * transaction.\n */\n public depositETH(walletAddress: Address) {\n const transact = async (value: bigint) =>\n await this.getContract().write.depositETH([walletAddress], {\n account: walletAddress,\n chain: this.viemChain,\n value,\n });\n\n const estimate = async () =>\n await this.getContract().estimateGas.depositETH([walletAddress], {\n account: walletAddress,\n });\n\n return { transact, estimate };\n }\n\n /**\n * Check the pufETH balance of the wallet.\n *\n * @param walletAddress Wallet address to check the balance of.\n * @returns pufETH balance in wei.\n */\n public async balanceOf(walletAddress: Address) {\n return await this.getContract().read.balanceOf([walletAddress]);\n }\n\n /**\n * Get the rate of pufETH compared to ETH.\n *\n * @returns Rate of pufETH compared to 1 ETH.\n */\n public async getPufETHRate() {\n const oneWei = BigInt(1e18);\n return await this.getContract().read.previewDeposit([oneWei]);\n }\n\n /**\n * Get the allowance for the given owner and spender.\n *\n * @param ownerAddress Address of the owner.\n * @param spenderAddress Address of the spender.\n * @returns Allowance for the given owner and spender.\n */\n public async getAllowance(ownerAddress: Address, spenderAddress: Address) {\n return await this.getContract().read.allowance([\n ownerAddress,\n spenderAddress,\n ]);\n }\n\n /**\n * Withdraw pufETH to the given wallet address. This doesn't make the\n * transaction but returns two methods namely `transact` and\n * `estimate`.\n *\n * @param ownerAddress Address of the owner.\n * @param walletAddress Address of the receiver.\n * @param value Value of pufETH to withdraw.\n * @returns `transact: (value: bigint) => Promise<Address>` - Used to\n * make the transaction with the given value.\n *\n * `estimate: () => Promise<bigint>` - Gas estimate of the\n * transaction.\n */\n public withdraw(\n ownerAddress: Address,\n walletAddress: Address,\n value: bigint,\n ) {\n const transact = async () =>\n await this.getContract().write.withdraw(\n [value, walletAddress, ownerAddress],\n {\n account: walletAddress,\n chain: this.viemChain,\n },\n );\n\n const estimate = async () =>\n await this.getContract().estimateGas.withdraw(\n [value, walletAddress, ownerAddress],\n {\n account: walletAddress,\n },\n );\n\n return { transact, estimate };\n }\n\n /**\n * Preview the amount of WETH that can be redeemed for the given\n * amount of pufETH using the `.redeem()` method.\n *\n * @param value Value of pufETH to redeem.\n * @returns Preview of the amount of WETH that can be redeemed.\n */\n public previewRedeem(value: bigint) {\n return this.getContract().read.previewRedeem([value]);\n }\n\n /**\n * Calculates the maximum amount of pufETH shares that can be redeemed\n * by the owner.\n *\n * @param ownerAddress Address of the owner's wallet.\n * @returns Maximum amount of pufETH shares that can be redeemed.\n */\n public maxRedeem(ownerAddress: Address) {\n return this.getContract().read.maxRedeem([ownerAddress]);\n }\n\n /**\n * Returns how many basis points of a fee there are when exiting. For\n * example, a 1% fee would mean 1% of the user's requested pufETH is\n * burned (which increases the value for all pufETH holders) before\n * the ETH is redeemed. i.e., you get 1% less ETH back.\n *\n * @returns Basis points of the exit fee.\n */\n public getExitFeeBasisPoints() {\n return this.getContract().read.getExitFeeBasisPoints();\n }\n\n /**\n * Returns how much WETH can still be withdrawn today.\n *\n * @returns Remaining WETH daily withdrawal limit.\n */\n public getRemainingAssetsDailyWithdrawalLimit() {\n return this.getContract().read.getRemainingAssetsDailyWithdrawalLimit();\n }\n\n /**\n * Redeems pufETH shares in exchange for WETH assets from the vault.\n * In the process, the pufETH shares of the owner are burned. This\n * doesn't make the transaction but returns two methods namely\n * `transact` and `estimate`.\n *\n * @param ownerAddress Address of the owner of pufETH.\n * @param receiverAddress Address of the receiver of WETH.\n * @param shares Amount of pufETH shares to redeem.\n * @returns `transact: (value: bigint) => Promise<Address>` - Used to\n * make the transaction with the given value.\n *\n * `estimate: () => Promise<bigint>` - Gas estimate of the\n * transaction.\n */\n public redeem(\n ownerAddress: Address,\n receiverAddress: Address,\n shares: bigint,\n ) {\n const transact = async () =>\n await this.getContract().write.redeem(\n [shares, receiverAddress, ownerAddress],\n {\n account: ownerAddress,\n chain: this.viemChain,\n },\n );\n\n const estimate = async () =>\n await this.getContract().estimateGas.redeem(\n [shares, receiverAddress, ownerAddress],\n {\n account: ownerAddress,\n },\n );\n\n return { transact, estimate };\n }\n\n /**\n * Gives exchange rate of pufETH relative to WETH.\n * This does not include any fees, as compared to previewRedeem method.\n *\n * @param amount Amount of pufETH to convert.\n * @returns Amount of equivalent WETH.\n */\n public convertToAssets(amount: bigint) {\n return this.getContract().read.convertToAssets([amount]);\n }\n}\n"],"names":["PufferVaultHandler","chain","walletClient","publicClient","__publicField","VIEM_CHAINS","address","CONTRACT_ADDRESSES","abi","PufferVaultV2","client","getContract","walletAddress","value","oneWei","ownerAddress","spenderAddress","receiverAddress","shares","amount"],"mappings":"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"}
@@ -6960,7 +6960,7 @@ export declare class PufferWithdrawalManagerHandler {
6960
6960
  simulate: <const calls extends readonly unknown[]>(args: import('viem').SimulateBlocksParameters<calls>) => Promise<import('viem').SimulateBlocksReturnType<calls>>;
6961
6961
  simulateBlocks: <const calls extends readonly unknown[]>(args: import('viem').SimulateBlocksParameters<calls>) => Promise<import('viem').SimulateBlocksReturnType<calls>>;
6962
6962
  simulateCalls: <const calls extends readonly unknown[]>(args: import('viem').SimulateCallsParameters<calls>) => Promise<import('viem').SimulateCallsReturnType<calls>>;
6963
- simulateContract: <const abi extends import('viem').Abi | readonly unknown[], functionName extends import('viem').ContractFunctionName<abi, "payable" | "nonpayable">, const args_1 extends import('viem').ContractFunctionArgs<abi, "payable" | "nonpayable", functionName>, chainOverride extends ViemChain | undefined, accountOverride extends import('viem').Account | Address | undefined = undefined>(args: import('viem').SimulateContractParameters<abi, functionName, args_1, ViemChain | undefined, chainOverride, accountOverride>) => Promise<import('viem').SimulateContractReturnType<abi, functionName, args_1, ViemChain | undefined, import('viem').Account | undefined, chainOverride, accountOverride>>;
6963
+ simulateContract: <const abi extends import('viem').Abi | readonly unknown[], functionName extends import('viem').ContractFunctionName<abi, "nonpayable" | "payable">, const args_1 extends import('viem').ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>, chainOverride extends ViemChain | undefined, accountOverride extends import('viem').Account | Address | undefined = undefined>(args: import('viem').SimulateContractParameters<abi, functionName, args_1, ViemChain | undefined, chainOverride, accountOverride>) => Promise<import('viem').SimulateContractReturnType<abi, functionName, args_1, ViemChain | undefined, import('viem').Account | undefined, chainOverride, accountOverride>>;
6964
6964
  verifyMessage: (args: import('viem').VerifyMessageActionParameters) => Promise<import('viem').VerifyMessageActionReturnType>;
6965
6965
  verifySiweMessage: (args: {
6966
6966
  blockNumber?: bigint | undefined | undefined;
@@ -14433,7 +14433,7 @@ export declare class PufferWithdrawalManagerHandler {
14433
14433
  [x: `bytes18[${string}]`]: undefined;
14434
14434
  [x: `bytes2[${string}]`]: undefined;
14435
14435
  [x: `bytes3[${string}]`]: undefined;
14436
- [x: `bytes11[${string}]`]: undefined;
14436
+ [x: `bytes12[${string}]`]: undefined;
14437
14437
  [x: `bytes23[${string}]`]: undefined;
14438
14438
  [x: `bytes4[${string}]`]: undefined;
14439
14439
  [x: `bytes5[${string}]`]: undefined;
@@ -14442,7 +14442,7 @@ export declare class PufferWithdrawalManagerHandler {
14442
14442
  [x: `bytes8[${string}]`]: undefined;
14443
14443
  [x: `bytes9[${string}]`]: undefined;
14444
14444
  [x: `bytes10[${string}]`]: undefined;
14445
- [x: `bytes12[${string}]`]: undefined;
14445
+ [x: `bytes11[${string}]`]: undefined;
14446
14446
  [x: `bytes13[${string}]`]: undefined;
14447
14447
  [x: `bytes14[${string}]`]: undefined;
14448
14448
  [x: `bytes15[${string}]`]: undefined;
@@ -14535,7 +14535,7 @@ export declare class PufferWithdrawalManagerHandler {
14535
14535
  bytes18?: undefined;
14536
14536
  bytes2?: undefined;
14537
14537
  bytes3?: undefined;
14538
- bytes11?: undefined;
14538
+ bytes12?: undefined;
14539
14539
  bytes23?: undefined;
14540
14540
  bytes4?: undefined;
14541
14541
  bytes5?: undefined;
@@ -14544,7 +14544,7 @@ export declare class PufferWithdrawalManagerHandler {
14544
14544
  bytes8?: undefined;
14545
14545
  bytes9?: undefined;
14546
14546
  bytes10?: undefined;
14547
- bytes12?: undefined;
14547
+ bytes11?: undefined;
14548
14548
  bytes13?: undefined;
14549
14549
  bytes14?: undefined;
14550
14550
  bytes15?: undefined;
@@ -14631,7 +14631,7 @@ export declare class PufferWithdrawalManagerHandler {
14631
14631
  }, primaryType extends string>(args: import('viem').SignTypedDataParameters<typedData, primaryType, import('viem').Account | undefined>) => Promise<import('viem').SignTypedDataReturnType>;
14632
14632
  switchChain: (args: import('viem').SwitchChainParameters) => Promise<void>;
14633
14633
  watchAsset: (args: import('viem').WatchAssetParameters) => Promise<import('viem').WatchAssetReturnType>;
14634
- writeContract: <const abi extends import('viem').Abi | readonly unknown[], functionName extends import('viem').ContractFunctionName<abi, "payable" | "nonpayable">, args_1 extends import('viem').ContractFunctionArgs<abi, "payable" | "nonpayable", functionName>, chainOverride extends ViemChain | undefined = undefined>(args: import('viem').WriteContractParameters<abi, functionName, args_1, ViemChain | undefined, import('viem').Account | undefined, chainOverride>) => Promise<import('viem').WriteContractReturnType>;
14634
+ writeContract: <const abi extends import('viem').Abi | readonly unknown[], functionName extends import('viem').ContractFunctionName<abi, "nonpayable" | "payable">, args_1 extends import('viem').ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>, chainOverride extends ViemChain | undefined = undefined>(args: import('viem').WriteContractParameters<abi, functionName, args_1, ViemChain | undefined, import('viem').Account | undefined, chainOverride>) => Promise<import('viem').WriteContractReturnType>;
14635
14635
  extend: <const client extends {
14636
14636
  [x: string]: unknown;
14637
14637
  account?: undefined;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../constants-Bsa7cnXP.cjs");var i=(e=>(e.USDT="USDT",e.USDC="USDC",e.DAI="DAI",e.WETH="WETH",e.stETH="stETH",e.wstETH="wstETH",e.eETH="eETH",e.cbETH="cbETH",e.ALT="ALT",e.pufETHwstE="pufETHwstE",e.pufETH="pufETH",e.WBTC="WBTC",e.LBTC="LBTC",e.tBTC="tBTC",e.cbBTC="cbBTC",e.pumpBTC="pumpBTC",e.SolvBTC="SolvBTC",e.PUFFER="PUFFER",e.CARROT="CARROT",e.lvlUSD="lvlUSD",e.slvlUSD="slvlUSD",e.mtwCARROT="mtwCARROT",e.sCARROT="sCARROT",e.LINK="LINK",e.TEST="TEST",e))(i||{}),C=(e=>(e.unifiETH="unifiETH",e.unifiUSD="unifiUSD",e.unifiBTC="unifiBTC",e.pufETHs="pufETHs",e))(C||{});const n={TEST:{[a.Chain.Sepolia]:"0xd26e3540a0a368845b234736a0700e0a5a821bba",[a.Chain.OptimismSepolia]:"0x7Fa13D6CB44164ea09dF8BCc673A8849092D435b"},LINK:{[a.Chain.BaseSepolia]:"0xe4ab69c077896252fafbd49efd26b5d171a32410",[a.Chain.OptimismSepolia]:"0xE4aB69C077896252FAFBD49EFD26B5D171A32410"},USDT:{[a.Chain.Mainnet]:"0xdac17f958d2ee523a2206206994597c13d831ec7",[a.Chain.Holesky]:"0xd5bef2c64f418fd460319521d37862327122e3bc",[a.Chain.Sepolia]:"0xaa8e23fb1079ea71e0a56f48a2aa51851d8433d0"},USDC:{[a.Chain.Mainnet]:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",[a.Chain.Holesky]:"0x64Cc0de0429bcb87e875905a0c313ec88f6d1d3E"},DAI:{[a.Chain.Mainnet]:"0x6b175474e89094c44da98b954eedeac495271d0f",[a.Chain.Holesky]:"0x4478905505ddfb7eA1c8A9f46eAEC3695cE542ac"},WETH:{[a.Chain.Mainnet]:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",[a.Chain.Holesky]:"0x1d181cBd1825e9eBC6AD966878D555A7215FF4F0"},stETH:{[a.Chain.Mainnet]:"0xae7ab96520de3a18e5e111b5eaab095312d7fe84",[a.Chain.Holesky]:"0x3F1c547b21f65e10480dE3ad8E19fAAC46C95034"},wstETH:{[a.Chain.Mainnet]:"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0",[a.Chain.Holesky]:"0x8d09a4502Cc8Cf1547aD300E066060D043f6982D"},eETH:{[a.Chain.Mainnet]:"0x35fa164735182de50811e8e2e824cfb9b6118ac2",[a.Chain.Holesky]:"0x7ba2ee123b5977e3da040e1eacb3a61c82c17876"},cbETH:{[a.Chain.Mainnet]:"0xbe9895146f7af43049ca1c1ae358b0541ea49704",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},ALT:{[a.Chain.Mainnet]:"0x8457ca5040ad67fdebbcc8edce889a335bc0fbfb",[a.Chain.Holesky]:"0xaf5588a571b42c7e50bd440d80f9bf94a4db94ee"},pufETHwstE:{[a.Chain.Mainnet]:"0xeeda34a377dd0ca676b9511ee1324974fa8d980d",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},pufETH:{[a.Chain.Mainnet]:"0xd9a442856c234a39a81a089c06451ebaa4306a72",[a.Chain.Holesky]:"0x9196830bB4c05504E0A8475A0aD566AceEB6BeC9"},WBTC:{[a.Chain.Mainnet]:"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},LBTC:{[a.Chain.Mainnet]:"0x8236a87084f8b84306f72007f36f2618a5634494",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},tBTC:{[a.Chain.Mainnet]:"0x18084fbA666a33d37592fA2633fD49a74DD93a88",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},cbBTC:{[a.Chain.Mainnet]:"0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},pumpBTC:{[a.Chain.Mainnet]:"0xf469fbd2abcd6b9de8e169d128226c0fc90a012e",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},SolvBTC:{[a.Chain.Mainnet]:"0x7a56e1c57c7475ccf742a1832b028f0456652f97",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},PUFFER:{[a.Chain.Mainnet]:"0x4d1c297d39c5c1277964d0e3f8aa901493664530",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},CARROT:{[a.Chain.Mainnet]:"0x282a69142bac47855c3fbe1693fcc4ba3b4d5ed6",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},lvlUSD:{[a.Chain.Mainnet]:"0x7C1156E515aA1A2E851674120074968C905aAF37",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},slvlUSD:{[a.Chain.Mainnet]:"0x4737d9b4592b40d51e110b94c9c043c6654067ae",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},mtwCARROT:{[a.Chain.Mainnet]:"0x8A5A5DE9db5770123Ff2145F59e9F20047f0A8EC",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},sCARROT:{[a.Chain.Mainnet]:"0x99c599227c65132822f0290d9e5b4b0430d6c0d6",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},unifiETH:{[a.Chain.Mainnet]:"0x196ead472583bc1e9af7a05f860d9857e1bd3dcc",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},unifiUSD:{[a.Chain.Mainnet]:"0x82c40e07277eBb92935f79cE92268F80dDc7caB4",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},unifiBTC:{[a.Chain.Mainnet]:"0x170d847a8320f3b6a77ee15b0cae430e3ec933a0",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},pufETHs:{[a.Chain.Mainnet]:"0x62a4ce0722ee65635c0f8339dd814d549b6f6735",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"}},c={USDT:"",USDC:"",DAI:"",WETH:"",stETH:"2",wstETH:"1",eETH:"1",cbETH:"2",ALT:"1",pufETHwstE:"v7.0.0",pufETH:"1",WBTC:"",LBTC:"",tBTC:"",cbBTC:"",pumpBTC:"",SolvBTC:"",PUFFER:"1",CARROT:"1",lvlUSD:"1",slvlUSD:"1",mtwCARROT:"",sCARROT:"",LINK:"",TEST:"",unifiETH:"1",unifiUSD:"1",unifiBTC:"1",pufETHs:"1"},f={pufETHwstE:{[a.Chain.Mainnet]:"0x0e986ed5610121905f03fd3850cebcc00f66166fc3ab760acb4e087d735d9457",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000000000000000000000000000"}};exports.TOKENS_ADDRESSES=n;exports.TOKENS_PERMIT_VERSION=c;exports.TOKENS_SALT=f;exports.Token=i;exports.UnifiToken=C;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../constants-Bsa7cnXP.cjs");var i=(e=>(e.USDT="USDT",e.USDC="USDC",e.DAI="DAI",e.WETH="WETH",e.stETH="stETH",e.wstETH="wstETH",e.eETH="eETH",e.cbETH="cbETH",e.ALT="ALT",e.pufETHwstE="pufETHwstE",e.pufETH="pufETH",e.xPufETH="xPufETH",e.WBTC="WBTC",e.LBTC="LBTC",e.tBTC="tBTC",e.cbBTC="cbBTC",e.pumpBTC="pumpBTC",e.SolvBTC="SolvBTC",e.PUFFER="PUFFER",e.CARROT="CARROT",e.lvlUSD="lvlUSD",e.slvlUSD="slvlUSD",e.mtwCARROT="mtwCARROT",e.sCARROT="sCARROT",e.LINK="LINK",e.TEST="TEST",e))(i||{}),C=(e=>(e.unifiETH="unifiETH",e.unifiUSD="unifiUSD",e.unifiBTC="unifiBTC",e.pufETHs="pufETHs",e))(C||{});const n={TEST:{[a.Chain.Sepolia]:"0xd26e3540a0a368845b234736a0700e0a5a821bba",[a.Chain.OptimismSepolia]:"0x7Fa13D6CB44164ea09dF8BCc673A8849092D435b"},LINK:{[a.Chain.BaseSepolia]:"0xe4ab69c077896252fafbd49efd26b5d171a32410",[a.Chain.OptimismSepolia]:"0xE4aB69C077896252FAFBD49EFD26B5D171A32410"},USDT:{[a.Chain.Mainnet]:"0xdac17f958d2ee523a2206206994597c13d831ec7",[a.Chain.Holesky]:"0xd5bef2c64f418fd460319521d37862327122e3bc",[a.Chain.Sepolia]:"0xaa8e23fb1079ea71e0a56f48a2aa51851d8433d0"},USDC:{[a.Chain.Mainnet]:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",[a.Chain.Holesky]:"0x64Cc0de0429bcb87e875905a0c313ec88f6d1d3E"},DAI:{[a.Chain.Mainnet]:"0x6b175474e89094c44da98b954eedeac495271d0f",[a.Chain.Holesky]:"0x4478905505ddfb7eA1c8A9f46eAEC3695cE542ac"},WETH:{[a.Chain.Mainnet]:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",[a.Chain.Holesky]:"0x1d181cBd1825e9eBC6AD966878D555A7215FF4F0"},stETH:{[a.Chain.Mainnet]:"0xae7ab96520de3a18e5e111b5eaab095312d7fe84",[a.Chain.Holesky]:"0x3F1c547b21f65e10480dE3ad8E19fAAC46C95034"},wstETH:{[a.Chain.Mainnet]:"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0",[a.Chain.Holesky]:"0x8d09a4502Cc8Cf1547aD300E066060D043f6982D"},eETH:{[a.Chain.Mainnet]:"0x35fa164735182de50811e8e2e824cfb9b6118ac2",[a.Chain.Holesky]:"0x7ba2ee123b5977e3da040e1eacb3a61c82c17876"},cbETH:{[a.Chain.Mainnet]:"0xbe9895146f7af43049ca1c1ae358b0541ea49704",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},ALT:{[a.Chain.Mainnet]:"0x8457ca5040ad67fdebbcc8edce889a335bc0fbfb",[a.Chain.Holesky]:"0xaf5588a571b42c7e50bd440d80f9bf94a4db94ee"},pufETHwstE:{[a.Chain.Mainnet]:"0xeeda34a377dd0ca676b9511ee1324974fa8d980d",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},pufETH:{[a.Chain.Mainnet]:"0xd9a442856c234a39a81a089c06451ebaa4306a72",[a.Chain.Holesky]:"0x9196830bB4c05504E0A8475A0aD566AceEB6BeC9",[a.Chain.Soneium]:"0x6c460b2c6D6719562D5dA43E5152B375e79B9A8B",[a.Chain.Arbitrum]:"0x37D6382B6889cCeF8d6871A8b60E667115eDDBcF"},xPufETH:{[a.Chain.Base]:"0x23dA5F2d509cb43A59d43C108a43eDf34510eff1",[a.Chain.Bsc]:"0x64274835D88F5c0215da8AADd9A5f2D2A2569381",[a.Chain.ApeChain]:"0x6234E5ef39B12EFdFcbd99dd7F452F27F3fEAE3b"},WBTC:{[a.Chain.Mainnet]:"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},LBTC:{[a.Chain.Mainnet]:"0x8236a87084f8b84306f72007f36f2618a5634494",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},tBTC:{[a.Chain.Mainnet]:"0x18084fbA666a33d37592fA2633fD49a74DD93a88",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},cbBTC:{[a.Chain.Mainnet]:"0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},pumpBTC:{[a.Chain.Mainnet]:"0xf469fbd2abcd6b9de8e169d128226c0fc90a012e",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},SolvBTC:{[a.Chain.Mainnet]:"0x7a56e1c57c7475ccf742a1832b028f0456652f97",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},PUFFER:{[a.Chain.Mainnet]:"0x4d1c297d39c5c1277964d0e3f8aa901493664530",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},CARROT:{[a.Chain.Mainnet]:"0x282a69142bac47855c3fbe1693fcc4ba3b4d5ed6",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},lvlUSD:{[a.Chain.Mainnet]:"0x7C1156E515aA1A2E851674120074968C905aAF37",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},slvlUSD:{[a.Chain.Mainnet]:"0x4737d9b4592b40d51e110b94c9c043c6654067ae",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},mtwCARROT:{[a.Chain.Mainnet]:"0x8A5A5DE9db5770123Ff2145F59e9F20047f0A8EC",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},sCARROT:{[a.Chain.Mainnet]:"0x99c599227c65132822f0290d9e5b4b0430d6c0d6",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},unifiETH:{[a.Chain.Mainnet]:"0x196ead472583bc1e9af7a05f860d9857e1bd3dcc",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},unifiUSD:{[a.Chain.Mainnet]:"0x82c40e07277eBb92935f79cE92268F80dDc7caB4",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},unifiBTC:{[a.Chain.Mainnet]:"0x170d847a8320f3b6a77ee15b0cae430e3ec933a0",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},pufETHs:{[a.Chain.Mainnet]:"0x62a4ce0722ee65635c0f8339dd814d549b6f6735",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"}},c={USDT:"",USDC:"",DAI:"",WETH:"",stETH:"2",wstETH:"1",eETH:"1",cbETH:"2",ALT:"1",pufETHwstE:"v7.0.0",pufETH:"1",xPufETH:"1",WBTC:"",LBTC:"",tBTC:"",cbBTC:"",pumpBTC:"",SolvBTC:"",PUFFER:"1",CARROT:"1",lvlUSD:"1",slvlUSD:"1",mtwCARROT:"",sCARROT:"",LINK:"",TEST:"",unifiETH:"1",unifiUSD:"1",unifiBTC:"1",pufETHs:"1"},f={pufETHwstE:{[a.Chain.Mainnet]:"0x0e986ed5610121905f03fd3850cebcc00f66166fc3ab760acb4e087d735d9457",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000000000000000000000000000"}};exports.TOKENS_ADDRESSES=n;exports.TOKENS_PERMIT_VERSION=c;exports.TOKENS_SALT=f;exports.Token=i;exports.UnifiToken=C;
2
2
  //# sourceMappingURL=tokens.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.cjs","sources":["../../lib/contracts/tokens.ts"],"sourcesContent":["import { Address } from 'viem';\nimport { Chain } from '../chains/constants';\n\nexport enum Token {\n USDT = 'USDT',\n USDC = 'USDC',\n DAI = 'DAI',\n WETH = 'WETH',\n stETH = 'stETH',\n wstETH = 'wstETH',\n eETH = 'eETH',\n cbETH = 'cbETH',\n ALT = 'ALT',\n pufETHwstE = 'pufETHwstE',\n pufETH = 'pufETH',\n WBTC = 'WBTC',\n LBTC = 'LBTC',\n tBTC = 'tBTC',\n cbBTC = 'cbBTC',\n pumpBTC = 'pumpBTC',\n SolvBTC = 'SolvBTC',\n PUFFER = 'PUFFER',\n CARROT = 'CARROT',\n lvlUSD = 'lvlUSD',\n slvlUSD = 'slvlUSD',\n mtwCARROT = 'mtwCARROT',\n sCARROT = 'sCARROT',\n LINK = 'LINK',\n TEST = 'TEST',\n}\n\nexport enum UnifiToken {\n unifiETH = 'unifiETH',\n unifiUSD = 'unifiUSD',\n unifiBTC = 'unifiBTC',\n // Symbiotic pufETH.\n pufETHs = 'pufETHs',\n}\n\nexport type AnyToken = Token | UnifiToken;\n\nexport const TOKENS_ADDRESSES: {\n [key in AnyToken]: { [chain in Chain]: Address };\n} = {\n [Token.TEST]: {\n [Chain.Sepolia]: '0xd26e3540a0a368845b234736a0700e0a5a821bba',\n [Chain.OptimismSepolia]: '0x7Fa13D6CB44164ea09dF8BCc673A8849092D435b',\n },\n [Token.LINK]: {\n [Chain.BaseSepolia]: '0xe4ab69c077896252fafbd49efd26b5d171a32410',\n [Chain.OptimismSepolia]: '0xE4aB69C077896252FAFBD49EFD26B5D171A32410',\n },\n [Token.USDT]: {\n [Chain.Mainnet]: '0xdac17f958d2ee523a2206206994597c13d831ec7',\n [Chain.Holesky]: '0xd5bef2c64f418fd460319521d37862327122e3bc',\n [Chain.Sepolia]: '0xaa8e23fb1079ea71e0a56f48a2aa51851d8433d0',\n },\n [Token.USDC]: {\n [Chain.Mainnet]: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',\n [Chain.Holesky]: '0x64Cc0de0429bcb87e875905a0c313ec88f6d1d3E',\n },\n [Token.DAI]: {\n [Chain.Mainnet]: '0x6b175474e89094c44da98b954eedeac495271d0f',\n [Chain.Holesky]: '0x4478905505ddfb7eA1c8A9f46eAEC3695cE542ac',\n },\n [Token.WETH]: {\n [Chain.Mainnet]: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',\n [Chain.Holesky]: '0x1d181cBd1825e9eBC6AD966878D555A7215FF4F0',\n },\n [Token.stETH]: {\n [Chain.Mainnet]: '0xae7ab96520de3a18e5e111b5eaab095312d7fe84',\n [Chain.Holesky]: '0x3F1c547b21f65e10480dE3ad8E19fAAC46C95034',\n },\n [Token.wstETH]: {\n [Chain.Mainnet]: '0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0',\n [Chain.Holesky]: '0x8d09a4502Cc8Cf1547aD300E066060D043f6982D',\n },\n [Token.eETH]: {\n [Chain.Mainnet]: '0x35fa164735182de50811e8e2e824cfb9b6118ac2',\n [Chain.Holesky]: '0x7ba2ee123b5977e3da040e1eacb3a61c82c17876',\n },\n [Token.cbETH]: {\n [Chain.Mainnet]: '0xbe9895146f7af43049ca1c1ae358b0541ea49704',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.ALT]: {\n [Chain.Mainnet]: '0x8457ca5040ad67fdebbcc8edce889a335bc0fbfb',\n [Chain.Holesky]: '0xaf5588a571b42c7e50bd440d80f9bf94a4db94ee',\n },\n [Token.pufETHwstE]: {\n [Chain.Mainnet]: '0xeeda34a377dd0ca676b9511ee1324974fa8d980d',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.pufETH]: {\n [Chain.Mainnet]: '0xd9a442856c234a39a81a089c06451ebaa4306a72',\n [Chain.Holesky]: '0x9196830bB4c05504E0A8475A0aD566AceEB6BeC9',\n },\n [Token.WBTC]: {\n [Chain.Mainnet]: '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.LBTC]: {\n [Chain.Mainnet]: '0x8236a87084f8b84306f72007f36f2618a5634494',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.tBTC]: {\n [Chain.Mainnet]: '0x18084fbA666a33d37592fA2633fD49a74DD93a88',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.cbBTC]: {\n [Chain.Mainnet]: '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.pumpBTC]: {\n [Chain.Mainnet]: '0xf469fbd2abcd6b9de8e169d128226c0fc90a012e',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.SolvBTC]: {\n [Chain.Mainnet]: '0x7a56e1c57c7475ccf742a1832b028f0456652f97',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.PUFFER]: {\n [Chain.Mainnet]: '0x4d1c297d39c5c1277964d0e3f8aa901493664530',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.CARROT]: {\n [Chain.Mainnet]: '0x282a69142bac47855c3fbe1693fcc4ba3b4d5ed6',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.lvlUSD]: {\n [Chain.Mainnet]: '0x7C1156E515aA1A2E851674120074968C905aAF37',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.slvlUSD]: {\n [Chain.Mainnet]: '0x4737d9b4592b40d51e110b94c9c043c6654067ae',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.mtwCARROT]: {\n [Chain.Mainnet]: '0x8A5A5DE9db5770123Ff2145F59e9F20047f0A8EC',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.sCARROT]: {\n [Chain.Mainnet]: '0x99c599227c65132822f0290d9e5b4b0430d6c0d6',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n\n // UniFi Tokens\n [UnifiToken.unifiETH]: {\n [Chain.Mainnet]: '0x196ead472583bc1e9af7a05f860d9857e1bd3dcc',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [UnifiToken.unifiUSD]: {\n [Chain.Mainnet]: '0x82c40e07277eBb92935f79cE92268F80dDc7caB4',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [UnifiToken.unifiBTC]: {\n [Chain.Mainnet]: '0x170d847a8320f3b6a77ee15b0cae430e3ec933a0',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [UnifiToken.pufETHs]: {\n [Chain.Mainnet]: '0x62a4ce0722ee65635c0f8339dd814d549b6f6735',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n};\n\nexport const TOKENS_PERMIT_VERSION: { [key in AnyToken]: string } = {\n // USDC does not support permit signatures (ERC20Permit).\n // https://ethereum.stackexchange.com/questions/166254/usdt-contract-dont-have-erc20permit\n [Token.USDT]: '',\n // USDC does not support permit signatures (ERC20Permit).\n [Token.USDC]: '',\n // DAI does not support permit signatures (ERC20Permit).\n [Token.DAI]: '',\n // WETH does not support permit signatures (ERC20Permit).\n [Token.WETH]: '',\n [Token.stETH]: '2',\n // Puffer Quest v1 uses version 1 for wstETH.\n [Token.wstETH]: '1',\n // https://github.com/etherfi-protocol/smart-contracts/blob/7c66e571df4fe7ec502a3c325b623bc52349ef9d/src/EETH.sol#L55\n [Token.eETH]: '1',\n // https://etherscan.io/token/0xbe9895146f7af43049ca1c1ae358b0541ea49704#readProxyContract#F26\n [Token.cbETH]: '2',\n [Token.ALT]: '1',\n [Token.pufETHwstE]: 'v7.0.0',\n [Token.pufETH]: '1',\n [Token.WBTC]: '',\n [Token.LBTC]: '',\n [Token.tBTC]: '',\n [Token.cbBTC]: '',\n [Token.pumpBTC]: '',\n [Token.SolvBTC]: '',\n [Token.PUFFER]: '1',\n [Token.CARROT]: '1',\n [Token.lvlUSD]: '1',\n [Token.slvlUSD]: '1',\n [Token.mtwCARROT]: '',\n [Token.sCARROT]: '',\n [Token.LINK]: '',\n [Token.TEST]: '',\n\n // UniFi Tokens\n // https://etherscan.io/address/0x196ead472583bc1e9af7a05f860d9857e1bd3dcc#code#F7#L172\n [UnifiToken.unifiETH]: '1',\n // https://etherscan.io/address/0x82c40e07277eBb92935f79cE92268F80dDc7caB4#code#F7#L172\n [UnifiToken.unifiUSD]: '1',\n // https://etherscan.io/address/0x170d847a8320f3b6a77ee15b0cae430e3ec933a0#code#F7#L172\n [UnifiToken.unifiBTC]: '1',\n // https://etherscan.io/address/0x62a4ce0722ee65635c0f8339dd814d549b6f6735#code#F7#L172\n [UnifiToken.pufETHs]: '1',\n};\n\nexport const TOKENS_SALT: Partial<{\n [key in AnyToken]: { [chain in Chain]: Address };\n}> = {\n [Token.pufETHwstE]: {\n // Taken from\n // https://etherscan.io/token/0xeeda34a377dd0ca676b9511ee1324974fa8d980d#readContract#F39.\n [Chain.Mainnet]:\n '0x0e986ed5610121905f03fd3850cebcc00f66166fc3ab760acb4e087d735d9457',\n [Chain.Holesky]:\n '0x0000000000000000000000000000000000000000000000000000000000000000',\n },\n};\n"],"names":["Token","UnifiToken","TOKENS_ADDRESSES","Chain","TOKENS_PERMIT_VERSION","TOKENS_SALT"],"mappings":"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"}
1
+ {"version":3,"file":"tokens.cjs","sources":["../../lib/contracts/tokens.ts"],"sourcesContent":["import { Address } from 'viem';\nimport { Chain } from '../chains/constants';\n\nexport enum Token {\n USDT = 'USDT',\n USDC = 'USDC',\n DAI = 'DAI',\n WETH = 'WETH',\n stETH = 'stETH',\n wstETH = 'wstETH',\n eETH = 'eETH',\n cbETH = 'cbETH',\n ALT = 'ALT',\n pufETHwstE = 'pufETHwstE',\n pufETH = 'pufETH',\n xPufETH = 'xPufETH',\n WBTC = 'WBTC',\n LBTC = 'LBTC',\n tBTC = 'tBTC',\n cbBTC = 'cbBTC',\n pumpBTC = 'pumpBTC',\n SolvBTC = 'SolvBTC',\n PUFFER = 'PUFFER',\n CARROT = 'CARROT',\n lvlUSD = 'lvlUSD',\n slvlUSD = 'slvlUSD',\n mtwCARROT = 'mtwCARROT',\n sCARROT = 'sCARROT',\n LINK = 'LINK',\n TEST = 'TEST',\n}\n\nexport enum UnifiToken {\n unifiETH = 'unifiETH',\n unifiUSD = 'unifiUSD',\n unifiBTC = 'unifiBTC',\n // Symbiotic pufETH.\n pufETHs = 'pufETHs',\n}\n\nexport type AnyToken = Token | UnifiToken;\n\nexport const TOKENS_ADDRESSES: {\n [key in AnyToken]: { [chain in Chain]: Address };\n} = {\n [Token.TEST]: {\n [Chain.Sepolia]: '0xd26e3540a0a368845b234736a0700e0a5a821bba',\n [Chain.OptimismSepolia]: '0x7Fa13D6CB44164ea09dF8BCc673A8849092D435b',\n },\n [Token.LINK]: {\n [Chain.BaseSepolia]: '0xe4ab69c077896252fafbd49efd26b5d171a32410',\n [Chain.OptimismSepolia]: '0xE4aB69C077896252FAFBD49EFD26B5D171A32410',\n },\n [Token.USDT]: {\n [Chain.Mainnet]: '0xdac17f958d2ee523a2206206994597c13d831ec7',\n [Chain.Holesky]: '0xd5bef2c64f418fd460319521d37862327122e3bc',\n [Chain.Sepolia]: '0xaa8e23fb1079ea71e0a56f48a2aa51851d8433d0',\n },\n [Token.USDC]: {\n [Chain.Mainnet]: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',\n [Chain.Holesky]: '0x64Cc0de0429bcb87e875905a0c313ec88f6d1d3E',\n },\n [Token.DAI]: {\n [Chain.Mainnet]: '0x6b175474e89094c44da98b954eedeac495271d0f',\n [Chain.Holesky]: '0x4478905505ddfb7eA1c8A9f46eAEC3695cE542ac',\n },\n [Token.WETH]: {\n [Chain.Mainnet]: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',\n [Chain.Holesky]: '0x1d181cBd1825e9eBC6AD966878D555A7215FF4F0',\n },\n [Token.stETH]: {\n [Chain.Mainnet]: '0xae7ab96520de3a18e5e111b5eaab095312d7fe84',\n [Chain.Holesky]: '0x3F1c547b21f65e10480dE3ad8E19fAAC46C95034',\n },\n [Token.wstETH]: {\n [Chain.Mainnet]: '0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0',\n [Chain.Holesky]: '0x8d09a4502Cc8Cf1547aD300E066060D043f6982D',\n },\n [Token.eETH]: {\n [Chain.Mainnet]: '0x35fa164735182de50811e8e2e824cfb9b6118ac2',\n [Chain.Holesky]: '0x7ba2ee123b5977e3da040e1eacb3a61c82c17876',\n },\n [Token.cbETH]: {\n [Chain.Mainnet]: '0xbe9895146f7af43049ca1c1ae358b0541ea49704',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.ALT]: {\n [Chain.Mainnet]: '0x8457ca5040ad67fdebbcc8edce889a335bc0fbfb',\n [Chain.Holesky]: '0xaf5588a571b42c7e50bd440d80f9bf94a4db94ee',\n },\n [Token.pufETHwstE]: {\n [Chain.Mainnet]: '0xeeda34a377dd0ca676b9511ee1324974fa8d980d',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.pufETH]: {\n [Chain.Mainnet]: '0xd9a442856c234a39a81a089c06451ebaa4306a72',\n [Chain.Holesky]: '0x9196830bB4c05504E0A8475A0aD566AceEB6BeC9',\n [Chain.Soneium]: '0x6c460b2c6D6719562D5dA43E5152B375e79B9A8B',\n [Chain.Arbitrum]: '0x37D6382B6889cCeF8d6871A8b60E667115eDDBcF',\n },\n [Token.xPufETH]: {\n [Chain.Base]: '0x23dA5F2d509cb43A59d43C108a43eDf34510eff1',\n [Chain.Bsc]: '0x64274835D88F5c0215da8AADd9A5f2D2A2569381',\n [Chain.ApeChain]: '0x6234E5ef39B12EFdFcbd99dd7F452F27F3fEAE3b',\n },\n [Token.WBTC]: {\n [Chain.Mainnet]: '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.LBTC]: {\n [Chain.Mainnet]: '0x8236a87084f8b84306f72007f36f2618a5634494',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.tBTC]: {\n [Chain.Mainnet]: '0x18084fbA666a33d37592fA2633fD49a74DD93a88',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.cbBTC]: {\n [Chain.Mainnet]: '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.pumpBTC]: {\n [Chain.Mainnet]: '0xf469fbd2abcd6b9de8e169d128226c0fc90a012e',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.SolvBTC]: {\n [Chain.Mainnet]: '0x7a56e1c57c7475ccf742a1832b028f0456652f97',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.PUFFER]: {\n [Chain.Mainnet]: '0x4d1c297d39c5c1277964d0e3f8aa901493664530',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.CARROT]: {\n [Chain.Mainnet]: '0x282a69142bac47855c3fbe1693fcc4ba3b4d5ed6',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.lvlUSD]: {\n [Chain.Mainnet]: '0x7C1156E515aA1A2E851674120074968C905aAF37',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.slvlUSD]: {\n [Chain.Mainnet]: '0x4737d9b4592b40d51e110b94c9c043c6654067ae',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.mtwCARROT]: {\n [Chain.Mainnet]: '0x8A5A5DE9db5770123Ff2145F59e9F20047f0A8EC',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.sCARROT]: {\n [Chain.Mainnet]: '0x99c599227c65132822f0290d9e5b4b0430d6c0d6',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n\n // UniFi Tokens\n [UnifiToken.unifiETH]: {\n [Chain.Mainnet]: '0x196ead472583bc1e9af7a05f860d9857e1bd3dcc',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [UnifiToken.unifiUSD]: {\n [Chain.Mainnet]: '0x82c40e07277eBb92935f79cE92268F80dDc7caB4',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [UnifiToken.unifiBTC]: {\n [Chain.Mainnet]: '0x170d847a8320f3b6a77ee15b0cae430e3ec933a0',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [UnifiToken.pufETHs]: {\n [Chain.Mainnet]: '0x62a4ce0722ee65635c0f8339dd814d549b6f6735',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n};\n\nexport const TOKENS_PERMIT_VERSION: { [key in AnyToken]: string } = {\n // USDC does not support permit signatures (ERC20Permit).\n // https://ethereum.stackexchange.com/questions/166254/usdt-contract-dont-have-erc20permit\n [Token.USDT]: '',\n // USDC does not support permit signatures (ERC20Permit).\n [Token.USDC]: '',\n // DAI does not support permit signatures (ERC20Permit).\n [Token.DAI]: '',\n // WETH does not support permit signatures (ERC20Permit).\n [Token.WETH]: '',\n [Token.stETH]: '2',\n // Puffer Quest v1 uses version 1 for wstETH.\n [Token.wstETH]: '1',\n // https://github.com/etherfi-protocol/smart-contracts/blob/7c66e571df4fe7ec502a3c325b623bc52349ef9d/src/EETH.sol#L55\n [Token.eETH]: '1',\n // https://etherscan.io/token/0xbe9895146f7af43049ca1c1ae358b0541ea49704#readProxyContract#F26\n [Token.cbETH]: '2',\n [Token.ALT]: '1',\n [Token.pufETHwstE]: 'v7.0.0',\n [Token.pufETH]: '1',\n [Token.xPufETH]: '1',\n [Token.WBTC]: '',\n [Token.LBTC]: '',\n [Token.tBTC]: '',\n [Token.cbBTC]: '',\n [Token.pumpBTC]: '',\n [Token.SolvBTC]: '',\n [Token.PUFFER]: '1',\n [Token.CARROT]: '1',\n [Token.lvlUSD]: '1',\n [Token.slvlUSD]: '1',\n [Token.mtwCARROT]: '',\n [Token.sCARROT]: '',\n [Token.LINK]: '',\n [Token.TEST]: '',\n\n // UniFi Tokens\n // https://etherscan.io/address/0x196ead472583bc1e9af7a05f860d9857e1bd3dcc#code#F7#L172\n [UnifiToken.unifiETH]: '1',\n // https://etherscan.io/address/0x82c40e07277eBb92935f79cE92268F80dDc7caB4#code#F7#L172\n [UnifiToken.unifiUSD]: '1',\n // https://etherscan.io/address/0x170d847a8320f3b6a77ee15b0cae430e3ec933a0#code#F7#L172\n [UnifiToken.unifiBTC]: '1',\n // https://etherscan.io/address/0x62a4ce0722ee65635c0f8339dd814d549b6f6735#code#F7#L172\n [UnifiToken.pufETHs]: '1',\n};\n\nexport const TOKENS_SALT: Partial<{\n [key in AnyToken]: { [chain in Chain]: Address };\n}> = {\n [Token.pufETHwstE]: {\n // Taken from\n // https://etherscan.io/token/0xeeda34a377dd0ca676b9511ee1324974fa8d980d#readContract#F39.\n [Chain.Mainnet]:\n '0x0e986ed5610121905f03fd3850cebcc00f66166fc3ab760acb4e087d735d9457',\n [Chain.Holesky]:\n '0x0000000000000000000000000000000000000000000000000000000000000000',\n },\n};\n"],"names":["Token","UnifiToken","TOKENS_ADDRESSES","Chain","TOKENS_PERMIT_VERSION","TOKENS_SALT"],"mappings":"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"}
@@ -12,6 +12,7 @@ export declare enum Token {
12
12
  ALT = "ALT",
13
13
  pufETHwstE = "pufETHwstE",
14
14
  pufETH = "pufETH",
15
+ xPufETH = "xPufETH",
15
16
  WBTC = "WBTC",
16
17
  LBTC = "LBTC",
17
18
  tBTC = "tBTC",
@@ -1,123 +1,130 @@
1
- import { C as a } from "../constants-DtzphQjb.js";
2
- var c = /* @__PURE__ */ ((e) => (e.USDT = "USDT", e.USDC = "USDC", e.DAI = "DAI", e.WETH = "WETH", e.stETH = "stETH", e.wstETH = "wstETH", e.eETH = "eETH", e.cbETH = "cbETH", e.ALT = "ALT", e.pufETHwstE = "pufETHwstE", e.pufETH = "pufETH", e.WBTC = "WBTC", e.LBTC = "LBTC", e.tBTC = "tBTC", e.cbBTC = "cbBTC", e.pumpBTC = "pumpBTC", e.SolvBTC = "SolvBTC", e.PUFFER = "PUFFER", e.CARROT = "CARROT", e.lvlUSD = "lvlUSD", e.slvlUSD = "slvlUSD", e.mtwCARROT = "mtwCARROT", e.sCARROT = "sCARROT", e.LINK = "LINK", e.TEST = "TEST", e))(c || {}), f = /* @__PURE__ */ ((e) => (e.unifiETH = "unifiETH", e.unifiUSD = "unifiUSD", e.unifiBTC = "unifiBTC", e.pufETHs = "pufETHs", e))(f || {});
3
- const d = {
1
+ import { C as e } from "../constants-DtzphQjb.js";
2
+ var c = /* @__PURE__ */ ((a) => (a.USDT = "USDT", a.USDC = "USDC", a.DAI = "DAI", a.WETH = "WETH", a.stETH = "stETH", a.wstETH = "wstETH", a.eETH = "eETH", a.cbETH = "cbETH", a.ALT = "ALT", a.pufETHwstE = "pufETHwstE", a.pufETH = "pufETH", a.xPufETH = "xPufETH", a.WBTC = "WBTC", a.LBTC = "LBTC", a.tBTC = "tBTC", a.cbBTC = "cbBTC", a.pumpBTC = "pumpBTC", a.SolvBTC = "SolvBTC", a.PUFFER = "PUFFER", a.CARROT = "CARROT", a.lvlUSD = "lvlUSD", a.slvlUSD = "slvlUSD", a.mtwCARROT = "mtwCARROT", a.sCARROT = "sCARROT", a.LINK = "LINK", a.TEST = "TEST", a))(c || {}), f = /* @__PURE__ */ ((a) => (a.unifiETH = "unifiETH", a.unifiUSD = "unifiUSD", a.unifiBTC = "unifiBTC", a.pufETHs = "pufETHs", a))(f || {});
3
+ const b = {
4
4
  TEST: {
5
- [a.Sepolia]: "0xd26e3540a0a368845b234736a0700e0a5a821bba",
6
- [a.OptimismSepolia]: "0x7Fa13D6CB44164ea09dF8BCc673A8849092D435b"
5
+ [e.Sepolia]: "0xd26e3540a0a368845b234736a0700e0a5a821bba",
6
+ [e.OptimismSepolia]: "0x7Fa13D6CB44164ea09dF8BCc673A8849092D435b"
7
7
  },
8
8
  LINK: {
9
- [a.BaseSepolia]: "0xe4ab69c077896252fafbd49efd26b5d171a32410",
10
- [a.OptimismSepolia]: "0xE4aB69C077896252FAFBD49EFD26B5D171A32410"
9
+ [e.BaseSepolia]: "0xe4ab69c077896252fafbd49efd26b5d171a32410",
10
+ [e.OptimismSepolia]: "0xE4aB69C077896252FAFBD49EFD26B5D171A32410"
11
11
  },
12
12
  USDT: {
13
- [a.Mainnet]: "0xdac17f958d2ee523a2206206994597c13d831ec7",
14
- [a.Holesky]: "0xd5bef2c64f418fd460319521d37862327122e3bc",
15
- [a.Sepolia]: "0xaa8e23fb1079ea71e0a56f48a2aa51851d8433d0"
13
+ [e.Mainnet]: "0xdac17f958d2ee523a2206206994597c13d831ec7",
14
+ [e.Holesky]: "0xd5bef2c64f418fd460319521d37862327122e3bc",
15
+ [e.Sepolia]: "0xaa8e23fb1079ea71e0a56f48a2aa51851d8433d0"
16
16
  },
17
17
  USDC: {
18
- [a.Mainnet]: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
19
- [a.Holesky]: "0x64Cc0de0429bcb87e875905a0c313ec88f6d1d3E"
18
+ [e.Mainnet]: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
19
+ [e.Holesky]: "0x64Cc0de0429bcb87e875905a0c313ec88f6d1d3E"
20
20
  },
21
21
  DAI: {
22
- [a.Mainnet]: "0x6b175474e89094c44da98b954eedeac495271d0f",
23
- [a.Holesky]: "0x4478905505ddfb7eA1c8A9f46eAEC3695cE542ac"
22
+ [e.Mainnet]: "0x6b175474e89094c44da98b954eedeac495271d0f",
23
+ [e.Holesky]: "0x4478905505ddfb7eA1c8A9f46eAEC3695cE542ac"
24
24
  },
25
25
  WETH: {
26
- [a.Mainnet]: "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
27
- [a.Holesky]: "0x1d181cBd1825e9eBC6AD966878D555A7215FF4F0"
26
+ [e.Mainnet]: "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
27
+ [e.Holesky]: "0x1d181cBd1825e9eBC6AD966878D555A7215FF4F0"
28
28
  },
29
29
  stETH: {
30
- [a.Mainnet]: "0xae7ab96520de3a18e5e111b5eaab095312d7fe84",
31
- [a.Holesky]: "0x3F1c547b21f65e10480dE3ad8E19fAAC46C95034"
30
+ [e.Mainnet]: "0xae7ab96520de3a18e5e111b5eaab095312d7fe84",
31
+ [e.Holesky]: "0x3F1c547b21f65e10480dE3ad8E19fAAC46C95034"
32
32
  },
33
33
  wstETH: {
34
- [a.Mainnet]: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0",
35
- [a.Holesky]: "0x8d09a4502Cc8Cf1547aD300E066060D043f6982D"
34
+ [e.Mainnet]: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0",
35
+ [e.Holesky]: "0x8d09a4502Cc8Cf1547aD300E066060D043f6982D"
36
36
  },
37
37
  eETH: {
38
- [a.Mainnet]: "0x35fa164735182de50811e8e2e824cfb9b6118ac2",
39
- [a.Holesky]: "0x7ba2ee123b5977e3da040e1eacb3a61c82c17876"
38
+ [e.Mainnet]: "0x35fa164735182de50811e8e2e824cfb9b6118ac2",
39
+ [e.Holesky]: "0x7ba2ee123b5977e3da040e1eacb3a61c82c17876"
40
40
  },
41
41
  cbETH: {
42
- [a.Mainnet]: "0xbe9895146f7af43049ca1c1ae358b0541ea49704",
43
- [a.Holesky]: "0x0000000000000000000000000000000000000000"
42
+ [e.Mainnet]: "0xbe9895146f7af43049ca1c1ae358b0541ea49704",
43
+ [e.Holesky]: "0x0000000000000000000000000000000000000000"
44
44
  },
45
45
  ALT: {
46
- [a.Mainnet]: "0x8457ca5040ad67fdebbcc8edce889a335bc0fbfb",
47
- [a.Holesky]: "0xaf5588a571b42c7e50bd440d80f9bf94a4db94ee"
46
+ [e.Mainnet]: "0x8457ca5040ad67fdebbcc8edce889a335bc0fbfb",
47
+ [e.Holesky]: "0xaf5588a571b42c7e50bd440d80f9bf94a4db94ee"
48
48
  },
49
49
  pufETHwstE: {
50
- [a.Mainnet]: "0xeeda34a377dd0ca676b9511ee1324974fa8d980d",
51
- [a.Holesky]: "0x0000000000000000000000000000000000000000"
50
+ [e.Mainnet]: "0xeeda34a377dd0ca676b9511ee1324974fa8d980d",
51
+ [e.Holesky]: "0x0000000000000000000000000000000000000000"
52
52
  },
53
53
  pufETH: {
54
- [a.Mainnet]: "0xd9a442856c234a39a81a089c06451ebaa4306a72",
55
- [a.Holesky]: "0x9196830bB4c05504E0A8475A0aD566AceEB6BeC9"
54
+ [e.Mainnet]: "0xd9a442856c234a39a81a089c06451ebaa4306a72",
55
+ [e.Holesky]: "0x9196830bB4c05504E0A8475A0aD566AceEB6BeC9",
56
+ [e.Soneium]: "0x6c460b2c6D6719562D5dA43E5152B375e79B9A8B",
57
+ [e.Arbitrum]: "0x37D6382B6889cCeF8d6871A8b60E667115eDDBcF"
58
+ },
59
+ xPufETH: {
60
+ [e.Base]: "0x23dA5F2d509cb43A59d43C108a43eDf34510eff1",
61
+ [e.Bsc]: "0x64274835D88F5c0215da8AADd9A5f2D2A2569381",
62
+ [e.ApeChain]: "0x6234E5ef39B12EFdFcbd99dd7F452F27F3fEAE3b"
56
63
  },
57
64
  WBTC: {
58
- [a.Mainnet]: "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",
59
- [a.Holesky]: "0x0000000000000000000000000000000000000000"
65
+ [e.Mainnet]: "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",
66
+ [e.Holesky]: "0x0000000000000000000000000000000000000000"
60
67
  },
61
68
  LBTC: {
62
- [a.Mainnet]: "0x8236a87084f8b84306f72007f36f2618a5634494",
63
- [a.Holesky]: "0x0000000000000000000000000000000000000000"
69
+ [e.Mainnet]: "0x8236a87084f8b84306f72007f36f2618a5634494",
70
+ [e.Holesky]: "0x0000000000000000000000000000000000000000"
64
71
  },
65
72
  tBTC: {
66
- [a.Mainnet]: "0x18084fbA666a33d37592fA2633fD49a74DD93a88",
67
- [a.Holesky]: "0x0000000000000000000000000000000000000000"
73
+ [e.Mainnet]: "0x18084fbA666a33d37592fA2633fD49a74DD93a88",
74
+ [e.Holesky]: "0x0000000000000000000000000000000000000000"
68
75
  },
69
76
  cbBTC: {
70
- [a.Mainnet]: "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",
71
- [a.Holesky]: "0x0000000000000000000000000000000000000000"
77
+ [e.Mainnet]: "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",
78
+ [e.Holesky]: "0x0000000000000000000000000000000000000000"
72
79
  },
73
80
  pumpBTC: {
74
- [a.Mainnet]: "0xf469fbd2abcd6b9de8e169d128226c0fc90a012e",
75
- [a.Holesky]: "0x0000000000000000000000000000000000000000"
81
+ [e.Mainnet]: "0xf469fbd2abcd6b9de8e169d128226c0fc90a012e",
82
+ [e.Holesky]: "0x0000000000000000000000000000000000000000"
76
83
  },
77
84
  SolvBTC: {
78
- [a.Mainnet]: "0x7a56e1c57c7475ccf742a1832b028f0456652f97",
79
- [a.Holesky]: "0x0000000000000000000000000000000000000000"
85
+ [e.Mainnet]: "0x7a56e1c57c7475ccf742a1832b028f0456652f97",
86
+ [e.Holesky]: "0x0000000000000000000000000000000000000000"
80
87
  },
81
88
  PUFFER: {
82
- [a.Mainnet]: "0x4d1c297d39c5c1277964d0e3f8aa901493664530",
83
- [a.Holesky]: "0x0000000000000000000000000000000000000000"
89
+ [e.Mainnet]: "0x4d1c297d39c5c1277964d0e3f8aa901493664530",
90
+ [e.Holesky]: "0x0000000000000000000000000000000000000000"
84
91
  },
85
92
  CARROT: {
86
- [a.Mainnet]: "0x282a69142bac47855c3fbe1693fcc4ba3b4d5ed6",
87
- [a.Holesky]: "0x0000000000000000000000000000000000000000"
93
+ [e.Mainnet]: "0x282a69142bac47855c3fbe1693fcc4ba3b4d5ed6",
94
+ [e.Holesky]: "0x0000000000000000000000000000000000000000"
88
95
  },
89
96
  lvlUSD: {
90
- [a.Mainnet]: "0x7C1156E515aA1A2E851674120074968C905aAF37",
91
- [a.Holesky]: "0x0000000000000000000000000000000000000000"
97
+ [e.Mainnet]: "0x7C1156E515aA1A2E851674120074968C905aAF37",
98
+ [e.Holesky]: "0x0000000000000000000000000000000000000000"
92
99
  },
93
100
  slvlUSD: {
94
- [a.Mainnet]: "0x4737d9b4592b40d51e110b94c9c043c6654067ae",
95
- [a.Holesky]: "0x0000000000000000000000000000000000000000"
101
+ [e.Mainnet]: "0x4737d9b4592b40d51e110b94c9c043c6654067ae",
102
+ [e.Holesky]: "0x0000000000000000000000000000000000000000"
96
103
  },
97
104
  mtwCARROT: {
98
- [a.Mainnet]: "0x8A5A5DE9db5770123Ff2145F59e9F20047f0A8EC",
99
- [a.Holesky]: "0x0000000000000000000000000000000000000000"
105
+ [e.Mainnet]: "0x8A5A5DE9db5770123Ff2145F59e9F20047f0A8EC",
106
+ [e.Holesky]: "0x0000000000000000000000000000000000000000"
100
107
  },
101
108
  sCARROT: {
102
- [a.Mainnet]: "0x99c599227c65132822f0290d9e5b4b0430d6c0d6",
103
- [a.Holesky]: "0x0000000000000000000000000000000000000000"
109
+ [e.Mainnet]: "0x99c599227c65132822f0290d9e5b4b0430d6c0d6",
110
+ [e.Holesky]: "0x0000000000000000000000000000000000000000"
104
111
  },
105
112
  // UniFi Tokens
106
113
  unifiETH: {
107
- [a.Mainnet]: "0x196ead472583bc1e9af7a05f860d9857e1bd3dcc",
108
- [a.Holesky]: "0x0000000000000000000000000000000000000000"
114
+ [e.Mainnet]: "0x196ead472583bc1e9af7a05f860d9857e1bd3dcc",
115
+ [e.Holesky]: "0x0000000000000000000000000000000000000000"
109
116
  },
110
117
  unifiUSD: {
111
- [a.Mainnet]: "0x82c40e07277eBb92935f79cE92268F80dDc7caB4",
112
- [a.Holesky]: "0x0000000000000000000000000000000000000000"
118
+ [e.Mainnet]: "0x82c40e07277eBb92935f79cE92268F80dDc7caB4",
119
+ [e.Holesky]: "0x0000000000000000000000000000000000000000"
113
120
  },
114
121
  unifiBTC: {
115
- [a.Mainnet]: "0x170d847a8320f3b6a77ee15b0cae430e3ec933a0",
116
- [a.Holesky]: "0x0000000000000000000000000000000000000000"
122
+ [e.Mainnet]: "0x170d847a8320f3b6a77ee15b0cae430e3ec933a0",
123
+ [e.Holesky]: "0x0000000000000000000000000000000000000000"
117
124
  },
118
125
  pufETHs: {
119
- [a.Mainnet]: "0x62a4ce0722ee65635c0f8339dd814d549b6f6735",
120
- [a.Holesky]: "0x0000000000000000000000000000000000000000"
126
+ [e.Mainnet]: "0x62a4ce0722ee65635c0f8339dd814d549b6f6735",
127
+ [e.Holesky]: "0x0000000000000000000000000000000000000000"
121
128
  }
122
129
  }, E = {
123
130
  // USDC does not support permit signatures (ERC20Permit).
@@ -139,6 +146,7 @@ const d = {
139
146
  ALT: "1",
140
147
  pufETHwstE: "v7.0.0",
141
148
  pufETH: "1",
149
+ xPufETH: "1",
142
150
  WBTC: "",
143
151
  LBTC: "",
144
152
  tBTC: "",
@@ -166,12 +174,12 @@ const d = {
166
174
  pufETHwstE: {
167
175
  // Taken from
168
176
  // https://etherscan.io/token/0xeeda34a377dd0ca676b9511ee1324974fa8d980d#readContract#F39.
169
- [a.Mainnet]: "0x0e986ed5610121905f03fd3850cebcc00f66166fc3ab760acb4e087d735d9457",
170
- [a.Holesky]: "0x0000000000000000000000000000000000000000000000000000000000000000"
177
+ [e.Mainnet]: "0x0e986ed5610121905f03fd3850cebcc00f66166fc3ab760acb4e087d735d9457",
178
+ [e.Holesky]: "0x0000000000000000000000000000000000000000000000000000000000000000"
171
179
  }
172
180
  };
173
181
  export {
174
- d as TOKENS_ADDRESSES,
182
+ b as TOKENS_ADDRESSES,
175
183
  E as TOKENS_PERMIT_VERSION,
176
184
  T as TOKENS_SALT,
177
185
  c as Token,
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sources":["../../lib/contracts/tokens.ts"],"sourcesContent":["import { Address } from 'viem';\nimport { Chain } from '../chains/constants';\n\nexport enum Token {\n USDT = 'USDT',\n USDC = 'USDC',\n DAI = 'DAI',\n WETH = 'WETH',\n stETH = 'stETH',\n wstETH = 'wstETH',\n eETH = 'eETH',\n cbETH = 'cbETH',\n ALT = 'ALT',\n pufETHwstE = 'pufETHwstE',\n pufETH = 'pufETH',\n WBTC = 'WBTC',\n LBTC = 'LBTC',\n tBTC = 'tBTC',\n cbBTC = 'cbBTC',\n pumpBTC = 'pumpBTC',\n SolvBTC = 'SolvBTC',\n PUFFER = 'PUFFER',\n CARROT = 'CARROT',\n lvlUSD = 'lvlUSD',\n slvlUSD = 'slvlUSD',\n mtwCARROT = 'mtwCARROT',\n sCARROT = 'sCARROT',\n LINK = 'LINK',\n TEST = 'TEST',\n}\n\nexport enum UnifiToken {\n unifiETH = 'unifiETH',\n unifiUSD = 'unifiUSD',\n unifiBTC = 'unifiBTC',\n // Symbiotic pufETH.\n pufETHs = 'pufETHs',\n}\n\nexport type AnyToken = Token | UnifiToken;\n\nexport const TOKENS_ADDRESSES: {\n [key in AnyToken]: { [chain in Chain]: Address };\n} = {\n [Token.TEST]: {\n [Chain.Sepolia]: '0xd26e3540a0a368845b234736a0700e0a5a821bba',\n [Chain.OptimismSepolia]: '0x7Fa13D6CB44164ea09dF8BCc673A8849092D435b',\n },\n [Token.LINK]: {\n [Chain.BaseSepolia]: '0xe4ab69c077896252fafbd49efd26b5d171a32410',\n [Chain.OptimismSepolia]: '0xE4aB69C077896252FAFBD49EFD26B5D171A32410',\n },\n [Token.USDT]: {\n [Chain.Mainnet]: '0xdac17f958d2ee523a2206206994597c13d831ec7',\n [Chain.Holesky]: '0xd5bef2c64f418fd460319521d37862327122e3bc',\n [Chain.Sepolia]: '0xaa8e23fb1079ea71e0a56f48a2aa51851d8433d0',\n },\n [Token.USDC]: {\n [Chain.Mainnet]: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',\n [Chain.Holesky]: '0x64Cc0de0429bcb87e875905a0c313ec88f6d1d3E',\n },\n [Token.DAI]: {\n [Chain.Mainnet]: '0x6b175474e89094c44da98b954eedeac495271d0f',\n [Chain.Holesky]: '0x4478905505ddfb7eA1c8A9f46eAEC3695cE542ac',\n },\n [Token.WETH]: {\n [Chain.Mainnet]: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',\n [Chain.Holesky]: '0x1d181cBd1825e9eBC6AD966878D555A7215FF4F0',\n },\n [Token.stETH]: {\n [Chain.Mainnet]: '0xae7ab96520de3a18e5e111b5eaab095312d7fe84',\n [Chain.Holesky]: '0x3F1c547b21f65e10480dE3ad8E19fAAC46C95034',\n },\n [Token.wstETH]: {\n [Chain.Mainnet]: '0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0',\n [Chain.Holesky]: '0x8d09a4502Cc8Cf1547aD300E066060D043f6982D',\n },\n [Token.eETH]: {\n [Chain.Mainnet]: '0x35fa164735182de50811e8e2e824cfb9b6118ac2',\n [Chain.Holesky]: '0x7ba2ee123b5977e3da040e1eacb3a61c82c17876',\n },\n [Token.cbETH]: {\n [Chain.Mainnet]: '0xbe9895146f7af43049ca1c1ae358b0541ea49704',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.ALT]: {\n [Chain.Mainnet]: '0x8457ca5040ad67fdebbcc8edce889a335bc0fbfb',\n [Chain.Holesky]: '0xaf5588a571b42c7e50bd440d80f9bf94a4db94ee',\n },\n [Token.pufETHwstE]: {\n [Chain.Mainnet]: '0xeeda34a377dd0ca676b9511ee1324974fa8d980d',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.pufETH]: {\n [Chain.Mainnet]: '0xd9a442856c234a39a81a089c06451ebaa4306a72',\n [Chain.Holesky]: '0x9196830bB4c05504E0A8475A0aD566AceEB6BeC9',\n },\n [Token.WBTC]: {\n [Chain.Mainnet]: '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.LBTC]: {\n [Chain.Mainnet]: '0x8236a87084f8b84306f72007f36f2618a5634494',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.tBTC]: {\n [Chain.Mainnet]: '0x18084fbA666a33d37592fA2633fD49a74DD93a88',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.cbBTC]: {\n [Chain.Mainnet]: '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.pumpBTC]: {\n [Chain.Mainnet]: '0xf469fbd2abcd6b9de8e169d128226c0fc90a012e',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.SolvBTC]: {\n [Chain.Mainnet]: '0x7a56e1c57c7475ccf742a1832b028f0456652f97',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.PUFFER]: {\n [Chain.Mainnet]: '0x4d1c297d39c5c1277964d0e3f8aa901493664530',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.CARROT]: {\n [Chain.Mainnet]: '0x282a69142bac47855c3fbe1693fcc4ba3b4d5ed6',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.lvlUSD]: {\n [Chain.Mainnet]: '0x7C1156E515aA1A2E851674120074968C905aAF37',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.slvlUSD]: {\n [Chain.Mainnet]: '0x4737d9b4592b40d51e110b94c9c043c6654067ae',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.mtwCARROT]: {\n [Chain.Mainnet]: '0x8A5A5DE9db5770123Ff2145F59e9F20047f0A8EC',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.sCARROT]: {\n [Chain.Mainnet]: '0x99c599227c65132822f0290d9e5b4b0430d6c0d6',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n\n // UniFi Tokens\n [UnifiToken.unifiETH]: {\n [Chain.Mainnet]: '0x196ead472583bc1e9af7a05f860d9857e1bd3dcc',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [UnifiToken.unifiUSD]: {\n [Chain.Mainnet]: '0x82c40e07277eBb92935f79cE92268F80dDc7caB4',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [UnifiToken.unifiBTC]: {\n [Chain.Mainnet]: '0x170d847a8320f3b6a77ee15b0cae430e3ec933a0',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [UnifiToken.pufETHs]: {\n [Chain.Mainnet]: '0x62a4ce0722ee65635c0f8339dd814d549b6f6735',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n};\n\nexport const TOKENS_PERMIT_VERSION: { [key in AnyToken]: string } = {\n // USDC does not support permit signatures (ERC20Permit).\n // https://ethereum.stackexchange.com/questions/166254/usdt-contract-dont-have-erc20permit\n [Token.USDT]: '',\n // USDC does not support permit signatures (ERC20Permit).\n [Token.USDC]: '',\n // DAI does not support permit signatures (ERC20Permit).\n [Token.DAI]: '',\n // WETH does not support permit signatures (ERC20Permit).\n [Token.WETH]: '',\n [Token.stETH]: '2',\n // Puffer Quest v1 uses version 1 for wstETH.\n [Token.wstETH]: '1',\n // https://github.com/etherfi-protocol/smart-contracts/blob/7c66e571df4fe7ec502a3c325b623bc52349ef9d/src/EETH.sol#L55\n [Token.eETH]: '1',\n // https://etherscan.io/token/0xbe9895146f7af43049ca1c1ae358b0541ea49704#readProxyContract#F26\n [Token.cbETH]: '2',\n [Token.ALT]: '1',\n [Token.pufETHwstE]: 'v7.0.0',\n [Token.pufETH]: '1',\n [Token.WBTC]: '',\n [Token.LBTC]: '',\n [Token.tBTC]: '',\n [Token.cbBTC]: '',\n [Token.pumpBTC]: '',\n [Token.SolvBTC]: '',\n [Token.PUFFER]: '1',\n [Token.CARROT]: '1',\n [Token.lvlUSD]: '1',\n [Token.slvlUSD]: '1',\n [Token.mtwCARROT]: '',\n [Token.sCARROT]: '',\n [Token.LINK]: '',\n [Token.TEST]: '',\n\n // UniFi Tokens\n // https://etherscan.io/address/0x196ead472583bc1e9af7a05f860d9857e1bd3dcc#code#F7#L172\n [UnifiToken.unifiETH]: '1',\n // https://etherscan.io/address/0x82c40e07277eBb92935f79cE92268F80dDc7caB4#code#F7#L172\n [UnifiToken.unifiUSD]: '1',\n // https://etherscan.io/address/0x170d847a8320f3b6a77ee15b0cae430e3ec933a0#code#F7#L172\n [UnifiToken.unifiBTC]: '1',\n // https://etherscan.io/address/0x62a4ce0722ee65635c0f8339dd814d549b6f6735#code#F7#L172\n [UnifiToken.pufETHs]: '1',\n};\n\nexport const TOKENS_SALT: Partial<{\n [key in AnyToken]: { [chain in Chain]: Address };\n}> = {\n [Token.pufETHwstE]: {\n // Taken from\n // https://etherscan.io/token/0xeeda34a377dd0ca676b9511ee1324974fa8d980d#readContract#F39.\n [Chain.Mainnet]:\n '0x0e986ed5610121905f03fd3850cebcc00f66166fc3ab760acb4e087d735d9457',\n [Chain.Holesky]:\n '0x0000000000000000000000000000000000000000000000000000000000000000',\n },\n};\n"],"names":["Token","UnifiToken","TOKENS_ADDRESSES","Chain","TOKENS_PERMIT_VERSION","TOKENS_SALT"],"mappings":"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"}
1
+ {"version":3,"file":"tokens.js","sources":["../../lib/contracts/tokens.ts"],"sourcesContent":["import { Address } from 'viem';\nimport { Chain } from '../chains/constants';\n\nexport enum Token {\n USDT = 'USDT',\n USDC = 'USDC',\n DAI = 'DAI',\n WETH = 'WETH',\n stETH = 'stETH',\n wstETH = 'wstETH',\n eETH = 'eETH',\n cbETH = 'cbETH',\n ALT = 'ALT',\n pufETHwstE = 'pufETHwstE',\n pufETH = 'pufETH',\n xPufETH = 'xPufETH',\n WBTC = 'WBTC',\n LBTC = 'LBTC',\n tBTC = 'tBTC',\n cbBTC = 'cbBTC',\n pumpBTC = 'pumpBTC',\n SolvBTC = 'SolvBTC',\n PUFFER = 'PUFFER',\n CARROT = 'CARROT',\n lvlUSD = 'lvlUSD',\n slvlUSD = 'slvlUSD',\n mtwCARROT = 'mtwCARROT',\n sCARROT = 'sCARROT',\n LINK = 'LINK',\n TEST = 'TEST',\n}\n\nexport enum UnifiToken {\n unifiETH = 'unifiETH',\n unifiUSD = 'unifiUSD',\n unifiBTC = 'unifiBTC',\n // Symbiotic pufETH.\n pufETHs = 'pufETHs',\n}\n\nexport type AnyToken = Token | UnifiToken;\n\nexport const TOKENS_ADDRESSES: {\n [key in AnyToken]: { [chain in Chain]: Address };\n} = {\n [Token.TEST]: {\n [Chain.Sepolia]: '0xd26e3540a0a368845b234736a0700e0a5a821bba',\n [Chain.OptimismSepolia]: '0x7Fa13D6CB44164ea09dF8BCc673A8849092D435b',\n },\n [Token.LINK]: {\n [Chain.BaseSepolia]: '0xe4ab69c077896252fafbd49efd26b5d171a32410',\n [Chain.OptimismSepolia]: '0xE4aB69C077896252FAFBD49EFD26B5D171A32410',\n },\n [Token.USDT]: {\n [Chain.Mainnet]: '0xdac17f958d2ee523a2206206994597c13d831ec7',\n [Chain.Holesky]: '0xd5bef2c64f418fd460319521d37862327122e3bc',\n [Chain.Sepolia]: '0xaa8e23fb1079ea71e0a56f48a2aa51851d8433d0',\n },\n [Token.USDC]: {\n [Chain.Mainnet]: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',\n [Chain.Holesky]: '0x64Cc0de0429bcb87e875905a0c313ec88f6d1d3E',\n },\n [Token.DAI]: {\n [Chain.Mainnet]: '0x6b175474e89094c44da98b954eedeac495271d0f',\n [Chain.Holesky]: '0x4478905505ddfb7eA1c8A9f46eAEC3695cE542ac',\n },\n [Token.WETH]: {\n [Chain.Mainnet]: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',\n [Chain.Holesky]: '0x1d181cBd1825e9eBC6AD966878D555A7215FF4F0',\n },\n [Token.stETH]: {\n [Chain.Mainnet]: '0xae7ab96520de3a18e5e111b5eaab095312d7fe84',\n [Chain.Holesky]: '0x3F1c547b21f65e10480dE3ad8E19fAAC46C95034',\n },\n [Token.wstETH]: {\n [Chain.Mainnet]: '0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0',\n [Chain.Holesky]: '0x8d09a4502Cc8Cf1547aD300E066060D043f6982D',\n },\n [Token.eETH]: {\n [Chain.Mainnet]: '0x35fa164735182de50811e8e2e824cfb9b6118ac2',\n [Chain.Holesky]: '0x7ba2ee123b5977e3da040e1eacb3a61c82c17876',\n },\n [Token.cbETH]: {\n [Chain.Mainnet]: '0xbe9895146f7af43049ca1c1ae358b0541ea49704',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.ALT]: {\n [Chain.Mainnet]: '0x8457ca5040ad67fdebbcc8edce889a335bc0fbfb',\n [Chain.Holesky]: '0xaf5588a571b42c7e50bd440d80f9bf94a4db94ee',\n },\n [Token.pufETHwstE]: {\n [Chain.Mainnet]: '0xeeda34a377dd0ca676b9511ee1324974fa8d980d',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.pufETH]: {\n [Chain.Mainnet]: '0xd9a442856c234a39a81a089c06451ebaa4306a72',\n [Chain.Holesky]: '0x9196830bB4c05504E0A8475A0aD566AceEB6BeC9',\n [Chain.Soneium]: '0x6c460b2c6D6719562D5dA43E5152B375e79B9A8B',\n [Chain.Arbitrum]: '0x37D6382B6889cCeF8d6871A8b60E667115eDDBcF',\n },\n [Token.xPufETH]: {\n [Chain.Base]: '0x23dA5F2d509cb43A59d43C108a43eDf34510eff1',\n [Chain.Bsc]: '0x64274835D88F5c0215da8AADd9A5f2D2A2569381',\n [Chain.ApeChain]: '0x6234E5ef39B12EFdFcbd99dd7F452F27F3fEAE3b',\n },\n [Token.WBTC]: {\n [Chain.Mainnet]: '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.LBTC]: {\n [Chain.Mainnet]: '0x8236a87084f8b84306f72007f36f2618a5634494',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.tBTC]: {\n [Chain.Mainnet]: '0x18084fbA666a33d37592fA2633fD49a74DD93a88',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.cbBTC]: {\n [Chain.Mainnet]: '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.pumpBTC]: {\n [Chain.Mainnet]: '0xf469fbd2abcd6b9de8e169d128226c0fc90a012e',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.SolvBTC]: {\n [Chain.Mainnet]: '0x7a56e1c57c7475ccf742a1832b028f0456652f97',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.PUFFER]: {\n [Chain.Mainnet]: '0x4d1c297d39c5c1277964d0e3f8aa901493664530',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.CARROT]: {\n [Chain.Mainnet]: '0x282a69142bac47855c3fbe1693fcc4ba3b4d5ed6',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.lvlUSD]: {\n [Chain.Mainnet]: '0x7C1156E515aA1A2E851674120074968C905aAF37',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.slvlUSD]: {\n [Chain.Mainnet]: '0x4737d9b4592b40d51e110b94c9c043c6654067ae',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.mtwCARROT]: {\n [Chain.Mainnet]: '0x8A5A5DE9db5770123Ff2145F59e9F20047f0A8EC',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.sCARROT]: {\n [Chain.Mainnet]: '0x99c599227c65132822f0290d9e5b4b0430d6c0d6',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n\n // UniFi Tokens\n [UnifiToken.unifiETH]: {\n [Chain.Mainnet]: '0x196ead472583bc1e9af7a05f860d9857e1bd3dcc',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [UnifiToken.unifiUSD]: {\n [Chain.Mainnet]: '0x82c40e07277eBb92935f79cE92268F80dDc7caB4',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [UnifiToken.unifiBTC]: {\n [Chain.Mainnet]: '0x170d847a8320f3b6a77ee15b0cae430e3ec933a0',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [UnifiToken.pufETHs]: {\n [Chain.Mainnet]: '0x62a4ce0722ee65635c0f8339dd814d549b6f6735',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n};\n\nexport const TOKENS_PERMIT_VERSION: { [key in AnyToken]: string } = {\n // USDC does not support permit signatures (ERC20Permit).\n // https://ethereum.stackexchange.com/questions/166254/usdt-contract-dont-have-erc20permit\n [Token.USDT]: '',\n // USDC does not support permit signatures (ERC20Permit).\n [Token.USDC]: '',\n // DAI does not support permit signatures (ERC20Permit).\n [Token.DAI]: '',\n // WETH does not support permit signatures (ERC20Permit).\n [Token.WETH]: '',\n [Token.stETH]: '2',\n // Puffer Quest v1 uses version 1 for wstETH.\n [Token.wstETH]: '1',\n // https://github.com/etherfi-protocol/smart-contracts/blob/7c66e571df4fe7ec502a3c325b623bc52349ef9d/src/EETH.sol#L55\n [Token.eETH]: '1',\n // https://etherscan.io/token/0xbe9895146f7af43049ca1c1ae358b0541ea49704#readProxyContract#F26\n [Token.cbETH]: '2',\n [Token.ALT]: '1',\n [Token.pufETHwstE]: 'v7.0.0',\n [Token.pufETH]: '1',\n [Token.xPufETH]: '1',\n [Token.WBTC]: '',\n [Token.LBTC]: '',\n [Token.tBTC]: '',\n [Token.cbBTC]: '',\n [Token.pumpBTC]: '',\n [Token.SolvBTC]: '',\n [Token.PUFFER]: '1',\n [Token.CARROT]: '1',\n [Token.lvlUSD]: '1',\n [Token.slvlUSD]: '1',\n [Token.mtwCARROT]: '',\n [Token.sCARROT]: '',\n [Token.LINK]: '',\n [Token.TEST]: '',\n\n // UniFi Tokens\n // https://etherscan.io/address/0x196ead472583bc1e9af7a05f860d9857e1bd3dcc#code#F7#L172\n [UnifiToken.unifiETH]: '1',\n // https://etherscan.io/address/0x82c40e07277eBb92935f79cE92268F80dDc7caB4#code#F7#L172\n [UnifiToken.unifiUSD]: '1',\n // https://etherscan.io/address/0x170d847a8320f3b6a77ee15b0cae430e3ec933a0#code#F7#L172\n [UnifiToken.unifiBTC]: '1',\n // https://etherscan.io/address/0x62a4ce0722ee65635c0f8339dd814d549b6f6735#code#F7#L172\n [UnifiToken.pufETHs]: '1',\n};\n\nexport const TOKENS_SALT: Partial<{\n [key in AnyToken]: { [chain in Chain]: Address };\n}> = {\n [Token.pufETHwstE]: {\n // Taken from\n // https://etherscan.io/token/0xeeda34a377dd0ca676b9511ee1324974fa8d980d#readContract#F39.\n [Chain.Mainnet]:\n '0x0e986ed5610121905f03fd3850cebcc00f66166fc3ab760acb4e087d735d9457',\n [Chain.Holesky]:\n '0x0000000000000000000000000000000000000000000000000000000000000000',\n },\n};\n"],"names":["Token","UnifiToken","TOKENS_ADDRESSES","Chain","TOKENS_PERMIT_VERSION","TOKENS_SALT"],"mappings":"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"}