@pufferfinance/puffer-sdk 1.19.0 → 1.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PufferProtocol.js","sources":["../../../../lib/contracts/abis/mainnet/PufferProtocol.ts"],"sourcesContent":["export const PufferProtocol = <const>[\n {\n type: 'constructor',\n inputs: [\n {\n name: 'pufferVault',\n type: 'address',\n internalType: 'contract PufferVaultV2',\n },\n {\n name: 'guardianModule',\n type: 'address',\n internalType: 'contract IGuardianModule',\n },\n {\n name: 'moduleManager',\n type: 'address',\n internalType: 'address',\n },\n {\n name: 'validatorTicket',\n type: 'address',\n internalType: 'contract ValidatorTicket',\n },\n {\n name: 'oracle',\n type: 'address',\n internalType: 'contract IPufferOracleV2',\n },\n {\n name: 'beaconDepositContract',\n type: 'address',\n internalType: 'address',\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'batchHandleWithdrawals',\n inputs: [\n {\n name: 'validatorInfos',\n type: 'tuple[]',\n internalType: 'struct StoppedValidatorInfo[]',\n components: [\n {\n name: 'module',\n type: 'address',\n internalType: 'address',\n },\n {\n name: 'startEpoch',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'endEpoch',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'wasSlashed',\n type: 'bool',\n internalType: 'bool',\n },\n {\n name: 'moduleName',\n type: 'bytes32',\n internalType: 'bytes32',\n },\n {\n name: 'pufferModuleIndex',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'withdrawalAmount',\n type: 'uint256',\n internalType: 'uint256',\n },\n ],\n },\n {\n name: 'guardianEOASignatures',\n type: 'bytes[]',\n internalType: 'bytes[]',\n },\n ],\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'createPufferModule',\n inputs: [\n {\n name: 'moduleName',\n type: 'bytes32',\n internalType: 'bytes32',\n },\n ],\n outputs: [\n {\n name: '',\n type: 'address',\n internalType: 'address',\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'depositValidatorTickets',\n inputs: [\n {\n name: 'permit',\n type: 'tuple',\n internalType: 'struct Permit',\n components: [\n {\n name: 'deadline',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'amount',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'v',\n type: 'uint8',\n internalType: 'uint8',\n },\n {\n name: 'r',\n type: 'bytes32',\n internalType: 'bytes32',\n },\n {\n name: 's',\n type: 'bytes32',\n internalType: 'bytes32',\n },\n ],\n },\n {\n name: 'node',\n type: 'address',\n internalType: 'address',\n },\n ],\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'getDepositDataRoot',\n inputs: [\n {\n name: 'pubKey',\n type: 'bytes',\n internalType: 'bytes',\n },\n {\n name: 'signature',\n type: 'bytes',\n internalType: 'bytes',\n },\n {\n name: 'withdrawalCredentials',\n type: 'bytes',\n internalType: 'bytes',\n },\n ],\n outputs: [\n {\n name: '',\n type: 'bytes32',\n internalType: 'bytes32',\n },\n ],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n name: 'getMinimumVtAmount',\n inputs: [],\n outputs: [\n {\n name: '',\n type: 'uint256',\n internalType: 'uint256',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getModuleAddress',\n inputs: [\n {\n name: 'moduleName',\n type: 'bytes32',\n internalType: 'bytes32',\n },\n ],\n outputs: [\n {\n name: '',\n type: 'address',\n internalType: 'address',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getModuleLimitInformation',\n inputs: [\n {\n name: 'moduleName',\n type: 'bytes32',\n internalType: 'bytes32',\n },\n ],\n outputs: [\n {\n name: 'info',\n type: 'tuple',\n internalType: 'struct ModuleLimit',\n components: [\n {\n name: 'allowedLimit',\n type: 'uint128',\n internalType: 'uint128',\n },\n {\n name: 'numberOfRegisteredValidators',\n type: 'uint128',\n internalType: 'uint128',\n },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getModuleWeights',\n inputs: [],\n outputs: [\n {\n name: '',\n type: 'bytes32[]',\n internalType: 'bytes32[]',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getNextValidatorToProvision',\n inputs: [],\n outputs: [\n {\n name: '',\n type: 'bytes32',\n internalType: 'bytes32',\n },\n {\n name: '',\n type: 'uint256',\n internalType: 'uint256',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getNodeInfo',\n inputs: [\n {\n name: 'node',\n type: 'address',\n internalType: 'address',\n },\n ],\n outputs: [\n {\n name: '',\n type: 'tuple',\n internalType: 'struct NodeInfo',\n components: [\n {\n name: 'activeValidatorCount',\n type: 'uint64',\n internalType: 'uint64',\n },\n {\n name: 'pendingValidatorCount',\n type: 'uint64',\n internalType: 'uint64',\n },\n {\n name: 'vtBalance',\n type: 'uint96',\n internalType: 'uint96',\n },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getVTPenalty',\n inputs: [],\n outputs: [\n {\n name: '',\n type: 'uint256',\n internalType: 'uint256',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getValidatorInfo',\n inputs: [\n {\n name: 'moduleName',\n type: 'bytes32',\n internalType: 'bytes32',\n },\n {\n name: 'pufferModuleIndex',\n type: 'uint256',\n internalType: 'uint256',\n },\n ],\n outputs: [\n {\n name: '',\n type: 'tuple',\n internalType: 'struct Validator',\n components: [\n {\n name: 'node',\n type: 'address',\n internalType: 'address',\n },\n {\n name: 'bond',\n type: 'uint96',\n internalType: 'uint96',\n },\n {\n name: 'module',\n type: 'address',\n internalType: 'address',\n },\n {\n name: 'status',\n type: 'uint8',\n internalType: 'enum Status',\n },\n {\n name: 'pubKey',\n type: 'bytes',\n internalType: 'bytes',\n },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getValidatorTicketsBalance',\n inputs: [\n {\n name: 'owner',\n type: 'address',\n internalType: 'address',\n },\n ],\n outputs: [\n {\n name: '',\n type: 'uint256',\n internalType: 'uint256',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getValidators',\n inputs: [\n {\n name: 'moduleName',\n type: 'bytes32',\n internalType: 'bytes32',\n },\n ],\n outputs: [\n {\n name: '',\n type: 'tuple[]',\n internalType: 'struct Validator[]',\n components: [\n {\n name: 'node',\n type: 'address',\n internalType: 'address',\n },\n {\n name: 'bond',\n type: 'uint96',\n internalType: 'uint96',\n },\n {\n name: 'module',\n type: 'address',\n internalType: 'address',\n },\n {\n name: 'status',\n type: 'uint8',\n internalType: 'enum Status',\n },\n {\n name: 'pubKey',\n type: 'bytes',\n internalType: 'bytes',\n },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getWithdrawalCredentials',\n inputs: [\n {\n name: 'module',\n type: 'address',\n internalType: 'address',\n },\n ],\n outputs: [\n {\n name: '',\n type: 'bytes',\n internalType: 'bytes',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'provisionNode',\n inputs: [\n {\n name: 'guardianEnclaveSignatures',\n type: 'bytes[]',\n internalType: 'bytes[]',\n },\n {\n name: 'validatorSignature',\n type: 'bytes',\n internalType: 'bytes',\n },\n {\n name: 'depositRootHash',\n type: 'bytes32',\n internalType: 'bytes32',\n },\n ],\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'registerValidatorKey',\n inputs: [\n {\n name: 'data',\n type: 'tuple',\n internalType: 'struct ValidatorKeyData',\n components: [\n {\n name: 'blsPubKey',\n type: 'bytes',\n internalType: 'bytes',\n },\n {\n name: 'signature',\n type: 'bytes',\n internalType: 'bytes',\n },\n {\n name: 'depositDataRoot',\n type: 'bytes32',\n internalType: 'bytes32',\n },\n {\n name: 'blsEncryptedPrivKeyShares',\n type: 'bytes[]',\n internalType: 'bytes[]',\n },\n {\n name: 'blsPubKeySet',\n type: 'bytes',\n internalType: 'bytes',\n },\n {\n name: 'raveEvidence',\n type: 'bytes',\n internalType: 'bytes',\n },\n ],\n },\n {\n name: 'moduleName',\n type: 'bytes32',\n internalType: 'bytes32',\n },\n {\n name: 'pufETHPermit',\n type: 'tuple',\n internalType: 'struct Permit',\n components: [\n {\n name: 'deadline',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'amount',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'v',\n type: 'uint8',\n internalType: 'uint8',\n },\n {\n name: 'r',\n type: 'bytes32',\n internalType: 'bytes32',\n },\n {\n name: 's',\n type: 'bytes32',\n internalType: 'bytes32',\n },\n ],\n },\n {\n name: 'vtPermit',\n type: 'tuple',\n internalType: 'struct Permit',\n components: [\n {\n name: 'deadline',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'amount',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'v',\n type: 'uint8',\n internalType: 'uint8',\n },\n {\n name: 'r',\n type: 'bytes32',\n internalType: 'bytes32',\n },\n {\n name: 's',\n type: 'bytes32',\n internalType: 'bytes32',\n },\n ],\n },\n ],\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n name: 'skipProvisioning',\n inputs: [\n {\n name: 'moduleName',\n type: 'bytes32',\n internalType: 'bytes32',\n },\n {\n name: 'guardianEOASignatures',\n type: 'bytes[]',\n internalType: 'bytes[]',\n },\n ],\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'withdrawValidatorTickets',\n inputs: [\n {\n name: 'amount',\n type: 'uint96',\n internalType: 'uint96',\n },\n {\n name: 'recipient',\n type: 'address',\n internalType: 'address',\n },\n ],\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'event',\n name: 'NewPufferModuleCreated',\n inputs: [\n {\n name: 'module',\n type: 'address',\n indexed: false,\n internalType: 'address',\n },\n {\n name: 'moduleName',\n type: 'bytes32',\n indexed: true,\n internalType: 'bytes32',\n },\n {\n name: 'withdrawalCredentials',\n type: 'bytes32',\n indexed: false,\n internalType: 'bytes32',\n },\n ],\n anonymous: false,\n },\n {\n type: 'event',\n name: 'SuccessfullyProvisioned',\n inputs: [\n {\n name: 'pubKey',\n type: 'bytes',\n indexed: false,\n internalType: 'bytes',\n },\n {\n name: 'pufferModuleIndex',\n type: 'uint256',\n indexed: true,\n internalType: 'uint256',\n },\n {\n name: 'moduleName',\n type: 'bytes32',\n indexed: true,\n internalType: 'bytes32',\n },\n ],\n anonymous: false,\n },\n {\n type: 'event',\n name: 'ValidatorKeyRegistered',\n inputs: [\n {\n name: 'pubKey',\n type: 'bytes',\n indexed: false,\n internalType: 'bytes',\n },\n {\n name: 'pufferModuleIndex',\n type: 'uint256',\n indexed: true,\n internalType: 'uint256',\n },\n {\n name: 'moduleName',\n type: 'bytes32',\n indexed: true,\n internalType: 'bytes32',\n },\n {\n name: 'usingEnclave',\n type: 'bool',\n indexed: false,\n internalType: 'bool',\n },\n ],\n anonymous: false,\n },\n {\n type: 'event',\n name: 'ValidatorTicketsDeposited',\n inputs: [\n {\n name: 'node',\n type: 'address',\n indexed: true,\n internalType: 'address',\n },\n {\n name: 'depositor',\n type: 'address',\n indexed: true,\n internalType: 'address',\n },\n {\n name: 'amount',\n type: 'uint256',\n indexed: false,\n internalType: 'uint256',\n },\n ],\n anonymous: false,\n },\n {\n type: 'event',\n name: 'ValidatorTicketsWithdrawn',\n inputs: [\n {\n name: 'node',\n type: 'address',\n indexed: true,\n internalType: 'address',\n },\n {\n name: 'recipient',\n type: 'address',\n indexed: true,\n internalType: 'address',\n },\n {\n name: 'amount',\n type: 'uint256',\n indexed: false,\n internalType: 'uint256',\n },\n ],\n anonymous: false,\n },\n {\n type: 'error',\n name: 'AccessManagedInvalidAuthority',\n inputs: [\n {\n name: 'authority',\n type: 'address',\n internalType: 'address',\n },\n ],\n },\n {\n type: 'error',\n name: 'AccessManagedRequiredDelay',\n inputs: [\n {\n name: 'caller',\n type: 'address',\n internalType: 'address',\n },\n {\n name: 'delay',\n type: 'uint32',\n internalType: 'uint32',\n },\n ],\n },\n {\n type: 'error',\n name: 'AccessManagedUnauthorized',\n inputs: [\n {\n name: 'caller',\n type: 'address',\n internalType: 'address',\n },\n ],\n },\n {\n type: 'error',\n name: 'InvalidAddress',\n inputs: [],\n },\n {\n type: 'error',\n name: 'InvalidBLSPrivateKeyShares',\n inputs: [],\n },\n {\n type: 'error',\n name: 'InvalidBLSPubKey',\n inputs: [],\n },\n {\n type: 'error',\n name: 'InvalidBLSPublicKeySet',\n inputs: [],\n },\n {\n type: 'error',\n name: 'InvalidDepositRootHash',\n inputs: [],\n },\n {\n type: 'error',\n name: 'InvalidETHAmount',\n inputs: [],\n },\n {\n type: 'error',\n name: 'InvalidVTAmount',\n inputs: [],\n },\n {\n type: 'error',\n name: 'InvalidValidatorState',\n inputs: [\n {\n name: 'status',\n type: 'uint8',\n internalType: 'enum Status',\n },\n ],\n },\n {\n type: 'error',\n name: 'ModuleAlreadyExists',\n inputs: [],\n },\n {\n type: 'error',\n name: 'ValidatorLimitForModuleReached',\n inputs: [],\n },\n];\n"],"names":["PufferProtocol"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../constants-BI6T6ZbJ.cjs"),a={[e.Chain.Mainnet]:{PufferVault:"0xD9A442856C234a39a81a089C06451EBAa4306a72",PufferDepositor:"0x4aa799c5dfc01ee7d790e3bf1a7c2257ce1dceff",PufferL2Depositor:"0x3436E0B85cd929929F5802e792CFE282166E0259",PufLocker:"0x48e8dE138C246c14248C94d2D616a2F9eb4590D2",L1RewardManager:"0x157788cc028Ac6405bD406f2D1e0A8A22b3cf17b",L2RewardManager:"0x0000000000000000000000000000000000000000",PufferWithdrawalManager:"0xDdA0483184E75a5579ef9635ED14BacCf9d50283",NucleusAtomicQueue:"0x228c44bb4885c6633f4b6c83f14622f37d5112e5",CarrotStaker:"0x99c599227c65132822f0290d9e5b4b0430d6c0d6",Distributor:"0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae",ValidatorTicket:"0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A",PufferOracleV2:"0x0BE2aE0edbeBb517541DF217EF0074FC9a9e994f"},[e.Chain.Holesky]:{PufferVault:"0x9196830bB4c05504E0A8475A0aD566AceEB6BeC9",PufferDepositor:"0x824AC05aeb86A0aD770b8acDe0906d2d4a6c4A8c",PufferL2Depositor:"0x0af6998e4828ad8ef8f79a9288d0a861890f791d",PufLocker:"0xa58983ad0899a452b7420bc57228e329d7ba92b6",L1RewardManager:"0x10f970bcb84B82B82a65eBCbF45F26dD26D69F12",L2RewardManager:"0x58C046794f69A8830b0BE737022a45b4acd01dE5",PufferWithdrawalManager:"0x5A3E1069B66800c0ecbc91bd81b1AE4D1804DBc4",ValidatorTicket:"0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A",PufferOracleV2:"0x8e043ed3f06720615685d4978770cd5c8fe90fe3"},[e.Chain.Base]:{L2RewardManager:"0xF9Dd335bF363b2E4ecFe3c94A86EBD7Dd3Dcf0e7"}};exports.CONTRACT_ADDRESSES=a;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../constants-BI6T6ZbJ.cjs"),a={[e.Chain.Mainnet]:{PufferVault:"0xD9A442856C234a39a81a089C06451EBAa4306a72",PufferDepositor:"0x4aa799c5dfc01ee7d790e3bf1a7c2257ce1dceff",PufferL2Depositor:"0x3436E0B85cd929929F5802e792CFE282166E0259",PufLocker:"0x48e8dE138C246c14248C94d2D616a2F9eb4590D2",L1RewardManager:"0x157788cc028Ac6405bD406f2D1e0A8A22b3cf17b",L2RewardManager:"0x0000000000000000000000000000000000000000",PufferWithdrawalManager:"0xDdA0483184E75a5579ef9635ED14BacCf9d50283",NucleusAtomicQueue:"0x228c44bb4885c6633f4b6c83f14622f37d5112e5",CarrotStaker:"0x99c599227c65132822f0290d9e5b4b0430d6c0d6",Distributor:"0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae",ValidatorTicket:"0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A",PufferOracleV2:"0x0BE2aE0edbeBb517541DF217EF0074FC9a9e994f",PufferProtocol:"0xf7b6B32492c2e13799D921E84202450131bd238B"},[e.Chain.Holesky]:{PufferVault:"0x9196830bB4c05504E0A8475A0aD566AceEB6BeC9",PufferDepositor:"0x824AC05aeb86A0aD770b8acDe0906d2d4a6c4A8c",PufferL2Depositor:"0x0af6998e4828ad8ef8f79a9288d0a861890f791d",PufLocker:"0xa58983ad0899a452b7420bc57228e329d7ba92b6",L1RewardManager:"0x10f970bcb84B82B82a65eBCbF45F26dD26D69F12",L2RewardManager:"0x58C046794f69A8830b0BE737022a45b4acd01dE5",PufferWithdrawalManager:"0x5A3E1069B66800c0ecbc91bd81b1AE4D1804DBc4",ValidatorTicket:"0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A",PufferOracleV2:"0x8e043ed3f06720615685d4978770cd5c8fe90fe3",PufferProtocol:"0xE00c79408B9De5BaD2FDEbB1688997a68eC988CD"},[e.Chain.Base]:{L2RewardManager:"0xF9Dd335bF363b2E4ecFe3c94A86EBD7Dd3Dcf0e7"}};exports.CONTRACT_ADDRESSES=a;
2
2
  //# sourceMappingURL=addresses.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"addresses.cjs","sources":["../../lib/contracts/addresses.ts"],"sourcesContent":["import { Chain } from '../chains/constants';\n\n// Source of truth:\n// https://github.com/PufferFinance/Deployments-and-ACL/tree/main/docs/deployments\nexport const CONTRACT_ADDRESSES = {\n // Casting to number so the consumer can use chain ids. Also not using\n // a generic type for the variable so the consumer knows which\n // contracts can be accessed.\n [Chain.Mainnet as number]: {\n PufferVault: '0xD9A442856C234a39a81a089C06451EBAa4306a72',\n PufferDepositor: '0x4aa799c5dfc01ee7d790e3bf1a7c2257ce1dceff',\n PufferL2Depositor: '0x3436E0B85cd929929F5802e792CFE282166E0259',\n PufLocker: '0x48e8dE138C246c14248C94d2D616a2F9eb4590D2',\n L1RewardManager: '0x157788cc028Ac6405bD406f2D1e0A8A22b3cf17b',\n // L2RewardManager is not deployed to mainnet but base.\n L2RewardManager: '0x0000000000000000000000000000000000000000',\n PufferWithdrawalManager: '0xDdA0483184E75a5579ef9635ED14BacCf9d50283',\n NucleusAtomicQueue: '0x228c44bb4885c6633f4b6c83f14622f37d5112e5',\n CarrotStaker: '0x99c599227c65132822f0290d9e5b4b0430d6c0d6',\n Distributor: '0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae',\n ValidatorTicket: '0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A',\n PufferOracleV2: '0x0BE2aE0edbeBb517541DF217EF0074FC9a9e994f',\n },\n [Chain.Holesky as number]: {\n PufferVault: '0x9196830bB4c05504E0A8475A0aD566AceEB6BeC9',\n PufferDepositor: '0x824AC05aeb86A0aD770b8acDe0906d2d4a6c4A8c',\n PufferL2Depositor: '0x0af6998e4828ad8ef8f79a9288d0a861890f791d',\n PufLocker: '0xa58983ad0899a452b7420bc57228e329d7ba92b6',\n L1RewardManager: '0x10f970bcb84B82B82a65eBCbF45F26dD26D69F12',\n L2RewardManager: '0x58C046794f69A8830b0BE737022a45b4acd01dE5',\n PufferWithdrawalManager: '0x5A3E1069B66800c0ecbc91bd81b1AE4D1804DBc4',\n ValidatorTicket: '0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A',\n PufferOracleV2: '0x8e043ed3f06720615685d4978770cd5c8fe90fe3',\n },\n [Chain.Base as number]: {\n L2RewardManager: '0xF9Dd335bF363b2E4ecFe3c94A86EBD7Dd3Dcf0e7',\n },\n};\n"],"names":["CONTRACT_ADDRESSES","Chain"],"mappings":"6HAIaA,EAAqB,CAIhC,CAACC,EAAAA,MAAM,OAAiB,EAAG,CACzB,YAAa,6CACb,gBAAiB,6CACjB,kBAAmB,6CACnB,UAAW,6CACX,gBAAiB,6CAEjB,gBAAiB,6CACjB,wBAAyB,6CACzB,mBAAoB,6CACpB,aAAc,6CACd,YAAa,6CACb,gBAAiB,6CACjB,eAAgB,4CAClB,EACA,CAACA,EAAAA,MAAM,OAAiB,EAAG,CACzB,YAAa,6CACb,gBAAiB,6CACjB,kBAAmB,6CACnB,UAAW,6CACX,gBAAiB,6CACjB,gBAAiB,6CACjB,wBAAyB,6CACzB,gBAAiB,6CACjB,eAAgB,4CAClB,EACA,CAACA,EAAAA,MAAM,IAAc,EAAG,CACtB,gBAAiB,4CAAA,CAErB"}
1
+ {"version":3,"file":"addresses.cjs","sources":["../../lib/contracts/addresses.ts"],"sourcesContent":["import { Chain } from '../chains/constants';\n\n// Source of truth:\n// https://github.com/PufferFinance/Deployments-and-ACL/tree/main/docs/deployments\nexport const CONTRACT_ADDRESSES = {\n // Casting to number so the consumer can use chain ids. Also not using\n // a generic type for the variable so the consumer knows which\n // contracts can be accessed.\n [Chain.Mainnet as number]: {\n PufferVault: '0xD9A442856C234a39a81a089C06451EBAa4306a72',\n PufferDepositor: '0x4aa799c5dfc01ee7d790e3bf1a7c2257ce1dceff',\n PufferL2Depositor: '0x3436E0B85cd929929F5802e792CFE282166E0259',\n PufLocker: '0x48e8dE138C246c14248C94d2D616a2F9eb4590D2',\n L1RewardManager: '0x157788cc028Ac6405bD406f2D1e0A8A22b3cf17b',\n // L2RewardManager is not deployed to mainnet but base.\n L2RewardManager: '0x0000000000000000000000000000000000000000',\n PufferWithdrawalManager: '0xDdA0483184E75a5579ef9635ED14BacCf9d50283',\n NucleusAtomicQueue: '0x228c44bb4885c6633f4b6c83f14622f37d5112e5',\n CarrotStaker: '0x99c599227c65132822f0290d9e5b4b0430d6c0d6',\n Distributor: '0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae',\n ValidatorTicket: '0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A',\n PufferOracleV2: '0x0BE2aE0edbeBb517541DF217EF0074FC9a9e994f',\n PufferProtocol: '0xf7b6B32492c2e13799D921E84202450131bd238B',\n },\n [Chain.Holesky as number]: {\n PufferVault: '0x9196830bB4c05504E0A8475A0aD566AceEB6BeC9',\n PufferDepositor: '0x824AC05aeb86A0aD770b8acDe0906d2d4a6c4A8c',\n PufferL2Depositor: '0x0af6998e4828ad8ef8f79a9288d0a861890f791d',\n PufLocker: '0xa58983ad0899a452b7420bc57228e329d7ba92b6',\n L1RewardManager: '0x10f970bcb84B82B82a65eBCbF45F26dD26D69F12',\n L2RewardManager: '0x58C046794f69A8830b0BE737022a45b4acd01dE5',\n PufferWithdrawalManager: '0x5A3E1069B66800c0ecbc91bd81b1AE4D1804DBc4',\n ValidatorTicket: '0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A',\n PufferOracleV2: '0x8e043ed3f06720615685d4978770cd5c8fe90fe3',\n PufferProtocol: '0xE00c79408B9De5BaD2FDEbB1688997a68eC988CD',\n },\n [Chain.Base as number]: {\n L2RewardManager: '0xF9Dd335bF363b2E4ecFe3c94A86EBD7Dd3Dcf0e7',\n },\n};\n"],"names":["CONTRACT_ADDRESSES","Chain"],"mappings":"6HAIaA,EAAqB,CAIhC,CAACC,EAAAA,MAAM,OAAiB,EAAG,CACzB,YAAa,6CACb,gBAAiB,6CACjB,kBAAmB,6CACnB,UAAW,6CACX,gBAAiB,6CAEjB,gBAAiB,6CACjB,wBAAyB,6CACzB,mBAAoB,6CACpB,aAAc,6CACd,YAAa,6CACb,gBAAiB,6CACjB,eAAgB,6CAChB,eAAgB,4CAClB,EACA,CAACA,EAAAA,MAAM,OAAiB,EAAG,CACzB,YAAa,6CACb,gBAAiB,6CACjB,kBAAmB,6CACnB,UAAW,6CACX,gBAAiB,6CACjB,gBAAiB,6CACjB,wBAAyB,6CACzB,gBAAiB,6CACjB,eAAgB,6CAChB,eAAgB,4CAClB,EACA,CAACA,EAAAA,MAAM,IAAc,EAAG,CACtB,gBAAiB,4CAAA,CAErB"}
@@ -12,6 +12,7 @@ export declare const CONTRACT_ADDRESSES: {
12
12
  Distributor: string;
13
13
  ValidatorTicket: string;
14
14
  PufferOracleV2: string;
15
+ PufferProtocol: string;
15
16
  } | {
16
17
  PufferVault: string;
17
18
  PufferDepositor: string;
@@ -22,6 +23,7 @@ export declare const CONTRACT_ADDRESSES: {
22
23
  PufferWithdrawalManager: string;
23
24
  ValidatorTicket: string;
24
25
  PufferOracleV2: string;
26
+ PufferProtocol: string;
25
27
  NucleusAtomicQueue?: undefined;
26
28
  CarrotStaker?: undefined;
27
29
  Distributor?: undefined;
@@ -38,5 +40,6 @@ export declare const CONTRACT_ADDRESSES: {
38
40
  Distributor?: undefined;
39
41
  ValidatorTicket?: undefined;
40
42
  PufferOracleV2?: undefined;
43
+ PufferProtocol?: undefined;
41
44
  };
42
45
  };
@@ -16,7 +16,8 @@ const f = {
16
16
  CarrotStaker: "0x99c599227c65132822f0290d9e5b4b0430d6c0d6",
17
17
  Distributor: "0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae",
18
18
  ValidatorTicket: "0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A",
19
- PufferOracleV2: "0x0BE2aE0edbeBb517541DF217EF0074FC9a9e994f"
19
+ PufferOracleV2: "0x0BE2aE0edbeBb517541DF217EF0074FC9a9e994f",
20
+ PufferProtocol: "0xf7b6B32492c2e13799D921E84202450131bd238B"
20
21
  },
21
22
  [e.Holesky]: {
22
23
  PufferVault: "0x9196830bB4c05504E0A8475A0aD566AceEB6BeC9",
@@ -27,7 +28,8 @@ const f = {
27
28
  L2RewardManager: "0x58C046794f69A8830b0BE737022a45b4acd01dE5",
28
29
  PufferWithdrawalManager: "0x5A3E1069B66800c0ecbc91bd81b1AE4D1804DBc4",
29
30
  ValidatorTicket: "0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A",
30
- PufferOracleV2: "0x8e043ed3f06720615685d4978770cd5c8fe90fe3"
31
+ PufferOracleV2: "0x8e043ed3f06720615685d4978770cd5c8fe90fe3",
32
+ PufferProtocol: "0xE00c79408B9De5BaD2FDEbB1688997a68eC988CD"
31
33
  },
32
34
  [e.Base]: {
33
35
  L2RewardManager: "0xF9Dd335bF363b2E4ecFe3c94A86EBD7Dd3Dcf0e7"
@@ -1 +1 @@
1
- {"version":3,"file":"addresses.js","sources":["../../lib/contracts/addresses.ts"],"sourcesContent":["import { Chain } from '../chains/constants';\n\n// Source of truth:\n// https://github.com/PufferFinance/Deployments-and-ACL/tree/main/docs/deployments\nexport const CONTRACT_ADDRESSES = {\n // Casting to number so the consumer can use chain ids. Also not using\n // a generic type for the variable so the consumer knows which\n // contracts can be accessed.\n [Chain.Mainnet as number]: {\n PufferVault: '0xD9A442856C234a39a81a089C06451EBAa4306a72',\n PufferDepositor: '0x4aa799c5dfc01ee7d790e3bf1a7c2257ce1dceff',\n PufferL2Depositor: '0x3436E0B85cd929929F5802e792CFE282166E0259',\n PufLocker: '0x48e8dE138C246c14248C94d2D616a2F9eb4590D2',\n L1RewardManager: '0x157788cc028Ac6405bD406f2D1e0A8A22b3cf17b',\n // L2RewardManager is not deployed to mainnet but base.\n L2RewardManager: '0x0000000000000000000000000000000000000000',\n PufferWithdrawalManager: '0xDdA0483184E75a5579ef9635ED14BacCf9d50283',\n NucleusAtomicQueue: '0x228c44bb4885c6633f4b6c83f14622f37d5112e5',\n CarrotStaker: '0x99c599227c65132822f0290d9e5b4b0430d6c0d6',\n Distributor: '0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae',\n ValidatorTicket: '0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A',\n PufferOracleV2: '0x0BE2aE0edbeBb517541DF217EF0074FC9a9e994f',\n },\n [Chain.Holesky as number]: {\n PufferVault: '0x9196830bB4c05504E0A8475A0aD566AceEB6BeC9',\n PufferDepositor: '0x824AC05aeb86A0aD770b8acDe0906d2d4a6c4A8c',\n PufferL2Depositor: '0x0af6998e4828ad8ef8f79a9288d0a861890f791d',\n PufLocker: '0xa58983ad0899a452b7420bc57228e329d7ba92b6',\n L1RewardManager: '0x10f970bcb84B82B82a65eBCbF45F26dD26D69F12',\n L2RewardManager: '0x58C046794f69A8830b0BE737022a45b4acd01dE5',\n PufferWithdrawalManager: '0x5A3E1069B66800c0ecbc91bd81b1AE4D1804DBc4',\n ValidatorTicket: '0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A',\n PufferOracleV2: '0x8e043ed3f06720615685d4978770cd5c8fe90fe3',\n },\n [Chain.Base as number]: {\n L2RewardManager: '0xF9Dd335bF363b2E4ecFe3c94A86EBD7Dd3Dcf0e7',\n },\n};\n"],"names":["CONTRACT_ADDRESSES","Chain"],"mappings":";AAIO,MAAMA,IAAqB;AAAA;AAAA;AAAA;AAAA,EAIhC,CAACC,EAAM,OAAiB,GAAG;AAAA,IACzB,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,mBAAmB;AAAA,IACnB,WAAW;AAAA,IACX,iBAAiB;AAAA;AAAA,IAEjB,iBAAiB;AAAA,IACjB,yBAAyB;AAAA,IACzB,oBAAoB;AAAA,IACpB,cAAc;AAAA,IACd,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,gBAAgB;AAAA,EAClB;AAAA,EACA,CAACA,EAAM,OAAiB,GAAG;AAAA,IACzB,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,mBAAmB;AAAA,IACnB,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,iBAAiB;AAAA,IACjB,yBAAyB;AAAA,IACzB,iBAAiB;AAAA,IACjB,gBAAgB;AAAA,EAClB;AAAA,EACA,CAACA,EAAM,IAAc,GAAG;AAAA,IACtB,iBAAiB;AAAA,EAAA;AAErB;"}
1
+ {"version":3,"file":"addresses.js","sources":["../../lib/contracts/addresses.ts"],"sourcesContent":["import { Chain } from '../chains/constants';\n\n// Source of truth:\n// https://github.com/PufferFinance/Deployments-and-ACL/tree/main/docs/deployments\nexport const CONTRACT_ADDRESSES = {\n // Casting to number so the consumer can use chain ids. Also not using\n // a generic type for the variable so the consumer knows which\n // contracts can be accessed.\n [Chain.Mainnet as number]: {\n PufferVault: '0xD9A442856C234a39a81a089C06451EBAa4306a72',\n PufferDepositor: '0x4aa799c5dfc01ee7d790e3bf1a7c2257ce1dceff',\n PufferL2Depositor: '0x3436E0B85cd929929F5802e792CFE282166E0259',\n PufLocker: '0x48e8dE138C246c14248C94d2D616a2F9eb4590D2',\n L1RewardManager: '0x157788cc028Ac6405bD406f2D1e0A8A22b3cf17b',\n // L2RewardManager is not deployed to mainnet but base.\n L2RewardManager: '0x0000000000000000000000000000000000000000',\n PufferWithdrawalManager: '0xDdA0483184E75a5579ef9635ED14BacCf9d50283',\n NucleusAtomicQueue: '0x228c44bb4885c6633f4b6c83f14622f37d5112e5',\n CarrotStaker: '0x99c599227c65132822f0290d9e5b4b0430d6c0d6',\n Distributor: '0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae',\n ValidatorTicket: '0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A',\n PufferOracleV2: '0x0BE2aE0edbeBb517541DF217EF0074FC9a9e994f',\n PufferProtocol: '0xf7b6B32492c2e13799D921E84202450131bd238B',\n },\n [Chain.Holesky as number]: {\n PufferVault: '0x9196830bB4c05504E0A8475A0aD566AceEB6BeC9',\n PufferDepositor: '0x824AC05aeb86A0aD770b8acDe0906d2d4a6c4A8c',\n PufferL2Depositor: '0x0af6998e4828ad8ef8f79a9288d0a861890f791d',\n PufLocker: '0xa58983ad0899a452b7420bc57228e329d7ba92b6',\n L1RewardManager: '0x10f970bcb84B82B82a65eBCbF45F26dD26D69F12',\n L2RewardManager: '0x58C046794f69A8830b0BE737022a45b4acd01dE5',\n PufferWithdrawalManager: '0x5A3E1069B66800c0ecbc91bd81b1AE4D1804DBc4',\n ValidatorTicket: '0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A',\n PufferOracleV2: '0x8e043ed3f06720615685d4978770cd5c8fe90fe3',\n PufferProtocol: '0xE00c79408B9De5BaD2FDEbB1688997a68eC988CD',\n },\n [Chain.Base as number]: {\n L2RewardManager: '0xF9Dd335bF363b2E4ecFe3c94A86EBD7Dd3Dcf0e7',\n },\n};\n"],"names":["CONTRACT_ADDRESSES","Chain"],"mappings":";AAIO,MAAMA,IAAqB;AAAA;AAAA;AAAA;AAAA,EAIhC,CAACC,EAAM,OAAiB,GAAG;AAAA,IACzB,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,mBAAmB;AAAA,IACnB,WAAW;AAAA,IACX,iBAAiB;AAAA;AAAA,IAEjB,iBAAiB;AAAA,IACjB,yBAAyB;AAAA,IACzB,oBAAoB;AAAA,IACpB,cAAc;AAAA,IACd,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,gBAAgB;AAAA,IAChB,gBAAgB;AAAA,EAClB;AAAA,EACA,CAACA,EAAM,OAAiB,GAAG;AAAA,IACzB,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,mBAAmB;AAAA,IACnB,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,iBAAiB;AAAA,IACjB,yBAAyB;AAAA,IACzB,iBAAiB;AAAA,IACjB,gBAAgB;AAAA,IAChB,gBAAgB;AAAA,EAClB;AAAA,EACA,CAACA,EAAM,IAAc,GAAG;AAAA,IACtB,iBAAiB;AAAA,EAAA;AAErB;"}
@@ -0,0 +1,2 @@
1
+ "use strict";var o=Object.defineProperty;var c=(r,t,e)=>t in r?o(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var a=(r,t,e)=>c(r,typeof t!="symbol"?t+"":t,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("../../constants-BI6T6ZbJ.cjs"),l=require("../addresses.cjs"),h=require("../abis/mainnet/PufferProtocol.cjs"),u=require("../../getContract-CPwqa1sR.cjs");class d{constructor(t,e,i){a(this,"viemChain");this.chain=t,this.walletClient=e,this.publicClient=i,this.viemChain=s.VIEM_CHAINS[t]}getContract(){const t=l.CONTRACT_ADDRESSES[this.chain].PufferProtocol,e=h.PufferProtocol,i={public:this.publicClient,wallet:this.walletClient};return u.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,n){return this.getContract().write.registerValidatorKey([t,e,i,n],{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=d;
2
+ //# sourceMappingURL=puffer-protocol-handler.cjs.map
@@ -0,0 +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} from 'viem';\nimport { Chain, VIEM_CHAINS, ViemChain } from '../../chains/constants';\nimport { CONTRACT_ADDRESSES } from '../addresses';\nimport { PufferProtocol } from '../abis/mainnet/PufferProtocol';\n\nexport type PermitData = {\n deadline: bigint;\n amount: bigint;\n v: number;\n r: Address;\n s: Address;\n};\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: `0x${string}`,\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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"}