@pufferfinance/puffer-sdk 1.28.1 → 1.28.3
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 +84 -92
- package/dist/contracts/abis/mainnet/CarrotVesting.js +56 -62
- 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 +5 -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 +102 -6605
- package/dist/contracts/handlers/carrot-vesting-handler.js +25 -39
- 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,14 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
import { secp256k1 as E } from "../../secp256k1-ClOw2ksU.js";
|
|
10
|
-
function T(i) {
|
|
11
|
-
const { r: t, s: n } = E.Signature.fromCompact(i.slice(2, 130)), e = +`0x${i.slice(130)}`, [r, a] = (() => {
|
|
1
|
+
import { n as a, V as l } from "../../constants-CuIEh_ZS.js";
|
|
2
|
+
import { Token as g, TOKENS_ADDRESSES as u, TOKENS_PERMIT_VERSION as d, TOKENS_SALT as y } from "../tokens.js";
|
|
3
|
+
import { getTimestampInSeconds as C } from "../../utils/time.js";
|
|
4
|
+
import { ERC20Permit as f } from "../abis/mainnet/ERC20Permit.js";
|
|
5
|
+
import { g as P } from "../../getContract-DQN7VDBo.js";
|
|
6
|
+
import { secp256k1 as S } from "../../secp256k1-DCMgMsfV.js";
|
|
7
|
+
function v(s) {
|
|
8
|
+
const { r: t, s: n } = S.Signature.fromCompact(s.slice(2, 130)), e = +`0x${s.slice(130)}`, [i, r] = (() => {
|
|
12
9
|
if (e === 0 || e === 1)
|
|
13
10
|
return [void 0, e];
|
|
14
11
|
if (e === 27)
|
|
@@ -17,18 +14,18 @@ function T(i) {
|
|
|
17
14
|
return [BigInt(e), 1];
|
|
18
15
|
throw new Error("Invalid yParityOrV value");
|
|
19
16
|
})();
|
|
20
|
-
return typeof
|
|
21
|
-
r:
|
|
22
|
-
s:
|
|
23
|
-
v:
|
|
24
|
-
yParity:
|
|
17
|
+
return typeof i < "u" ? {
|
|
18
|
+
r: a(t, { size: 32 }),
|
|
19
|
+
s: a(n, { size: 32 }),
|
|
20
|
+
v: i,
|
|
21
|
+
yParity: r
|
|
25
22
|
} : {
|
|
26
|
-
r:
|
|
27
|
-
s:
|
|
28
|
-
yParity:
|
|
23
|
+
r: a(t, { size: 32 }),
|
|
24
|
+
s: a(n, { size: 32 }),
|
|
25
|
+
yParity: r
|
|
29
26
|
};
|
|
30
27
|
}
|
|
31
|
-
class
|
|
28
|
+
class b {
|
|
32
29
|
/**
|
|
33
30
|
* Create the handler for processing tokens.
|
|
34
31
|
*
|
|
@@ -39,10 +36,10 @@ class _ {
|
|
|
39
36
|
* interactions.
|
|
40
37
|
*/
|
|
41
38
|
constructor(t, n, e) {
|
|
42
|
-
|
|
43
|
-
m(this, "token");
|
|
44
|
-
this.chain = t, this.walletClient = n, this.publicClient = e, this.viemChain = y[t], this.token = C.WETH;
|
|
39
|
+
this.chain = t, this.walletClient = n, this.publicClient = e, this.viemChain = l[t], this.token = g.WETH;
|
|
45
40
|
}
|
|
41
|
+
viemChain;
|
|
42
|
+
token;
|
|
46
43
|
/**
|
|
47
44
|
* Set the token to use for executing transactions on the contract.
|
|
48
45
|
*
|
|
@@ -59,8 +56,8 @@ class _ {
|
|
|
59
56
|
* @returns The viem contract.
|
|
60
57
|
*/
|
|
61
58
|
getContract() {
|
|
62
|
-
const t =
|
|
63
|
-
return
|
|
59
|
+
const t = u[this.token][this.chain], n = f, e = { public: this.publicClient, wallet: this.walletClient };
|
|
60
|
+
return P({ address: t, abi: n, client: e });
|
|
64
61
|
}
|
|
65
62
|
/**
|
|
66
63
|
* Get the nonces for the given account.
|
|
@@ -81,11 +78,11 @@ class _ {
|
|
|
81
78
|
* @returns Permit signature in the form `{ r, s, v?, yParity }`.
|
|
82
79
|
*/
|
|
83
80
|
async getPermitSignature(t, n, e) {
|
|
84
|
-
const
|
|
85
|
-
name: await
|
|
81
|
+
const i = this.getContract(), r = await this.nonces(t), o = {
|
|
82
|
+
name: await i.read.name(),
|
|
86
83
|
version: this.getPermitVersion(this.token),
|
|
87
84
|
chainId: this.chain,
|
|
88
|
-
verifyingContract:
|
|
85
|
+
verifyingContract: u[this.token][this.chain],
|
|
89
86
|
salt: this.getPermitSalt(this.token)
|
|
90
87
|
}, c = {
|
|
91
88
|
Permit: [
|
|
@@ -95,7 +92,7 @@ class _ {
|
|
|
95
92
|
{ name: "nonce", type: "uint256" },
|
|
96
93
|
{ name: "deadline", type: "uint256" }
|
|
97
94
|
]
|
|
98
|
-
},
|
|
95
|
+
}, h = BigInt(C() + 3600 * 2), p = await this.walletClient.signTypedData({
|
|
99
96
|
account: t,
|
|
100
97
|
domain: o,
|
|
101
98
|
types: c,
|
|
@@ -104,11 +101,11 @@ class _ {
|
|
|
104
101
|
owner: t,
|
|
105
102
|
spender: n,
|
|
106
103
|
value: e,
|
|
107
|
-
nonce:
|
|
108
|
-
deadline:
|
|
104
|
+
nonce: r,
|
|
105
|
+
deadline: h
|
|
109
106
|
}
|
|
110
107
|
});
|
|
111
|
-
return { ...
|
|
108
|
+
return { ...v(p), deadline: h };
|
|
112
109
|
}
|
|
113
110
|
/**
|
|
114
111
|
* Get the permit data for the given owner, spender and value.
|
|
@@ -119,12 +116,12 @@ class _ {
|
|
|
119
116
|
* @returns Permit data in the form `{ r, s, v, deadline, amount }`.
|
|
120
117
|
*/
|
|
121
118
|
async getPermitData(t, n, e) {
|
|
122
|
-
const { r, s:
|
|
119
|
+
const { r: i, s: r, v: m, yParity: o, deadline: c } = await this.getPermitSignature(
|
|
123
120
|
t,
|
|
124
121
|
n,
|
|
125
122
|
e
|
|
126
123
|
);
|
|
127
|
-
return { r, s:
|
|
124
|
+
return { r: i, s: r, v: Number(m ?? o), deadline: c, amount: e };
|
|
128
125
|
}
|
|
129
126
|
/**
|
|
130
127
|
* Approve transaction for the spender to spend the owner's tokens.
|
|
@@ -141,14 +138,13 @@ class _ {
|
|
|
141
138
|
});
|
|
142
139
|
}
|
|
143
140
|
getPermitVersion(t) {
|
|
144
|
-
return
|
|
141
|
+
return d[t];
|
|
145
142
|
}
|
|
146
143
|
getPermitSalt(t) {
|
|
147
|
-
|
|
148
|
-
return (e = (n = P) == null ? void 0 : n[t]) == null ? void 0 : e[this.chain];
|
|
144
|
+
return y?.[t]?.[this.chain];
|
|
149
145
|
}
|
|
150
146
|
}
|
|
151
147
|
export {
|
|
152
|
-
|
|
148
|
+
b as ERC20PermitHandler
|
|
153
149
|
};
|
|
154
150
|
//# sourceMappingURL=erc20-permit-handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"erc20-permit-handler.js","sources":["../../../node_modules/.pnpm/viem@2.33.1_typescript@5.8.2_zod@3.24.2/node_modules/viem/_esm/utils/signature/parseSignature.js","../../../lib/contracts/handlers/erc20-permit-handler.ts"],"sourcesContent":["import { secp256k1 } from '@noble/curves/secp256k1';\nimport { numberToHex, } from '../../utils/encoding/toHex.js';\n/**\n * @description Parses a hex formatted signature into a structured signature.\n *\n * @param signatureHex Signature in hex format.\n * @returns The structured signature.\n *\n * @example\n * parseSignature('0x6e100a352ec6ad1b70802290e18aeed190704973570f3b8ed42cb9808e2ea6bf4a90a229a244495b41890987806fcbd2d5d23fc0dbe5f5256c2613c039d76db81c')\n * // { r: '0x...', s: '0x...', v: 28n }\n */\nexport function parseSignature(signatureHex) {\n const { r, s } = secp256k1.Signature.fromCompact(signatureHex.slice(2, 130));\n const yParityOrV = Number(`0x${signatureHex.slice(130)}`);\n const [v, yParity] = (() => {\n if (yParityOrV === 0 || yParityOrV === 1)\n return [undefined, yParityOrV];\n if (yParityOrV === 27)\n return [BigInt(yParityOrV), 0];\n if (yParityOrV === 28)\n return [BigInt(yParityOrV), 1];\n throw new Error('Invalid yParityOrV value');\n })();\n if (typeof v !== 'undefined')\n return {\n r: numberToHex(r, { size: 32 }),\n s: numberToHex(s, { size: 32 }),\n v,\n yParity,\n };\n return {\n r: numberToHex(r, { size: 32 }),\n s: numberToHex(s, { size: 32 }),\n yParity,\n };\n}\n//# sourceMappingURL=parseSignature.js.map","import {\n WalletClient,\n PublicClient,\n getContract,\n Address,\n parseSignature,\n GetContractReturnType,\n} from 'viem';\nimport { Chain, VIEM_CHAINS, ViemChain } from '../../chains/constants';\nimport {\n AnyToken,\n TOKENS_ADDRESSES,\n TOKENS_SALT,\n TOKENS_PERMIT_VERSION,\n Token,\n} from '../tokens';\nimport { getTimestampInSeconds } from '../../utils/time';\nimport { ERC20Permit } from '../abis/mainnet/ERC20Permit';\nimport { PermitData } from '../common/lib/types';\n\n/**\n * Handler for performing operations for and with ERC20Permit tokens.\n */\nexport class ERC20PermitHandler {\n private viemChain: ViemChain;\n private token: AnyToken;\n\n /**\n * Create the handler for processing 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.WETH;\n }\n\n /**\n * Set the token to use for executing transactions on the contract.\n *\n * @param token Token to use for the handler.\n * @returns The handler.\n */\n public withToken(token: AnyToken) {\n this.token = token;\n return this;\n }\n\n /**\n * Get the contract. This is a method because the typings are complex\n * and lost when trying to make it a member.\n *\n * @returns The viem contract.\n */\n public getContract() {\n const address = TOKENS_ADDRESSES[this.token][this.chain];\n const abi = ERC20Permit;\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 nonces for the given account.\n *\n * @param account Address of the account.\n * @returns The nonces.\n */\n public nonces(account: Address) {\n return this.getContract().read.nonces([account]);\n }\n\n /**\n * Process and get permit signature for the given token to perform\n * transactions without calling `approve()`.\n *\n * @param ownerAddress Address of the token owner.\n * @param spenderAddress Address of the spender who needs the permit.\n * @param value Value of the transaction.\n * @returns Permit signature in the form `{ r, s, v?, yParity }`.\n */\n public async getPermitSignature(\n ownerAddress: Address,\n spenderAddress: Address,\n value: bigint,\n ) {\n const contract = this.getContract();\n\n const permitNonces = await this.nonces(ownerAddress);\n const name = await contract.read.name();\n const domain = <const>{\n name,\n version: this.getPermitVersion(this.token),\n chainId: this.chain,\n verifyingContract: TOKENS_ADDRESSES[this.token][this.chain],\n salt: this.getPermitSalt(this.token),\n };\n const types = <const>{\n Permit: [\n { name: 'owner', type: 'address' },\n { name: 'spender', type: 'address' },\n { name: 'value', type: 'uint256' },\n { name: 'nonce', type: 'uint256' },\n { name: 'deadline', type: 'uint256' },\n ],\n };\n // Valid for 2 hours.\n const deadline = BigInt(getTimestampInSeconds() + 60 * 60 * 2);\n\n const signature = await this.walletClient.signTypedData({\n account: ownerAddress,\n domain,\n types,\n primaryType: 'Permit',\n message: {\n owner: ownerAddress,\n spender: spenderAddress,\n value,\n nonce: permitNonces,\n deadline,\n },\n });\n\n return { ...parseSignature(signature), deadline };\n }\n\n /**\n * Get the permit data for the given owner, spender and value.\n *\n * @param ownerAddress Address of the token owner.\n * @param spenderAddress Address of the spender who needs the permit.\n * @param value Value/amount to be permitted.\n * @returns Permit data in the form `{ r, s, v, deadline, amount }`.\n */\n public async getPermitData(\n ownerAddress: Address,\n spenderAddress: Address,\n value: bigint,\n ): Promise<PermitData> {\n const { r, s, v, yParity, deadline } = await this.getPermitSignature(\n ownerAddress,\n spenderAddress,\n value,\n );\n\n /* istanbul ignore next */\n return { r, s, v: Number(v ?? yParity), deadline, amount: value };\n }\n\n /**\n * Approve transaction for the spender to spend the owner's tokens.\n *\n * @param ownerAddress Address of the caller of the transaction.\n * @param spenderAddress Address of the spender.\n * @param value Value to approve for the spender.\n * @returns Hash of the transaction.\n */\n public approve(\n ownerAddress: Address,\n spenderAddress: Address,\n value: bigint,\n ) {\n return this.getContract().write.approve([spenderAddress, value], {\n account: ownerAddress,\n chain: this.viemChain,\n });\n }\n\n private getPermitVersion(token: AnyToken): string {\n return TOKENS_PERMIT_VERSION[token];\n }\n\n private getPermitSalt(token: AnyToken) {\n return TOKENS_SALT?.[token]?.[this.chain];\n }\n}\n"],"names":["parseSignature","signatureHex","r","s","secp256k1","yParityOrV","v","yParity","numberToHex","ERC20PermitHandler","chain","walletClient","publicClient","__publicField","VIEM_CHAINS","Token","token","address","TOKENS_ADDRESSES","abi","ERC20Permit","client","getContract","account","ownerAddress","spenderAddress","value","contract","permitNonces","domain","types","deadline","getTimestampInSeconds","signature","TOKENS_PERMIT_VERSION","_b","_a","TOKENS_SALT"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"erc20-permit-handler.js","sources":["../../../node_modules/.pnpm/viem@2.37.6_typescript@5.9.2_zod@3.24.2/node_modules/viem/_esm/utils/signature/parseSignature.js","../../../lib/contracts/handlers/erc20-permit-handler.ts"],"sourcesContent":["import { secp256k1 } from '@noble/curves/secp256k1';\nimport { numberToHex, } from '../../utils/encoding/toHex.js';\n/**\n * @description Parses a hex formatted signature into a structured signature.\n *\n * @param signatureHex Signature in hex format.\n * @returns The structured signature.\n *\n * @example\n * parseSignature('0x6e100a352ec6ad1b70802290e18aeed190704973570f3b8ed42cb9808e2ea6bf4a90a229a244495b41890987806fcbd2d5d23fc0dbe5f5256c2613c039d76db81c')\n * // { r: '0x...', s: '0x...', v: 28n }\n */\nexport function parseSignature(signatureHex) {\n const { r, s } = secp256k1.Signature.fromCompact(signatureHex.slice(2, 130));\n const yParityOrV = Number(`0x${signatureHex.slice(130)}`);\n const [v, yParity] = (() => {\n if (yParityOrV === 0 || yParityOrV === 1)\n return [undefined, yParityOrV];\n if (yParityOrV === 27)\n return [BigInt(yParityOrV), 0];\n if (yParityOrV === 28)\n return [BigInt(yParityOrV), 1];\n throw new Error('Invalid yParityOrV value');\n })();\n if (typeof v !== 'undefined')\n return {\n r: numberToHex(r, { size: 32 }),\n s: numberToHex(s, { size: 32 }),\n v,\n yParity,\n };\n return {\n r: numberToHex(r, { size: 32 }),\n s: numberToHex(s, { size: 32 }),\n yParity,\n };\n}\n//# sourceMappingURL=parseSignature.js.map","import {\n WalletClient,\n PublicClient,\n getContract,\n Address,\n parseSignature,\n GetContractReturnType,\n} from 'viem';\nimport { Chain, VIEM_CHAINS, ViemChain } from '../../chains/constants';\nimport {\n AnyToken,\n TOKENS_ADDRESSES,\n TOKENS_SALT,\n TOKENS_PERMIT_VERSION,\n Token,\n} from '../tokens';\nimport { getTimestampInSeconds } from '../../utils/time';\nimport { ERC20Permit } from '../abis/mainnet/ERC20Permit';\nimport { PermitData } from '../common/lib/types';\n\n/**\n * Handler for performing operations for and with ERC20Permit tokens.\n */\nexport class ERC20PermitHandler {\n private viemChain: ViemChain;\n private token: AnyToken;\n\n /**\n * Create the handler for processing 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.WETH;\n }\n\n /**\n * Set the token to use for executing transactions on the contract.\n *\n * @param token Token to use for the handler.\n * @returns The handler.\n */\n public withToken(token: AnyToken) {\n this.token = token;\n return this;\n }\n\n /**\n * Get the contract. This is a method because the typings are complex\n * and lost when trying to make it a member.\n *\n * @returns The viem contract.\n */\n public getContract() {\n const address = TOKENS_ADDRESSES[this.token][this.chain];\n const abi = ERC20Permit;\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 nonces for the given account.\n *\n * @param account Address of the account.\n * @returns The nonces.\n */\n public nonces(account: Address) {\n return this.getContract().read.nonces([account]);\n }\n\n /**\n * Process and get permit signature for the given token to perform\n * transactions without calling `approve()`.\n *\n * @param ownerAddress Address of the token owner.\n * @param spenderAddress Address of the spender who needs the permit.\n * @param value Value of the transaction.\n * @returns Permit signature in the form `{ r, s, v?, yParity }`.\n */\n public async getPermitSignature(\n ownerAddress: Address,\n spenderAddress: Address,\n value: bigint,\n ) {\n const contract = this.getContract();\n\n const permitNonces = await this.nonces(ownerAddress);\n const name = await contract.read.name();\n const domain = <const>{\n name,\n version: this.getPermitVersion(this.token),\n chainId: this.chain,\n verifyingContract: TOKENS_ADDRESSES[this.token][this.chain],\n salt: this.getPermitSalt(this.token),\n };\n const types = <const>{\n Permit: [\n { name: 'owner', type: 'address' },\n { name: 'spender', type: 'address' },\n { name: 'value', type: 'uint256' },\n { name: 'nonce', type: 'uint256' },\n { name: 'deadline', type: 'uint256' },\n ],\n };\n // Valid for 2 hours.\n const deadline = BigInt(getTimestampInSeconds() + 60 * 60 * 2);\n\n const signature = await this.walletClient.signTypedData({\n account: ownerAddress,\n domain,\n types,\n primaryType: 'Permit',\n message: {\n owner: ownerAddress,\n spender: spenderAddress,\n value,\n nonce: permitNonces,\n deadline,\n },\n });\n\n return { ...parseSignature(signature), deadline };\n }\n\n /**\n * Get the permit data for the given owner, spender and value.\n *\n * @param ownerAddress Address of the token owner.\n * @param spenderAddress Address of the spender who needs the permit.\n * @param value Value/amount to be permitted.\n * @returns Permit data in the form `{ r, s, v, deadline, amount }`.\n */\n public async getPermitData(\n ownerAddress: Address,\n spenderAddress: Address,\n value: bigint,\n ): Promise<PermitData> {\n const { r, s, v, yParity, deadline } = await this.getPermitSignature(\n ownerAddress,\n spenderAddress,\n value,\n );\n\n /* istanbul ignore next */\n return { r, s, v: Number(v ?? yParity), deadline, amount: value };\n }\n\n /**\n * Approve transaction for the spender to spend the owner's tokens.\n *\n * @param ownerAddress Address of the caller of the transaction.\n * @param spenderAddress Address of the spender.\n * @param value Value to approve for the spender.\n * @returns Hash of the transaction.\n */\n public approve(\n ownerAddress: Address,\n spenderAddress: Address,\n value: bigint,\n ) {\n return this.getContract().write.approve([spenderAddress, value], {\n account: ownerAddress,\n chain: this.viemChain,\n });\n }\n\n private getPermitVersion(token: AnyToken): string {\n return TOKENS_PERMIT_VERSION[token];\n }\n\n private getPermitSalt(token: AnyToken) {\n return TOKENS_SALT?.[token]?.[this.chain];\n }\n}\n"],"names":["parseSignature","signatureHex","r","s","secp256k1","yParityOrV","v","yParity","numberToHex","ERC20PermitHandler","chain","walletClient","publicClient","VIEM_CHAINS","Token","token","address","TOKENS_ADDRESSES","abi","ERC20Permit","client","getContract","account","ownerAddress","spenderAddress","value","contract","permitNonces","domain","types","deadline","getTimestampInSeconds","signature","TOKENS_PERMIT_VERSION","TOKENS_SALT"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../../constants-6kuRTsbU.cjs"),n=require("../abis/mainnet/GaugeRegistry.cjs"),r=require("../addresses.cjs"),c=require("../../getContract-D4_SEfqa.cjs");class s{constructor(t,e,i){this.chain=t,this.walletClient=e,this.publicClient=i,this.viemChain=a.VIEM_CHAINS[t]}viemChain;getContract(){const t=r.CONTRACT_ADDRESSES[this.chain].GaugeRegistry,e=n.GaugeRegistry,i={public:this.publicClient,wallet:this.walletClient};return c.getContract({address:t,abi:e,client:i})}owner(){return this.getContract().read.owner()}pendingOwner(){return this.getContract().read.pendingOwner()}gaugeExists(t){return this.getContract().read.gaugeExists([t])}isActive(t){return this.getContract().read.isActive([t])}async getGauge(t){return await this.getContract().read.getGauge([t])}getGaugeList(){return this.getContract().read.getGaugeList()}registerGauge(t,e){return this.getContract().write.registerGauge([t,e],{account:this.walletClient.account,chain:this.viemChain})}activateGauge(t){return this.getContract().write.activateGauge([t],{account:this.walletClient.account,chain:this.viemChain})}deactivateGauge(t){return this.getContract().write.deactivateGauge([t],{account:this.walletClient.account,chain:this.viemChain})}updateGaugeMetadata(t,e){return this.getContract().write.updateGaugeMetadata([t,e],{account:this.walletClient.account,chain:this.viemChain})}transferOwnership(t){return this.getContract().write.transferOwnership([t],{account:this.walletClient.account,chain:this.viemChain})}acceptOwnership(){return this.getContract().write.acceptOwnership({account:this.walletClient.account,chain:this.viemChain})}renounceOwnership(){return this.getContract().write.renounceOwnership({account:this.walletClient.account,chain:this.viemChain})}}exports.GaugeRegistryHandler=s;
|
|
2
2
|
//# sourceMappingURL=gauge-registry-handler.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gauge-registry-handler.cjs","sources":["../../../lib/contracts/handlers/gauge-registry-handler.ts"],"sourcesContent":["import {\n Address,\n GetContractReturnType,\n PublicClient,\n Chain as ViemChain,\n WalletClient,\n getContract,\n Account,\n} from 'viem';\nimport { Chain, VIEM_CHAINS } from '../../chains/constants';\nimport { GaugeRegistry } from '../abis/mainnet/GaugeRegistry';\nimport { CONTRACT_ADDRESSES } from '../addresses';\n\n/**\n * Handler for the `GaugeRegistry` contract exposing methods to interact\n * with the contract.\n */\nexport class GaugeRegistryHandler {\n private viemChain: ViemChain;\n\n /**\n * Create the handler for the `GaugeRegistry` contract exposing methods to\n * 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 as number]\n .GaugeRegistry as Address;\n const abi = GaugeRegistry;\n const client = { public: this.publicClient, wallet: this.walletClient };\n\n return getContract({ address, abi, client }) as GetContractReturnType<\n typeof GaugeRegistry,\n typeof client,\n Address\n >;\n }\n\n /**\n * Get the owner of the contract.\n *\n * @returns The owner address.\n */\n public owner() {\n return this.getContract().read.owner();\n }\n\n /**\n * Get the pending owner of the contract.\n *\n * @returns The pending owner address.\n */\n public pendingOwner() {\n return this.getContract().read.pendingOwner();\n }\n\n /**\n * Check if a gauge exists.\n *\n * @param gauge The gauge address to check.\n * @returns True if the gauge exists, false otherwise.\n */\n public gaugeExists(gauge: Address) {\n return this.getContract().read.gaugeExists([gauge]);\n }\n\n /**\n * Check if a gauge is active.\n *\n * @param gauge The gauge address to check.\n * @returns True if the gauge is active, false otherwise.\n */\n public isActive(gauge: Address) {\n return this.getContract().read.isActive([gauge]);\n }\n\n /**\n * Get gauge information.\n *\n * @param gauge The gauge address.\n * @returns The gauge information including active status, creation time, and metadata URI.\n */\n public async getGauge(gauge: Address) {\n return await this.getContract().read.getGauge([gauge]);\n }\n\n /**\n * Get the list of all gauges.\n *\n * @returns Array of gauge addresses.\n */\n public getGaugeList() {\n return this.getContract().read.getGaugeList();\n }\n\n /**\n * Register a new gauge.\n *\n * @param gauge The gauge address to register.\n * @param metadataURI The metadata URI for the gauge.\n * @returns The transaction.\n */\n public registerGauge(gauge: Address, metadataURI: string) {\n return this.getContract().write.registerGauge([gauge, metadataURI], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Activate a gauge.\n *\n * @param gauge The gauge address to activate.\n * @returns The transaction.\n */\n public activateGauge(gauge: Address) {\n return this.getContract().write.activateGauge([gauge], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Deactivate a gauge.\n *\n * @param gauge The gauge address to deactivate.\n * @returns The transaction.\n */\n public deactivateGauge(gauge: Address) {\n return this.getContract().write.deactivateGauge([gauge], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Update gauge metadata.\n *\n * @param gauge The gauge address to update.\n * @param metadataURI The new metadata URI for the gauge.\n * @returns The transaction.\n */\n public updateGaugeMetadata(gauge: Address, metadataURI: string) {\n return this.getContract().write.updateGaugeMetadata([gauge, metadataURI], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Transfer ownership to a new owner.\n *\n * @param newOwner The new owner address.\n * @returns The transaction.\n */\n public transferOwnership(newOwner: Address) {\n return this.getContract().write.transferOwnership([newOwner], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Accept ownership transfer.\n *\n * @returns The transaction.\n */\n public acceptOwnership() {\n return this.getContract().write.acceptOwnership({\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Renounce ownership.\n *\n * @returns The transaction.\n */\n public renounceOwnership() {\n return this.getContract().write.renounceOwnership({\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n}\n"],"names":["GaugeRegistryHandler","chain","walletClient","publicClient","
|
|
1
|
+
{"version":3,"file":"gauge-registry-handler.cjs","sources":["../../../lib/contracts/handlers/gauge-registry-handler.ts"],"sourcesContent":["import {\n Address,\n GetContractReturnType,\n PublicClient,\n Chain as ViemChain,\n WalletClient,\n getContract,\n Account,\n} from 'viem';\nimport { Chain, VIEM_CHAINS } from '../../chains/constants';\nimport { GaugeRegistry } from '../abis/mainnet/GaugeRegistry';\nimport { CONTRACT_ADDRESSES } from '../addresses';\n\n/**\n * Handler for the `GaugeRegistry` contract exposing methods to interact\n * with the contract.\n */\nexport class GaugeRegistryHandler {\n private viemChain: ViemChain;\n\n /**\n * Create the handler for the `GaugeRegistry` contract exposing methods to\n * 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 as number]\n .GaugeRegistry as Address;\n const abi = GaugeRegistry;\n const client = { public: this.publicClient, wallet: this.walletClient };\n\n return getContract({ address, abi, client }) as GetContractReturnType<\n typeof GaugeRegistry,\n typeof client,\n Address\n >;\n }\n\n /**\n * Get the owner of the contract.\n *\n * @returns The owner address.\n */\n public owner() {\n return this.getContract().read.owner();\n }\n\n /**\n * Get the pending owner of the contract.\n *\n * @returns The pending owner address.\n */\n public pendingOwner() {\n return this.getContract().read.pendingOwner();\n }\n\n /**\n * Check if a gauge exists.\n *\n * @param gauge The gauge address to check.\n * @returns True if the gauge exists, false otherwise.\n */\n public gaugeExists(gauge: Address) {\n return this.getContract().read.gaugeExists([gauge]);\n }\n\n /**\n * Check if a gauge is active.\n *\n * @param gauge The gauge address to check.\n * @returns True if the gauge is active, false otherwise.\n */\n public isActive(gauge: Address) {\n return this.getContract().read.isActive([gauge]);\n }\n\n /**\n * Get gauge information.\n *\n * @param gauge The gauge address.\n * @returns The gauge information including active status, creation time, and metadata URI.\n */\n public async getGauge(gauge: Address) {\n return await this.getContract().read.getGauge([gauge]);\n }\n\n /**\n * Get the list of all gauges.\n *\n * @returns Array of gauge addresses.\n */\n public getGaugeList() {\n return this.getContract().read.getGaugeList();\n }\n\n /**\n * Register a new gauge.\n *\n * @param gauge The gauge address to register.\n * @param metadataURI The metadata URI for the gauge.\n * @returns The transaction.\n */\n public registerGauge(gauge: Address, metadataURI: string) {\n return this.getContract().write.registerGauge([gauge, metadataURI], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Activate a gauge.\n *\n * @param gauge The gauge address to activate.\n * @returns The transaction.\n */\n public activateGauge(gauge: Address) {\n return this.getContract().write.activateGauge([gauge], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Deactivate a gauge.\n *\n * @param gauge The gauge address to deactivate.\n * @returns The transaction.\n */\n public deactivateGauge(gauge: Address) {\n return this.getContract().write.deactivateGauge([gauge], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Update gauge metadata.\n *\n * @param gauge The gauge address to update.\n * @param metadataURI The new metadata URI for the gauge.\n * @returns The transaction.\n */\n public updateGaugeMetadata(gauge: Address, metadataURI: string) {\n return this.getContract().write.updateGaugeMetadata([gauge, metadataURI], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Transfer ownership to a new owner.\n *\n * @param newOwner The new owner address.\n * @returns The transaction.\n */\n public transferOwnership(newOwner: Address) {\n return this.getContract().write.transferOwnership([newOwner], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Accept ownership transfer.\n *\n * @returns The transaction.\n */\n public acceptOwnership() {\n return this.getContract().write.acceptOwnership({\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Renounce ownership.\n *\n * @returns The transaction.\n */\n public renounceOwnership() {\n return this.getContract().write.renounceOwnership({\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n}\n"],"names":["GaugeRegistryHandler","chain","walletClient","publicClient","VIEM_CHAINS","address","CONTRACT_ADDRESSES","abi","GaugeRegistry","client","getContract","gauge","metadataURI","newOwner"],"mappings":"yPAiBO,MAAMA,CAAqB,CAahC,YACUC,EACAC,EACAC,EACR,CAHQ,KAAA,MAAAF,EACA,KAAA,aAAAC,EACA,KAAA,aAAAC,EAER,KAAK,UAAYC,EAAAA,YAAYH,CAAK,CACpC,CAlBQ,UAyBD,aAAc,CACnB,MAAMI,EAAUC,EAAAA,mBAAmB,KAAK,KAAe,EACpD,cACGC,EAAMC,EAAAA,cACNC,EAAS,CAAE,OAAQ,KAAK,aAAc,OAAQ,KAAK,YAAA,EAEzD,OAAOC,EAAAA,YAAY,CAAE,QAAAL,EAAS,IAAAE,EAAK,OAAAE,EAAQ,CAK7C,CAOO,OAAQ,CACb,OAAO,KAAK,cAAc,KAAK,MAAA,CACjC,CAOO,cAAe,CACpB,OAAO,KAAK,cAAc,KAAK,aAAA,CACjC,CAQO,YAAYE,EAAgB,CACjC,OAAO,KAAK,YAAA,EAAc,KAAK,YAAY,CAACA,CAAK,CAAC,CACpD,CAQO,SAASA,EAAgB,CAC9B,OAAO,KAAK,YAAA,EAAc,KAAK,SAAS,CAACA,CAAK,CAAC,CACjD,CAQA,MAAa,SAASA,EAAgB,CACpC,OAAO,MAAM,KAAK,YAAA,EAAc,KAAK,SAAS,CAACA,CAAK,CAAC,CACvD,CAOO,cAAe,CACpB,OAAO,KAAK,cAAc,KAAK,aAAA,CACjC,CASO,cAAcA,EAAgBC,EAAqB,CACxD,OAAO,KAAK,cAAc,MAAM,cAAc,CAACD,EAAOC,CAAW,EAAG,CAClE,QAAS,KAAK,aAAa,QAC3B,MAAO,KAAK,SAAA,CACb,CACH,CAQO,cAAcD,EAAgB,CACnC,OAAO,KAAK,YAAA,EAAc,MAAM,cAAc,CAACA,CAAK,EAAG,CACrD,QAAS,KAAK,aAAa,QAC3B,MAAO,KAAK,SAAA,CACb,CACH,CAQO,gBAAgBA,EAAgB,CACrC,OAAO,KAAK,YAAA,EAAc,MAAM,gBAAgB,CAACA,CAAK,EAAG,CACvD,QAAS,KAAK,aAAa,QAC3B,MAAO,KAAK,SAAA,CACb,CACH,CASO,oBAAoBA,EAAgBC,EAAqB,CAC9D,OAAO,KAAK,cAAc,MAAM,oBAAoB,CAACD,EAAOC,CAAW,EAAG,CACxE,QAAS,KAAK,aAAa,QAC3B,MAAO,KAAK,SAAA,CACb,CACH,CAQO,kBAAkBC,EAAmB,CAC1C,OAAO,KAAK,YAAA,EAAc,MAAM,kBAAkB,CAACA,CAAQ,EAAG,CAC5D,QAAS,KAAK,aAAa,QAC3B,MAAO,KAAK,SAAA,CACb,CACH,CAOO,iBAAkB,CACvB,OAAO,KAAK,cAAc,MAAM,gBAAgB,CAC9C,QAAS,KAAK,aAAa,QAC3B,MAAO,KAAK,SAAA,CACb,CACH,CAOO,mBAAoB,CACzB,OAAO,KAAK,cAAc,MAAM,kBAAkB,CAChD,QAAS,KAAK,aAAa,QAC3B,MAAO,KAAK,SAAA,CACb,CACH,CACF"}
|