@pufferfinance/puffer-sdk 1.30.0 → 1.30.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/puffer-client.cjs +1 -1
- package/dist/api/puffer-client.cjs.map +1 -1
- package/dist/api/puffer-client.d.ts +3 -0
- package/dist/api/puffer-client.js +31 -24
- package/dist/api/puffer-client.js.map +1 -1
- package/dist/contracts/handlers/institutional-vault-handler.cjs +1 -1
- package/dist/contracts/handlers/institutional-vault-handler.cjs.map +1 -1
- package/dist/contracts/handlers/institutional-vault-handler.js +2 -1
- package/dist/contracts/handlers/institutional-vault-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 +7 -2
- package/dist/contracts/tokens.js.map +1 -1
- package/dist/utils/version.cjs +1 -1
- package/dist/utils/version.js +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../constants-Dhpa19or.cjs"),a=require("../contracts/handlers/puffer-vault-handler.cjs"),s=require("../contracts/handlers/puffer-depositor-handler.cjs"),u=require("../contracts/handlers/puffer-l2-depositor-handler.cjs"),c=require("../contracts/handlers/erc20-permit-handler.cjs"),o=require("../contracts/handlers/puf-locker-handler.cjs"),d=require("../contracts/handlers/l2-reward-manager-handler.cjs"),h=require("../contracts/handlers/l1-reward-manager-handler.cjs"),w=require("../contracts/handlers/puffer-withdrawal-manager-handler.cjs"),C=require("../contracts/handlers/nucleus-boring-vault-handler.cjs"),p=require("../contracts/handlers/nucleus-teller-handler.cjs"),_=require("../contracts/handlers/nucleus-accountant-handler.cjs"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../constants-Dhpa19or.cjs"),a=require("../contracts/handlers/puffer-vault-handler.cjs"),s=require("../contracts/handlers/puffer-depositor-handler.cjs"),u=require("../contracts/handlers/puffer-l2-depositor-handler.cjs"),c=require("../contracts/handlers/erc20-permit-handler.cjs"),o=require("../contracts/handlers/puf-locker-handler.cjs"),d=require("../contracts/handlers/l2-reward-manager-handler.cjs"),h=require("../contracts/handlers/l1-reward-manager-handler.cjs"),w=require("../contracts/handlers/puffer-withdrawal-manager-handler.cjs"),C=require("../contracts/handlers/nucleus-boring-vault-handler.cjs"),p=require("../contracts/handlers/nucleus-teller-handler.cjs"),_=require("../contracts/handlers/nucleus-accountant-handler.cjs"),H=require("../contracts/handlers/nucleus-atomic-queue-handler.cjs"),f=require("../contracts/handlers/mtw-carrot-handler.cjs"),g=require("../contracts/handlers/carrot-staking-handler.cjs"),b=require("../contracts/handlers/distributor-handler.cjs"),q=require("../contracts/handlers/concrete-vault-handler.cjs"),V=require("../contracts/handlers/validator-ticket-handler.cjs"),M=require("../contracts/handlers/puffer-oracle-v2-handler.cjs"),P=require("../contracts/handlers/puffer-protocol-handler.cjs"),R=require("../contracts/handlers/guardian-module-handler.cjs"),k=require("../contracts/handlers/institutional-vault-handler.cjs"),A=require("../contracts/handlers/institutional-access-manager-handler.cjs"),m=require("../contracts/handlers/lagoon-vault-handler.cjs"),v=require("../contracts/handlers/vl-puffer-handler.cjs"),L=require("../contracts/handlers/gauge-registry-handler.cjs"),T=require("../contracts/handlers/carrot-vesting-handler.cjs"),W=require("../contracts/handlers/non-restaking-withdrawal-credentials-handler.cjs"),t=require("../http-C-TIpf-V.cjs");class y{walletClient;publicClient;erc20Permit;vault;depositor;l2Depositor;pufLocker;l2RewardManager;l1RewardManager;pufferWithdrawalManager;nucleusBoringVault;nucleusTeller;nucleusAccountant;nucleusAtomicQueue;mtwCarrot;carrotStaker;distributor;concreteVault;validatorTicket;pufferOracleV2;pufferProtocol;guardianModule;institutionalVault;institutionalAccessManager;lagoonVault;vlPuffer;gaugeRegistry;carrotVesting;nonRestakingWithdrawalCredentials;constructor(e,r,n){const l=i.VIEM_CHAINS[e];this.walletClient=r??t.createWalletClient({chain:l,transport:t.http()}),this.publicClient=n??t.createPublicClient({chain:l,transport:t.http()}),this.erc20Permit=new c.ERC20PermitHandler(e,this.walletClient,this.publicClient),this.vault=new a.PufferVaultHandler(e,this.walletClient,this.publicClient),this.depositor=new s.PufferDepositorHandler(e,this.walletClient,this.publicClient),this.l2Depositor=new u.PufferL2DepositorHandler(e,this.walletClient,this.publicClient),this.pufLocker=new o.PufLockerHandler(e,this.walletClient,this.publicClient),this.l2RewardManager=new d.L2RewardManagerHandler(e,this.walletClient,this.publicClient),this.l1RewardManager=new h.L1RewardManagerHandler(e,this.walletClient,this.publicClient),this.pufferWithdrawalManager=new w.PufferWithdrawalManagerHandler(e,this.walletClient,this.publicClient),this.nucleusBoringVault=new C.NucleusBoringVaultHandler(e,this.walletClient,this.publicClient),this.nucleusTeller=new p.NucleusTellerHandler(e,this.walletClient,this.publicClient),this.nucleusAccountant=new _.NucleusAccountantHandler(e,this.walletClient,this.publicClient),this.nucleusAtomicQueue=new H.NucleusAtomicQueueHandler(e,this.walletClient,this.publicClient),this.mtwCarrot=new f.MtwCarrotHandler(e,this.walletClient,this.publicClient),this.carrotStaker=new g.CarrotStakingHandler(e,this.walletClient,this.publicClient),this.distributor=new b.DistributorHandler(e,this.walletClient,this.publicClient),this.concreteVault=new q.ConcreteVaultHandler(e,this.walletClient,this.publicClient),this.validatorTicket=new V.ValidatorTicketHandler(e,this.walletClient,this.publicClient),this.pufferOracleV2=new M.PufferOracleV2Handler(e,this.walletClient,this.publicClient),this.pufferProtocol=new P.PufferProtocolHandler(e,this.walletClient,this.publicClient),this.guardianModule=new R.GuardianModuleHandler(e,this.walletClient,this.publicClient),this.institutionalVault=new k.InstitutionalVaultHandler(e,this.walletClient,this.publicClient),this.institutionalAccessManager=new A.InstitutionalAccessManagerHandler(e,this.walletClient,this.publicClient),this.lagoonVault=new m.LagoonVaultHandler(e,this.walletClient,this.publicClient),this.vlPuffer=new v.VLPufferHandler(e,this.walletClient,this.publicClient),this.gaugeRegistry=new L.GaugeRegistryHandler(e,this.walletClient,this.publicClient),this.carrotVesting=new T.CarrotVestingHandler(e,this.walletClient,this.publicClient),this.nonRestakingWithdrawalCredentials=new W.NonRestakingWithdrawalCredentialsHandler(e,this.walletClient,this.publicClient)}async requestAddresses(){return await this.walletClient.requestAddresses()}}exports.PufferClient=y;
|
|
2
2
|
//# sourceMappingURL=puffer-client.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"puffer-client.cjs","sources":["../../lib/api/puffer-client.ts"],"sourcesContent":["import {\n PublicClient,\n WalletClient,\n createPublicClient,\n createWalletClient,\n http,\n} from 'viem';\nimport { Chain, VIEM_CHAINS } from '../chains/constants';\nimport { PufferVaultHandler } from '../contracts/handlers/puffer-vault-handler';\nimport { PufferDepositorHandler } from '../contracts/handlers/puffer-depositor-handler';\nimport { PufferL2DepositorHandler } from '../contracts/handlers/puffer-l2-depositor-handler';\nimport { ERC20PermitHandler } from '../contracts/handlers/erc20-permit-handler';\nimport { PufLockerHandler } from '../contracts/handlers/puf-locker-handler';\nimport { L2RewardManagerHandler } from '../contracts/handlers/l2-reward-manager-handler';\nimport { L1RewardManagerHandler } from '../contracts/handlers/l1-reward-manager-handler';\nimport { PufferWithdrawalManagerHandler } from '../contracts/handlers/puffer-withdrawal-manager-handler';\nimport { NucleusBoringVaultHandler } from '../contracts/handlers/nucleus-boring-vault-handler';\nimport { NucleusTellerHandler } from '../contracts/handlers/nucleus-teller-handler';\nimport { NucleusAccountantHandler } from '../contracts/handlers/nucleus-accountant-handler';\nimport { NucleusAtomicQueueHandler } from '../contracts/handlers/nucleus-atomic-queue-handler';\nimport { MtwCarrotHandler } from '../contracts/handlers/mtw-carrot-handler';\nimport { CarrotStakingHandler } from '../contracts/handlers/carrot-staking-handler';\nimport { DistributorHandler } from '../contracts/handlers/distributor-handler';\nimport { ConcreteVaultHandler } from '../contracts/handlers/concrete-vault-handler';\nimport { ValidatorTicketHandler } from '../contracts/handlers/validator-ticket-handler';\nimport { PufferOracleV2Handler } from '../contracts/handlers/puffer-oracle-v2-handler';\nimport { PufferProtocolHandler } from '../contracts/handlers/puffer-protocol-handler';\nimport { GuardianModuleHandler } from '../contracts/handlers/guardian-module-handler';\nimport { InstitutionalVaultHandler } from '../contracts/handlers/institutional-vault-handler';\nimport { InstitutionalAccessManagerHandler } from '../contracts/handlers/institutional-access-manager-handler';\nimport { LagoonVaultHandler } from '../contracts/handlers/lagoon-vault-handler';\nimport { VLPufferHandler } from '../contracts/handlers/vl-puffer-handler';\nimport { GaugeRegistryHandler } from '../contracts/handlers/gauge-registry-handler';\nimport { CarrotVestingHandler } from '../contracts/handlers/carrot-vesting-handler';\n\n/**\n * The core class and the main entry point of the Puffer SDK.\n */\nexport class PufferClient {\n private walletClient: WalletClient;\n private publicClient: PublicClient;\n\n // Contract Handlers\n /** Handler for the `ERC20Permit` contract. */\n public erc20Permit: ERC20PermitHandler;\n /** Handler for the `PufferVaultV2` contract. */\n public vault: PufferVaultHandler;\n /** Handler for the `PufferDepositor` contract. */\n public depositor: PufferDepositorHandler;\n /** Handler for the `PufferL2Depositor` contract. */\n public l2Depositor: PufferL2DepositorHandler;\n /** Handler for the `PufLocker` contract. */\n public pufLocker: PufLockerHandler;\n /** Handler for the `L2RewardManager` contract. */\n public l2RewardManager: L2RewardManagerHandler;\n /** Handler for the `L1RewardManager` contract. */\n public l1RewardManager: L1RewardManagerHandler;\n /** Handler for the `PufferWithdrawalManager` contract. */\n public pufferWithdrawalManager: PufferWithdrawalManagerHandler;\n /** Handler for the `NucleusBoringVault` contract. */\n public nucleusBoringVault: NucleusBoringVaultHandler;\n /** Handler for the `NucleusTeller` contract. */\n public nucleusTeller: NucleusTellerHandler;\n /** Handler for the `NucleusAccountant` contract. */\n public nucleusAccountant: NucleusAccountantHandler;\n /** Handler for the `NucleusAtomicQueue` contract. */\n public nucleusAtomicQueue: NucleusAtomicQueueHandler;\n /** Handler for the `mtwCARROT` (Merkl Token Wrapper) contract. */\n public mtwCarrot: MtwCarrotHandler;\n /** Handler for the `CarrotStaker` contract. */\n public carrotStaker: CarrotStakingHandler;\n /** Handler for the `Distributor` contract. */\n public distributor: DistributorHandler;\n /** Handler for the `ConcreteMultiStrategyVault` contract. */\n public concreteVault: ConcreteVaultHandler;\n /** Handler for the `ValidatorTicket` contract. */\n public validatorTicket: ValidatorTicketHandler;\n /** Handler for the `PufferOracleV2` contract. */\n public pufferOracleV2: PufferOracleV2Handler;\n /** Handler for the `PufferProtocol` contract. */\n public pufferProtocol: PufferProtocolHandler;\n /** Handler for the `GuardianModule` contract. */\n public guardianModule: GuardianModuleHandler;\n /** Handler for the `InstitutionalVault` contract. */\n public institutionalVault: InstitutionalVaultHandler;\n /** Handler for the `InstitutionalAccessManager` contract. */\n public institutionalAccessManager: InstitutionalAccessManagerHandler;\n /** Handler for the `LagoonVault` contract. */\n public lagoonVault: LagoonVaultHandler;\n /** Handler for the `vlPUFFER` contract. */\n public vlPuffer: VLPufferHandler;\n /** Handler for the `GaugeRegistry` contract. */\n public gaugeRegistry: GaugeRegistryHandler;\n /** Handler for the `CarrotVesting` contract. */\n public carrotVesting: CarrotVestingHandler;\n\n /**\n * Create the Puffer Client.\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 chain: Chain,\n walletClient?: WalletClient,\n publicClient?: PublicClient,\n ) {\n const viemChain = VIEM_CHAINS[chain];\n\n /* istanbul ignore next */\n this.walletClient =\n walletClient ??\n createWalletClient({\n chain: viemChain,\n transport: http(),\n });\n this.publicClient =\n publicClient ??\n createPublicClient({\n chain: viemChain,\n transport: http(),\n });\n\n this.erc20Permit = new ERC20PermitHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.vault = new PufferVaultHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.depositor = new PufferDepositorHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.l2Depositor = new PufferL2DepositorHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.pufLocker = new PufLockerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.l2RewardManager = new L2RewardManagerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.l1RewardManager = new L1RewardManagerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.pufferWithdrawalManager = new PufferWithdrawalManagerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.nucleusBoringVault = new NucleusBoringVaultHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.nucleusTeller = new NucleusTellerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.nucleusAccountant = new NucleusAccountantHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.nucleusAtomicQueue = new NucleusAtomicQueueHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.mtwCarrot = new MtwCarrotHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.carrotStaker = new CarrotStakingHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.distributor = new DistributorHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.concreteVault = new ConcreteVaultHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.validatorTicket = new ValidatorTicketHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.pufferOracleV2 = new PufferOracleV2Handler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.pufferProtocol = new PufferProtocolHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.guardianModule = new GuardianModuleHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.institutionalVault = new InstitutionalVaultHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.institutionalAccessManager = new InstitutionalAccessManagerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.lagoonVault = new LagoonVaultHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.vlPuffer = new VLPufferHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.gaugeRegistry = new GaugeRegistryHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.carrotVesting = new CarrotVestingHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n }\n\n /**\n * Request addresses from the wallet.\n *\n * @returns An array of wallet addresses.\n */\n public async requestAddresses() {\n return await this.walletClient.requestAddresses();\n }\n}\n"],"names":["PufferClient","chain","walletClient","publicClient","viemChain","VIEM_CHAINS","createWalletClient","http","createPublicClient","ERC20PermitHandler","PufferVaultHandler","PufferDepositorHandler","PufferL2DepositorHandler","PufLockerHandler","L2RewardManagerHandler","L1RewardManagerHandler","PufferWithdrawalManagerHandler","NucleusBoringVaultHandler","NucleusTellerHandler","NucleusAccountantHandler","NucleusAtomicQueueHandler","MtwCarrotHandler","CarrotStakingHandler","DistributorHandler","ConcreteVaultHandler","ValidatorTicketHandler","PufferOracleV2Handler","PufferProtocolHandler","GuardianModuleHandler","InstitutionalVaultHandler","InstitutionalAccessManagerHandler","LagoonVaultHandler","VLPufferHandler","GaugeRegistryHandler","CarrotVestingHandler"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"puffer-client.cjs","sources":["../../lib/api/puffer-client.ts"],"sourcesContent":["import {\n PublicClient,\n WalletClient,\n createPublicClient,\n createWalletClient,\n http,\n} from 'viem';\nimport { Chain, VIEM_CHAINS } from '../chains/constants';\nimport { PufferVaultHandler } from '../contracts/handlers/puffer-vault-handler';\nimport { PufferDepositorHandler } from '../contracts/handlers/puffer-depositor-handler';\nimport { PufferL2DepositorHandler } from '../contracts/handlers/puffer-l2-depositor-handler';\nimport { ERC20PermitHandler } from '../contracts/handlers/erc20-permit-handler';\nimport { PufLockerHandler } from '../contracts/handlers/puf-locker-handler';\nimport { L2RewardManagerHandler } from '../contracts/handlers/l2-reward-manager-handler';\nimport { L1RewardManagerHandler } from '../contracts/handlers/l1-reward-manager-handler';\nimport { PufferWithdrawalManagerHandler } from '../contracts/handlers/puffer-withdrawal-manager-handler';\nimport { NucleusBoringVaultHandler } from '../contracts/handlers/nucleus-boring-vault-handler';\nimport { NucleusTellerHandler } from '../contracts/handlers/nucleus-teller-handler';\nimport { NucleusAccountantHandler } from '../contracts/handlers/nucleus-accountant-handler';\nimport { NucleusAtomicQueueHandler } from '../contracts/handlers/nucleus-atomic-queue-handler';\nimport { MtwCarrotHandler } from '../contracts/handlers/mtw-carrot-handler';\nimport { CarrotStakingHandler } from '../contracts/handlers/carrot-staking-handler';\nimport { DistributorHandler } from '../contracts/handlers/distributor-handler';\nimport { ConcreteVaultHandler } from '../contracts/handlers/concrete-vault-handler';\nimport { ValidatorTicketHandler } from '../contracts/handlers/validator-ticket-handler';\nimport { PufferOracleV2Handler } from '../contracts/handlers/puffer-oracle-v2-handler';\nimport { PufferProtocolHandler } from '../contracts/handlers/puffer-protocol-handler';\nimport { GuardianModuleHandler } from '../contracts/handlers/guardian-module-handler';\nimport { InstitutionalVaultHandler } from '../contracts/handlers/institutional-vault-handler';\nimport { InstitutionalAccessManagerHandler } from '../contracts/handlers/institutional-access-manager-handler';\nimport { LagoonVaultHandler } from '../contracts/handlers/lagoon-vault-handler';\nimport { VLPufferHandler } from '../contracts/handlers/vl-puffer-handler';\nimport { GaugeRegistryHandler } from '../contracts/handlers/gauge-registry-handler';\nimport { CarrotVestingHandler } from '../contracts/handlers/carrot-vesting-handler';\nimport { NonRestakingWithdrawalCredentialsHandler } from '../contracts/handlers/non-restaking-withdrawal-credentials-handler';\n\n/**\n * The core class and the main entry point of the Puffer SDK.\n */\nexport class PufferClient {\n private walletClient: WalletClient;\n private publicClient: PublicClient;\n\n // Contract Handlers\n /** Handler for the `ERC20Permit` contract. */\n public erc20Permit: ERC20PermitHandler;\n /** Handler for the `PufferVaultV2` contract. */\n public vault: PufferVaultHandler;\n /** Handler for the `PufferDepositor` contract. */\n public depositor: PufferDepositorHandler;\n /** Handler for the `PufferL2Depositor` contract. */\n public l2Depositor: PufferL2DepositorHandler;\n /** Handler for the `PufLocker` contract. */\n public pufLocker: PufLockerHandler;\n /** Handler for the `L2RewardManager` contract. */\n public l2RewardManager: L2RewardManagerHandler;\n /** Handler for the `L1RewardManager` contract. */\n public l1RewardManager: L1RewardManagerHandler;\n /** Handler for the `PufferWithdrawalManager` contract. */\n public pufferWithdrawalManager: PufferWithdrawalManagerHandler;\n /** Handler for the `NucleusBoringVault` contract. */\n public nucleusBoringVault: NucleusBoringVaultHandler;\n /** Handler for the `NucleusTeller` contract. */\n public nucleusTeller: NucleusTellerHandler;\n /** Handler for the `NucleusAccountant` contract. */\n public nucleusAccountant: NucleusAccountantHandler;\n /** Handler for the `NucleusAtomicQueue` contract. */\n public nucleusAtomicQueue: NucleusAtomicQueueHandler;\n /** Handler for the `mtwCARROT` (Merkl Token Wrapper) contract. */\n public mtwCarrot: MtwCarrotHandler;\n /** Handler for the `CarrotStaker` contract. */\n public carrotStaker: CarrotStakingHandler;\n /** Handler for the `Distributor` contract. */\n public distributor: DistributorHandler;\n /** Handler for the `ConcreteMultiStrategyVault` contract. */\n public concreteVault: ConcreteVaultHandler;\n /** Handler for the `ValidatorTicket` contract. */\n public validatorTicket: ValidatorTicketHandler;\n /** Handler for the `PufferOracleV2` contract. */\n public pufferOracleV2: PufferOracleV2Handler;\n /** Handler for the `PufferProtocol` contract. */\n public pufferProtocol: PufferProtocolHandler;\n /** Handler for the `GuardianModule` contract. */\n public guardianModule: GuardianModuleHandler;\n /** Handler for the `InstitutionalVault` contract. */\n public institutionalVault: InstitutionalVaultHandler;\n /** Handler for the `InstitutionalAccessManager` contract. */\n public institutionalAccessManager: InstitutionalAccessManagerHandler;\n /** Handler for the `LagoonVault` contract. */\n public lagoonVault: LagoonVaultHandler;\n /** Handler for the `vlPUFFER` contract. */\n public vlPuffer: VLPufferHandler;\n /** Handler for the `GaugeRegistry` contract. */\n public gaugeRegistry: GaugeRegistryHandler;\n /** Handler for the `CarrotVesting` contract. */\n public carrotVesting: CarrotVestingHandler;\n /** Handler for the `NonRestakingWithdrawalCredentials` contract. */\n public nonRestakingWithdrawalCredentials: NonRestakingWithdrawalCredentialsHandler;\n\n /**\n * Create the Puffer Client.\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 chain: Chain,\n walletClient?: WalletClient,\n publicClient?: PublicClient,\n ) {\n const viemChain = VIEM_CHAINS[chain];\n\n /* istanbul ignore next */\n this.walletClient =\n walletClient ??\n createWalletClient({\n chain: viemChain,\n transport: http(),\n });\n this.publicClient =\n publicClient ??\n createPublicClient({\n chain: viemChain,\n transport: http(),\n });\n\n this.erc20Permit = new ERC20PermitHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.vault = new PufferVaultHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.depositor = new PufferDepositorHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.l2Depositor = new PufferL2DepositorHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.pufLocker = new PufLockerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.l2RewardManager = new L2RewardManagerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.l1RewardManager = new L1RewardManagerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.pufferWithdrawalManager = new PufferWithdrawalManagerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.nucleusBoringVault = new NucleusBoringVaultHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.nucleusTeller = new NucleusTellerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.nucleusAccountant = new NucleusAccountantHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.nucleusAtomicQueue = new NucleusAtomicQueueHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.mtwCarrot = new MtwCarrotHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.carrotStaker = new CarrotStakingHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.distributor = new DistributorHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.concreteVault = new ConcreteVaultHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.validatorTicket = new ValidatorTicketHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.pufferOracleV2 = new PufferOracleV2Handler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.pufferProtocol = new PufferProtocolHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.guardianModule = new GuardianModuleHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.institutionalVault = new InstitutionalVaultHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.institutionalAccessManager = new InstitutionalAccessManagerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.lagoonVault = new LagoonVaultHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.vlPuffer = new VLPufferHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.gaugeRegistry = new GaugeRegistryHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.carrotVesting = new CarrotVestingHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.nonRestakingWithdrawalCredentials =\n new NonRestakingWithdrawalCredentialsHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n }\n\n /**\n * Request addresses from the wallet.\n *\n * @returns An array of wallet addresses.\n */\n public async requestAddresses() {\n return await this.walletClient.requestAddresses();\n }\n}\n"],"names":["PufferClient","chain","walletClient","publicClient","viemChain","VIEM_CHAINS","createWalletClient","http","createPublicClient","ERC20PermitHandler","PufferVaultHandler","PufferDepositorHandler","PufferL2DepositorHandler","PufLockerHandler","L2RewardManagerHandler","L1RewardManagerHandler","PufferWithdrawalManagerHandler","NucleusBoringVaultHandler","NucleusTellerHandler","NucleusAccountantHandler","NucleusAtomicQueueHandler","MtwCarrotHandler","CarrotStakingHandler","DistributorHandler","ConcreteVaultHandler","ValidatorTicketHandler","PufferOracleV2Handler","PufferProtocolHandler","GuardianModuleHandler","InstitutionalVaultHandler","InstitutionalAccessManagerHandler","LagoonVaultHandler","VLPufferHandler","GaugeRegistryHandler","CarrotVestingHandler","NonRestakingWithdrawalCredentialsHandler"],"mappings":"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"}
|
|
@@ -26,6 +26,7 @@ import { LagoonVaultHandler } from '../contracts/handlers/lagoon-vault-handler';
|
|
|
26
26
|
import { VLPufferHandler } from '../contracts/handlers/vl-puffer-handler';
|
|
27
27
|
import { GaugeRegistryHandler } from '../contracts/handlers/gauge-registry-handler';
|
|
28
28
|
import { CarrotVestingHandler } from '../contracts/handlers/carrot-vesting-handler';
|
|
29
|
+
import { NonRestakingWithdrawalCredentialsHandler } from '../contracts/handlers/non-restaking-withdrawal-credentials-handler';
|
|
29
30
|
/**
|
|
30
31
|
* The core class and the main entry point of the Puffer SDK.
|
|
31
32
|
*/
|
|
@@ -84,6 +85,8 @@ export declare class PufferClient {
|
|
|
84
85
|
gaugeRegistry: GaugeRegistryHandler;
|
|
85
86
|
/** Handler for the `CarrotVesting` contract. */
|
|
86
87
|
carrotVesting: CarrotVestingHandler;
|
|
88
|
+
/** Handler for the `NonRestakingWithdrawalCredentials` contract. */
|
|
89
|
+
nonRestakingWithdrawalCredentials: NonRestakingWithdrawalCredentialsHandler;
|
|
87
90
|
/**
|
|
88
91
|
* Create the Puffer Client.
|
|
89
92
|
*
|
|
@@ -6,27 +6,28 @@ import { ERC20PermitHandler as u } from "../contracts/handlers/erc20-permit-hand
|
|
|
6
6
|
import { PufLockerHandler as p } from "../contracts/handlers/puf-locker-handler.js";
|
|
7
7
|
import { L2RewardManagerHandler as C } from "../contracts/handlers/l2-reward-manager-handler.js";
|
|
8
8
|
import { L1RewardManagerHandler as w } from "../contracts/handlers/l1-reward-manager-handler.js";
|
|
9
|
-
import { PufferWithdrawalManagerHandler as
|
|
10
|
-
import { NucleusBoringVaultHandler as
|
|
9
|
+
import { PufferWithdrawalManagerHandler as h } from "../contracts/handlers/puffer-withdrawal-manager-handler.js";
|
|
10
|
+
import { NucleusBoringVaultHandler as m } from "../contracts/handlers/nucleus-boring-vault-handler.js";
|
|
11
11
|
import { NucleusTellerHandler as f } from "../contracts/handlers/nucleus-teller-handler.js";
|
|
12
|
-
import { NucleusAccountantHandler as
|
|
12
|
+
import { NucleusAccountantHandler as c } from "../contracts/handlers/nucleus-accountant-handler.js";
|
|
13
13
|
import { NucleusAtomicQueueHandler as d } from "../contracts/handlers/nucleus-atomic-queue-handler.js";
|
|
14
|
-
import { MtwCarrotHandler as
|
|
15
|
-
import { CarrotStakingHandler as
|
|
14
|
+
import { MtwCarrotHandler as g } from "../contracts/handlers/mtw-carrot-handler.js";
|
|
15
|
+
import { CarrotStakingHandler as b } from "../contracts/handlers/carrot-staking-handler.js";
|
|
16
16
|
import { DistributorHandler as H } from "../contracts/handlers/distributor-handler.js";
|
|
17
17
|
import { ConcreteVaultHandler as V } from "../contracts/handlers/concrete-vault-handler.js";
|
|
18
18
|
import { ValidatorTicketHandler as P } from "../contracts/handlers/validator-ticket-handler.js";
|
|
19
19
|
import { PufferOracleV2Handler as M } from "../contracts/handlers/puffer-oracle-v2-handler.js";
|
|
20
|
-
import { PufferProtocolHandler as
|
|
21
|
-
import { GuardianModuleHandler as
|
|
22
|
-
import { InstitutionalVaultHandler as
|
|
20
|
+
import { PufferProtocolHandler as R } from "../contracts/handlers/puffer-protocol-handler.js";
|
|
21
|
+
import { GuardianModuleHandler as k } from "../contracts/handlers/guardian-module-handler.js";
|
|
22
|
+
import { InstitutionalVaultHandler as A } from "../contracts/handlers/institutional-vault-handler.js";
|
|
23
23
|
import { InstitutionalAccessManagerHandler as L } from "../contracts/handlers/institutional-access-manager-handler.js";
|
|
24
24
|
import { LagoonVaultHandler as v } from "../contracts/handlers/lagoon-vault-handler.js";
|
|
25
|
-
import { VLPufferHandler as
|
|
26
|
-
import { GaugeRegistryHandler as
|
|
27
|
-
import { CarrotVestingHandler as
|
|
25
|
+
import { VLPufferHandler as W } from "../contracts/handlers/vl-puffer-handler.js";
|
|
26
|
+
import { GaugeRegistryHandler as N } from "../contracts/handlers/gauge-registry-handler.js";
|
|
27
|
+
import { CarrotVestingHandler as T } from "../contracts/handlers/carrot-vesting-handler.js";
|
|
28
|
+
import { NonRestakingWithdrawalCredentialsHandler as D } from "../contracts/handlers/non-restaking-withdrawal-credentials-handler.js";
|
|
28
29
|
import { c as y, h as l, a as I } from "../http-Clq2Hoy9.js";
|
|
29
|
-
class
|
|
30
|
+
class Ct {
|
|
30
31
|
walletClient;
|
|
31
32
|
publicClient;
|
|
32
33
|
// Contract Handlers
|
|
@@ -82,6 +83,8 @@ class ut {
|
|
|
82
83
|
gaugeRegistry;
|
|
83
84
|
/** Handler for the `CarrotVesting` contract. */
|
|
84
85
|
carrotVesting;
|
|
86
|
+
/** Handler for the `NonRestakingWithdrawalCredentials` contract. */
|
|
87
|
+
nonRestakingWithdrawalCredentials;
|
|
85
88
|
/**
|
|
86
89
|
* Create the Puffer Client.
|
|
87
90
|
*
|
|
@@ -127,11 +130,11 @@ class ut {
|
|
|
127
130
|
t,
|
|
128
131
|
this.walletClient,
|
|
129
132
|
this.publicClient
|
|
130
|
-
), this.pufferWithdrawalManager = new
|
|
133
|
+
), this.pufferWithdrawalManager = new h(
|
|
131
134
|
t,
|
|
132
135
|
this.walletClient,
|
|
133
136
|
this.publicClient
|
|
134
|
-
), this.nucleusBoringVault = new
|
|
137
|
+
), this.nucleusBoringVault = new m(
|
|
135
138
|
t,
|
|
136
139
|
this.walletClient,
|
|
137
140
|
this.publicClient
|
|
@@ -139,7 +142,7 @@ class ut {
|
|
|
139
142
|
t,
|
|
140
143
|
this.walletClient,
|
|
141
144
|
this.publicClient
|
|
142
|
-
), this.nucleusAccountant = new
|
|
145
|
+
), this.nucleusAccountant = new c(
|
|
143
146
|
t,
|
|
144
147
|
this.walletClient,
|
|
145
148
|
this.publicClient
|
|
@@ -147,11 +150,11 @@ class ut {
|
|
|
147
150
|
t,
|
|
148
151
|
this.walletClient,
|
|
149
152
|
this.publicClient
|
|
150
|
-
), this.mtwCarrot = new
|
|
153
|
+
), this.mtwCarrot = new g(
|
|
151
154
|
t,
|
|
152
155
|
this.walletClient,
|
|
153
156
|
this.publicClient
|
|
154
|
-
), this.carrotStaker = new
|
|
157
|
+
), this.carrotStaker = new b(
|
|
155
158
|
t,
|
|
156
159
|
this.walletClient,
|
|
157
160
|
this.publicClient
|
|
@@ -171,15 +174,15 @@ class ut {
|
|
|
171
174
|
t,
|
|
172
175
|
this.walletClient,
|
|
173
176
|
this.publicClient
|
|
174
|
-
), this.pufferProtocol = new
|
|
177
|
+
), this.pufferProtocol = new R(
|
|
175
178
|
t,
|
|
176
179
|
this.walletClient,
|
|
177
180
|
this.publicClient
|
|
178
|
-
), this.guardianModule = new
|
|
181
|
+
), this.guardianModule = new k(
|
|
179
182
|
t,
|
|
180
183
|
this.walletClient,
|
|
181
184
|
this.publicClient
|
|
182
|
-
), this.institutionalVault = new
|
|
185
|
+
), this.institutionalVault = new A(
|
|
183
186
|
t,
|
|
184
187
|
this.walletClient,
|
|
185
188
|
this.publicClient
|
|
@@ -191,15 +194,19 @@ class ut {
|
|
|
191
194
|
t,
|
|
192
195
|
this.walletClient,
|
|
193
196
|
this.publicClient
|
|
194
|
-
), this.vlPuffer = new
|
|
197
|
+
), this.vlPuffer = new W(
|
|
195
198
|
t,
|
|
196
199
|
this.walletClient,
|
|
197
200
|
this.publicClient
|
|
198
|
-
), this.gaugeRegistry = new
|
|
201
|
+
), this.gaugeRegistry = new N(
|
|
199
202
|
t,
|
|
200
203
|
this.walletClient,
|
|
201
204
|
this.publicClient
|
|
202
|
-
), this.carrotVesting = new
|
|
205
|
+
), this.carrotVesting = new T(
|
|
206
|
+
t,
|
|
207
|
+
this.walletClient,
|
|
208
|
+
this.publicClient
|
|
209
|
+
), this.nonRestakingWithdrawalCredentials = new D(
|
|
203
210
|
t,
|
|
204
211
|
this.walletClient,
|
|
205
212
|
this.publicClient
|
|
@@ -215,6 +222,6 @@ class ut {
|
|
|
215
222
|
}
|
|
216
223
|
}
|
|
217
224
|
export {
|
|
218
|
-
|
|
225
|
+
Ct as PufferClient
|
|
219
226
|
};
|
|
220
227
|
//# sourceMappingURL=puffer-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"puffer-client.js","sources":["../../lib/api/puffer-client.ts"],"sourcesContent":["import {\n PublicClient,\n WalletClient,\n createPublicClient,\n createWalletClient,\n http,\n} from 'viem';\nimport { Chain, VIEM_CHAINS } from '../chains/constants';\nimport { PufferVaultHandler } from '../contracts/handlers/puffer-vault-handler';\nimport { PufferDepositorHandler } from '../contracts/handlers/puffer-depositor-handler';\nimport { PufferL2DepositorHandler } from '../contracts/handlers/puffer-l2-depositor-handler';\nimport { ERC20PermitHandler } from '../contracts/handlers/erc20-permit-handler';\nimport { PufLockerHandler } from '../contracts/handlers/puf-locker-handler';\nimport { L2RewardManagerHandler } from '../contracts/handlers/l2-reward-manager-handler';\nimport { L1RewardManagerHandler } from '../contracts/handlers/l1-reward-manager-handler';\nimport { PufferWithdrawalManagerHandler } from '../contracts/handlers/puffer-withdrawal-manager-handler';\nimport { NucleusBoringVaultHandler } from '../contracts/handlers/nucleus-boring-vault-handler';\nimport { NucleusTellerHandler } from '../contracts/handlers/nucleus-teller-handler';\nimport { NucleusAccountantHandler } from '../contracts/handlers/nucleus-accountant-handler';\nimport { NucleusAtomicQueueHandler } from '../contracts/handlers/nucleus-atomic-queue-handler';\nimport { MtwCarrotHandler } from '../contracts/handlers/mtw-carrot-handler';\nimport { CarrotStakingHandler } from '../contracts/handlers/carrot-staking-handler';\nimport { DistributorHandler } from '../contracts/handlers/distributor-handler';\nimport { ConcreteVaultHandler } from '../contracts/handlers/concrete-vault-handler';\nimport { ValidatorTicketHandler } from '../contracts/handlers/validator-ticket-handler';\nimport { PufferOracleV2Handler } from '../contracts/handlers/puffer-oracle-v2-handler';\nimport { PufferProtocolHandler } from '../contracts/handlers/puffer-protocol-handler';\nimport { GuardianModuleHandler } from '../contracts/handlers/guardian-module-handler';\nimport { InstitutionalVaultHandler } from '../contracts/handlers/institutional-vault-handler';\nimport { InstitutionalAccessManagerHandler } from '../contracts/handlers/institutional-access-manager-handler';\nimport { LagoonVaultHandler } from '../contracts/handlers/lagoon-vault-handler';\nimport { VLPufferHandler } from '../contracts/handlers/vl-puffer-handler';\nimport { GaugeRegistryHandler } from '../contracts/handlers/gauge-registry-handler';\nimport { CarrotVestingHandler } from '../contracts/handlers/carrot-vesting-handler';\n\n/**\n * The core class and the main entry point of the Puffer SDK.\n */\nexport class PufferClient {\n private walletClient: WalletClient;\n private publicClient: PublicClient;\n\n // Contract Handlers\n /** Handler for the `ERC20Permit` contract. */\n public erc20Permit: ERC20PermitHandler;\n /** Handler for the `PufferVaultV2` contract. */\n public vault: PufferVaultHandler;\n /** Handler for the `PufferDepositor` contract. */\n public depositor: PufferDepositorHandler;\n /** Handler for the `PufferL2Depositor` contract. */\n public l2Depositor: PufferL2DepositorHandler;\n /** Handler for the `PufLocker` contract. */\n public pufLocker: PufLockerHandler;\n /** Handler for the `L2RewardManager` contract. */\n public l2RewardManager: L2RewardManagerHandler;\n /** Handler for the `L1RewardManager` contract. */\n public l1RewardManager: L1RewardManagerHandler;\n /** Handler for the `PufferWithdrawalManager` contract. */\n public pufferWithdrawalManager: PufferWithdrawalManagerHandler;\n /** Handler for the `NucleusBoringVault` contract. */\n public nucleusBoringVault: NucleusBoringVaultHandler;\n /** Handler for the `NucleusTeller` contract. */\n public nucleusTeller: NucleusTellerHandler;\n /** Handler for the `NucleusAccountant` contract. */\n public nucleusAccountant: NucleusAccountantHandler;\n /** Handler for the `NucleusAtomicQueue` contract. */\n public nucleusAtomicQueue: NucleusAtomicQueueHandler;\n /** Handler for the `mtwCARROT` (Merkl Token Wrapper) contract. */\n public mtwCarrot: MtwCarrotHandler;\n /** Handler for the `CarrotStaker` contract. */\n public carrotStaker: CarrotStakingHandler;\n /** Handler for the `Distributor` contract. */\n public distributor: DistributorHandler;\n /** Handler for the `ConcreteMultiStrategyVault` contract. */\n public concreteVault: ConcreteVaultHandler;\n /** Handler for the `ValidatorTicket` contract. */\n public validatorTicket: ValidatorTicketHandler;\n /** Handler for the `PufferOracleV2` contract. */\n public pufferOracleV2: PufferOracleV2Handler;\n /** Handler for the `PufferProtocol` contract. */\n public pufferProtocol: PufferProtocolHandler;\n /** Handler for the `GuardianModule` contract. */\n public guardianModule: GuardianModuleHandler;\n /** Handler for the `InstitutionalVault` contract. */\n public institutionalVault: InstitutionalVaultHandler;\n /** Handler for the `InstitutionalAccessManager` contract. */\n public institutionalAccessManager: InstitutionalAccessManagerHandler;\n /** Handler for the `LagoonVault` contract. */\n public lagoonVault: LagoonVaultHandler;\n /** Handler for the `vlPUFFER` contract. */\n public vlPuffer: VLPufferHandler;\n /** Handler for the `GaugeRegistry` contract. */\n public gaugeRegistry: GaugeRegistryHandler;\n /** Handler for the `CarrotVesting` contract. */\n public carrotVesting: CarrotVestingHandler;\n\n /**\n * Create the Puffer Client.\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 chain: Chain,\n walletClient?: WalletClient,\n publicClient?: PublicClient,\n ) {\n const viemChain = VIEM_CHAINS[chain];\n\n /* istanbul ignore next */\n this.walletClient =\n walletClient ??\n createWalletClient({\n chain: viemChain,\n transport: http(),\n });\n this.publicClient =\n publicClient ??\n createPublicClient({\n chain: viemChain,\n transport: http(),\n });\n\n this.erc20Permit = new ERC20PermitHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.vault = new PufferVaultHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.depositor = new PufferDepositorHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.l2Depositor = new PufferL2DepositorHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.pufLocker = new PufLockerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.l2RewardManager = new L2RewardManagerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.l1RewardManager = new L1RewardManagerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.pufferWithdrawalManager = new PufferWithdrawalManagerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.nucleusBoringVault = new NucleusBoringVaultHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.nucleusTeller = new NucleusTellerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.nucleusAccountant = new NucleusAccountantHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.nucleusAtomicQueue = new NucleusAtomicQueueHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.mtwCarrot = new MtwCarrotHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.carrotStaker = new CarrotStakingHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.distributor = new DistributorHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.concreteVault = new ConcreteVaultHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.validatorTicket = new ValidatorTicketHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.pufferOracleV2 = new PufferOracleV2Handler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.pufferProtocol = new PufferProtocolHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.guardianModule = new GuardianModuleHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.institutionalVault = new InstitutionalVaultHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.institutionalAccessManager = new InstitutionalAccessManagerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.lagoonVault = new LagoonVaultHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.vlPuffer = new VLPufferHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.gaugeRegistry = new GaugeRegistryHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.carrotVesting = new CarrotVestingHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n }\n\n /**\n * Request addresses from the wallet.\n *\n * @returns An array of wallet addresses.\n */\n public async requestAddresses() {\n return await this.walletClient.requestAddresses();\n }\n}\n"],"names":["PufferClient","chain","walletClient","publicClient","viemChain","VIEM_CHAINS","createWalletClient","http","createPublicClient","ERC20PermitHandler","PufferVaultHandler","PufferDepositorHandler","PufferL2DepositorHandler","PufLockerHandler","L2RewardManagerHandler","L1RewardManagerHandler","PufferWithdrawalManagerHandler","NucleusBoringVaultHandler","NucleusTellerHandler","NucleusAccountantHandler","NucleusAtomicQueueHandler","MtwCarrotHandler","CarrotStakingHandler","DistributorHandler","ConcreteVaultHandler","ValidatorTicketHandler","PufferOracleV2Handler","PufferProtocolHandler","GuardianModuleHandler","InstitutionalVaultHandler","InstitutionalAccessManagerHandler","LagoonVaultHandler","VLPufferHandler","GaugeRegistryHandler","CarrotVestingHandler"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"puffer-client.js","sources":["../../lib/api/puffer-client.ts"],"sourcesContent":["import {\n PublicClient,\n WalletClient,\n createPublicClient,\n createWalletClient,\n http,\n} from 'viem';\nimport { Chain, VIEM_CHAINS } from '../chains/constants';\nimport { PufferVaultHandler } from '../contracts/handlers/puffer-vault-handler';\nimport { PufferDepositorHandler } from '../contracts/handlers/puffer-depositor-handler';\nimport { PufferL2DepositorHandler } from '../contracts/handlers/puffer-l2-depositor-handler';\nimport { ERC20PermitHandler } from '../contracts/handlers/erc20-permit-handler';\nimport { PufLockerHandler } from '../contracts/handlers/puf-locker-handler';\nimport { L2RewardManagerHandler } from '../contracts/handlers/l2-reward-manager-handler';\nimport { L1RewardManagerHandler } from '../contracts/handlers/l1-reward-manager-handler';\nimport { PufferWithdrawalManagerHandler } from '../contracts/handlers/puffer-withdrawal-manager-handler';\nimport { NucleusBoringVaultHandler } from '../contracts/handlers/nucleus-boring-vault-handler';\nimport { NucleusTellerHandler } from '../contracts/handlers/nucleus-teller-handler';\nimport { NucleusAccountantHandler } from '../contracts/handlers/nucleus-accountant-handler';\nimport { NucleusAtomicQueueHandler } from '../contracts/handlers/nucleus-atomic-queue-handler';\nimport { MtwCarrotHandler } from '../contracts/handlers/mtw-carrot-handler';\nimport { CarrotStakingHandler } from '../contracts/handlers/carrot-staking-handler';\nimport { DistributorHandler } from '../contracts/handlers/distributor-handler';\nimport { ConcreteVaultHandler } from '../contracts/handlers/concrete-vault-handler';\nimport { ValidatorTicketHandler } from '../contracts/handlers/validator-ticket-handler';\nimport { PufferOracleV2Handler } from '../contracts/handlers/puffer-oracle-v2-handler';\nimport { PufferProtocolHandler } from '../contracts/handlers/puffer-protocol-handler';\nimport { GuardianModuleHandler } from '../contracts/handlers/guardian-module-handler';\nimport { InstitutionalVaultHandler } from '../contracts/handlers/institutional-vault-handler';\nimport { InstitutionalAccessManagerHandler } from '../contracts/handlers/institutional-access-manager-handler';\nimport { LagoonVaultHandler } from '../contracts/handlers/lagoon-vault-handler';\nimport { VLPufferHandler } from '../contracts/handlers/vl-puffer-handler';\nimport { GaugeRegistryHandler } from '../contracts/handlers/gauge-registry-handler';\nimport { CarrotVestingHandler } from '../contracts/handlers/carrot-vesting-handler';\nimport { NonRestakingWithdrawalCredentialsHandler } from '../contracts/handlers/non-restaking-withdrawal-credentials-handler';\n\n/**\n * The core class and the main entry point of the Puffer SDK.\n */\nexport class PufferClient {\n private walletClient: WalletClient;\n private publicClient: PublicClient;\n\n // Contract Handlers\n /** Handler for the `ERC20Permit` contract. */\n public erc20Permit: ERC20PermitHandler;\n /** Handler for the `PufferVaultV2` contract. */\n public vault: PufferVaultHandler;\n /** Handler for the `PufferDepositor` contract. */\n public depositor: PufferDepositorHandler;\n /** Handler for the `PufferL2Depositor` contract. */\n public l2Depositor: PufferL2DepositorHandler;\n /** Handler for the `PufLocker` contract. */\n public pufLocker: PufLockerHandler;\n /** Handler for the `L2RewardManager` contract. */\n public l2RewardManager: L2RewardManagerHandler;\n /** Handler for the `L1RewardManager` contract. */\n public l1RewardManager: L1RewardManagerHandler;\n /** Handler for the `PufferWithdrawalManager` contract. */\n public pufferWithdrawalManager: PufferWithdrawalManagerHandler;\n /** Handler for the `NucleusBoringVault` contract. */\n public nucleusBoringVault: NucleusBoringVaultHandler;\n /** Handler for the `NucleusTeller` contract. */\n public nucleusTeller: NucleusTellerHandler;\n /** Handler for the `NucleusAccountant` contract. */\n public nucleusAccountant: NucleusAccountantHandler;\n /** Handler for the `NucleusAtomicQueue` contract. */\n public nucleusAtomicQueue: NucleusAtomicQueueHandler;\n /** Handler for the `mtwCARROT` (Merkl Token Wrapper) contract. */\n public mtwCarrot: MtwCarrotHandler;\n /** Handler for the `CarrotStaker` contract. */\n public carrotStaker: CarrotStakingHandler;\n /** Handler for the `Distributor` contract. */\n public distributor: DistributorHandler;\n /** Handler for the `ConcreteMultiStrategyVault` contract. */\n public concreteVault: ConcreteVaultHandler;\n /** Handler for the `ValidatorTicket` contract. */\n public validatorTicket: ValidatorTicketHandler;\n /** Handler for the `PufferOracleV2` contract. */\n public pufferOracleV2: PufferOracleV2Handler;\n /** Handler for the `PufferProtocol` contract. */\n public pufferProtocol: PufferProtocolHandler;\n /** Handler for the `GuardianModule` contract. */\n public guardianModule: GuardianModuleHandler;\n /** Handler for the `InstitutionalVault` contract. */\n public institutionalVault: InstitutionalVaultHandler;\n /** Handler for the `InstitutionalAccessManager` contract. */\n public institutionalAccessManager: InstitutionalAccessManagerHandler;\n /** Handler for the `LagoonVault` contract. */\n public lagoonVault: LagoonVaultHandler;\n /** Handler for the `vlPUFFER` contract. */\n public vlPuffer: VLPufferHandler;\n /** Handler for the `GaugeRegistry` contract. */\n public gaugeRegistry: GaugeRegistryHandler;\n /** Handler for the `CarrotVesting` contract. */\n public carrotVesting: CarrotVestingHandler;\n /** Handler for the `NonRestakingWithdrawalCredentials` contract. */\n public nonRestakingWithdrawalCredentials: NonRestakingWithdrawalCredentialsHandler;\n\n /**\n * Create the Puffer Client.\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 chain: Chain,\n walletClient?: WalletClient,\n publicClient?: PublicClient,\n ) {\n const viemChain = VIEM_CHAINS[chain];\n\n /* istanbul ignore next */\n this.walletClient =\n walletClient ??\n createWalletClient({\n chain: viemChain,\n transport: http(),\n });\n this.publicClient =\n publicClient ??\n createPublicClient({\n chain: viemChain,\n transport: http(),\n });\n\n this.erc20Permit = new ERC20PermitHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.vault = new PufferVaultHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.depositor = new PufferDepositorHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.l2Depositor = new PufferL2DepositorHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.pufLocker = new PufLockerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.l2RewardManager = new L2RewardManagerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.l1RewardManager = new L1RewardManagerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.pufferWithdrawalManager = new PufferWithdrawalManagerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.nucleusBoringVault = new NucleusBoringVaultHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.nucleusTeller = new NucleusTellerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.nucleusAccountant = new NucleusAccountantHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.nucleusAtomicQueue = new NucleusAtomicQueueHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.mtwCarrot = new MtwCarrotHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.carrotStaker = new CarrotStakingHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.distributor = new DistributorHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.concreteVault = new ConcreteVaultHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.validatorTicket = new ValidatorTicketHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.pufferOracleV2 = new PufferOracleV2Handler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.pufferProtocol = new PufferProtocolHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.guardianModule = new GuardianModuleHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.institutionalVault = new InstitutionalVaultHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.institutionalAccessManager = new InstitutionalAccessManagerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.lagoonVault = new LagoonVaultHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.vlPuffer = new VLPufferHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.gaugeRegistry = new GaugeRegistryHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.carrotVesting = new CarrotVestingHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.nonRestakingWithdrawalCredentials =\n new NonRestakingWithdrawalCredentialsHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n }\n\n /**\n * Request addresses from the wallet.\n *\n * @returns An array of wallet addresses.\n */\n public async requestAddresses() {\n return await this.walletClient.requestAddresses();\n }\n}\n"],"names":["PufferClient","chain","walletClient","publicClient","viemChain","VIEM_CHAINS","createWalletClient","http","createPublicClient","ERC20PermitHandler","PufferVaultHandler","PufferDepositorHandler","PufferL2DepositorHandler","PufLockerHandler","L2RewardManagerHandler","L1RewardManagerHandler","PufferWithdrawalManagerHandler","NucleusBoringVaultHandler","NucleusTellerHandler","NucleusAccountantHandler","NucleusAtomicQueueHandler","MtwCarrotHandler","CarrotStakingHandler","DistributorHandler","ConcreteVaultHandler","ValidatorTicketHandler","PufferOracleV2Handler","PufferProtocolHandler","GuardianModuleHandler","InstitutionalVaultHandler","InstitutionalAccessManagerHandler","LagoonVaultHandler","VLPufferHandler","GaugeRegistryHandler","CarrotVestingHandler","NonRestakingWithdrawalCredentialsHandler"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../abis/mainnet/InstitutionalVault.cjs"),n=require("../../constants-Dhpa19or.cjs"),s=require("../../errors/validation-errors.cjs"),o=require("../../getContract-Cgkj3G1g.cjs");class c{constructor(t,e,a){this.walletClient=e,this.publicClient=a,this.viemChain=n.VIEM_CHAINS[t]}viemChain;address;withAddress(t){return this.address=t,this}getAddress(){return this.address}getContract(){if(!this.address)throw new s.InvalidContractAddressError("No address specified for the contract",{fixMessage:"Set the contract address in the handler by using the setAddress method"});const t=i.InstitutionalVault,e={public:this.publicClient,wallet:this.walletClient};return o.getContract({address:this.address,abi:t,client:e})}getBeaconDepositContract(){return this.getContract().read.BEACON_DEPOSIT_CONTRACT()}getNonRestakingWithdrawalCredentialsFactory(){return this.getContract().read.NON_RESTORAKING_WITHDRAWAL_CREDENTIALS_FACTORY()}getWeth(){return this.getContract().read.WETH()}getEigenDelegationManager(){return this.getContract().read.EIGEN_DELEGATION_MANAGER()}getEigenPodManager(){return this.getContract().read.EIGEN_POD_MANAGER()}getEigenPod(){return this.getContract().read.getEigenPod()}getEigenPodWithdrawalCredentials(){return this.getContract().read.getEigenPodWithdrawalCredentials()}getNoRestakingWithdrawalCredentials(){return this.getContract().read.getNoRestakingWithdrawalCredentials()}allowance(t,e){return this.getContract().read.allowance([t,e])}approve(t,e){return this.getContract().write.approve([t,e],{account:this.walletClient.account,chain:this.viemChain})}asset(){return this.getContract().read.asset()}authority(){return this.getContract().read.authority()}balanceOf(t){return this.getContract().read.balanceOf([t])}decimals(){return this.getContract().read.decimals()}completeQueuedWithdrawals(t,e){return this.getContract().write.completeQueuedWithdrawals([t,e],{account:this.walletClient.account,chain:this.viemChain})}convertToAssets(t){return this.getContract().read.convertToAssets([t])}convertToShares(t){return this.getContract().read.convertToShares([t])}deposit(t,e){return this.getContract().write.deposit([t,e],{account:this.walletClient.account,chain:this.viemChain})}depositETH(t,e){return this.getContract().write.depositETH([t],{account:this.walletClient.account,chain:this.viemChain,value:e})}getNonRestakedValidatorETH(){return this.getContract().read.getNonRestakedValidatorETH()}getRestakedValidatorETH(){return this.getContract().read.getRestakedValidatorETH()}getWithdrawalCredentials(){return this.getContract().read.getWithdrawalCredentials()}maxDeposit(t){return this.getContract().read.maxDeposit([t])}maxMint(t){return this.getContract().read.maxMint([t])}maxRedeem(t){return this.getContract().read.maxRedeem([t])}maxWithdraw(t){return this.getContract().read.maxWithdraw([t])}mint(t,e){return this.getContract().write.mint([t,e],{account:this.walletClient.account,chain:this.viemChain})}name(){return this.getContract().read.name()}previewDeposit(t){return this.getContract().read.previewDeposit([t])}previewMint(t){return this.getContract().read.previewMint([t])}previewRedeem(t){return this.getContract().read.previewRedeem([t])}previewWithdraw(t){return this.getContract().read.previewWithdraw([t])}queueWithdrawals(t){return this.getContract().write.queueWithdrawals([t],{account:this.walletClient.account,chain:this.viemChain})}requestWithdrawal(t,e){return this.getContract().write.requestWithdrawal([t],{account:this.walletClient.account,chain:this.viemChain,value:e})}redeem(t,e,a){return this.getContract().write.redeem([t,e,a],{account:this.walletClient.account,chain:this.viemChain})}setValidatorsETH(t,e){return this.getContract().write.setValidatorsETH([t,e],{account:this.walletClient.account,chain:this.viemChain})}startNonRestakingValidators(t,e,a,r){return this.getContract().write.startNonRestakingValidators([t,e,a,r],{account:this.walletClient.account,chain:this.viemChain})}startRestakingValidators(t,e,a,r){return this.getContract().write.startRestakingValidators([t,e,a,r],{account:this.walletClient.account,chain:this.viemChain})}withdraw(t,e,a){return this.getContract().write.withdraw([t,e,a],{account:this.walletClient.account,chain:this.viemChain})}symbol(){return this.getContract().read.symbol()}totalAssets(){return this.getContract().read.totalAssets()}totalSupply(){return this.getContract().read.totalSupply()}transfer(t,e){return this.getContract().write.transfer([t,e],{account:this.walletClient.account,chain:this.viemChain})}transferFrom(t,e,a){return this.getContract().write.transferFrom([t,e,a],{account:this.walletClient.account,chain:this.viemChain})}customExternalCall(t,e,a){return this.getContract().write.customExternalCall([t,e,a],{account:this.walletClient.account,chain:this.viemChain})}requestEigenPodConsolidation(t,e,a){return this.getContract().write.requestEigenPodConsolidation([t,e],{account:this.walletClient.account,chain:this.viemChain,value:a})}withdrawNonRestakedETH(){return this.getContract().write.withdrawNonRestakedETH({account:this.walletClient.account,chain:this.viemChain})}}exports.InstitutionalVaultHandler=c;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../abis/mainnet/InstitutionalVault.cjs"),n=require("../../constants-Dhpa19or.cjs"),s=require("../../errors/validation-errors.cjs"),o=require("../../getContract-Cgkj3G1g.cjs");class c{constructor(t,e,a){this.walletClient=e,this.publicClient=a,this.viemChain=n.VIEM_CHAINS[t]}viemChain;address;withAddress(t){return this.address=t,this}getAddress(){return this.address}getContract(){if(!this.address)throw new s.InvalidContractAddressError("No address specified for the contract",{fixMessage:"Set the contract address in the handler by using the setAddress method"});const t=i.InstitutionalVault,e={public:this.publicClient,wallet:this.walletClient};return o.getContract({address:this.address,abi:t,client:e})}getBeaconDepositContract(){return this.getContract().read.BEACON_DEPOSIT_CONTRACT()}getNonRestakingWithdrawalCredentialsFactory(){return this.getContract().read.NON_RESTORAKING_WITHDRAWAL_CREDENTIALS_FACTORY()}getWeth(){return this.getContract().read.WETH()}getEigenDelegationManager(){return this.getContract().read.EIGEN_DELEGATION_MANAGER()}getEigenPodManager(){return this.getContract().read.EIGEN_POD_MANAGER()}getEigenPod(){return this.getContract().read.getEigenPod()}getEigenPodWithdrawalCredentials(){return this.getContract().read.getEigenPodWithdrawalCredentials()}getNoRestakingWithdrawalCredentials(){return this.getContract().read.getNoRestakingWithdrawalCredentials()}allowance(t,e){return this.getContract().read.allowance([t,e])}approve(t,e){return this.getContract().write.approve([t,e],{account:this.walletClient.account,chain:this.viemChain})}asset(){return this.getContract().read.asset()}authority(){return this.getContract().read.authority()}balanceOf(t){return this.getContract().read.balanceOf([t])}decimals(){return this.getContract().read.decimals()}completeQueuedWithdrawals(t,e){return this.getContract().write.completeQueuedWithdrawals([t,e],{account:this.walletClient.account,chain:this.viemChain})}convertToAssets(t){return this.getContract().read.convertToAssets([t])}convertToShares(t){return this.getContract().read.convertToShares([t])}deposit(t,e){return this.getContract().write.deposit([t,e],{account:this.walletClient.account,chain:this.viemChain})}depositETH(t,e){return this.getContract().write.depositETH([t],{account:this.walletClient.account,chain:this.viemChain,value:e})}getNonRestakedValidatorETH(){return this.getContract().read.getNonRestakedValidatorETH()}getRestakedValidatorETH(){return this.getContract().read.getRestakedValidatorETH()}getWithdrawalCredentials(){return this.getContract().read.getWithdrawalCredentials()}maxDeposit(t){return this.getContract().read.maxDeposit([t])}maxMint(t){return this.getContract().read.maxMint([t])}maxRedeem(t){return this.getContract().read.maxRedeem([t])}maxWithdraw(t){return this.getContract().read.maxWithdraw([t])}mint(t,e){return this.getContract().write.mint([t,e],{account:this.walletClient.account,chain:this.viemChain})}name(){return this.getContract().read.name()}previewDeposit(t){return this.getContract().read.previewDeposit([t])}previewMint(t){return this.getContract().read.previewMint([t])}previewRedeem(t){return this.getContract().read.previewRedeem([t])}previewWithdraw(t){return this.getContract().read.previewWithdraw([t])}queueWithdrawals(t){return this.getContract().write.queueWithdrawals([t],{account:this.walletClient.account,chain:this.viemChain})}requestWithdrawal(t,e){return this.getContract().write.requestWithdrawal([t],{account:this.walletClient.account,chain:this.viemChain,value:e})}redeem(t,e,a){return this.getContract().write.redeem([t,e,a],{account:this.walletClient.account,chain:this.viemChain})}setValidatorsETH(t,e){return this.getContract().write.setValidatorsETH([t,e],{account:this.walletClient.account,chain:this.viemChain})}startNonRestakingValidators(t,e,a,r){return this.getContract().write.startNonRestakingValidators([t,e,a,r],{account:this.walletClient.account,chain:this.viemChain})}startRestakingValidators(t,e,a,r){return this.getContract().write.startRestakingValidators([t,e,a,r],{account:this.walletClient.account,chain:this.viemChain})}withdraw(t,e,a){return this.getContract().write.withdraw([t,e,a],{account:this.walletClient.account,chain:this.viemChain})}symbol(){return this.getContract().read.symbol()}totalAssets(){return this.getContract().read.totalAssets()}totalSupply(){return this.getContract().read.totalSupply()}transfer(t,e){return this.getContract().write.transfer([t,e],{account:this.walletClient.account,chain:this.viemChain})}transferFrom(t,e,a){return this.getContract().write.transferFrom([t,e,a],{account:this.walletClient.account,chain:this.viemChain})}customExternalCall(t,e,a){return this.getContract().write.customExternalCall([t,e,a],{account:this.walletClient.account,chain:this.viemChain,value:a})}requestEigenPodConsolidation(t,e,a){return this.getContract().write.requestEigenPodConsolidation([t,e],{account:this.walletClient.account,chain:this.viemChain,value:a})}withdrawNonRestakedETH(){return this.getContract().write.withdrawNonRestakedETH({account:this.walletClient.account,chain:this.viemChain})}}exports.InstitutionalVaultHandler=c;
|
|
2
2
|
//# sourceMappingURL=institutional-vault-handler.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"institutional-vault-handler.cjs","sources":["../../../lib/contracts/handlers/institutional-vault-handler.ts"],"sourcesContent":["import {\n Chain as ViemChain,\n WalletClient,\n PublicClient,\n getContract,\n GetContractReturnType,\n Address,\n Hex,\n} from 'viem';\nimport { InstitutionalVault } from '../abis/mainnet/InstitutionalVault';\nimport { Chain, VIEM_CHAINS } from '../../chains/constants';\nimport { InvalidContractAddressError } from '../../errors/validation-errors';\n\nexport type QueuedWithdrawal = {\n staker: Address;\n delegatedTo: Address;\n withdrawer: Address;\n nonce: bigint;\n startBlock: number;\n strategies: Address[];\n scaledShares: bigint[];\n};\n\nexport type WithdrawalRequest = {\n pubkey: Hex;\n amountGwei: bigint;\n};\n\n/**\n * Handler for the `InstitutionalVault` contract exposing methods to\n * interact with the contract.\n */\nexport class InstitutionalVaultHandler {\n private viemChain: ViemChain;\n private address?: Address;\n\n /**\n * Create the handler for the `InstitutionalVault` 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 chain: Chain,\n private walletClient: WalletClient,\n private publicClient: PublicClient,\n ) {\n this.viemChain = VIEM_CHAINS[chain];\n }\n\n /**\n * Set the address of the contract for this handler.\n *\n * @param address The address of the contract.\n * @returns The handler.\n */\n public withAddress(address: Address) {\n this.address = address;\n\n return this;\n }\n\n /**\n * Get the address of the contract for this handler.\n *\n * @returns The address of the contract.\n */\n public getAddress() {\n return this.address;\n }\n\n /**\n * Get the contract. This is a method because the typings are complex\n * and lost when trying to make it a member.\n *\n * @returns The viem contract.\n */\n public getContract() {\n if (!this.address) {\n throw new InvalidContractAddressError(\n `No address specified for the contract`,\n {\n fixMessage: `Set the contract address in the handler by using the setAddress method`,\n },\n );\n }\n\n const abi = InstitutionalVault;\n const client = { public: this.publicClient, wallet: this.walletClient };\n\n return getContract({\n address: this.address,\n abi,\n client,\n }) as GetContractReturnType<typeof abi, typeof client, Address>;\n }\n\n /**\n * Get the beacon deposit contract address.\n *\n * @returns The beacon deposit contract address.\n */\n public getBeaconDepositContract() {\n return this.getContract().read.BEACON_DEPOSIT_CONTRACT();\n }\n\n /**\n * Get the non-restaking withdrawal credentials factory address.\n *\n * @returns The non-restaking withdrawal credentials factory address.\n */\n public getNonRestakingWithdrawalCredentialsFactory() {\n return this.getContract().read.NON_RESTORAKING_WITHDRAWAL_CREDENTIALS_FACTORY();\n }\n\n /**\n * Get the WETH contract address.\n *\n * @returns The WETH contract address.\n */\n public getWeth() {\n return this.getContract().read.WETH();\n }\n\n /**\n * Get the eigen delegation manager contract address.\n *\n * @returns The eigen delegation manager.\n */\n public getEigenDelegationManager() {\n return this.getContract().read.EIGEN_DELEGATION_MANAGER();\n }\n\n /**\n * Get the eigen pod manager contract address.\n *\n * @returns The eigen pod manager contract address.\n */\n public getEigenPodManager() {\n return this.getContract().read.EIGEN_POD_MANAGER();\n }\n\n /**\n * Get the eigen pod address.\n *\n * @returns The eigen pod address.\n */\n public getEigenPod() {\n return this.getContract().read.getEigenPod();\n }\n\n /**\n * Get the eigen pod withdrawal credentials.\n *\n * @returns The eigen pod withdrawal credentials as bytes.\n */\n public getEigenPodWithdrawalCredentials() {\n return this.getContract().read.getEigenPodWithdrawalCredentials();\n }\n\n /**\n * Get the no-restaking withdrawal credentials address.\n *\n * @returns The no-restaking withdrawal credentials address.\n */\n public getNoRestakingWithdrawalCredentials() {\n return this.getContract().read.getNoRestakingWithdrawalCredentials();\n }\n\n /**\n * Get the allowance for the spender to spend the owner's tokens.\n *\n * @param owner The owner of the tokens.\n * @param spender The spender of the tokens.\n * @returns The allowance of the owner for the spender.\n */\n public allowance(owner: Address, spender: Address) {\n return this.getContract().read.allowance([owner, spender]);\n }\n\n /**\n * Approve the spender to spend the owner's tokens.\n *\n * @param spender The spender of the tokens.\n * @param amount The amount of tokens to approve.\n */\n public approve(spender: Address, amount: bigint) {\n return this.getContract().write.approve([spender, amount], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Get the asset of the vault.\n *\n * @returns The asset of the vault.\n */\n public asset() {\n return this.getContract().read.asset();\n }\n\n /**\n * Get the authority of the vault.\n *\n * @returns The authority of the vault.\n */\n public authority() {\n return this.getContract().read.authority();\n }\n\n /**\n * Get the balance of the address.\n *\n * @param address The address to get the balance of.\n * @returns The balance of the address.\n */\n public balanceOf(address: Address) {\n return this.getContract().read.balanceOf([address]);\n }\n\n /**\n * Get the number of decimals of the token.\n *\n * @returns The number of decimals of the token.\n */\n public decimals() {\n return this.getContract().read.decimals();\n }\n\n /**\n * Complete the queued withdrawals.\n *\n * @param withdrawals The withdrawals to complete.\n * @param receiveAsTokens Whether to receive the assets as tokens.\n */\n public completeQueuedWithdrawals(\n withdrawals: QueuedWithdrawal[],\n receiveAsTokens: boolean[],\n ) {\n return this.getContract().write.completeQueuedWithdrawals(\n [withdrawals, receiveAsTokens],\n {\n account: this.walletClient.account!,\n chain: this.viemChain,\n },\n );\n }\n\n /**\n * Convert shares to assets.\n *\n * @param shares The number of shares to convert.\n * @returns The number of assets.\n */\n public convertToAssets(shares: bigint) {\n return this.getContract().read.convertToAssets([shares]);\n }\n\n /**\n * Convert assets to shares.\n *\n * @param assets The number of assets to convert.\n * @returns The number of shares.\n */\n public convertToShares(assets: bigint) {\n return this.getContract().read.convertToShares([assets]);\n }\n\n /**\n * Deposit assets into the vault.\n *\n * @param assets The number of assets to deposit.\n * @param receiver The address to receive the shares.\n */\n public deposit(assets: bigint, receiver: Address) {\n return this.getContract().write.deposit([assets, receiver], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Deposit ETH into the vault.\n *\n * @param receiver The address to receive the shares.\n * @param value The amount of ETH to deposit.\n */\n public depositETH(receiver: Address, value: bigint) {\n return this.getContract().write.depositETH([receiver], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n value,\n });\n }\n\n /**\n * Get the non-restaked validator ETH.\n *\n * @returns The non-restaked validator ETH.\n */\n public getNonRestakedValidatorETH() {\n return this.getContract().read.getNonRestakedValidatorETH();\n }\n\n /**\n * Get the restaked validator ETH.\n *\n * @returns The restaked validator ETH.\n */\n public getRestakedValidatorETH() {\n return this.getContract().read.getRestakedValidatorETH();\n }\n\n /**\n * Get the withdrawal credentials.\n *\n * @returns The withdrawal credentials.\n */\n public getWithdrawalCredentials() {\n return this.getContract().read.getWithdrawalCredentials();\n }\n\n /**\n * Get the maximum deposit amount for the address.\n *\n * @param address The address to get the maximum deposit amount for.\n * @returns The maximum deposit amount for the address.\n */\n public maxDeposit(address: Address) {\n return this.getContract().read.maxDeposit([address]);\n }\n\n /**\n * Get the maximum mint amount for the address.\n *\n * @param address The address to get the maximum mint amount for.\n * @returns The maximum mint amount for the address.\n */\n public maxMint(address: Address) {\n return this.getContract().read.maxMint([address]);\n }\n\n /**\n * Get the maximum redeem amount for the address.\n *\n * @param address The address to get the maximum redeem amount for.\n * @returns The maximum redeem amount for the address.\n */\n public maxRedeem(address: Address) {\n return this.getContract().read.maxRedeem([address]);\n }\n\n /**\n * Get the maximum withdraw amount for the address.\n *\n * @param address The address to get the maximum withdraw amount for.\n * @returns The maximum withdraw amount for the address.\n */\n public maxWithdraw(address: Address) {\n return this.getContract().read.maxWithdraw([address]);\n }\n\n /**\n * Mint shares to the receiver.\n *\n * @param shares The number of shares to mint.\n * @param receiver The address to receive the shares.\n */\n public mint(shares: bigint, receiver: Address) {\n return this.getContract().write.mint([shares, receiver], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Get the name of the contract.\n *\n * @returns The name of the contract.\n */\n public name() {\n return this.getContract().read.name();\n }\n\n /**\n * Preview the deposit amount for the assets.\n *\n * @param assets The number of assets to deposit.\n * @returns The number of shares to receive.\n */\n public previewDeposit(assets: bigint) {\n return this.getContract().read.previewDeposit([assets]);\n }\n\n /**\n * Preview the mint amount for the shares.\n *\n * @param shares The number of shares to mint.\n * @returns The number of assets to receive.\n */\n public previewMint(shares: bigint) {\n return this.getContract().read.previewMint([shares]);\n }\n\n /**\n * Preview the redeem amount for the shares.\n *\n * @param shares The number of shares to redeem.\n * @returns The number of assets to receive.\n */\n public previewRedeem(shares: bigint) {\n return this.getContract().read.previewRedeem([shares]);\n }\n\n /**\n * Preview the withdraw amount for the shares.\n *\n * @param shares The number of shares to withdraw.\n * @returns The number of assets to receive.\n */\n public previewWithdraw(shares: bigint) {\n return this.getContract().read.previewWithdraw([shares]);\n }\n\n /**\n * Queue the withdrawals.\n *\n * @param shares The number of shares to withdraw.\n */\n public queueWithdrawals(shares: bigint) {\n return this.getContract().write.queueWithdrawals([shares], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Request withdrawal from the EigenPod.\n *\n * @param requests The withdrawal requests containing pubkey and amountGwei.\n * @param value The amount of ETH to send with the transaction.\n */\n public requestWithdrawal(requests: WithdrawalRequest[], value: bigint) {\n return this.getContract().write.requestWithdrawal([requests], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n value,\n });\n }\n\n /**\n * Redeem the shares to the receiver.\n *\n * @param shares The number of shares to redeem.\n * @param receiver The address to receive the assets.\n * @param owner The owner of the shares.\n */\n public redeem(shares: bigint, receiver: Address, owner: Address) {\n return this.getContract().write.redeem([shares, receiver, owner], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Set the validators ETH.\n *\n * @param restakedValidatorsETH The amount of restaked validator ETH.\n * @param nonRestakedValidatorsETH The amount of non-restaked validator ETH.\n */\n public setValidatorsETH(\n restakedValidatorsETH: bigint,\n nonRestakedValidatorsETH: bigint,\n ) {\n return this.getContract().write.setValidatorsETH(\n [restakedValidatorsETH, nonRestakedValidatorsETH],\n {\n account: this.walletClient.account!,\n chain: this.viemChain,\n },\n );\n }\n\n /**\n * Start the non-restaking validators.\n *\n * @param pubKeys The public keys of the validators.\n * @param signatures The signatures of the validators.\n * @param amountsInGwei The amounts of the validators.\n * @param depositDataRoots The deposit data roots of the validators.\n */\n public startNonRestakingValidators(\n pubKeys: Address[],\n signatures: Address[],\n amountsInGwei: bigint[],\n depositDataRoots: Address[],\n ) {\n return this.getContract().write.startNonRestakingValidators(\n [pubKeys, signatures, amountsInGwei, depositDataRoots],\n {\n account: this.walletClient.account!,\n chain: this.viemChain,\n },\n );\n }\n\n /**\n * Start the restaking validators.\n *\n * @param pubKeys The public keys of the validators.\n * @param signatures The signatures of the validators.\n * @param amountsInGwei The amounts of the validators.\n * @param depositDataRoots The deposit data roots of the validators.\n */\n public startRestakingValidators(\n pubKeys: Address[],\n signatures: Address[],\n amountsInGwei: bigint[],\n depositDataRoots: Address[],\n ) {\n return this.getContract().write.startRestakingValidators(\n [pubKeys, signatures, amountsInGwei, depositDataRoots],\n {\n account: this.walletClient.account!,\n chain: this.viemChain,\n },\n );\n }\n\n /**\n * Withdraw the assets to the receiver.\n *\n * @param assets The number of assets to withdraw.\n * @param receiver The address to receive the assets.\n * @param owner The owner of the assets.\n */\n public withdraw(assets: bigint, receiver: Address, owner: Address) {\n return this.getContract().write.withdraw([assets, receiver, owner], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Get the symbol of the contract.\n *\n * @returns The symbol of the contract.\n */\n public symbol() {\n return this.getContract().read.symbol();\n }\n\n /**\n * Get the total assets of the vault.\n *\n * @returns The total assets of the vault.\n */\n public totalAssets() {\n return this.getContract().read.totalAssets();\n }\n\n /**\n * Get the total supply of the vault.\n *\n * @returns The total supply of the vault.\n */\n public totalSupply() {\n return this.getContract().read.totalSupply();\n }\n\n /**\n * Transfer the value to the to address.\n *\n * @param to The address to transfer the value to.\n * @param value The amount of value to transfer.\n */\n public transfer(to: Address, value: bigint) {\n return this.getContract().write.transfer([to, value], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Transfer the value from the from address to the to address.\n *\n * @param from The address to transfer the value from.\n * @param to The address to transfer the value to.\n * @param value The amount of value to transfer.\n */\n public transferFrom(from: Address, to: Address, value: bigint) {\n return this.getContract().write.transferFrom([from, to, value], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Call a custom external function.\n *\n * @param target The target contract address.\n * @param data The calldata to send a transaction to the target contract.\n * @param value The amount of value to send to the target contract.\n */\n public customExternalCall(target: Address, data: Hex, value: bigint) {\n return this.getContract().write.customExternalCall([target, data, value], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Request EigenPod consolidation.\n *\n * @param srcPubkeys The source public keys.\n * @param targetPubkeys The target public keys.\n * @param value The amount to send to the target contract (small quantity of GWei)\n */\n public requestEigenPodConsolidation(\n srcPubkeys: Address[],\n targetPubkeys: Address[],\n value: bigint,\n ) {\n return this.getContract().write.requestEigenPodConsolidation(\n [srcPubkeys, targetPubkeys],\n {\n account: this.walletClient.account!,\n chain: this.viemChain,\n value,\n },\n );\n }\n\n /**\n * Withdraw non-restaked ETH from the vault.\n */\n public withdrawNonRestakedETH() {\n return this.getContract().write.withdrawNonRestakedETH({\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n}\n"],"names":["InstitutionalVaultHandler","chain","walletClient","publicClient","VIEM_CHAINS","address","InvalidContractAddressError","abi","InstitutionalVault","client","getContract","owner","spender","amount","withdrawals","receiveAsTokens","shares","assets","receiver","value","requests","restakedValidatorsETH","nonRestakedValidatorsETH","pubKeys","signatures","amountsInGwei","depositDataRoots","to","from","target","data","srcPubkeys","targetPubkeys"],"mappings":"gRAgCO,MAAMA,CAA0B,CAcrC,YACEC,EACQC,EACAC,EACR,CAFQ,KAAA,aAAAD,EACA,KAAA,aAAAC,EAER,KAAK,UAAYC,EAAAA,YAAYH,CAAK,CACpC,CAnBQ,UACA,QA0BD,YAAYI,EAAkB,CACnC,YAAK,QAAUA,EAER,IACT,CAOO,YAAa,CAClB,OAAO,KAAK,OACd,CAQO,aAAc,CACnB,GAAI,CAAC,KAAK,QACR,MAAM,IAAIC,EAAAA,4BACR,wCACA,CACE,WAAY,wEAAA,CACd,EAIJ,MAAMC,EAAMC,EAAAA,mBACNC,EAAS,CAAE,OAAQ,KAAK,aAAc,OAAQ,KAAK,YAAA,EAEzD,OAAOC,cAAY,CACjB,QAAS,KAAK,QACd,IAAAH,EACA,OAAAE,CAAA,CACD,CACH,CAOO,0BAA2B,CAChC,OAAO,KAAK,cAAc,KAAK,wBAAA,CACjC,CAOO,6CAA8C,CACnD,OAAO,KAAK,cAAc,KAAK,+CAAA,CACjC,CAOO,SAAU,CACf,OAAO,KAAK,cAAc,KAAK,KAAA,CACjC,CAOO,2BAA4B,CACjC,OAAO,KAAK,cAAc,KAAK,yBAAA,CACjC,CAOO,oBAAqB,CAC1B,OAAO,KAAK,cAAc,KAAK,kBAAA,CACjC,CAOO,aAAc,CACnB,OAAO,KAAK,cAAc,KAAK,YAAA,CACjC,CAOO,kCAAmC,CACxC,OAAO,KAAK,cAAc,KAAK,iCAAA,CACjC,CAOO,qCAAsC,CAC3C,OAAO,KAAK,cAAc,KAAK,oCAAA,CACjC,CASO,UAAUE,EAAgBC,EAAkB,CACjD,OAAO,KAAK,cAAc,KAAK,UAAU,CAACD,EAAOC,CAAO,CAAC,CAC3D,CAQO,QAAQA,EAAkBC,EAAgB,CAC/C,OAAO,KAAK,cAAc,MAAM,QAAQ,CAACD,EAASC,CAAM,EAAG,CACzD,QAAS,KAAK,aAAa,QAC3B,MAAO,KAAK,SAAA,CACb,CACH,CAOO,OAAQ,CACb,OAAO,KAAK,cAAc,KAAK,MAAA,CACjC,CAOO,WAAY,CACjB,OAAO,KAAK,cAAc,KAAK,UAAA,CACjC,CAQO,UAAUR,EAAkB,CACjC,OAAO,KAAK,YAAA,EAAc,KAAK,UAAU,CAACA,CAAO,CAAC,CACpD,CAOO,UAAW,CAChB,OAAO,KAAK,cAAc,KAAK,SAAA,CACjC,CAQO,0BACLS,EACAC,EACA,CACA,OAAO,KAAK,cAAc,MAAM,0BAC9B,CAACD,EAAaC,CAAe,EAC7B,CACE,QAAS,KAAK,aAAa,QAC3B,MAAO,KAAK,SAAA,CACd,CAEJ,CAQO,gBAAgBC,EAAgB,CACrC,OAAO,KAAK,YAAA,EAAc,KAAK,gBAAgB,CAACA,CAAM,CAAC,CACzD,CAQO,gBAAgBC,EAAgB,CACrC,OAAO,KAAK,YAAA,EAAc,KAAK,gBAAgB,CAACA,CAAM,CAAC,CACzD,CAQO,QAAQA,EAAgBC,EAAmB,CAChD,OAAO,KAAK,cAAc,MAAM,QAAQ,CAACD,EAAQC,CAAQ,EAAG,CAC1D,QAAS,KAAK,aAAa,QAC3B,MAAO,KAAK,SAAA,CACb,CACH,CAQO,WAAWA,EAAmBC,EAAe,CAClD,OAAO,KAAK,YAAA,EAAc,MAAM,WAAW,CAACD,CAAQ,EAAG,CACrD,QAAS,KAAK,aAAa,QAC3B,MAAO,KAAK,UACZ,MAAAC,CAAA,CACD,CACH,CAOO,4BAA6B,CAClC,OAAO,KAAK,cAAc,KAAK,2BAAA,CACjC,CAOO,yBAA0B,CAC/B,OAAO,KAAK,cAAc,KAAK,wBAAA,CACjC,CAOO,0BAA2B,CAChC,OAAO,KAAK,cAAc,KAAK,yBAAA,CACjC,CAQO,WAAWd,EAAkB,CAClC,OAAO,KAAK,YAAA,EAAc,KAAK,WAAW,CAACA,CAAO,CAAC,CACrD,CAQO,QAAQA,EAAkB,CAC/B,OAAO,KAAK,YAAA,EAAc,KAAK,QAAQ,CAACA,CAAO,CAAC,CAClD,CAQO,UAAUA,EAAkB,CACjC,OAAO,KAAK,YAAA,EAAc,KAAK,UAAU,CAACA,CAAO,CAAC,CACpD,CAQO,YAAYA,EAAkB,CACnC,OAAO,KAAK,YAAA,EAAc,KAAK,YAAY,CAACA,CAAO,CAAC,CACtD,CAQO,KAAKW,EAAgBE,EAAmB,CAC7C,OAAO,KAAK,cAAc,MAAM,KAAK,CAACF,EAAQE,CAAQ,EAAG,CACvD,QAAS,KAAK,aAAa,QAC3B,MAAO,KAAK,SAAA,CACb,CACH,CAOO,MAAO,CACZ,OAAO,KAAK,cAAc,KAAK,KAAA,CACjC,CAQO,eAAeD,EAAgB,CACpC,OAAO,KAAK,YAAA,EAAc,KAAK,eAAe,CAACA,CAAM,CAAC,CACxD,CAQO,YAAYD,EAAgB,CACjC,OAAO,KAAK,YAAA,EAAc,KAAK,YAAY,CAACA,CAAM,CAAC,CACrD,CAQO,cAAcA,EAAgB,CACnC,OAAO,KAAK,YAAA,EAAc,KAAK,cAAc,CAACA,CAAM,CAAC,CACvD,CAQO,gBAAgBA,EAAgB,CACrC,OAAO,KAAK,YAAA,EAAc,KAAK,gBAAgB,CAACA,CAAM,CAAC,CACzD,CAOO,iBAAiBA,EAAgB,CACtC,OAAO,KAAK,YAAA,EAAc,MAAM,iBAAiB,CAACA,CAAM,EAAG,CACzD,QAAS,KAAK,aAAa,QAC3B,MAAO,KAAK,SAAA,CACb,CACH,CAQO,kBAAkBI,EAA+BD,EAAe,CACrE,OAAO,KAAK,YAAA,EAAc,MAAM,kBAAkB,CAACC,CAAQ,EAAG,CAC5D,QAAS,KAAK,aAAa,QAC3B,MAAO,KAAK,UACZ,MAAAD,CAAA,CACD,CACH,CASO,OAAOH,EAAgBE,EAAmBP,EAAgB,CAC/D,OAAO,KAAK,cAAc,MAAM,OAAO,CAACK,EAAQE,EAAUP,CAAK,EAAG,CAChE,QAAS,KAAK,aAAa,QAC3B,MAAO,KAAK,SAAA,CACb,CACH,CAQO,iBACLU,EACAC,EACA,CACA,OAAO,KAAK,cAAc,MAAM,iBAC9B,CAACD,EAAuBC,CAAwB,EAChD,CACE,QAAS,KAAK,aAAa,QAC3B,MAAO,KAAK,SAAA,CACd,CAEJ,CAUO,4BACLC,EACAC,EACAC,EACAC,EACA,CACA,OAAO,KAAK,cAAc,MAAM,4BAC9B,CAACH,EAASC,EAAYC,EAAeC,CAAgB,EACrD,CACE,QAAS,KAAK,aAAa,QAC3B,MAAO,KAAK,SAAA,CACd,CAEJ,CAUO,yBACLH,EACAC,EACAC,EACAC,EACA,CACA,OAAO,KAAK,cAAc,MAAM,yBAC9B,CAACH,EAASC,EAAYC,EAAeC,CAAgB,EACrD,CACE,QAAS,KAAK,aAAa,QAC3B,MAAO,KAAK,SAAA,CACd,CAEJ,CASO,SAAST,EAAgBC,EAAmBP,EAAgB,CACjE,OAAO,KAAK,cAAc,MAAM,SAAS,CAACM,EAAQC,EAAUP,CAAK,EAAG,CAClE,QAAS,KAAK,aAAa,QAC3B,MAAO,KAAK,SAAA,CACb,CACH,CAOO,QAAS,CACd,OAAO,KAAK,cAAc,KAAK,OAAA,CACjC,CAOO,aAAc,CACnB,OAAO,KAAK,cAAc,KAAK,YAAA,CACjC,CAOO,aAAc,CACnB,OAAO,KAAK,cAAc,KAAK,YAAA,CACjC,CAQO,SAASgB,EAAaR,EAAe,CAC1C,OAAO,KAAK,cAAc,MAAM,SAAS,CAACQ,EAAIR,CAAK,EAAG,CACpD,QAAS,KAAK,aAAa,QAC3B,MAAO,KAAK,SAAA,CACb,CACH,CASO,aAAaS,EAAeD,EAAaR,EAAe,CAC7D,OAAO,KAAK,cAAc,MAAM,aAAa,CAACS,EAAMD,EAAIR,CAAK,EAAG,CAC9D,QAAS,KAAK,aAAa,QAC3B,MAAO,KAAK,SAAA,CACb,CACH,CASO,mBAAmBU,EAAiBC,EAAWX,EAAe,CACnE,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAACU,EAAQC,EAAMX,CAAK,EAAG,CACxE,QAAS,KAAK,aAAa,QAC3B,MAAO,KAAK,SAAA,CACb,CACH,CASO,6BACLY,EACAC,EACAb,EACA,CACA,OAAO,KAAK,cAAc,MAAM,6BAC9B,CAACY,EAAYC,CAAa,EAC1B,CACE,QAAS,KAAK,aAAa,QAC3B,MAAO,KAAK,UACZ,MAAAb,CAAA,CACF,CAEJ,CAKO,wBAAyB,CAC9B,OAAO,KAAK,cAAc,MAAM,uBAAuB,CACrD,QAAS,KAAK,aAAa,QAC3B,MAAO,KAAK,SAAA,CACb,CACH,CACF"}
|
|
1
|
+
{"version":3,"file":"institutional-vault-handler.cjs","sources":["../../../lib/contracts/handlers/institutional-vault-handler.ts"],"sourcesContent":["import {\n Chain as ViemChain,\n WalletClient,\n PublicClient,\n getContract,\n GetContractReturnType,\n Address,\n Hex,\n} from 'viem';\nimport { InstitutionalVault } from '../abis/mainnet/InstitutionalVault';\nimport { Chain, VIEM_CHAINS } from '../../chains/constants';\nimport { InvalidContractAddressError } from '../../errors/validation-errors';\n\nexport type QueuedWithdrawal = {\n staker: Address;\n delegatedTo: Address;\n withdrawer: Address;\n nonce: bigint;\n startBlock: number;\n strategies: Address[];\n scaledShares: bigint[];\n};\n\nexport type WithdrawalRequest = {\n pubkey: Hex;\n amountGwei: bigint;\n};\n\n/**\n * Handler for the `InstitutionalVault` contract exposing methods to\n * interact with the contract.\n */\nexport class InstitutionalVaultHandler {\n private viemChain: ViemChain;\n private address?: Address;\n\n /**\n * Create the handler for the `InstitutionalVault` 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 chain: Chain,\n private walletClient: WalletClient,\n private publicClient: PublicClient,\n ) {\n this.viemChain = VIEM_CHAINS[chain];\n }\n\n /**\n * Set the address of the contract for this handler.\n *\n * @param address The address of the contract.\n * @returns The handler.\n */\n public withAddress(address: Address) {\n this.address = address;\n\n return this;\n }\n\n /**\n * Get the address of the contract for this handler.\n *\n * @returns The address of the contract.\n */\n public getAddress() {\n return this.address;\n }\n\n /**\n * Get the contract. This is a method because the typings are complex\n * and lost when trying to make it a member.\n *\n * @returns The viem contract.\n */\n public getContract() {\n if (!this.address) {\n throw new InvalidContractAddressError(\n `No address specified for the contract`,\n {\n fixMessage: `Set the contract address in the handler by using the setAddress method`,\n },\n );\n }\n\n const abi = InstitutionalVault;\n const client = { public: this.publicClient, wallet: this.walletClient };\n\n return getContract({\n address: this.address,\n abi,\n client,\n }) as GetContractReturnType<typeof abi, typeof client, Address>;\n }\n\n /**\n * Get the beacon deposit contract address.\n *\n * @returns The beacon deposit contract address.\n */\n public getBeaconDepositContract() {\n return this.getContract().read.BEACON_DEPOSIT_CONTRACT();\n }\n\n /**\n * Get the non-restaking withdrawal credentials factory address.\n *\n * @returns The non-restaking withdrawal credentials factory address.\n */\n public getNonRestakingWithdrawalCredentialsFactory() {\n return this.getContract().read.NON_RESTORAKING_WITHDRAWAL_CREDENTIALS_FACTORY();\n }\n\n /**\n * Get the WETH contract address.\n *\n * @returns The WETH contract address.\n */\n public getWeth() {\n return this.getContract().read.WETH();\n }\n\n /**\n * Get the eigen delegation manager contract address.\n *\n * @returns The eigen delegation manager.\n */\n public getEigenDelegationManager() {\n return this.getContract().read.EIGEN_DELEGATION_MANAGER();\n }\n\n /**\n * Get the eigen pod manager contract address.\n *\n * @returns The eigen pod manager contract address.\n */\n public getEigenPodManager() {\n return this.getContract().read.EIGEN_POD_MANAGER();\n }\n\n /**\n * Get the eigen pod address.\n *\n * @returns The eigen pod address.\n */\n public getEigenPod() {\n return this.getContract().read.getEigenPod();\n }\n\n /**\n * Get the eigen pod withdrawal credentials.\n *\n * @returns The eigen pod withdrawal credentials as bytes.\n */\n public getEigenPodWithdrawalCredentials() {\n return this.getContract().read.getEigenPodWithdrawalCredentials();\n }\n\n /**\n * Get the no-restaking withdrawal credentials address.\n *\n * @returns The no-restaking withdrawal credentials address.\n */\n public getNoRestakingWithdrawalCredentials() {\n return this.getContract().read.getNoRestakingWithdrawalCredentials();\n }\n\n /**\n * Get the allowance for the spender to spend the owner's tokens.\n *\n * @param owner The owner of the tokens.\n * @param spender The spender of the tokens.\n * @returns The allowance of the owner for the spender.\n */\n public allowance(owner: Address, spender: Address) {\n return this.getContract().read.allowance([owner, spender]);\n }\n\n /**\n * Approve the spender to spend the owner's tokens.\n *\n * @param spender The spender of the tokens.\n * @param amount The amount of tokens to approve.\n */\n public approve(spender: Address, amount: bigint) {\n return this.getContract().write.approve([spender, amount], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Get the asset of the vault.\n *\n * @returns The asset of the vault.\n */\n public asset() {\n return this.getContract().read.asset();\n }\n\n /**\n * Get the authority of the vault.\n *\n * @returns The authority of the vault.\n */\n public authority() {\n return this.getContract().read.authority();\n }\n\n /**\n * Get the balance of the address.\n *\n * @param address The address to get the balance of.\n * @returns The balance of the address.\n */\n public balanceOf(address: Address) {\n return this.getContract().read.balanceOf([address]);\n }\n\n /**\n * Get the number of decimals of the token.\n *\n * @returns The number of decimals of the token.\n */\n public decimals() {\n return this.getContract().read.decimals();\n }\n\n /**\n * Complete the queued withdrawals.\n *\n * @param withdrawals The withdrawals to complete.\n * @param receiveAsTokens Whether to receive the assets as tokens.\n */\n public completeQueuedWithdrawals(\n withdrawals: QueuedWithdrawal[],\n receiveAsTokens: boolean[],\n ) {\n return this.getContract().write.completeQueuedWithdrawals(\n [withdrawals, receiveAsTokens],\n {\n account: this.walletClient.account!,\n chain: this.viemChain,\n },\n );\n }\n\n /**\n * Convert shares to assets.\n *\n * @param shares The number of shares to convert.\n * @returns The number of assets.\n */\n public convertToAssets(shares: bigint) {\n return this.getContract().read.convertToAssets([shares]);\n }\n\n /**\n * Convert assets to shares.\n *\n * @param assets The number of assets to convert.\n * @returns The number of shares.\n */\n public convertToShares(assets: bigint) {\n return this.getContract().read.convertToShares([assets]);\n }\n\n /**\n * Deposit assets into the vault.\n *\n * @param assets The number of assets to deposit.\n * @param receiver The address to receive the shares.\n */\n public deposit(assets: bigint, receiver: Address) {\n return this.getContract().write.deposit([assets, receiver], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Deposit ETH into the vault.\n *\n * @param receiver The address to receive the shares.\n * @param value The amount of ETH to deposit.\n */\n public depositETH(receiver: Address, value: bigint) {\n return this.getContract().write.depositETH([receiver], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n value,\n });\n }\n\n /**\n * Get the non-restaked validator ETH.\n *\n * @returns The non-restaked validator ETH.\n */\n public getNonRestakedValidatorETH() {\n return this.getContract().read.getNonRestakedValidatorETH();\n }\n\n /**\n * Get the restaked validator ETH.\n *\n * @returns The restaked validator ETH.\n */\n public getRestakedValidatorETH() {\n return this.getContract().read.getRestakedValidatorETH();\n }\n\n /**\n * Get the withdrawal credentials.\n *\n * @returns The withdrawal credentials.\n */\n public getWithdrawalCredentials() {\n return this.getContract().read.getWithdrawalCredentials();\n }\n\n /**\n * Get the maximum deposit amount for the address.\n *\n * @param address The address to get the maximum deposit amount for.\n * @returns The maximum deposit amount for the address.\n */\n public maxDeposit(address: Address) {\n return this.getContract().read.maxDeposit([address]);\n }\n\n /**\n * Get the maximum mint amount for the address.\n *\n * @param address The address to get the maximum mint amount for.\n * @returns The maximum mint amount for the address.\n */\n public maxMint(address: Address) {\n return this.getContract().read.maxMint([address]);\n }\n\n /**\n * Get the maximum redeem amount for the address.\n *\n * @param address The address to get the maximum redeem amount for.\n * @returns The maximum redeem amount for the address.\n */\n public maxRedeem(address: Address) {\n return this.getContract().read.maxRedeem([address]);\n }\n\n /**\n * Get the maximum withdraw amount for the address.\n *\n * @param address The address to get the maximum withdraw amount for.\n * @returns The maximum withdraw amount for the address.\n */\n public maxWithdraw(address: Address) {\n return this.getContract().read.maxWithdraw([address]);\n }\n\n /**\n * Mint shares to the receiver.\n *\n * @param shares The number of shares to mint.\n * @param receiver The address to receive the shares.\n */\n public mint(shares: bigint, receiver: Address) {\n return this.getContract().write.mint([shares, receiver], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Get the name of the contract.\n *\n * @returns The name of the contract.\n */\n public name() {\n return this.getContract().read.name();\n }\n\n /**\n * Preview the deposit amount for the assets.\n *\n * @param assets The number of assets to deposit.\n * @returns The number of shares to receive.\n */\n public previewDeposit(assets: bigint) {\n return this.getContract().read.previewDeposit([assets]);\n }\n\n /**\n * Preview the mint amount for the shares.\n *\n * @param shares The number of shares to mint.\n * @returns The number of assets to receive.\n */\n public previewMint(shares: bigint) {\n return this.getContract().read.previewMint([shares]);\n }\n\n /**\n * Preview the redeem amount for the shares.\n *\n * @param shares The number of shares to redeem.\n * @returns The number of assets to receive.\n */\n public previewRedeem(shares: bigint) {\n return this.getContract().read.previewRedeem([shares]);\n }\n\n /**\n * Preview the withdraw amount for the shares.\n *\n * @param shares The number of shares to withdraw.\n * @returns The number of assets to receive.\n */\n public previewWithdraw(shares: bigint) {\n return this.getContract().read.previewWithdraw([shares]);\n }\n\n /**\n * Queue the withdrawals.\n *\n * @param shares The number of shares to withdraw.\n */\n public queueWithdrawals(shares: bigint) {\n return this.getContract().write.queueWithdrawals([shares], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Request withdrawal from the EigenPod.\n *\n * @param requests The withdrawal requests containing pubkey and amountGwei.\n * @param value The amount of ETH to send with the transaction.\n */\n public requestWithdrawal(requests: WithdrawalRequest[], value: bigint) {\n return this.getContract().write.requestWithdrawal([requests], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n value,\n });\n }\n\n /**\n * Redeem the shares to the receiver.\n *\n * @param shares The number of shares to redeem.\n * @param receiver The address to receive the assets.\n * @param owner The owner of the shares.\n */\n public redeem(shares: bigint, receiver: Address, owner: Address) {\n return this.getContract().write.redeem([shares, receiver, owner], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Set the validators ETH.\n *\n * @param restakedValidatorsETH The amount of restaked validator ETH.\n * @param nonRestakedValidatorsETH The amount of non-restaked validator ETH.\n */\n public setValidatorsETH(\n restakedValidatorsETH: bigint,\n nonRestakedValidatorsETH: bigint,\n ) {\n return this.getContract().write.setValidatorsETH(\n [restakedValidatorsETH, nonRestakedValidatorsETH],\n {\n account: this.walletClient.account!,\n chain: this.viemChain,\n },\n );\n }\n\n /**\n * Start the non-restaking validators.\n *\n * @param pubKeys The public keys of the validators.\n * @param signatures The signatures of the validators.\n * @param amountsInGwei The amounts of the validators.\n * @param depositDataRoots The deposit data roots of the validators.\n */\n public startNonRestakingValidators(\n pubKeys: Address[],\n signatures: Address[],\n amountsInGwei: bigint[],\n depositDataRoots: Address[],\n ) {\n return this.getContract().write.startNonRestakingValidators(\n [pubKeys, signatures, amountsInGwei, depositDataRoots],\n {\n account: this.walletClient.account!,\n chain: this.viemChain,\n },\n );\n }\n\n /**\n * Start the restaking validators.\n *\n * @param pubKeys The public keys of the validators.\n * @param signatures The signatures of the validators.\n * @param amountsInGwei The amounts of the validators.\n * @param depositDataRoots The deposit data roots of the validators.\n */\n public startRestakingValidators(\n pubKeys: Address[],\n signatures: Address[],\n amountsInGwei: bigint[],\n depositDataRoots: Address[],\n ) {\n return this.getContract().write.startRestakingValidators(\n [pubKeys, signatures, amountsInGwei, depositDataRoots],\n {\n account: this.walletClient.account!,\n chain: this.viemChain,\n },\n );\n }\n\n /**\n * Withdraw the assets to the receiver.\n *\n * @param assets The number of assets to withdraw.\n * @param receiver The address to receive the assets.\n * @param owner The owner of the assets.\n */\n public withdraw(assets: bigint, receiver: Address, owner: Address) {\n return this.getContract().write.withdraw([assets, receiver, owner], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Get the symbol of the contract.\n *\n * @returns The symbol of the contract.\n */\n public symbol() {\n return this.getContract().read.symbol();\n }\n\n /**\n * Get the total assets of the vault.\n *\n * @returns The total assets of the vault.\n */\n public totalAssets() {\n return this.getContract().read.totalAssets();\n }\n\n /**\n * Get the total supply of the vault.\n *\n * @returns The total supply of the vault.\n */\n public totalSupply() {\n return this.getContract().read.totalSupply();\n }\n\n /**\n * Transfer the value to the to address.\n *\n * @param to The address to transfer the value to.\n * @param value The amount of value to transfer.\n */\n public transfer(to: Address, value: bigint) {\n return this.getContract().write.transfer([to, value], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Transfer the value from the from address to the to address.\n *\n * @param from The address to transfer the value from.\n * @param to The address to transfer the value to.\n * @param value The amount of value to transfer.\n */\n public transferFrom(from: Address, to: Address, value: bigint) {\n return this.getContract().write.transferFrom([from, to, value], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Call a custom external function.\n *\n * @param target The target contract address.\n * @param data The calldata to send a transaction to the target contract.\n * @param value The amount of value to send to the target contract.\n */\n public customExternalCall(target: Address, data: Hex, value: bigint) {\n return this.getContract().write.customExternalCall([target, data, value], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n value,\n });\n }\n\n /**\n * Request EigenPod consolidation.\n *\n * @param srcPubkeys The source public keys.\n * @param targetPubkeys The target public keys.\n * @param value The amount to send to the target contract (small quantity of GWei)\n */\n public requestEigenPodConsolidation(\n srcPubkeys: Address[],\n targetPubkeys: Address[],\n value: bigint,\n ) {\n return this.getContract().write.requestEigenPodConsolidation(\n [srcPubkeys, targetPubkeys],\n {\n account: this.walletClient.account!,\n chain: this.viemChain,\n value,\n },\n );\n }\n\n /**\n * Withdraw non-restaked ETH from the vault.\n */\n public withdrawNonRestakedETH() {\n return this.getContract().write.withdrawNonRestakedETH({\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n}\n"],"names":["InstitutionalVaultHandler","chain","walletClient","publicClient","VIEM_CHAINS","address","InvalidContractAddressError","abi","InstitutionalVault","client","getContract","owner","spender","amount","withdrawals","receiveAsTokens","shares","assets","receiver","value","requests","restakedValidatorsETH","nonRestakedValidatorsETH","pubKeys","signatures","amountsInGwei","depositDataRoots","to","from","target","data","srcPubkeys","targetPubkeys"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"institutional-vault-handler.js","sources":["../../../lib/contracts/handlers/institutional-vault-handler.ts"],"sourcesContent":["import {\n Chain as ViemChain,\n WalletClient,\n PublicClient,\n getContract,\n GetContractReturnType,\n Address,\n Hex,\n} from 'viem';\nimport { InstitutionalVault } from '../abis/mainnet/InstitutionalVault';\nimport { Chain, VIEM_CHAINS } from '../../chains/constants';\nimport { InvalidContractAddressError } from '../../errors/validation-errors';\n\nexport type QueuedWithdrawal = {\n staker: Address;\n delegatedTo: Address;\n withdrawer: Address;\n nonce: bigint;\n startBlock: number;\n strategies: Address[];\n scaledShares: bigint[];\n};\n\nexport type WithdrawalRequest = {\n pubkey: Hex;\n amountGwei: bigint;\n};\n\n/**\n * Handler for the `InstitutionalVault` contract exposing methods to\n * interact with the contract.\n */\nexport class InstitutionalVaultHandler {\n private viemChain: ViemChain;\n private address?: Address;\n\n /**\n * Create the handler for the `InstitutionalVault` 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 chain: Chain,\n private walletClient: WalletClient,\n private publicClient: PublicClient,\n ) {\n this.viemChain = VIEM_CHAINS[chain];\n }\n\n /**\n * Set the address of the contract for this handler.\n *\n * @param address The address of the contract.\n * @returns The handler.\n */\n public withAddress(address: Address) {\n this.address = address;\n\n return this;\n }\n\n /**\n * Get the address of the contract for this handler.\n *\n * @returns The address of the contract.\n */\n public getAddress() {\n return this.address;\n }\n\n /**\n * Get the contract. This is a method because the typings are complex\n * and lost when trying to make it a member.\n *\n * @returns The viem contract.\n */\n public getContract() {\n if (!this.address) {\n throw new InvalidContractAddressError(\n `No address specified for the contract`,\n {\n fixMessage: `Set the contract address in the handler by using the setAddress method`,\n },\n );\n }\n\n const abi = InstitutionalVault;\n const client = { public: this.publicClient, wallet: this.walletClient };\n\n return getContract({\n address: this.address,\n abi,\n client,\n }) as GetContractReturnType<typeof abi, typeof client, Address>;\n }\n\n /**\n * Get the beacon deposit contract address.\n *\n * @returns The beacon deposit contract address.\n */\n public getBeaconDepositContract() {\n return this.getContract().read.BEACON_DEPOSIT_CONTRACT();\n }\n\n /**\n * Get the non-restaking withdrawal credentials factory address.\n *\n * @returns The non-restaking withdrawal credentials factory address.\n */\n public getNonRestakingWithdrawalCredentialsFactory() {\n return this.getContract().read.NON_RESTORAKING_WITHDRAWAL_CREDENTIALS_FACTORY();\n }\n\n /**\n * Get the WETH contract address.\n *\n * @returns The WETH contract address.\n */\n public getWeth() {\n return this.getContract().read.WETH();\n }\n\n /**\n * Get the eigen delegation manager contract address.\n *\n * @returns The eigen delegation manager.\n */\n public getEigenDelegationManager() {\n return this.getContract().read.EIGEN_DELEGATION_MANAGER();\n }\n\n /**\n * Get the eigen pod manager contract address.\n *\n * @returns The eigen pod manager contract address.\n */\n public getEigenPodManager() {\n return this.getContract().read.EIGEN_POD_MANAGER();\n }\n\n /**\n * Get the eigen pod address.\n *\n * @returns The eigen pod address.\n */\n public getEigenPod() {\n return this.getContract().read.getEigenPod();\n }\n\n /**\n * Get the eigen pod withdrawal credentials.\n *\n * @returns The eigen pod withdrawal credentials as bytes.\n */\n public getEigenPodWithdrawalCredentials() {\n return this.getContract().read.getEigenPodWithdrawalCredentials();\n }\n\n /**\n * Get the no-restaking withdrawal credentials address.\n *\n * @returns The no-restaking withdrawal credentials address.\n */\n public getNoRestakingWithdrawalCredentials() {\n return this.getContract().read.getNoRestakingWithdrawalCredentials();\n }\n\n /**\n * Get the allowance for the spender to spend the owner's tokens.\n *\n * @param owner The owner of the tokens.\n * @param spender The spender of the tokens.\n * @returns The allowance of the owner for the spender.\n */\n public allowance(owner: Address, spender: Address) {\n return this.getContract().read.allowance([owner, spender]);\n }\n\n /**\n * Approve the spender to spend the owner's tokens.\n *\n * @param spender The spender of the tokens.\n * @param amount The amount of tokens to approve.\n */\n public approve(spender: Address, amount: bigint) {\n return this.getContract().write.approve([spender, amount], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Get the asset of the vault.\n *\n * @returns The asset of the vault.\n */\n public asset() {\n return this.getContract().read.asset();\n }\n\n /**\n * Get the authority of the vault.\n *\n * @returns The authority of the vault.\n */\n public authority() {\n return this.getContract().read.authority();\n }\n\n /**\n * Get the balance of the address.\n *\n * @param address The address to get the balance of.\n * @returns The balance of the address.\n */\n public balanceOf(address: Address) {\n return this.getContract().read.balanceOf([address]);\n }\n\n /**\n * Get the number of decimals of the token.\n *\n * @returns The number of decimals of the token.\n */\n public decimals() {\n return this.getContract().read.decimals();\n }\n\n /**\n * Complete the queued withdrawals.\n *\n * @param withdrawals The withdrawals to complete.\n * @param receiveAsTokens Whether to receive the assets as tokens.\n */\n public completeQueuedWithdrawals(\n withdrawals: QueuedWithdrawal[],\n receiveAsTokens: boolean[],\n ) {\n return this.getContract().write.completeQueuedWithdrawals(\n [withdrawals, receiveAsTokens],\n {\n account: this.walletClient.account!,\n chain: this.viemChain,\n },\n );\n }\n\n /**\n * Convert shares to assets.\n *\n * @param shares The number of shares to convert.\n * @returns The number of assets.\n */\n public convertToAssets(shares: bigint) {\n return this.getContract().read.convertToAssets([shares]);\n }\n\n /**\n * Convert assets to shares.\n *\n * @param assets The number of assets to convert.\n * @returns The number of shares.\n */\n public convertToShares(assets: bigint) {\n return this.getContract().read.convertToShares([assets]);\n }\n\n /**\n * Deposit assets into the vault.\n *\n * @param assets The number of assets to deposit.\n * @param receiver The address to receive the shares.\n */\n public deposit(assets: bigint, receiver: Address) {\n return this.getContract().write.deposit([assets, receiver], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Deposit ETH into the vault.\n *\n * @param receiver The address to receive the shares.\n * @param value The amount of ETH to deposit.\n */\n public depositETH(receiver: Address, value: bigint) {\n return this.getContract().write.depositETH([receiver], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n value,\n });\n }\n\n /**\n * Get the non-restaked validator ETH.\n *\n * @returns The non-restaked validator ETH.\n */\n public getNonRestakedValidatorETH() {\n return this.getContract().read.getNonRestakedValidatorETH();\n }\n\n /**\n * Get the restaked validator ETH.\n *\n * @returns The restaked validator ETH.\n */\n public getRestakedValidatorETH() {\n return this.getContract().read.getRestakedValidatorETH();\n }\n\n /**\n * Get the withdrawal credentials.\n *\n * @returns The withdrawal credentials.\n */\n public getWithdrawalCredentials() {\n return this.getContract().read.getWithdrawalCredentials();\n }\n\n /**\n * Get the maximum deposit amount for the address.\n *\n * @param address The address to get the maximum deposit amount for.\n * @returns The maximum deposit amount for the address.\n */\n public maxDeposit(address: Address) {\n return this.getContract().read.maxDeposit([address]);\n }\n\n /**\n * Get the maximum mint amount for the address.\n *\n * @param address The address to get the maximum mint amount for.\n * @returns The maximum mint amount for the address.\n */\n public maxMint(address: Address) {\n return this.getContract().read.maxMint([address]);\n }\n\n /**\n * Get the maximum redeem amount for the address.\n *\n * @param address The address to get the maximum redeem amount for.\n * @returns The maximum redeem amount for the address.\n */\n public maxRedeem(address: Address) {\n return this.getContract().read.maxRedeem([address]);\n }\n\n /**\n * Get the maximum withdraw amount for the address.\n *\n * @param address The address to get the maximum withdraw amount for.\n * @returns The maximum withdraw amount for the address.\n */\n public maxWithdraw(address: Address) {\n return this.getContract().read.maxWithdraw([address]);\n }\n\n /**\n * Mint shares to the receiver.\n *\n * @param shares The number of shares to mint.\n * @param receiver The address to receive the shares.\n */\n public mint(shares: bigint, receiver: Address) {\n return this.getContract().write.mint([shares, receiver], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Get the name of the contract.\n *\n * @returns The name of the contract.\n */\n public name() {\n return this.getContract().read.name();\n }\n\n /**\n * Preview the deposit amount for the assets.\n *\n * @param assets The number of assets to deposit.\n * @returns The number of shares to receive.\n */\n public previewDeposit(assets: bigint) {\n return this.getContract().read.previewDeposit([assets]);\n }\n\n /**\n * Preview the mint amount for the shares.\n *\n * @param shares The number of shares to mint.\n * @returns The number of assets to receive.\n */\n public previewMint(shares: bigint) {\n return this.getContract().read.previewMint([shares]);\n }\n\n /**\n * Preview the redeem amount for the shares.\n *\n * @param shares The number of shares to redeem.\n * @returns The number of assets to receive.\n */\n public previewRedeem(shares: bigint) {\n return this.getContract().read.previewRedeem([shares]);\n }\n\n /**\n * Preview the withdraw amount for the shares.\n *\n * @param shares The number of shares to withdraw.\n * @returns The number of assets to receive.\n */\n public previewWithdraw(shares: bigint) {\n return this.getContract().read.previewWithdraw([shares]);\n }\n\n /**\n * Queue the withdrawals.\n *\n * @param shares The number of shares to withdraw.\n */\n public queueWithdrawals(shares: bigint) {\n return this.getContract().write.queueWithdrawals([shares], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Request withdrawal from the EigenPod.\n *\n * @param requests The withdrawal requests containing pubkey and amountGwei.\n * @param value The amount of ETH to send with the transaction.\n */\n public requestWithdrawal(requests: WithdrawalRequest[], value: bigint) {\n return this.getContract().write.requestWithdrawal([requests], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n value,\n });\n }\n\n /**\n * Redeem the shares to the receiver.\n *\n * @param shares The number of shares to redeem.\n * @param receiver The address to receive the assets.\n * @param owner The owner of the shares.\n */\n public redeem(shares: bigint, receiver: Address, owner: Address) {\n return this.getContract().write.redeem([shares, receiver, owner], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Set the validators ETH.\n *\n * @param restakedValidatorsETH The amount of restaked validator ETH.\n * @param nonRestakedValidatorsETH The amount of non-restaked validator ETH.\n */\n public setValidatorsETH(\n restakedValidatorsETH: bigint,\n nonRestakedValidatorsETH: bigint,\n ) {\n return this.getContract().write.setValidatorsETH(\n [restakedValidatorsETH, nonRestakedValidatorsETH],\n {\n account: this.walletClient.account!,\n chain: this.viemChain,\n },\n );\n }\n\n /**\n * Start the non-restaking validators.\n *\n * @param pubKeys The public keys of the validators.\n * @param signatures The signatures of the validators.\n * @param amountsInGwei The amounts of the validators.\n * @param depositDataRoots The deposit data roots of the validators.\n */\n public startNonRestakingValidators(\n pubKeys: Address[],\n signatures: Address[],\n amountsInGwei: bigint[],\n depositDataRoots: Address[],\n ) {\n return this.getContract().write.startNonRestakingValidators(\n [pubKeys, signatures, amountsInGwei, depositDataRoots],\n {\n account: this.walletClient.account!,\n chain: this.viemChain,\n },\n );\n }\n\n /**\n * Start the restaking validators.\n *\n * @param pubKeys The public keys of the validators.\n * @param signatures The signatures of the validators.\n * @param amountsInGwei The amounts of the validators.\n * @param depositDataRoots The deposit data roots of the validators.\n */\n public startRestakingValidators(\n pubKeys: Address[],\n signatures: Address[],\n amountsInGwei: bigint[],\n depositDataRoots: Address[],\n ) {\n return this.getContract().write.startRestakingValidators(\n [pubKeys, signatures, amountsInGwei, depositDataRoots],\n {\n account: this.walletClient.account!,\n chain: this.viemChain,\n },\n );\n }\n\n /**\n * Withdraw the assets to the receiver.\n *\n * @param assets The number of assets to withdraw.\n * @param receiver The address to receive the assets.\n * @param owner The owner of the assets.\n */\n public withdraw(assets: bigint, receiver: Address, owner: Address) {\n return this.getContract().write.withdraw([assets, receiver, owner], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Get the symbol of the contract.\n *\n * @returns The symbol of the contract.\n */\n public symbol() {\n return this.getContract().read.symbol();\n }\n\n /**\n * Get the total assets of the vault.\n *\n * @returns The total assets of the vault.\n */\n public totalAssets() {\n return this.getContract().read.totalAssets();\n }\n\n /**\n * Get the total supply of the vault.\n *\n * @returns The total supply of the vault.\n */\n public totalSupply() {\n return this.getContract().read.totalSupply();\n }\n\n /**\n * Transfer the value to the to address.\n *\n * @param to The address to transfer the value to.\n * @param value The amount of value to transfer.\n */\n public transfer(to: Address, value: bigint) {\n return this.getContract().write.transfer([to, value], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Transfer the value from the from address to the to address.\n *\n * @param from The address to transfer the value from.\n * @param to The address to transfer the value to.\n * @param value The amount of value to transfer.\n */\n public transferFrom(from: Address, to: Address, value: bigint) {\n return this.getContract().write.transferFrom([from, to, value], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Call a custom external function.\n *\n * @param target The target contract address.\n * @param data The calldata to send a transaction to the target contract.\n * @param value The amount of value to send to the target contract.\n */\n public customExternalCall(target: Address, data: Hex, value: bigint) {\n return this.getContract().write.customExternalCall([target, data, value], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Request EigenPod consolidation.\n *\n * @param srcPubkeys The source public keys.\n * @param targetPubkeys The target public keys.\n * @param value The amount to send to the target contract (small quantity of GWei)\n */\n public requestEigenPodConsolidation(\n srcPubkeys: Address[],\n targetPubkeys: Address[],\n value: bigint,\n ) {\n return this.getContract().write.requestEigenPodConsolidation(\n [srcPubkeys, targetPubkeys],\n {\n account: this.walletClient.account!,\n chain: this.viemChain,\n value,\n },\n );\n }\n\n /**\n * Withdraw non-restaked ETH from the vault.\n */\n public withdrawNonRestakedETH() {\n return this.getContract().write.withdrawNonRestakedETH({\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n}\n"],"names":["InstitutionalVaultHandler","chain","walletClient","publicClient","VIEM_CHAINS","address","InvalidContractAddressError","abi","InstitutionalVault","client","getContract","owner","spender","amount","withdrawals","receiveAsTokens","shares","assets","receiver","value","requests","restakedValidatorsETH","nonRestakedValidatorsETH","pubKeys","signatures","amountsInGwei","depositDataRoots","to","from","target","data","srcPubkeys","targetPubkeys"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"institutional-vault-handler.js","sources":["../../../lib/contracts/handlers/institutional-vault-handler.ts"],"sourcesContent":["import {\n Chain as ViemChain,\n WalletClient,\n PublicClient,\n getContract,\n GetContractReturnType,\n Address,\n Hex,\n} from 'viem';\nimport { InstitutionalVault } from '../abis/mainnet/InstitutionalVault';\nimport { Chain, VIEM_CHAINS } from '../../chains/constants';\nimport { InvalidContractAddressError } from '../../errors/validation-errors';\n\nexport type QueuedWithdrawal = {\n staker: Address;\n delegatedTo: Address;\n withdrawer: Address;\n nonce: bigint;\n startBlock: number;\n strategies: Address[];\n scaledShares: bigint[];\n};\n\nexport type WithdrawalRequest = {\n pubkey: Hex;\n amountGwei: bigint;\n};\n\n/**\n * Handler for the `InstitutionalVault` contract exposing methods to\n * interact with the contract.\n */\nexport class InstitutionalVaultHandler {\n private viemChain: ViemChain;\n private address?: Address;\n\n /**\n * Create the handler for the `InstitutionalVault` 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 chain: Chain,\n private walletClient: WalletClient,\n private publicClient: PublicClient,\n ) {\n this.viemChain = VIEM_CHAINS[chain];\n }\n\n /**\n * Set the address of the contract for this handler.\n *\n * @param address The address of the contract.\n * @returns The handler.\n */\n public withAddress(address: Address) {\n this.address = address;\n\n return this;\n }\n\n /**\n * Get the address of the contract for this handler.\n *\n * @returns The address of the contract.\n */\n public getAddress() {\n return this.address;\n }\n\n /**\n * Get the contract. This is a method because the typings are complex\n * and lost when trying to make it a member.\n *\n * @returns The viem contract.\n */\n public getContract() {\n if (!this.address) {\n throw new InvalidContractAddressError(\n `No address specified for the contract`,\n {\n fixMessage: `Set the contract address in the handler by using the setAddress method`,\n },\n );\n }\n\n const abi = InstitutionalVault;\n const client = { public: this.publicClient, wallet: this.walletClient };\n\n return getContract({\n address: this.address,\n abi,\n client,\n }) as GetContractReturnType<typeof abi, typeof client, Address>;\n }\n\n /**\n * Get the beacon deposit contract address.\n *\n * @returns The beacon deposit contract address.\n */\n public getBeaconDepositContract() {\n return this.getContract().read.BEACON_DEPOSIT_CONTRACT();\n }\n\n /**\n * Get the non-restaking withdrawal credentials factory address.\n *\n * @returns The non-restaking withdrawal credentials factory address.\n */\n public getNonRestakingWithdrawalCredentialsFactory() {\n return this.getContract().read.NON_RESTORAKING_WITHDRAWAL_CREDENTIALS_FACTORY();\n }\n\n /**\n * Get the WETH contract address.\n *\n * @returns The WETH contract address.\n */\n public getWeth() {\n return this.getContract().read.WETH();\n }\n\n /**\n * Get the eigen delegation manager contract address.\n *\n * @returns The eigen delegation manager.\n */\n public getEigenDelegationManager() {\n return this.getContract().read.EIGEN_DELEGATION_MANAGER();\n }\n\n /**\n * Get the eigen pod manager contract address.\n *\n * @returns The eigen pod manager contract address.\n */\n public getEigenPodManager() {\n return this.getContract().read.EIGEN_POD_MANAGER();\n }\n\n /**\n * Get the eigen pod address.\n *\n * @returns The eigen pod address.\n */\n public getEigenPod() {\n return this.getContract().read.getEigenPod();\n }\n\n /**\n * Get the eigen pod withdrawal credentials.\n *\n * @returns The eigen pod withdrawal credentials as bytes.\n */\n public getEigenPodWithdrawalCredentials() {\n return this.getContract().read.getEigenPodWithdrawalCredentials();\n }\n\n /**\n * Get the no-restaking withdrawal credentials address.\n *\n * @returns The no-restaking withdrawal credentials address.\n */\n public getNoRestakingWithdrawalCredentials() {\n return this.getContract().read.getNoRestakingWithdrawalCredentials();\n }\n\n /**\n * Get the allowance for the spender to spend the owner's tokens.\n *\n * @param owner The owner of the tokens.\n * @param spender The spender of the tokens.\n * @returns The allowance of the owner for the spender.\n */\n public allowance(owner: Address, spender: Address) {\n return this.getContract().read.allowance([owner, spender]);\n }\n\n /**\n * Approve the spender to spend the owner's tokens.\n *\n * @param spender The spender of the tokens.\n * @param amount The amount of tokens to approve.\n */\n public approve(spender: Address, amount: bigint) {\n return this.getContract().write.approve([spender, amount], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Get the asset of the vault.\n *\n * @returns The asset of the vault.\n */\n public asset() {\n return this.getContract().read.asset();\n }\n\n /**\n * Get the authority of the vault.\n *\n * @returns The authority of the vault.\n */\n public authority() {\n return this.getContract().read.authority();\n }\n\n /**\n * Get the balance of the address.\n *\n * @param address The address to get the balance of.\n * @returns The balance of the address.\n */\n public balanceOf(address: Address) {\n return this.getContract().read.balanceOf([address]);\n }\n\n /**\n * Get the number of decimals of the token.\n *\n * @returns The number of decimals of the token.\n */\n public decimals() {\n return this.getContract().read.decimals();\n }\n\n /**\n * Complete the queued withdrawals.\n *\n * @param withdrawals The withdrawals to complete.\n * @param receiveAsTokens Whether to receive the assets as tokens.\n */\n public completeQueuedWithdrawals(\n withdrawals: QueuedWithdrawal[],\n receiveAsTokens: boolean[],\n ) {\n return this.getContract().write.completeQueuedWithdrawals(\n [withdrawals, receiveAsTokens],\n {\n account: this.walletClient.account!,\n chain: this.viemChain,\n },\n );\n }\n\n /**\n * Convert shares to assets.\n *\n * @param shares The number of shares to convert.\n * @returns The number of assets.\n */\n public convertToAssets(shares: bigint) {\n return this.getContract().read.convertToAssets([shares]);\n }\n\n /**\n * Convert assets to shares.\n *\n * @param assets The number of assets to convert.\n * @returns The number of shares.\n */\n public convertToShares(assets: bigint) {\n return this.getContract().read.convertToShares([assets]);\n }\n\n /**\n * Deposit assets into the vault.\n *\n * @param assets The number of assets to deposit.\n * @param receiver The address to receive the shares.\n */\n public deposit(assets: bigint, receiver: Address) {\n return this.getContract().write.deposit([assets, receiver], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Deposit ETH into the vault.\n *\n * @param receiver The address to receive the shares.\n * @param value The amount of ETH to deposit.\n */\n public depositETH(receiver: Address, value: bigint) {\n return this.getContract().write.depositETH([receiver], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n value,\n });\n }\n\n /**\n * Get the non-restaked validator ETH.\n *\n * @returns The non-restaked validator ETH.\n */\n public getNonRestakedValidatorETH() {\n return this.getContract().read.getNonRestakedValidatorETH();\n }\n\n /**\n * Get the restaked validator ETH.\n *\n * @returns The restaked validator ETH.\n */\n public getRestakedValidatorETH() {\n return this.getContract().read.getRestakedValidatorETH();\n }\n\n /**\n * Get the withdrawal credentials.\n *\n * @returns The withdrawal credentials.\n */\n public getWithdrawalCredentials() {\n return this.getContract().read.getWithdrawalCredentials();\n }\n\n /**\n * Get the maximum deposit amount for the address.\n *\n * @param address The address to get the maximum deposit amount for.\n * @returns The maximum deposit amount for the address.\n */\n public maxDeposit(address: Address) {\n return this.getContract().read.maxDeposit([address]);\n }\n\n /**\n * Get the maximum mint amount for the address.\n *\n * @param address The address to get the maximum mint amount for.\n * @returns The maximum mint amount for the address.\n */\n public maxMint(address: Address) {\n return this.getContract().read.maxMint([address]);\n }\n\n /**\n * Get the maximum redeem amount for the address.\n *\n * @param address The address to get the maximum redeem amount for.\n * @returns The maximum redeem amount for the address.\n */\n public maxRedeem(address: Address) {\n return this.getContract().read.maxRedeem([address]);\n }\n\n /**\n * Get the maximum withdraw amount for the address.\n *\n * @param address The address to get the maximum withdraw amount for.\n * @returns The maximum withdraw amount for the address.\n */\n public maxWithdraw(address: Address) {\n return this.getContract().read.maxWithdraw([address]);\n }\n\n /**\n * Mint shares to the receiver.\n *\n * @param shares The number of shares to mint.\n * @param receiver The address to receive the shares.\n */\n public mint(shares: bigint, receiver: Address) {\n return this.getContract().write.mint([shares, receiver], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Get the name of the contract.\n *\n * @returns The name of the contract.\n */\n public name() {\n return this.getContract().read.name();\n }\n\n /**\n * Preview the deposit amount for the assets.\n *\n * @param assets The number of assets to deposit.\n * @returns The number of shares to receive.\n */\n public previewDeposit(assets: bigint) {\n return this.getContract().read.previewDeposit([assets]);\n }\n\n /**\n * Preview the mint amount for the shares.\n *\n * @param shares The number of shares to mint.\n * @returns The number of assets to receive.\n */\n public previewMint(shares: bigint) {\n return this.getContract().read.previewMint([shares]);\n }\n\n /**\n * Preview the redeem amount for the shares.\n *\n * @param shares The number of shares to redeem.\n * @returns The number of assets to receive.\n */\n public previewRedeem(shares: bigint) {\n return this.getContract().read.previewRedeem([shares]);\n }\n\n /**\n * Preview the withdraw amount for the shares.\n *\n * @param shares The number of shares to withdraw.\n * @returns The number of assets to receive.\n */\n public previewWithdraw(shares: bigint) {\n return this.getContract().read.previewWithdraw([shares]);\n }\n\n /**\n * Queue the withdrawals.\n *\n * @param shares The number of shares to withdraw.\n */\n public queueWithdrawals(shares: bigint) {\n return this.getContract().write.queueWithdrawals([shares], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Request withdrawal from the EigenPod.\n *\n * @param requests The withdrawal requests containing pubkey and amountGwei.\n * @param value The amount of ETH to send with the transaction.\n */\n public requestWithdrawal(requests: WithdrawalRequest[], value: bigint) {\n return this.getContract().write.requestWithdrawal([requests], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n value,\n });\n }\n\n /**\n * Redeem the shares to the receiver.\n *\n * @param shares The number of shares to redeem.\n * @param receiver The address to receive the assets.\n * @param owner The owner of the shares.\n */\n public redeem(shares: bigint, receiver: Address, owner: Address) {\n return this.getContract().write.redeem([shares, receiver, owner], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Set the validators ETH.\n *\n * @param restakedValidatorsETH The amount of restaked validator ETH.\n * @param nonRestakedValidatorsETH The amount of non-restaked validator ETH.\n */\n public setValidatorsETH(\n restakedValidatorsETH: bigint,\n nonRestakedValidatorsETH: bigint,\n ) {\n return this.getContract().write.setValidatorsETH(\n [restakedValidatorsETH, nonRestakedValidatorsETH],\n {\n account: this.walletClient.account!,\n chain: this.viemChain,\n },\n );\n }\n\n /**\n * Start the non-restaking validators.\n *\n * @param pubKeys The public keys of the validators.\n * @param signatures The signatures of the validators.\n * @param amountsInGwei The amounts of the validators.\n * @param depositDataRoots The deposit data roots of the validators.\n */\n public startNonRestakingValidators(\n pubKeys: Address[],\n signatures: Address[],\n amountsInGwei: bigint[],\n depositDataRoots: Address[],\n ) {\n return this.getContract().write.startNonRestakingValidators(\n [pubKeys, signatures, amountsInGwei, depositDataRoots],\n {\n account: this.walletClient.account!,\n chain: this.viemChain,\n },\n );\n }\n\n /**\n * Start the restaking validators.\n *\n * @param pubKeys The public keys of the validators.\n * @param signatures The signatures of the validators.\n * @param amountsInGwei The amounts of the validators.\n * @param depositDataRoots The deposit data roots of the validators.\n */\n public startRestakingValidators(\n pubKeys: Address[],\n signatures: Address[],\n amountsInGwei: bigint[],\n depositDataRoots: Address[],\n ) {\n return this.getContract().write.startRestakingValidators(\n [pubKeys, signatures, amountsInGwei, depositDataRoots],\n {\n account: this.walletClient.account!,\n chain: this.viemChain,\n },\n );\n }\n\n /**\n * Withdraw the assets to the receiver.\n *\n * @param assets The number of assets to withdraw.\n * @param receiver The address to receive the assets.\n * @param owner The owner of the assets.\n */\n public withdraw(assets: bigint, receiver: Address, owner: Address) {\n return this.getContract().write.withdraw([assets, receiver, owner], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Get the symbol of the contract.\n *\n * @returns The symbol of the contract.\n */\n public symbol() {\n return this.getContract().read.symbol();\n }\n\n /**\n * Get the total assets of the vault.\n *\n * @returns The total assets of the vault.\n */\n public totalAssets() {\n return this.getContract().read.totalAssets();\n }\n\n /**\n * Get the total supply of the vault.\n *\n * @returns The total supply of the vault.\n */\n public totalSupply() {\n return this.getContract().read.totalSupply();\n }\n\n /**\n * Transfer the value to the to address.\n *\n * @param to The address to transfer the value to.\n * @param value The amount of value to transfer.\n */\n public transfer(to: Address, value: bigint) {\n return this.getContract().write.transfer([to, value], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Transfer the value from the from address to the to address.\n *\n * @param from The address to transfer the value from.\n * @param to The address to transfer the value to.\n * @param value The amount of value to transfer.\n */\n public transferFrom(from: Address, to: Address, value: bigint) {\n return this.getContract().write.transferFrom([from, to, value], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n\n /**\n * Call a custom external function.\n *\n * @param target The target contract address.\n * @param data The calldata to send a transaction to the target contract.\n * @param value The amount of value to send to the target contract.\n */\n public customExternalCall(target: Address, data: Hex, value: bigint) {\n return this.getContract().write.customExternalCall([target, data, value], {\n account: this.walletClient.account!,\n chain: this.viemChain,\n value,\n });\n }\n\n /**\n * Request EigenPod consolidation.\n *\n * @param srcPubkeys The source public keys.\n * @param targetPubkeys The target public keys.\n * @param value The amount to send to the target contract (small quantity of GWei)\n */\n public requestEigenPodConsolidation(\n srcPubkeys: Address[],\n targetPubkeys: Address[],\n value: bigint,\n ) {\n return this.getContract().write.requestEigenPodConsolidation(\n [srcPubkeys, targetPubkeys],\n {\n account: this.walletClient.account!,\n chain: this.viemChain,\n value,\n },\n );\n }\n\n /**\n * Withdraw non-restaked ETH from the vault.\n */\n public withdrawNonRestakedETH() {\n return this.getContract().write.withdrawNonRestakedETH({\n account: this.walletClient.account!,\n chain: this.viemChain,\n });\n }\n}\n"],"names":["InstitutionalVaultHandler","chain","walletClient","publicClient","VIEM_CHAINS","address","InvalidContractAddressError","abi","InstitutionalVault","client","getContract","owner","spender","amount","withdrawals","receiveAsTokens","shares","assets","receiver","value","requests","restakedValidatorsETH","nonRestakedValidatorsETH","pubKeys","signatures","amountsInGwei","depositDataRoots","to","from","target","data","srcPubkeys","targetPubkeys"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../constants-Dhpa19or.cjs");var C=(e=>(e.USDT="USDT",e.USDC="USDC",e.DAI="DAI",e.WETH="WETH",e.stETH="stETH",e.wstETH="wstETH",e.eETH="eETH",e.cbETH="cbETH",e.ALT="ALT",e.pufETHwstE="pufETHwstE",e.pufETH="pufETH",e.xPufETH="xPufETH",e.ctTACpufETH="ctTACpufETH",e.tacpufETH="tacpufETH",e.WBTC="WBTC",e.LBTC="LBTC",e.tBTC="tBTC",e.cbBTC="cbBTC",e.pumpBTC="pumpBTC",e.SolvBTC="SolvBTC",e.FBTC="FBTC",e.PUFFER="PUFFER",e.vePUFFER="vePUFFER",e.CARROT="CARROT",e.lvlUSD="lvlUSD",e.slvlUSD="slvlUSD",e.mtwCARROT="mtwCARROT",e.sCARROT="sCARROT",e.LINK="LINK",e.TEST="TEST",e.VT="VT",e.EIGEN="EIGEN",e.ARPA="ARPA",e.vlPUFFER="vlPUFFER",e))(C||{}),i=(e=>(e.unifiETH="unifiETH",e.unifiUSD="unifiUSD",e.unifiBTC="unifiBTC",e.pufETHs="pufETHs",e))(i||{});const n={VT:{[a.Chain.Mainnet]:"0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A",[a.Chain.Holesky]:"0xB028194785178a94Fe608994A4d5AD84c285A640"},TEST:{[a.Chain.Sepolia]:"0xd26e3540a0a368845b234736a0700e0a5a821bba",[a.Chain.OptimismSepolia]:"0x7Fa13D6CB44164ea09dF8BCc673A8849092D435b"},LINK:{[a.Chain.BaseSepolia]:"0xe4ab69c077896252fafbd49efd26b5d171a32410",[a.Chain.OptimismSepolia]:"0xE4aB69C077896252FAFBD49EFD26B5D171A32410"},USDT:{[a.Chain.Mainnet]:"0xdac17f958d2ee523a2206206994597c13d831ec7",[a.Chain.Holesky]:"0xd5bef2c64f418fd460319521d37862327122e3bc",[a.Chain.Sepolia]:"0xaa8e23fb1079ea71e0a56f48a2aa51851d8433d0"},USDC:{[a.Chain.Mainnet]:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",[a.Chain.Holesky]:"0x64Cc0de0429bcb87e875905a0c313ec88f6d1d3E"},DAI:{[a.Chain.Mainnet]:"0x6b175474e89094c44da98b954eedeac495271d0f",[a.Chain.Holesky]:"0x4478905505ddfb7eA1c8A9f46eAEC3695cE542ac"},WETH:{[a.Chain.Mainnet]:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",[a.Chain.Holesky]:"0x1d181cBd1825e9eBC6AD966878D555A7215FF4F0",[a.Chain.Hoodi]:"0x251609d3e04165CA5CfaBa5DEE70A4e47863D060"},stETH:{[a.Chain.Mainnet]:"0xae7ab96520de3a18e5e111b5eaab095312d7fe84",[a.Chain.Holesky]:"0x3F1c547b21f65e10480dE3ad8E19fAAC46C95034"},wstETH:{[a.Chain.Mainnet]:"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0",[a.Chain.Holesky]:"0x8d09a4502Cc8Cf1547aD300E066060D043f6982D"},eETH:{[a.Chain.Mainnet]:"0x35fa164735182de50811e8e2e824cfb9b6118ac2",[a.Chain.Holesky]:"0x7ba2ee123b5977e3da040e1eacb3a61c82c17876"},cbETH:{[a.Chain.Mainnet]:"0xbe9895146f7af43049ca1c1ae358b0541ea49704",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},ALT:{[a.Chain.Mainnet]:"0x8457ca5040ad67fdebbcc8edce889a335bc0fbfb",[a.Chain.Holesky]:"0xaf5588a571b42c7e50bd440d80f9bf94a4db94ee"},pufETHwstE:{[a.Chain.Mainnet]:"0xeeda34a377dd0ca676b9511ee1324974fa8d980d",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},pufETH:{[a.Chain.Mainnet]:"0xd9a442856c234a39a81a089c06451ebaa4306a72",[a.Chain.Holesky]:"0x9196830bB4c05504E0A8475A0aD566AceEB6BeC9",[a.Chain.Soneium]:"0x6c460b2c6D6719562D5dA43E5152B375e79B9A8B",[a.Chain.Arbitrum]:"0x37D6382B6889cCeF8d6871A8b60E667115eDDBcF",[a.Chain.Berachain]:"0x417b0Ff8358Eb72867Da92225CaB99BCD5e6F205",[a.Chain.TAC]:"0x37D6382B6889cCeF8d6871A8b60E667115eDDBcF"},xPufETH:{[a.Chain.Mainnet]:"0xD7D2802f6b19843ac4DfE25022771FD83b5A7464",[a.Chain.Base]:"0x23dA5F2d509cb43A59d43C108a43eDf34510eff1",[a.Chain.Bsc]:"0x64274835D88F5c0215da8AADd9A5f2D2A2569381",[a.Chain.ApeChain]:"0x6234E5ef39B12EFdFcbd99dd7F452F27F3fEAE3b",[a.Chain.Zircuit]:"0x9346A5043C590133FE900aec643D9622EDddBA57"},ctTACpufETH:{[a.Chain.Mainnet]:"0x78f314241df1ac151bfd0413eeb51979515f6abd",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},tacpufETH:{[a.Chain.Mainnet]:"0xf2e97704a567e003ed97f2d0976c45b2dda766a0",[a.Chain.TAC]:"0x85AF3C2755f17bA26D7326E8069Bf10719441068",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},WBTC:{[a.Chain.Mainnet]:"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},LBTC:{[a.Chain.Mainnet]:"0x8236a87084f8b84306f72007f36f2618a5634494",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},tBTC:{[a.Chain.Mainnet]:"0x18084fbA666a33d37592fA2633fD49a74DD93a88",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},cbBTC:{[a.Chain.Mainnet]:"0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},pumpBTC:{[a.Chain.Mainnet]:"0xf469fbd2abcd6b9de8e169d128226c0fc90a012e",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},SolvBTC:{[a.Chain.Mainnet]:"0x7a56e1c57c7475ccf742a1832b028f0456652f97",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},FBTC:{[a.Chain.Mainnet]:"0xC96dE26018A54D51c097160568752c4E3BD6C364",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},PUFFER:{[a.Chain.Mainnet]:"0x4d1c297d39c5c1277964d0e3f8aa901493664530",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},vePUFFER:{[a.Chain.Mainnet]:"0xA55eD5808aeCDF23AE3782C1443185f5D2363ce7"},CARROT:{[a.Chain.Mainnet]:"0x282a69142bac47855c3fbe1693fcc4ba3b4d5ed6",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},lvlUSD:{[a.Chain.Mainnet]:"0x7C1156E515aA1A2E851674120074968C905aAF37",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},slvlUSD:{[a.Chain.Mainnet]:"0x4737d9b4592b40d51e110b94c9c043c6654067ae",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},mtwCARROT:{[a.Chain.Mainnet]:"0x8A5A5DE9db5770123Ff2145F59e9F20047f0A8EC",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},sCARROT:{[a.Chain.Mainnet]:"0x99c599227c65132822f0290d9e5b4b0430d6c0d6",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},EIGEN:{[a.Chain.Mainnet]:"0xec53bF9167f50cDEB3Ae105f56099aaaB9061F83"},ARPA:{[a.Chain.Mainnet]:"0xBA50933C268F567BDC86E1aC131BE072C6B0b71a"},unifiETH:{[a.Chain.Mainnet]:"0x196ead472583bc1e9af7a05f860d9857e1bd3dcc",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},unifiUSD:{[a.Chain.Mainnet]:"0x82c40e07277eBb92935f79cE92268F80dDc7caB4",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},unifiBTC:{[a.Chain.Mainnet]:"0x170d847a8320f3b6a77ee15b0cae430e3ec933a0",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},pufETHs:{[a.Chain.Mainnet]:"0x62a4ce0722ee65635c0f8339dd814d549b6f6735",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},vlPUFFER:{[a.Chain.Mainnet]:"0x1e168460ea0cf3f126ddd3183dc2e376515a5e91"}},c={USDT:"",USDC:"",DAI:"",WETH:"",stETH:"2",wstETH:"1",eETH:"1",cbETH:"2",ALT:"1",pufETHwstE:"v7.0.0",pufETH:"1",xPufETH:"1",ctTACpufETH:"",tacpufETH:"v0.5.0",WBTC:"",LBTC:"",tBTC:"",cbBTC:"",pumpBTC:"",SolvBTC:"",FBTC:"",PUFFER:"1",vePUFFER:"1",CARROT:"1",lvlUSD:"1",slvlUSD:"",mtwCARROT:"",sCARROT:"",LINK:"",TEST:"",VT:"1",EIGEN:"1",ARPA:"1",unifiETH:"1",unifiUSD:"1",unifiBTC:"1",pufETHs:"1",vlPUFFER:"1"},f={pufETHwstE:{[a.Chain.Mainnet]:"0x0e986ed5610121905f03fd3850cebcc00f66166fc3ab760acb4e087d735d9457",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000000000000000000000000000"}};exports.TOKENS_ADDRESSES=n;exports.TOKENS_PERMIT_VERSION=c;exports.TOKENS_SALT=f;exports.Token=C;exports.UnifiToken=i;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../constants-Dhpa19or.cjs");var C=(e=>(e.USDT="USDT",e.USDC="USDC",e.DAI="DAI",e.WETH="WETH",e.stETH="stETH",e.wstETH="wstETH",e.eETH="eETH",e.cbETH="cbETH",e.ALT="ALT",e.pufETHwstE="pufETHwstE",e.pufETH="pufETH",e.xPufETH="xPufETH",e.ctTACpufETH="ctTACpufETH",e.tacpufETH="tacpufETH",e.WBTC="WBTC",e.LBTC="LBTC",e.tBTC="tBTC",e.cbBTC="cbBTC",e.pumpBTC="pumpBTC",e.SolvBTC="SolvBTC",e.FBTC="FBTC",e.PUFFER="PUFFER",e.vePUFFER="vePUFFER",e.CARROT="CARROT",e.lvlUSD="lvlUSD",e.slvlUSD="slvlUSD",e.mtwCARROT="mtwCARROT",e.sCARROT="sCARROT",e.LINK="LINK",e.TEST="TEST",e.VT="VT",e.EIGEN="EIGEN",e.ARPA="ARPA",e.vlPUFFER="vlPUFFER",e))(C||{}),i=(e=>(e.unifiETH="unifiETH",e.unifiUSD="unifiUSD",e.unifiBTC="unifiBTC",e.pufETHs="pufETHs",e))(i||{});const n={VT:{[a.Chain.Mainnet]:"0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A",[a.Chain.Holesky]:"0xB028194785178a94Fe608994A4d5AD84c285A640"},TEST:{[a.Chain.Sepolia]:"0xd26e3540a0a368845b234736a0700e0a5a821bba",[a.Chain.OptimismSepolia]:"0x7Fa13D6CB44164ea09dF8BCc673A8849092D435b"},LINK:{[a.Chain.BaseSepolia]:"0xe4ab69c077896252fafbd49efd26b5d171a32410",[a.Chain.OptimismSepolia]:"0xE4aB69C077896252FAFBD49EFD26B5D171A32410"},USDT:{[a.Chain.Mainnet]:"0xdac17f958d2ee523a2206206994597c13d831ec7",[a.Chain.Holesky]:"0xd5bef2c64f418fd460319521d37862327122e3bc",[a.Chain.Sepolia]:"0xaa8e23fb1079ea71e0a56f48a2aa51851d8433d0"},USDC:{[a.Chain.Mainnet]:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",[a.Chain.Holesky]:"0x64Cc0de0429bcb87e875905a0c313ec88f6d1d3E"},DAI:{[a.Chain.Mainnet]:"0x6b175474e89094c44da98b954eedeac495271d0f",[a.Chain.Holesky]:"0x4478905505ddfb7eA1c8A9f46eAEC3695cE542ac"},WETH:{[a.Chain.Mainnet]:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",[a.Chain.Holesky]:"0x1d181cBd1825e9eBC6AD966878D555A7215FF4F0",[a.Chain.Hoodi]:"0x251609d3e04165CA5CfaBa5DEE70A4e47863D060"},stETH:{[a.Chain.Mainnet]:"0xae7ab96520de3a18e5e111b5eaab095312d7fe84",[a.Chain.Holesky]:"0x3F1c547b21f65e10480dE3ad8E19fAAC46C95034"},wstETH:{[a.Chain.Mainnet]:"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0",[a.Chain.Holesky]:"0x8d09a4502Cc8Cf1547aD300E066060D043f6982D"},eETH:{[a.Chain.Mainnet]:"0x35fa164735182de50811e8e2e824cfb9b6118ac2",[a.Chain.Holesky]:"0x7ba2ee123b5977e3da040e1eacb3a61c82c17876"},cbETH:{[a.Chain.Mainnet]:"0xbe9895146f7af43049ca1c1ae358b0541ea49704",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},ALT:{[a.Chain.Mainnet]:"0x8457ca5040ad67fdebbcc8edce889a335bc0fbfb",[a.Chain.Holesky]:"0xaf5588a571b42c7e50bd440d80f9bf94a4db94ee"},pufETHwstE:{[a.Chain.Mainnet]:"0xeeda34a377dd0ca676b9511ee1324974fa8d980d",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},pufETH:{[a.Chain.Mainnet]:"0xd9a442856c234a39a81a089c06451ebaa4306a72",[a.Chain.Holesky]:"0x9196830bB4c05504E0A8475A0aD566AceEB6BeC9",[a.Chain.Soneium]:"0x6c460b2c6D6719562D5dA43E5152B375e79B9A8B",[a.Chain.Arbitrum]:"0x37D6382B6889cCeF8d6871A8b60E667115eDDBcF",[a.Chain.Berachain]:"0x417b0Ff8358Eb72867Da92225CaB99BCD5e6F205",[a.Chain.TAC]:"0x37D6382B6889cCeF8d6871A8b60E667115eDDBcF",[a.Chain.Base]:"0x30D91DF53cCCf07e3a5BF6862Db8CFBe1fCB21d3",[a.Chain.Monad]:"0x37D6382B6889cCeF8d6871A8b60E667115eDDBcF",[a.Chain.HyperEVM]:"0x87d00066cf131ff54B72B134a217D5401E5392b6"},xPufETH:{[a.Chain.Mainnet]:"0xD7D2802f6b19843ac4DfE25022771FD83b5A7464",[a.Chain.Base]:"0x23dA5F2d509cb43A59d43C108a43eDf34510eff1",[a.Chain.Bsc]:"0x64274835D88F5c0215da8AADd9A5f2D2A2569381",[a.Chain.ApeChain]:"0x6234E5ef39B12EFdFcbd99dd7F452F27F3fEAE3b",[a.Chain.Zircuit]:"0x9346A5043C590133FE900aec643D9622EDddBA57"},ctTACpufETH:{[a.Chain.Mainnet]:"0x78f314241df1ac151bfd0413eeb51979515f6abd",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},tacpufETH:{[a.Chain.Mainnet]:"0xf2e97704a567e003ed97f2d0976c45b2dda766a0",[a.Chain.TAC]:"0x85AF3C2755f17bA26D7326E8069Bf10719441068",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},WBTC:{[a.Chain.Mainnet]:"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},LBTC:{[a.Chain.Mainnet]:"0x8236a87084f8b84306f72007f36f2618a5634494",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},tBTC:{[a.Chain.Mainnet]:"0x18084fbA666a33d37592fA2633fD49a74DD93a88",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},cbBTC:{[a.Chain.Mainnet]:"0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},pumpBTC:{[a.Chain.Mainnet]:"0xf469fbd2abcd6b9de8e169d128226c0fc90a012e",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},SolvBTC:{[a.Chain.Mainnet]:"0x7a56e1c57c7475ccf742a1832b028f0456652f97",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},FBTC:{[a.Chain.Mainnet]:"0xC96dE26018A54D51c097160568752c4E3BD6C364",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},PUFFER:{[a.Chain.Mainnet]:"0x4d1c297d39c5c1277964d0e3f8aa901493664530",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000",[a.Chain.Base]:"0x8dA0baE597aC15fB0924713b1e3c1F624474F3E4",[a.Chain.Bsc]:"0x87d00066cf131ff54B72B134a217D5401E5392b6"},vePUFFER:{[a.Chain.Mainnet]:"0xA55eD5808aeCDF23AE3782C1443185f5D2363ce7"},CARROT:{[a.Chain.Mainnet]:"0x282a69142bac47855c3fbe1693fcc4ba3b4d5ed6",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},lvlUSD:{[a.Chain.Mainnet]:"0x7C1156E515aA1A2E851674120074968C905aAF37",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},slvlUSD:{[a.Chain.Mainnet]:"0x4737d9b4592b40d51e110b94c9c043c6654067ae",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},mtwCARROT:{[a.Chain.Mainnet]:"0x8A5A5DE9db5770123Ff2145F59e9F20047f0A8EC",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},sCARROT:{[a.Chain.Mainnet]:"0x99c599227c65132822f0290d9e5b4b0430d6c0d6",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},EIGEN:{[a.Chain.Mainnet]:"0xec53bF9167f50cDEB3Ae105f56099aaaB9061F83"},ARPA:{[a.Chain.Mainnet]:"0xBA50933C268F567BDC86E1aC131BE072C6B0b71a"},unifiETH:{[a.Chain.Mainnet]:"0x196ead472583bc1e9af7a05f860d9857e1bd3dcc",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},unifiUSD:{[a.Chain.Mainnet]:"0x82c40e07277eBb92935f79cE92268F80dDc7caB4",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},unifiBTC:{[a.Chain.Mainnet]:"0x170d847a8320f3b6a77ee15b0cae430e3ec933a0",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},pufETHs:{[a.Chain.Mainnet]:"0x62a4ce0722ee65635c0f8339dd814d549b6f6735",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000"},vlPUFFER:{[a.Chain.Mainnet]:"0x1e168460ea0cf3f126ddd3183dc2e376515a5e91"}},c={USDT:"",USDC:"",DAI:"",WETH:"",stETH:"2",wstETH:"1",eETH:"1",cbETH:"2",ALT:"1",pufETHwstE:"v7.0.0",pufETH:"1",xPufETH:"1",ctTACpufETH:"",tacpufETH:"v0.5.0",WBTC:"",LBTC:"",tBTC:"",cbBTC:"",pumpBTC:"",SolvBTC:"",FBTC:"",PUFFER:"1",vePUFFER:"1",CARROT:"1",lvlUSD:"1",slvlUSD:"",mtwCARROT:"",sCARROT:"",LINK:"",TEST:"",VT:"1",EIGEN:"1",ARPA:"1",unifiETH:"1",unifiUSD:"1",unifiBTC:"1",pufETHs:"1",vlPUFFER:"1"},f={pufETHwstE:{[a.Chain.Mainnet]:"0x0e986ed5610121905f03fd3850cebcc00f66166fc3ab760acb4e087d735d9457",[a.Chain.Holesky]:"0x0000000000000000000000000000000000000000000000000000000000000000"}};exports.TOKENS_ADDRESSES=n;exports.TOKENS_PERMIT_VERSION=c;exports.TOKENS_SALT=f;exports.Token=C;exports.UnifiToken=i;
|
|
2
2
|
//# sourceMappingURL=tokens.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.cjs","sources":["../../lib/contracts/tokens.ts"],"sourcesContent":["import { Address } from 'viem';\nimport { Chain } from '../chains/constants';\n\nexport enum Token {\n USDT = 'USDT',\n USDC = 'USDC',\n DAI = 'DAI',\n WETH = 'WETH',\n stETH = 'stETH',\n wstETH = 'wstETH',\n eETH = 'eETH',\n cbETH = 'cbETH',\n ALT = 'ALT',\n pufETHwstE = 'pufETHwstE',\n pufETH = 'pufETH',\n xPufETH = 'xPufETH',\n ctTACpufETH = 'ctTACpufETH',\n tacpufETH = 'tacpufETH',\n WBTC = 'WBTC',\n LBTC = 'LBTC',\n tBTC = 'tBTC',\n cbBTC = 'cbBTC',\n pumpBTC = 'pumpBTC',\n SolvBTC = 'SolvBTC',\n FBTC = 'FBTC',\n PUFFER = 'PUFFER',\n vePUFFER = 'vePUFFER',\n CARROT = 'CARROT',\n lvlUSD = 'lvlUSD',\n slvlUSD = 'slvlUSD',\n mtwCARROT = 'mtwCARROT',\n sCARROT = 'sCARROT',\n LINK = 'LINK',\n TEST = 'TEST',\n VT = 'VT',\n EIGEN = 'EIGEN',\n ARPA = 'ARPA',\n vlPUFFER = 'vlPUFFER',\n}\n\nexport enum UnifiToken {\n unifiETH = 'unifiETH',\n unifiUSD = 'unifiUSD',\n unifiBTC = 'unifiBTC',\n // Symbiotic pufETH.\n pufETHs = 'pufETHs',\n}\n\nexport type AnyToken = Token | UnifiToken;\n\nexport const TOKENS_ADDRESSES: {\n [key in AnyToken]: { [chain in Chain]: Address };\n} = {\n [Token.VT]: {\n [Chain.Mainnet]: '0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A',\n [Chain.Holesky]: '0xB028194785178a94Fe608994A4d5AD84c285A640',\n },\n [Token.TEST]: {\n [Chain.Sepolia]: '0xd26e3540a0a368845b234736a0700e0a5a821bba',\n [Chain.OptimismSepolia]: '0x7Fa13D6CB44164ea09dF8BCc673A8849092D435b',\n },\n [Token.LINK]: {\n [Chain.BaseSepolia]: '0xe4ab69c077896252fafbd49efd26b5d171a32410',\n [Chain.OptimismSepolia]: '0xE4aB69C077896252FAFBD49EFD26B5D171A32410',\n },\n [Token.USDT]: {\n [Chain.Mainnet]: '0xdac17f958d2ee523a2206206994597c13d831ec7',\n [Chain.Holesky]: '0xd5bef2c64f418fd460319521d37862327122e3bc',\n [Chain.Sepolia]: '0xaa8e23fb1079ea71e0a56f48a2aa51851d8433d0',\n },\n [Token.USDC]: {\n [Chain.Mainnet]: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',\n [Chain.Holesky]: '0x64Cc0de0429bcb87e875905a0c313ec88f6d1d3E',\n },\n [Token.DAI]: {\n [Chain.Mainnet]: '0x6b175474e89094c44da98b954eedeac495271d0f',\n [Chain.Holesky]: '0x4478905505ddfb7eA1c8A9f46eAEC3695cE542ac',\n },\n [Token.WETH]: {\n [Chain.Mainnet]: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',\n [Chain.Holesky]: '0x1d181cBd1825e9eBC6AD966878D555A7215FF4F0',\n [Chain.Hoodi]: '0x251609d3e04165CA5CfaBa5DEE70A4e47863D060',\n },\n [Token.stETH]: {\n [Chain.Mainnet]: '0xae7ab96520de3a18e5e111b5eaab095312d7fe84',\n [Chain.Holesky]: '0x3F1c547b21f65e10480dE3ad8E19fAAC46C95034',\n },\n [Token.wstETH]: {\n [Chain.Mainnet]: '0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0',\n [Chain.Holesky]: '0x8d09a4502Cc8Cf1547aD300E066060D043f6982D',\n },\n [Token.eETH]: {\n [Chain.Mainnet]: '0x35fa164735182de50811e8e2e824cfb9b6118ac2',\n [Chain.Holesky]: '0x7ba2ee123b5977e3da040e1eacb3a61c82c17876',\n },\n [Token.cbETH]: {\n [Chain.Mainnet]: '0xbe9895146f7af43049ca1c1ae358b0541ea49704',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.ALT]: {\n [Chain.Mainnet]: '0x8457ca5040ad67fdebbcc8edce889a335bc0fbfb',\n [Chain.Holesky]: '0xaf5588a571b42c7e50bd440d80f9bf94a4db94ee',\n },\n [Token.pufETHwstE]: {\n [Chain.Mainnet]: '0xeeda34a377dd0ca676b9511ee1324974fa8d980d',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.pufETH]: {\n [Chain.Mainnet]: '0xd9a442856c234a39a81a089c06451ebaa4306a72',\n [Chain.Holesky]: '0x9196830bB4c05504E0A8475A0aD566AceEB6BeC9',\n [Chain.Soneium]: '0x6c460b2c6D6719562D5dA43E5152B375e79B9A8B',\n [Chain.Arbitrum]: '0x37D6382B6889cCeF8d6871A8b60E667115eDDBcF',\n [Chain.Berachain]: '0x417b0Ff8358Eb72867Da92225CaB99BCD5e6F205',\n [Chain.TAC]: '0x37D6382B6889cCeF8d6871A8b60E667115eDDBcF',\n },\n [Token.xPufETH]: {\n [Chain.Mainnet]: '0xD7D2802f6b19843ac4DfE25022771FD83b5A7464',\n [Chain.Base]: '0x23dA5F2d509cb43A59d43C108a43eDf34510eff1',\n [Chain.Bsc]: '0x64274835D88F5c0215da8AADd9A5f2D2A2569381',\n [Chain.ApeChain]: '0x6234E5ef39B12EFdFcbd99dd7F452F27F3fEAE3b',\n [Chain.Zircuit]: '0x9346A5043C590133FE900aec643D9622EDddBA57',\n },\n [Token.ctTACpufETH]: {\n [Chain.Mainnet]: '0x78f314241df1ac151bfd0413eeb51979515f6abd',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.tacpufETH]: {\n // This is the pre-deposit contract.\n [Chain.Mainnet]: '0xf2e97704a567e003ed97f2d0976c45b2dda766a0',\n [Chain.TAC]: '0x85AF3C2755f17bA26D7326E8069Bf10719441068',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.WBTC]: {\n [Chain.Mainnet]: '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.LBTC]: {\n [Chain.Mainnet]: '0x8236a87084f8b84306f72007f36f2618a5634494',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.tBTC]: {\n [Chain.Mainnet]: '0x18084fbA666a33d37592fA2633fD49a74DD93a88',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.cbBTC]: {\n [Chain.Mainnet]: '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.pumpBTC]: {\n [Chain.Mainnet]: '0xf469fbd2abcd6b9de8e169d128226c0fc90a012e',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.SolvBTC]: {\n [Chain.Mainnet]: '0x7a56e1c57c7475ccf742a1832b028f0456652f97',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.FBTC]: {\n [Chain.Mainnet]: '0xC96dE26018A54D51c097160568752c4E3BD6C364',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.PUFFER]: {\n [Chain.Mainnet]: '0x4d1c297d39c5c1277964d0e3f8aa901493664530',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.vePUFFER]: {\n [Chain.Mainnet]: '0xA55eD5808aeCDF23AE3782C1443185f5D2363ce7',\n },\n [Token.CARROT]: {\n [Chain.Mainnet]: '0x282a69142bac47855c3fbe1693fcc4ba3b4d5ed6',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.lvlUSD]: {\n [Chain.Mainnet]: '0x7C1156E515aA1A2E851674120074968C905aAF37',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.slvlUSD]: {\n [Chain.Mainnet]: '0x4737d9b4592b40d51e110b94c9c043c6654067ae',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.mtwCARROT]: {\n [Chain.Mainnet]: '0x8A5A5DE9db5770123Ff2145F59e9F20047f0A8EC',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.sCARROT]: {\n [Chain.Mainnet]: '0x99c599227c65132822f0290d9e5b4b0430d6c0d6',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.EIGEN]: {\n [Chain.Mainnet]: '0xec53bF9167f50cDEB3Ae105f56099aaaB9061F83',\n },\n [Token.ARPA]: {\n [Chain.Mainnet]: '0xBA50933C268F567BDC86E1aC131BE072C6B0b71a',\n },\n\n // UniFi Tokens\n [UnifiToken.unifiETH]: {\n [Chain.Mainnet]: '0x196ead472583bc1e9af7a05f860d9857e1bd3dcc',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [UnifiToken.unifiUSD]: {\n [Chain.Mainnet]: '0x82c40e07277eBb92935f79cE92268F80dDc7caB4',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [UnifiToken.unifiBTC]: {\n [Chain.Mainnet]: '0x170d847a8320f3b6a77ee15b0cae430e3ec933a0',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [UnifiToken.pufETHs]: {\n [Chain.Mainnet]: '0x62a4ce0722ee65635c0f8339dd814d549b6f6735',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.vlPUFFER]: {\n [Chain.Mainnet]: '0x1e168460ea0cf3f126ddd3183dc2e376515a5e91',\n },\n};\n\nexport const TOKENS_PERMIT_VERSION: { [key in AnyToken]: string } = {\n // USDC does not support permit signatures (ERC20Permit).\n // https://ethereum.stackexchange.com/questions/166254/usdt-contract-dont-have-erc20permit\n [Token.USDT]: '',\n // USDC does not support permit signatures (ERC20Permit).\n [Token.USDC]: '',\n // DAI does not support permit signatures (ERC20Permit).\n [Token.DAI]: '',\n // WETH does not support permit signatures (ERC20Permit).\n [Token.WETH]: '',\n [Token.stETH]: '2',\n // Puffer Quest v1 uses version 1 for wstETH.\n [Token.wstETH]: '1',\n // https://github.com/etherfi-protocol/smart-contracts/blob/7c66e571df4fe7ec502a3c325b623bc52349ef9d/src/EETH.sol#L55\n [Token.eETH]: '1',\n // https://etherscan.io/token/0xbe9895146f7af43049ca1c1ae358b0541ea49704#readProxyContract#F26\n [Token.cbETH]: '2',\n [Token.ALT]: '1',\n [Token.pufETHwstE]: 'v7.0.0',\n [Token.pufETH]: '1',\n [Token.xPufETH]: '1',\n [Token.ctTACpufETH]: '',\n // https://etherscan.io/address/0xf2e97704a567e003ed97f2d0976c45b2dda766a0#readProxyContract#F39\n [Token.tacpufETH]: 'v0.5.0',\n [Token.WBTC]: '',\n [Token.LBTC]: '',\n [Token.tBTC]: '',\n [Token.cbBTC]: '',\n [Token.pumpBTC]: '',\n [Token.SolvBTC]: '',\n [Token.FBTC]: '',\n [Token.PUFFER]: '1',\n [Token.vePUFFER]: '1',\n [Token.CARROT]: '1',\n [Token.lvlUSD]: '1',\n // `slvlUSD` supports permit but the transactions are reverting now\n // for some reason.\n [Token.slvlUSD]: '',\n [Token.mtwCARROT]: '',\n [Token.sCARROT]: '',\n [Token.LINK]: '',\n [Token.TEST]: '',\n [Token.VT]: '1',\n [Token.EIGEN]: '1',\n [Token.ARPA]: '1',\n\n // UniFi Tokens\n // https://etherscan.io/address/0x196ead472583bc1e9af7a05f860d9857e1bd3dcc#code#F7#L172\n [UnifiToken.unifiETH]: '1',\n // https://etherscan.io/address/0x82c40e07277eBb92935f79cE92268F80dDc7caB4#code#F7#L172\n [UnifiToken.unifiUSD]: '1',\n // https://etherscan.io/address/0x170d847a8320f3b6a77ee15b0cae430e3ec933a0#code#F7#L172\n [UnifiToken.unifiBTC]: '1',\n // https://etherscan.io/address/0x62a4ce0722ee65635c0f8339dd814d549b6f6735#code#F7#L172\n [UnifiToken.pufETHs]: '1',\n [Token.vlPUFFER]: '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":"6HAGO,IAAKA,GAAAA,IACVA,EAAA,KAAO,OACPA,EAAA,KAAO,OACPA,EAAA,IAAM,MACNA,EAAA,KAAO,OACPA,EAAA,MAAQ,QACRA,EAAA,OAAS,SACTA,EAAA,KAAO,OACPA,EAAA,MAAQ,QACRA,EAAA,IAAM,MACNA,EAAA,WAAa,aACbA,EAAA,OAAS,SACTA,EAAA,QAAU,UACVA,EAAA,YAAc,cACdA,EAAA,UAAY,YACZA,EAAA,KAAO,OACPA,EAAA,KAAO,OACPA,EAAA,KAAO,OACPA,EAAA,MAAQ,QACRA,EAAA,QAAU,UACVA,EAAA,QAAU,UACVA,EAAA,KAAO,OACPA,EAAA,OAAS,SACTA,EAAA,SAAW,WACXA,EAAA,OAAS,SACTA,EAAA,OAAS,SACTA,EAAA,QAAU,UACVA,EAAA,UAAY,YACZA,EAAA,QAAU,UACVA,EAAA,KAAO,OACPA,EAAA,KAAO,OACPA,EAAA,GAAK,KACLA,EAAA,MAAQ,QACRA,EAAA,KAAO,OACPA,EAAA,SAAW,WAlCDA,IAAAA,GAAA,CAAA,CAAA,EAqCAC,GAAAA,IACVA,EAAA,SAAW,WACXA,EAAA,SAAW,WACXA,EAAA,SAAW,WAEXA,EAAA,QAAU,UALAA,IAAAA,GAAA,CAAA,CAAA,EAUL,MAAMC,EAET,CACD,GAAW,CACV,CAACC,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAElB,KAAa,CACZ,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,eAAe,EAAG,4CAAA,EAE1B,KAAa,CACZ,CAACA,EAAAA,MAAM,WAAW,EAAG,6CACrB,CAACA,EAAAA,MAAM,eAAe,EAAG,4CAAA,EAE1B,KAAa,CACZ,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAElB,KAAa,CACZ,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAElB,IAAY,CACX,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAElB,KAAa,CACZ,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,KAAK,EAAG,4CAAA,EAEhB,MAAc,CACb,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAElB,OAAe,CACd,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAElB,KAAa,CACZ,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAElB,MAAc,CACb,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAElB,IAAY,CACX,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAElB,WAAmB,CAClB,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAElB,OAAe,CACd,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,QAAQ,EAAG,6CAClB,CAACA,EAAAA,MAAM,SAAS,EAAG,6CACnB,CAACA,EAAAA,MAAM,GAAG,EAAG,4CAAA,EAEd,QAAgB,CACf,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,IAAI,EAAG,6CACd,CAACA,EAAAA,MAAM,GAAG,EAAG,6CACb,CAACA,EAAAA,MAAM,QAAQ,EAAG,6CAClB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAElB,YAAoB,CACnB,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAElB,UAAkB,CAEjB,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,GAAG,EAAG,6CACb,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAElB,KAAa,CACZ,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAElB,KAAa,CACZ,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAElB,KAAa,CACZ,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAElB,MAAc,CACb,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAElB,QAAgB,CACf,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAElB,QAAgB,CACf,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAElB,KAAa,CACZ,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAElB,OAAe,CACd,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAElB,SAAiB,CAChB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAElB,OAAe,CACd,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAElB,OAAe,CACd,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAElB,QAAgB,CACf,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAElB,UAAkB,CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAElB,QAAgB,CACf,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAElB,MAAc,CACb,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAElB,KAAa,CACZ,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAIlB,SAAsB,CACrB,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAElB,SAAsB,CACrB,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAElB,SAAsB,CACrB,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAElB,QAAqB,CACpB,CAACA,EAAAA,MAAM,OAAO,EAAG,6CACjB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,EAElB,SAAiB,CAChB,CAACA,EAAAA,MAAM,OAAO,EAAG,4CAAA,CAErB,EAEaC,EAAuD,CAGjE,KAAa,GAEb,KAAa,GAEb,IAAY,GAEZ,KAAa,GACb,MAAc,IAEd,OAAe,IAEf,KAAa,IAEb,MAAc,IACd,IAAY,IACZ,WAAmB,SACnB,OAAe,IACf,QAAgB,IAChB,YAAoB,GAEpB,UAAkB,SAClB,KAAa,GACb,KAAa,GACb,KAAa,GACb,MAAc,GACd,QAAgB,GAChB,QAAgB,GAChB,KAAa,GACb,OAAe,IACf,SAAiB,IACjB,OAAe,IACf,OAAe,IAGf,QAAgB,GAChB,UAAkB,GAClB,QAAgB,GAChB,KAAa,GACb,KAAa,GACb,GAAW,IACX,MAAc,IACd,KAAa,IAIb,SAAsB,IAEtB,SAAsB,IAEtB,SAAsB,IAEtB,QAAqB,IACrB,SAAiB,GACpB,EAEaC,EAER,CACF,WAAmB,CAGlB,CAACF,EAAAA,MAAM,OAAO,EACZ,qEACF,CAACA,EAAAA,MAAM,OAAO,EACZ,oEAAA,CAEN"}
|
|
1
|
+
{"version":3,"file":"tokens.cjs","sources":["../../lib/contracts/tokens.ts"],"sourcesContent":["import { Address } from 'viem';\nimport { Chain } from '../chains/constants';\n\nexport enum Token {\n USDT = 'USDT',\n USDC = 'USDC',\n DAI = 'DAI',\n WETH = 'WETH',\n stETH = 'stETH',\n wstETH = 'wstETH',\n eETH = 'eETH',\n cbETH = 'cbETH',\n ALT = 'ALT',\n pufETHwstE = 'pufETHwstE',\n pufETH = 'pufETH',\n xPufETH = 'xPufETH',\n ctTACpufETH = 'ctTACpufETH',\n tacpufETH = 'tacpufETH',\n WBTC = 'WBTC',\n LBTC = 'LBTC',\n tBTC = 'tBTC',\n cbBTC = 'cbBTC',\n pumpBTC = 'pumpBTC',\n SolvBTC = 'SolvBTC',\n FBTC = 'FBTC',\n PUFFER = 'PUFFER',\n vePUFFER = 'vePUFFER',\n CARROT = 'CARROT',\n lvlUSD = 'lvlUSD',\n slvlUSD = 'slvlUSD',\n mtwCARROT = 'mtwCARROT',\n sCARROT = 'sCARROT',\n LINK = 'LINK',\n TEST = 'TEST',\n VT = 'VT',\n EIGEN = 'EIGEN',\n ARPA = 'ARPA',\n vlPUFFER = 'vlPUFFER',\n}\n\nexport enum UnifiToken {\n unifiETH = 'unifiETH',\n unifiUSD = 'unifiUSD',\n unifiBTC = 'unifiBTC',\n // Symbiotic pufETH.\n pufETHs = 'pufETHs',\n}\n\nexport type AnyToken = Token | UnifiToken;\n\nexport const TOKENS_ADDRESSES: {\n [key in AnyToken]: { [chain in Chain]: Address };\n} = {\n [Token.VT]: {\n [Chain.Mainnet]: '0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A',\n [Chain.Holesky]: '0xB028194785178a94Fe608994A4d5AD84c285A640',\n },\n [Token.TEST]: {\n [Chain.Sepolia]: '0xd26e3540a0a368845b234736a0700e0a5a821bba',\n [Chain.OptimismSepolia]: '0x7Fa13D6CB44164ea09dF8BCc673A8849092D435b',\n },\n [Token.LINK]: {\n [Chain.BaseSepolia]: '0xe4ab69c077896252fafbd49efd26b5d171a32410',\n [Chain.OptimismSepolia]: '0xE4aB69C077896252FAFBD49EFD26B5D171A32410',\n },\n [Token.USDT]: {\n [Chain.Mainnet]: '0xdac17f958d2ee523a2206206994597c13d831ec7',\n [Chain.Holesky]: '0xd5bef2c64f418fd460319521d37862327122e3bc',\n [Chain.Sepolia]: '0xaa8e23fb1079ea71e0a56f48a2aa51851d8433d0',\n },\n [Token.USDC]: {\n [Chain.Mainnet]: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',\n [Chain.Holesky]: '0x64Cc0de0429bcb87e875905a0c313ec88f6d1d3E',\n },\n [Token.DAI]: {\n [Chain.Mainnet]: '0x6b175474e89094c44da98b954eedeac495271d0f',\n [Chain.Holesky]: '0x4478905505ddfb7eA1c8A9f46eAEC3695cE542ac',\n },\n [Token.WETH]: {\n [Chain.Mainnet]: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',\n [Chain.Holesky]: '0x1d181cBd1825e9eBC6AD966878D555A7215FF4F0',\n [Chain.Hoodi]: '0x251609d3e04165CA5CfaBa5DEE70A4e47863D060',\n },\n [Token.stETH]: {\n [Chain.Mainnet]: '0xae7ab96520de3a18e5e111b5eaab095312d7fe84',\n [Chain.Holesky]: '0x3F1c547b21f65e10480dE3ad8E19fAAC46C95034',\n },\n [Token.wstETH]: {\n [Chain.Mainnet]: '0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0',\n [Chain.Holesky]: '0x8d09a4502Cc8Cf1547aD300E066060D043f6982D',\n },\n [Token.eETH]: {\n [Chain.Mainnet]: '0x35fa164735182de50811e8e2e824cfb9b6118ac2',\n [Chain.Holesky]: '0x7ba2ee123b5977e3da040e1eacb3a61c82c17876',\n },\n [Token.cbETH]: {\n [Chain.Mainnet]: '0xbe9895146f7af43049ca1c1ae358b0541ea49704',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.ALT]: {\n [Chain.Mainnet]: '0x8457ca5040ad67fdebbcc8edce889a335bc0fbfb',\n [Chain.Holesky]: '0xaf5588a571b42c7e50bd440d80f9bf94a4db94ee',\n },\n [Token.pufETHwstE]: {\n [Chain.Mainnet]: '0xeeda34a377dd0ca676b9511ee1324974fa8d980d',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.pufETH]: {\n [Chain.Mainnet]: '0xd9a442856c234a39a81a089c06451ebaa4306a72',\n [Chain.Holesky]: '0x9196830bB4c05504E0A8475A0aD566AceEB6BeC9',\n [Chain.Soneium]: '0x6c460b2c6D6719562D5dA43E5152B375e79B9A8B',\n [Chain.Arbitrum]: '0x37D6382B6889cCeF8d6871A8b60E667115eDDBcF',\n [Chain.Berachain]: '0x417b0Ff8358Eb72867Da92225CaB99BCD5e6F205',\n [Chain.TAC]: '0x37D6382B6889cCeF8d6871A8b60E667115eDDBcF',\n [Chain.Base]: '0x30D91DF53cCCf07e3a5BF6862Db8CFBe1fCB21d3',\n [Chain.Monad]: '0x37D6382B6889cCeF8d6871A8b60E667115eDDBcF',\n [Chain.HyperEVM]: '0x87d00066cf131ff54B72B134a217D5401E5392b6',\n },\n [Token.xPufETH]: {\n [Chain.Mainnet]: '0xD7D2802f6b19843ac4DfE25022771FD83b5A7464',\n [Chain.Base]: '0x23dA5F2d509cb43A59d43C108a43eDf34510eff1',\n [Chain.Bsc]: '0x64274835D88F5c0215da8AADd9A5f2D2A2569381',\n [Chain.ApeChain]: '0x6234E5ef39B12EFdFcbd99dd7F452F27F3fEAE3b',\n [Chain.Zircuit]: '0x9346A5043C590133FE900aec643D9622EDddBA57',\n },\n [Token.ctTACpufETH]: {\n [Chain.Mainnet]: '0x78f314241df1ac151bfd0413eeb51979515f6abd',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.tacpufETH]: {\n // This is the pre-deposit contract.\n [Chain.Mainnet]: '0xf2e97704a567e003ed97f2d0976c45b2dda766a0',\n [Chain.TAC]: '0x85AF3C2755f17bA26D7326E8069Bf10719441068',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.WBTC]: {\n [Chain.Mainnet]: '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.LBTC]: {\n [Chain.Mainnet]: '0x8236a87084f8b84306f72007f36f2618a5634494',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.tBTC]: {\n [Chain.Mainnet]: '0x18084fbA666a33d37592fA2633fD49a74DD93a88',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.cbBTC]: {\n [Chain.Mainnet]: '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.pumpBTC]: {\n [Chain.Mainnet]: '0xf469fbd2abcd6b9de8e169d128226c0fc90a012e',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.SolvBTC]: {\n [Chain.Mainnet]: '0x7a56e1c57c7475ccf742a1832b028f0456652f97',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.FBTC]: {\n [Chain.Mainnet]: '0xC96dE26018A54D51c097160568752c4E3BD6C364',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.PUFFER]: {\n [Chain.Mainnet]: '0x4d1c297d39c5c1277964d0e3f8aa901493664530',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n [Chain.Base]: '0x8dA0baE597aC15fB0924713b1e3c1F624474F3E4',\n [Chain.Bsc]: '0x87d00066cf131ff54B72B134a217D5401E5392b6',\n },\n [Token.vePUFFER]: {\n [Chain.Mainnet]: '0xA55eD5808aeCDF23AE3782C1443185f5D2363ce7',\n },\n [Token.CARROT]: {\n [Chain.Mainnet]: '0x282a69142bac47855c3fbe1693fcc4ba3b4d5ed6',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.lvlUSD]: {\n [Chain.Mainnet]: '0x7C1156E515aA1A2E851674120074968C905aAF37',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.slvlUSD]: {\n [Chain.Mainnet]: '0x4737d9b4592b40d51e110b94c9c043c6654067ae',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.mtwCARROT]: {\n [Chain.Mainnet]: '0x8A5A5DE9db5770123Ff2145F59e9F20047f0A8EC',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.sCARROT]: {\n [Chain.Mainnet]: '0x99c599227c65132822f0290d9e5b4b0430d6c0d6',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.EIGEN]: {\n [Chain.Mainnet]: '0xec53bF9167f50cDEB3Ae105f56099aaaB9061F83',\n },\n [Token.ARPA]: {\n [Chain.Mainnet]: '0xBA50933C268F567BDC86E1aC131BE072C6B0b71a',\n },\n\n // UniFi Tokens\n [UnifiToken.unifiETH]: {\n [Chain.Mainnet]: '0x196ead472583bc1e9af7a05f860d9857e1bd3dcc',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [UnifiToken.unifiUSD]: {\n [Chain.Mainnet]: '0x82c40e07277eBb92935f79cE92268F80dDc7caB4',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [UnifiToken.unifiBTC]: {\n [Chain.Mainnet]: '0x170d847a8320f3b6a77ee15b0cae430e3ec933a0',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [UnifiToken.pufETHs]: {\n [Chain.Mainnet]: '0x62a4ce0722ee65635c0f8339dd814d549b6f6735',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.vlPUFFER]: {\n [Chain.Mainnet]: '0x1e168460ea0cf3f126ddd3183dc2e376515a5e91',\n },\n};\n\nexport const TOKENS_PERMIT_VERSION: { [key in AnyToken]: string } = {\n // USDC does not support permit signatures (ERC20Permit).\n // https://ethereum.stackexchange.com/questions/166254/usdt-contract-dont-have-erc20permit\n [Token.USDT]: '',\n // USDC does not support permit signatures (ERC20Permit).\n [Token.USDC]: '',\n // DAI does not support permit signatures (ERC20Permit).\n [Token.DAI]: '',\n // WETH does not support permit signatures (ERC20Permit).\n [Token.WETH]: '',\n [Token.stETH]: '2',\n // Puffer Quest v1 uses version 1 for wstETH.\n [Token.wstETH]: '1',\n // https://github.com/etherfi-protocol/smart-contracts/blob/7c66e571df4fe7ec502a3c325b623bc52349ef9d/src/EETH.sol#L55\n [Token.eETH]: '1',\n // https://etherscan.io/token/0xbe9895146f7af43049ca1c1ae358b0541ea49704#readProxyContract#F26\n [Token.cbETH]: '2',\n [Token.ALT]: '1',\n [Token.pufETHwstE]: 'v7.0.0',\n [Token.pufETH]: '1',\n [Token.xPufETH]: '1',\n [Token.ctTACpufETH]: '',\n // https://etherscan.io/address/0xf2e97704a567e003ed97f2d0976c45b2dda766a0#readProxyContract#F39\n [Token.tacpufETH]: 'v0.5.0',\n [Token.WBTC]: '',\n [Token.LBTC]: '',\n [Token.tBTC]: '',\n [Token.cbBTC]: '',\n [Token.pumpBTC]: '',\n [Token.SolvBTC]: '',\n [Token.FBTC]: '',\n [Token.PUFFER]: '1',\n [Token.vePUFFER]: '1',\n [Token.CARROT]: '1',\n [Token.lvlUSD]: '1',\n // `slvlUSD` supports permit but the transactions are reverting now\n // for some reason.\n [Token.slvlUSD]: '',\n [Token.mtwCARROT]: '',\n [Token.sCARROT]: '',\n [Token.LINK]: '',\n [Token.TEST]: '',\n [Token.VT]: '1',\n [Token.EIGEN]: '1',\n [Token.ARPA]: '1',\n\n // UniFi Tokens\n // https://etherscan.io/address/0x196ead472583bc1e9af7a05f860d9857e1bd3dcc#code#F7#L172\n [UnifiToken.unifiETH]: '1',\n // https://etherscan.io/address/0x82c40e07277eBb92935f79cE92268F80dDc7caB4#code#F7#L172\n [UnifiToken.unifiUSD]: '1',\n // https://etherscan.io/address/0x170d847a8320f3b6a77ee15b0cae430e3ec933a0#code#F7#L172\n [UnifiToken.unifiBTC]: '1',\n // https://etherscan.io/address/0x62a4ce0722ee65635c0f8339dd814d549b6f6735#code#F7#L172\n [UnifiToken.pufETHs]: '1',\n [Token.vlPUFFER]: '1',\n};\n\nexport const TOKENS_SALT: Partial<{\n [key in AnyToken]: { [chain in Chain]: Address };\n}> = {\n [Token.pufETHwstE]: {\n // Taken from\n // https://etherscan.io/token/0xeeda34a377dd0ca676b9511ee1324974fa8d980d#readContract#F39.\n [Chain.Mainnet]:\n '0x0e986ed5610121905f03fd3850cebcc00f66166fc3ab760acb4e087d735d9457',\n [Chain.Holesky]:\n '0x0000000000000000000000000000000000000000000000000000000000000000',\n },\n};\n"],"names":["Token","UnifiToken","TOKENS_ADDRESSES","Chain","TOKENS_PERMIT_VERSION","TOKENS_SALT"],"mappings":"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"}
|
package/dist/contracts/tokens.js
CHANGED
|
@@ -61,7 +61,10 @@ const d = {
|
|
|
61
61
|
[a.Soneium]: "0x6c460b2c6D6719562D5dA43E5152B375e79B9A8B",
|
|
62
62
|
[a.Arbitrum]: "0x37D6382B6889cCeF8d6871A8b60E667115eDDBcF",
|
|
63
63
|
[a.Berachain]: "0x417b0Ff8358Eb72867Da92225CaB99BCD5e6F205",
|
|
64
|
-
[a.TAC]: "0x37D6382B6889cCeF8d6871A8b60E667115eDDBcF"
|
|
64
|
+
[a.TAC]: "0x37D6382B6889cCeF8d6871A8b60E667115eDDBcF",
|
|
65
|
+
[a.Base]: "0x30D91DF53cCCf07e3a5BF6862Db8CFBe1fCB21d3",
|
|
66
|
+
[a.Monad]: "0x37D6382B6889cCeF8d6871A8b60E667115eDDBcF",
|
|
67
|
+
[a.HyperEVM]: "0x87d00066cf131ff54B72B134a217D5401E5392b6"
|
|
65
68
|
},
|
|
66
69
|
xPufETH: {
|
|
67
70
|
[a.Mainnet]: "0xD7D2802f6b19843ac4DfE25022771FD83b5A7464",
|
|
@@ -110,7 +113,9 @@ const d = {
|
|
|
110
113
|
},
|
|
111
114
|
PUFFER: {
|
|
112
115
|
[a.Mainnet]: "0x4d1c297d39c5c1277964d0e3f8aa901493664530",
|
|
113
|
-
[a.Holesky]: "0x0000000000000000000000000000000000000000"
|
|
116
|
+
[a.Holesky]: "0x0000000000000000000000000000000000000000",
|
|
117
|
+
[a.Base]: "0x8dA0baE597aC15fB0924713b1e3c1F624474F3E4",
|
|
118
|
+
[a.Bsc]: "0x87d00066cf131ff54B72B134a217D5401E5392b6"
|
|
114
119
|
},
|
|
115
120
|
vePUFFER: {
|
|
116
121
|
[a.Mainnet]: "0xA55eD5808aeCDF23AE3782C1443185f5D2363ce7"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sources":["../../lib/contracts/tokens.ts"],"sourcesContent":["import { Address } from 'viem';\nimport { Chain } from '../chains/constants';\n\nexport enum Token {\n USDT = 'USDT',\n USDC = 'USDC',\n DAI = 'DAI',\n WETH = 'WETH',\n stETH = 'stETH',\n wstETH = 'wstETH',\n eETH = 'eETH',\n cbETH = 'cbETH',\n ALT = 'ALT',\n pufETHwstE = 'pufETHwstE',\n pufETH = 'pufETH',\n xPufETH = 'xPufETH',\n ctTACpufETH = 'ctTACpufETH',\n tacpufETH = 'tacpufETH',\n WBTC = 'WBTC',\n LBTC = 'LBTC',\n tBTC = 'tBTC',\n cbBTC = 'cbBTC',\n pumpBTC = 'pumpBTC',\n SolvBTC = 'SolvBTC',\n FBTC = 'FBTC',\n PUFFER = 'PUFFER',\n vePUFFER = 'vePUFFER',\n CARROT = 'CARROT',\n lvlUSD = 'lvlUSD',\n slvlUSD = 'slvlUSD',\n mtwCARROT = 'mtwCARROT',\n sCARROT = 'sCARROT',\n LINK = 'LINK',\n TEST = 'TEST',\n VT = 'VT',\n EIGEN = 'EIGEN',\n ARPA = 'ARPA',\n vlPUFFER = 'vlPUFFER',\n}\n\nexport enum UnifiToken {\n unifiETH = 'unifiETH',\n unifiUSD = 'unifiUSD',\n unifiBTC = 'unifiBTC',\n // Symbiotic pufETH.\n pufETHs = 'pufETHs',\n}\n\nexport type AnyToken = Token | UnifiToken;\n\nexport const TOKENS_ADDRESSES: {\n [key in AnyToken]: { [chain in Chain]: Address };\n} = {\n [Token.VT]: {\n [Chain.Mainnet]: '0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A',\n [Chain.Holesky]: '0xB028194785178a94Fe608994A4d5AD84c285A640',\n },\n [Token.TEST]: {\n [Chain.Sepolia]: '0xd26e3540a0a368845b234736a0700e0a5a821bba',\n [Chain.OptimismSepolia]: '0x7Fa13D6CB44164ea09dF8BCc673A8849092D435b',\n },\n [Token.LINK]: {\n [Chain.BaseSepolia]: '0xe4ab69c077896252fafbd49efd26b5d171a32410',\n [Chain.OptimismSepolia]: '0xE4aB69C077896252FAFBD49EFD26B5D171A32410',\n },\n [Token.USDT]: {\n [Chain.Mainnet]: '0xdac17f958d2ee523a2206206994597c13d831ec7',\n [Chain.Holesky]: '0xd5bef2c64f418fd460319521d37862327122e3bc',\n [Chain.Sepolia]: '0xaa8e23fb1079ea71e0a56f48a2aa51851d8433d0',\n },\n [Token.USDC]: {\n [Chain.Mainnet]: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',\n [Chain.Holesky]: '0x64Cc0de0429bcb87e875905a0c313ec88f6d1d3E',\n },\n [Token.DAI]: {\n [Chain.Mainnet]: '0x6b175474e89094c44da98b954eedeac495271d0f',\n [Chain.Holesky]: '0x4478905505ddfb7eA1c8A9f46eAEC3695cE542ac',\n },\n [Token.WETH]: {\n [Chain.Mainnet]: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',\n [Chain.Holesky]: '0x1d181cBd1825e9eBC6AD966878D555A7215FF4F0',\n [Chain.Hoodi]: '0x251609d3e04165CA5CfaBa5DEE70A4e47863D060',\n },\n [Token.stETH]: {\n [Chain.Mainnet]: '0xae7ab96520de3a18e5e111b5eaab095312d7fe84',\n [Chain.Holesky]: '0x3F1c547b21f65e10480dE3ad8E19fAAC46C95034',\n },\n [Token.wstETH]: {\n [Chain.Mainnet]: '0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0',\n [Chain.Holesky]: '0x8d09a4502Cc8Cf1547aD300E066060D043f6982D',\n },\n [Token.eETH]: {\n [Chain.Mainnet]: '0x35fa164735182de50811e8e2e824cfb9b6118ac2',\n [Chain.Holesky]: '0x7ba2ee123b5977e3da040e1eacb3a61c82c17876',\n },\n [Token.cbETH]: {\n [Chain.Mainnet]: '0xbe9895146f7af43049ca1c1ae358b0541ea49704',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.ALT]: {\n [Chain.Mainnet]: '0x8457ca5040ad67fdebbcc8edce889a335bc0fbfb',\n [Chain.Holesky]: '0xaf5588a571b42c7e50bd440d80f9bf94a4db94ee',\n },\n [Token.pufETHwstE]: {\n [Chain.Mainnet]: '0xeeda34a377dd0ca676b9511ee1324974fa8d980d',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.pufETH]: {\n [Chain.Mainnet]: '0xd9a442856c234a39a81a089c06451ebaa4306a72',\n [Chain.Holesky]: '0x9196830bB4c05504E0A8475A0aD566AceEB6BeC9',\n [Chain.Soneium]: '0x6c460b2c6D6719562D5dA43E5152B375e79B9A8B',\n [Chain.Arbitrum]: '0x37D6382B6889cCeF8d6871A8b60E667115eDDBcF',\n [Chain.Berachain]: '0x417b0Ff8358Eb72867Da92225CaB99BCD5e6F205',\n [Chain.TAC]: '0x37D6382B6889cCeF8d6871A8b60E667115eDDBcF',\n },\n [Token.xPufETH]: {\n [Chain.Mainnet]: '0xD7D2802f6b19843ac4DfE25022771FD83b5A7464',\n [Chain.Base]: '0x23dA5F2d509cb43A59d43C108a43eDf34510eff1',\n [Chain.Bsc]: '0x64274835D88F5c0215da8AADd9A5f2D2A2569381',\n [Chain.ApeChain]: '0x6234E5ef39B12EFdFcbd99dd7F452F27F3fEAE3b',\n [Chain.Zircuit]: '0x9346A5043C590133FE900aec643D9622EDddBA57',\n },\n [Token.ctTACpufETH]: {\n [Chain.Mainnet]: '0x78f314241df1ac151bfd0413eeb51979515f6abd',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.tacpufETH]: {\n // This is the pre-deposit contract.\n [Chain.Mainnet]: '0xf2e97704a567e003ed97f2d0976c45b2dda766a0',\n [Chain.TAC]: '0x85AF3C2755f17bA26D7326E8069Bf10719441068',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.WBTC]: {\n [Chain.Mainnet]: '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.LBTC]: {\n [Chain.Mainnet]: '0x8236a87084f8b84306f72007f36f2618a5634494',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.tBTC]: {\n [Chain.Mainnet]: '0x18084fbA666a33d37592fA2633fD49a74DD93a88',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.cbBTC]: {\n [Chain.Mainnet]: '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.pumpBTC]: {\n [Chain.Mainnet]: '0xf469fbd2abcd6b9de8e169d128226c0fc90a012e',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.SolvBTC]: {\n [Chain.Mainnet]: '0x7a56e1c57c7475ccf742a1832b028f0456652f97',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.FBTC]: {\n [Chain.Mainnet]: '0xC96dE26018A54D51c097160568752c4E3BD6C364',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.PUFFER]: {\n [Chain.Mainnet]: '0x4d1c297d39c5c1277964d0e3f8aa901493664530',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.vePUFFER]: {\n [Chain.Mainnet]: '0xA55eD5808aeCDF23AE3782C1443185f5D2363ce7',\n },\n [Token.CARROT]: {\n [Chain.Mainnet]: '0x282a69142bac47855c3fbe1693fcc4ba3b4d5ed6',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.lvlUSD]: {\n [Chain.Mainnet]: '0x7C1156E515aA1A2E851674120074968C905aAF37',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.slvlUSD]: {\n [Chain.Mainnet]: '0x4737d9b4592b40d51e110b94c9c043c6654067ae',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.mtwCARROT]: {\n [Chain.Mainnet]: '0x8A5A5DE9db5770123Ff2145F59e9F20047f0A8EC',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.sCARROT]: {\n [Chain.Mainnet]: '0x99c599227c65132822f0290d9e5b4b0430d6c0d6',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.EIGEN]: {\n [Chain.Mainnet]: '0xec53bF9167f50cDEB3Ae105f56099aaaB9061F83',\n },\n [Token.ARPA]: {\n [Chain.Mainnet]: '0xBA50933C268F567BDC86E1aC131BE072C6B0b71a',\n },\n\n // UniFi Tokens\n [UnifiToken.unifiETH]: {\n [Chain.Mainnet]: '0x196ead472583bc1e9af7a05f860d9857e1bd3dcc',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [UnifiToken.unifiUSD]: {\n [Chain.Mainnet]: '0x82c40e07277eBb92935f79cE92268F80dDc7caB4',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [UnifiToken.unifiBTC]: {\n [Chain.Mainnet]: '0x170d847a8320f3b6a77ee15b0cae430e3ec933a0',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [UnifiToken.pufETHs]: {\n [Chain.Mainnet]: '0x62a4ce0722ee65635c0f8339dd814d549b6f6735',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.vlPUFFER]: {\n [Chain.Mainnet]: '0x1e168460ea0cf3f126ddd3183dc2e376515a5e91',\n },\n};\n\nexport const TOKENS_PERMIT_VERSION: { [key in AnyToken]: string } = {\n // USDC does not support permit signatures (ERC20Permit).\n // https://ethereum.stackexchange.com/questions/166254/usdt-contract-dont-have-erc20permit\n [Token.USDT]: '',\n // USDC does not support permit signatures (ERC20Permit).\n [Token.USDC]: '',\n // DAI does not support permit signatures (ERC20Permit).\n [Token.DAI]: '',\n // WETH does not support permit signatures (ERC20Permit).\n [Token.WETH]: '',\n [Token.stETH]: '2',\n // Puffer Quest v1 uses version 1 for wstETH.\n [Token.wstETH]: '1',\n // https://github.com/etherfi-protocol/smart-contracts/blob/7c66e571df4fe7ec502a3c325b623bc52349ef9d/src/EETH.sol#L55\n [Token.eETH]: '1',\n // https://etherscan.io/token/0xbe9895146f7af43049ca1c1ae358b0541ea49704#readProxyContract#F26\n [Token.cbETH]: '2',\n [Token.ALT]: '1',\n [Token.pufETHwstE]: 'v7.0.0',\n [Token.pufETH]: '1',\n [Token.xPufETH]: '1',\n [Token.ctTACpufETH]: '',\n // https://etherscan.io/address/0xf2e97704a567e003ed97f2d0976c45b2dda766a0#readProxyContract#F39\n [Token.tacpufETH]: 'v0.5.0',\n [Token.WBTC]: '',\n [Token.LBTC]: '',\n [Token.tBTC]: '',\n [Token.cbBTC]: '',\n [Token.pumpBTC]: '',\n [Token.SolvBTC]: '',\n [Token.FBTC]: '',\n [Token.PUFFER]: '1',\n [Token.vePUFFER]: '1',\n [Token.CARROT]: '1',\n [Token.lvlUSD]: '1',\n // `slvlUSD` supports permit but the transactions are reverting now\n // for some reason.\n [Token.slvlUSD]: '',\n [Token.mtwCARROT]: '',\n [Token.sCARROT]: '',\n [Token.LINK]: '',\n [Token.TEST]: '',\n [Token.VT]: '1',\n [Token.EIGEN]: '1',\n [Token.ARPA]: '1',\n\n // UniFi Tokens\n // https://etherscan.io/address/0x196ead472583bc1e9af7a05f860d9857e1bd3dcc#code#F7#L172\n [UnifiToken.unifiETH]: '1',\n // https://etherscan.io/address/0x82c40e07277eBb92935f79cE92268F80dDc7caB4#code#F7#L172\n [UnifiToken.unifiUSD]: '1',\n // https://etherscan.io/address/0x170d847a8320f3b6a77ee15b0cae430e3ec933a0#code#F7#L172\n [UnifiToken.unifiBTC]: '1',\n // https://etherscan.io/address/0x62a4ce0722ee65635c0f8339dd814d549b6f6735#code#F7#L172\n [UnifiToken.pufETHs]: '1',\n [Token.vlPUFFER]: '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":";AAGO,IAAKA,sBAAAA,OACVA,EAAA,OAAO,QACPA,EAAA,OAAO,QACPA,EAAA,MAAM,OACNA,EAAA,OAAO,QACPA,EAAA,QAAQ,SACRA,EAAA,SAAS,UACTA,EAAA,OAAO,QACPA,EAAA,QAAQ,SACRA,EAAA,MAAM,OACNA,EAAA,aAAa,cACbA,EAAA,SAAS,UACTA,EAAA,UAAU,WACVA,EAAA,cAAc,eACdA,EAAA,YAAY,aACZA,EAAA,OAAO,QACPA,EAAA,OAAO,QACPA,EAAA,OAAO,QACPA,EAAA,QAAQ,SACRA,EAAA,UAAU,WACVA,EAAA,UAAU,WACVA,EAAA,OAAO,QACPA,EAAA,SAAS,UACTA,EAAA,WAAW,YACXA,EAAA,SAAS,UACTA,EAAA,SAAS,UACTA,EAAA,UAAU,WACVA,EAAA,YAAY,aACZA,EAAA,UAAU,WACVA,EAAA,OAAO,QACPA,EAAA,OAAO,QACPA,EAAA,KAAK,MACLA,EAAA,QAAQ,SACRA,EAAA,OAAO,QACPA,EAAA,WAAW,YAlCDA,IAAAA,KAAA,CAAA,CAAA,GAqCAC,sBAAAA,OACVA,EAAA,WAAW,YACXA,EAAA,WAAW,YACXA,EAAA,WAAW,YAEXA,EAAA,UAAU,WALAA,IAAAA,KAAA,CAAA,CAAA;AAUL,MAAMC,IAET;AAAA,EACD,IAAW;AAAA,IACV,CAACC,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA,EAElB,MAAa;AAAA,IACZ,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,eAAe,GAAG;AAAA,EAAA;AAAA,EAE1B,MAAa;AAAA,IACZ,CAACA,EAAM,WAAW,GAAG;AAAA,IACrB,CAACA,EAAM,eAAe,GAAG;AAAA,EAAA;AAAA,EAE1B,MAAa;AAAA,IACZ,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA,EAElB,MAAa;AAAA,IACZ,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA,EAElB,KAAY;AAAA,IACX,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA,EAElB,MAAa;AAAA,IACZ,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,KAAK,GAAG;AAAA,EAAA;AAAA,EAEhB,OAAc;AAAA,IACb,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA,EAElB,QAAe;AAAA,IACd,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA,EAElB,MAAa;AAAA,IACZ,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA,EAElB,OAAc;AAAA,IACb,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA,EAElB,KAAY;AAAA,IACX,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA,EAElB,YAAmB;AAAA,IAClB,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA,EAElB,QAAe;AAAA,IACd,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,QAAQ,GAAG;AAAA,IAClB,CAACA,EAAM,SAAS,GAAG;AAAA,IACnB,CAACA,EAAM,GAAG,GAAG;AAAA,EAAA;AAAA,EAEd,SAAgB;AAAA,IACf,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,IAAI,GAAG;AAAA,IACd,CAACA,EAAM,GAAG,GAAG;AAAA,IACb,CAACA,EAAM,QAAQ,GAAG;AAAA,IAClB,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA,EAElB,aAAoB;AAAA,IACnB,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA,EAElB,WAAkB;AAAA;AAAA,IAEjB,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,GAAG,GAAG;AAAA,IACb,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA,EAElB,MAAa;AAAA,IACZ,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA,EAElB,MAAa;AAAA,IACZ,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA,EAElB,MAAa;AAAA,IACZ,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA,EAElB,OAAc;AAAA,IACb,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA,EAElB,SAAgB;AAAA,IACf,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA,EAElB,SAAgB;AAAA,IACf,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA,EAElB,MAAa;AAAA,IACZ,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA,EAElB,QAAe;AAAA,IACd,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA,EAElB,UAAiB;AAAA,IAChB,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA,EAElB,QAAe;AAAA,IACd,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA,EAElB,QAAe;AAAA,IACd,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA,EAElB,SAAgB;AAAA,IACf,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA,EAElB,WAAkB;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA,EAElB,SAAgB;AAAA,IACf,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA,EAElB,OAAc;AAAA,IACb,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA,EAElB,MAAa;AAAA,IACZ,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA;AAAA,EAIlB,UAAsB;AAAA,IACrB,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA,EAElB,UAAsB;AAAA,IACrB,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA,EAElB,UAAsB;AAAA,IACrB,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA,EAElB,SAAqB;AAAA,IACpB,CAACA,EAAM,OAAO,GAAG;AAAA,IACjB,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAAA,EAElB,UAAiB;AAAA,IAChB,CAACA,EAAM,OAAO,GAAG;AAAA,EAAA;AAErB,GAEaC,IAAuD;AAAA;AAAA;AAAA,EAGjE,MAAa;AAAA;AAAA,EAEb,MAAa;AAAA;AAAA,EAEb,KAAY;AAAA;AAAA,EAEZ,MAAa;AAAA,EACb,OAAc;AAAA;AAAA,EAEd,QAAe;AAAA;AAAA,EAEf,MAAa;AAAA;AAAA,EAEb,OAAc;AAAA,EACd,KAAY;AAAA,EACZ,YAAmB;AAAA,EACnB,QAAe;AAAA,EACf,SAAgB;AAAA,EAChB,aAAoB;AAAA;AAAA,EAEpB,WAAkB;AAAA,EAClB,MAAa;AAAA,EACb,MAAa;AAAA,EACb,MAAa;AAAA,EACb,OAAc;AAAA,EACd,SAAgB;AAAA,EAChB,SAAgB;AAAA,EAChB,MAAa;AAAA,EACb,QAAe;AAAA,EACf,UAAiB;AAAA,EACjB,QAAe;AAAA,EACf,QAAe;AAAA;AAAA;AAAA,EAGf,SAAgB;AAAA,EAChB,WAAkB;AAAA,EAClB,SAAgB;AAAA,EAChB,MAAa;AAAA,EACb,MAAa;AAAA,EACb,IAAW;AAAA,EACX,OAAc;AAAA,EACd,MAAa;AAAA;AAAA;AAAA,EAIb,UAAsB;AAAA;AAAA,EAEtB,UAAsB;AAAA;AAAA,EAEtB,UAAsB;AAAA;AAAA,EAEtB,SAAqB;AAAA,EACrB,UAAiB;AACpB,GAEaC,IAER;AAAA,EACF,YAAmB;AAAA;AAAA;AAAA,IAGlB,CAACF,EAAM,OAAO,GACZ;AAAA,IACF,CAACA,EAAM,OAAO,GACZ;AAAA,EAAA;AAEN;"}
|
|
1
|
+
{"version":3,"file":"tokens.js","sources":["../../lib/contracts/tokens.ts"],"sourcesContent":["import { Address } from 'viem';\nimport { Chain } from '../chains/constants';\n\nexport enum Token {\n USDT = 'USDT',\n USDC = 'USDC',\n DAI = 'DAI',\n WETH = 'WETH',\n stETH = 'stETH',\n wstETH = 'wstETH',\n eETH = 'eETH',\n cbETH = 'cbETH',\n ALT = 'ALT',\n pufETHwstE = 'pufETHwstE',\n pufETH = 'pufETH',\n xPufETH = 'xPufETH',\n ctTACpufETH = 'ctTACpufETH',\n tacpufETH = 'tacpufETH',\n WBTC = 'WBTC',\n LBTC = 'LBTC',\n tBTC = 'tBTC',\n cbBTC = 'cbBTC',\n pumpBTC = 'pumpBTC',\n SolvBTC = 'SolvBTC',\n FBTC = 'FBTC',\n PUFFER = 'PUFFER',\n vePUFFER = 'vePUFFER',\n CARROT = 'CARROT',\n lvlUSD = 'lvlUSD',\n slvlUSD = 'slvlUSD',\n mtwCARROT = 'mtwCARROT',\n sCARROT = 'sCARROT',\n LINK = 'LINK',\n TEST = 'TEST',\n VT = 'VT',\n EIGEN = 'EIGEN',\n ARPA = 'ARPA',\n vlPUFFER = 'vlPUFFER',\n}\n\nexport enum UnifiToken {\n unifiETH = 'unifiETH',\n unifiUSD = 'unifiUSD',\n unifiBTC = 'unifiBTC',\n // Symbiotic pufETH.\n pufETHs = 'pufETHs',\n}\n\nexport type AnyToken = Token | UnifiToken;\n\nexport const TOKENS_ADDRESSES: {\n [key in AnyToken]: { [chain in Chain]: Address };\n} = {\n [Token.VT]: {\n [Chain.Mainnet]: '0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A',\n [Chain.Holesky]: '0xB028194785178a94Fe608994A4d5AD84c285A640',\n },\n [Token.TEST]: {\n [Chain.Sepolia]: '0xd26e3540a0a368845b234736a0700e0a5a821bba',\n [Chain.OptimismSepolia]: '0x7Fa13D6CB44164ea09dF8BCc673A8849092D435b',\n },\n [Token.LINK]: {\n [Chain.BaseSepolia]: '0xe4ab69c077896252fafbd49efd26b5d171a32410',\n [Chain.OptimismSepolia]: '0xE4aB69C077896252FAFBD49EFD26B5D171A32410',\n },\n [Token.USDT]: {\n [Chain.Mainnet]: '0xdac17f958d2ee523a2206206994597c13d831ec7',\n [Chain.Holesky]: '0xd5bef2c64f418fd460319521d37862327122e3bc',\n [Chain.Sepolia]: '0xaa8e23fb1079ea71e0a56f48a2aa51851d8433d0',\n },\n [Token.USDC]: {\n [Chain.Mainnet]: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',\n [Chain.Holesky]: '0x64Cc0de0429bcb87e875905a0c313ec88f6d1d3E',\n },\n [Token.DAI]: {\n [Chain.Mainnet]: '0x6b175474e89094c44da98b954eedeac495271d0f',\n [Chain.Holesky]: '0x4478905505ddfb7eA1c8A9f46eAEC3695cE542ac',\n },\n [Token.WETH]: {\n [Chain.Mainnet]: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',\n [Chain.Holesky]: '0x1d181cBd1825e9eBC6AD966878D555A7215FF4F0',\n [Chain.Hoodi]: '0x251609d3e04165CA5CfaBa5DEE70A4e47863D060',\n },\n [Token.stETH]: {\n [Chain.Mainnet]: '0xae7ab96520de3a18e5e111b5eaab095312d7fe84',\n [Chain.Holesky]: '0x3F1c547b21f65e10480dE3ad8E19fAAC46C95034',\n },\n [Token.wstETH]: {\n [Chain.Mainnet]: '0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0',\n [Chain.Holesky]: '0x8d09a4502Cc8Cf1547aD300E066060D043f6982D',\n },\n [Token.eETH]: {\n [Chain.Mainnet]: '0x35fa164735182de50811e8e2e824cfb9b6118ac2',\n [Chain.Holesky]: '0x7ba2ee123b5977e3da040e1eacb3a61c82c17876',\n },\n [Token.cbETH]: {\n [Chain.Mainnet]: '0xbe9895146f7af43049ca1c1ae358b0541ea49704',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.ALT]: {\n [Chain.Mainnet]: '0x8457ca5040ad67fdebbcc8edce889a335bc0fbfb',\n [Chain.Holesky]: '0xaf5588a571b42c7e50bd440d80f9bf94a4db94ee',\n },\n [Token.pufETHwstE]: {\n [Chain.Mainnet]: '0xeeda34a377dd0ca676b9511ee1324974fa8d980d',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.pufETH]: {\n [Chain.Mainnet]: '0xd9a442856c234a39a81a089c06451ebaa4306a72',\n [Chain.Holesky]: '0x9196830bB4c05504E0A8475A0aD566AceEB6BeC9',\n [Chain.Soneium]: '0x6c460b2c6D6719562D5dA43E5152B375e79B9A8B',\n [Chain.Arbitrum]: '0x37D6382B6889cCeF8d6871A8b60E667115eDDBcF',\n [Chain.Berachain]: '0x417b0Ff8358Eb72867Da92225CaB99BCD5e6F205',\n [Chain.TAC]: '0x37D6382B6889cCeF8d6871A8b60E667115eDDBcF',\n [Chain.Base]: '0x30D91DF53cCCf07e3a5BF6862Db8CFBe1fCB21d3',\n [Chain.Monad]: '0x37D6382B6889cCeF8d6871A8b60E667115eDDBcF',\n [Chain.HyperEVM]: '0x87d00066cf131ff54B72B134a217D5401E5392b6',\n },\n [Token.xPufETH]: {\n [Chain.Mainnet]: '0xD7D2802f6b19843ac4DfE25022771FD83b5A7464',\n [Chain.Base]: '0x23dA5F2d509cb43A59d43C108a43eDf34510eff1',\n [Chain.Bsc]: '0x64274835D88F5c0215da8AADd9A5f2D2A2569381',\n [Chain.ApeChain]: '0x6234E5ef39B12EFdFcbd99dd7F452F27F3fEAE3b',\n [Chain.Zircuit]: '0x9346A5043C590133FE900aec643D9622EDddBA57',\n },\n [Token.ctTACpufETH]: {\n [Chain.Mainnet]: '0x78f314241df1ac151bfd0413eeb51979515f6abd',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.tacpufETH]: {\n // This is the pre-deposit contract.\n [Chain.Mainnet]: '0xf2e97704a567e003ed97f2d0976c45b2dda766a0',\n [Chain.TAC]: '0x85AF3C2755f17bA26D7326E8069Bf10719441068',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.WBTC]: {\n [Chain.Mainnet]: '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.LBTC]: {\n [Chain.Mainnet]: '0x8236a87084f8b84306f72007f36f2618a5634494',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.tBTC]: {\n [Chain.Mainnet]: '0x18084fbA666a33d37592fA2633fD49a74DD93a88',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.cbBTC]: {\n [Chain.Mainnet]: '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.pumpBTC]: {\n [Chain.Mainnet]: '0xf469fbd2abcd6b9de8e169d128226c0fc90a012e',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.SolvBTC]: {\n [Chain.Mainnet]: '0x7a56e1c57c7475ccf742a1832b028f0456652f97',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.FBTC]: {\n [Chain.Mainnet]: '0xC96dE26018A54D51c097160568752c4E3BD6C364',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.PUFFER]: {\n [Chain.Mainnet]: '0x4d1c297d39c5c1277964d0e3f8aa901493664530',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n [Chain.Base]: '0x8dA0baE597aC15fB0924713b1e3c1F624474F3E4',\n [Chain.Bsc]: '0x87d00066cf131ff54B72B134a217D5401E5392b6',\n },\n [Token.vePUFFER]: {\n [Chain.Mainnet]: '0xA55eD5808aeCDF23AE3782C1443185f5D2363ce7',\n },\n [Token.CARROT]: {\n [Chain.Mainnet]: '0x282a69142bac47855c3fbe1693fcc4ba3b4d5ed6',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.lvlUSD]: {\n [Chain.Mainnet]: '0x7C1156E515aA1A2E851674120074968C905aAF37',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.slvlUSD]: {\n [Chain.Mainnet]: '0x4737d9b4592b40d51e110b94c9c043c6654067ae',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.mtwCARROT]: {\n [Chain.Mainnet]: '0x8A5A5DE9db5770123Ff2145F59e9F20047f0A8EC',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.sCARROT]: {\n [Chain.Mainnet]: '0x99c599227c65132822f0290d9e5b4b0430d6c0d6',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.EIGEN]: {\n [Chain.Mainnet]: '0xec53bF9167f50cDEB3Ae105f56099aaaB9061F83',\n },\n [Token.ARPA]: {\n [Chain.Mainnet]: '0xBA50933C268F567BDC86E1aC131BE072C6B0b71a',\n },\n\n // UniFi Tokens\n [UnifiToken.unifiETH]: {\n [Chain.Mainnet]: '0x196ead472583bc1e9af7a05f860d9857e1bd3dcc',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [UnifiToken.unifiUSD]: {\n [Chain.Mainnet]: '0x82c40e07277eBb92935f79cE92268F80dDc7caB4',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [UnifiToken.unifiBTC]: {\n [Chain.Mainnet]: '0x170d847a8320f3b6a77ee15b0cae430e3ec933a0',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [UnifiToken.pufETHs]: {\n [Chain.Mainnet]: '0x62a4ce0722ee65635c0f8339dd814d549b6f6735',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.vlPUFFER]: {\n [Chain.Mainnet]: '0x1e168460ea0cf3f126ddd3183dc2e376515a5e91',\n },\n};\n\nexport const TOKENS_PERMIT_VERSION: { [key in AnyToken]: string } = {\n // USDC does not support permit signatures (ERC20Permit).\n // https://ethereum.stackexchange.com/questions/166254/usdt-contract-dont-have-erc20permit\n [Token.USDT]: '',\n // USDC does not support permit signatures (ERC20Permit).\n [Token.USDC]: '',\n // DAI does not support permit signatures (ERC20Permit).\n [Token.DAI]: '',\n // WETH does not support permit signatures (ERC20Permit).\n [Token.WETH]: '',\n [Token.stETH]: '2',\n // Puffer Quest v1 uses version 1 for wstETH.\n [Token.wstETH]: '1',\n // https://github.com/etherfi-protocol/smart-contracts/blob/7c66e571df4fe7ec502a3c325b623bc52349ef9d/src/EETH.sol#L55\n [Token.eETH]: '1',\n // https://etherscan.io/token/0xbe9895146f7af43049ca1c1ae358b0541ea49704#readProxyContract#F26\n [Token.cbETH]: '2',\n [Token.ALT]: '1',\n [Token.pufETHwstE]: 'v7.0.0',\n [Token.pufETH]: '1',\n [Token.xPufETH]: '1',\n [Token.ctTACpufETH]: '',\n // https://etherscan.io/address/0xf2e97704a567e003ed97f2d0976c45b2dda766a0#readProxyContract#F39\n [Token.tacpufETH]: 'v0.5.0',\n [Token.WBTC]: '',\n [Token.LBTC]: '',\n [Token.tBTC]: '',\n [Token.cbBTC]: '',\n [Token.pumpBTC]: '',\n [Token.SolvBTC]: '',\n [Token.FBTC]: '',\n [Token.PUFFER]: '1',\n [Token.vePUFFER]: '1',\n [Token.CARROT]: '1',\n [Token.lvlUSD]: '1',\n // `slvlUSD` supports permit but the transactions are reverting now\n // for some reason.\n [Token.slvlUSD]: '',\n [Token.mtwCARROT]: '',\n [Token.sCARROT]: '',\n [Token.LINK]: '',\n [Token.TEST]: '',\n [Token.VT]: '1',\n [Token.EIGEN]: '1',\n [Token.ARPA]: '1',\n\n // UniFi Tokens\n // https://etherscan.io/address/0x196ead472583bc1e9af7a05f860d9857e1bd3dcc#code#F7#L172\n [UnifiToken.unifiETH]: '1',\n // https://etherscan.io/address/0x82c40e07277eBb92935f79cE92268F80dDc7caB4#code#F7#L172\n [UnifiToken.unifiUSD]: '1',\n // https://etherscan.io/address/0x170d847a8320f3b6a77ee15b0cae430e3ec933a0#code#F7#L172\n [UnifiToken.unifiBTC]: '1',\n // https://etherscan.io/address/0x62a4ce0722ee65635c0f8339dd814d549b6f6735#code#F7#L172\n [UnifiToken.pufETHs]: '1',\n [Token.vlPUFFER]: '1',\n};\n\nexport const TOKENS_SALT: Partial<{\n [key in AnyToken]: { [chain in Chain]: Address };\n}> = {\n [Token.pufETHwstE]: {\n // Taken from\n // https://etherscan.io/token/0xeeda34a377dd0ca676b9511ee1324974fa8d980d#readContract#F39.\n [Chain.Mainnet]:\n '0x0e986ed5610121905f03fd3850cebcc00f66166fc3ab760acb4e087d735d9457',\n [Chain.Holesky]:\n '0x0000000000000000000000000000000000000000000000000000000000000000',\n },\n};\n"],"names":["Token","UnifiToken","TOKENS_ADDRESSES","Chain","TOKENS_PERMIT_VERSION","TOKENS_SALT"],"mappings":"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"}
|
package/dist/utils/version.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="1.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="1.30.1",o=e;exports.version=o;
|
|
2
2
|
//# sourceMappingURL=version.cjs.map
|
package/dist/utils/version.js
CHANGED
package/package.json
CHANGED