@pufferfinance/puffer-sdk 1.28.1 → 1.28.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-helpers.cjs +1 -1
- package/dist/api/puffer-client-helpers.cjs.map +1 -1
- package/dist/api/puffer-client-helpers.js +7 -7
- package/dist/api/puffer-client-helpers.js.map +1 -1
- package/dist/api/puffer-client.cjs +1 -1
- package/dist/api/puffer-client.cjs.map +1 -1
- package/dist/api/puffer-client.js +119 -122
- package/dist/api/puffer-client.js.map +1 -1
- package/dist/ccip-78YM988s.js +150 -0
- package/dist/{ccip-C76-YhQK.js.map → ccip-78YM988s.js.map} +1 -1
- package/dist/ccip-LIGR3N1A.cjs +2 -0
- package/dist/{ccip-CEodLZ4s.cjs.map → ccip-LIGR3N1A.cjs.map} +1 -1
- package/dist/chains/constants.cjs +1 -1
- package/dist/chains/constants.js +1 -1
- package/dist/constants-6kuRTsbU.cjs +9 -0
- package/dist/{constants-CxSgz27h.cjs.map → constants-6kuRTsbU.cjs.map} +1 -1
- package/dist/{constants-C9YZ6Ewc.js → constants-CuIEh_ZS.js} +605 -656
- package/dist/{constants-C9YZ6Ewc.js.map → constants-CuIEh_ZS.js.map} +1 -1
- package/dist/contracts/abis/mainnet/Accountant.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/Accountant.js.map +1 -1
- package/dist/contracts/abis/mainnet/AtomicQueue.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/AtomicQueue.js.map +1 -1
- package/dist/contracts/abis/mainnet/BoringVault.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/BoringVault.js.map +1 -1
- package/dist/contracts/abis/mainnet/CarrotStaker.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/CarrotStaker.js.map +1 -1
- package/dist/contracts/abis/mainnet/CarrotVesting.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/CarrotVesting.js.map +1 -1
- package/dist/contracts/abis/mainnet/ConcreteMultiStrategyVault.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/ConcreteMultiStrategyVault.js.map +1 -1
- package/dist/contracts/abis/mainnet/Distributor.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/Distributor.js.map +1 -1
- package/dist/contracts/abis/mainnet/ERC20Permit.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/ERC20Permit.js.map +1 -1
- package/dist/contracts/abis/mainnet/GaugeRegistry.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/GaugeRegistry.js.map +1 -1
- package/dist/contracts/abis/mainnet/GuardianModule.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/GuardianModule.js.map +1 -1
- package/dist/contracts/abis/mainnet/InstitutionalAccessManager.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/InstitutionalAccessManager.js.map +1 -1
- package/dist/contracts/abis/mainnet/InstitutionalVault.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/InstitutionalVault.js.map +1 -1
- package/dist/contracts/abis/mainnet/L1RewardManager.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/L1RewardManager.js.map +1 -1
- package/dist/contracts/abis/mainnet/L2RewardManager.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/L2RewardManager.js.map +1 -1
- package/dist/contracts/abis/mainnet/LagoonVault.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/LagoonVault.js.map +1 -1
- package/dist/contracts/abis/mainnet/PufLocker.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/PufLocker.js.map +1 -1
- package/dist/contracts/abis/mainnet/PufferDepositor.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/PufferDepositor.js.map +1 -1
- package/dist/contracts/abis/mainnet/PufferL2Depositor.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/PufferL2Depositor.js.map +1 -1
- package/dist/contracts/abis/mainnet/PufferOracleV2.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/PufferOracleV2.js.map +1 -1
- package/dist/contracts/abis/mainnet/PufferProtocol.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/PufferProtocol.js.map +1 -1
- package/dist/contracts/abis/mainnet/PufferVaultV5.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/PufferVaultV5.js.map +1 -1
- package/dist/contracts/abis/mainnet/PufferWithdrawalManager.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/PufferWithdrawalManager.js.map +1 -1
- package/dist/contracts/abis/mainnet/Teller.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/Teller.js.map +1 -1
- package/dist/contracts/abis/mainnet/ValidatorTicket.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/ValidatorTicket.js.map +1 -1
- package/dist/contracts/abis/mainnet/mtwCARROT.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/mtwCARROT.js.map +1 -1
- package/dist/contracts/abis/mainnet/vlPUFFER.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/vlPUFFER.js.map +1 -1
- package/dist/contracts/addresses.cjs +1 -1
- package/dist/contracts/addresses.cjs.map +1 -1
- package/dist/contracts/addresses.js +4 -5
- package/dist/contracts/addresses.js.map +1 -1
- package/dist/contracts/handlers/carrot-staking-handler.cjs +1 -1
- package/dist/contracts/handlers/carrot-staking-handler.cjs.map +1 -1
- package/dist/contracts/handlers/carrot-staking-handler.d.ts +96 -6599
- package/dist/contracts/handlers/carrot-staking-handler.js +13 -16
- package/dist/contracts/handlers/carrot-staking-handler.js.map +1 -1
- package/dist/contracts/handlers/carrot-vesting-handler.cjs +1 -1
- package/dist/contracts/handlers/carrot-vesting-handler.cjs.map +1 -1
- package/dist/contracts/handlers/carrot-vesting-handler.d.ts +96 -6599
- package/dist/contracts/handlers/carrot-vesting-handler.js +19 -22
- package/dist/contracts/handlers/carrot-vesting-handler.js.map +1 -1
- package/dist/contracts/handlers/concrete-vault-handler.cjs +1 -1
- package/dist/contracts/handlers/concrete-vault-handler.cjs.map +1 -1
- package/dist/contracts/handlers/concrete-vault-handler.d.ts +96 -6599
- package/dist/contracts/handlers/concrete-vault-handler.js +15 -18
- package/dist/contracts/handlers/concrete-vault-handler.js.map +1 -1
- package/dist/contracts/handlers/distributor-handler.cjs +1 -1
- package/dist/contracts/handlers/distributor-handler.cjs.map +1 -1
- package/dist/contracts/handlers/distributor-handler.d.ts +96 -6599
- package/dist/contracts/handlers/distributor-handler.js +15 -18
- package/dist/contracts/handlers/distributor-handler.js.map +1 -1
- package/dist/contracts/handlers/erc20-permit-handler.cjs +1 -1
- package/dist/contracts/handlers/erc20-permit-handler.cjs.map +1 -1
- package/dist/contracts/handlers/erc20-permit-handler.d.ts +96 -6599
- package/dist/contracts/handlers/erc20-permit-handler.js +34 -38
- package/dist/contracts/handlers/erc20-permit-handler.js.map +1 -1
- package/dist/contracts/handlers/gauge-registry-handler.cjs +1 -1
- package/dist/contracts/handlers/gauge-registry-handler.cjs.map +1 -1
- package/dist/contracts/handlers/gauge-registry-handler.d.ts +96 -6599
- package/dist/contracts/handlers/gauge-registry-handler.js +11 -14
- package/dist/contracts/handlers/gauge-registry-handler.js.map +1 -1
- package/dist/contracts/handlers/guardian-module-handler.cjs +1 -1
- package/dist/contracts/handlers/guardian-module-handler.cjs.map +1 -1
- package/dist/contracts/handlers/guardian-module-handler.d.ts +96 -6599
- package/dist/contracts/handlers/guardian-module-handler.js +11 -14
- package/dist/contracts/handlers/guardian-module-handler.js.map +1 -1
- package/dist/contracts/handlers/institutional-access-manager-handler.cjs +1 -1
- package/dist/contracts/handlers/institutional-access-manager-handler.cjs.map +1 -1
- package/dist/contracts/handlers/institutional-access-manager-handler.d.ts +96 -6599
- package/dist/contracts/handlers/institutional-access-manager-handler.js +45 -50
- package/dist/contracts/handlers/institutional-access-manager-handler.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.d.ts +96 -6599
- package/dist/contracts/handlers/institutional-vault-handler.js +16 -19
- package/dist/contracts/handlers/institutional-vault-handler.js.map +1 -1
- package/dist/contracts/handlers/l1-reward-manager-handler.cjs +1 -1
- package/dist/contracts/handlers/l1-reward-manager-handler.cjs.map +1 -1
- package/dist/contracts/handlers/l1-reward-manager-handler.d.ts +96 -6599
- package/dist/contracts/handlers/l1-reward-manager-handler.js +14 -17
- package/dist/contracts/handlers/l1-reward-manager-handler.js.map +1 -1
- package/dist/contracts/handlers/l2-reward-manager-handler.cjs +1 -1
- package/dist/contracts/handlers/l2-reward-manager-handler.cjs.map +1 -1
- package/dist/contracts/handlers/l2-reward-manager-handler.d.ts +96 -6599
- package/dist/contracts/handlers/l2-reward-manager-handler.js +13 -16
- package/dist/contracts/handlers/l2-reward-manager-handler.js.map +1 -1
- package/dist/contracts/handlers/lagoon-vault-handler.cjs +1 -1
- package/dist/contracts/handlers/lagoon-vault-handler.cjs.map +1 -1
- package/dist/contracts/handlers/lagoon-vault-handler.d.ts +96 -6599
- package/dist/contracts/handlers/lagoon-vault-handler.js +11 -14
- package/dist/contracts/handlers/lagoon-vault-handler.js.map +1 -1
- package/dist/contracts/handlers/mtw-carrot-handler.cjs +1 -1
- package/dist/contracts/handlers/mtw-carrot-handler.cjs.map +1 -1
- package/dist/contracts/handlers/mtw-carrot-handler.d.ts +96 -6599
- package/dist/contracts/handlers/mtw-carrot-handler.js +12 -15
- package/dist/contracts/handlers/mtw-carrot-handler.js.map +1 -1
- package/dist/contracts/handlers/nucleus-accountant-handler.cjs +1 -1
- package/dist/contracts/handlers/nucleus-accountant-handler.cjs.map +1 -1
- package/dist/contracts/handlers/nucleus-accountant-handler.d.ts +96 -6599
- package/dist/contracts/handlers/nucleus-accountant-handler.js +13 -16
- package/dist/contracts/handlers/nucleus-accountant-handler.js.map +1 -1
- package/dist/contracts/handlers/nucleus-atomic-queue-handler.cjs +1 -1
- package/dist/contracts/handlers/nucleus-atomic-queue-handler.cjs.map +1 -1
- package/dist/contracts/handlers/nucleus-atomic-queue-handler.d.ts +96 -6599
- package/dist/contracts/handlers/nucleus-atomic-queue-handler.js +14 -17
- package/dist/contracts/handlers/nucleus-atomic-queue-handler.js.map +1 -1
- package/dist/contracts/handlers/nucleus-boring-vault-handler.cjs +1 -1
- package/dist/contracts/handlers/nucleus-boring-vault-handler.cjs.map +1 -1
- package/dist/contracts/handlers/nucleus-boring-vault-handler.d.ts +96 -6599
- package/dist/contracts/handlers/nucleus-boring-vault-handler.js +18 -21
- package/dist/contracts/handlers/nucleus-boring-vault-handler.js.map +1 -1
- package/dist/contracts/handlers/nucleus-teller-handler.cjs +1 -1
- package/dist/contracts/handlers/nucleus-teller-handler.cjs.map +1 -1
- package/dist/contracts/handlers/nucleus-teller-handler.d.ts +96 -6599
- package/dist/contracts/handlers/nucleus-teller-handler.js +35 -38
- package/dist/contracts/handlers/nucleus-teller-handler.js.map +1 -1
- package/dist/contracts/handlers/puf-locker-handler.cjs +1 -1
- package/dist/contracts/handlers/puf-locker-handler.cjs.map +1 -1
- package/dist/contracts/handlers/puf-locker-handler.d.ts +96 -6599
- package/dist/contracts/handlers/puf-locker-handler.js +51 -54
- package/dist/contracts/handlers/puf-locker-handler.js.map +1 -1
- package/dist/contracts/handlers/puffer-depositor-handler.cjs +1 -1
- package/dist/contracts/handlers/puffer-depositor-handler.cjs.map +1 -1
- package/dist/contracts/handlers/puffer-depositor-handler.d.ts +96 -6599
- package/dist/contracts/handlers/puffer-depositor-handler.js +28 -31
- package/dist/contracts/handlers/puffer-depositor-handler.js.map +1 -1
- package/dist/contracts/handlers/puffer-l2-depositor-handler.cjs +1 -1
- package/dist/contracts/handlers/puffer-l2-depositor-handler.cjs.map +1 -1
- package/dist/contracts/handlers/puffer-l2-depositor-handler.d.ts +96 -6599
- package/dist/contracts/handlers/puffer-l2-depositor-handler.js +42 -45
- package/dist/contracts/handlers/puffer-l2-depositor-handler.js.map +1 -1
- package/dist/contracts/handlers/puffer-oracle-v2-handler.cjs +1 -1
- package/dist/contracts/handlers/puffer-oracle-v2-handler.cjs.map +1 -1
- package/dist/contracts/handlers/puffer-oracle-v2-handler.d.ts +96 -6599
- package/dist/contracts/handlers/puffer-oracle-v2-handler.js +13 -16
- package/dist/contracts/handlers/puffer-oracle-v2-handler.js.map +1 -1
- package/dist/contracts/handlers/puffer-protocol-handler.cjs +1 -1
- package/dist/contracts/handlers/puffer-protocol-handler.cjs.map +1 -1
- package/dist/contracts/handlers/puffer-protocol-handler.d.ts +96 -6599
- package/dist/contracts/handlers/puffer-protocol-handler.js +12 -15
- package/dist/contracts/handlers/puffer-protocol-handler.js.map +1 -1
- package/dist/contracts/handlers/puffer-vault-handler.cjs +1 -1
- package/dist/contracts/handlers/puffer-vault-handler.cjs.map +1 -1
- package/dist/contracts/handlers/puffer-vault-handler.d.ts +96 -6599
- package/dist/contracts/handlers/puffer-vault-handler.js +12 -15
- package/dist/contracts/handlers/puffer-vault-handler.js.map +1 -1
- package/dist/contracts/handlers/puffer-withdrawal-manager-handler.cjs +1 -1
- package/dist/contracts/handlers/puffer-withdrawal-manager-handler.cjs.map +1 -1
- package/dist/contracts/handlers/puffer-withdrawal-manager-handler.d.ts +96 -6599
- package/dist/contracts/handlers/puffer-withdrawal-manager-handler.js +15 -18
- package/dist/contracts/handlers/puffer-withdrawal-manager-handler.js.map +1 -1
- package/dist/contracts/handlers/validator-ticket-handler.cjs +1 -1
- package/dist/contracts/handlers/validator-ticket-handler.cjs.map +1 -1
- package/dist/contracts/handlers/validator-ticket-handler.d.ts +96 -6599
- package/dist/contracts/handlers/validator-ticket-handler.js +12 -15
- package/dist/contracts/handlers/validator-ticket-handler.js.map +1 -1
- package/dist/contracts/handlers/vl-puffer-handler.cjs +1 -1
- package/dist/contracts/handlers/vl-puffer-handler.cjs.map +1 -1
- package/dist/contracts/handlers/vl-puffer-handler.d.ts +96 -6599
- package/dist/contracts/handlers/vl-puffer-handler.js +19 -22
- package/dist/contracts/handlers/vl-puffer-handler.js.map +1 -1
- package/dist/contracts/tokens.cjs +1 -1
- package/dist/contracts/tokens.cjs.map +1 -1
- package/dist/contracts/tokens.js +1 -1
- package/dist/contracts/tokens.js.map +1 -1
- package/dist/contracts/vaults-addresses.cjs +1 -1
- package/dist/contracts/vaults-addresses.cjs.map +1 -1
- package/dist/contracts/vaults-addresses.js +1 -1
- package/dist/contracts/vaults-addresses.js.map +1 -1
- package/dist/errors/base-error.cjs.map +1 -1
- package/dist/errors/base-error.js.map +1 -1
- package/dist/{getContract-DUA3M2pm.cjs → getContract-D4_SEfqa.cjs} +2 -2
- package/dist/{getContract-DUA3M2pm.cjs.map → getContract-D4_SEfqa.cjs.map} +1 -1
- package/dist/{getContract-DEPNMZxg.js → getContract-DQN7VDBo.js} +2 -2
- package/dist/{getContract-DEPNMZxg.js.map → getContract-DQN7VDBo.js.map} +1 -1
- package/dist/http-CajzXkt4.js +4005 -0
- package/dist/http-CajzXkt4.js.map +1 -0
- package/dist/http-qhIDc8Dn.cjs +5 -0
- package/dist/http-qhIDc8Dn.cjs.map +1 -0
- package/dist/{localBatchGatewayRequest-CKLnLqib.cjs → localBatchGatewayRequest-C7zYTS2c.cjs} +2 -2
- package/dist/{localBatchGatewayRequest-CKLnLqib.cjs.map → localBatchGatewayRequest-C7zYTS2c.cjs.map} +1 -1
- package/dist/{localBatchGatewayRequest-C0QtijkB.js → localBatchGatewayRequest-DtOvBmA9.js} +3 -3
- package/dist/{localBatchGatewayRequest-C0QtijkB.js.map → localBatchGatewayRequest-DtOvBmA9.js.map} +1 -1
- package/dist/main.cjs +1 -1
- package/dist/main.js +1 -1
- package/dist/secp256k1-CMP_u7qb.cjs +2 -0
- package/dist/secp256k1-CMP_u7qb.cjs.map +1 -0
- package/dist/secp256k1-DCMgMsfV.js +1297 -0
- package/dist/secp256k1-DCMgMsfV.js.map +1 -0
- package/dist/utils/time.cjs.map +1 -1
- package/dist/utils/time.js.map +1 -1
- package/dist/utils/version.cjs +1 -1
- package/dist/utils/version.js +1 -1
- package/dist/writeContract-BnmmOPwy.cjs +36 -0
- package/dist/writeContract-BnmmOPwy.cjs.map +1 -0
- package/dist/{writeContract-DkC9wV5p.js → writeContract-DYAfDrRz.js} +1788 -1712
- package/dist/writeContract-DYAfDrRz.js.map +1 -0
- package/package.json +8 -8
- package/dist/ccip-C76-YhQK.js +0 -152
- package/dist/ccip-CEodLZ4s.cjs +0 -2
- package/dist/constants-CxSgz27h.cjs +0 -9
- package/dist/createWalletClient-Cct6ojqI.cjs +0 -5
- package/dist/createWalletClient-Cct6ojqI.cjs.map +0 -1
- package/dist/createWalletClient-DAuQCrLq.js +0 -3262
- package/dist/createWalletClient-DAuQCrLq.js.map +0 -1
- package/dist/secp256k1-ClOw2ksU.js +0 -1291
- package/dist/secp256k1-ClOw2ksU.js.map +0 -1
- package/dist/secp256k1-YUzyTLhP.cjs +0 -2
- package/dist/secp256k1-YUzyTLhP.cjs.map +0 -1
- package/dist/writeContract-BfAYISeL.cjs +0 -36
- package/dist/writeContract-BfAYISeL.cjs.map +0 -1
- package/dist/writeContract-DkC9wV5p.js.map +0 -1
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
import { PufferOracleV2 as l } from "../abis/mainnet/PufferOracleV2.js";
|
|
7
|
-
import { g as h } from "../../getContract-DEPNMZxg.js";
|
|
8
|
-
class f {
|
|
1
|
+
import { V as r } from "../../constants-CuIEh_ZS.js";
|
|
2
|
+
import { CONTRACT_ADDRESSES as a } from "../addresses.js";
|
|
3
|
+
import { PufferOracleV2 as n } from "../abis/mainnet/PufferOracleV2.js";
|
|
4
|
+
import { g as o } from "../../getContract-DQN7VDBo.js";
|
|
5
|
+
class C {
|
|
9
6
|
/**
|
|
10
7
|
* Create the handler for the `PufferOracleV2` contract exposing
|
|
11
8
|
* methods to interact with the contract.
|
|
@@ -16,18 +13,18 @@ class f {
|
|
|
16
13
|
* @param publicClient The public client to use for public
|
|
17
14
|
* interactions.
|
|
18
15
|
*/
|
|
19
|
-
constructor(t, e,
|
|
20
|
-
|
|
21
|
-
this.chain = t, this.walletClient = e, this.publicClient = r, this.viemChain = c[t];
|
|
16
|
+
constructor(t, e, i) {
|
|
17
|
+
this.chain = t, this.walletClient = e, this.publicClient = i, this.viemChain = r[t];
|
|
22
18
|
}
|
|
19
|
+
viemChain;
|
|
23
20
|
/**
|
|
24
21
|
* Get the contract.
|
|
25
22
|
*
|
|
26
23
|
* @returns The viem contract.
|
|
27
24
|
*/
|
|
28
25
|
getContract() {
|
|
29
|
-
const t =
|
|
30
|
-
return
|
|
26
|
+
const t = a[this.chain].PufferOracleV2, e = n, i = { public: this.publicClient, wallet: this.walletClient };
|
|
27
|
+
return o({ address: t, abi: e, client: i });
|
|
31
28
|
}
|
|
32
29
|
/**
|
|
33
30
|
* Get the validator ticket price.
|
|
@@ -104,9 +101,9 @@ class f {
|
|
|
104
101
|
* @param guardianEOASignatures The guardian EOA signatures.
|
|
105
102
|
* @returns The transaction.
|
|
106
103
|
*/
|
|
107
|
-
setTotalNumberOfValidators(t, e,
|
|
104
|
+
setTotalNumberOfValidators(t, e, i) {
|
|
108
105
|
return this.getContract().write.setTotalNumberOfValidators(
|
|
109
|
-
[t, e,
|
|
106
|
+
[t, e, i],
|
|
110
107
|
{
|
|
111
108
|
account: this.walletClient.account,
|
|
112
109
|
chain: this.viemChain
|
|
@@ -115,6 +112,6 @@ class f {
|
|
|
115
112
|
}
|
|
116
113
|
}
|
|
117
114
|
export {
|
|
118
|
-
|
|
115
|
+
C as PufferOracleV2Handler
|
|
119
116
|
};
|
|
120
117
|
//# sourceMappingURL=puffer-oracle-v2-handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"puffer-oracle-v2-handler.js","sources":["../../../lib/contracts/handlers/puffer-oracle-v2-handler.ts"],"sourcesContent":["import {\n WalletClient,\n PublicClient,\n getContract,\n Address,\n GetContractReturnType,\n Account,\n} from 'viem';\nimport { Chain, VIEM_CHAINS, ViemChain } from '../../chains/constants';\nimport { CONTRACT_ADDRESSES } from '../addresses';\nimport { PufferOracleV2 } from '../abis/mainnet/PufferOracleV2';\n\n/**\n * Handler for the `PufferOracleV2` contract exposing methods to interact\n * with the contract.\n */\nexport class PufferOracleV2Handler {\n private viemChain: ViemChain;\n\n /**\n * Create the handler for the `PufferOracleV2` contract exposing\n * methods to interact with the contract.\n *\n * @param chain Chain to use for the client.\n * @param walletClient The wallet client to use for wallet\n * interactions.\n * @param publicClient The public client to use for public\n * interactions.\n */\n constructor(\n private chain: Chain,\n private walletClient: WalletClient,\n private publicClient: PublicClient,\n ) {\n this.viemChain = VIEM_CHAINS[chain];\n }\n\n /**\n * Get the contract.\n *\n * @returns The viem contract.\n */\n public getContract() {\n const address = CONTRACT_ADDRESSES[this.chain].PufferOracleV2 as Address;\n const abi = PufferOracleV2;\n const client = { public: this.publicClient, wallet: this.walletClient };\n\n return getContract({ address, abi, client }) as GetContractReturnType<\n typeof abi,\n typeof client,\n Address\n >;\n }\n\n /**\n * Get the validator ticket price.\n *\n * @returns The validator ticket price.\n */\n public getValidatorTicketPrice() {\n return this.getContract().read.getValidatorTicketPrice();\n }\n\n /**\n * Get the total number of validators.\n *\n * @returns The total number of validators.\n */\n public getTotalNumberOfValidators() {\n return this.getContract().read.getTotalNumberOfValidators();\n }\n\n /**\n * Get the locked ETH amount.\n *\n * @returns The locked ETH amount.\n */\n public getLockedEthAmount() {\n return this.getContract().read.getLockedEthAmount();\n }\n\n /**\n * Check if the system is over burst threshold.\n *\n * @returns True if over burst threshold.\n */\n public isOverBurstThreshold() {\n return this.getContract().read.isOverBurstThreshold();\n }\n\n /**\n * Provision a new node.\n *\n * @returns The transaction.\n */\n public provisionNode() {\n return this.getContract().write.provisionNode({\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Exit validators.\n *\n * @param numberOfExits The number of validators to exit.\n * @returns The transaction.\n */\n public exitValidators(numberOfExits: bigint) {\n return this.getContract().write.exitValidators([numberOfExits], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Set the mint price for validator tickets.\n *\n * @param newPrice The new mint price.\n * @returns The transaction.\n */\n public setMintPrice(newPrice: bigint) {\n return this.getContract().write.setMintPrice([newPrice], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Set the total number of validators.\n *\n * @param newTotalNumberOfValidators The new total number of validators.\n * @param epochNumber The epoch number.\n * @param guardianEOASignatures The guardian EOA signatures.\n * @returns The transaction.\n */\n public setTotalNumberOfValidators(\n newTotalNumberOfValidators: bigint,\n epochNumber: bigint,\n guardianEOASignatures: `0x${string}`[],\n ) {\n return this.getContract().write.setTotalNumberOfValidators(\n [newTotalNumberOfValidators, epochNumber, guardianEOASignatures],\n {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n },\n );\n }\n}\n"],"names":["PufferOracleV2Handler","chain","walletClient","publicClient","
|
|
1
|
+
{"version":3,"file":"puffer-oracle-v2-handler.js","sources":["../../../lib/contracts/handlers/puffer-oracle-v2-handler.ts"],"sourcesContent":["import {\n WalletClient,\n PublicClient,\n getContract,\n Address,\n GetContractReturnType,\n Account,\n} from 'viem';\nimport { Chain, VIEM_CHAINS, ViemChain } from '../../chains/constants';\nimport { CONTRACT_ADDRESSES } from '../addresses';\nimport { PufferOracleV2 } from '../abis/mainnet/PufferOracleV2';\n\n/**\n * Handler for the `PufferOracleV2` contract exposing methods to interact\n * with the contract.\n */\nexport class PufferOracleV2Handler {\n private viemChain: ViemChain;\n\n /**\n * Create the handler for the `PufferOracleV2` contract exposing\n * methods to interact with the contract.\n *\n * @param chain Chain to use for the client.\n * @param walletClient The wallet client to use for wallet\n * interactions.\n * @param publicClient The public client to use for public\n * interactions.\n */\n constructor(\n private chain: Chain,\n private walletClient: WalletClient,\n private publicClient: PublicClient,\n ) {\n this.viemChain = VIEM_CHAINS[chain];\n }\n\n /**\n * Get the contract.\n *\n * @returns The viem contract.\n */\n public getContract() {\n const address = CONTRACT_ADDRESSES[this.chain].PufferOracleV2 as Address;\n const abi = PufferOracleV2;\n const client = { public: this.publicClient, wallet: this.walletClient };\n\n return getContract({ address, abi, client }) as GetContractReturnType<\n typeof abi,\n typeof client,\n Address\n >;\n }\n\n /**\n * Get the validator ticket price.\n *\n * @returns The validator ticket price.\n */\n public getValidatorTicketPrice() {\n return this.getContract().read.getValidatorTicketPrice();\n }\n\n /**\n * Get the total number of validators.\n *\n * @returns The total number of validators.\n */\n public getTotalNumberOfValidators() {\n return this.getContract().read.getTotalNumberOfValidators();\n }\n\n /**\n * Get the locked ETH amount.\n *\n * @returns The locked ETH amount.\n */\n public getLockedEthAmount() {\n return this.getContract().read.getLockedEthAmount();\n }\n\n /**\n * Check if the system is over burst threshold.\n *\n * @returns True if over burst threshold.\n */\n public isOverBurstThreshold() {\n return this.getContract().read.isOverBurstThreshold();\n }\n\n /**\n * Provision a new node.\n *\n * @returns The transaction.\n */\n public provisionNode() {\n return this.getContract().write.provisionNode({\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Exit validators.\n *\n * @param numberOfExits The number of validators to exit.\n * @returns The transaction.\n */\n public exitValidators(numberOfExits: bigint) {\n return this.getContract().write.exitValidators([numberOfExits], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Set the mint price for validator tickets.\n *\n * @param newPrice The new mint price.\n * @returns The transaction.\n */\n public setMintPrice(newPrice: bigint) {\n return this.getContract().write.setMintPrice([newPrice], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Set the total number of validators.\n *\n * @param newTotalNumberOfValidators The new total number of validators.\n * @param epochNumber The epoch number.\n * @param guardianEOASignatures The guardian EOA signatures.\n * @returns The transaction.\n */\n public setTotalNumberOfValidators(\n newTotalNumberOfValidators: bigint,\n epochNumber: bigint,\n guardianEOASignatures: `0x${string}`[],\n ) {\n return this.getContract().write.setTotalNumberOfValidators(\n [newTotalNumberOfValidators, epochNumber, guardianEOASignatures],\n {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n },\n );\n }\n}\n"],"names":["PufferOracleV2Handler","chain","walletClient","publicClient","VIEM_CHAINS","address","CONTRACT_ADDRESSES","abi","PufferOracleV2","client","getContract","numberOfExits","newPrice","newTotalNumberOfValidators","epochNumber","guardianEOASignatures"],"mappings":";;;;AAgBO,MAAMA,EAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAajC,YACUC,GACAC,GACAC,GACR;AAHQ,SAAA,QAAAF,GACA,KAAA,eAAAC,GACA,KAAA,eAAAC,GAER,KAAK,YAAYC,EAAYH,CAAK;AAAA,EACpC;AAAA,EAlBQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAyBD,cAAc;AACnB,UAAMI,IAAUC,EAAmB,KAAK,KAAK,EAAE,gBACzCC,IAAMC,GACNC,IAAS,EAAE,QAAQ,KAAK,cAAc,QAAQ,KAAK,aAAA;AAEzD,WAAOC,EAAY,EAAE,SAAAL,GAAS,KAAAE,GAAK,QAAAE,GAAQ;AAAA,EAK7C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,0BAA0B;AAC/B,WAAO,KAAK,cAAc,KAAK,wBAAA;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,6BAA6B;AAClC,WAAO,KAAK,cAAc,KAAK,2BAAA;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,qBAAqB;AAC1B,WAAO,KAAK,cAAc,KAAK,mBAAA;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,uBAAuB;AAC5B,WAAO,KAAK,cAAc,KAAK,qBAAA;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,gBAAgB;AACrB,WAAO,KAAK,cAAc,MAAM,cAAc;AAAA,MAC5C,SAAS,KAAK,aAAa;AAAA,MAC3B,OAAO,KAAK;AAAA,IAAA,CACb;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQO,eAAeE,GAAuB;AAC3C,WAAO,KAAK,YAAA,EAAc,MAAM,eAAe,CAACA,CAAa,GAAG;AAAA,MAC9D,SAAS,KAAK,aAAa;AAAA,MAC3B,OAAO,KAAK;AAAA,IAAA,CACb;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQO,aAAaC,GAAkB;AACpC,WAAO,KAAK,YAAA,EAAc,MAAM,aAAa,CAACA,CAAQ,GAAG;AAAA,MACvD,SAAS,KAAK,aAAa;AAAA,MAC3B,OAAO,KAAK;AAAA,IAAA,CACb;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUO,2BACLC,GACAC,GACAC,GACA;AACA,WAAO,KAAK,cAAc,MAAM;AAAA,MAC9B,CAACF,GAA4BC,GAAaC,CAAqB;AAAA,MAC/D;AAAA,QACE,SAAS,KAAK,aAAa;AAAA,QAC3B,OAAO,KAAK;AAAA,MAAA;AAAA,IACd;AAAA,EAEJ;AACF;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../../constants-6kuRTsbU.cjs"),n=require("../addresses.cjs"),o=require("../abis/mainnet/PufferProtocol.cjs"),c=require("../../getContract-D4_SEfqa.cjs");class s{constructor(t,e,i){this.chain=t,this.walletClient=e,this.publicClient=i,this.viemChain=a.VIEM_CHAINS[t]}viemChain;getContract(){const t=n.CONTRACT_ADDRESSES[this.chain].PufferProtocol,e=o.PufferProtocol,i={public:this.publicClient,wallet:this.walletClient};return c.getContract({address:t,abi:e,client:i})}getMinimumVtAmount(){return this.getContract().read.getMinimumVtAmount()}getVTPenalty(){return this.getContract().read.getVTPenalty()}getValidatorTicketsBalance(t){return this.getContract().read.getValidatorTicketsBalance([t])}getModuleAddress(t){return this.getContract().read.getModuleAddress([t])}getModuleWeights(){return this.getContract().read.getModuleWeights()}getNextValidatorToProvision(){return this.getContract().read.getNextValidatorToProvision()}getNodeInfo(t){return this.getContract().read.getNodeInfo([t])}getValidators(t){return this.getContract().read.getValidators([t])}getValidatorInfo(t,e){return this.getContract().read.getValidatorInfo([t,e])}getModuleLimitInformation(t){return this.getContract().read.getModuleLimitInformation([t])}getWithdrawalCredentials(t){return this.getContract().read.getWithdrawalCredentials([t])}getDepositDataRoot(t,e,i){return this.getContract().read.getDepositDataRoot([t,e,i])}createPufferModule(t){return this.getContract().write.createPufferModule([t],{account:this.walletClient.account,chain:this.viemChain})}registerValidatorKey(t,e,i,r){return this.getContract().write.registerValidatorKey([t,e,i,r],{account:this.walletClient.account,chain:this.viemChain})}provisionNode(t,e,i){return this.getContract().write.provisionNode([t,e,i],{account:this.walletClient.account,chain:this.viemChain})}depositValidatorTickets(t,e){return this.getContract().write.depositValidatorTickets([t,e],{account:this.walletClient.account,chain:this.viemChain})}withdrawValidatorTickets(t,e){return this.getContract().write.withdrawValidatorTickets([t,e],{account:this.walletClient.account,chain:this.viemChain})}batchHandleWithdrawals(t,e){return this.getContract().write.batchHandleWithdrawals([t,e],{account:this.walletClient.account,chain:this.viemChain})}skipProvisioning(t,e){return this.getContract().write.skipProvisioning([t,e],{account:this.walletClient.account,chain:this.viemChain})}}exports.PufferProtocolHandler=s;
|
|
2
2
|
//# sourceMappingURL=puffer-protocol-handler.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"puffer-protocol-handler.cjs","sources":["../../../lib/contracts/handlers/puffer-protocol-handler.ts"],"sourcesContent":["import {\n WalletClient,\n PublicClient,\n getContract,\n Address,\n GetContractReturnType,\n Account,\n Hex,\n} from 'viem';\nimport { Chain, VIEM_CHAINS, ViemChain } from '../../chains/constants';\nimport { CONTRACT_ADDRESSES } from '../addresses';\nimport { PufferProtocol } from '../abis/mainnet/PufferProtocol';\nimport { PermitData } from '../common/lib/types';\n\nexport type ValidatorKeyData = {\n blsPubKey: `0x${string}`;\n signature: `0x${string}`;\n depositDataRoot: `0x${string}`;\n blsEncryptedPrivKeyShares: `0x${string}`[];\n blsPubKeySet: `0x${string}`;\n raveEvidence: `0x${string}`;\n};\n\nexport type StoppedValidatorInfo = {\n module: Address;\n startEpoch: bigint;\n endEpoch: bigint;\n wasSlashed: boolean;\n moduleName: `0x${string}`;\n pufferModuleIndex: bigint;\n withdrawalAmount: bigint;\n};\n\n/**\n * Handler for the `PufferProtocol` contract exposing methods to interact\n * with the contract.\n */\nexport class PufferProtocolHandler {\n private viemChain: ViemChain;\n\n /**\n * Create the handler for the `PufferProtocol` contract exposing\n * methods to interact with the contract.\n *\n * @param chain Chain to use for the client.\n * @param walletClient The wallet client to use for wallet\n * interactions.\n * @param publicClient The public client to use for public\n * interactions.\n */\n constructor(\n private chain: Chain,\n private walletClient: WalletClient,\n private publicClient: PublicClient,\n ) {\n this.viemChain = VIEM_CHAINS[chain];\n }\n\n /**\n * Get the contract.\n *\n * @returns The viem contract.\n */\n public getContract() {\n const address = CONTRACT_ADDRESSES[this.chain].PufferProtocol as Address;\n const abi = PufferProtocol;\n const client = { public: this.publicClient, wallet: this.walletClient };\n\n return getContract({ address, abi, client }) as GetContractReturnType<\n typeof abi,\n typeof client,\n Address\n >;\n }\n\n /**\n * Get the minimum VT amount required.\n *\n * @returns The minimum VT amount.\n */\n public getMinimumVtAmount() {\n return this.getContract().read.getMinimumVtAmount();\n }\n\n /**\n * Get the VT penalty amount.\n *\n * @returns The VT penalty amount.\n */\n public getVTPenalty() {\n return this.getContract().read.getVTPenalty();\n }\n\n /**\n * Get validator tickets balance for an owner.\n *\n * @param owner The owner address.\n * @returns The validator tickets balance.\n */\n public getValidatorTicketsBalance(owner: Address) {\n return this.getContract().read.getValidatorTicketsBalance([owner]);\n }\n\n /**\n * Get module address by name.\n *\n * @param moduleName The module name.\n * @returns The module address.\n */\n public getModuleAddress(moduleName: `0x${string}`) {\n return this.getContract().read.getModuleAddress([moduleName]);\n }\n\n /**\n * Get module weights.\n *\n * @returns The module weights.\n */\n public getModuleWeights() {\n return this.getContract().read.getModuleWeights();\n }\n\n /**\n * Get the next validator to be provisioned.\n *\n * @returns Tuple of module name and index.\n */\n public getNextValidatorToProvision() {\n return this.getContract().read.getNextValidatorToProvision();\n }\n\n /**\n * Get node information.\n *\n * @param node The node address.\n * @returns The node information.\n */\n public getNodeInfo(node: Address) {\n return this.getContract().read.getNodeInfo([node]);\n }\n\n /**\n * Get validators for a module.\n *\n * @param moduleName The module name.\n * @returns The validators array.\n */\n public getValidators(moduleName: `0x${string}`) {\n return this.getContract().read.getValidators([moduleName]);\n }\n\n /**\n * Get validator information.\n *\n * @param moduleName The module name.\n * @param pufferModuleIndex The puffer module index.\n * @returns The validator information.\n */\n public getValidatorInfo(\n moduleName: `0x${string}`,\n pufferModuleIndex: bigint,\n ) {\n return this.getContract().read.getValidatorInfo([\n moduleName,\n pufferModuleIndex,\n ]);\n }\n\n /**\n * Get module limit information.\n *\n * @param moduleName The module name.\n * @returns The module limit information.\n */\n public getModuleLimitInformation(moduleName: `0x${string}`) {\n return this.getContract().read.getModuleLimitInformation([moduleName]);\n }\n\n /**\n * Get withdrawal credentials for a module.\n *\n * @param module The module address.\n * @returns The withdrawal credentials.\n */\n public getWithdrawalCredentials(module: Address) {\n return this.getContract().read.getWithdrawalCredentials([module]);\n }\n\n /**\n * Get deposit data root.\n *\n * @param pubKey The public key.\n * @param signature The signature.\n * @param withdrawalCredentials The withdrawal credentials.\n * @returns The deposit data root.\n */\n public getDepositDataRoot(\n pubKey: `0x${string}`,\n signature: `0x${string}`,\n withdrawalCredentials: `0x${string}`,\n ) {\n return this.getContract().read.getDepositDataRoot([\n pubKey,\n signature,\n withdrawalCredentials,\n ]);\n }\n\n /**\n * Create a new puffer module.\n *\n * @param moduleName The module name.\n * @returns The transaction.\n */\n public createPufferModule(moduleName: `0x${string}`) {\n return this.getContract().write.createPufferModule([moduleName], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Register validator key.\n *\n * @param data The validator key data.\n * @param moduleName The module name.\n * @param pufETHPermit The pufETH permit data.\n * @param vtPermit The VT permit data.\n * @returns The transaction.\n */\n public registerValidatorKey(\n data: ValidatorKeyData,\n moduleName: Hex,\n pufETHPermit: PermitData,\n vtPermit: PermitData,\n ) {\n return this.getContract().write.registerValidatorKey(\n [data, moduleName, pufETHPermit, vtPermit],\n {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n },\n );\n }\n\n /**\n * Provision a node.\n *\n * @param guardianEnclaveSignatures The guardian enclave signatures.\n * @param validatorSignature The validator signature.\n * @param depositRootHash The deposit root hash.\n * @returns The transaction.\n */\n public provisionNode(\n guardianEnclaveSignatures: `0x${string}`[],\n validatorSignature: `0x${string}`,\n depositRootHash: `0x${string}`,\n ) {\n return this.getContract().write.provisionNode(\n [guardianEnclaveSignatures, validatorSignature, depositRootHash],\n {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n },\n );\n }\n\n /**\n * Deposit validator tickets.\n *\n * @param permit The permit data.\n * @param node The node address.\n * @returns The transaction.\n */\n public depositValidatorTickets(permit: PermitData, node: Address) {\n return this.getContract().write.depositValidatorTickets([permit, node], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Withdraw validator tickets.\n *\n * @param amount The amount to withdraw.\n * @param recipient The recipient address.\n * @returns The transaction.\n */\n public withdrawValidatorTickets(amount: bigint, recipient: Address) {\n return this.getContract().write.withdrawValidatorTickets(\n [amount, recipient],\n {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n },\n );\n }\n\n /**\n * Batch handle withdrawals.\n *\n * @param validatorInfos The validator infos.\n * @param guardianEOASignatures The guardian EOA signatures.\n * @returns The transaction.\n */\n public batchHandleWithdrawals(\n validatorInfos: StoppedValidatorInfo[],\n guardianEOASignatures: `0x${string}`[],\n ) {\n return this.getContract().write.batchHandleWithdrawals(\n [validatorInfos, guardianEOASignatures],\n {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n },\n );\n }\n\n /**\n * Skip provisioning for a module.\n *\n * @param moduleName The module name.\n * @param guardianEOASignatures The guardian EOA signatures.\n * @returns The transaction.\n */\n public skipProvisioning(\n moduleName: `0x${string}`,\n guardianEOASignatures: `0x${string}`[],\n ) {\n return this.getContract().write.skipProvisioning(\n [moduleName, guardianEOASignatures],\n {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n },\n );\n }\n}\n"],"names":["PufferProtocolHandler","chain","walletClient","publicClient","__publicField","VIEM_CHAINS","address","CONTRACT_ADDRESSES","abi","PufferProtocol","client","getContract","owner","moduleName","node","pufferModuleIndex","module","pubKey","signature","withdrawalCredentials","data","pufETHPermit","vtPermit","guardianEnclaveSignatures","validatorSignature","depositRootHash","permit","amount","recipient","validatorInfos","guardianEOASignatures"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"puffer-protocol-handler.cjs","sources":["../../../lib/contracts/handlers/puffer-protocol-handler.ts"],"sourcesContent":["import {\n WalletClient,\n PublicClient,\n getContract,\n Address,\n GetContractReturnType,\n Account,\n Hex,\n} from 'viem';\nimport { Chain, VIEM_CHAINS, ViemChain } from '../../chains/constants';\nimport { CONTRACT_ADDRESSES } from '../addresses';\nimport { PufferProtocol } from '../abis/mainnet/PufferProtocol';\nimport { PermitData } from '../common/lib/types';\n\nexport type ValidatorKeyData = {\n blsPubKey: `0x${string}`;\n signature: `0x${string}`;\n depositDataRoot: `0x${string}`;\n blsEncryptedPrivKeyShares: `0x${string}`[];\n blsPubKeySet: `0x${string}`;\n raveEvidence: `0x${string}`;\n};\n\nexport type StoppedValidatorInfo = {\n module: Address;\n startEpoch: bigint;\n endEpoch: bigint;\n wasSlashed: boolean;\n moduleName: `0x${string}`;\n pufferModuleIndex: bigint;\n withdrawalAmount: bigint;\n};\n\n/**\n * Handler for the `PufferProtocol` contract exposing methods to interact\n * with the contract.\n */\nexport class PufferProtocolHandler {\n private viemChain: ViemChain;\n\n /**\n * Create the handler for the `PufferProtocol` contract exposing\n * methods to interact with the contract.\n *\n * @param chain Chain to use for the client.\n * @param walletClient The wallet client to use for wallet\n * interactions.\n * @param publicClient The public client to use for public\n * interactions.\n */\n constructor(\n private chain: Chain,\n private walletClient: WalletClient,\n private publicClient: PublicClient,\n ) {\n this.viemChain = VIEM_CHAINS[chain];\n }\n\n /**\n * Get the contract.\n *\n * @returns The viem contract.\n */\n public getContract() {\n const address = CONTRACT_ADDRESSES[this.chain].PufferProtocol as Address;\n const abi = PufferProtocol;\n const client = { public: this.publicClient, wallet: this.walletClient };\n\n return getContract({ address, abi, client }) as GetContractReturnType<\n typeof abi,\n typeof client,\n Address\n >;\n }\n\n /**\n * Get the minimum VT amount required.\n *\n * @returns The minimum VT amount.\n */\n public getMinimumVtAmount() {\n return this.getContract().read.getMinimumVtAmount();\n }\n\n /**\n * Get the VT penalty amount.\n *\n * @returns The VT penalty amount.\n */\n public getVTPenalty() {\n return this.getContract().read.getVTPenalty();\n }\n\n /**\n * Get validator tickets balance for an owner.\n *\n * @param owner The owner address.\n * @returns The validator tickets balance.\n */\n public getValidatorTicketsBalance(owner: Address) {\n return this.getContract().read.getValidatorTicketsBalance([owner]);\n }\n\n /**\n * Get module address by name.\n *\n * @param moduleName The module name.\n * @returns The module address.\n */\n public getModuleAddress(moduleName: `0x${string}`) {\n return this.getContract().read.getModuleAddress([moduleName]);\n }\n\n /**\n * Get module weights.\n *\n * @returns The module weights.\n */\n public getModuleWeights() {\n return this.getContract().read.getModuleWeights();\n }\n\n /**\n * Get the next validator to be provisioned.\n *\n * @returns Tuple of module name and index.\n */\n public getNextValidatorToProvision() {\n return this.getContract().read.getNextValidatorToProvision();\n }\n\n /**\n * Get node information.\n *\n * @param node The node address.\n * @returns The node information.\n */\n public getNodeInfo(node: Address) {\n return this.getContract().read.getNodeInfo([node]);\n }\n\n /**\n * Get validators for a module.\n *\n * @param moduleName The module name.\n * @returns The validators array.\n */\n public getValidators(moduleName: `0x${string}`) {\n return this.getContract().read.getValidators([moduleName]);\n }\n\n /**\n * Get validator information.\n *\n * @param moduleName The module name.\n * @param pufferModuleIndex The puffer module index.\n * @returns The validator information.\n */\n public getValidatorInfo(\n moduleName: `0x${string}`,\n pufferModuleIndex: bigint,\n ) {\n return this.getContract().read.getValidatorInfo([\n moduleName,\n pufferModuleIndex,\n ]);\n }\n\n /**\n * Get module limit information.\n *\n * @param moduleName The module name.\n * @returns The module limit information.\n */\n public getModuleLimitInformation(moduleName: `0x${string}`) {\n return this.getContract().read.getModuleLimitInformation([moduleName]);\n }\n\n /**\n * Get withdrawal credentials for a module.\n *\n * @param module The module address.\n * @returns The withdrawal credentials.\n */\n public getWithdrawalCredentials(module: Address) {\n return this.getContract().read.getWithdrawalCredentials([module]);\n }\n\n /**\n * Get deposit data root.\n *\n * @param pubKey The public key.\n * @param signature The signature.\n * @param withdrawalCredentials The withdrawal credentials.\n * @returns The deposit data root.\n */\n public getDepositDataRoot(\n pubKey: `0x${string}`,\n signature: `0x${string}`,\n withdrawalCredentials: `0x${string}`,\n ) {\n return this.getContract().read.getDepositDataRoot([\n pubKey,\n signature,\n withdrawalCredentials,\n ]);\n }\n\n /**\n * Create a new puffer module.\n *\n * @param moduleName The module name.\n * @returns The transaction.\n */\n public createPufferModule(moduleName: `0x${string}`) {\n return this.getContract().write.createPufferModule([moduleName], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Register validator key.\n *\n * @param data The validator key data.\n * @param moduleName The module name.\n * @param pufETHPermit The pufETH permit data.\n * @param vtPermit The VT permit data.\n * @returns The transaction.\n */\n public registerValidatorKey(\n data: ValidatorKeyData,\n moduleName: Hex,\n pufETHPermit: PermitData,\n vtPermit: PermitData,\n ) {\n return this.getContract().write.registerValidatorKey(\n [data, moduleName, pufETHPermit, vtPermit],\n {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n },\n );\n }\n\n /**\n * Provision a node.\n *\n * @param guardianEnclaveSignatures The guardian enclave signatures.\n * @param validatorSignature The validator signature.\n * @param depositRootHash The deposit root hash.\n * @returns The transaction.\n */\n public provisionNode(\n guardianEnclaveSignatures: `0x${string}`[],\n validatorSignature: `0x${string}`,\n depositRootHash: `0x${string}`,\n ) {\n return this.getContract().write.provisionNode(\n [guardianEnclaveSignatures, validatorSignature, depositRootHash],\n {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n },\n );\n }\n\n /**\n * Deposit validator tickets.\n *\n * @param permit The permit data.\n * @param node The node address.\n * @returns The transaction.\n */\n public depositValidatorTickets(permit: PermitData, node: Address) {\n return this.getContract().write.depositValidatorTickets([permit, node], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Withdraw validator tickets.\n *\n * @param amount The amount to withdraw.\n * @param recipient The recipient address.\n * @returns The transaction.\n */\n public withdrawValidatorTickets(amount: bigint, recipient: Address) {\n return this.getContract().write.withdrawValidatorTickets(\n [amount, recipient],\n {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n },\n );\n }\n\n /**\n * Batch handle withdrawals.\n *\n * @param validatorInfos The validator infos.\n * @param guardianEOASignatures The guardian EOA signatures.\n * @returns The transaction.\n */\n public batchHandleWithdrawals(\n validatorInfos: StoppedValidatorInfo[],\n guardianEOASignatures: `0x${string}`[],\n ) {\n return this.getContract().write.batchHandleWithdrawals(\n [validatorInfos, guardianEOASignatures],\n {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n },\n );\n }\n\n /**\n * Skip provisioning for a module.\n *\n * @param moduleName The module name.\n * @param guardianEOASignatures The guardian EOA signatures.\n * @returns The transaction.\n */\n public skipProvisioning(\n moduleName: `0x${string}`,\n guardianEOASignatures: `0x${string}`[],\n ) {\n return this.getContract().write.skipProvisioning(\n [moduleName, guardianEOASignatures],\n {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n },\n );\n }\n}\n"],"names":["PufferProtocolHandler","chain","walletClient","publicClient","VIEM_CHAINS","address","CONTRACT_ADDRESSES","abi","PufferProtocol","client","getContract","owner","moduleName","node","pufferModuleIndex","module","pubKey","signature","withdrawalCredentials","data","pufETHPermit","vtPermit","guardianEnclaveSignatures","validatorSignature","depositRootHash","permit","amount","recipient","validatorInfos","guardianEOASignatures"],"mappings":"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"}
|