@pufferfinance/puffer-sdk 1.9.0 → 1.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/puffer-client-helpers.cjs +1 -1
- package/dist/api/puffer-client-helpers.cjs.map +1 -1
- package/dist/api/puffer-client-helpers.js +82 -81
- package/dist/api/puffer-client-helpers.js.map +1 -1
- package/dist/api/puffer-client.cjs +1 -1
- package/dist/api/puffer-client.cjs.map +1 -1
- package/dist/api/puffer-client.js +2 -2
- package/dist/api/puffer-client.js.map +1 -1
- package/dist/ccip-BO_b9tFc.cjs +2 -0
- package/dist/ccip-BO_b9tFc.cjs.map +1 -0
- package/dist/ccip-DLDO0_x2.js +148 -0
- package/dist/ccip-DLDO0_x2.js.map +1 -0
- package/dist/chains/constants.cjs +1 -1
- package/dist/chains/constants.js +1 -1
- package/dist/constants-BjRNQpT2.js +1997 -0
- package/dist/constants-BjRNQpT2.js.map +1 -0
- package/dist/constants-DA2xUb9r.cjs +9 -0
- package/dist/constants-DA2xUb9r.cjs.map +1 -0
- package/dist/contracts/abis/holesky/PufferDepositor.cjs.map +1 -1
- package/dist/contracts/abis/holesky/PufferDepositor.js.map +1 -1
- package/dist/contracts/abis/holesky/PufferVaultV2.cjs.map +1 -1
- package/dist/contracts/abis/holesky/PufferVaultV2.js.map +1 -1
- package/dist/contracts/abis/l1-reward-manager-abis.cjs +1 -1
- package/dist/contracts/abis/l1-reward-manager-abis.cjs.map +1 -1
- package/dist/contracts/abis/l1-reward-manager-abis.js +1 -1
- package/dist/contracts/abis/l2-reward-manager-abis.cjs +1 -1
- package/dist/contracts/abis/l2-reward-manager-abis.cjs.map +1 -1
- package/dist/contracts/abis/l2-reward-manager-abis.js +1 -1
- package/dist/contracts/abis/mainnet/Accountant.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/Accountant.js.map +1 -1
- package/dist/contracts/abis/mainnet/AtomicQueue.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/AtomicQueue.js.map +1 -1
- package/dist/contracts/abis/mainnet/BoringVault.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/BoringVault.js.map +1 -1
- package/dist/contracts/abis/mainnet/ERC20Permit.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/ERC20Permit.js.map +1 -1
- package/dist/contracts/abis/mainnet/L1RewardManager.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/L1RewardManager.js.map +1 -1
- package/dist/contracts/abis/mainnet/L2RewardManager.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/L2RewardManager.js.map +1 -1
- package/dist/contracts/abis/mainnet/PufLocker.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/PufLocker.js.map +1 -1
- package/dist/contracts/abis/mainnet/PufferDepositor.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/PufferDepositor.js.map +1 -1
- package/dist/contracts/abis/mainnet/PufferL2Depositor.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/PufferL2Depositor.js.map +1 -1
- package/dist/contracts/abis/mainnet/PufferVaultV2.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/PufferVaultV2.js.map +1 -1
- package/dist/contracts/abis/mainnet/PufferWithdrawalManager.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/PufferWithdrawalManager.js.map +1 -1
- package/dist/contracts/abis/mainnet/Teller.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/Teller.js.map +1 -1
- package/dist/contracts/abis/nucleus-accountant-abis.cjs +1 -1
- package/dist/contracts/abis/nucleus-accountant-abis.cjs.map +1 -1
- package/dist/contracts/abis/nucleus-accountant-abis.js +1 -1
- package/dist/contracts/abis/nucleus-atomic-queue-abis.cjs +1 -1
- package/dist/contracts/abis/nucleus-atomic-queue-abis.cjs.map +1 -1
- package/dist/contracts/abis/nucleus-atomic-queue-abis.js +1 -1
- package/dist/contracts/abis/nucleus-boring-vault-abis.cjs +1 -1
- package/dist/contracts/abis/nucleus-boring-vault-abis.cjs.map +1 -1
- package/dist/contracts/abis/nucleus-boring-vault-abis.js +1 -1
- package/dist/contracts/abis/nucleus-teller-abis.cjs +1 -1
- package/dist/contracts/abis/nucleus-teller-abis.cjs.map +1 -1
- package/dist/contracts/abis/nucleus-teller-abis.js +1 -1
- package/dist/contracts/abis/puf-locker-abis.cjs +1 -1
- package/dist/contracts/abis/puf-locker-abis.cjs.map +1 -1
- package/dist/contracts/abis/puf-locker-abis.js +1 -1
- package/dist/contracts/abis/puffer-depositor-abis.cjs +1 -1
- package/dist/contracts/abis/puffer-depositor-abis.cjs.map +1 -1
- package/dist/contracts/abis/puffer-depositor-abis.js +1 -1
- package/dist/contracts/abis/puffer-depositor-abis.js.map +1 -1
- package/dist/contracts/abis/puffer-vault-abis.cjs +1 -1
- package/dist/contracts/abis/puffer-vault-abis.cjs.map +1 -1
- package/dist/contracts/abis/puffer-vault-abis.js +1 -1
- package/dist/contracts/abis/puffer-vault-abis.js.map +1 -1
- package/dist/contracts/abis/puffer-withdrawal-manager-abis.cjs +1 -1
- package/dist/contracts/abis/puffer-withdrawal-manager-abis.cjs.map +1 -1
- package/dist/contracts/abis/puffer-withdrawal-manager-abis.js +1 -1
- package/dist/contracts/addresses.cjs +1 -1
- package/dist/contracts/addresses.cjs.map +1 -1
- package/dist/contracts/addresses.js +1 -1
- package/dist/contracts/addresses.js.map +1 -1
- package/dist/contracts/handlers/erc20-permit-handler.cjs +1 -1
- package/dist/contracts/handlers/erc20-permit-handler.cjs.map +1 -1
- package/dist/contracts/handlers/erc20-permit-handler.d.ts +11128 -2714
- package/dist/contracts/handlers/erc20-permit-handler.js +3 -3
- package/dist/contracts/handlers/erc20-permit-handler.js.map +1 -1
- package/dist/contracts/handlers/l1-reward-manager-handler.cjs +1 -1
- package/dist/contracts/handlers/l1-reward-manager-handler.cjs.map +1 -1
- package/dist/contracts/handlers/l1-reward-manager-handler.d.ts +11128 -2714
- package/dist/contracts/handlers/l1-reward-manager-handler.js +2 -2
- package/dist/contracts/handlers/l1-reward-manager-handler.js.map +1 -1
- package/dist/contracts/handlers/l2-reward-manager-handler.cjs +1 -1
- package/dist/contracts/handlers/l2-reward-manager-handler.cjs.map +1 -1
- package/dist/contracts/handlers/l2-reward-manager-handler.d.ts +11128 -2714
- package/dist/contracts/handlers/l2-reward-manager-handler.js +2 -2
- package/dist/contracts/handlers/l2-reward-manager-handler.js.map +1 -1
- package/dist/contracts/handlers/nucleus-accountant-handler.cjs +1 -1
- package/dist/contracts/handlers/nucleus-accountant-handler.cjs.map +1 -1
- package/dist/contracts/handlers/nucleus-accountant-handler.d.ts +11128 -2714
- package/dist/contracts/handlers/nucleus-accountant-handler.js +1 -1
- package/dist/contracts/handlers/nucleus-accountant-handler.js.map +1 -1
- package/dist/contracts/handlers/nucleus-atomic-queue-handler.cjs +1 -1
- package/dist/contracts/handlers/nucleus-atomic-queue-handler.cjs.map +1 -1
- package/dist/contracts/handlers/nucleus-atomic-queue-handler.d.ts +11128 -2714
- package/dist/contracts/handlers/nucleus-atomic-queue-handler.js +2 -2
- package/dist/contracts/handlers/nucleus-atomic-queue-handler.js.map +1 -1
- package/dist/contracts/handlers/nucleus-boring-vault-handler.cjs +1 -1
- package/dist/contracts/handlers/nucleus-boring-vault-handler.cjs.map +1 -1
- package/dist/contracts/handlers/nucleus-boring-vault-handler.d.ts +11128 -2714
- package/dist/contracts/handlers/nucleus-boring-vault-handler.js +2 -2
- package/dist/contracts/handlers/nucleus-boring-vault-handler.js.map +1 -1
- package/dist/contracts/handlers/nucleus-teller-handler.cjs +1 -1
- package/dist/contracts/handlers/nucleus-teller-handler.cjs.map +1 -1
- package/dist/contracts/handlers/nucleus-teller-handler.d.ts +11128 -2714
- package/dist/contracts/handlers/nucleus-teller-handler.js +2 -2
- package/dist/contracts/handlers/nucleus-teller-handler.js.map +1 -1
- package/dist/contracts/handlers/puf-locker-handler.cjs +1 -1
- package/dist/contracts/handlers/puf-locker-handler.cjs.map +1 -1
- package/dist/contracts/handlers/puf-locker-handler.d.ts +11128 -2714
- package/dist/contracts/handlers/puf-locker-handler.js +2 -2
- package/dist/contracts/handlers/puf-locker-handler.js.map +1 -1
- package/dist/contracts/handlers/puffer-depositor-handler.cjs +1 -1
- package/dist/contracts/handlers/puffer-depositor-handler.cjs.map +1 -1
- package/dist/contracts/handlers/puffer-depositor-handler.d.ts +11128 -2714
- package/dist/contracts/handlers/puffer-depositor-handler.js +2 -2
- package/dist/contracts/handlers/puffer-depositor-handler.js.map +1 -1
- package/dist/contracts/handlers/puffer-l2-depositor-handler.cjs +1 -1
- package/dist/contracts/handlers/puffer-l2-depositor-handler.cjs.map +1 -1
- package/dist/contracts/handlers/puffer-l2-depositor-handler.d.ts +11128 -2714
- package/dist/contracts/handlers/puffer-l2-depositor-handler.js +2 -2
- package/dist/contracts/handlers/puffer-l2-depositor-handler.js.map +1 -1
- package/dist/contracts/handlers/puffer-vault-handler.cjs +1 -1
- package/dist/contracts/handlers/puffer-vault-handler.cjs.map +1 -1
- package/dist/contracts/handlers/puffer-vault-handler.d.ts +11128 -2714
- package/dist/contracts/handlers/puffer-vault-handler.js +2 -2
- package/dist/contracts/handlers/puffer-vault-handler.js.map +1 -1
- package/dist/contracts/handlers/puffer-withdrawal-manager-handler.cjs +1 -1
- package/dist/contracts/handlers/puffer-withdrawal-manager-handler.cjs.map +1 -1
- package/dist/contracts/handlers/puffer-withdrawal-manager-handler.d.ts +11128 -2714
- package/dist/contracts/handlers/puffer-withdrawal-manager-handler.js +2 -2
- package/dist/contracts/handlers/puffer-withdrawal-manager-handler.js.map +1 -1
- package/dist/contracts/tokens.cjs +1 -1
- package/dist/contracts/tokens.cjs.map +1 -1
- package/dist/contracts/tokens.js +1 -1
- package/dist/contracts/tokens.js.map +1 -1
- package/dist/createWalletClient-BuLYysrp.cjs +4 -0
- package/dist/createWalletClient-BuLYysrp.cjs.map +1 -0
- package/dist/createWalletClient-DNcW-ENe.js +2028 -0
- package/dist/createWalletClient-DNcW-ENe.js.map +1 -0
- package/dist/errors/base-error.cjs.map +1 -1
- package/dist/errors/base-error.js.map +1 -1
- package/dist/{getContract-MrPLx6gp.cjs → getContract-3QbyfZBF.cjs} +2 -2
- package/dist/getContract-3QbyfZBF.cjs.map +1 -0
- package/dist/{getContract-B3Spz0SO.js → getContract-CezEyDf-.js} +2 -2
- package/dist/{getContract-MrPLx6gp.cjs.map → getContract-CezEyDf-.js.map} +1 -1
- package/dist/main.cjs +1 -1
- package/dist/main.js +1 -1
- package/dist/secp256k1-3OC5y4qp.js +1579 -0
- package/dist/secp256k1-3OC5y4qp.js.map +1 -0
- package/dist/secp256k1-bcahnPX9.cjs +2 -0
- package/dist/secp256k1-bcahnPX9.cjs.map +1 -0
- package/dist/utils/version.cjs +1 -1
- package/dist/utils/version.js +1 -1
- package/dist/writeContract-ChuHpJLC.js +3799 -0
- package/dist/writeContract-ChuHpJLC.js.map +1 -0
- package/dist/writeContract-D97dSJQe.cjs +32 -0
- package/dist/writeContract-D97dSJQe.cjs.map +1 -0
- package/package.json +13 -13
- package/dist/ccip-D4klNwCt.js +0 -159
- package/dist/ccip-D4klNwCt.js.map +0 -1
- package/dist/ccip-DLDqFodf.cjs +0 -2
- package/dist/ccip-DLDqFodf.cjs.map +0 -1
- package/dist/constants-BvU-JhfL.cjs +0 -9
- package/dist/constants-BvU-JhfL.cjs.map +0 -1
- package/dist/constants-rWWWhxR_.js +0 -2099
- package/dist/constants-rWWWhxR_.js.map +0 -1
- package/dist/createWalletClient-Bmopj8MM.cjs +0 -4
- package/dist/createWalletClient-Bmopj8MM.cjs.map +0 -1
- package/dist/createWalletClient-DKcpswHR.js +0 -2007
- package/dist/createWalletClient-DKcpswHR.js.map +0 -1
- package/dist/getContract-B3Spz0SO.js.map +0 -1
- package/dist/secp256k1-BLbXMlpX.js +0 -1172
- package/dist/secp256k1-BLbXMlpX.js.map +0 -1
- package/dist/secp256k1-CFnFaJ0H.cjs +0 -2
- package/dist/secp256k1-CFnFaJ0H.cjs.map +0 -1
- package/dist/writeContract-BBHpAss8.cjs +0 -32
- package/dist/writeContract-BBHpAss8.cjs.map +0 -1
- package/dist/writeContract-RluxM31W.js +0 -3833
- package/dist/writeContract-RluxM31W.js.map +0 -1
|
@@ -2,11 +2,11 @@ var u = Object.defineProperty;
|
|
|
2
2
|
var w = (e, t, a) => t in e ? u(e, t, { enumerable: !0, configurable: !0, writable: !0, value: a }) : e[t] = a;
|
|
3
3
|
var n = (e, t, a) => w(e, typeof t != "symbol" ? t + "" : t, a);
|
|
4
4
|
import { CONTRACT_ADDRESSES as s } from "../addresses.js";
|
|
5
|
-
import { V as C } from "../../constants-
|
|
5
|
+
import { V as C } from "../../constants-BjRNQpT2.js";
|
|
6
6
|
import { ERC20PermitHandler as W } from "./erc20-permit-handler.js";
|
|
7
7
|
import { PUFFER_WITHDRAWAL_MANAGER_ABIS as g } from "../abis/puffer-withdrawal-manager-abis.js";
|
|
8
8
|
import { Token as l } from "../tokens.js";
|
|
9
|
-
import { g as f } from "../../getContract-
|
|
9
|
+
import { g as f } from "../../getContract-CezEyDf-.js";
|
|
10
10
|
class R {
|
|
11
11
|
/**
|
|
12
12
|
* Create the handler for the `PufferWithdrawalsManager` contract exposing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"puffer-withdrawal-manager-handler.js","sources":["../../../lib/contracts/handlers/puffer-withdrawal-manager-handler.ts"],"sourcesContent":["import {\n Address,\n getContract,\n GetContractReturnType,\n PublicClient,\n WalletClient,\n} from 'viem';\nimport { CONTRACT_ADDRESSES } from '../addresses';\nimport { Chain, VIEM_CHAINS, ViemChain } from '../../chains/constants';\nimport { ERC20PermitHandler } from './erc20-permit-handler';\nimport { PUFFER_WITHDRAWAL_MANAGER_ABIS } from '../abis/puffer-withdrawal-manager-abis';\nimport { Token } from '../tokens';\n\n/**\n * Handler for the `PufferWithdrawalsManager` contract exposing methods to\n * interact with the contract.\n */\nexport class PufferWithdrawalManagerHandler {\n private viemChain: ViemChain;\n private erc20PermitHandler: ERC20PermitHandler;\n\n /**\n * Create the handler for the `PufferWithdrawalsManager` 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 this.erc20PermitHandler = new ERC20PermitHandler(\n chain,\n walletClient,\n publicClient,\n );\n }\n\n /**\n * Get the contract.\n *\n * @returns The viem contract.\n */\n public getContract() {\n const address = CONTRACT_ADDRESSES[this.chain]\n .PufferWithdrawalManager as Address;\n const abi =\n PUFFER_WITHDRAWAL_MANAGER_ABIS[this.chain].PufferWithdrawalManager;\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 * Request a withdrawal of the given amount to the given address, with a permit.\n *\n * @param walletAddress The account address to request the withdrawal for.\n * @param amount The pufETH amount to request the withdrawal for.\n * @returns The transaction hash of the withdrawal.\n */\n public async requestWithdrawal(walletAddress: Address, amount: bigint) {\n const transact = async () =>\n await this.getContract().write.requestWithdrawal(\n [amount, walletAddress],\n {\n account: walletAddress,\n chain: this.viemChain,\n },\n );\n\n const estimate = async () =>\n await this.getContract().estimateGas.requestWithdrawal(\n [amount, walletAddress],\n { account: walletAddress },\n );\n\n return { transact, estimate };\n }\n\n /**\n * Request a withdrawal of the given amount to the given address.\n *\n * @param walletAddress The account address to request the withdrawal for.\n * @param amount The pufETHamount to request the withdrawal for.\n * @returns The transaction hash of the withdrawal.\n */\n public async requestWithdrawalWithPermit(\n walletAddress: Address,\n amount: bigint,\n ) {\n const { r, s, v, yParity, deadline } = await this.erc20PermitHandler\n .withToken(Token.pufETH)\n .getPermitSignature(\n walletAddress,\n CONTRACT_ADDRESSES[this.chain].PufferWithdrawalManager as Address,\n amount,\n );\n\n /* istanbul ignore next */\n const permitData = {\n r,\n s,\n v: Number(v ?? yParity),\n deadline,\n amount,\n };\n\n const transact = async () =>\n await this.getContract().write.requestWithdrawalWithPermit(\n [permitData, walletAddress],\n {\n account: walletAddress,\n chain: this.viemChain,\n },\n );\n\n const estimate = async () =>\n await this.getContract().estimateGas.requestWithdrawalWithPermit(\n [permitData, walletAddress],\n { account: walletAddress },\n );\n\n return { transact, estimate };\n }\n\n /**\n * Complete a withdrawal from the queue.\n *\n * @param withdrawalIdx The index of the withdrawal to complete.\n * @returns The transaction hash of the withdrawal.\n */\n public async completeQueuedWithdrawal(\n walletAddress: Address,\n withdrawalIdx: bigint,\n ) {\n const transact = async () =>\n await this.getContract().write.completeQueuedWithdrawal([withdrawalIdx], {\n account: walletAddress,\n chain: this.viemChain,\n });\n\n const estimate = async () =>\n await this.getContract().estimateGas.completeQueuedWithdrawal(\n [withdrawalIdx],\n { account: walletAddress },\n );\n\n return { transact, estimate };\n }\n\n /**\n * Get the withdrawal at the given index.\n *\n * @param withdrawalIdx The index of the withdrawal to get.\n * @returns The withdrawal at the given index.\n */\n public async getWithdrawal(withdrawalIdx: bigint) {\n return await this.getContract().read.getWithdrawal([withdrawalIdx]);\n }\n}\n"],"names":["PufferWithdrawalManagerHandler","chain","walletClient","publicClient","__publicField","VIEM_CHAINS","ERC20PermitHandler","address","CONTRACT_ADDRESSES","abi","PUFFER_WITHDRAWAL_MANAGER_ABIS","client","getContract","walletAddress","amount","r","s","v","yParity","deadline","Token","permitData","withdrawalIdx"],"mappings":";;;;;;;;;AAiBO,MAAMA,EAA+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAc1C,YACUC,GACAC,GACAC,GACR;AAjBM,IAAAC,EAAA;AACA,IAAAA,EAAA;AAaE,SAAA,QAAAH,GACA,KAAA,eAAAC,GACA,KAAA,eAAAC,GAEH,KAAA,YAAYE,EAAYJ,CAAK,GAClC,KAAK,qBAAqB,IAAIK;AAAA,MAC5BL;AAAA,MACAC;AAAA,MACAC;AAAA,
|
|
1
|
+
{"version":3,"file":"puffer-withdrawal-manager-handler.js","sources":["../../../lib/contracts/handlers/puffer-withdrawal-manager-handler.ts"],"sourcesContent":["import {\n Address,\n getContract,\n GetContractReturnType,\n PublicClient,\n WalletClient,\n} from 'viem';\nimport { CONTRACT_ADDRESSES } from '../addresses';\nimport { Chain, VIEM_CHAINS, ViemChain } from '../../chains/constants';\nimport { ERC20PermitHandler } from './erc20-permit-handler';\nimport { PUFFER_WITHDRAWAL_MANAGER_ABIS } from '../abis/puffer-withdrawal-manager-abis';\nimport { Token } from '../tokens';\n\n/**\n * Handler for the `PufferWithdrawalsManager` contract exposing methods to\n * interact with the contract.\n */\nexport class PufferWithdrawalManagerHandler {\n private viemChain: ViemChain;\n private erc20PermitHandler: ERC20PermitHandler;\n\n /**\n * Create the handler for the `PufferWithdrawalsManager` 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 this.erc20PermitHandler = new ERC20PermitHandler(\n chain,\n walletClient,\n publicClient,\n );\n }\n\n /**\n * Get the contract.\n *\n * @returns The viem contract.\n */\n public getContract() {\n const address = CONTRACT_ADDRESSES[this.chain]\n .PufferWithdrawalManager as Address;\n const abi =\n PUFFER_WITHDRAWAL_MANAGER_ABIS[this.chain].PufferWithdrawalManager;\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 * Request a withdrawal of the given amount to the given address, with a permit.\n *\n * @param walletAddress The account address to request the withdrawal for.\n * @param amount The pufETH amount to request the withdrawal for.\n * @returns The transaction hash of the withdrawal.\n */\n public async requestWithdrawal(walletAddress: Address, amount: bigint) {\n const transact = async () =>\n await this.getContract().write.requestWithdrawal(\n [amount, walletAddress],\n {\n account: walletAddress,\n chain: this.viemChain,\n },\n );\n\n const estimate = async () =>\n await this.getContract().estimateGas.requestWithdrawal(\n [amount, walletAddress],\n { account: walletAddress },\n );\n\n return { transact, estimate };\n }\n\n /**\n * Request a withdrawal of the given amount to the given address.\n *\n * @param walletAddress The account address to request the withdrawal for.\n * @param amount The pufETHamount to request the withdrawal for.\n * @returns The transaction hash of the withdrawal.\n */\n public async requestWithdrawalWithPermit(\n walletAddress: Address,\n amount: bigint,\n ) {\n const { r, s, v, yParity, deadline } = await this.erc20PermitHandler\n .withToken(Token.pufETH)\n .getPermitSignature(\n walletAddress,\n CONTRACT_ADDRESSES[this.chain].PufferWithdrawalManager as Address,\n amount,\n );\n\n /* istanbul ignore next */\n const permitData = {\n r,\n s,\n v: Number(v ?? yParity),\n deadline,\n amount,\n };\n\n const transact = async () =>\n await this.getContract().write.requestWithdrawalWithPermit(\n [permitData, walletAddress],\n {\n account: walletAddress,\n chain: this.viemChain,\n },\n );\n\n const estimate = async () =>\n await this.getContract().estimateGas.requestWithdrawalWithPermit(\n [permitData, walletAddress],\n { account: walletAddress },\n );\n\n return { transact, estimate };\n }\n\n /**\n * Complete a withdrawal from the queue.\n *\n * @param withdrawalIdx The index of the withdrawal to complete.\n * @returns The transaction hash of the withdrawal.\n */\n public async completeQueuedWithdrawal(\n walletAddress: Address,\n withdrawalIdx: bigint,\n ) {\n const transact = async () =>\n await this.getContract().write.completeQueuedWithdrawal([withdrawalIdx], {\n account: walletAddress,\n chain: this.viemChain,\n });\n\n const estimate = async () =>\n await this.getContract().estimateGas.completeQueuedWithdrawal(\n [withdrawalIdx],\n { account: walletAddress },\n );\n\n return { transact, estimate };\n }\n\n /**\n * Get the withdrawal at the given index.\n *\n * @param withdrawalIdx The index of the withdrawal to get.\n * @returns The withdrawal at the given index.\n */\n public async getWithdrawal(withdrawalIdx: bigint) {\n return await this.getContract().read.getWithdrawal([withdrawalIdx]);\n }\n}\n"],"names":["PufferWithdrawalManagerHandler","chain","walletClient","publicClient","__publicField","VIEM_CHAINS","ERC20PermitHandler","address","CONTRACT_ADDRESSES","abi","PUFFER_WITHDRAWAL_MANAGER_ABIS","client","getContract","walletAddress","amount","r","s","v","yParity","deadline","Token","permitData","withdrawalIdx"],"mappings":";;;;;;;;;AAiBO,MAAMA,EAA+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAc1C,YACUC,GACAC,GACAC,GACR;AAjBM,IAAAC,EAAA;AACA,IAAAA,EAAA;AAaE,SAAA,QAAAH,GACA,KAAA,eAAAC,GACA,KAAA,eAAAC,GAEH,KAAA,YAAYE,EAAYJ,CAAK,GAClC,KAAK,qBAAqB,IAAIK;AAAA,MAC5BL;AAAA,MACAC;AAAA,MACAC;AAAA,IACF;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQK,cAAc;AACnB,UAAMI,IAAUC,EAAmB,KAAK,KAAK,EAC1C,yBACGC,IACJC,EAA+B,KAAK,KAAK,EAAE,yBACvCC,IAAS,EAAE,QAAQ,KAAK,cAAc,QAAQ,KAAK,aAAa;AAEtE,WAAOC,EAAY,EAAE,SAAAL,GAAS,KAAAE,GAAK,QAAAE,GAAQ;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAc7C,MAAa,kBAAkBE,GAAwBC,GAAgB;AAgB9D,WAAA,EAAE,UAfQ,YACf,MAAM,KAAK,cAAc,MAAM;AAAA,MAC7B,CAACA,GAAQD,CAAa;AAAA,MACtB;AAAA,QACE,SAASA;AAAA,QACT,OAAO,KAAK;AAAA,MAAA;AAAA,IAEhB,GAQiB,UANF,YACf,MAAM,KAAK,cAAc,YAAY;AAAA,MACnC,CAACC,GAAQD,CAAa;AAAA,MACtB,EAAE,SAASA,EAAc;AAAA,IAC3B,EAE0B;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAU9B,MAAa,4BACXA,GACAC,GACA;AACA,UAAM,EAAE,GAAAC,GAAG,GAAAC,GAAG,GAAAC,GAAG,SAAAC,GAAS,UAAAC,EAAA,IAAa,MAAM,KAAK,mBAC/C,UAAUC,EAAM,MAAM,EACtB;AAAA,MACCP;AAAA,MACAL,EAAmB,KAAK,KAAK,EAAE;AAAA,MAC/BM;AAAA,IACF,GAGIO,IAAa;AAAA,MACjB,GAAAN;AAAA,MACA,GAAAC;AAAA,MACA,GAAG,OAAOC,KAAKC,CAAO;AAAA,MACtB,UAAAC;AAAA,MACA,QAAAL;AAAA,IACF;AAiBO,WAAA,EAAE,UAfQ,YACf,MAAM,KAAK,cAAc,MAAM;AAAA,MAC7B,CAACO,GAAYR,CAAa;AAAA,MAC1B;AAAA,QACE,SAASA;AAAA,QACT,OAAO,KAAK;AAAA,MAAA;AAAA,IAEhB,GAQiB,UANF,YACf,MAAM,KAAK,cAAc,YAAY;AAAA,MACnC,CAACQ,GAAYR,CAAa;AAAA,MAC1B,EAAE,SAASA,EAAc;AAAA,IAC3B,EAE0B;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAS9B,MAAa,yBACXA,GACAS,GACA;AAaO,WAAA,EAAE,UAZQ,YACf,MAAM,KAAK,cAAc,MAAM,yBAAyB,CAACA,CAAa,GAAG;AAAA,MACvE,SAAST;AAAA,MACT,OAAO,KAAK;AAAA,IAAA,CACb,GAQgB,UANF,YACf,MAAM,KAAK,cAAc,YAAY;AAAA,MACnC,CAACS,CAAa;AAAA,MACd,EAAE,SAAST,EAAc;AAAA,IAC3B,EAE0B;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAS9B,MAAa,cAAcS,GAAuB;AACzC,WAAA,MAAM,KAAK,YAAY,EAAE,KAAK,cAAc,CAACA,CAAa,CAAC;AAAA,EAAA;AAEtE;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../constants-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../constants-DA2xUb9r.cjs");var c=(e=>(e.USDT="USDT",e.USDC="USDC",e.DAI="DAI",e.WETH="WETH",e.stETH="stETH",e.wstETH="wstETH",e.ALT="ALT",e.eETH="eETH",e.pufETHwstE="pufETHwstE",e.pufETH="pufETH",e))(c||{}),n=(e=>(e.unifiETH="unifiETH",e))(n||{});const E={USDT:{[a.Chain.Mainnet]:"0xdac17f958d2ee523a2206206994597c13d831ec7",[a.Chain.Holesky]:"0xd5bef2c64f418fd460319521d37862327122e3bc"},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"},ALT:{[a.Chain.Mainnet]:"0x8457ca5040ad67fdebbcc8edce889a335bc0fbfb",[a.Chain.Holesky]:"0xaf5588a571b42c7e50bd440d80f9bf94a4db94ee"},eETH:{[a.Chain.Mainnet]:"0x35fa164735182de50811e8e2e824cfb9b6118ac2",[a.Chain.Holesky]:"0x7ba2ee123b5977e3da040e1eacb3a61c82c17876"},pufETHwstE:{[a.Chain.Mainnet]:"0xeeda34a377dd0ca676b9511ee1324974fa8d980d",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},pufETH:{[a.Chain.Mainnet]:"0xd9a442856c234a39a81a089c06451ebaa4306a72",[a.Chain.Holesky]:"0x9196830bB4c05504E0A8475A0aD566AceEB6BeC9"},unifiETH:{[a.Chain.Mainnet]:"0x196ead472583bc1e9af7a05f860d9857e1bd3dcc",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"}},i={USDT:"2",USDC:"",DAI:"",WETH:"",stETH:"2",wstETH:"1",ALT:"1",eETH:"1",pufETHwstE:"v7.0.0",pufETH:"1",unifiETH:"1"},d={pufETHwstE:{[a.Chain.Mainnet]:"0x0e986ed5610121905f03fd3850cebcc00f66166fc3ab760acb4e087d735d9457",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000000000000000000000000000"}};exports.TOKENS_ADDRESSES=E;exports.TOKENS_PERMIT_VERSION=i;exports.TOKENS_SALT=d;exports.Token=c;exports.UnifiToken=n;
|
|
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 ALT = 'ALT',\n eETH = 'eETH',\n pufETHwstE = 'pufETHwstE',\n pufETH = 'pufETH',\n}\n\nexport enum UnifiToken {\n unifiETH = 'unifiETH',\n}\n\nexport type AnyToken = Token | UnifiToken;\n\nexport const TOKENS_ADDRESSES: {\n [key in AnyToken]: { [chain in Chain]: Address };\n} = {\n [Token.USDT]: {\n [Chain.Mainnet]: '0xdac17f958d2ee523a2206206994597c13d831ec7',\n [Chain.Holesky]: '0xd5bef2c64f418fd460319521d37862327122e3bc',\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.ALT]: {\n [Chain.Mainnet]: '0x8457ca5040ad67fdebbcc8edce889a335bc0fbfb',\n [Chain.Holesky]: '0xaf5588a571b42c7e50bd440d80f9bf94a4db94ee',\n },\n [Token.eETH]: {\n [Chain.Mainnet]: '0x35fa164735182de50811e8e2e824cfb9b6118ac2',\n [Chain.Holesky]: '0x7ba2ee123b5977e3da040e1eacb3a61c82c17876',\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\n // TODO: Update the addresses once the contracts are deployed on chain.\n // See https://dev.azure.com/pufferfi/Frontend/_workitems/edit/1797.\n\n // UniFi Tokens\n [UnifiToken.unifiETH]: {\n [Chain.Mainnet]: '0x196ead472583bc1e9af7a05f860d9857e1bd3dcc',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n};\n\nexport const TOKENS_PERMIT_VERSION: { [key in AnyToken]: string } = {\n [Token.USDT]: '2',\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 [Token.ALT]: '1',\n // https://github.com/etherfi-protocol/smart-contracts/blob/7c66e571df4fe7ec502a3c325b623bc52349ef9d/src/EETH.sol#L55\n [Token.eETH]: '1',\n [Token.pufETHwstE]: 'v7.0.0',\n [Token.pufETH]: '1',\n\n // UniFi Tokens\n // https://etherscan.io/address/0x196ead472583bc1e9af7a05f860d9857e1bd3dcc#code#F7#L172\n [UnifiToken.unifiETH]: '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":"6HAGY,IAAAA,GAAAA,IACVA,EAAA,KAAO,OACPA,EAAA,KAAO,OACPA,EAAA,IAAM,MACNA,EAAA,KAAO,OACPA,EAAA,MAAQ,QACRA,EAAA,OAAS,SACTA,EAAA,IAAM,MACNA,EAAA,KAAO,OACPA,EAAA,WAAa,aACbA,EAAA,OAAS,SAVCA,IAAAA,GAAA,CAAA,CAAA,EAaAC,GAAAA,IACVA,EAAA,SAAW,WADDA,IAAAA,GAAA,CAAA,CAAA,EAML,MAAMC,EAET,CACD,KAAa,CACZ,CAACC,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CACnB,EACC,KAAa,CACZ,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CACnB,EACC,IAAY,CACX,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CACnB,EACC,KAAa,CACZ,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CACnB,EACC,MAAc,CACb,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CACnB,EACC,OAAe,CACd,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CACnB,EACC,IAAY,CACX,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CACnB,EACC,KAAa,CACZ,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CACnB,EACC,WAAmB,CAClB,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CACnB,EACC,OAAe,CACd,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CACnB,EAMC,SAAsB,CACrB,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,
|
|
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 ALT = 'ALT',\n eETH = 'eETH',\n pufETHwstE = 'pufETHwstE',\n pufETH = 'pufETH',\n}\n\nexport enum UnifiToken {\n unifiETH = 'unifiETH',\n}\n\nexport type AnyToken = Token | UnifiToken;\n\nexport const TOKENS_ADDRESSES: {\n [key in AnyToken]: { [chain in Chain]: Address };\n} = {\n [Token.USDT]: {\n [Chain.Mainnet]: '0xdac17f958d2ee523a2206206994597c13d831ec7',\n [Chain.Holesky]: '0xd5bef2c64f418fd460319521d37862327122e3bc',\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.ALT]: {\n [Chain.Mainnet]: '0x8457ca5040ad67fdebbcc8edce889a335bc0fbfb',\n [Chain.Holesky]: '0xaf5588a571b42c7e50bd440d80f9bf94a4db94ee',\n },\n [Token.eETH]: {\n [Chain.Mainnet]: '0x35fa164735182de50811e8e2e824cfb9b6118ac2',\n [Chain.Holesky]: '0x7ba2ee123b5977e3da040e1eacb3a61c82c17876',\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\n // TODO: Update the addresses once the contracts are deployed on chain.\n // See https://dev.azure.com/pufferfi/Frontend/_workitems/edit/1797.\n\n // UniFi Tokens\n [UnifiToken.unifiETH]: {\n [Chain.Mainnet]: '0x196ead472583bc1e9af7a05f860d9857e1bd3dcc',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n};\n\nexport const TOKENS_PERMIT_VERSION: { [key in AnyToken]: string } = {\n [Token.USDT]: '2',\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 [Token.ALT]: '1',\n // https://github.com/etherfi-protocol/smart-contracts/blob/7c66e571df4fe7ec502a3c325b623bc52349ef9d/src/EETH.sol#L55\n [Token.eETH]: '1',\n [Token.pufETHwstE]: 'v7.0.0',\n [Token.pufETH]: '1',\n\n // UniFi Tokens\n // https://etherscan.io/address/0x196ead472583bc1e9af7a05f860d9857e1bd3dcc#code#F7#L172\n [UnifiToken.unifiETH]: '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":"6HAGY,IAAAA,GAAAA,IACVA,EAAA,KAAO,OACPA,EAAA,KAAO,OACPA,EAAA,IAAM,MACNA,EAAA,KAAO,OACPA,EAAA,MAAQ,QACRA,EAAA,OAAS,SACTA,EAAA,IAAM,MACNA,EAAA,KAAO,OACPA,EAAA,WAAa,aACbA,EAAA,OAAS,SAVCA,IAAAA,GAAA,CAAA,CAAA,EAaAC,GAAAA,IACVA,EAAA,SAAW,WADDA,IAAAA,GAAA,CAAA,CAAA,EAML,MAAMC,EAET,CACD,KAAa,CACZ,CAACC,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CACnB,EACC,KAAa,CACZ,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CACnB,EACC,IAAY,CACX,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CACnB,EACC,KAAa,CACZ,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CACnB,EACC,MAAc,CACb,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CACnB,EACC,OAAe,CACd,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CACnB,EACC,IAAY,CACX,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CACnB,EACC,KAAa,CACZ,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CACnB,EACC,WAAmB,CAClB,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CACnB,EACC,OAAe,CACd,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CACnB,EAMC,SAAsB,CACrB,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,CAErB,EAEaC,EAAuD,CACjE,KAAa,IAEb,KAAa,GAEb,IAAY,GAEZ,KAAa,GACb,MAAc,IAEd,OAAe,IACf,IAAY,IAEZ,KAAa,IACb,WAAmB,SACnB,OAAe,IAIf,SAAsB,GACzB,EAEaC,EAER,CACF,WAAmB,CAGlB,CAACF,EAAAA,MAAM,OAAO,EACZ,qEACF,CAACA,EAAAA,MAAM,OAAO,EACZ,oEAAA,CAEN"}
|
package/dist/contracts/tokens.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as e } from "../constants-
|
|
1
|
+
import { C as e } from "../constants-BjRNQpT2.js";
|
|
2
2
|
var c = /* @__PURE__ */ ((a) => (a.USDT = "USDT", a.USDC = "USDC", a.DAI = "DAI", a.WETH = "WETH", a.stETH = "stETH", a.wstETH = "wstETH", a.ALT = "ALT", a.eETH = "eETH", a.pufETHwstE = "pufETHwstE", a.pufETH = "pufETH", a))(c || {}), E = /* @__PURE__ */ ((a) => (a.unifiETH = "unifiETH", a))(E || {});
|
|
3
3
|
const f = {
|
|
4
4
|
USDT: {
|
|
@@ -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 ALT = 'ALT',\n eETH = 'eETH',\n pufETHwstE = 'pufETHwstE',\n pufETH = 'pufETH',\n}\n\nexport enum UnifiToken {\n unifiETH = 'unifiETH',\n}\n\nexport type AnyToken = Token | UnifiToken;\n\nexport const TOKENS_ADDRESSES: {\n [key in AnyToken]: { [chain in Chain]: Address };\n} = {\n [Token.USDT]: {\n [Chain.Mainnet]: '0xdac17f958d2ee523a2206206994597c13d831ec7',\n [Chain.Holesky]: '0xd5bef2c64f418fd460319521d37862327122e3bc',\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.ALT]: {\n [Chain.Mainnet]: '0x8457ca5040ad67fdebbcc8edce889a335bc0fbfb',\n [Chain.Holesky]: '0xaf5588a571b42c7e50bd440d80f9bf94a4db94ee',\n },\n [Token.eETH]: {\n [Chain.Mainnet]: '0x35fa164735182de50811e8e2e824cfb9b6118ac2',\n [Chain.Holesky]: '0x7ba2ee123b5977e3da040e1eacb3a61c82c17876',\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\n // TODO: Update the addresses once the contracts are deployed on chain.\n // See https://dev.azure.com/pufferfi/Frontend/_workitems/edit/1797.\n\n // UniFi Tokens\n [UnifiToken.unifiETH]: {\n [Chain.Mainnet]: '0x196ead472583bc1e9af7a05f860d9857e1bd3dcc',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n};\n\nexport const TOKENS_PERMIT_VERSION: { [key in AnyToken]: string } = {\n [Token.USDT]: '2',\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 [Token.ALT]: '1',\n // https://github.com/etherfi-protocol/smart-contracts/blob/7c66e571df4fe7ec502a3c325b623bc52349ef9d/src/EETH.sol#L55\n [Token.eETH]: '1',\n [Token.pufETHwstE]: 'v7.0.0',\n [Token.pufETH]: '1',\n\n // UniFi Tokens\n // https://etherscan.io/address/0x196ead472583bc1e9af7a05f860d9857e1bd3dcc#code#F7#L172\n [UnifiToken.unifiETH]: '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":";AAGY,IAAAA,sBAAAA,OACVA,EAAA,OAAO,QACPA,EAAA,OAAO,QACPA,EAAA,MAAM,OACNA,EAAA,OAAO,QACPA,EAAA,QAAQ,SACRA,EAAA,SAAS,UACTA,EAAA,MAAM,OACNA,EAAA,OAAO,QACPA,EAAA,aAAa,cACbA,EAAA,SAAS,UAVCA,IAAAA,KAAA,CAAA,CAAA,GAaAC,sBAAAA,OACVA,EAAA,WAAW,YADDA,IAAAA,KAAA,CAAA,CAAA;AAML,MAAMC,IAET;AAAA,EACD,MAAa;AAAA,IACZ,CAACC,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EACnB;AAAA,EACC,MAAa;AAAA,IACZ,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EACnB;AAAA,EACC,KAAY;AAAA,IACX,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EACnB;AAAA,EACC,MAAa;AAAA,IACZ,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EACnB;AAAA,EACC,OAAc;AAAA,IACb,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EACnB;AAAA,EACC,QAAe;AAAA,IACd,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EACnB;AAAA,EACC,KAAY;AAAA,IACX,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EACnB;AAAA,EACC,MAAa;AAAA,IACZ,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EACnB;AAAA,EACC,YAAmB;AAAA,IAClB,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EACnB;AAAA,EACC,QAAe;AAAA,IACd,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EACnB;AAAA;AAAA;AAAA;AAAA,EAMC,UAAsB;AAAA,IACrB,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,
|
|
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 ALT = 'ALT',\n eETH = 'eETH',\n pufETHwstE = 'pufETHwstE',\n pufETH = 'pufETH',\n}\n\nexport enum UnifiToken {\n unifiETH = 'unifiETH',\n}\n\nexport type AnyToken = Token | UnifiToken;\n\nexport const TOKENS_ADDRESSES: {\n [key in AnyToken]: { [chain in Chain]: Address };\n} = {\n [Token.USDT]: {\n [Chain.Mainnet]: '0xdac17f958d2ee523a2206206994597c13d831ec7',\n [Chain.Holesky]: '0xd5bef2c64f418fd460319521d37862327122e3bc',\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.ALT]: {\n [Chain.Mainnet]: '0x8457ca5040ad67fdebbcc8edce889a335bc0fbfb',\n [Chain.Holesky]: '0xaf5588a571b42c7e50bd440d80f9bf94a4db94ee',\n },\n [Token.eETH]: {\n [Chain.Mainnet]: '0x35fa164735182de50811e8e2e824cfb9b6118ac2',\n [Chain.Holesky]: '0x7ba2ee123b5977e3da040e1eacb3a61c82c17876',\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\n // TODO: Update the addresses once the contracts are deployed on chain.\n // See https://dev.azure.com/pufferfi/Frontend/_workitems/edit/1797.\n\n // UniFi Tokens\n [UnifiToken.unifiETH]: {\n [Chain.Mainnet]: '0x196ead472583bc1e9af7a05f860d9857e1bd3dcc',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n};\n\nexport const TOKENS_PERMIT_VERSION: { [key in AnyToken]: string } = {\n [Token.USDT]: '2',\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 [Token.ALT]: '1',\n // https://github.com/etherfi-protocol/smart-contracts/blob/7c66e571df4fe7ec502a3c325b623bc52349ef9d/src/EETH.sol#L55\n [Token.eETH]: '1',\n [Token.pufETHwstE]: 'v7.0.0',\n [Token.pufETH]: '1',\n\n // UniFi Tokens\n // https://etherscan.io/address/0x196ead472583bc1e9af7a05f860d9857e1bd3dcc#code#F7#L172\n [UnifiToken.unifiETH]: '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":";AAGY,IAAAA,sBAAAA,OACVA,EAAA,OAAO,QACPA,EAAA,OAAO,QACPA,EAAA,MAAM,OACNA,EAAA,OAAO,QACPA,EAAA,QAAQ,SACRA,EAAA,SAAS,UACTA,EAAA,MAAM,OACNA,EAAA,OAAO,QACPA,EAAA,aAAa,cACbA,EAAA,SAAS,UAVCA,IAAAA,KAAA,CAAA,CAAA,GAaAC,sBAAAA,OACVA,EAAA,WAAW,YADDA,IAAAA,KAAA,CAAA,CAAA;AAML,MAAMC,IAET;AAAA,EACD,MAAa;AAAA,IACZ,CAACC,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EACnB;AAAA,EACC,MAAa;AAAA,IACZ,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EACnB;AAAA,EACC,KAAY;AAAA,IACX,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EACnB;AAAA,EACC,MAAa;AAAA,IACZ,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EACnB;AAAA,EACC,OAAc;AAAA,IACb,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EACnB;AAAA,EACC,QAAe;AAAA,IACd,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EACnB;AAAA,EACC,KAAY;AAAA,IACX,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EACnB;AAAA,EACC,MAAa;AAAA,IACZ,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EACnB;AAAA,EACC,YAAmB;AAAA,IAClB,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EACnB;AAAA,EACC,QAAe;AAAA,IACd,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EACnB;AAAA;AAAA;AAAA;AAAA,EAMC,UAAsB;AAAA,IACrB,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAErB,GAEaC,IAAuD;AAAA,EACjE,MAAa;AAAA;AAAA,EAEb,MAAa;AAAA;AAAA,EAEb,KAAY;AAAA;AAAA,EAEZ,MAAa;AAAA,EACb,OAAc;AAAA;AAAA,EAEd,QAAe;AAAA,EACf,KAAY;AAAA;AAAA,EAEZ,MAAa;AAAA,EACb,YAAmB;AAAA,EACnB,QAAe;AAAA;AAAA;AAAA,EAIf,UAAsB;AACzB,GAEaC,IAER;AAAA,EACF,YAAmB;AAAA;AAAA;AAAA,IAGlB,CAACF,EAAM,OAAO,GACZ;AAAA,IACF,CAACA,EAAM,OAAO,GACZ;AAAA,EAAA;AAEN;"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
"use strict";const n=require("./writeContract-D97dSJQe.cjs"),h=require("./constants-DA2xUb9r.cjs"),pe=require("./secp256k1-bcahnPX9.cjs");class he extends h.BaseError{constructor({address:t}){super(`No EIP-712 domain found on contract "${t}".`,{metaMessages:["Ensure that:",`- The contract is deployed at the address "${t}".`,"- `eip712Domain()` function exists on the contract.","- `eip712Domain()` function matches signature to ERC-5267 specification."],name:"Eip712DomainNotFoundError"})}}async function ge(e,t){const{address:r,factory:a,factoryData:s}=t;try{const[o,i,d,f,l,c,u]=await n.getAction(e,n.readContract,"readContract")({abi:me,address:r,functionName:"eip712Domain",factory:a,factoryData:s});return{domain:{name:i,version:d,chainId:Number(f),verifyingContract:l,salt:c},extensions:u,fields:o}}catch(o){const i=o;throw i.name==="ContractFunctionExecutionError"&&i.cause.name==="ContractFunctionZeroDataError"?new he({address:r}):i}}const me=[{inputs:[],name:"eip712Domain",outputs:[{name:"fields",type:"bytes1"},{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"},{name:"salt",type:"bytes32"},{name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"}];async function ye(e,{chain:t}){const{id:r,name:a,nativeCurrency:s,rpcUrls:o,blockExplorers:i}=t;await e.request({method:"wallet_addEthereumChain",params:[{chainId:h.numberToHex(r),chainName:a,nativeCurrency:s,rpcUrls:o.default.http,blockExplorerUrls:i?Object.values(i).map(({url:d})=>d):void 0}]},{dedupe:!0,retryCount:0})}const M=256;let q=M,D;function J(e=11){if(!D||q+e>M*2){D="",q=0;for(let t=0;t<M;t++)D+=(256+Math.random()*256|0).toString(16).substring(1)}return D.substring(q,q+++e)}function Q(e){const{batch:t,cacheTime:r=e.pollingInterval??4e3,ccipRead:a,key:s="base",name:o="Base Client",pollingInterval:i=4e3,type:d="base"}=e,f=e.chain,l=e.account?n.parseAccount(e.account):void 0,{config:c,request:u,value:p}=e.transport({chain:f,pollingInterval:i}),m={...c,...p},y={account:l,batch:t,cacheTime:r,ccipRead:a,chain:f,key:s,name:o,pollingInterval:i,request:u,transport:m,type:d,uid:J()};function b(T){return g=>{const w=g(T);for(const E in y)delete w[E];const v={...T,...w};return Object.assign(v,{extend:b(v)})}}return Object.assign(y,{extend:b(y)})}const S=new h.LruMap(8192);function be(e,{enabled:t=!0,id:r}){if(!t||!r)return e();if(S.get(r))return S.get(r);const a=e().finally(()=>S.delete(r));return S.set(r,a),a}function z(e,{delay:t=100,retryCount:r=2,shouldRetry:a=()=>!0}={}){return new Promise((s,o)=>{const i=async({count:d=0}={})=>{const f=async({error:l})=>{const c=typeof t=="function"?t({count:d,error:l}):t;c&&await n.wait(c),i({count:d+1})};try{const l=await e();s(l)}catch(l){if(d<r&&await a({count:d,error:l}))return f({error:l});o(l)}};i()})}function we(e,t={}){return async(r,a={})=>{const{dedupe:s=!1,retryDelay:o=150,retryCount:i=3,uid:d}={...t,...a},f=s?h.keccak256(h.stringToHex(`${d}.${n.stringify(r)}`)):void 0;return be(()=>z(async()=>{try{return await e(r)}catch(l){const c=l;switch(c.code){case n.ParseRpcError.code:throw new n.ParseRpcError(c);case n.InvalidRequestRpcError.code:throw new n.InvalidRequestRpcError(c);case n.MethodNotFoundRpcError.code:throw new n.MethodNotFoundRpcError(c,{method:r.method});case n.InvalidParamsRpcError.code:throw new n.InvalidParamsRpcError(c);case n.InternalRpcError.code:throw new n.InternalRpcError(c);case n.InvalidInputRpcError.code:throw new n.InvalidInputRpcError(c);case n.ResourceNotFoundRpcError.code:throw new n.ResourceNotFoundRpcError(c);case n.ResourceUnavailableRpcError.code:throw new n.ResourceUnavailableRpcError(c);case n.TransactionRejectedRpcError.code:throw new n.TransactionRejectedRpcError(c);case n.MethodNotSupportedRpcError.code:throw new n.MethodNotSupportedRpcError(c,{method:r.method});case n.LimitExceededRpcError.code:throw new n.LimitExceededRpcError(c);case n.JsonRpcVersionUnsupportedError.code:throw new n.JsonRpcVersionUnsupportedError(c);case n.UserRejectedRequestError.code:throw new n.UserRejectedRequestError(c);case n.UnauthorizedProviderError.code:throw new n.UnauthorizedProviderError(c);case n.UnsupportedProviderMethodError.code:throw new n.UnsupportedProviderMethodError(c);case n.ProviderDisconnectedError.code:throw new n.ProviderDisconnectedError(c);case n.ChainDisconnectedError.code:throw new n.ChainDisconnectedError(c);case n.SwitchChainError.code:throw new n.SwitchChainError(c);case 5e3:throw new n.UserRejectedRequestError(c);default:throw l instanceof h.BaseError?l:new n.UnknownRpcError(c)}}},{delay:({count:l,error:c})=>{var u;if(c&&c instanceof n.HttpRequestError){const p=(u=c==null?void 0:c.headers)==null?void 0:u.get("Retry-After");if(p!=null&&p.match(/\d/))return Number.parseInt(p)*1e3}return~~(1<<l)*o},retryCount:i,shouldRetry:({error:l})=>ve(l)}),{enabled:s,id:f})}}function ve(e){return"code"in e&&typeof e.code=="number"?e.code===-1||e.code===n.LimitExceededRpcError.code||e.code===n.InternalRpcError.code:e instanceof n.HttpRequestError&&e.status?e.status===403||e.status===408||e.status===413||e.status===429||e.status===500||e.status===502||e.status===503||e.status===504:!0}function K({key:e,name:t,request:r,retryCount:a=3,retryDelay:s=150,timeout:o,type:i},d){const f=J();return{config:{key:e,name:t,request:r,retryCount:a,retryDelay:s,timeout:o,type:i},request:we(r,{retryCount:a,retryDelay:s,uid:f}),value:d}}class Te extends h.BaseError{constructor(){super("No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.",{docsPath:"/docs/clients/intro",name:"UrlRequiredError"})}}function Re(e,{errorInstance:t=new Error("timed out"),timeout:r,signal:a}){return new Promise((s,o)=>{(async()=>{let i;try{const d=new AbortController;r>0&&(i=setTimeout(()=>{a?d.abort():o(t)},r)),s(await e({signal:(d==null?void 0:d.signal)||null}))}catch(d){(d==null?void 0:d.name)==="AbortError"&&o(t),o(d)}finally{clearTimeout(i)}})()})}function Ee(){return{current:0,take(){return this.current++},reset(){this.current=0}}}const G=Ee();function Ce(e,t={}){return{async request(r){var u;const{body:a,onRequest:s=t.onRequest,onResponse:o=t.onResponse,timeout:i=t.timeout??1e4}=r,d={...t.fetchOptions??{},...r.fetchOptions??{}},{headers:f,method:l,signal:c}=d;try{const p=await Re(async({signal:y})=>{const b={...d,body:Array.isArray(a)?n.stringify(a.map(v=>({jsonrpc:"2.0",id:v.id??G.take(),...v}))):n.stringify({jsonrpc:"2.0",id:a.id??G.take(),...a}),headers:{"Content-Type":"application/json",...f},method:l||"POST",signal:c||(i>0?y:null)},T=new Request(e,b),g=await(s==null?void 0:s(T,b))??{...b,url:e};return await fetch(g.url??e,g)},{errorInstance:new n.TimeoutError({body:a,url:e}),timeout:i,signal:!0});o&&await o(p);let m;if((u=p.headers.get("Content-Type"))!=null&&u.startsWith("application/json"))m=await p.json();else{m=await p.text();try{m=JSON.parse(m||"{}")}catch(y){if(p.ok)throw y;m={error:m}}}if(!p.ok)throw new n.HttpRequestError({body:a,details:n.stringify(m.error)||p.statusText,headers:p.headers,status:p.status,url:e});return m}catch(p){throw p instanceof n.HttpRequestError||p instanceof n.TimeoutError?p:new n.HttpRequestError({body:a,cause:p,url:e})}}}}function Ae(e,t={}){const{batch:r,fetchOptions:a,key:s="http",name:o="HTTP JSON-RPC",onFetchRequest:i,onFetchResponse:d,retryDelay:f}=t;return({chain:l,retryCount:c,timeout:u})=>{const{batchSize:p=1e3,wait:m=0}=typeof r=="object"?r:{},y=t.retryCount??c,b=u??t.timeout??1e4,T=e||(l==null?void 0:l.rpcUrls.default.http[0]);if(!T)throw new Te;const g=Ce(T,{fetchOptions:a,onRequest:i,onResponse:d,timeout:b});return K({key:s,name:o,async request({method:w,params:v}){const E={method:w,params:v},{schedule:k}=n.createBatchScheduler({id:T,wait:m,shouldSplitBatch(A){return A.length>p},fn:A=>g.request({body:A}),sort:(A,N)=>A.id-N.id}),C=async A=>r?k(A):[await g.request({body:A})],[{error:R,result:x}]=await C(E);if(R)throw new n.RpcRequestError({body:E,error:R,url:T});return x},retryCount:y,retryDelay:f,timeout:b,type:"http"},{fetchOptions:a,url:T})}}function $(e,t){var a,s,o,i,d,f;if(!(e instanceof h.BaseError))return!1;const r=e.walk(l=>l instanceof n.ContractFunctionRevertedError);return r instanceof n.ContractFunctionRevertedError?!!(((a=r.data)==null?void 0:a.errorName)==="ResolverNotFound"||((s=r.data)==null?void 0:s.errorName)==="ResolverWildcardNotSupported"||((o=r.data)==null?void 0:o.errorName)==="ResolverNotContract"||((i=r.data)==null?void 0:i.errorName)==="ResolverError"||((d=r.data)==null?void 0:d.errorName)==="HttpError"||(f=r.reason)!=null&&f.includes("Wildcard on non-extended resolvers is not supported")||t==="reverse"&&r.reason===n.panicReasons[50]):!1}function X(e){if(e.length!==66||e.indexOf("[")!==0||e.indexOf("]")!==65)return null;const t=`0x${e.slice(1,65)}`;return h.isHex(t)?t:null}function H(e){let t=new Uint8Array(32).fill(0);if(!e)return h.bytesToHex(t);const r=e.split(".");for(let a=r.length-1;a>=0;a-=1){const s=X(r[a]),o=s?h.toBytes(s):h.keccak256(h.stringToBytes(r[a]),"bytes");t=h.keccak256(h.concat([t,o]),"bytes")}return h.bytesToHex(t)}function ke(e){return`[${e.slice(2)}]`}function xe(e){const t=new Uint8Array(32).fill(0);return e?X(e)||h.keccak256(h.stringToBytes(e)):h.bytesToHex(t)}function _(e){const t=e.replace(/^\.|\.$/gm,"");if(t.length===0)return new Uint8Array(1);const r=new Uint8Array(h.stringToBytes(t).byteLength+2);let a=0;const s=t.split(".");for(let o=0;o<s.length;o++){let i=h.stringToBytes(s[o]);i.byteLength>255&&(i=h.stringToBytes(ke(xe(s[o])))),r[a]=i.length,r.set(i,a+1),a+=i.length+1}return r.byteLength!==a+1?r.slice(0,a+1):r}async function Ie(e,{blockNumber:t,blockTag:r,coinType:a,name:s,gatewayUrls:o,strict:i,universalResolverAddress:d}){let f=d;if(!f){if(!e.chain)throw new Error("client chain not configured. universalResolverAddress is required.");f=n.getChainContractAddress({blockNumber:t,chain:e.chain,contract:"ensUniversalResolver"})}try{const l=n.encodeFunctionData({abi:n.addressResolverAbi,functionName:"addr",...a!=null?{args:[H(s),BigInt(a)]}:{args:[H(s)]}}),c={address:f,abi:n.universalResolverResolveAbi,functionName:"resolve",args:[h.toHex(_(s)),l],blockNumber:t,blockTag:r},u=n.getAction(e,n.readContract,"readContract"),p=o?await u({...c,args:[...c.args,o]}):await u(c);if(p[0]==="0x")return null;const m=n.decodeFunctionResult({abi:n.addressResolverAbi,args:a!=null?[H(s),BigInt(a)]:void 0,functionName:"addr",data:p[0]});return m==="0x"||h.trim(m)==="0x00"?null:m}catch(l){if(i)throw l;if($(l,"resolve"))return null;throw l}}class Ne extends h.BaseError{constructor({data:t}){super("Unable to extract image from metadata. The metadata may be malformed or invalid.",{metaMessages:["- Metadata must be a JSON object with at least an `image`, `image_url` or `image_data` property.","",`Provided data: ${JSON.stringify(t)}`],name:"EnsAvatarInvalidMetadataError"})}}class F extends h.BaseError{constructor({reason:t}){super(`ENS NFT avatar URI is invalid. ${t}`,{name:"EnsAvatarInvalidNftUriError"})}}class L extends h.BaseError{constructor({uri:t}){super(`Unable to resolve ENS avatar URI "${t}". The URI may be malformed, invalid, or does not respond with a valid image.`,{name:"EnsAvatarUriResolutionError"})}}class Be extends h.BaseError{constructor({namespace:t}){super(`ENS NFT avatar namespace "${t}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}}const Pe=/(?<protocol>https?:\/\/[^\/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,Fe=/^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\/(?<target>[\w\-.]+))?(?<subtarget>\/.*)?$/,qe=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,De=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function Se(e){try{const t=await fetch(e,{method:"HEAD"});if(t.status===200){const r=t.headers.get("content-type");return r==null?void 0:r.startsWith("image/")}return!1}catch(t){return typeof t=="object"&&typeof t.response<"u"||!globalThis.hasOwnProperty("Image")?!1:new Promise(r=>{const a=new Image;a.onload=()=>{r(!0)},a.onerror=()=>{r(!1)},a.src=e})}}function V(e,t){return e?e.endsWith("/")?e.slice(0,-1):e:t}function Y({uri:e,gatewayUrls:t}){const r=qe.test(e);if(r)return{uri:e,isOnChain:!0,isEncoded:r};const a=V(t==null?void 0:t.ipfs,"https://ipfs.io"),s=V(t==null?void 0:t.arweave,"https://arweave.net"),o=e.match(Pe),{protocol:i,subpath:d,target:f,subtarget:l=""}=(o==null?void 0:o.groups)||{},c=i==="ipns:/"||d==="ipns/",u=i==="ipfs:/"||d==="ipfs/"||Fe.test(e);if(e.startsWith("http")&&!c&&!u){let m=e;return t!=null&&t.arweave&&(m=e.replace(/https:\/\/arweave.net/g,t==null?void 0:t.arweave)),{uri:m,isOnChain:!1,isEncoded:!1}}if((c||u)&&f)return{uri:`${a}/${c?"ipns":"ipfs"}/${f}${l}`,isOnChain:!1,isEncoded:!1};if(i==="ar:/"&&f)return{uri:`${s}/${f}${l||""}`,isOnChain:!1,isEncoded:!1};let p=e.replace(De,"");if(p.startsWith("<svg")&&(p=`data:image/svg+xml;base64,${btoa(p)}`),p.startsWith("data:")||p.startsWith("{"))return{uri:p,isOnChain:!0,isEncoded:!1};throw new L({uri:e})}function ee(e){if(typeof e!="object"||!("image"in e)&&!("image_url"in e)&&!("image_data"in e))throw new Ne({data:e});return e.image||e.image_url||e.image_data}async function He({gatewayUrls:e,uri:t}){try{const r=await fetch(t).then(s=>s.json());return await j({gatewayUrls:e,uri:ee(r)})}catch{throw new L({uri:t})}}async function j({gatewayUrls:e,uri:t}){const{uri:r,isOnChain:a}=Y({uri:t,gatewayUrls:e});if(a||await Se(r))return r;throw new L({uri:t})}function _e(e){let t=e;t.startsWith("did:nft:")&&(t=t.replace("did:nft:","").replace(/_/g,"/"));const[r,a,s]=t.split("/"),[o,i]=r.split(":"),[d,f]=a.split(":");if(!o||o.toLowerCase()!=="eip155")throw new F({reason:"Only EIP-155 supported"});if(!i)throw new F({reason:"Chain ID not found"});if(!f)throw new F({reason:"Contract address not found"});if(!s)throw new F({reason:"Token ID not found"});if(!d)throw new F({reason:"ERC namespace not found"});return{chainID:Number.parseInt(i),namespace:d.toLowerCase(),contractAddress:f,tokenID:s}}async function Me(e,{nft:t}){if(t.namespace==="erc721")return n.readContract(e,{address:t.contractAddress,abi:[{name:"tokenURI",type:"function",stateMutability:"view",inputs:[{name:"tokenId",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"tokenURI",args:[BigInt(t.tokenID)]});if(t.namespace==="erc1155")return n.readContract(e,{address:t.contractAddress,abi:[{name:"uri",type:"function",stateMutability:"view",inputs:[{name:"_id",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"uri",args:[BigInt(t.tokenID)]});throw new Be({namespace:t.namespace})}async function ze(e,{gatewayUrls:t,record:r}){return/eip155:/i.test(r)?Ue(e,{gatewayUrls:t,record:r}):j({uri:r,gatewayUrls:t})}async function Ue(e,{gatewayUrls:t,record:r}){const a=_e(r),s=await Me(e,{nft:a}),{uri:o,isOnChain:i,isEncoded:d}=Y({uri:s,gatewayUrls:t});if(i&&(o.includes("data:application/json;base64,")||o.startsWith("{"))){const l=d?atob(o.replace("data:application/json;base64,","")):o,c=JSON.parse(l);return j({uri:ee(c),gatewayUrls:t})}let f=a.tokenID;return a.namespace==="erc1155"&&(f=f.replace("0x","").padStart(64,"0")),He({gatewayUrls:t,uri:o.replace(/(?:0x)?{id}/,f)})}async function te(e,{blockNumber:t,blockTag:r,name:a,key:s,gatewayUrls:o,strict:i,universalResolverAddress:d}){let f=d;if(!f){if(!e.chain)throw new Error("client chain not configured. universalResolverAddress is required.");f=n.getChainContractAddress({blockNumber:t,chain:e.chain,contract:"ensUniversalResolver"})}try{const l={address:f,abi:n.universalResolverResolveAbi,functionName:"resolve",args:[h.toHex(_(a)),n.encodeFunctionData({abi:n.textResolverAbi,functionName:"text",args:[H(a),s]})],blockNumber:t,blockTag:r},c=n.getAction(e,n.readContract,"readContract"),u=o?await c({...l,args:[...l.args,o]}):await c(l);if(u[0]==="0x")return null;const p=n.decodeFunctionResult({abi:n.textResolverAbi,functionName:"text",data:u[0]});return p===""?null:p}catch(l){if(i)throw l;if($(l,"resolve"))return null;throw l}}async function $e(e,{blockNumber:t,blockTag:r,assetGatewayUrls:a,name:s,gatewayUrls:o,strict:i,universalResolverAddress:d}){const f=await n.getAction(e,te,"getEnsText")({blockNumber:t,blockTag:r,key:"avatar",name:s,universalResolverAddress:d,gatewayUrls:o,strict:i});if(!f)return null;try{return await ze(e,{record:f,gatewayUrls:a})}catch{return null}}async function Le(e,{address:t,blockNumber:r,blockTag:a,gatewayUrls:s,strict:o,universalResolverAddress:i}){let d=i;if(!d){if(!e.chain)throw new Error("client chain not configured. universalResolverAddress is required.");d=n.getChainContractAddress({blockNumber:r,chain:e.chain,contract:"ensUniversalResolver"})}const f=`${t.toLowerCase().substring(2)}.addr.reverse`;try{const l={address:d,abi:n.universalResolverReverseAbi,functionName:"reverse",args:[h.toHex(_(f))],blockNumber:r,blockTag:a},c=n.getAction(e,n.readContract,"readContract"),[u,p]=s?await c({...l,args:[...l.args,s]}):await c(l);return t.toLowerCase()!==p.toLowerCase()?null:u}catch(l){if(o)throw l;if($(l,"reverse"))return null;throw l}}async function je(e,{blockNumber:t,blockTag:r,name:a,universalResolverAddress:s}){let o=s;if(!o){if(!e.chain)throw new Error("client chain not configured. universalResolverAddress is required.");o=n.getChainContractAddress({blockNumber:t,chain:e.chain,contract:"ensUniversalResolver"})}const[i]=await n.getAction(e,n.readContract,"readContract")({address:o,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[h.toHex(_(a))],blockNumber:t,blockTag:r});return i}async function Oe(e){const t=n.createFilterRequestScope(e,{method:"eth_newBlockFilter"}),r=await e.request({method:"eth_newBlockFilter"});return{id:r,request:t(r),type:"block"}}async function re(e,{address:t,args:r,event:a,events:s,fromBlock:o,strict:i,toBlock:d}={}){const f=s??(a?[a]:void 0),l=n.createFilterRequestScope(e,{method:"eth_newFilter"});let c=[];f&&(c=[f.flatMap(m=>n.encodeEventTopics({abi:[m],eventName:m.name,args:r}))],a&&(c=c[0]));const u=await e.request({method:"eth_newFilter",params:[{address:t,fromBlock:typeof o=="bigint"?h.numberToHex(o):o,toBlock:typeof d=="bigint"?h.numberToHex(d):d,...c.length?{topics:c}:{}}]});return{abi:f,args:r,eventName:a?a.name:void 0,fromBlock:o,id:u,request:l(u),strict:!!i,toBlock:d,type:"event"}}async function ne(e){const t=n.createFilterRequestScope(e,{method:"eth_newPendingTransactionFilter"}),r=await e.request({method:"eth_newPendingTransactionFilter"});return{id:r,request:t(r),type:"transaction"}}async function We(e){const t=await e.request({method:"eth_blobBaseFee"});return BigInt(t)}async function Ge(e,{blockHash:t,blockNumber:r,blockTag:a="latest"}={}){const s=r!==void 0?h.numberToHex(r):void 0;let o;return t?o=await e.request({method:"eth_getBlockTransactionCountByHash",params:[t]},{dedupe:!0}):o=await e.request({method:"eth_getBlockTransactionCountByNumber",params:[s||a]},{dedupe:!!s}),h.hexToNumber(o)}async function Z(e,{address:t,blockNumber:r,blockTag:a="latest"}){const s=r!==void 0?h.numberToHex(r):void 0,o=await e.request({method:"eth_getCode",params:[t,s||a]},{dedupe:!!s});if(o!=="0x")return o}function Ve(e){var t;return{baseFeePerGas:e.baseFeePerGas.map(r=>BigInt(r)),gasUsedRatio:e.gasUsedRatio,oldestBlock:BigInt(e.oldestBlock),reward:(t=e.reward)==null?void 0:t.map(r=>r.map(a=>BigInt(a)))}}async function Ze(e,{blockCount:t,blockNumber:r,blockTag:a="latest",rewardPercentiles:s}){const o=r?h.numberToHex(r):void 0,i=await e.request({method:"eth_feeHistory",params:[h.numberToHex(t),o||a,s]},{dedupe:!!o});return Ve(i)}async function Je(e,{filter:t}){const r=t.strict??!1,s=(await t.request({method:"eth_getFilterLogs",params:[t.id]})).map(o=>h.formatLog(o));return t.abi?n.parseEventLogs({abi:t.abi,logs:s,strict:r}):s}class Qe extends h.BaseError{constructor({domain:t}){super(`Invalid domain "${n.stringify(t)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}}class Ke extends h.BaseError{constructor({primaryType:t,types:r}){super(`Invalid primary type \`${t}\` must be one of \`${JSON.stringify(Object.keys(r))}\`.`,{docsPath:"/api/glossary/Errors#typeddatainvalidprimarytypeerror",metaMessages:["Check that the primary type is a key in `types`."]})}}class Xe extends h.BaseError{constructor({type:t}){super(`Struct type "${t}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}}function Ye(e){const{domain:t={},message:r,primaryType:a}=e,s={EIP712Domain:ue({domain:t}),...e.types};ce({domain:t,message:r,primaryType:a,types:s});const o=["0x1901"];return t&&o.push(et({domain:t,types:s})),a!=="EIP712Domain"&&o.push(ae({data:r,primaryType:a,types:s})),h.keccak256(h.concat(o))}function et({domain:e,types:t}){return ae({data:e,primaryType:"EIP712Domain",types:t})}function ae({data:e,primaryType:t,types:r}){const a=se({data:e,primaryType:t,types:r});return h.keccak256(a)}function se({data:e,primaryType:t,types:r}){const a=[{type:"bytes32"}],s=[tt({primaryType:t,types:r})];for(const o of r[t]){const[i,d]=ie({types:r,name:o.name,type:o.type,value:e[o.name]});a.push(i),s.push(d)}return n.encodeAbiParameters(a,s)}function tt({primaryType:e,types:t}){const r=h.toHex(rt({primaryType:e,types:t}));return h.keccak256(r)}function rt({primaryType:e,types:t}){let r="";const a=oe({primaryType:e,types:t});a.delete(e);const s=[e,...Array.from(a).sort()];for(const o of s)r+=`${o}(${t[o].map(({name:i,type:d})=>`${d} ${i}`).join(",")})`;return r}function oe({primaryType:e,types:t},r=new Set){const a=e.match(/^\w*/u),s=a==null?void 0:a[0];if(r.has(s)||t[s]===void 0)return r;r.add(s);for(const o of t[s])oe({primaryType:o.type,types:t},r);return r}function ie({types:e,name:t,type:r,value:a}){if(e[r]!==void 0)return[{type:"bytes32"},h.keccak256(se({data:a,primaryType:r,types:e}))];if(r==="bytes")return a=`0x${(a.length%2?"0":"")+a.slice(2)}`,[{type:"bytes32"},h.keccak256(a)];if(r==="string")return[{type:"bytes32"},h.keccak256(h.toHex(a))];if(r.lastIndexOf("]")===r.length-1){const s=r.slice(0,r.lastIndexOf("[")),o=a.map(i=>ie({name:t,type:s,types:e,value:i}));return[{type:"bytes32"},h.keccak256(n.encodeAbiParameters(o.map(([i])=>i),o.map(([,i])=>i)))]}return[{type:r},a]}function nt(e){const{domain:t,message:r,primaryType:a,types:s}=e,o=(f,l)=>{const c={...l};for(const u of f){const{name:p,type:m}=u;m==="address"&&(c[p]=c[p].toLowerCase())}return c},i=s.EIP712Domain?t?o(s.EIP712Domain,t):{}:{},d=(()=>{if(a!=="EIP712Domain")return o(s[a],r)})();return n.stringify({domain:i,message:d,primaryType:a,types:s})}function ce(e){const{domain:t,message:r,primaryType:a,types:s}=e,o=(i,d)=>{for(const f of i){const{name:l,type:c}=f,u=d[l],p=c.match(n.integerRegex);if(p&&(typeof u=="number"||typeof u=="bigint")){const[b,T,g]=p;h.numberToHex(u,{signed:T==="int",size:Number.parseInt(g)/8})}if(c==="address"&&typeof u=="string"&&!h.isAddress(u))throw new h.InvalidAddressError({address:u});const m=c.match(n.bytesRegex);if(m){const[b,T]=m;if(T&&h.size(u)!==Number.parseInt(T))throw new n.BytesSizeMismatchError({expectedSize:Number.parseInt(T),givenSize:h.size(u)})}const y=s[c];y&&(at(c),o(y,u))}};if(s.EIP712Domain&&t){if(typeof t!="object")throw new Qe({domain:t});o(s.EIP712Domain,t)}if(a!=="EIP712Domain")if(s[a])o(s[a],r);else throw new Ke({primaryType:a,types:s})}function ue({domain:e}){return[typeof(e==null?void 0:e.name)=="string"&&{name:"name",type:"string"},(e==null?void 0:e.version)&&{name:"version",type:"string"},typeof(e==null?void 0:e.chainId)=="number"&&{name:"chainId",type:"uint256"},(e==null?void 0:e.verifyingContract)&&{name:"verifyingContract",type:"address"},(e==null?void 0:e.salt)&&{name:"salt",type:"bytes32"}].filter(Boolean)}function at(e){if(e==="address"||e==="bool"||e==="string"||e.startsWith("bytes")||e.startsWith("uint")||e.startsWith("int"))throw new Xe({type:e})}const st=`Ethereum Signed Message:
|
|
2
|
+
`;function ot(e){const t=typeof e=="string"?h.stringToHex(e):typeof e.raw=="string"?e.raw:h.bytesToHex(e.raw),r=h.stringToHex(`${st}${h.size(t)}`);return h.concat([r,t])}function de(e,t){return h.keccak256(ot(e),t)}const fe="0x6492649264926492649264926492649264926492649264926492649264926492";function it(e){return h.sliceHex(e,-32)===fe}function ct(e){const{address:t,data:r,signature:a,to:s="hex"}=e,o=h.concatHex([n.encodeAbiParameters([{type:"address"},{type:"bytes"},{type:"bytes"}],[t,r,a]),fe]);return s==="hex"?o:h.hexToBytes(o)}function ut(e){return e.map(t=>({...t,value:BigInt(t.value)}))}function dt(e){return{...e,balance:e.balance?BigInt(e.balance):void 0,nonce:e.nonce?h.hexToNumber(e.nonce):void 0,storageProof:e.storageProof?ut(e.storageProof):void 0}}async function ft(e,{address:t,blockNumber:r,blockTag:a,storageKeys:s}){const o=a??"latest",i=r!==void 0?h.numberToHex(r):void 0,d=await e.request({method:"eth_getProof",params:[t,s,i||o]});return dt(d)}async function lt(e,{address:t,blockNumber:r,blockTag:a="latest",slot:s}){const o=r!==void 0?h.numberToHex(r):void 0;return await e.request({method:"eth_getStorageAt",params:[t,s,o||a]})}async function O(e,{blockHash:t,blockNumber:r,blockTag:a,hash:s,index:o}){var c,u,p;const i=a||"latest",d=r!==void 0?h.numberToHex(r):void 0;let f=null;if(s?f=await e.request({method:"eth_getTransactionByHash",params:[s]},{dedupe:!0}):t?f=await e.request({method:"eth_getTransactionByBlockHashAndIndex",params:[t,h.numberToHex(o)]},{dedupe:!0}):(d||i)&&(f=await e.request({method:"eth_getTransactionByBlockNumberAndIndex",params:[d||i,h.numberToHex(o)]},{dedupe:!!d})),!f)throw new h.TransactionNotFoundError({blockHash:t,blockNumber:r,blockTag:i,hash:s,index:o});return(((p=(u=(c=e.chain)==null?void 0:c.formatters)==null?void 0:u.transaction)==null?void 0:p.format)||h.formatTransaction)(f)}async function pt(e,{hash:t,transactionReceipt:r}){const[a,s]=await Promise.all([n.getAction(e,n.getBlockNumber,"getBlockNumber")({}),t?n.getAction(e,O,"getTransaction")({hash:t}):void 0]),o=(r==null?void 0:r.blockNumber)||(s==null?void 0:s.blockNumber);return o?a-o+1n:0n}async function U(e,{hash:t}){var s,o,i;const r=await e.request({method:"eth_getTransactionReceipt",params:[t]},{dedupe:!0});if(!r)throw new h.TransactionReceiptNotFoundError({hash:t});return(((i=(o=(s=e.chain)==null?void 0:s.formatters)==null?void 0:o.transactionReceipt)==null?void 0:i.format)||h.formatTransactionReceipt)(r)}async function ht(e,t){var T;const{allowFailure:r=!0,batchSize:a,blockNumber:s,blockTag:o,multicallAddress:i,stateOverride:d}=t,f=t.contracts,l=a??(typeof((T=e.batch)==null?void 0:T.multicall)=="object"&&e.batch.multicall.batchSize||1024);let c=i;if(!c){if(!e.chain)throw new Error("client chain not configured. multicallAddress is required.");c=n.getChainContractAddress({blockNumber:s,chain:e.chain,contract:"multicall3"})}const u=[[]];let p=0,m=0;for(let g=0;g<f.length;g++){const{abi:w,address:v,args:E,functionName:k}=f[g];try{const C=n.encodeFunctionData({abi:w,args:E,functionName:k});m+=(C.length-2)/2,l>0&&m>l&&u[p].length>0&&(p++,m=(C.length-2)/2,u[p]=[]),u[p]=[...u[p],{allowFailure:!0,callData:C,target:v}]}catch(C){const R=n.getContractError(C,{abi:w,address:v,args:E,docsPath:"/docs/contract/multicall",functionName:k});if(!r)throw R;u[p]=[...u[p],{allowFailure:!0,callData:"0x",target:v}]}}const y=await Promise.allSettled(u.map(g=>n.getAction(e,n.readContract,"readContract")({abi:n.multicall3Abi,address:c,args:[g],blockNumber:s,blockTag:o,functionName:"aggregate3",stateOverride:d}))),b=[];for(let g=0;g<y.length;g++){const w=y[g];if(w.status==="rejected"){if(!r)throw w.reason;for(let E=0;E<u[g].length;E++)b.push({status:"failure",error:w.reason,result:void 0});continue}const v=w.value;for(let E=0;E<v.length;E++){const{returnData:k,success:C}=v[E],{callData:R}=u[g][E],{abi:x,address:A,functionName:N,args:I}=f[b.length];try{if(R==="0x")throw new n.AbiDecodingZeroDataError;if(!C)throw new n.RawContractError({data:k});const B=n.decodeFunctionResult({abi:x,args:I,data:k,functionName:N});b.push(r?{result:B,status:"success"}:B)}catch(B){const P=n.getContractError(B,{abi:x,address:A,args:I,docsPath:"/docs/contract/multicall",functionName:N});if(!r)throw P;b.push({error:P,result:void 0,status:"failure"})}}}if(b.length!==f.length)throw new h.BaseError("multicall results mismatch");return b}function gt({r:e,s:t,to:r="hex",v:a,yParity:s}){const o=(()=>{if(s===0||s===1)return s;if(a&&(a===27n||a===28n||a>=35n))return a%2n===0n?1:0;throw new Error("Invalid `v` or `yParity` value")})(),i=`0x${new pe.secp256k1.Signature(h.hexToBigInt(e),h.hexToBigInt(t)).toCompactHex()}${o===0?"1b":"1c"}`;return r==="hex"?i:h.hexToBytes(i)}async function W(e,t){var u,p,m;const{address:r,factory:a,factoryData:s,hash:o,signature:i,universalSignatureVerifierAddress:d=(m=(p=(u=e.chain)==null?void 0:u.contracts)==null?void 0:p.universalSignatureVerifier)==null?void 0:m.address,...f}=t,l=h.isHex(i)?i:typeof i=="object"&&"r"in i&&"s"in i?gt(i):h.bytesToHex(i),c=await(async()=>!a&&!s||it(l)?l:ct({address:a,data:s,signature:l}))();try{const y=d?{to:d,data:n.encodeFunctionData({abi:n.universalSignatureValidatorAbi,functionName:"isValidSig",args:[r,o,c]}),...f}:{data:n.encodeDeployData({abi:n.universalSignatureValidatorAbi,args:[r,o,c],bytecode:n.universalSignatureValidatorByteCode}),...f},{data:b}=await n.getAction(e,n.call,"call")(y);return h.hexToBool(b??"0x0")}catch(y){try{if(n.isAddressEqual(h.getAddress(r),await n.recoverAddress({hash:o,signature:i})))return!0}catch{}if(y instanceof n.CallExecutionError)return!1;throw y}}async function mt(e,{address:t,message:r,factory:a,factoryData:s,signature:o,...i}){const d=de(r);return W(e,{address:t,factory:a,factoryData:s,hash:d,signature:o,...i})}async function yt(e,t){const{address:r,factory:a,factoryData:s,signature:o,message:i,primaryType:d,types:f,domain:l,...c}=t,u=Ye({message:i,primaryType:d,types:f,domain:l});return W(e,{address:r,factory:a,factoryData:s,hash:u,signature:o,...c})}function le(e,{emitOnBegin:t=!1,emitMissed:r=!1,onBlockNumber:a,onError:s,poll:o,pollingInterval:i=e.pollingInterval}){const d=typeof o<"u"?o:!(e.transport.type==="webSocket"||e.transport.type==="fallback"&&e.transport.transports[0].config.type==="webSocket");let f;return d?(()=>{const u=n.stringify(["watchBlockNumber",e.uid,t,r,i]);return n.observe(u,{onBlockNumber:a,onError:s},p=>n.poll(async()=>{var m;try{const y=await n.getAction(e,n.getBlockNumber,"getBlockNumber")({cacheTime:0});if(f){if(y===f)return;if(y-f>1&&r)for(let b=f+1n;b<y;b++)p.onBlockNumber(b,f),f=b}(!f||y>f)&&(p.onBlockNumber(y,f),f=y)}catch(y){(m=p.onError)==null||m.call(p,y)}},{emitOnBegin:t,interval:i}))})():(()=>{const u=n.stringify(["watchBlockNumber",e.uid,t,r]);return n.observe(u,{onBlockNumber:a,onError:s},p=>{let m=!0,y=()=>m=!1;return(async()=>{try{const b=(()=>{if(e.transport.type==="fallback"){const g=e.transport.transports.find(w=>w.config.type==="webSocket");return g?g.value:e.transport}return e.transport})(),{unsubscribe:T}=await b.subscribe({params:["newHeads"],onData(g){var v;if(!m)return;const w=h.hexToBigInt((v=g.result)==null?void 0:v.number);p.onBlockNumber(w,f),f=w},onError(g){var w;(w=p.onError)==null||w.call(p,g)}});y=T,m||y()}catch(b){s==null||s(b)}})(),()=>y()})})()}async function bt(e,{confirmations:t=1,hash:r,onReplaced:a,pollingInterval:s=e.pollingInterval,retryCount:o=6,retryDelay:i=({count:f})=>~~(1<<f)*200,timeout:d=18e4}){const f=n.stringify(["waitForTransactionReceipt",e.uid,r]);let l,c,u,p=!1;const{promise:m,resolve:y,reject:b}=n.withResolvers(),T=d?setTimeout(()=>b(new h.WaitForTransactionReceiptTimeoutError({hash:r})),d):void 0,g=n.observe(f,{onReplaced:a,resolve:y,reject:b},w=>{const v=n.getAction(e,le,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:s,async onBlockNumber(E){const k=R=>{clearTimeout(T),v(),R(),g()};let C=E;if(!p)try{if(u){if(t>1&&(!u.blockNumber||C-u.blockNumber+1n<t))return;k(()=>w.resolve(u));return}if(l||(p=!0,await z(async()=>{l=await n.getAction(e,O,"getTransaction")({hash:r}),l.blockNumber&&(C=l.blockNumber)},{delay:i,retryCount:o}),p=!1),u=await n.getAction(e,U,"getTransactionReceipt")({hash:r}),t>1&&(!u.blockNumber||C-u.blockNumber+1n<t))return;k(()=>w.resolve(u))}catch(R){if(R instanceof h.TransactionNotFoundError||R instanceof h.TransactionReceiptNotFoundError){if(!l){p=!1;return}try{c=l,p=!0;const x=await z(()=>n.getAction(e,n.getBlock,"getBlock")({blockNumber:C,includeTransactions:!0}),{delay:i,retryCount:o,shouldRetry:({error:I})=>I instanceof n.BlockNotFoundError});p=!1;const A=x.transactions.find(({from:I,nonce:B})=>I===c.from&&B===c.nonce);if(!A||(u=await n.getAction(e,U,"getTransactionReceipt")({hash:A.hash}),t>1&&(!u.blockNumber||C-u.blockNumber+1n<t)))return;let N="replaced";A.to===c.to&&A.value===c.value?N="repriced":A.from===A.to&&A.value===0n&&(N="cancelled"),k(()=>{var I;(I=w.onReplaced)==null||I.call(w,{reason:N,replacedTransaction:c,transaction:A,transactionReceipt:u}),w.resolve(u)})}catch(x){k(()=>w.reject(x))}}else k(()=>w.reject(R))}}})});return m}function wt(e,{blockTag:t="latest",emitMissed:r=!1,emitOnBegin:a=!1,onBlock:s,onError:o,includeTransactions:i,poll:d,pollingInterval:f=e.pollingInterval}){const l=typeof d<"u"?d:!(e.transport.type==="webSocket"||e.transport.type==="fallback"&&e.transport.transports[0].config.type==="webSocket"),c=i??!1;let u;return l?(()=>{const y=n.stringify(["watchBlocks",e.uid,t,r,a,c,f]);return n.observe(y,{onBlock:s,onError:o},b=>n.poll(async()=>{var T;try{const g=await n.getAction(e,n.getBlock,"getBlock")({blockTag:t,includeTransactions:c});if(g.number&&(u!=null&&u.number)){if(g.number===u.number)return;if(g.number-u.number>1&&r)for(let w=(u==null?void 0:u.number)+1n;w<g.number;w++){const v=await n.getAction(e,n.getBlock,"getBlock")({blockNumber:w,includeTransactions:c});b.onBlock(v,u),u=v}}(!(u!=null&&u.number)||t==="pending"&&!(g!=null&&g.number)||g.number&&g.number>u.number)&&(b.onBlock(g,u),u=g)}catch(g){(T=b.onError)==null||T.call(b,g)}},{emitOnBegin:a,interval:f}))})():(()=>{let y=!0,b=!0,T=()=>y=!1;return(async()=>{try{a&&n.getAction(e,n.getBlock,"getBlock")({blockTag:t,includeTransactions:c}).then(v=>{y&&b&&(s(v,void 0),b=!1)});const g=(()=>{if(e.transport.type==="fallback"){const v=e.transport.transports.find(E=>E.config.type==="webSocket");return v?v.value:e.transport}return e.transport})(),{unsubscribe:w}=await g.subscribe({params:["newHeads"],async onData(v){if(!y)return;const E=await n.getAction(e,n.getBlock,"getBlock")({blockNumber:v.blockNumber,includeTransactions:c}).catch(()=>{});y&&(s(E,u),b=!1,u=E)},onError(v){o==null||o(v)}});T=w,y||T()}catch(g){o==null||o(g)}})(),()=>T()})()}function vt(e,{address:t,args:r,batch:a=!0,event:s,events:o,fromBlock:i,onError:d,onLogs:f,poll:l,pollingInterval:c=e.pollingInterval,strict:u}){const p=typeof l<"u"?l:typeof i=="bigint"?!0:!(e.transport.type==="webSocket"||e.transport.type==="fallback"&&e.transport.transports[0].config.type==="webSocket"),m=u??!1;return p?(()=>{const T=n.stringify(["watchEvent",t,r,a,e.uid,s,c,i]);return n.observe(T,{onLogs:f,onError:d},g=>{let w;i!==void 0&&(w=i-1n);let v,E=!1;const k=n.poll(async()=>{var C;if(!E){try{v=await n.getAction(e,re,"createEventFilter")({address:t,args:r,event:s,events:o,strict:m,fromBlock:i})}catch{}E=!0;return}try{let R;if(v)R=await n.getAction(e,n.getFilterChanges,"getFilterChanges")({filter:v});else{const x=await n.getAction(e,n.getBlockNumber,"getBlockNumber")({});w&&w!==x?R=await n.getAction(e,n.getLogs,"getLogs")({address:t,args:r,event:s,events:o,fromBlock:w+1n,toBlock:x}):R=[],w=x}if(R.length===0)return;if(a)g.onLogs(R);else for(const x of R)g.onLogs([x])}catch(R){v&&R instanceof n.InvalidInputRpcError&&(E=!1),(C=g.onError)==null||C.call(g,R)}},{emitOnBegin:!0,interval:c});return async()=>{v&&await n.getAction(e,n.uninstallFilter,"uninstallFilter")({filter:v}),k()}})})():(()=>{let T=!0,g=()=>T=!1;return(async()=>{try{const w=(()=>{if(e.transport.type==="fallback"){const C=e.transport.transports.find(R=>R.config.type==="webSocket");return C?C.value:e.transport}return e.transport})(),v=o??(s?[s]:void 0);let E=[];v&&(E=[v.flatMap(R=>n.encodeEventTopics({abi:[R],eventName:R.name,args:r}))],s&&(E=E[0]));const{unsubscribe:k}=await w.subscribe({params:["logs",{address:t,topics:E}],onData(C){var x;if(!T)return;const R=C.result;try{const{eventName:A,args:N}=n.decodeEventLog({abi:v??[],data:R.data,topics:R.topics,strict:m}),I=h.formatLog(R,{args:N,eventName:A});f([I])}catch(A){let N,I;if(A instanceof n.DecodeLogDataMismatch||A instanceof n.DecodeLogTopicsMismatch){if(u)return;N=A.abiItem.name,I=(x=A.abiItem.inputs)==null?void 0:x.some(P=>!("name"in P&&P.name))}const B=h.formatLog(R,{args:I?[]:{},eventName:N});f([B])}},onError(C){d==null||d(C)}});g=k,T||g()}catch(w){d==null||d(w)}})(),()=>g()})()}function Tt(e,{batch:t=!0,onError:r,onTransactions:a,poll:s,pollingInterval:o=e.pollingInterval}){return(typeof s<"u"?s:e.transport.type!=="webSocket")?(()=>{const l=n.stringify(["watchPendingTransactions",e.uid,t,o]);return n.observe(l,{onTransactions:a,onError:r},c=>{let u;const p=n.poll(async()=>{var m;try{if(!u)try{u=await n.getAction(e,ne,"createPendingTransactionFilter")({});return}catch(b){throw p(),b}const y=await n.getAction(e,n.getFilterChanges,"getFilterChanges")({filter:u});if(y.length===0)return;if(t)c.onTransactions(y);else for(const b of y)c.onTransactions([b])}catch(y){(m=c.onError)==null||m.call(c,y)}},{emitOnBegin:!0,interval:o});return async()=>{u&&await n.getAction(e,n.uninstallFilter,"uninstallFilter")({filter:u}),p()}})})():(()=>{let l=!0,c=()=>l=!1;return(async()=>{try{const{unsubscribe:u}=await e.transport.subscribe({params:["newPendingTransactions"],onData(p){if(!l)return;const m=p.result;a([m])},onError(p){r==null||r(p)}});c=u,l||c()}catch(u){r==null||r(u)}})(),()=>c()})()}function Rt(e){var u,p,m;const{scheme:t,statement:r,...a}=((u=e.match(Et))==null?void 0:u.groups)??{},{chainId:s,expirationTime:o,issuedAt:i,notBefore:d,requestId:f,...l}=((p=e.match(Ct))==null?void 0:p.groups)??{},c=(m=e.split("Resources:")[1])==null?void 0:m.split(`
|
|
3
|
+
- `).slice(1);return{...a,...l,...s?{chainId:Number(s)}:{},...o?{expirationTime:new Date(o)}:{},...i?{issuedAt:new Date(i)}:{},...d?{notBefore:new Date(d)}:{},...f?{requestId:f}:{},...c?{resources:c}:{},...t?{scheme:t}:{},...r?{statement:r}:{}}}const Et=/^(?:(?<scheme>[a-zA-Z][a-zA-Z0-9+-.]*):\/\/)?(?<domain>[a-zA-Z0-9+-.]*(?::[0-9]{1,5})?) (?:wants you to sign in with your Ethereum account:\n)(?<address>0x[a-fA-F0-9]{40})\n\n(?:(?<statement>.*)\n\n)?/,Ct=/(?:URI: (?<uri>.+))\n(?:Version: (?<version>.+))\n(?:Chain ID: (?<chainId>\d+))\n(?:Nonce: (?<nonce>[a-zA-Z0-9]+))\n(?:Issued At: (?<issuedAt>.+))(?:\nExpiration Time: (?<expirationTime>.+))?(?:\nNot Before: (?<notBefore>.+))?(?:\nRequest ID: (?<requestId>.+))?/;function At(e){const{address:t,domain:r,message:a,nonce:s,scheme:o,time:i=new Date}=e;if(r&&a.domain!==r||s&&a.nonce!==s||o&&a.scheme!==o||a.expirationTime&&i>=a.expirationTime||a.notBefore&&i<a.notBefore)return!1;try{if(!a.address||t&&!n.isAddressEqual(a.address,t))return!1}catch{return!1}return!0}async function kt(e,t){const{address:r,domain:a,message:s,nonce:o,scheme:i,signature:d,time:f=new Date,...l}=t,c=Rt(s);if(!c.address||!At({address:r,domain:a,message:c,nonce:o,scheme:i,time:f}))return!1;const p=de(s);return W(e,{address:c.address,hash:p,signature:d,...l})}function xt(e){return{call:t=>n.call(e,t),createBlockFilter:()=>Oe(e),createContractEventFilter:t=>n.createContractEventFilter(e,t),createEventFilter:t=>re(e,t),createPendingTransactionFilter:()=>ne(e),estimateContractGas:t=>n.estimateContractGas(e,t),estimateGas:t=>n.estimateGas(e,t),getBalance:t=>n.getBalance(e,t),getBlobBaseFee:()=>We(e),getBlock:t=>n.getBlock(e,t),getBlockNumber:t=>n.getBlockNumber(e,t),getBlockTransactionCount:t=>Ge(e,t),getBytecode:t=>Z(e,t),getChainId:()=>n.getChainId(e),getCode:t=>Z(e,t),getContractEvents:t=>n.getContractEvents(e,t),getEip712Domain:t=>ge(e,t),getEnsAddress:t=>Ie(e,t),getEnsAvatar:t=>$e(e,t),getEnsName:t=>Le(e,t),getEnsResolver:t=>je(e,t),getEnsText:t=>te(e,t),getFeeHistory:t=>Ze(e,t),estimateFeesPerGas:t=>n.estimateFeesPerGas(e,t),getFilterChanges:t=>n.getFilterChanges(e,t),getFilterLogs:t=>Je(e,t),getGasPrice:()=>n.getGasPrice(e),getLogs:t=>n.getLogs(e,t),getProof:t=>ft(e,t),estimateMaxPriorityFeePerGas:t=>n.estimateMaxPriorityFeePerGas(e,t),getStorageAt:t=>lt(e,t),getTransaction:t=>O(e,t),getTransactionConfirmations:t=>pt(e,t),getTransactionCount:t=>n.getTransactionCount(e,t),getTransactionReceipt:t=>U(e,t),multicall:t=>ht(e,t),prepareTransactionRequest:t=>n.prepareTransactionRequest(e,t),readContract:t=>n.readContract(e,t),sendRawTransaction:t=>n.sendRawTransaction(e,t),simulateContract:t=>n.simulateContract(e,t),verifyMessage:t=>mt(e,t),verifySiweMessage:t=>kt(e,t),verifyTypedData:t=>yt(e,t),uninstallFilter:t=>n.uninstallFilter(e,t),waitForTransactionReceipt:t=>bt(e,t),watchBlocks:t=>wt(e,t),watchBlockNumber:t=>le(e,t),watchContractEvent:t=>n.watchContractEvent(e,t),watchEvent:t=>vt(e,t),watchPendingTransactions:t=>Tt(e,t)}}function It(e){const{key:t="public",name:r="Public Client"}=e;return Q({...e,key:t,name:r,type:"publicClient"}).extend(xt)}function Nt(e,t){const{abi:r,args:a,bytecode:s,...o}=t,i=n.encodeDeployData({abi:r,args:a,bytecode:s});return n.sendTransaction(e,{...o,data:i})}async function Bt(e){var r;return((r=e.account)==null?void 0:r.type)==="local"?[e.account.address]:(await e.request({method:"eth_accounts"},{dedupe:!0})).map(a=>h.checksumAddress(a))}async function Pt(e){return await e.request({method:"wallet_getPermissions"},{dedupe:!0})}async function Ft(e){return(await e.request({method:"eth_requestAccounts"},{dedupe:!0,retryCount:0})).map(r=>h.getAddress(r))}async function qt(e,t){return e.request({method:"wallet_requestPermissions",params:[t]},{retryCount:0})}async function Dt(e,{account:t=e.account,message:r}){if(!t)throw new n.AccountNotFoundError({docsPath:"/docs/actions/wallet/signMessage"});const a=n.parseAccount(t);if(a.signMessage)return a.signMessage({message:r});const s=typeof r=="string"?h.stringToHex(r):r.raw instanceof Uint8Array?h.toHex(r.raw):r.raw;return e.request({method:"personal_sign",params:[s,a.address]},{retryCount:0})}async function St(e,t){var l,c,u,p;const{account:r=e.account,chain:a=e.chain,...s}=t;if(!r)throw new n.AccountNotFoundError({docsPath:"/docs/actions/wallet/signTransaction"});const o=n.parseAccount(r);n.assertRequest({account:o,...t});const i=await n.getAction(e,n.getChainId,"getChainId")({});a!==null&&n.assertCurrentChain({currentChainId:i,chain:a});const d=(a==null?void 0:a.formatters)||((l=e.chain)==null?void 0:l.formatters),f=((c=d==null?void 0:d.transactionRequest)==null?void 0:c.format)||n.formatTransactionRequest;return o.signTransaction?o.signTransaction({...s,chainId:i},{serializer:(p=(u=e.chain)==null?void 0:u.serializers)==null?void 0:p.transaction}):await e.request({method:"eth_signTransaction",params:[{...f(s),chainId:h.numberToHex(i),from:o.address}]},{retryCount:0})}async function Ht(e,t){const{account:r=e.account,domain:a,message:s,primaryType:o}=t;if(!r)throw new n.AccountNotFoundError({docsPath:"/docs/actions/wallet/signTypedData"});const i=n.parseAccount(r),d={EIP712Domain:ue({domain:a}),...t.types};if(ce({domain:a,message:s,primaryType:o,types:d}),i.signTypedData)return i.signTypedData({domain:a,message:s,primaryType:o,types:d});const f=nt({domain:a,message:s,primaryType:o,types:d});return e.request({method:"eth_signTypedData_v4",params:[i.address,f]},{retryCount:0})}async function _t(e,{id:t}){await e.request({method:"wallet_switchEthereumChain",params:[{chainId:h.numberToHex(t)}]},{retryCount:0})}async function Mt(e,t){return await e.request({method:"wallet_watchAsset",params:t},{retryCount:0})}function zt(e){return{addChain:t=>ye(e,t),deployContract:t=>Nt(e,t),getAddresses:()=>Bt(e),getChainId:()=>n.getChainId(e),getPermissions:()=>Pt(e),prepareTransactionRequest:t=>n.prepareTransactionRequest(e,t),requestAddresses:()=>Ft(e),requestPermissions:t=>qt(e,t),sendRawTransaction:t=>n.sendRawTransaction(e,t),sendTransaction:t=>n.sendTransaction(e,t),signMessage:t=>Dt(e,t),signTransaction:t=>St(e,t),signTypedData:t=>Ht(e,t),switchChain:t=>_t(e,t),watchAsset:t=>Mt(e,t),writeContract:t=>n.writeContract(e,t)}}function Ut(e){const{key:t="wallet",name:r="Wallet Client",transport:a}=e;return Q({...e,key:t,name:r,transport:a,type:"walletClient"}).extend(zt)}exports.createPublicClient=It;exports.createTransport=K;exports.createWalletClient=Ut;exports.http=Ae;
|
|
4
|
+
//# sourceMappingURL=createWalletClient-BuLYysrp.cjs.map
|