@pufferfinance/puffer-sdk 1.18.0 → 1.19.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.
- 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 +28 -21
- package/dist/api/puffer-client.js.map +1 -1
- package/dist/contracts/abis/mainnet/PufferOracleV2.cjs +2 -0
- package/dist/contracts/abis/mainnet/PufferOracleV2.cjs.map +1 -0
- package/dist/contracts/abis/mainnet/PufferOracleV2.d.ts +172 -0
- package/dist/contracts/abis/mainnet/PufferOracleV2.js +153 -0
- package/dist/contracts/abis/mainnet/PufferOracleV2.js.map +1 -0
- package/dist/contracts/addresses.cjs +1 -1
- package/dist/contracts/addresses.cjs.map +1 -1
- package/dist/contracts/addresses.d.ts +3 -0
- package/dist/contracts/addresses.js +6 -4
- package/dist/contracts/addresses.js.map +1 -1
- package/dist/contracts/handlers/puffer-oracle-v2-handler.cjs +2 -0
- package/dist/contracts/handlers/puffer-oracle-v2-handler.cjs.map +1 -0
- package/dist/contracts/handlers/puffer-oracle-v2-handler.d.ts +14789 -0
- package/dist/contracts/handlers/puffer-oracle-v2-handler.js +120 -0
- package/dist/contracts/handlers/puffer-oracle-v2-handler.js.map +1 -0
- 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 +2 -1
- package/dist/contracts/handlers/validator-ticket-handler.js +4 -2
- package/dist/contracts/handlers/validator-ticket-handler.js.map +1 -1
- package/dist/main.cjs +1 -1
- package/dist/main.d.ts +1 -0
- package/dist/main.js +18 -16
- package/dist/main.js.map +1 -1
- package/dist/utils/version.cjs +1 -1
- package/dist/utils/version.js +1 -1
- package/package.json +1 -1
|
@@ -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 },\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 },\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,
|
|
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"}
|
|
@@ -11,6 +11,7 @@ export declare const CONTRACT_ADDRESSES: {
|
|
|
11
11
|
CarrotStaker: string;
|
|
12
12
|
Distributor: string;
|
|
13
13
|
ValidatorTicket: string;
|
|
14
|
+
PufferOracleV2: string;
|
|
14
15
|
} | {
|
|
15
16
|
PufferVault: string;
|
|
16
17
|
PufferDepositor: string;
|
|
@@ -20,6 +21,7 @@ export declare const CONTRACT_ADDRESSES: {
|
|
|
20
21
|
L2RewardManager: string;
|
|
21
22
|
PufferWithdrawalManager: string;
|
|
22
23
|
ValidatorTicket: string;
|
|
24
|
+
PufferOracleV2: string;
|
|
23
25
|
NucleusAtomicQueue?: undefined;
|
|
24
26
|
CarrotStaker?: undefined;
|
|
25
27
|
Distributor?: undefined;
|
|
@@ -35,5 +37,6 @@ export declare const CONTRACT_ADDRESSES: {
|
|
|
35
37
|
CarrotStaker?: undefined;
|
|
36
38
|
Distributor?: undefined;
|
|
37
39
|
ValidatorTicket?: undefined;
|
|
40
|
+
PufferOracleV2?: undefined;
|
|
38
41
|
};
|
|
39
42
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { C as e } from "../constants-LC89CXNv.js";
|
|
2
|
-
const
|
|
2
|
+
const f = {
|
|
3
3
|
// Casting to number so the consumer can use chain ids. Also not using
|
|
4
4
|
// a generic type for the variable so the consumer knows which
|
|
5
5
|
// contracts can be accessed.
|
|
@@ -15,7 +15,8 @@ const c = {
|
|
|
15
15
|
NucleusAtomicQueue: "0x228c44bb4885c6633f4b6c83f14622f37d5112e5",
|
|
16
16
|
CarrotStaker: "0x99c599227c65132822f0290d9e5b4b0430d6c0d6",
|
|
17
17
|
Distributor: "0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae",
|
|
18
|
-
ValidatorTicket: "0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A"
|
|
18
|
+
ValidatorTicket: "0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A",
|
|
19
|
+
PufferOracleV2: "0x0BE2aE0edbeBb517541DF217EF0074FC9a9e994f"
|
|
19
20
|
},
|
|
20
21
|
[e.Holesky]: {
|
|
21
22
|
PufferVault: "0x9196830bB4c05504E0A8475A0aD566AceEB6BeC9",
|
|
@@ -25,13 +26,14 @@ const c = {
|
|
|
25
26
|
L1RewardManager: "0x10f970bcb84B82B82a65eBCbF45F26dD26D69F12",
|
|
26
27
|
L2RewardManager: "0x58C046794f69A8830b0BE737022a45b4acd01dE5",
|
|
27
28
|
PufferWithdrawalManager: "0x5A3E1069B66800c0ecbc91bd81b1AE4D1804DBc4",
|
|
28
|
-
ValidatorTicket: "0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A"
|
|
29
|
+
ValidatorTicket: "0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A",
|
|
30
|
+
PufferOracleV2: "0x8e043ed3f06720615685d4978770cd5c8fe90fe3"
|
|
29
31
|
},
|
|
30
32
|
[e.Base]: {
|
|
31
33
|
L2RewardManager: "0xF9Dd335bF363b2E4ecFe3c94A86EBD7Dd3Dcf0e7"
|
|
32
34
|
}
|
|
33
35
|
};
|
|
34
36
|
export {
|
|
35
|
-
|
|
37
|
+
f as CONTRACT_ADDRESSES
|
|
36
38
|
};
|
|
37
39
|
//# sourceMappingURL=addresses.js.map
|
|
@@ -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 },\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 },\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,
|
|
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;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var n=Object.defineProperty;var c=(i,t,e)=>t in i?n(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var a=(i,t,e)=>c(i,typeof t!="symbol"?t+"":t,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("../../constants-BI6T6ZbJ.cjs"),o=require("../addresses.cjs"),l=require("../abis/mainnet/PufferOracleV2.cjs"),h=require("../../getContract-CPwqa1sR.cjs");class u{constructor(t,e,r){a(this,"viemChain");this.chain=t,this.walletClient=e,this.publicClient=r,this.viemChain=s.VIEM_CHAINS[t]}getContract(){const t=o.CONTRACT_ADDRESSES[this.chain].PufferOracleV2,e=l.PufferOracleV2,r={public:this.publicClient,wallet:this.walletClient};return h.getContract({address:t,abi:e,client:r})}getValidatorTicketPrice(){return this.getContract().read.getValidatorTicketPrice()}getTotalNumberOfValidators(){return this.getContract().read.getTotalNumberOfValidators()}getLockedEthAmount(){return this.getContract().read.getLockedEthAmount()}isOverBurstThreshold(){return this.getContract().read.isOverBurstThreshold()}provisionNode(){return this.getContract().write.provisionNode({account:this.walletClient.account,chain:this.viemChain})}exitValidators(t){return this.getContract().write.exitValidators([t],{account:this.walletClient.account,chain:this.viemChain})}setMintPrice(t){return this.getContract().write.setMintPrice([t],{account:this.walletClient.account,chain:this.viemChain})}setTotalNumberOfValidators(t,e,r){return this.getContract().write.setTotalNumberOfValidators([t,e,r],{account:this.walletClient.account,chain:this.viemChain})}}exports.PufferOracleV2Handler=u;
|
|
2
|
+
//# sourceMappingURL=puffer-oracle-v2-handler.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"puffer-oracle-v2-handler.cjs","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","__publicField","VIEM_CHAINS","address","CONTRACT_ADDRESSES","abi","PufferOracleV2","client","getContract","numberOfExits","newPrice","newTotalNumberOfValidators","epochNumber","guardianEOASignatures"],"mappings":"8ZAgBO,MAAMA,CAAsB,CAajC,YACUC,EACAC,EACAC,EACR,CAhBMC,EAAA,kBAaE,KAAA,MAAAH,EACA,KAAA,aAAAC,EACA,KAAA,aAAAC,EAEH,KAAA,UAAYE,cAAYJ,CAAK,CAAA,CAQ7B,aAAc,CACnB,MAAMK,EAAUC,EAAA,mBAAmB,KAAK,KAAK,EAAE,eACzCC,EAAMC,EAAA,eACNC,EAAS,CAAE,OAAQ,KAAK,aAAc,OAAQ,KAAK,YAAa,EAEtE,OAAOC,EAAY,YAAA,CAAE,QAAAL,EAAS,IAAAE,EAAK,OAAAE,EAAQ,CAAA,CAYtC,yBAA0B,CAC/B,OAAO,KAAK,cAAc,KAAK,wBAAwB,CAAA,CAQlD,4BAA6B,CAClC,OAAO,KAAK,cAAc,KAAK,2BAA2B,CAAA,CAQrD,oBAAqB,CAC1B,OAAO,KAAK,cAAc,KAAK,mBAAmB,CAAA,CAQ7C,sBAAuB,CAC5B,OAAO,KAAK,cAAc,KAAK,qBAAqB,CAAA,CAQ/C,eAAgB,CACrB,OAAO,KAAK,cAAc,MAAM,cAAc,CAC5C,QAAS,KAAK,aAAa,QAC3B,MAAO,KAAK,SAAA,CACb,CAAA,CASI,eAAeE,EAAuB,CAC3C,OAAO,KAAK,YAAY,EAAE,MAAM,eAAe,CAACA,CAAa,EAAG,CAC9D,QAAS,KAAK,aAAa,QAC3B,MAAO,KAAK,SAAA,CACb,CAAA,CASI,aAAaC,EAAkB,CACpC,OAAO,KAAK,YAAY,EAAE,MAAM,aAAa,CAACA,CAAQ,EAAG,CACvD,QAAS,KAAK,aAAa,QAC3B,MAAO,KAAK,SAAA,CACb,CAAA,CAWI,2BACLC,EACAC,EACAC,EACA,CACO,OAAA,KAAK,cAAc,MAAM,2BAC9B,CAACF,EAA4BC,EAAaC,CAAqB,EAC/D,CACE,QAAS,KAAK,aAAa,QAC3B,MAAO,KAAK,SAAA,CAEhB,CAAA,CAEJ"}
|