@pufferfinance/puffer-sdk 1.28.5 → 1.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/dist/api/puffer-client-helpers.cjs +1 -1
  2. package/dist/api/puffer-client-helpers.cjs.map +1 -1
  3. package/dist/api/puffer-client-helpers.js +3 -3
  4. package/dist/api/puffer-client-helpers.js.map +1 -1
  5. package/dist/api/puffer-client.cjs +1 -1
  6. package/dist/api/puffer-client.js +2 -2
  7. package/dist/{ccip-LIGR3N1A.cjs → ccip-Dv8Z-tXr.cjs} +2 -2
  8. package/dist/{ccip-LIGR3N1A.cjs.map → ccip-Dv8Z-tXr.cjs.map} +1 -1
  9. package/dist/{ccip-78YM988s.js → ccip-dYaIZXTj.js} +4 -4
  10. package/dist/{ccip-78YM988s.js.map → ccip-dYaIZXTj.js.map} +1 -1
  11. package/dist/chains/constants.cjs +1 -1
  12. package/dist/chains/constants.js +1 -1
  13. package/dist/constants-4-ehn8UI.cjs +9 -0
  14. package/dist/constants-4-ehn8UI.cjs.map +1 -0
  15. package/dist/{constants-CuIEh_ZS.js → constants-BO_Dvglw.js} +163 -143
  16. package/dist/constants-BO_Dvglw.js.map +1 -0
  17. package/dist/contracts/abis/mainnet/CarrotVesting.cjs +1 -1
  18. package/dist/contracts/abis/mainnet/CarrotVesting.cjs.map +1 -1
  19. package/dist/contracts/abis/mainnet/CarrotVesting.d.ts +30 -0
  20. package/dist/contracts/abis/mainnet/CarrotVesting.js +21 -0
  21. package/dist/contracts/abis/mainnet/CarrotVesting.js.map +1 -1
  22. package/dist/contracts/addresses.cjs +1 -1
  23. package/dist/contracts/addresses.js +1 -1
  24. package/dist/contracts/handlers/carrot-staking-handler.cjs +1 -1
  25. package/dist/contracts/handlers/carrot-staking-handler.d.ts +18 -0
  26. package/dist/contracts/handlers/carrot-staking-handler.js +2 -2
  27. package/dist/contracts/handlers/carrot-vesting-handler.cjs +1 -1
  28. package/dist/contracts/handlers/carrot-vesting-handler.cjs.map +1 -1
  29. package/dist/contracts/handlers/carrot-vesting-handler.d.ts +39 -0
  30. package/dist/contracts/handlers/carrot-vesting-handler.js +32 -5
  31. package/dist/contracts/handlers/carrot-vesting-handler.js.map +1 -1
  32. package/dist/contracts/handlers/concrete-vault-handler.cjs +1 -1
  33. package/dist/contracts/handlers/concrete-vault-handler.d.ts +18 -0
  34. package/dist/contracts/handlers/concrete-vault-handler.js +2 -2
  35. package/dist/contracts/handlers/distributor-handler.cjs +1 -1
  36. package/dist/contracts/handlers/distributor-handler.d.ts +18 -0
  37. package/dist/contracts/handlers/distributor-handler.js +2 -2
  38. package/dist/contracts/handlers/erc20-permit-handler.cjs +1 -1
  39. package/dist/contracts/handlers/erc20-permit-handler.cjs.map +1 -1
  40. package/dist/contracts/handlers/erc20-permit-handler.d.ts +18 -0
  41. package/dist/contracts/handlers/erc20-permit-handler.js +3 -3
  42. package/dist/contracts/handlers/erc20-permit-handler.js.map +1 -1
  43. package/dist/contracts/handlers/gauge-registry-handler.cjs +1 -1
  44. package/dist/contracts/handlers/gauge-registry-handler.d.ts +18 -0
  45. package/dist/contracts/handlers/gauge-registry-handler.js +2 -2
  46. package/dist/contracts/handlers/guardian-module-handler.cjs +1 -1
  47. package/dist/contracts/handlers/guardian-module-handler.d.ts +18 -0
  48. package/dist/contracts/handlers/guardian-module-handler.js +2 -2
  49. package/dist/contracts/handlers/institutional-access-manager-handler.cjs +1 -1
  50. package/dist/contracts/handlers/institutional-access-manager-handler.d.ts +18 -0
  51. package/dist/contracts/handlers/institutional-access-manager-handler.js +3 -3
  52. package/dist/contracts/handlers/institutional-vault-handler.cjs +1 -1
  53. package/dist/contracts/handlers/institutional-vault-handler.d.ts +18 -0
  54. package/dist/contracts/handlers/institutional-vault-handler.js +2 -2
  55. package/dist/contracts/handlers/l1-reward-manager-handler.cjs +1 -1
  56. package/dist/contracts/handlers/l1-reward-manager-handler.d.ts +18 -0
  57. package/dist/contracts/handlers/l1-reward-manager-handler.js +2 -2
  58. package/dist/contracts/handlers/l2-reward-manager-handler.cjs +1 -1
  59. package/dist/contracts/handlers/l2-reward-manager-handler.d.ts +18 -0
  60. package/dist/contracts/handlers/l2-reward-manager-handler.js +2 -2
  61. package/dist/contracts/handlers/lagoon-vault-handler.cjs +1 -1
  62. package/dist/contracts/handlers/lagoon-vault-handler.d.ts +18 -0
  63. package/dist/contracts/handlers/lagoon-vault-handler.js +2 -2
  64. package/dist/contracts/handlers/mtw-carrot-handler.cjs +1 -1
  65. package/dist/contracts/handlers/mtw-carrot-handler.d.ts +18 -0
  66. package/dist/contracts/handlers/mtw-carrot-handler.js +2 -2
  67. package/dist/contracts/handlers/nucleus-accountant-handler.cjs +1 -1
  68. package/dist/contracts/handlers/nucleus-accountant-handler.d.ts +18 -0
  69. package/dist/contracts/handlers/nucleus-accountant-handler.js +1 -1
  70. package/dist/contracts/handlers/nucleus-atomic-queue-handler.cjs +1 -1
  71. package/dist/contracts/handlers/nucleus-atomic-queue-handler.d.ts +18 -0
  72. package/dist/contracts/handlers/nucleus-atomic-queue-handler.js +2 -2
  73. package/dist/contracts/handlers/nucleus-boring-vault-handler.cjs +1 -1
  74. package/dist/contracts/handlers/nucleus-boring-vault-handler.d.ts +18 -0
  75. package/dist/contracts/handlers/nucleus-boring-vault-handler.js +2 -2
  76. package/dist/contracts/handlers/nucleus-teller-handler.cjs +1 -1
  77. package/dist/contracts/handlers/nucleus-teller-handler.d.ts +18 -0
  78. package/dist/contracts/handlers/nucleus-teller-handler.js +2 -2
  79. package/dist/contracts/handlers/puf-locker-handler.cjs +1 -1
  80. package/dist/contracts/handlers/puf-locker-handler.d.ts +18 -0
  81. package/dist/contracts/handlers/puf-locker-handler.js +2 -2
  82. package/dist/contracts/handlers/puffer-depositor-handler.cjs +1 -1
  83. package/dist/contracts/handlers/puffer-depositor-handler.d.ts +18 -0
  84. package/dist/contracts/handlers/puffer-depositor-handler.js +2 -2
  85. package/dist/contracts/handlers/puffer-l2-depositor-handler.cjs +1 -1
  86. package/dist/contracts/handlers/puffer-l2-depositor-handler.d.ts +18 -0
  87. package/dist/contracts/handlers/puffer-l2-depositor-handler.js +2 -2
  88. package/dist/contracts/handlers/puffer-oracle-v2-handler.cjs +1 -1
  89. package/dist/contracts/handlers/puffer-oracle-v2-handler.d.ts +18 -0
  90. package/dist/contracts/handlers/puffer-oracle-v2-handler.js +2 -2
  91. package/dist/contracts/handlers/puffer-protocol-handler.cjs +1 -1
  92. package/dist/contracts/handlers/puffer-protocol-handler.d.ts +18 -0
  93. package/dist/contracts/handlers/puffer-protocol-handler.js +2 -2
  94. package/dist/contracts/handlers/puffer-vault-handler.cjs +1 -1
  95. package/dist/contracts/handlers/puffer-vault-handler.d.ts +18 -0
  96. package/dist/contracts/handlers/puffer-vault-handler.js +2 -2
  97. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.cjs +1 -1
  98. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.d.ts +18 -0
  99. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.js +2 -2
  100. package/dist/contracts/handlers/validator-ticket-handler.cjs +1 -1
  101. package/dist/contracts/handlers/validator-ticket-handler.d.ts +18 -0
  102. package/dist/contracts/handlers/validator-ticket-handler.js +2 -2
  103. package/dist/contracts/handlers/vl-puffer-handler.cjs +1 -1
  104. package/dist/contracts/handlers/vl-puffer-handler.d.ts +18 -0
  105. package/dist/contracts/handlers/vl-puffer-handler.js +2 -2
  106. package/dist/contracts/tokens.cjs +1 -1
  107. package/dist/contracts/tokens.js +1 -1
  108. package/dist/contracts/vaults-addresses.cjs +1 -1
  109. package/dist/contracts/vaults-addresses.js +1 -1
  110. package/dist/{getContract-D4_SEfqa.cjs → getContract-C6a8L2Jd.cjs} +2 -2
  111. package/dist/{getContract-D4_SEfqa.cjs.map → getContract-C6a8L2Jd.cjs.map} +1 -1
  112. package/dist/{getContract-DQN7VDBo.js → getContract-DRjKmuyC.js} +2 -2
  113. package/dist/{getContract-DQN7VDBo.js.map → getContract-DRjKmuyC.js.map} +1 -1
  114. package/dist/http-CRYDzx7w.cjs +5 -0
  115. package/dist/http-CRYDzx7w.cjs.map +1 -0
  116. package/dist/{http-CajzXkt4.js → http-ZcKHvn9V.js} +1313 -1116
  117. package/dist/http-ZcKHvn9V.js.map +1 -0
  118. package/dist/{localBatchGatewayRequest-C7zYTS2c.cjs → localBatchGatewayRequest-BTy8p6qj.cjs} +2 -2
  119. package/dist/{localBatchGatewayRequest-C7zYTS2c.cjs.map → localBatchGatewayRequest-BTy8p6qj.cjs.map} +1 -1
  120. package/dist/{localBatchGatewayRequest-DtOvBmA9.js → localBatchGatewayRequest-Cb0QKL0s.js} +3 -3
  121. package/dist/{localBatchGatewayRequest-DtOvBmA9.js.map → localBatchGatewayRequest-Cb0QKL0s.js.map} +1 -1
  122. package/dist/main.cjs +1 -1
  123. package/dist/main.js +1 -1
  124. package/dist/{secp256k1-CMP_u7qb.cjs → secp256k1-CzsL7iVx.cjs} +2 -2
  125. package/dist/{secp256k1-CMP_u7qb.cjs.map → secp256k1-CzsL7iVx.cjs.map} +1 -1
  126. package/dist/{secp256k1-DCMgMsfV.js → secp256k1-Dx1prb1E.js} +2 -2
  127. package/dist/{secp256k1-DCMgMsfV.js.map → secp256k1-Dx1prb1E.js.map} +1 -1
  128. package/dist/utils/version.cjs +1 -1
  129. package/dist/utils/version.js +1 -1
  130. package/dist/{writeContract-DYAfDrRz.js → writeContract-BFxyLFA9.js} +881 -902
  131. package/dist/writeContract-BFxyLFA9.js.map +1 -0
  132. package/dist/{writeContract-BnmmOPwy.cjs → writeContract-HBsqM_Od.cjs} +22 -22
  133. package/dist/writeContract-HBsqM_Od.cjs.map +1 -0
  134. package/package.json +12 -12
  135. package/dist/constants-6kuRTsbU.cjs +0 -9
  136. package/dist/constants-6kuRTsbU.cjs.map +0 -1
  137. package/dist/constants-CuIEh_ZS.js.map +0 -1
  138. package/dist/http-CajzXkt4.js.map +0 -1
  139. package/dist/http-qhIDc8Dn.cjs +0 -5
  140. package/dist/http-qhIDc8Dn.cjs.map +0 -1
  141. package/dist/writeContract-BnmmOPwy.cjs.map +0 -1
  142. package/dist/writeContract-DYAfDrRz.js.map +0 -1
@@ -3835,6 +3835,7 @@ export declare class DistributorHandler {
3835
3835
  }, (request["parameters"] extends readonly import('viem').PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "fees" | "gas" | "nonce" | "blobVersionedHashes" | "chainId" | "type") extends infer T_13 ? T_13 extends (request["parameters"] extends readonly import('viem').PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "fees" | "gas" | "nonce" | "blobVersionedHashes" | "chainId" | "type") ? T_13 extends "fees" ? "gasPrice" | "maxFeePerGas" | "maxPriorityFeePerGas" : T_13 : never : never> & (unknown extends request["kzg"] ? {} : Pick<request, "kzg">) extends infer T ? { [K in keyof T]: T[K]; } : never>;
3836
3836
  readContract: <const abi extends import('viem').Abi | readonly unknown[], functionName extends import('viem').ContractFunctionName<abi, "pure" | "view">, const args extends import('viem').ContractFunctionArgs<abi, "pure" | "view", functionName>>(args: import('viem').ReadContractParameters<abi, functionName, args>) => Promise<import('viem').ReadContractReturnType<abi, functionName, args>>;
3837
3837
  sendRawTransaction: (args: import('viem').SendRawTransactionParameters) => Promise<import('viem').SendRawTransactionReturnType>;
3838
+ sendRawTransactionSync: (args: import('viem').SendRawTransactionSyncParameters) => Promise<import('viem').TransactionReceipt>;
3838
3839
  simulate: <const calls extends readonly unknown[]>(args: import('viem').SimulateBlocksParameters<calls>) => Promise<import('viem').SimulateBlocksReturnType<calls>>;
3839
3840
  simulateBlocks: <const calls extends readonly unknown[]>(args: import('viem').SimulateBlocksParameters<calls>) => Promise<import('viem').SimulateBlocksReturnType<calls>>;
3840
3841
  simulateCalls: <const calls extends readonly unknown[]>(args: import('viem').SimulateCallsParameters<calls>) => Promise<import('viem').SimulateCallsReturnType<calls>>;
@@ -7164,8 +7165,24 @@ export declare class DistributorHandler {
7164
7165
  } | undefined;
7165
7166
  id: string;
7166
7167
  }>;
7168
+ sendCallsSync: <const calls extends readonly unknown[], chainOverride extends ViemChain | undefined = undefined>(parameters: import('viem').SendCallsSyncParameters<ViemChain | undefined, import('viem').Account | undefined, chainOverride, calls>) => Promise<{
7169
+ id: string;
7170
+ chainId: number;
7171
+ version: string;
7172
+ atomic: boolean;
7173
+ capabilities?: {
7174
+ [key: string]: any;
7175
+ } | {
7176
+ [x: string]: any;
7177
+ } | undefined;
7178
+ receipts?: import('viem').WalletCallReceipt<bigint, "success" | "reverted">[] | undefined;
7179
+ statusCode: number;
7180
+ status: "pending" | "success" | "failure" | undefined;
7181
+ }>;
7167
7182
  sendRawTransaction: (args: import('viem').SendRawTransactionParameters) => Promise<import('viem').SendRawTransactionReturnType>;
7183
+ sendRawTransactionSync: (args: import('viem').SendRawTransactionSyncParameters) => Promise<import('viem').TransactionReceipt>;
7168
7184
  sendTransaction: <const request extends import('viem').SendTransactionRequest<ViemChain | undefined, chainOverride>, chainOverride extends ViemChain | undefined = undefined>(args: import('viem').SendTransactionParameters<ViemChain | undefined, import('viem').Account | undefined, chainOverride, request>) => Promise<import('viem').SendTransactionReturnType>;
7185
+ sendTransactionSync: <const request extends import('viem').SendTransactionSyncRequest<ViemChain | undefined, chainOverride>, chainOverride extends ViemChain | undefined = undefined>(args: import('viem').SendTransactionSyncParameters<ViemChain | undefined, import('viem').Account | undefined, chainOverride, request>) => Promise<import('viem').SendTransactionSyncReturnType>;
7169
7186
  showCallsStatus: (parameters: import('viem').ShowCallsStatusParameters) => Promise<import('viem').ShowCallsStatusReturnType>;
7170
7187
  signAuthorization: (parameters: import('viem').SignAuthorizationParameters<import('viem').Account | undefined>) => Promise<import('viem').SignAuthorizationReturnType>;
7171
7188
  signMessage: (args: import('viem').SignMessageParameters<import('viem').Account | undefined>) => Promise<import('viem').SignMessageReturnType>;
@@ -8273,6 +8290,7 @@ export declare class DistributorHandler {
8273
8290
  waitForCallsStatus: (parameters: import('viem').WaitForCallsStatusParameters) => Promise<import('viem').WaitForCallsStatusReturnType>;
8274
8291
  watchAsset: (args: import('viem').WatchAssetParameters) => Promise<import('viem').WatchAssetReturnType>;
8275
8292
  writeContract: <const abi extends import('viem').Abi | readonly unknown[], functionName extends import('viem').ContractFunctionName<abi, "nonpayable" | "payable">, args_1 extends import('viem').ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>, chainOverride extends ViemChain | undefined = undefined>(args: import('viem').WriteContractParameters<abi, functionName, args_1, ViemChain | undefined, import('viem').Account | undefined, chainOverride>) => Promise<import('viem').WriteContractReturnType>;
8293
+ writeContractSync: <const abi extends import('viem').Abi | readonly unknown[], functionName extends import('viem').ContractFunctionName<abi, "nonpayable" | "payable">, args_1 extends import('viem').ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>, chainOverride extends ViemChain | undefined = undefined>(args: import('viem').WriteContractSyncParameters<abi, functionName, args_1, ViemChain | undefined, import('viem').Account | undefined, chainOverride>) => Promise<import('viem').WriteContractSyncReturnType>;
8276
8294
  extend: <const client extends {
8277
8295
  [x: string]: unknown;
8278
8296
  account?: undefined;
@@ -1,7 +1,7 @@
1
- import { V as n } from "../../constants-CuIEh_ZS.js";
1
+ import { V as n } from "../../constants-BO_Dvglw.js";
2
2
  import { CONTRACT_ADDRESSES as o } from "../addresses.js";
3
3
  import { Distributor as s } from "../abis/mainnet/Distributor.js";
4
- import { g as c } from "../../getContract-DQN7VDBo.js";
4
+ import { g as c } from "../../getContract-DRjKmuyC.js";
5
5
  class g {
6
6
  /**
7
7
  * Create the handler for the Distributor contract exposing
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../../constants-6kuRTsbU.cjs"),s=require("../tokens.cjs"),g=require("../../utils/time.cjs"),p=require("../abis/mainnet/ERC20Permit.cjs"),d=require("../../getContract-D4_SEfqa.cjs"),y=require("../../secp256k1-CMP_u7qb.cjs");function S(o){const{r:t,s:n}=y.secp256k1.Signature.fromCompact(o.slice(2,130)),e=+`0x${o.slice(130)}`,[i,r]=(()=>{if(e===0||e===1)return[void 0,e];if(e===27)return[BigInt(e),0];if(e===28)return[BigInt(e),1];throw new Error("Invalid yParityOrV value")})();return typeof i<"u"?{r:a.numberToHex(t,{size:32}),s:a.numberToHex(n,{size:32}),v:i,yParity:r}:{r:a.numberToHex(t,{size:32}),s:a.numberToHex(n,{size:32}),yParity:r}}class C{constructor(t,n,e){this.chain=t,this.walletClient=n,this.publicClient=e,this.viemChain=a.VIEM_CHAINS[t],this.token=s.Token.WETH}viemChain;token;withToken(t){return this.token=t,this}getContract(){const t=s.TOKENS_ADDRESSES[this.token][this.chain],n=p.ERC20Permit,e={public:this.publicClient,wallet:this.walletClient};return d.getContract({address:t,abi:n,client:e})}nonces(t){return this.getContract().read.nonces([t])}async getPermitSignature(t,n,e){const i=this.getContract(),r=await this.nonces(t),c={name:await i.read.name(),version:this.getPermitVersion(this.token),chainId:this.chain,verifyingContract:s.TOKENS_ADDRESSES[this.token][this.chain],salt:this.getPermitSalt(this.token)},u={Permit:[{name:"owner",type:"address"},{name:"spender",type:"address"},{name:"value",type:"uint256"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},h=BigInt(g.getTimestampInSeconds()+3600*2),l=await this.walletClient.signTypedData({account:t,domain:c,types:u,primaryType:"Permit",message:{owner:t,spender:n,value:e,nonce:r,deadline:h}});return{...S(l),deadline:h}}async getPermitData(t,n,e){const{r:i,s:r,v:m,yParity:c,deadline:u}=await this.getPermitSignature(t,n,e);return{r:i,s:r,v:Number(m??c),deadline:u,amount:e}}approve(t,n,e){return this.getContract().write.approve([n,e],{account:t,chain:this.viemChain})}getPermitVersion(t){return s.TOKENS_PERMIT_VERSION[t]}getPermitSalt(t){return s.TOKENS_SALT?.[t]?.[this.chain]}}exports.ERC20PermitHandler=C;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../../constants-4-ehn8UI.cjs"),s=require("../tokens.cjs"),g=require("../../utils/time.cjs"),p=require("../abis/mainnet/ERC20Permit.cjs"),d=require("../../getContract-C6a8L2Jd.cjs"),y=require("../../secp256k1-CzsL7iVx.cjs");function S(o){const{r:t,s:n}=y.secp256k1.Signature.fromCompact(o.slice(2,130)),e=+`0x${o.slice(130)}`,[i,r]=(()=>{if(e===0||e===1)return[void 0,e];if(e===27)return[BigInt(e),0];if(e===28)return[BigInt(e),1];throw new Error("Invalid yParityOrV value")})();return typeof i<"u"?{r:a.numberToHex(t,{size:32}),s:a.numberToHex(n,{size:32}),v:i,yParity:r}:{r:a.numberToHex(t,{size:32}),s:a.numberToHex(n,{size:32}),yParity:r}}class C{constructor(t,n,e){this.chain=t,this.walletClient=n,this.publicClient=e,this.viemChain=a.VIEM_CHAINS[t],this.token=s.Token.WETH}viemChain;token;withToken(t){return this.token=t,this}getContract(){const t=s.TOKENS_ADDRESSES[this.token][this.chain],n=p.ERC20Permit,e={public:this.publicClient,wallet:this.walletClient};return d.getContract({address:t,abi:n,client:e})}nonces(t){return this.getContract().read.nonces([t])}async getPermitSignature(t,n,e){const i=this.getContract(),r=await this.nonces(t),c={name:await i.read.name(),version:this.getPermitVersion(this.token),chainId:this.chain,verifyingContract:s.TOKENS_ADDRESSES[this.token][this.chain],salt:this.getPermitSalt(this.token)},u={Permit:[{name:"owner",type:"address"},{name:"spender",type:"address"},{name:"value",type:"uint256"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},h=BigInt(g.getTimestampInSeconds()+3600*2),l=await this.walletClient.signTypedData({account:t,domain:c,types:u,primaryType:"Permit",message:{owner:t,spender:n,value:e,nonce:r,deadline:h}});return{...S(l),deadline:h}}async getPermitData(t,n,e){const{r:i,s:r,v:m,yParity:c,deadline:u}=await this.getPermitSignature(t,n,e);return{r:i,s:r,v:Number(m??c),deadline:u,amount:e}}approve(t,n,e){return this.getContract().write.approve([n,e],{account:t,chain:this.viemChain})}getPermitVersion(t){return s.TOKENS_PERMIT_VERSION[t]}getPermitSalt(t){return s.TOKENS_SALT?.[t]?.[this.chain]}}exports.ERC20PermitHandler=C;
2
2
  //# sourceMappingURL=erc20-permit-handler.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"erc20-permit-handler.cjs","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
+ {"version":3,"file":"erc20-permit-handler.cjs","sources":["../../../node_modules/.pnpm/viem@2.38.5_typescript@5.9.3_zod@4.1.12/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]}
@@ -4023,6 +4023,7 @@ export declare class ERC20PermitHandler {
4023
4023
  }, (request["parameters"] extends readonly import('viem').PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "fees" | "gas" | "nonce" | "blobVersionedHashes" | "chainId" | "type") extends infer T_13 ? T_13 extends (request["parameters"] extends readonly import('viem').PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "fees" | "gas" | "nonce" | "blobVersionedHashes" | "chainId" | "type") ? T_13 extends "fees" ? "gasPrice" | "maxFeePerGas" | "maxPriorityFeePerGas" : T_13 : never : never> & (unknown extends request["kzg"] ? {} : Pick<request, "kzg">) extends infer T ? { [K in keyof T]: T[K]; } : never>;
4024
4024
  readContract: <const abi extends import('viem').Abi | readonly unknown[], functionName extends import('viem').ContractFunctionName<abi, "pure" | "view">, const args extends import('viem').ContractFunctionArgs<abi, "pure" | "view", functionName>>(args: import('viem').ReadContractParameters<abi, functionName, args>) => Promise<import('viem').ReadContractReturnType<abi, functionName, args>>;
4025
4025
  sendRawTransaction: (args: import('viem').SendRawTransactionParameters) => Promise<import('viem').SendRawTransactionReturnType>;
4026
+ sendRawTransactionSync: (args: import('viem').SendRawTransactionSyncParameters) => Promise<import('viem').TransactionReceipt>;
4026
4027
  simulate: <const calls extends readonly unknown[]>(args: import('viem').SimulateBlocksParameters<calls>) => Promise<import('viem').SimulateBlocksReturnType<calls>>;
4027
4028
  simulateBlocks: <const calls extends readonly unknown[]>(args: import('viem').SimulateBlocksParameters<calls>) => Promise<import('viem').SimulateBlocksReturnType<calls>>;
4028
4029
  simulateCalls: <const calls extends readonly unknown[]>(args: import('viem').SimulateCallsParameters<calls>) => Promise<import('viem').SimulateCallsReturnType<calls>>;
@@ -7352,8 +7353,24 @@ export declare class ERC20PermitHandler {
7352
7353
  } | undefined;
7353
7354
  id: string;
7354
7355
  }>;
7356
+ sendCallsSync: <const calls extends readonly unknown[], chainOverride extends ViemChain | undefined = undefined>(parameters: import('viem').SendCallsSyncParameters<ViemChain | undefined, import('viem').Account | undefined, chainOverride, calls>) => Promise<{
7357
+ id: string;
7358
+ chainId: number;
7359
+ version: string;
7360
+ atomic: boolean;
7361
+ capabilities?: {
7362
+ [key: string]: any;
7363
+ } | {
7364
+ [x: string]: any;
7365
+ } | undefined;
7366
+ receipts?: import('viem').WalletCallReceipt<bigint, "success" | "reverted">[] | undefined;
7367
+ statusCode: number;
7368
+ status: "pending" | "success" | "failure" | undefined;
7369
+ }>;
7355
7370
  sendRawTransaction: (args: import('viem').SendRawTransactionParameters) => Promise<import('viem').SendRawTransactionReturnType>;
7371
+ sendRawTransactionSync: (args: import('viem').SendRawTransactionSyncParameters) => Promise<import('viem').TransactionReceipt>;
7356
7372
  sendTransaction: <const request extends import('viem').SendTransactionRequest<ViemChain | undefined, chainOverride>, chainOverride extends ViemChain | undefined = undefined>(args: import('viem').SendTransactionParameters<ViemChain | undefined, import('viem').Account | undefined, chainOverride, request>) => Promise<import('viem').SendTransactionReturnType>;
7373
+ sendTransactionSync: <const request extends import('viem').SendTransactionSyncRequest<ViemChain | undefined, chainOverride>, chainOverride extends ViemChain | undefined = undefined>(args: import('viem').SendTransactionSyncParameters<ViemChain | undefined, import('viem').Account | undefined, chainOverride, request>) => Promise<import('viem').SendTransactionSyncReturnType>;
7357
7374
  showCallsStatus: (parameters: import('viem').ShowCallsStatusParameters) => Promise<import('viem').ShowCallsStatusReturnType>;
7358
7375
  signAuthorization: (parameters: import('viem').SignAuthorizationParameters<import('viem').Account | undefined>) => Promise<import('viem').SignAuthorizationReturnType>;
7359
7376
  signMessage: (args: import('viem').SignMessageParameters<import('viem').Account | undefined>) => Promise<import('viem').SignMessageReturnType>;
@@ -8461,6 +8478,7 @@ export declare class ERC20PermitHandler {
8461
8478
  waitForCallsStatus: (parameters: import('viem').WaitForCallsStatusParameters) => Promise<import('viem').WaitForCallsStatusReturnType>;
8462
8479
  watchAsset: (args: import('viem').WatchAssetParameters) => Promise<import('viem').WatchAssetReturnType>;
8463
8480
  writeContract: <const abi extends import('viem').Abi | readonly unknown[], functionName extends import('viem').ContractFunctionName<abi, "nonpayable" | "payable">, args_1 extends import('viem').ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>, chainOverride extends ViemChain | undefined = undefined>(args: import('viem').WriteContractParameters<abi, functionName, args_1, ViemChain | undefined, import('viem').Account | undefined, chainOverride>) => Promise<import('viem').WriteContractReturnType>;
8481
+ writeContractSync: <const abi extends import('viem').Abi | readonly unknown[], functionName extends import('viem').ContractFunctionName<abi, "nonpayable" | "payable">, args_1 extends import('viem').ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>, chainOverride extends ViemChain | undefined = undefined>(args: import('viem').WriteContractSyncParameters<abi, functionName, args_1, ViemChain | undefined, import('viem').Account | undefined, chainOverride>) => Promise<import('viem').WriteContractSyncReturnType>;
8464
8482
  extend: <const client extends {
8465
8483
  [x: string]: unknown;
8466
8484
  account?: undefined;
@@ -1,9 +1,9 @@
1
- import { n as a, V as l } from "../../constants-CuIEh_ZS.js";
1
+ import { n as a, V as l } from "../../constants-BO_Dvglw.js";
2
2
  import { Token as g, TOKENS_ADDRESSES as u, TOKENS_PERMIT_VERSION as d, TOKENS_SALT as y } from "../tokens.js";
3
3
  import { getTimestampInSeconds as C } from "../../utils/time.js";
4
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";
5
+ import { g as P } from "../../getContract-DRjKmuyC.js";
6
+ import { secp256k1 as S } from "../../secp256k1-Dx1prb1E.js";
7
7
  function v(s) {
8
8
  const { r: t, s: n } = S.Signature.fromCompact(s.slice(2, 130)), e = +`0x${s.slice(130)}`, [i, r] = (() => {
9
9
  if (e === 0 || e === 1)
@@ -1 +1 @@
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":";;;;;;AAYO,SAASA,EAAeC,GAAc;AACzC,QAAM,EAAE,GAAAC,GAAG,GAAAC,EAAC,IAAKC,EAAU,UAAU,YAAYH,EAAa,MAAM,GAAG,GAAG,CAAC,GACrEI,IAAa,CAAO,KAAKJ,EAAa,MAAM,GAAG,CAAC,IAChD,CAACK,GAAGC,CAAO,KAAK,MAAM;AACxB,QAAIF,MAAe,KAAKA,MAAe;AACnC,aAAO,CAAC,QAAWA,CAAU;AACjC,QAAIA,MAAe;AACf,aAAO,CAAC,OAAOA,CAAU,GAAG,CAAC;AACjC,QAAIA,MAAe;AACf,aAAO,CAAC,OAAOA,CAAU,GAAG,CAAC;AACjC,UAAM,IAAI,MAAM,0BAA0B;AAAA,EAC9C,GAAC;AACD,SAAI,OAAOC,IAAM,MACN;AAAA,IACH,GAAGE,EAAYN,GAAG,EAAE,MAAM,GAAE,CAAE;AAAA,IAC9B,GAAGM,EAAYL,GAAG,EAAE,MAAM,GAAE,CAAE;AAAA,IAC9B,GAAAG;AAAA,IACA,SAAAC;AAAA,EACZ,IACW;AAAA,IACH,GAAGC,EAAYN,GAAG,EAAE,MAAM,GAAE,CAAE;AAAA,IAC9B,GAAGM,EAAYL,GAAG,EAAE,MAAM,GAAE,CAAE;AAAA,IAC9B,SAAAI;AAAA,EACR;AACA;ACbO,MAAME,EAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAa9B,YACUC,GACAC,GACAC,GACR;AAHQ,SAAA,QAAAF,GACA,KAAA,eAAAC,GACA,KAAA,eAAAC,GAER,KAAK,YAAYC,EAAYH,CAAK,GAClC,KAAK,QAAQI,EAAM;AAAA,EACrB;AAAA,EAnBQ;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA0BD,UAAUC,GAAiB;AAChC,gBAAK,QAAQA,GACN;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQO,cAAc;AACnB,UAAMC,IAAUC,EAAiB,KAAK,KAAK,EAAE,KAAK,KAAK,GACjDC,IAAMC,GACNC,IAAS,EAAE,QAAQ,KAAK,cAAc,QAAQ,KAAK,aAAA;AAEzD,WAAOC,EAAY,EAAE,SAAAL,GAAS,KAAAE,GAAK,QAAAE,GAAQ;AAAA,EAK7C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQO,OAAOE,GAAkB;AAC9B,WAAO,KAAK,YAAA,EAAc,KAAK,OAAO,CAACA,CAAO,CAAC;AAAA,EACjD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAa,mBACXC,GACAC,GACAC,GACA;AACA,UAAMC,IAAW,KAAK,YAAA,GAEhBC,IAAe,MAAM,KAAK,OAAOJ,CAAY,GAE7CK,IAAgB;AAAA,MACpB,MAFW,MAAMF,EAAS,KAAK,KAAA;AAAA,MAG/B,SAAS,KAAK,iBAAiB,KAAK,KAAK;AAAA,MACzC,SAAS,KAAK;AAAA,MACd,mBAAmBT,EAAiB,KAAK,KAAK,EAAE,KAAK,KAAK;AAAA,MAC1D,MAAM,KAAK,cAAc,KAAK,KAAK;AAAA,IAAA,GAE/BY,IAAe;AAAA,MACnB,QAAQ;AAAA,QACN,EAAE,MAAM,SAAS,MAAM,UAAA;AAAA,QACvB,EAAE,MAAM,WAAW,MAAM,UAAA;AAAA,QACzB,EAAE,MAAM,SAAS,MAAM,UAAA;AAAA,QACvB,EAAE,MAAM,SAAS,MAAM,UAAA;AAAA,QACvB,EAAE,MAAM,YAAY,MAAM,UAAA;AAAA,MAAU;AAAA,IACtC,GAGIC,IAAW,OAAOC,EAAA,IAA0B,OAAU,CAAC,GAEvDC,IAAY,MAAM,KAAK,aAAa,cAAc;AAAA,MACtD,SAAST;AAAA,MACT,QAAAK;AAAA,MACA,OAAAC;AAAA,MACA,aAAa;AAAA,MACb,SAAS;AAAA,QACP,OAAON;AAAA,QACP,SAASC;AAAA,QACT,OAAAC;AAAA,QACA,OAAOE;AAAA,QACP,UAAAG;AAAA,MAAA;AAAA,IACF,CACD;AAED,WAAO,EAAE,GAAG9B,EAAegC,CAAS,GAAG,UAAAF,EAAA;AAAA,EACzC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAa,cACXP,GACAC,GACAC,GACqB;AACrB,UAAM,EAAE,GAAAvB,GAAG,GAAAC,GAAG,GAAAG,GAAG,SAAAC,GAAS,UAAAuB,EAAA,IAAa,MAAM,KAAK;AAAA,MAChDP;AAAA,MACAC;AAAA,MACAC;AAAA,IAAA;AAIF,WAAO,EAAE,GAAAvB,GAAG,GAAAC,GAAG,GAAG,OAAOG,KAAKC,CAAO,GAAG,UAAAuB,GAAU,QAAQL,EAAA;AAAA,EAC5D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUO,QACLF,GACAC,GACAC,GACA;AACA,WAAO,KAAK,cAAc,MAAM,QAAQ,CAACD,GAAgBC,CAAK,GAAG;AAAA,MAC/D,SAASF;AAAA,MACT,OAAO,KAAK;AAAA,IAAA,CACb;AAAA,EACH;AAAA,EAEQ,iBAAiBR,GAAyB;AAChD,WAAOkB,EAAsBlB,CAAK;AAAA,EACpC;AAAA,EAEQ,cAAcA,GAAiB;AACrC,WAAOmB,IAAcnB,CAAK,IAAI,KAAK,KAAK;AAAA,EAC1C;AACF;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"erc20-permit-handler.js","sources":["../../../node_modules/.pnpm/viem@2.38.5_typescript@5.9.3_zod@4.1.12/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";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;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../../constants-4-ehn8UI.cjs"),n=require("../abis/mainnet/GaugeRegistry.cjs"),r=require("../addresses.cjs"),c=require("../../getContract-C6a8L2Jd.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
@@ -3620,6 +3620,7 @@ export declare class GaugeRegistryHandler {
3620
3620
  }, (request["parameters"] extends readonly import('viem').PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "fees" | "gas" | "nonce" | "blobVersionedHashes" | "chainId" | "type") extends infer T_13 ? T_13 extends (request["parameters"] extends readonly import('viem').PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "fees" | "gas" | "nonce" | "blobVersionedHashes" | "chainId" | "type") ? T_13 extends "fees" ? "gasPrice" | "maxFeePerGas" | "maxPriorityFeePerGas" : T_13 : never : never> & (unknown extends request["kzg"] ? {} : Pick<request, "kzg">) extends infer T ? { [K in keyof T]: T[K]; } : never>;
3621
3621
  readContract: <const abi extends import('viem').Abi | readonly unknown[], functionName extends import('viem').ContractFunctionName<abi, "pure" | "view">, const args extends import('viem').ContractFunctionArgs<abi, "pure" | "view", functionName>>(args: import('viem').ReadContractParameters<abi, functionName, args>) => Promise<import('viem').ReadContractReturnType<abi, functionName, args>>;
3622
3622
  sendRawTransaction: (args: import('viem').SendRawTransactionParameters) => Promise<import('viem').SendRawTransactionReturnType>;
3623
+ sendRawTransactionSync: (args: import('viem').SendRawTransactionSyncParameters) => Promise<import('viem').TransactionReceipt>;
3623
3624
  simulate: <const calls extends readonly unknown[]>(args: import('viem').SimulateBlocksParameters<calls>) => Promise<import('viem').SimulateBlocksReturnType<calls>>;
3624
3625
  simulateBlocks: <const calls extends readonly unknown[]>(args: import('viem').SimulateBlocksParameters<calls>) => Promise<import('viem').SimulateBlocksReturnType<calls>>;
3625
3626
  simulateCalls: <const calls extends readonly unknown[]>(args: import('viem').SimulateCallsParameters<calls>) => Promise<import('viem').SimulateCallsReturnType<calls>>;
@@ -6949,8 +6950,24 @@ export declare class GaugeRegistryHandler {
6949
6950
  } | undefined;
6950
6951
  id: string;
6951
6952
  }>;
6953
+ sendCallsSync: <const calls extends readonly unknown[], chainOverride extends ViemChain | undefined = undefined>(parameters: import('viem').SendCallsSyncParameters<ViemChain | undefined, Account | undefined, chainOverride, calls>) => Promise<{
6954
+ id: string;
6955
+ chainId: number;
6956
+ version: string;
6957
+ atomic: boolean;
6958
+ capabilities?: {
6959
+ [key: string]: any;
6960
+ } | {
6961
+ [x: string]: any;
6962
+ } | undefined;
6963
+ receipts?: import('viem').WalletCallReceipt<bigint, "success" | "reverted">[] | undefined;
6964
+ statusCode: number;
6965
+ status: "pending" | "success" | "failure" | undefined;
6966
+ }>;
6952
6967
  sendRawTransaction: (args: import('viem').SendRawTransactionParameters) => Promise<import('viem').SendRawTransactionReturnType>;
6968
+ sendRawTransactionSync: (args: import('viem').SendRawTransactionSyncParameters) => Promise<import('viem').TransactionReceipt>;
6953
6969
  sendTransaction: <const request extends import('viem').SendTransactionRequest<ViemChain | undefined, chainOverride>, chainOverride extends ViemChain | undefined = undefined>(args: import('viem').SendTransactionParameters<ViemChain | undefined, Account | undefined, chainOverride, request>) => Promise<import('viem').SendTransactionReturnType>;
6970
+ sendTransactionSync: <const request extends import('viem').SendTransactionSyncRequest<ViemChain | undefined, chainOverride>, chainOverride extends ViemChain | undefined = undefined>(args: import('viem').SendTransactionSyncParameters<ViemChain | undefined, Account | undefined, chainOverride, request>) => Promise<import('viem').SendTransactionSyncReturnType>;
6954
6971
  showCallsStatus: (parameters: import('viem').ShowCallsStatusParameters) => Promise<import('viem').ShowCallsStatusReturnType>;
6955
6972
  signAuthorization: (parameters: import('viem').SignAuthorizationParameters<Account | undefined>) => Promise<import('viem').SignAuthorizationReturnType>;
6956
6973
  signMessage: (args: import('viem').SignMessageParameters<Account | undefined>) => Promise<import('viem').SignMessageReturnType>;
@@ -8058,6 +8075,7 @@ export declare class GaugeRegistryHandler {
8058
8075
  waitForCallsStatus: (parameters: import('viem').WaitForCallsStatusParameters) => Promise<import('viem').WaitForCallsStatusReturnType>;
8059
8076
  watchAsset: (args: import('viem').WatchAssetParameters) => Promise<import('viem').WatchAssetReturnType>;
8060
8077
  writeContract: <const abi extends import('viem').Abi | readonly unknown[], functionName extends import('viem').ContractFunctionName<abi, "nonpayable" | "payable">, args_1 extends import('viem').ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>, chainOverride extends ViemChain | undefined = undefined>(args: import('viem').WriteContractParameters<abi, functionName, args_1, ViemChain | undefined, Account | undefined, chainOverride>) => Promise<import('viem').WriteContractReturnType>;
8078
+ writeContractSync: <const abi extends import('viem').Abi | readonly unknown[], functionName extends import('viem').ContractFunctionName<abi, "nonpayable" | "payable">, args_1 extends import('viem').ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>, chainOverride extends ViemChain | undefined = undefined>(args: import('viem').WriteContractSyncParameters<abi, functionName, args_1, ViemChain | undefined, Account | undefined, chainOverride>) => Promise<import('viem').WriteContractSyncReturnType>;
8061
8079
  extend: <const client extends {
8062
8080
  [x: string]: unknown;
8063
8081
  account?: undefined;
@@ -1,7 +1,7 @@
1
- import { V as a } from "../../constants-CuIEh_ZS.js";
1
+ import { V as a } from "../../constants-BO_Dvglw.js";
2
2
  import { GaugeRegistry as n } from "../abis/mainnet/GaugeRegistry.js";
3
3
  import { CONTRACT_ADDRESSES as r } from "../addresses.js";
4
- import { g as c } from "../../getContract-DQN7VDBo.js";
4
+ import { g as c } from "../../getContract-DRjKmuyC.js";
5
5
  class C {
6
6
  /**
7
7
  * Create the handler for the `GaugeRegistry` contract exposing methods to
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../../constants-6kuRTsbU.cjs"),n=require("../addresses.cjs"),i=require("../abis/mainnet/GuardianModule.cjs"),s=require("../../getContract-D4_SEfqa.cjs");class d{constructor(e,t,r){this.chain=e,this.walletClient=t,this.publicClient=r,this.viemChain=a.VIEM_CHAINS[e]}viemChain;getContract(){const e=n.CONTRACT_ADDRESSES[this.chain].GuardianModule,t=i.GuardianModule,r={public:this.publicClient,wallet:this.walletClient};return s.getContract({address:e,abi:t,client:r})}getEjectionThreshold(){return this.getContract().read.getEjectionThreshold()}getGuardians(){return this.getContract().read.getGuardians()}getGuardiansEnclaveAddress(e){return this.getContract().read.getGuardiansEnclaveAddress([e])}getGuardiansEnclaveAddresses(){return this.getContract().read.getGuardiansEnclaveAddresses()}getGuardiansEnclavePubkeys(){return this.getContract().read.getGuardiansEnclavePubkeys()}validateGuardiansEnclaveSignatures(e,t){return this.getContract().read.validateGuardiansEnclaveSignatures([e,t])}getMrenclave(){return this.getContract().read.getMrenclave()}getMrsigner(){return this.getContract().read.getMrsigner()}getThreshold(){return this.getContract().read.getThreshold()}isConsumingScheduledOp(){return this.getContract().read.isConsumingScheduledOp()}isGuardian(e){return this.getContract().read.isGuardian([e])}removeGuardian(e,t){return this.getContract().write.removeGuardian([e],{account:t,chain:this.viemChain})}}exports.GuardianModuleHandler=d;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../../constants-4-ehn8UI.cjs"),n=require("../addresses.cjs"),i=require("../abis/mainnet/GuardianModule.cjs"),s=require("../../getContract-C6a8L2Jd.cjs");class d{constructor(e,t,r){this.chain=e,this.walletClient=t,this.publicClient=r,this.viemChain=a.VIEM_CHAINS[e]}viemChain;getContract(){const e=n.CONTRACT_ADDRESSES[this.chain].GuardianModule,t=i.GuardianModule,r={public:this.publicClient,wallet:this.walletClient};return s.getContract({address:e,abi:t,client:r})}getEjectionThreshold(){return this.getContract().read.getEjectionThreshold()}getGuardians(){return this.getContract().read.getGuardians()}getGuardiansEnclaveAddress(e){return this.getContract().read.getGuardiansEnclaveAddress([e])}getGuardiansEnclaveAddresses(){return this.getContract().read.getGuardiansEnclaveAddresses()}getGuardiansEnclavePubkeys(){return this.getContract().read.getGuardiansEnclavePubkeys()}validateGuardiansEnclaveSignatures(e,t){return this.getContract().read.validateGuardiansEnclaveSignatures([e,t])}getMrenclave(){return this.getContract().read.getMrenclave()}getMrsigner(){return this.getContract().read.getMrsigner()}getThreshold(){return this.getContract().read.getThreshold()}isConsumingScheduledOp(){return this.getContract().read.isConsumingScheduledOp()}isGuardian(e){return this.getContract().read.isGuardian([e])}removeGuardian(e,t){return this.getContract().write.removeGuardian([e],{account:t,chain:this.viemChain})}}exports.GuardianModuleHandler=d;
2
2
  //# sourceMappingURL=guardian-module-handler.cjs.map
@@ -3920,6 +3920,7 @@ export declare class GuardianModuleHandler {
3920
3920
  }, (request["parameters"] extends readonly import('viem').PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "fees" | "gas" | "nonce" | "blobVersionedHashes" | "chainId" | "type") extends infer T_13 ? T_13 extends (request["parameters"] extends readonly import('viem').PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "fees" | "gas" | "nonce" | "blobVersionedHashes" | "chainId" | "type") ? T_13 extends "fees" ? "gasPrice" | "maxFeePerGas" | "maxPriorityFeePerGas" : T_13 : never : never> & (unknown extends request["kzg"] ? {} : Pick<request, "kzg">) extends infer T ? { [K in keyof T]: T[K]; } : never>;
3921
3921
  readContract: <const abi extends import('viem').Abi | readonly unknown[], functionName extends import('viem').ContractFunctionName<abi, "pure" | "view">, const args extends import('viem').ContractFunctionArgs<abi, "pure" | "view", functionName>>(args: import('viem').ReadContractParameters<abi, functionName, args>) => Promise<import('viem').ReadContractReturnType<abi, functionName, args>>;
3922
3922
  sendRawTransaction: (args: import('viem').SendRawTransactionParameters) => Promise<import('viem').SendRawTransactionReturnType>;
3923
+ sendRawTransactionSync: (args: import('viem').SendRawTransactionSyncParameters) => Promise<import('viem').TransactionReceipt>;
3923
3924
  simulate: <const calls extends readonly unknown[]>(args: import('viem').SimulateBlocksParameters<calls>) => Promise<import('viem').SimulateBlocksReturnType<calls>>;
3924
3925
  simulateBlocks: <const calls extends readonly unknown[]>(args: import('viem').SimulateBlocksParameters<calls>) => Promise<import('viem').SimulateBlocksReturnType<calls>>;
3925
3926
  simulateCalls: <const calls extends readonly unknown[]>(args: import('viem').SimulateCallsParameters<calls>) => Promise<import('viem').SimulateCallsReturnType<calls>>;
@@ -7249,8 +7250,24 @@ export declare class GuardianModuleHandler {
7249
7250
  } | undefined;
7250
7251
  id: string;
7251
7252
  }>;
7253
+ sendCallsSync: <const calls extends readonly unknown[], chainOverride extends ViemChain | undefined = undefined>(parameters: import('viem').SendCallsSyncParameters<ViemChain | undefined, import('viem').Account | undefined, chainOverride, calls>) => Promise<{
7254
+ id: string;
7255
+ chainId: number;
7256
+ version: string;
7257
+ atomic: boolean;
7258
+ capabilities?: {
7259
+ [key: string]: any;
7260
+ } | {
7261
+ [x: string]: any;
7262
+ } | undefined;
7263
+ receipts?: import('viem').WalletCallReceipt<bigint, "success" | "reverted">[] | undefined;
7264
+ statusCode: number;
7265
+ status: "pending" | "success" | "failure" | undefined;
7266
+ }>;
7252
7267
  sendRawTransaction: (args: import('viem').SendRawTransactionParameters) => Promise<import('viem').SendRawTransactionReturnType>;
7268
+ sendRawTransactionSync: (args: import('viem').SendRawTransactionSyncParameters) => Promise<import('viem').TransactionReceipt>;
7253
7269
  sendTransaction: <const request extends import('viem').SendTransactionRequest<ViemChain | undefined, chainOverride>, chainOverride extends ViemChain | undefined = undefined>(args: import('viem').SendTransactionParameters<ViemChain | undefined, import('viem').Account | undefined, chainOverride, request>) => Promise<import('viem').SendTransactionReturnType>;
7270
+ sendTransactionSync: <const request extends import('viem').SendTransactionSyncRequest<ViemChain | undefined, chainOverride>, chainOverride extends ViemChain | undefined = undefined>(args: import('viem').SendTransactionSyncParameters<ViemChain | undefined, import('viem').Account | undefined, chainOverride, request>) => Promise<import('viem').SendTransactionSyncReturnType>;
7254
7271
  showCallsStatus: (parameters: import('viem').ShowCallsStatusParameters) => Promise<import('viem').ShowCallsStatusReturnType>;
7255
7272
  signAuthorization: (parameters: import('viem').SignAuthorizationParameters<import('viem').Account | undefined>) => Promise<import('viem').SignAuthorizationReturnType>;
7256
7273
  signMessage: (args: import('viem').SignMessageParameters<import('viem').Account | undefined>) => Promise<import('viem').SignMessageReturnType>;
@@ -8358,6 +8375,7 @@ export declare class GuardianModuleHandler {
8358
8375
  waitForCallsStatus: (parameters: import('viem').WaitForCallsStatusParameters) => Promise<import('viem').WaitForCallsStatusReturnType>;
8359
8376
  watchAsset: (args: import('viem').WatchAssetParameters) => Promise<import('viem').WatchAssetReturnType>;
8360
8377
  writeContract: <const abi extends import('viem').Abi | readonly unknown[], functionName extends import('viem').ContractFunctionName<abi, "nonpayable" | "payable">, args_1 extends import('viem').ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>, chainOverride extends ViemChain | undefined = undefined>(args: import('viem').WriteContractParameters<abi, functionName, args_1, ViemChain | undefined, import('viem').Account | undefined, chainOverride>) => Promise<import('viem').WriteContractReturnType>;
8378
+ writeContractSync: <const abi extends import('viem').Abi | readonly unknown[], functionName extends import('viem').ContractFunctionName<abi, "nonpayable" | "payable">, args_1 extends import('viem').ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>, chainOverride extends ViemChain | undefined = undefined>(args: import('viem').WriteContractSyncParameters<abi, functionName, args_1, ViemChain | undefined, import('viem').Account | undefined, chainOverride>) => Promise<import('viem').WriteContractSyncReturnType>;
8361
8379
  extend: <const client extends {
8362
8380
  [x: string]: unknown;
8363
8381
  account?: undefined;
@@ -1,7 +1,7 @@
1
- import { V as a } from "../../constants-CuIEh_ZS.js";
1
+ import { V as a } from "../../constants-BO_Dvglw.js";
2
2
  import { CONTRACT_ADDRESSES as n } from "../addresses.js";
3
3
  import { GuardianModule as i } from "../abis/mainnet/GuardianModule.js";
4
- import { g as s } from "../../getContract-DQN7VDBo.js";
4
+ import { g as s } from "../../getContract-DRjKmuyC.js";
5
5
  class l {
6
6
  /**
7
7
  * Create the handler for the `PufLocker` contract exposing methods to
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../abis/mainnet/InstitutionalAccessManager.cjs"),s=require("../../constants-6kuRTsbU.cjs"),l=require("../../errors/validation-errors.cjs"),d=require("../../getContract-D4_SEfqa.cjs"),h=require("../../writeContract-BnmmOPwy.cjs");class u{constructor(t,e,r){this.walletClient=e,this.publicClient=r,this.viemChain=s.VIEM_CHAINS[t]}viemChain;address;selectorsMap={"0x6056b271":"completeQueuedWithdrawals((address,address,address,uint256,uint32,address[],uint256[])[],bool[])","0x29d85402":"customExternalCall(address,bytes,uint256)","0x6e553f65":"deposit(uint256,address)","0x2d2da806":"depositETH(address)","0xba087652":"redeem(uint256,address,address)","0xb460af94":"withdraw(uint256,address,address)","0xa9059cbb":"transfer(address,uint256)","0x23b872dd":"transferFrom(address,address,uint256)","0x94bf804d":"mint(uint256,address)","0x61c17990":"startRestakingValidators(bytes[],bytes[],bytes32[])","0x3e5e60c6":"startNonRestakingValidators(bytes[],bytes[],bytes32[])","0x852aa33d":"queueWithdrawals(uint256)","0xad0cdf3e":"setValidatorsETH(uint128,uint128)"};withAddress(t){return this.address=t,this}getAddress(){return this.address}getContract(){if(!this.address)throw new l.InvalidContractAddressError("No address specified for the contract",{fixMessage:"Set the contract address in the handler by using the setAddress method"});const t=o.InstitutionalAccessManager,e={public:this.publicClient,wallet:this.walletClient};return d.getContract({address:this.address,abi:t,client:e})}getAdminRole(){return this.getContract().read.ADMIN_ROLE()}getPublicRole(){return this.getContract().read.PUBLIC_ROLE()}async canCall(t,e,r){const[a,n]=await this.getContract().read.canCall([t,e,r]);return{canCall:a,canCallDelay:n}}cancel(t,e,r){return this.getContract().write.cancel([t,e,r],{account:this.walletClient.account,chain:this.viemChain})}execute(t,e,r){return this.getContract().write.execute([t,e],{account:this.walletClient.account,chain:this.viemChain,value:r})}async getAccess(t,e){const r=this.processRoleIdOrLabel(t),[a,n,i,c]=await this.getContract().read.getAccess([r,e]);return{since:a,currentDelay:n,pendingDelay:i,effect:c}}getNonce(t){return this.getContract().read.getNonce([t])}getRoleAdmin(t){const e=this.processRoleIdOrLabel(t);return this.getContract().read.getRoleAdmin([e])}getRoleGrantDelay(t){const e=this.processRoleIdOrLabel(t);return this.getContract().read.getRoleGrantDelay([e])}getRoleGuardian(t){const e=this.processRoleIdOrLabel(t);return this.getContract().read.getRoleGuardian([e])}getSchedule(t){return this.getContract().read.getSchedule([t])}getTargetAdminDelay(t){return this.getContract().read.getTargetAdminDelay([t])}getTargetFunctionRole(t,e){return this.getContract().read.getTargetFunctionRole([t,e])}grantRole(t,e,r){const a=this.processRoleIdOrLabel(t);return this.getContract().write.grantRole([a,e,r],{account:this.walletClient.account,chain:this.viemChain})}async hasRole(t,e){const r=this.processRoleIdOrLabel(t),[a,n]=await this.getContract().read.hasRole([r,e]);return{isMember:a,executionDelay:n}}hashOperation(t,e,r){return this.getContract().read.hashOperation([t,e,r])}isTargetClosed(t){return this.getContract().read.isTargetClosed([t])}labelRole(t,e){const r=this.processRoleIdOrLabel(t);return this.getContract().write.labelRole([r,e],{account:this.walletClient.account,chain:this.viemChain})}getMinSetback(){return this.getContract().read.minSetback()}multicall(t){return this.getContract().write.multicall([t],{account:this.walletClient.account,chain:this.viemChain})}renounceRole(t,e){const r=this.processRoleIdOrLabel(t);return this.getContract().write.renounceRole([r,e],{account:this.walletClient.account,chain:this.viemChain})}revokeRole(t,e){const r=this.processRoleIdOrLabel(t);return this.getContract().write.revokeRole([r,e],{account:this.walletClient.account,chain:this.viemChain})}schedule(t,e,r){return this.getContract().write.schedule([t,e,r],{account:this.walletClient.account,chain:this.viemChain})}setGrantDelay(t,e){const r=this.processRoleIdOrLabel(t);return this.getContract().write.setGrantDelay([r,e],{account:this.walletClient.account,chain:this.viemChain})}setRoleAdmin(t,e){const r=this.processRoleIdOrLabel(t);return this.getContract().write.setRoleAdmin([r,e],{account:this.walletClient.account,chain:this.viemChain})}setRoleGuardian(t,e){const r=this.processRoleIdOrLabel(t);return this.getContract().write.setRoleGuardian([r,e],{account:this.walletClient.account,chain:this.viemChain})}setTargetAdminDelay(t,e){return this.getContract().write.setTargetAdminDelay([t,e],{account:this.walletClient.account,chain:this.viemChain})}setTargetClosed(t,e){return this.getContract().write.setTargetClosed([t,e],{account:this.walletClient.account,chain:this.viemChain})}setTargetFunctionRole(t,e,r){const a=this.processRoleIdOrLabel(r);return this.getContract().write.setTargetFunctionRole([t,e,a],{account:this.walletClient.account,chain:this.viemChain})}updateAuthority(t,e){return this.getContract().write.updateAuthority([t,e],{account:this.walletClient.account,chain:this.viemChain})}labelToRoleId(t){const r=s.stringToBytes(t).reverse(),a=s.bytesToHex(r);return s.hexToBigInt(a)}roleIdToLabel(t){const e=s.toHex(t),r=s.toBytes(e).reverse();return h.bytesToString(r)}getSelectorFromFunctionName(t){return Object.entries(this.selectorsMap).find(([,e])=>e.includes(t))?.[0]}getFunctionNameFromSelector(t){return Object.entries(this.selectorsMap).find(([e])=>e===t)?.[1]}processRoleIdOrLabel(t){return typeof t=="string"?this.labelToRoleId(t):t}}exports.InstitutionalAccessManagerHandler=u;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../abis/mainnet/InstitutionalAccessManager.cjs"),s=require("../../constants-4-ehn8UI.cjs"),l=require("../../errors/validation-errors.cjs"),d=require("../../getContract-C6a8L2Jd.cjs"),h=require("../../writeContract-HBsqM_Od.cjs");class u{constructor(t,e,r){this.walletClient=e,this.publicClient=r,this.viemChain=s.VIEM_CHAINS[t]}viemChain;address;selectorsMap={"0x6056b271":"completeQueuedWithdrawals((address,address,address,uint256,uint32,address[],uint256[])[],bool[])","0x29d85402":"customExternalCall(address,bytes,uint256)","0x6e553f65":"deposit(uint256,address)","0x2d2da806":"depositETH(address)","0xba087652":"redeem(uint256,address,address)","0xb460af94":"withdraw(uint256,address,address)","0xa9059cbb":"transfer(address,uint256)","0x23b872dd":"transferFrom(address,address,uint256)","0x94bf804d":"mint(uint256,address)","0x61c17990":"startRestakingValidators(bytes[],bytes[],bytes32[])","0x3e5e60c6":"startNonRestakingValidators(bytes[],bytes[],bytes32[])","0x852aa33d":"queueWithdrawals(uint256)","0xad0cdf3e":"setValidatorsETH(uint128,uint128)"};withAddress(t){return this.address=t,this}getAddress(){return this.address}getContract(){if(!this.address)throw new l.InvalidContractAddressError("No address specified for the contract",{fixMessage:"Set the contract address in the handler by using the setAddress method"});const t=o.InstitutionalAccessManager,e={public:this.publicClient,wallet:this.walletClient};return d.getContract({address:this.address,abi:t,client:e})}getAdminRole(){return this.getContract().read.ADMIN_ROLE()}getPublicRole(){return this.getContract().read.PUBLIC_ROLE()}async canCall(t,e,r){const[a,n]=await this.getContract().read.canCall([t,e,r]);return{canCall:a,canCallDelay:n}}cancel(t,e,r){return this.getContract().write.cancel([t,e,r],{account:this.walletClient.account,chain:this.viemChain})}execute(t,e,r){return this.getContract().write.execute([t,e],{account:this.walletClient.account,chain:this.viemChain,value:r})}async getAccess(t,e){const r=this.processRoleIdOrLabel(t),[a,n,i,c]=await this.getContract().read.getAccess([r,e]);return{since:a,currentDelay:n,pendingDelay:i,effect:c}}getNonce(t){return this.getContract().read.getNonce([t])}getRoleAdmin(t){const e=this.processRoleIdOrLabel(t);return this.getContract().read.getRoleAdmin([e])}getRoleGrantDelay(t){const e=this.processRoleIdOrLabel(t);return this.getContract().read.getRoleGrantDelay([e])}getRoleGuardian(t){const e=this.processRoleIdOrLabel(t);return this.getContract().read.getRoleGuardian([e])}getSchedule(t){return this.getContract().read.getSchedule([t])}getTargetAdminDelay(t){return this.getContract().read.getTargetAdminDelay([t])}getTargetFunctionRole(t,e){return this.getContract().read.getTargetFunctionRole([t,e])}grantRole(t,e,r){const a=this.processRoleIdOrLabel(t);return this.getContract().write.grantRole([a,e,r],{account:this.walletClient.account,chain:this.viemChain})}async hasRole(t,e){const r=this.processRoleIdOrLabel(t),[a,n]=await this.getContract().read.hasRole([r,e]);return{isMember:a,executionDelay:n}}hashOperation(t,e,r){return this.getContract().read.hashOperation([t,e,r])}isTargetClosed(t){return this.getContract().read.isTargetClosed([t])}labelRole(t,e){const r=this.processRoleIdOrLabel(t);return this.getContract().write.labelRole([r,e],{account:this.walletClient.account,chain:this.viemChain})}getMinSetback(){return this.getContract().read.minSetback()}multicall(t){return this.getContract().write.multicall([t],{account:this.walletClient.account,chain:this.viemChain})}renounceRole(t,e){const r=this.processRoleIdOrLabel(t);return this.getContract().write.renounceRole([r,e],{account:this.walletClient.account,chain:this.viemChain})}revokeRole(t,e){const r=this.processRoleIdOrLabel(t);return this.getContract().write.revokeRole([r,e],{account:this.walletClient.account,chain:this.viemChain})}schedule(t,e,r){return this.getContract().write.schedule([t,e,r],{account:this.walletClient.account,chain:this.viemChain})}setGrantDelay(t,e){const r=this.processRoleIdOrLabel(t);return this.getContract().write.setGrantDelay([r,e],{account:this.walletClient.account,chain:this.viemChain})}setRoleAdmin(t,e){const r=this.processRoleIdOrLabel(t);return this.getContract().write.setRoleAdmin([r,e],{account:this.walletClient.account,chain:this.viemChain})}setRoleGuardian(t,e){const r=this.processRoleIdOrLabel(t);return this.getContract().write.setRoleGuardian([r,e],{account:this.walletClient.account,chain:this.viemChain})}setTargetAdminDelay(t,e){return this.getContract().write.setTargetAdminDelay([t,e],{account:this.walletClient.account,chain:this.viemChain})}setTargetClosed(t,e){return this.getContract().write.setTargetClosed([t,e],{account:this.walletClient.account,chain:this.viemChain})}setTargetFunctionRole(t,e,r){const a=this.processRoleIdOrLabel(r);return this.getContract().write.setTargetFunctionRole([t,e,a],{account:this.walletClient.account,chain:this.viemChain})}updateAuthority(t,e){return this.getContract().write.updateAuthority([t,e],{account:this.walletClient.account,chain:this.viemChain})}labelToRoleId(t){const r=s.stringToBytes(t).reverse(),a=s.bytesToHex(r);return s.hexToBigInt(a)}roleIdToLabel(t){const e=s.toHex(t),r=s.toBytes(e).reverse();return h.bytesToString(r)}getSelectorFromFunctionName(t){return Object.entries(this.selectorsMap).find(([,e])=>e.includes(t))?.[0]}getFunctionNameFromSelector(t){return Object.entries(this.selectorsMap).find(([e])=>e===t)?.[1]}processRoleIdOrLabel(t){return typeof t=="string"?this.labelToRoleId(t):t}}exports.InstitutionalAccessManagerHandler=u;
2
2
  //# sourceMappingURL=institutional-access-manager-handler.cjs.map
@@ -4146,6 +4146,7 @@ export declare class InstitutionalAccessManagerHandler {
4146
4146
  }, (request["parameters"] extends readonly import('viem').PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "fees" | "gas" | "nonce" | "blobVersionedHashes" | "chainId" | "type") extends infer T_13 ? T_13 extends (request["parameters"] extends readonly import('viem').PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "fees" | "gas" | "nonce" | "blobVersionedHashes" | "chainId" | "type") ? T_13 extends "fees" ? "gasPrice" | "maxFeePerGas" | "maxPriorityFeePerGas" : T_13 : never : never> & (unknown extends request["kzg"] ? {} : Pick<request, "kzg">) extends infer T ? { [K in keyof T]: T[K]; } : never>;
4147
4147
  readContract: <const abi extends import('viem').Abi | readonly unknown[], functionName extends import('viem').ContractFunctionName<abi, "pure" | "view">, const args extends import('viem').ContractFunctionArgs<abi, "pure" | "view", functionName>>(args: import('viem').ReadContractParameters<abi, functionName, args>) => Promise<import('viem').ReadContractReturnType<abi, functionName, args>>;
4148
4148
  sendRawTransaction: (args: import('viem').SendRawTransactionParameters) => Promise<import('viem').SendRawTransactionReturnType>;
4149
+ sendRawTransactionSync: (args: import('viem').SendRawTransactionSyncParameters) => Promise<import('viem').TransactionReceipt>;
4149
4150
  simulate: <const calls extends readonly unknown[]>(args: import('viem').SimulateBlocksParameters<calls>) => Promise<import('viem').SimulateBlocksReturnType<calls>>;
4150
4151
  simulateBlocks: <const calls extends readonly unknown[]>(args: import('viem').SimulateBlocksParameters<calls>) => Promise<import('viem').SimulateBlocksReturnType<calls>>;
4151
4152
  simulateCalls: <const calls extends readonly unknown[]>(args: import('viem').SimulateCallsParameters<calls>) => Promise<import('viem').SimulateCallsReturnType<calls>>;
@@ -7475,8 +7476,24 @@ export declare class InstitutionalAccessManagerHandler {
7475
7476
  } | undefined;
7476
7477
  id: string;
7477
7478
  }>;
7479
+ sendCallsSync: <const calls extends readonly unknown[], chainOverride extends ViemChain | undefined = undefined>(parameters: import('viem').SendCallsSyncParameters<ViemChain | undefined, import('viem').Account | undefined, chainOverride, calls>) => Promise<{
7480
+ id: string;
7481
+ chainId: number;
7482
+ version: string;
7483
+ atomic: boolean;
7484
+ capabilities?: {
7485
+ [key: string]: any;
7486
+ } | {
7487
+ [x: string]: any;
7488
+ } | undefined;
7489
+ receipts?: import('viem').WalletCallReceipt<bigint, "success" | "reverted">[] | undefined;
7490
+ statusCode: number;
7491
+ status: "pending" | "success" | "failure" | undefined;
7492
+ }>;
7478
7493
  sendRawTransaction: (args: import('viem').SendRawTransactionParameters) => Promise<import('viem').SendRawTransactionReturnType>;
7494
+ sendRawTransactionSync: (args: import('viem').SendRawTransactionSyncParameters) => Promise<import('viem').TransactionReceipt>;
7479
7495
  sendTransaction: <const request extends import('viem').SendTransactionRequest<ViemChain | undefined, chainOverride>, chainOverride extends ViemChain | undefined = undefined>(args: import('viem').SendTransactionParameters<ViemChain | undefined, import('viem').Account | undefined, chainOverride, request>) => Promise<import('viem').SendTransactionReturnType>;
7496
+ sendTransactionSync: <const request extends import('viem').SendTransactionSyncRequest<ViemChain | undefined, chainOverride>, chainOverride extends ViemChain | undefined = undefined>(args: import('viem').SendTransactionSyncParameters<ViemChain | undefined, import('viem').Account | undefined, chainOverride, request>) => Promise<import('viem').SendTransactionSyncReturnType>;
7480
7497
  showCallsStatus: (parameters: import('viem').ShowCallsStatusParameters) => Promise<import('viem').ShowCallsStatusReturnType>;
7481
7498
  signAuthorization: (parameters: import('viem').SignAuthorizationParameters<import('viem').Account | undefined>) => Promise<import('viem').SignAuthorizationReturnType>;
7482
7499
  signMessage: (args: import('viem').SignMessageParameters<import('viem').Account | undefined>) => Promise<import('viem').SignMessageReturnType>;
@@ -8584,6 +8601,7 @@ export declare class InstitutionalAccessManagerHandler {
8584
8601
  waitForCallsStatus: (parameters: import('viem').WaitForCallsStatusParameters) => Promise<import('viem').WaitForCallsStatusReturnType>;
8585
8602
  watchAsset: (args: import('viem').WatchAssetParameters) => Promise<import('viem').WatchAssetReturnType>;
8586
8603
  writeContract: <const abi extends import('viem').Abi | readonly unknown[], functionName extends import('viem').ContractFunctionName<abi, "nonpayable" | "payable">, args_1 extends import('viem').ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>, chainOverride extends ViemChain | undefined = undefined>(args: import('viem').WriteContractParameters<abi, functionName, args_1, ViemChain | undefined, import('viem').Account | undefined, chainOverride>) => Promise<import('viem').WriteContractReturnType>;
8604
+ writeContractSync: <const abi extends import('viem').Abi | readonly unknown[], functionName extends import('viem').ContractFunctionName<abi, "nonpayable" | "payable">, args_1 extends import('viem').ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>, chainOverride extends ViemChain | undefined = undefined>(args: import('viem').WriteContractSyncParameters<abi, functionName, args_1, ViemChain | undefined, import('viem').Account | undefined, chainOverride>) => Promise<import('viem').WriteContractSyncReturnType>;
8587
8605
  extend: <const client extends {
8588
8606
  [x: string]: unknown;
8589
8607
  account?: undefined;
@@ -1,8 +1,8 @@
1
1
  import { InstitutionalAccessManager as o } from "../abis/mainnet/InstitutionalAccessManager.js";
2
- import { V as c, s as l, b as d, h, t as u, a as g } from "../../constants-CuIEh_ZS.js";
2
+ import { V as c, s as l, b as d, h, t as u, a as g } from "../../constants-BO_Dvglw.js";
3
3
  import { InvalidContractAddressError as C } from "../../errors/validation-errors.js";
4
- import { g as m } from "../../getContract-DQN7VDBo.js";
5
- import { b } from "../../writeContract-DYAfDrRz.js";
4
+ import { g as m } from "../../getContract-DRjKmuyC.js";
5
+ import { b } from "../../writeContract-BFxyLFA9.js";
6
6
  class v {
7
7
  /**
8
8
  * Create the handler for the Institutional `AccessManager` contract
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../abis/mainnet/InstitutionalVault.cjs"),n=require("../../constants-6kuRTsbU.cjs"),s=require("../../errors/validation-errors.cjs"),o=require("../../getContract-D4_SEfqa.cjs");class c{constructor(t,e,a){this.walletClient=e,this.publicClient=a,this.viemChain=n.VIEM_CHAINS[t]}viemChain;address;withAddress(t){return this.address=t,this}getAddress(){return this.address}getContract(){if(!this.address)throw new s.InvalidContractAddressError("No address specified for the contract",{fixMessage:"Set the contract address in the handler by using the setAddress method"});const t=i.InstitutionalVault,e={public:this.publicClient,wallet:this.walletClient};return o.getContract({address:this.address,abi:t,client:e})}getBeaconDepositContract(){return this.getContract().read.BEACON_DEPOSIT_CONTRACT()}getEigenDelegationManager(){return this.getContract().read.EIGEN_DELEGATION_MANAGER()}getEigenPodManager(){return this.getContract().read.EIGEN_POD_MANAGER()}getEigenPod(){return this.getContract().read.getEigenPod()}allowance(t,e){return this.getContract().read.allowance([t,e])}approve(t,e){return this.getContract().write.approve([t,e],{account:this.walletClient.account,chain:this.viemChain})}asset(){return this.getContract().read.asset()}authority(){return this.getContract().read.authority()}balanceOf(t){return this.getContract().read.balanceOf([t])}decimals(){return this.getContract().read.decimals()}completeQueuedWithdrawals(t,e){return this.getContract().write.completeQueuedWithdrawals([t,e],{account:this.walletClient.account,chain:this.viemChain})}convertToAssets(t){return this.getContract().read.convertToAssets([t])}convertToShares(t){return this.getContract().read.convertToShares([t])}deposit(t,e){return this.getContract().write.deposit([t,e],{account:this.walletClient.account,chain:this.viemChain})}depositETH(t,e){return this.getContract().write.depositETH([t],{account:this.walletClient.account,chain:this.viemChain,value:e})}getNonRestakedValidatorETH(){return this.getContract().read.getNonRestakedValidatorETH()}getRestakedValidatorETH(){return this.getContract().read.getRestakedValidatorETH()}getWithdrawalCredentials(){return this.getContract().read.getWithdrawalCredentials()}maxDeposit(t){return this.getContract().read.maxDeposit([t])}maxMint(t){return this.getContract().read.maxMint([t])}maxRedeem(t){return this.getContract().read.maxRedeem([t])}maxWithdraw(t){return this.getContract().read.maxWithdraw([t])}mint(t,e){return this.getContract().write.mint([t,e],{account:this.walletClient.account,chain:this.viemChain})}name(){return this.getContract().read.name()}previewDeposit(t){return this.getContract().read.previewDeposit([t])}previewMint(t){return this.getContract().read.previewMint([t])}previewRedeem(t){return this.getContract().read.previewRedeem([t])}previewWithdraw(t){return this.getContract().read.previewWithdraw([t])}queueWithdrawals(t){return this.getContract().write.queueWithdrawals([t],{account:this.walletClient.account,chain:this.viemChain})}redeem(t,e,a){return this.getContract().write.redeem([t,e,a],{account:this.walletClient.account,chain:this.viemChain})}setValidatorsETH(t,e){return this.getContract().write.setValidatorsETH([t,e],{account:this.walletClient.account,chain:this.viemChain})}startNonRestakingValidators(t,e,a,r){return this.getContract().write.startNonRestakingValidators([t,e,a,r],{account:this.walletClient.account,chain:this.viemChain})}startRestakingValidators(t,e,a,r){return this.getContract().write.startRestakingValidators([t,e,a,r],{account:this.walletClient.account,chain:this.viemChain})}withdraw(t,e,a){return this.getContract().write.withdraw([t,e,a],{account:this.walletClient.account,chain:this.viemChain})}symbol(){return this.getContract().read.symbol()}totalAssets(){return this.getContract().read.totalAssets()}totalSupply(){return this.getContract().read.totalSupply()}transfer(t,e){return this.getContract().write.transfer([t,e],{account:this.walletClient.account,chain:this.viemChain})}transferFrom(t,e,a){return this.getContract().write.transferFrom([t,e,a],{account:this.walletClient.account,chain:this.viemChain})}customExternalCall(t,e,a){return this.getContract().write.customExternalCall([t,e,a],{account:this.walletClient.account,chain:this.viemChain})}requestEigenPodConsolidation(t,e,a){return this.getContract().write.requestEigenPodConsolidation([t,e],{account:this.walletClient.account,chain:this.viemChain,value:a})}}exports.InstitutionalVaultHandler=c;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../abis/mainnet/InstitutionalVault.cjs"),n=require("../../constants-4-ehn8UI.cjs"),s=require("../../errors/validation-errors.cjs"),o=require("../../getContract-C6a8L2Jd.cjs");class c{constructor(t,e,a){this.walletClient=e,this.publicClient=a,this.viemChain=n.VIEM_CHAINS[t]}viemChain;address;withAddress(t){return this.address=t,this}getAddress(){return this.address}getContract(){if(!this.address)throw new s.InvalidContractAddressError("No address specified for the contract",{fixMessage:"Set the contract address in the handler by using the setAddress method"});const t=i.InstitutionalVault,e={public:this.publicClient,wallet:this.walletClient};return o.getContract({address:this.address,abi:t,client:e})}getBeaconDepositContract(){return this.getContract().read.BEACON_DEPOSIT_CONTRACT()}getEigenDelegationManager(){return this.getContract().read.EIGEN_DELEGATION_MANAGER()}getEigenPodManager(){return this.getContract().read.EIGEN_POD_MANAGER()}getEigenPod(){return this.getContract().read.getEigenPod()}allowance(t,e){return this.getContract().read.allowance([t,e])}approve(t,e){return this.getContract().write.approve([t,e],{account:this.walletClient.account,chain:this.viemChain})}asset(){return this.getContract().read.asset()}authority(){return this.getContract().read.authority()}balanceOf(t){return this.getContract().read.balanceOf([t])}decimals(){return this.getContract().read.decimals()}completeQueuedWithdrawals(t,e){return this.getContract().write.completeQueuedWithdrawals([t,e],{account:this.walletClient.account,chain:this.viemChain})}convertToAssets(t){return this.getContract().read.convertToAssets([t])}convertToShares(t){return this.getContract().read.convertToShares([t])}deposit(t,e){return this.getContract().write.deposit([t,e],{account:this.walletClient.account,chain:this.viemChain})}depositETH(t,e){return this.getContract().write.depositETH([t],{account:this.walletClient.account,chain:this.viemChain,value:e})}getNonRestakedValidatorETH(){return this.getContract().read.getNonRestakedValidatorETH()}getRestakedValidatorETH(){return this.getContract().read.getRestakedValidatorETH()}getWithdrawalCredentials(){return this.getContract().read.getWithdrawalCredentials()}maxDeposit(t){return this.getContract().read.maxDeposit([t])}maxMint(t){return this.getContract().read.maxMint([t])}maxRedeem(t){return this.getContract().read.maxRedeem([t])}maxWithdraw(t){return this.getContract().read.maxWithdraw([t])}mint(t,e){return this.getContract().write.mint([t,e],{account:this.walletClient.account,chain:this.viemChain})}name(){return this.getContract().read.name()}previewDeposit(t){return this.getContract().read.previewDeposit([t])}previewMint(t){return this.getContract().read.previewMint([t])}previewRedeem(t){return this.getContract().read.previewRedeem([t])}previewWithdraw(t){return this.getContract().read.previewWithdraw([t])}queueWithdrawals(t){return this.getContract().write.queueWithdrawals([t],{account:this.walletClient.account,chain:this.viemChain})}redeem(t,e,a){return this.getContract().write.redeem([t,e,a],{account:this.walletClient.account,chain:this.viemChain})}setValidatorsETH(t,e){return this.getContract().write.setValidatorsETH([t,e],{account:this.walletClient.account,chain:this.viemChain})}startNonRestakingValidators(t,e,a,r){return this.getContract().write.startNonRestakingValidators([t,e,a,r],{account:this.walletClient.account,chain:this.viemChain})}startRestakingValidators(t,e,a,r){return this.getContract().write.startRestakingValidators([t,e,a,r],{account:this.walletClient.account,chain:this.viemChain})}withdraw(t,e,a){return this.getContract().write.withdraw([t,e,a],{account:this.walletClient.account,chain:this.viemChain})}symbol(){return this.getContract().read.symbol()}totalAssets(){return this.getContract().read.totalAssets()}totalSupply(){return this.getContract().read.totalSupply()}transfer(t,e){return this.getContract().write.transfer([t,e],{account:this.walletClient.account,chain:this.viemChain})}transferFrom(t,e,a){return this.getContract().write.transferFrom([t,e,a],{account:this.walletClient.account,chain:this.viemChain})}customExternalCall(t,e,a){return this.getContract().write.customExternalCall([t,e,a],{account:this.walletClient.account,chain:this.viemChain})}requestEigenPodConsolidation(t,e,a){return this.getContract().write.requestEigenPodConsolidation([t,e],{account:this.walletClient.account,chain:this.viemChain,value:a})}}exports.InstitutionalVaultHandler=c;
2
2
  //# sourceMappingURL=institutional-vault-handler.cjs.map
@@ -4334,6 +4334,7 @@ export declare class InstitutionalVaultHandler {
4334
4334
  }, (request["parameters"] extends readonly import('viem').PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "fees" | "gas" | "nonce" | "blobVersionedHashes" | "chainId" | "type") extends infer T_13 ? T_13 extends (request["parameters"] extends readonly import('viem').PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "fees" | "gas" | "nonce" | "blobVersionedHashes" | "chainId" | "type") ? T_13 extends "fees" ? "gasPrice" | "maxFeePerGas" | "maxPriorityFeePerGas" : T_13 : never : never> & (unknown extends request["kzg"] ? {} : Pick<request, "kzg">) extends infer T ? { [K in keyof T]: T[K]; } : never>;
4335
4335
  readContract: <const abi extends import('viem').Abi | readonly unknown[], functionName extends import('viem').ContractFunctionName<abi, "pure" | "view">, const args extends import('viem').ContractFunctionArgs<abi, "pure" | "view", functionName>>(args: import('viem').ReadContractParameters<abi, functionName, args>) => Promise<import('viem').ReadContractReturnType<abi, functionName, args>>;
4336
4336
  sendRawTransaction: (args: import('viem').SendRawTransactionParameters) => Promise<import('viem').SendRawTransactionReturnType>;
4337
+ sendRawTransactionSync: (args: import('viem').SendRawTransactionSyncParameters) => Promise<import('viem').TransactionReceipt>;
4337
4338
  simulate: <const calls extends readonly unknown[]>(args: import('viem').SimulateBlocksParameters<calls>) => Promise<import('viem').SimulateBlocksReturnType<calls>>;
4338
4339
  simulateBlocks: <const calls extends readonly unknown[]>(args: import('viem').SimulateBlocksParameters<calls>) => Promise<import('viem').SimulateBlocksReturnType<calls>>;
4339
4340
  simulateCalls: <const calls extends readonly unknown[]>(args: import('viem').SimulateCallsParameters<calls>) => Promise<import('viem').SimulateCallsReturnType<calls>>;
@@ -7663,8 +7664,24 @@ export declare class InstitutionalVaultHandler {
7663
7664
  } | undefined;
7664
7665
  id: string;
7665
7666
  }>;
7667
+ sendCallsSync: <const calls extends readonly unknown[], chainOverride extends ViemChain | undefined = undefined>(parameters: import('viem').SendCallsSyncParameters<ViemChain | undefined, import('viem').Account | undefined, chainOverride, calls>) => Promise<{
7668
+ id: string;
7669
+ chainId: number;
7670
+ version: string;
7671
+ atomic: boolean;
7672
+ capabilities?: {
7673
+ [key: string]: any;
7674
+ } | {
7675
+ [x: string]: any;
7676
+ } | undefined;
7677
+ receipts?: import('viem').WalletCallReceipt<bigint, "success" | "reverted">[] | undefined;
7678
+ statusCode: number;
7679
+ status: "pending" | "success" | "failure" | undefined;
7680
+ }>;
7666
7681
  sendRawTransaction: (args: import('viem').SendRawTransactionParameters) => Promise<import('viem').SendRawTransactionReturnType>;
7682
+ sendRawTransactionSync: (args: import('viem').SendRawTransactionSyncParameters) => Promise<import('viem').TransactionReceipt>;
7667
7683
  sendTransaction: <const request extends import('viem').SendTransactionRequest<ViemChain | undefined, chainOverride>, chainOverride extends ViemChain | undefined = undefined>(args: import('viem').SendTransactionParameters<ViemChain | undefined, import('viem').Account | undefined, chainOverride, request>) => Promise<import('viem').SendTransactionReturnType>;
7684
+ sendTransactionSync: <const request extends import('viem').SendTransactionSyncRequest<ViemChain | undefined, chainOverride>, chainOverride extends ViemChain | undefined = undefined>(args: import('viem').SendTransactionSyncParameters<ViemChain | undefined, import('viem').Account | undefined, chainOverride, request>) => Promise<import('viem').SendTransactionSyncReturnType>;
7668
7685
  showCallsStatus: (parameters: import('viem').ShowCallsStatusParameters) => Promise<import('viem').ShowCallsStatusReturnType>;
7669
7686
  signAuthorization: (parameters: import('viem').SignAuthorizationParameters<import('viem').Account | undefined>) => Promise<import('viem').SignAuthorizationReturnType>;
7670
7687
  signMessage: (args: import('viem').SignMessageParameters<import('viem').Account | undefined>) => Promise<import('viem').SignMessageReturnType>;
@@ -8772,6 +8789,7 @@ export declare class InstitutionalVaultHandler {
8772
8789
  waitForCallsStatus: (parameters: import('viem').WaitForCallsStatusParameters) => Promise<import('viem').WaitForCallsStatusReturnType>;
8773
8790
  watchAsset: (args: import('viem').WatchAssetParameters) => Promise<import('viem').WatchAssetReturnType>;
8774
8791
  writeContract: <const abi extends import('viem').Abi | readonly unknown[], functionName extends import('viem').ContractFunctionName<abi, "nonpayable" | "payable">, args_1 extends import('viem').ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>, chainOverride extends ViemChain | undefined = undefined>(args: import('viem').WriteContractParameters<abi, functionName, args_1, ViemChain | undefined, import('viem').Account | undefined, chainOverride>) => Promise<import('viem').WriteContractReturnType>;
8792
+ writeContractSync: <const abi extends import('viem').Abi | readonly unknown[], functionName extends import('viem').ContractFunctionName<abi, "nonpayable" | "payable">, args_1 extends import('viem').ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>, chainOverride extends ViemChain | undefined = undefined>(args: import('viem').WriteContractSyncParameters<abi, functionName, args_1, ViemChain | undefined, import('viem').Account | undefined, chainOverride>) => Promise<import('viem').WriteContractSyncReturnType>;
8775
8793
  extend: <const client extends {
8776
8794
  [x: string]: unknown;
8777
8795
  account?: undefined;
@@ -1,7 +1,7 @@
1
1
  import { InstitutionalVault as i } from "../abis/mainnet/InstitutionalVault.js";
2
- import { V as n } from "../../constants-CuIEh_ZS.js";
2
+ import { V as n } from "../../constants-BO_Dvglw.js";
3
3
  import { InvalidContractAddressError as s } from "../../errors/validation-errors.js";
4
- import { g as o } from "../../getContract-DQN7VDBo.js";
4
+ import { g as o } from "../../getContract-DRjKmuyC.js";
5
5
  class C {
6
6
  /**
7
7
  * Create the handler for the `InstitutionalVault` contract exposing
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../constants-6kuRTsbU.cjs"),n=require("../addresses.cjs"),i=require("../abis/mainnet/L1RewardManager.cjs"),s=require("../../getContract-D4_SEfqa.cjs");class c{constructor(t,e,a){this.chain=t,this.walletClient=e,this.publicClient=a,this.viemChain=r.VIEM_CHAINS[t]}viemChain;getContract(){const t=n.CONTRACT_ADDRESSES[this.chain].L1RewardManager,e=i.L1RewardManager,a={public:this.publicClient,wallet:this.walletClient};return s.getContract({address:t,abi:e,client:a})}getBridge(t){return this.getContract().read.getBridge([t])}setL2RewardClaimer(t,e,a){return{transact:()=>this.getContract().write.setL2RewardClaimer([e,a],{chain:this.viemChain,account:t}),estimate:()=>this.getContract().estimateGas.setL2RewardClaimer([e,a],{account:t})}}}exports.L1RewardManagerHandler=c;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../constants-4-ehn8UI.cjs"),n=require("../addresses.cjs"),i=require("../abis/mainnet/L1RewardManager.cjs"),s=require("../../getContract-C6a8L2Jd.cjs");class c{constructor(t,e,a){this.chain=t,this.walletClient=e,this.publicClient=a,this.viemChain=r.VIEM_CHAINS[t]}viemChain;getContract(){const t=n.CONTRACT_ADDRESSES[this.chain].L1RewardManager,e=i.L1RewardManager,a={public:this.publicClient,wallet:this.walletClient};return s.getContract({address:t,abi:e,client:a})}getBridge(t){return this.getContract().read.getBridge([t])}setL2RewardClaimer(t,e,a){return{transact:()=>this.getContract().write.setL2RewardClaimer([e,a],{chain:this.viemChain,account:t}),estimate:()=>this.getContract().estimateGas.setL2RewardClaimer([e,a],{account:t})}}}exports.L1RewardManagerHandler=c;
2
2
  //# sourceMappingURL=l1-reward-manager-handler.cjs.map