@pufferfinance/puffer-sdk 1.28.0 → 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 +1 -1
- package/dist/contracts/abis/mainnet/CarrotVesting.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/CarrotVesting.d.ts +98 -82
- package/dist/contracts/abis/mainnet/CarrotVesting.js +64 -50
- 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 +98 -6600
- package/dist/contracts/handlers/carrot-vesting-handler.js +21 -23
- 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,12 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
import { VAULTS_ADDRESSES as s } from "../vaults-addresses.js";
|
|
8
|
-
import { g as u } from "../../getContract-DEPNMZxg.js";
|
|
9
|
-
class v {
|
|
1
|
+
import { V as r } from "../../constants-CuIEh_ZS.js";
|
|
2
|
+
import { ConcreteMultiStrategyVault as n } from "../abis/mainnet/ConcreteMultiStrategyVault.js";
|
|
3
|
+
import { Token as a } from "../tokens.js";
|
|
4
|
+
import { VAULTS_ADDRESSES as o } from "../vaults-addresses.js";
|
|
5
|
+
import { g as c } from "../../getContract-DQN7VDBo.js";
|
|
6
|
+
class w {
|
|
10
7
|
/**
|
|
11
8
|
* Create the handler for processing UniFi tokens.
|
|
12
9
|
*
|
|
@@ -16,11 +13,11 @@ class v {
|
|
|
16
13
|
* @param publicClient The public client to use for public
|
|
17
14
|
* interactions.
|
|
18
15
|
*/
|
|
19
|
-
constructor(t, e,
|
|
20
|
-
|
|
21
|
-
n(this, "token");
|
|
22
|
-
this.chain = t, this.walletClient = e, this.publicClient = r, this.viemChain = c[t], this.token = l.ctTACpufETH;
|
|
16
|
+
constructor(t, e, i) {
|
|
17
|
+
this.chain = t, this.walletClient = e, this.publicClient = i, this.viemChain = r[t], this.token = a.ctTACpufETH;
|
|
23
18
|
}
|
|
19
|
+
viemChain;
|
|
20
|
+
token;
|
|
24
21
|
/**
|
|
25
22
|
* Set the UniFi token to use for executing transactions on the
|
|
26
23
|
* contract.
|
|
@@ -37,8 +34,8 @@ class v {
|
|
|
37
34
|
* @returns The viem contract.
|
|
38
35
|
*/
|
|
39
36
|
getContract() {
|
|
40
|
-
const t =
|
|
41
|
-
return
|
|
37
|
+
const t = o[this.token][this.chain].ConcreteMultiStrategyVault, e = n, i = { public: this.publicClient, wallet: this.walletClient };
|
|
38
|
+
return c({ address: t, abi: e, client: i });
|
|
42
39
|
}
|
|
43
40
|
/**
|
|
44
41
|
* Approve a spender to spend the token.
|
|
@@ -113,8 +110,8 @@ class v {
|
|
|
113
110
|
* @param owner The optional owner of the shares.
|
|
114
111
|
* @returns The transaction.
|
|
115
112
|
*/
|
|
116
|
-
redeem(t, e,
|
|
117
|
-
return e &&
|
|
113
|
+
redeem(t, e, i) {
|
|
114
|
+
return e && i ? this.getContract().write.redeem([t, e, i], {
|
|
118
115
|
account: this.walletClient.account,
|
|
119
116
|
chain: this.viemChain
|
|
120
117
|
}) : this.getContract().write.redeem([t], {
|
|
@@ -154,6 +151,6 @@ class v {
|
|
|
154
151
|
}
|
|
155
152
|
}
|
|
156
153
|
export {
|
|
157
|
-
|
|
154
|
+
w as ConcreteVaultHandler
|
|
158
155
|
};
|
|
159
156
|
//# sourceMappingURL=concrete-vault-handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"concrete-vault-handler.js","sources":["../../../lib/contracts/handlers/concrete-vault-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 { ConcreteMultiStrategyVault } from '../abis/mainnet/ConcreteMultiStrategyVault';\nimport { Token } from '../tokens';\nimport { VAULTS_ADDRESSES } from '../vaults-addresses';\n\ntype VaultAddresses = typeof VAULTS_ADDRESSES;\ntype PufETHVault = VaultAddresses[Token.ctTACpufETH][Chain.Mainnet];\n\n/**\n * Handler for the `ConcreteMultStrategyVault` contract for a given token (pufETH) exposing\n * methods to interact with the contract.\n */\nexport class ConcreteVaultHandler {\n private viemChain: ViemChain;\n private token: Token.ctTACpufETH;\n\n /**\n * Create the handler for processing UniFi tokens.\n *\n * @param chain Chain to use for the client.\n * @param walletClient The wallet client to use for wallet\n * interactions.\n * @param publicClient The public client to use for public\n * interactions.\n */\n constructor(\n private chain: Chain,\n private walletClient: WalletClient,\n private publicClient: PublicClient,\n ) {\n this.viemChain = VIEM_CHAINS[chain];\n this.token = Token.ctTACpufETH;\n }\n\n /**\n * Set the UniFi token to use for executing transactions on the\n * contract.\n *\n * @param token UniFi token to use for the handler.\n * @returns The handler.\n */\n public withToken(token: Token.ctTACpufETH) {\n this.token = token;\n return this;\n }\n\n /**\n * Get the contract.\n *\n * @returns The viem contract.\n */\n public getContract() {\n const address = (VAULTS_ADDRESSES[this.token][this.chain] as PufETHVault)\n .ConcreteMultiStrategyVault as Address;\n const abi = ConcreteMultiStrategyVault;\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 * Approve a spender to spend the token.\n *\n * @param spender The spender of the token.\n * @param amount The amount to approve.\n * @returns The transaction.\n */\n public approve(spender: Address, amount: bigint) {\n return this.getContract().write.approve([spender, amount], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Get the allowance of the owner for the spender.\n *\n * @param owner The owner of the allowance.\n * @param spender The spender of the allowance.\n * @returns The allowance.\n */\n public getAllowance(owner: Address, spender: Address) {\n return this.getContract().read.allowance([owner, spender]);\n }\n\n /**\n * Get the balance for the address.\n *\n * @param address The address to get the balance of.\n * @returns The balance.\n */\n public getBalance(address: Address) {\n return this.getContract().read.balanceOf([address]);\n }\n\n /**\n * Get the total supply of the token.\n *\n * @returns The total supply.\n */\n public getTotalSupply() {\n return this.getContract().read.totalSupply();\n }\n\n /**\n * Deposit an amount of the token.\n *\n * @param amount The amount to deposit.\n * @returns The transaction.\n */\n public deposit(amount: bigint) {\n return this.getContract().write.deposit([amount], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Withdraw the given amount of assets (pufETH) to the receiver.\n *\n * @param assets The amount of assets (pufETH) to withdraw.\n * @returns The transaction.\n */\n public withdraw(assets: bigint) {\n return this.getContract().write.withdraw([assets], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Redeem the given amount of shares (ctTACpufETH) so the receiver\n * gets the assets (pufETH).\n *\n * @param shares The amount of shares (ctTACpufETH) to redeem.\n * @param receiver The optional receiver of the assets.\n * @param owner The optional owner of the shares.\n * @returns The transaction.\n */\n public redeem(shares: bigint, receiver?: Address, owner?: Address) {\n if (receiver && owner) {\n return this.getContract().write.redeem([shares, receiver, owner], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n return this.getContract().write.redeem([shares], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Provides a preview of the number of shares that would be minted for a given deposit amount, after fees.\n *\n * @param amount The amount to deposit.\n * @returns The preview.\n */\n public previewDeposit(amount: bigint) {\n return this.getContract().read.previewDeposit([amount]);\n }\n\n /**\n * Provides a preview of the number of shares that would be burned for a given withdrawal amount, after fees.\n *\n * @param amount The amount to withdraw.\n * @returns The preview.\n */\n public previewWithdraw(amount: bigint) {\n return this.getContract().read.previewWithdraw([amount]);\n }\n\n /**\n * Provides a preview of the amount of assets that would be redeemed\n * for a specific number of shares, after withdrawal fees. Subtracts\n * the withdrawal fee from the share amount to determine the net\n * shares for asset conversion.\n *\n * @param amount The amount to redeem.\n * @returns The preview.\n */\n public previewRedeem(amount: bigint) {\n return this.getContract().read.previewRedeem([amount]);\n }\n}\n"],"names":["ConcreteVaultHandler","chain","walletClient","publicClient","
|
|
1
|
+
{"version":3,"file":"concrete-vault-handler.js","sources":["../../../lib/contracts/handlers/concrete-vault-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 { ConcreteMultiStrategyVault } from '../abis/mainnet/ConcreteMultiStrategyVault';\nimport { Token } from '../tokens';\nimport { VAULTS_ADDRESSES } from '../vaults-addresses';\n\ntype VaultAddresses = typeof VAULTS_ADDRESSES;\ntype PufETHVault = VaultAddresses[Token.ctTACpufETH][Chain.Mainnet];\n\n/**\n * Handler for the `ConcreteMultStrategyVault` contract for a given token (pufETH) exposing\n * methods to interact with the contract.\n */\nexport class ConcreteVaultHandler {\n private viemChain: ViemChain;\n private token: Token.ctTACpufETH;\n\n /**\n * Create the handler for processing UniFi tokens.\n *\n * @param chain Chain to use for the client.\n * @param walletClient The wallet client to use for wallet\n * interactions.\n * @param publicClient The public client to use for public\n * interactions.\n */\n constructor(\n private chain: Chain,\n private walletClient: WalletClient,\n private publicClient: PublicClient,\n ) {\n this.viemChain = VIEM_CHAINS[chain];\n this.token = Token.ctTACpufETH;\n }\n\n /**\n * Set the UniFi token to use for executing transactions on the\n * contract.\n *\n * @param token UniFi token to use for the handler.\n * @returns The handler.\n */\n public withToken(token: Token.ctTACpufETH) {\n this.token = token;\n return this;\n }\n\n /**\n * Get the contract.\n *\n * @returns The viem contract.\n */\n public getContract() {\n const address = (VAULTS_ADDRESSES[this.token][this.chain] as PufETHVault)\n .ConcreteMultiStrategyVault as Address;\n const abi = ConcreteMultiStrategyVault;\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 * Approve a spender to spend the token.\n *\n * @param spender The spender of the token.\n * @param amount The amount to approve.\n * @returns The transaction.\n */\n public approve(spender: Address, amount: bigint) {\n return this.getContract().write.approve([spender, amount], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Get the allowance of the owner for the spender.\n *\n * @param owner The owner of the allowance.\n * @param spender The spender of the allowance.\n * @returns The allowance.\n */\n public getAllowance(owner: Address, spender: Address) {\n return this.getContract().read.allowance([owner, spender]);\n }\n\n /**\n * Get the balance for the address.\n *\n * @param address The address to get the balance of.\n * @returns The balance.\n */\n public getBalance(address: Address) {\n return this.getContract().read.balanceOf([address]);\n }\n\n /**\n * Get the total supply of the token.\n *\n * @returns The total supply.\n */\n public getTotalSupply() {\n return this.getContract().read.totalSupply();\n }\n\n /**\n * Deposit an amount of the token.\n *\n * @param amount The amount to deposit.\n * @returns The transaction.\n */\n public deposit(amount: bigint) {\n return this.getContract().write.deposit([amount], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Withdraw the given amount of assets (pufETH) to the receiver.\n *\n * @param assets The amount of assets (pufETH) to withdraw.\n * @returns The transaction.\n */\n public withdraw(assets: bigint) {\n return this.getContract().write.withdraw([assets], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Redeem the given amount of shares (ctTACpufETH) so the receiver\n * gets the assets (pufETH).\n *\n * @param shares The amount of shares (ctTACpufETH) to redeem.\n * @param receiver The optional receiver of the assets.\n * @param owner The optional owner of the shares.\n * @returns The transaction.\n */\n public redeem(shares: bigint, receiver?: Address, owner?: Address) {\n if (receiver && owner) {\n return this.getContract().write.redeem([shares, receiver, owner], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n return this.getContract().write.redeem([shares], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Provides a preview of the number of shares that would be minted for a given deposit amount, after fees.\n *\n * @param amount The amount to deposit.\n * @returns The preview.\n */\n public previewDeposit(amount: bigint) {\n return this.getContract().read.previewDeposit([amount]);\n }\n\n /**\n * Provides a preview of the number of shares that would be burned for a given withdrawal amount, after fees.\n *\n * @param amount The amount to withdraw.\n * @returns The preview.\n */\n public previewWithdraw(amount: bigint) {\n return this.getContract().read.previewWithdraw([amount]);\n }\n\n /**\n * Provides a preview of the amount of assets that would be redeemed\n * for a specific number of shares, after withdrawal fees. Subtracts\n * the withdrawal fee from the share amount to determine the net\n * shares for asset conversion.\n *\n * @param amount The amount to redeem.\n * @returns The preview.\n */\n public previewRedeem(amount: bigint) {\n return this.getContract().read.previewRedeem([amount]);\n }\n}\n"],"names":["ConcreteVaultHandler","chain","walletClient","publicClient","VIEM_CHAINS","Token","token","address","VAULTS_ADDRESSES","abi","ConcreteMultiStrategyVault","client","getContract","spender","amount","owner","assets","shares","receiver"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../../constants-6kuRTsbU.cjs"),s=require("../addresses.cjs"),o=require("../abis/mainnet/Distributor.cjs"),c=require("../../getContract-D4_SEfqa.cjs");class u{constructor(t,e,r){this.chain=t,this.walletClient=e,this.publicClient=r,this.viemChain=a.VIEM_CHAINS[t]}viemChain;getContract(){const t=s.CONTRACT_ADDRESSES[this.chain].Distributor,e=o.Distributor,r={public:this.publicClient,wallet:this.walletClient};return c.getContract({address:t,abi:e,client:r})}claim(t,{users:e,tokens:r,amounts:i,proofs:n}){return this.getContract().write.claim([e,r,i,n],{account:t,chain:this.viemChain})}async claimed(t,e){const[r,i,n]=await this.getContract().read.claimed([t,e]);return{amount:r,timestamp:BigInt(i),merkleRoot:n}}core(){return this.getContract().read.core()}disputeAmount(){return this.getContract().read.disputeAmount()}disputePeriod(){return this.getContract().read.disputePeriod()}disputeToken(){return this.getContract().read.disputeToken()}disputeTree(t,e){return this.getContract().write.disputeTree([e],{account:t,chain:this.viemChain})}disputer(){return this.getContract().read.disputer()}endOfDisputePeriod(){return this.getContract().read.endOfDisputePeriod()}getMerkleRoot(){return this.getContract().read.getMerkleRoot()}async lastTree(){const[t,e]=await this.getContract().read.lastTree();return{merkleRoot:t,ipfsHash:e}}onlyOperatorCanClaim(t){return this.getContract().read.onlyOperatorCanClaim([t])}toggleOnlyOperatorCanClaim(t,e){return this.getContract().write.toggleOnlyOperatorCanClaim([e],{account:t,chain:this.viemChain})}toggleOperator(t,e,r){return this.getContract().write.toggleOperator([e,r],{account:t,chain:this.viemChain})}toggleTrusted(t,e){return this.getContract().write.toggleTrusted([e],{account:t,chain:this.viemChain})}async tree(){const[t,e]=await this.getContract().read.tree();return{merkleRoot:t,ipfsHash:e}}}exports.DistributorHandler=u;
|
|
2
2
|
//# sourceMappingURL=distributor-handler.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distributor-handler.cjs","sources":["../../../lib/contracts/handlers/distributor-handler.ts"],"sourcesContent":["import {\n WalletClient,\n PublicClient,\n getContract,\n Address,\n GetContractReturnType,\n} from 'viem';\nimport { Chain, VIEM_CHAINS, ViemChain } from '../../chains/constants';\nimport { CONTRACT_ADDRESSES } from '../addresses';\nimport { Distributor } from '../abis/mainnet/Distributor';\n\nexport interface MerkleTree {\n merkleRoot: Address;\n ipfsHash: Address;\n}\n\nexport interface ClaimInfo {\n amount: bigint;\n timestamp: bigint;\n merkleRoot: Address;\n}\n\nexport interface ClaimParams {\n users: Address[];\n tokens: Address[];\n amounts: bigint[];\n proofs: Address[][];\n}\n\n/**\n * Handler for the Merkle Distributor contract, for claiming rewards, e.g. mtwCARROT.\n */\nexport class DistributorHandler {\n private viemChain: ViemChain;\n\n /**\n * Create the handler for the Distributor 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 interactions.\n * @param publicClient The public client to use for public 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].Distributor as Address;\n const abi = Distributor;\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 * Claim tokens for multiple users.\n *\n * @param account The account making the claim.\n * @param params The claim parameters.\n * @returns A promise that resolves to the transaction hash.\n */\n public claim(\n account: Address,\n { users, tokens, amounts, proofs }: ClaimParams,\n ) {\n return this.getContract().write.claim([users, tokens, amounts, proofs], {\n account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Get claim information for a user and token.\n *\n * @param user The user address.\n * @param token The token address.\n * @returns The claim information.\n */\n public async claimed(user: Address, token: Address): Promise<ClaimInfo> {\n const [amount, timestamp, merkleRoot] =\n await this.getContract().read.claimed([user, token]);\n return {\n amount,\n timestamp: BigInt(timestamp),\n merkleRoot,\n };\n }\n\n /**\n * Get the core contract address.\n *\n * @returns The core contract address.\n */\n public core() {\n return this.getContract().read.core();\n }\n\n /**\n * Get the dispute amount.\n *\n * @returns The dispute amount.\n */\n public disputeAmount() {\n return this.getContract().read.disputeAmount();\n }\n\n /**\n * Get the dispute period.\n *\n * @returns The dispute period in seconds.\n */\n public disputePeriod() {\n return this.getContract().read.disputePeriod();\n }\n\n /**\n * Get the dispute token address.\n *\n * @returns The dispute token address.\n */\n public disputeToken() {\n return this.getContract().read.disputeToken();\n }\n\n /**\n * Dispute the current tree.\n *\n * @param account The account disputing the tree.\n * @param reason The reason for the dispute.\n * @returns A promise that resolves to the transaction hash.\n */\n public disputeTree(account: Address, reason: string) {\n return this.getContract().write.disputeTree([reason], {\n account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Get the current disputer address.\n *\n * @returns The disputer address.\n */\n public disputer() {\n return this.getContract().read.disputer();\n }\n\n /**\n * Get the end of the dispute period.\n *\n * @returns The timestamp when the dispute period ends.\n */\n public endOfDisputePeriod() {\n return this.getContract().read.endOfDisputePeriod();\n }\n\n /**\n * Get the current merkle root.\n *\n * @returns The current merkle root.\n */\n public getMerkleRoot() {\n return this.getContract().read.getMerkleRoot();\n }\n\n /**\n * Get the last tree information.\n *\n * @returns The last tree information.\n */\n public async lastTree(): Promise<MerkleTree> {\n const [merkleRoot, ipfsHash] = await this.getContract().read.lastTree();\n return {\n merkleRoot,\n ipfsHash,\n };\n }\n\n /**\n * Check if only operators can claim for a user.\n *\n * @param user The user address to check.\n * @returns Whether only operators can claim for the user.\n */\n public onlyOperatorCanClaim(user: Address) {\n return this.getContract().read.onlyOperatorCanClaim([user]);\n }\n\n /**\n * Toggle whether only operators can claim for a user.\n *\n * @param account The account toggling the setting.\n * @param user The user address to toggle for.\n * @returns A promise that resolves to the transaction hash.\n */\n public toggleOnlyOperatorCanClaim(account: Address, user: Address) {\n return this.getContract().write.toggleOnlyOperatorCanClaim([user], {\n account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Toggle an operator for a user.\n *\n * @param account The account toggling the operator.\n * @param user The user address.\n * @param operator The operator address to toggle.\n * @returns A promise that resolves to the transaction hash.\n */\n public toggleOperator(account: Address, user: Address, operator: Address) {\n return this.getContract().write.toggleOperator([user, operator], {\n account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Toggle whether an address is trusted.\n *\n * @param account The account toggling the trusted status.\n * @param eoa The address to toggle trust for.\n * @returns A promise that resolves to the transaction hash.\n */\n public toggleTrusted(account: Address, eoa: Address) {\n return this.getContract().write.toggleTrusted([eoa], {\n account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Get the current tree information.\n *\n * @returns The current tree information.\n */\n public async tree(): Promise<MerkleTree> {\n const [merkleRoot, ipfsHash] = await this.getContract().read.tree();\n return {\n merkleRoot,\n ipfsHash,\n };\n }\n}\n"],"names":["DistributorHandler","chain","walletClient","publicClient","
|
|
1
|
+
{"version":3,"file":"distributor-handler.cjs","sources":["../../../lib/contracts/handlers/distributor-handler.ts"],"sourcesContent":["import {\n WalletClient,\n PublicClient,\n getContract,\n Address,\n GetContractReturnType,\n} from 'viem';\nimport { Chain, VIEM_CHAINS, ViemChain } from '../../chains/constants';\nimport { CONTRACT_ADDRESSES } from '../addresses';\nimport { Distributor } from '../abis/mainnet/Distributor';\n\nexport interface MerkleTree {\n merkleRoot: Address;\n ipfsHash: Address;\n}\n\nexport interface ClaimInfo {\n amount: bigint;\n timestamp: bigint;\n merkleRoot: Address;\n}\n\nexport interface ClaimParams {\n users: Address[];\n tokens: Address[];\n amounts: bigint[];\n proofs: Address[][];\n}\n\n/**\n * Handler for the Merkle Distributor contract, for claiming rewards, e.g. mtwCARROT.\n */\nexport class DistributorHandler {\n private viemChain: ViemChain;\n\n /**\n * Create the handler for the Distributor 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 interactions.\n * @param publicClient The public client to use for public 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].Distributor as Address;\n const abi = Distributor;\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 * Claim tokens for multiple users.\n *\n * @param account The account making the claim.\n * @param params The claim parameters.\n * @returns A promise that resolves to the transaction hash.\n */\n public claim(\n account: Address,\n { users, tokens, amounts, proofs }: ClaimParams,\n ) {\n return this.getContract().write.claim([users, tokens, amounts, proofs], {\n account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Get claim information for a user and token.\n *\n * @param user The user address.\n * @param token The token address.\n * @returns The claim information.\n */\n public async claimed(user: Address, token: Address): Promise<ClaimInfo> {\n const [amount, timestamp, merkleRoot] =\n await this.getContract().read.claimed([user, token]);\n return {\n amount,\n timestamp: BigInt(timestamp),\n merkleRoot,\n };\n }\n\n /**\n * Get the core contract address.\n *\n * @returns The core contract address.\n */\n public core() {\n return this.getContract().read.core();\n }\n\n /**\n * Get the dispute amount.\n *\n * @returns The dispute amount.\n */\n public disputeAmount() {\n return this.getContract().read.disputeAmount();\n }\n\n /**\n * Get the dispute period.\n *\n * @returns The dispute period in seconds.\n */\n public disputePeriod() {\n return this.getContract().read.disputePeriod();\n }\n\n /**\n * Get the dispute token address.\n *\n * @returns The dispute token address.\n */\n public disputeToken() {\n return this.getContract().read.disputeToken();\n }\n\n /**\n * Dispute the current tree.\n *\n * @param account The account disputing the tree.\n * @param reason The reason for the dispute.\n * @returns A promise that resolves to the transaction hash.\n */\n public disputeTree(account: Address, reason: string) {\n return this.getContract().write.disputeTree([reason], {\n account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Get the current disputer address.\n *\n * @returns The disputer address.\n */\n public disputer() {\n return this.getContract().read.disputer();\n }\n\n /**\n * Get the end of the dispute period.\n *\n * @returns The timestamp when the dispute period ends.\n */\n public endOfDisputePeriod() {\n return this.getContract().read.endOfDisputePeriod();\n }\n\n /**\n * Get the current merkle root.\n *\n * @returns The current merkle root.\n */\n public getMerkleRoot() {\n return this.getContract().read.getMerkleRoot();\n }\n\n /**\n * Get the last tree information.\n *\n * @returns The last tree information.\n */\n public async lastTree(): Promise<MerkleTree> {\n const [merkleRoot, ipfsHash] = await this.getContract().read.lastTree();\n return {\n merkleRoot,\n ipfsHash,\n };\n }\n\n /**\n * Check if only operators can claim for a user.\n *\n * @param user The user address to check.\n * @returns Whether only operators can claim for the user.\n */\n public onlyOperatorCanClaim(user: Address) {\n return this.getContract().read.onlyOperatorCanClaim([user]);\n }\n\n /**\n * Toggle whether only operators can claim for a user.\n *\n * @param account The account toggling the setting.\n * @param user The user address to toggle for.\n * @returns A promise that resolves to the transaction hash.\n */\n public toggleOnlyOperatorCanClaim(account: Address, user: Address) {\n return this.getContract().write.toggleOnlyOperatorCanClaim([user], {\n account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Toggle an operator for a user.\n *\n * @param account The account toggling the operator.\n * @param user The user address.\n * @param operator The operator address to toggle.\n * @returns A promise that resolves to the transaction hash.\n */\n public toggleOperator(account: Address, user: Address, operator: Address) {\n return this.getContract().write.toggleOperator([user, operator], {\n account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Toggle whether an address is trusted.\n *\n * @param account The account toggling the trusted status.\n * @param eoa The address to toggle trust for.\n * @returns A promise that resolves to the transaction hash.\n */\n public toggleTrusted(account: Address, eoa: Address) {\n return this.getContract().write.toggleTrusted([eoa], {\n account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Get the current tree information.\n *\n * @returns The current tree information.\n */\n public async tree(): Promise<MerkleTree> {\n const [merkleRoot, ipfsHash] = await this.getContract().read.tree();\n return {\n merkleRoot,\n ipfsHash,\n };\n }\n}\n"],"names":["DistributorHandler","chain","walletClient","publicClient","VIEM_CHAINS","address","CONTRACT_ADDRESSES","abi","Distributor","client","getContract","account","users","tokens","amounts","proofs","user","token","amount","timestamp","merkleRoot","reason","ipfsHash","operator","eoa"],"mappings":"uPAgCO,MAAMA,CAAmB,CAW9B,YACUC,EACAC,EACAC,EACR,CAHQ,KAAA,MAAAF,EACA,KAAA,aAAAC,EACA,KAAA,aAAAC,EAER,KAAK,UAAYC,EAAAA,YAAYH,CAAK,CACpC,CAhBQ,UAuBD,aAAc,CACnB,MAAMI,EAAUC,EAAAA,mBAAmB,KAAK,KAAK,EAAE,YACzCC,EAAMC,EAAAA,YACNC,EAAS,CAAE,OAAQ,KAAK,aAAc,OAAQ,KAAK,YAAA,EAEzD,OAAOC,EAAAA,YAAY,CAAE,QAAAL,EAAS,IAAAE,EAAK,OAAAE,EAAQ,CAK7C,CASO,MACLE,EACA,CAAE,MAAAC,EAAO,OAAAC,EAAQ,QAAAC,EAAS,OAAAC,GAC1B,CACA,OAAO,KAAK,YAAA,EAAc,MAAM,MAAM,CAACH,EAAOC,EAAQC,EAASC,CAAM,EAAG,CACtE,QAAAJ,EACA,MAAO,KAAK,SAAA,CACb,CACH,CASA,MAAa,QAAQK,EAAeC,EAAoC,CACtE,KAAM,CAACC,EAAQC,EAAWC,CAAU,EAClC,MAAM,KAAK,YAAA,EAAc,KAAK,QAAQ,CAACJ,EAAMC,CAAK,CAAC,EACrD,MAAO,CACL,OAAAC,EACA,UAAW,OAAOC,CAAS,EAC3B,WAAAC,CAAA,CAEJ,CAOO,MAAO,CACZ,OAAO,KAAK,cAAc,KAAK,KAAA,CACjC,CAOO,eAAgB,CACrB,OAAO,KAAK,cAAc,KAAK,cAAA,CACjC,CAOO,eAAgB,CACrB,OAAO,KAAK,cAAc,KAAK,cAAA,CACjC,CAOO,cAAe,CACpB,OAAO,KAAK,cAAc,KAAK,aAAA,CACjC,CASO,YAAYT,EAAkBU,EAAgB,CACnD,OAAO,KAAK,YAAA,EAAc,MAAM,YAAY,CAACA,CAAM,EAAG,CACpD,QAAAV,EACA,MAAO,KAAK,SAAA,CACb,CACH,CAOO,UAAW,CAChB,OAAO,KAAK,cAAc,KAAK,SAAA,CACjC,CAOO,oBAAqB,CAC1B,OAAO,KAAK,cAAc,KAAK,mBAAA,CACjC,CAOO,eAAgB,CACrB,OAAO,KAAK,cAAc,KAAK,cAAA,CACjC,CAOA,MAAa,UAAgC,CAC3C,KAAM,CAACS,EAAYE,CAAQ,EAAI,MAAM,KAAK,YAAA,EAAc,KAAK,SAAA,EAC7D,MAAO,CACL,WAAAF,EACA,SAAAE,CAAA,CAEJ,CAQO,qBAAqBN,EAAe,CACzC,OAAO,KAAK,YAAA,EAAc,KAAK,qBAAqB,CAACA,CAAI,CAAC,CAC5D,CASO,2BAA2BL,EAAkBK,EAAe,CACjE,OAAO,KAAK,YAAA,EAAc,MAAM,2BAA2B,CAACA,CAAI,EAAG,CACjE,QAAAL,EACA,MAAO,KAAK,SAAA,CACb,CACH,CAUO,eAAeA,EAAkBK,EAAeO,EAAmB,CACxE,OAAO,KAAK,cAAc,MAAM,eAAe,CAACP,EAAMO,CAAQ,EAAG,CAC/D,QAAAZ,EACA,MAAO,KAAK,SAAA,CACb,CACH,CASO,cAAcA,EAAkBa,EAAc,CACnD,OAAO,KAAK,YAAA,EAAc,MAAM,cAAc,CAACA,CAAG,EAAG,CACnD,QAAAb,EACA,MAAO,KAAK,SAAA,CACb,CACH,CAOA,MAAa,MAA4B,CACvC,KAAM,CAACS,EAAYE,CAAQ,EAAI,MAAM,KAAK,YAAA,EAAc,KAAK,KAAA,EAC7D,MAAO,CACL,WAAAF,EACA,SAAAE,CAAA,CAEJ,CACF"}
|