@pufferfinance/puffer-sdk 1.31.0 → 1.31.1

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 (148) 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 +42 -42
  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-DLz1DupU.cjs +2 -0
  8. package/dist/ccip-DLz1DupU.cjs.map +1 -0
  9. package/dist/ccip-oHxlHOaH.js +158 -0
  10. package/dist/ccip-oHxlHOaH.js.map +1 -0
  11. package/dist/chains/constants.cjs +1 -1
  12. package/dist/chains/constants.d.ts +2 -1
  13. package/dist/chains/constants.js +1 -1
  14. package/dist/constants-C-rrOSfg.js +3837 -0
  15. package/dist/constants-C-rrOSfg.js.map +1 -0
  16. package/dist/constants-PXB3A4Yl.cjs +38 -0
  17. package/dist/constants-PXB3A4Yl.cjs.map +1 -0
  18. package/dist/contracts/addresses.cjs +1 -1
  19. package/dist/contracts/addresses.js +1 -1
  20. package/dist/contracts/handlers/carrot-staking-handler.cjs +1 -1
  21. package/dist/contracts/handlers/carrot-staking-handler.d.ts +1549 -5281
  22. package/dist/contracts/handlers/carrot-staking-handler.js +2 -2
  23. package/dist/contracts/handlers/carrot-vesting-handler.cjs +1 -1
  24. package/dist/contracts/handlers/carrot-vesting-handler.d.ts +1549 -5281
  25. package/dist/contracts/handlers/carrot-vesting-handler.js +2 -2
  26. package/dist/contracts/handlers/concrete-vault-handler.cjs +1 -1
  27. package/dist/contracts/handlers/concrete-vault-handler.d.ts +1549 -5281
  28. package/dist/contracts/handlers/concrete-vault-handler.js +2 -2
  29. package/dist/contracts/handlers/distributor-handler.cjs +1 -1
  30. package/dist/contracts/handlers/distributor-handler.d.ts +1549 -5281
  31. package/dist/contracts/handlers/distributor-handler.js +2 -2
  32. package/dist/contracts/handlers/erc20-permit-handler.cjs +1 -1
  33. package/dist/contracts/handlers/erc20-permit-handler.cjs.map +1 -1
  34. package/dist/contracts/handlers/erc20-permit-handler.d.ts +1549 -5281
  35. package/dist/contracts/handlers/erc20-permit-handler.js +3 -3
  36. package/dist/contracts/handlers/erc20-permit-handler.js.map +1 -1
  37. package/dist/contracts/handlers/gauge-registry-handler.cjs +1 -1
  38. package/dist/contracts/handlers/gauge-registry-handler.d.ts +1549 -5281
  39. package/dist/contracts/handlers/gauge-registry-handler.js +2 -2
  40. package/dist/contracts/handlers/guardian-module-handler.cjs +1 -1
  41. package/dist/contracts/handlers/guardian-module-handler.d.ts +1549 -5281
  42. package/dist/contracts/handlers/guardian-module-handler.js +2 -2
  43. package/dist/contracts/handlers/institutional-access-manager-handler.cjs +1 -1
  44. package/dist/contracts/handlers/institutional-access-manager-handler.cjs.map +1 -1
  45. package/dist/contracts/handlers/institutional-access-manager-handler.d.ts +1549 -5281
  46. package/dist/contracts/handlers/institutional-access-manager-handler.js +48 -49
  47. package/dist/contracts/handlers/institutional-access-manager-handler.js.map +1 -1
  48. package/dist/contracts/handlers/institutional-vault-handler.cjs +1 -1
  49. package/dist/contracts/handlers/institutional-vault-handler.d.ts +1549 -5281
  50. package/dist/contracts/handlers/institutional-vault-handler.js +2 -2
  51. package/dist/contracts/handlers/l1-reward-manager-handler.cjs +1 -1
  52. package/dist/contracts/handlers/l1-reward-manager-handler.d.ts +1549 -5281
  53. package/dist/contracts/handlers/l1-reward-manager-handler.js +2 -2
  54. package/dist/contracts/handlers/l2-reward-manager-handler.cjs +1 -1
  55. package/dist/contracts/handlers/l2-reward-manager-handler.d.ts +1549 -5281
  56. package/dist/contracts/handlers/l2-reward-manager-handler.js +2 -2
  57. package/dist/contracts/handlers/lagoon-vault-handler.cjs +1 -1
  58. package/dist/contracts/handlers/lagoon-vault-handler.d.ts +1549 -5281
  59. package/dist/contracts/handlers/lagoon-vault-handler.js +2 -2
  60. package/dist/contracts/handlers/mtw-carrot-handler.cjs +1 -1
  61. package/dist/contracts/handlers/mtw-carrot-handler.d.ts +1549 -5281
  62. package/dist/contracts/handlers/mtw-carrot-handler.js +2 -2
  63. package/dist/contracts/handlers/non-restaking-withdrawal-credentials-handler.cjs +1 -1
  64. package/dist/contracts/handlers/non-restaking-withdrawal-credentials-handler.d.ts +1549 -5281
  65. package/dist/contracts/handlers/non-restaking-withdrawal-credentials-handler.js +2 -2
  66. package/dist/contracts/handlers/nucleus-accountant-handler.cjs +1 -1
  67. package/dist/contracts/handlers/nucleus-accountant-handler.d.ts +1549 -5281
  68. package/dist/contracts/handlers/nucleus-accountant-handler.js +1 -1
  69. package/dist/contracts/handlers/nucleus-atomic-queue-handler.cjs +1 -1
  70. package/dist/contracts/handlers/nucleus-atomic-queue-handler.d.ts +1549 -5281
  71. package/dist/contracts/handlers/nucleus-atomic-queue-handler.js +2 -2
  72. package/dist/contracts/handlers/nucleus-boring-vault-handler.cjs +1 -1
  73. package/dist/contracts/handlers/nucleus-boring-vault-handler.d.ts +1549 -5281
  74. package/dist/contracts/handlers/nucleus-boring-vault-handler.js +2 -2
  75. package/dist/contracts/handlers/nucleus-teller-handler.cjs +1 -1
  76. package/dist/contracts/handlers/nucleus-teller-handler.d.ts +1549 -5281
  77. package/dist/contracts/handlers/nucleus-teller-handler.js +2 -2
  78. package/dist/contracts/handlers/puf-locker-handler.cjs +1 -1
  79. package/dist/contracts/handlers/puf-locker-handler.d.ts +1549 -5281
  80. package/dist/contracts/handlers/puf-locker-handler.js +2 -2
  81. package/dist/contracts/handlers/puffer-depositor-handler.cjs +1 -1
  82. package/dist/contracts/handlers/puffer-depositor-handler.d.ts +1549 -5281
  83. package/dist/contracts/handlers/puffer-depositor-handler.js +2 -2
  84. package/dist/contracts/handlers/puffer-l2-depositor-handler.cjs +1 -1
  85. package/dist/contracts/handlers/puffer-l2-depositor-handler.d.ts +1549 -5281
  86. package/dist/contracts/handlers/puffer-l2-depositor-handler.js +2 -2
  87. package/dist/contracts/handlers/puffer-oracle-v2-handler.cjs +1 -1
  88. package/dist/contracts/handlers/puffer-oracle-v2-handler.d.ts +1549 -5281
  89. package/dist/contracts/handlers/puffer-oracle-v2-handler.js +2 -2
  90. package/dist/contracts/handlers/puffer-protocol-handler.cjs +1 -1
  91. package/dist/contracts/handlers/puffer-protocol-handler.d.ts +1549 -5281
  92. package/dist/contracts/handlers/puffer-protocol-handler.js +2 -2
  93. package/dist/contracts/handlers/puffer-vault-handler.cjs +1 -1
  94. package/dist/contracts/handlers/puffer-vault-handler.d.ts +1549 -5281
  95. package/dist/contracts/handlers/puffer-vault-handler.js +2 -2
  96. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.cjs +1 -1
  97. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.d.ts +1549 -5281
  98. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.js +2 -2
  99. package/dist/contracts/handlers/validator-ticket-handler.cjs +1 -1
  100. package/dist/contracts/handlers/validator-ticket-handler.d.ts +1549 -5281
  101. package/dist/contracts/handlers/validator-ticket-handler.js +2 -2
  102. package/dist/contracts/handlers/vl-puffer-handler.cjs +1 -1
  103. package/dist/contracts/handlers/vl-puffer-handler.d.ts +1549 -5281
  104. package/dist/contracts/handlers/vl-puffer-handler.js +2 -2
  105. package/dist/contracts/tokens.cjs +1 -1
  106. package/dist/contracts/tokens.js +1 -1
  107. package/dist/contracts/vaults-addresses.cjs +1 -1
  108. package/dist/contracts/vaults-addresses.js +1 -1
  109. package/dist/{getContract-Cgkj3G1g.cjs → getContract-BL-M-dQc.cjs} +2 -2
  110. package/dist/{getContract-Cgkj3G1g.cjs.map → getContract-BL-M-dQc.cjs.map} +1 -1
  111. package/dist/{getContract-Dxh0At3n.js → getContract-BVdsHXdp.js} +11 -11
  112. package/dist/{getContract-Dxh0At3n.js.map → getContract-BVdsHXdp.js.map} +1 -1
  113. package/dist/http-BtVgpo6v.cjs +5 -0
  114. package/dist/http-BtVgpo6v.cjs.map +1 -0
  115. package/dist/{http-Clq2Hoy9.js → http-CJGQ2e7o.js} +1687 -1533
  116. package/dist/http-CJGQ2e7o.js.map +1 -0
  117. package/dist/{localBatchGatewayRequest-Dm7yXllz.js → localBatchGatewayRequest-BchhbxQ2.js} +18 -18
  118. package/dist/{localBatchGatewayRequest-Dm7yXllz.js.map → localBatchGatewayRequest-BchhbxQ2.js.map} +1 -1
  119. package/dist/{localBatchGatewayRequest-CuvkLo7E.cjs → localBatchGatewayRequest-Bz0YuhIJ.cjs} +2 -2
  120. package/dist/{localBatchGatewayRequest-CuvkLo7E.cjs.map → localBatchGatewayRequest-Bz0YuhIJ.cjs.map} +1 -1
  121. package/dist/main.cjs +1 -1
  122. package/dist/main.js +1 -1
  123. package/dist/{secp256k1-BbMQ_WWG.js → secp256k1-Bm3EstvG.js} +62 -62
  124. package/dist/{secp256k1-BbMQ_WWG.js.map → secp256k1-Bm3EstvG.js.map} +1 -1
  125. package/dist/{secp256k1-DrUar53F.cjs → secp256k1-cRXUqGNw.cjs} +2 -2
  126. package/dist/{secp256k1-DrUar53F.cjs.map → secp256k1-cRXUqGNw.cjs.map} +1 -1
  127. package/dist/utils/version.cjs +1 -1
  128. package/dist/utils/version.js +1 -1
  129. package/dist/writeContract-D9xqoPDa.js +3527 -0
  130. package/dist/writeContract-D9xqoPDa.js.map +1 -0
  131. package/dist/writeContract-Gli_t0c1.cjs +6 -0
  132. package/dist/writeContract-Gli_t0c1.cjs.map +1 -0
  133. package/package.json +13 -13
  134. package/dist/ccip-BTVr5-VZ.js +0 -150
  135. package/dist/ccip-BTVr5-VZ.js.map +0 -1
  136. package/dist/ccip-DNgt9tzv.cjs +0 -2
  137. package/dist/ccip-DNgt9tzv.cjs.map +0 -1
  138. package/dist/constants-CUYeD71n.js +0 -2491
  139. package/dist/constants-CUYeD71n.js.map +0 -1
  140. package/dist/constants-Dhpa19or.cjs +0 -8
  141. package/dist/constants-Dhpa19or.cjs.map +0 -1
  142. package/dist/http-C-TIpf-V.cjs +0 -5
  143. package/dist/http-C-TIpf-V.cjs.map +0 -1
  144. package/dist/http-Clq2Hoy9.js.map +0 -1
  145. package/dist/writeContract-Bq8HaVjW.js +0 -4618
  146. package/dist/writeContract-Bq8HaVjW.js.map +0 -1
  147. package/dist/writeContract-PoCaxmyT.cjs +0 -36
  148. package/dist/writeContract-PoCaxmyT.cjs.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const R=require("../constants-Dhpa19or.cjs"),g=require("../http-C-TIpf-V.cjs"),E=require("../writeContract-PoCaxmyT.cjs");function S(n,e={}){const{key:l="custom",methods:h,name:i="Custom Provider",retryDelay:w}=e;return({retryCount:p})=>g.createTransport({key:l,methods:h,name:i,request:n.request.bind(n),retryCount:e.retryCount??p,retryDelay:w,type:"custom"})}function v(n,e={}){const{key:l="fallback",name:h="Fallback",rank:i=!1,shouldThrow:w=P,retryCount:p,retryDelay:q}=e;return(({chain:d,pollingInterval:_=4e3,timeout:o,...T})=>{let u=n,b=()=>{};const x=g.createTransport({key:l,name:h,async request({method:t,params:r}){let y;const f=async(a=0)=>{const m=u[a]({...T,chain:d,retryCount:0,timeout:o});try{const s=await m.request({method:t,params:r});return b({method:t,params:r,response:s,transport:m,status:"success"}),s}catch(s){if(b({error:s,method:t,params:r,transport:m,status:"error"}),w(s)||a===u.length-1||(y??=u.slice(a+1).some(c=>{const{include:C,exclude:M}=c({chain:d}).config.methods||{};return C?C.includes(t):M?!M.includes(t):!0}),!y))throw s;return f(a+1)}};return f()},retryCount:p,retryDelay:q,type:"fallback"},{onResponse:t=>b=t,transports:u.map(t=>t({chain:d,retryCount:0}))});if(i){const t=typeof i=="object"?i:{};j({chain:d,interval:t.interval??_,onTransports:r=>u=r,ping:t.ping,sampleCount:t.sampleCount,timeout:t.timeout,transports:u,weights:t.weights})}return x})}function P(n){return!!("code"in n&&typeof n.code=="number"&&(n.code===E.TransactionRejectedRpcError.code||n.code===E.UserRejectedRequestError.code||R.ExecutionRevertedError.nodeMessage.test(n.message)||n.code===5e3))}function j({chain:n,interval:e=4e3,onTransports:l,ping:h,sampleCount:i=10,timeout:w=1e3,transports:p,weights:q={}}){const{stability:d=.7,latency:_=.3}=q,o=[],T=async()=>{const u=await Promise.all(p.map(async t=>{const r=t({chain:n,retryCount:0,timeout:w}),y=Date.now();let f,a;try{await(h?h({transport:r}):r.request({method:"net_listening"})),a=1}catch{a=0}finally{f=Date.now()}return{latency:f-y,success:a}}));o.push(u),o.length>i&&o.shift();const b=Math.max(...o.map(t=>Math.max(...t.map(({latency:r})=>r)))),x=p.map((t,r)=>{const y=o.map(c=>c[r].latency),a=1-y.reduce((c,C)=>c+C,0)/y.length/b,m=o.map(c=>c[r].success),s=m.reduce((c,C)=>c+C,0)/m.length;return s===0?[0,r]:[_*a+d*s,r]}).sort((t,r)=>r[0]-t[0]);l(x.map(([,t])=>p[t])),await E.wait(e),T()};T()}class k{static createPublicClient(e){return g.createPublicClient({chain:R.VIEM_CHAINS[e.chain],transport:k.extractTransportConfig(e)})}static createWalletClient(e){return g.createWalletClient({chain:R.VIEM_CHAINS[e.chain],transport:k.extractTransportConfig(e)})}static extractTransportConfig(e){return"rpcUrls"in e?v(e.rpcUrls.map(l=>g.http(l))):S(e.provider,e.config)}}exports.PufferClientHelpers=k;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("../constants-PXB3A4Yl.cjs"),g=require("../http-BtVgpo6v.cjs"),k=require("../writeContract-Gli_t0c1.cjs");function M(n,e={}){const{key:l="custom",methods:d,name:i="Custom Provider",retryDelay:w}=e;return({retryCount:p})=>g.createTransport({key:l,methods:d,name:i,request:n.request.bind(n),retryCount:e.retryCount??p,retryDelay:w,type:"custom"})}function v(n,e={}){const{key:l="fallback",name:d="Fallback",rank:i=!1,shouldThrow:w=P,retryCount:p,retryDelay:_}=e;return(({chain:h,pollingInterval:x=4e3,timeout:o,...T})=>{let u=n,b=()=>{};const S=g.createTransport({key:l,name:d,async request({method:t,params:r}){let y;const f=async(a=0)=>{const m=u[a]({...T,chain:h,retryCount:0,timeout:o});try{const s=await m.request({method:t,params:r});return b({method:t,params:r,response:s,transport:m,status:"success"}),s}catch(s){if(b({error:s,method:t,params:r,transport:m,status:"error"}),w(s)||a===u.length-1||(y??=u.slice(a+1).some(c=>{const{include:C,exclude:R}=c({chain:h}).config.methods||{};return C?C.includes(t):R?!R.includes(t):!0}),!y))throw s;return f(a+1)}};return f()},retryCount:p,retryDelay:_,type:"fallback"},{onResponse:t=>b=t,transports:u.map(t=>t({chain:h,retryCount:0}))});if(i){const t=typeof i=="object"?i:{};W({chain:h,interval:t.interval??x,onTransports:r=>u=r,ping:t.ping,sampleCount:t.sampleCount,timeout:t.timeout,transports:u,weights:t.weights})}return S})}function P(n){return!!("code"in n&&typeof n.code=="number"&&(n.code===k.TransactionRejectedRpcError.code||n.code===k.UserRejectedRequestError.code||n.code===k.WalletConnectSessionSettlementError.code||E.ExecutionRevertedError.nodeMessage.test(n.message)||n.code===5e3))}function W({chain:n,interval:e=4e3,onTransports:l,ping:d,sampleCount:i=10,timeout:w=1e3,transports:p,weights:_={}}){const{stability:h=.7,latency:x=.3}=_,o=[],T=async()=>{const u=await Promise.all(p.map(async t=>{const r=t({chain:n,retryCount:0,timeout:w}),y=Date.now();let f,a;try{await(d?d({transport:r}):r.request({method:"net_listening"})),a=1}catch{a=0}finally{f=Date.now()}return{latency:f-y,success:a}}));o.push(u),o.length>i&&o.shift();const b=Math.max(...o.map(t=>Math.max(...t.map(({latency:r})=>r)))),S=p.map((t,r)=>{const y=o.map(c=>c[r].latency),a=1-y.reduce((c,C)=>c+C,0)/y.length/b,m=o.map(c=>c[r].success),s=m.reduce((c,C)=>c+C,0)/m.length;return s===0?[0,r]:[x*a+h*s,r]}).sort((t,r)=>r[0]-t[0]);l(S.map(([,t])=>p[t])),await k.wait(e),T()};T()}class q{static createPublicClient(e){return g.createPublicClient({chain:E.VIEM_CHAINS[e.chain],transport:q.extractTransportConfig(e)})}static createWalletClient(e){return g.createWalletClient({chain:E.VIEM_CHAINS[e.chain],transport:q.extractTransportConfig(e)})}static extractTransportConfig(e){return"rpcUrls"in e?v(e.rpcUrls.map(l=>g.http(l))):M(e.provider,e.config)}}exports.PufferClientHelpers=q;
2
2
  //# sourceMappingURL=puffer-client-helpers.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"puffer-client-helpers.cjs","sources":["../../node_modules/.pnpm/viem@2.45.0_typescript@5.9.3_zod@4.1.12/node_modules/viem/_esm/clients/transports/custom.js","../../node_modules/.pnpm/viem@2.45.0_typescript@5.9.3_zod@4.1.12/node_modules/viem/_esm/clients/transports/fallback.js","../../lib/api/puffer-client-helpers.ts"],"sourcesContent":["import { createTransport, } from './createTransport.js';\n/**\n * @description Creates a custom transport given an EIP-1193 compliant `request` attribute.\n */\nexport function custom(provider, config = {}) {\n const { key = 'custom', methods, name = 'Custom Provider', retryDelay, } = config;\n return ({ retryCount: defaultRetryCount }) => createTransport({\n key,\n methods,\n name,\n request: provider.request.bind(provider),\n retryCount: config.retryCount ?? defaultRetryCount,\n retryDelay,\n type: 'custom',\n });\n}\n//# sourceMappingURL=custom.js.map","import { ExecutionRevertedError } from '../../errors/node.js';\nimport { TransactionRejectedRpcError, UserRejectedRequestError, } from '../../errors/rpc.js';\nimport { wait } from '../../utils/wait.js';\nimport { createTransport, } from './createTransport.js';\nexport function fallback(transports_, config = {}) {\n const { key = 'fallback', name = 'Fallback', rank = false, shouldThrow: shouldThrow_ = shouldThrow, retryCount, retryDelay, } = config;\n return (({ chain, pollingInterval = 4_000, timeout, ...rest }) => {\n let transports = transports_;\n let onResponse = () => { };\n const transport = createTransport({\n key,\n name,\n async request({ method, params }) {\n let includes;\n const fetch = async (i = 0) => {\n const transport = transports[i]({\n ...rest,\n chain,\n retryCount: 0,\n timeout,\n });\n try {\n const response = await transport.request({\n method,\n params,\n });\n onResponse({\n method,\n params: params,\n response,\n transport,\n status: 'success',\n });\n return response;\n }\n catch (err) {\n onResponse({\n error: err,\n method,\n params: params,\n transport,\n status: 'error',\n });\n if (shouldThrow_(err))\n throw err;\n // If we've reached the end of the fallbacks, throw the error.\n if (i === transports.length - 1)\n throw err;\n // Check if at least one other transport includes the method\n includes ??= transports.slice(i + 1).some((transport) => {\n const { include, exclude } = transport({ chain }).config.methods || {};\n if (include)\n return include.includes(method);\n if (exclude)\n return !exclude.includes(method);\n return true;\n });\n if (!includes)\n throw err;\n // Otherwise, try the next fallback.\n return fetch(i + 1);\n }\n };\n return fetch();\n },\n retryCount,\n retryDelay,\n type: 'fallback',\n }, {\n onResponse: (fn) => (onResponse = fn),\n transports: transports.map((fn) => fn({ chain, retryCount: 0 })),\n });\n if (rank) {\n const rankOptions = (typeof rank === 'object' ? rank : {});\n rankTransports({\n chain,\n interval: rankOptions.interval ?? pollingInterval,\n onTransports: (transports_) => (transports = transports_),\n ping: rankOptions.ping,\n sampleCount: rankOptions.sampleCount,\n timeout: rankOptions.timeout,\n transports,\n weights: rankOptions.weights,\n });\n }\n return transport;\n });\n}\nexport function shouldThrow(error) {\n if ('code' in error && typeof error.code === 'number') {\n if (error.code === TransactionRejectedRpcError.code ||\n error.code === UserRejectedRequestError.code ||\n ExecutionRevertedError.nodeMessage.test(error.message) ||\n error.code === 5000 // CAIP UserRejectedRequestError\n )\n return true;\n }\n return false;\n}\n/** @internal */\nexport function rankTransports({ chain, interval = 4_000, onTransports, ping, sampleCount = 10, timeout = 1_000, transports, weights = {}, }) {\n const { stability: stabilityWeight = 0.7, latency: latencyWeight = 0.3 } = weights;\n const samples = [];\n const rankTransports_ = async () => {\n // 1. Take a sample from each Transport.\n const sample = await Promise.all(transports.map(async (transport) => {\n const transport_ = transport({ chain, retryCount: 0, timeout });\n const start = Date.now();\n let end;\n let success;\n try {\n await (ping\n ? ping({ transport: transport_ })\n : transport_.request({ method: 'net_listening' }));\n success = 1;\n }\n catch {\n success = 0;\n }\n finally {\n end = Date.now();\n }\n const latency = end - start;\n return { latency, success };\n }));\n // 2. Store the sample. If we have more than `sampleCount` samples, remove\n // the oldest sample.\n samples.push(sample);\n if (samples.length > sampleCount)\n samples.shift();\n // 3. Calculate the max latency from samples.\n const maxLatency = Math.max(...samples.map((sample) => Math.max(...sample.map(({ latency }) => latency))));\n // 4. Calculate the score for each Transport.\n const scores = transports\n .map((_, i) => {\n const latencies = samples.map((sample) => sample[i].latency);\n const meanLatency = latencies.reduce((acc, latency) => acc + latency, 0) /\n latencies.length;\n const latencyScore = 1 - meanLatency / maxLatency;\n const successes = samples.map((sample) => sample[i].success);\n const stabilityScore = successes.reduce((acc, success) => acc + success, 0) /\n successes.length;\n if (stabilityScore === 0)\n return [0, i];\n return [\n latencyWeight * latencyScore + stabilityWeight * stabilityScore,\n i,\n ];\n })\n .sort((a, b) => b[0] - a[0]);\n // 5. Sort the Transports by score.\n onTransports(scores.map(([, i]) => transports[i]));\n // 6. Wait, and then rank again.\n await wait(interval);\n rankTransports_();\n };\n rankTransports_();\n}\n//# sourceMappingURL=fallback.js.map","import {\n CustomTransportConfig,\n createPublicClient as createPublicClientViem,\n createWalletClient as createWalletClientViem,\n http,\n fallback,\n custom,\n Transport,\n PublicClient,\n WalletClient,\n} from 'viem';\nimport { Chain, VIEM_CHAINS } from '../chains/constants';\nimport { TransportProvider } from '../utils/types';\n\nexport type ClientConfig = {\n chain: Chain;\n} & (\n | { rpcUrls: string[] }\n | { provider: TransportProvider; config?: CustomTransportConfig }\n);\n\n/**\n * Helper methods for the main `PufferClient`.\n */\nexport class PufferClientHelpers {\n /**\n * Helper method for creating a public client based on the\n * configuration\n *\n * @param config Configuration for the public client.\n * @returns The public client created with viem.\n */\n public static createPublicClient(config: ClientConfig): PublicClient {\n return createPublicClientViem({\n chain: VIEM_CHAINS[config.chain],\n transport: PufferClientHelpers.extractTransportConfig(config),\n });\n }\n\n /**\n * Helper method for creating a wallet client based on the\n * configuration\n *\n * @param config Configuration for the wallet client.\n * @returns The wallet client created with viem.\n */\n public static createWalletClient(config: ClientConfig): WalletClient {\n return createWalletClientViem({\n chain: VIEM_CHAINS[config.chain],\n transport: PufferClientHelpers.extractTransportConfig(config),\n });\n }\n\n private static extractTransportConfig(config: ClientConfig): Transport {\n if ('rpcUrls' in config) {\n return fallback(config.rpcUrls.map((url) => http(url)));\n } else {\n return custom(config.provider, config.config);\n }\n }\n}\n"],"names":["custom","provider","config","key","methods","name","retryDelay","defaultRetryCount","createTransport","fallback","transports_","rank","shouldThrow_","shouldThrow","retryCount","chain","pollingInterval","timeout","rest","transports","onResponse","transport","method","params","includes","fetch","i","response","err","include","exclude","fn","rankOptions","rankTransports","error","TransactionRejectedRpcError","UserRejectedRequestError","ExecutionRevertedError","interval","onTransports","ping","sampleCount","weights","stabilityWeight","latencyWeight","samples","rankTransports_","sample","transport_","start","end","success","maxLatency","latency","scores","_","latencies","latencyScore","acc","successes","stabilityScore","a","b","wait","PufferClientHelpers","createPublicClientViem","VIEM_CHAINS","createWalletClientViem","url","http"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"puffer-client-helpers.cjs","sources":["../../node_modules/.pnpm/viem@2.53.1_typescript@5.9.3_zod@4.1.12/node_modules/viem/_esm/clients/transports/custom.js","../../node_modules/.pnpm/viem@2.53.1_typescript@5.9.3_zod@4.1.12/node_modules/viem/_esm/clients/transports/fallback.js","../../lib/api/puffer-client-helpers.ts"],"sourcesContent":["import { createTransport, } from './createTransport.js';\n/**\n * @description Creates a custom transport given an EIP-1193 compliant `request` attribute.\n */\nexport function custom(provider, config = {}) {\n const { key = 'custom', methods, name = 'Custom Provider', retryDelay, } = config;\n return ({ retryCount: defaultRetryCount }) => createTransport({\n key,\n methods,\n name,\n request: provider.request.bind(provider),\n retryCount: config.retryCount ?? defaultRetryCount,\n retryDelay,\n type: 'custom',\n });\n}\n//# sourceMappingURL=custom.js.map","import { ExecutionRevertedError } from '../../errors/node.js';\nimport { TransactionRejectedRpcError, UserRejectedRequestError, WalletConnectSessionSettlementError, } from '../../errors/rpc.js';\nimport { wait } from '../../utils/wait.js';\nimport { createTransport, } from './createTransport.js';\nexport function fallback(transports_, config = {}) {\n const { key = 'fallback', name = 'Fallback', rank = false, shouldThrow: shouldThrow_ = shouldThrow, retryCount, retryDelay, } = config;\n return (({ chain, pollingInterval = 4_000, timeout, ...rest }) => {\n let transports = transports_;\n let onResponse = () => { };\n const transport = createTransport({\n key,\n name,\n async request({ method, params }) {\n let includes;\n const fetch = async (i = 0) => {\n const transport = transports[i]({\n ...rest,\n chain,\n retryCount: 0,\n timeout,\n });\n try {\n const response = await transport.request({\n method,\n params,\n });\n onResponse({\n method,\n params: params,\n response,\n transport,\n status: 'success',\n });\n return response;\n }\n catch (err) {\n onResponse({\n error: err,\n method,\n params: params,\n transport,\n status: 'error',\n });\n if (shouldThrow_(err))\n throw err;\n // If we've reached the end of the fallbacks, throw the error.\n if (i === transports.length - 1)\n throw err;\n // Check if at least one other transport includes the method\n includes ??= transports.slice(i + 1).some((transport) => {\n const { include, exclude } = transport({ chain }).config.methods || {};\n if (include)\n return include.includes(method);\n if (exclude)\n return !exclude.includes(method);\n return true;\n });\n if (!includes)\n throw err;\n // Otherwise, try the next fallback.\n return fetch(i + 1);\n }\n };\n return fetch();\n },\n retryCount,\n retryDelay,\n type: 'fallback',\n }, {\n onResponse: (fn) => (onResponse = fn),\n transports: transports.map((fn) => fn({ chain, retryCount: 0 })),\n });\n if (rank) {\n const rankOptions = (typeof rank === 'object' ? rank : {});\n rankTransports({\n chain,\n interval: rankOptions.interval ?? pollingInterval,\n onTransports: (transports_) => (transports = transports_),\n ping: rankOptions.ping,\n sampleCount: rankOptions.sampleCount,\n timeout: rankOptions.timeout,\n transports,\n weights: rankOptions.weights,\n });\n }\n return transport;\n });\n}\nexport function shouldThrow(error) {\n if ('code' in error && typeof error.code === 'number') {\n if (error.code === TransactionRejectedRpcError.code ||\n error.code === UserRejectedRequestError.code ||\n error.code === WalletConnectSessionSettlementError.code ||\n ExecutionRevertedError.nodeMessage.test(error.message) ||\n error.code === 5000 // CAIP UserRejectedRequestError\n )\n return true;\n }\n return false;\n}\n/** @internal */\nexport function rankTransports({ chain, interval = 4_000, onTransports, ping, sampleCount = 10, timeout = 1_000, transports, weights = {}, }) {\n const { stability: stabilityWeight = 0.7, latency: latencyWeight = 0.3 } = weights;\n const samples = [];\n const rankTransports_ = async () => {\n // 1. Take a sample from each Transport.\n const sample = await Promise.all(transports.map(async (transport) => {\n const transport_ = transport({ chain, retryCount: 0, timeout });\n const start = Date.now();\n let end;\n let success;\n try {\n await (ping\n ? ping({ transport: transport_ })\n : transport_.request({ method: 'net_listening' }));\n success = 1;\n }\n catch {\n success = 0;\n }\n finally {\n end = Date.now();\n }\n const latency = end - start;\n return { latency, success };\n }));\n // 2. Store the sample. If we have more than `sampleCount` samples, remove\n // the oldest sample.\n samples.push(sample);\n if (samples.length > sampleCount)\n samples.shift();\n // 3. Calculate the max latency from samples.\n const maxLatency = Math.max(...samples.map((sample) => Math.max(...sample.map(({ latency }) => latency))));\n // 4. Calculate the score for each Transport.\n const scores = transports\n .map((_, i) => {\n const latencies = samples.map((sample) => sample[i].latency);\n const meanLatency = latencies.reduce((acc, latency) => acc + latency, 0) /\n latencies.length;\n const latencyScore = 1 - meanLatency / maxLatency;\n const successes = samples.map((sample) => sample[i].success);\n const stabilityScore = successes.reduce((acc, success) => acc + success, 0) /\n successes.length;\n if (stabilityScore === 0)\n return [0, i];\n return [\n latencyWeight * latencyScore + stabilityWeight * stabilityScore,\n i,\n ];\n })\n .sort((a, b) => b[0] - a[0]);\n // 5. Sort the Transports by score.\n onTransports(scores.map(([, i]) => transports[i]));\n // 6. Wait, and then rank again.\n await wait(interval);\n rankTransports_();\n };\n rankTransports_();\n}\n//# sourceMappingURL=fallback.js.map","import {\n CustomTransportConfig,\n createPublicClient as createPublicClientViem,\n createWalletClient as createWalletClientViem,\n http,\n fallback,\n custom,\n Transport,\n PublicClient,\n WalletClient,\n} from 'viem';\nimport { Chain, VIEM_CHAINS } from '../chains/constants';\nimport { TransportProvider } from '../utils/types';\n\nexport type ClientConfig = {\n chain: Chain;\n} & (\n | { rpcUrls: string[] }\n | { provider: TransportProvider; config?: CustomTransportConfig }\n);\n\n/**\n * Helper methods for the main `PufferClient`.\n */\nexport class PufferClientHelpers {\n /**\n * Helper method for creating a public client based on the\n * configuration\n *\n * @param config Configuration for the public client.\n * @returns The public client created with viem.\n */\n public static createPublicClient(config: ClientConfig): PublicClient {\n return createPublicClientViem({\n chain: VIEM_CHAINS[config.chain],\n transport: PufferClientHelpers.extractTransportConfig(config),\n });\n }\n\n /**\n * Helper method for creating a wallet client based on the\n * configuration\n *\n * @param config Configuration for the wallet client.\n * @returns The wallet client created with viem.\n */\n public static createWalletClient(config: ClientConfig): WalletClient {\n return createWalletClientViem({\n chain: VIEM_CHAINS[config.chain],\n transport: PufferClientHelpers.extractTransportConfig(config),\n });\n }\n\n private static extractTransportConfig(config: ClientConfig): Transport {\n if ('rpcUrls' in config) {\n return fallback(config.rpcUrls.map((url) => http(url)));\n } else {\n return custom(config.provider, config.config);\n }\n }\n}\n"],"names":["custom","provider","config","key","methods","name","retryDelay","defaultRetryCount","createTransport","fallback","transports_","rank","shouldThrow_","shouldThrow","retryCount","chain","pollingInterval","timeout","rest","transports","onResponse","transport","method","params","includes","fetch","i","response","err","include","exclude","fn","rankOptions","rankTransports","error","TransactionRejectedRpcError","UserRejectedRequestError","WalletConnectSessionSettlementError","ExecutionRevertedError","interval","onTransports","ping","sampleCount","weights","stabilityWeight","latencyWeight","samples","rankTransports_","sample","transport_","start","end","success","maxLatency","latency","scores","_","latencies","latencyScore","acc","successes","stabilityScore","a","b","wait","PufferClientHelpers","createPublicClientViem","VIEM_CHAINS","createWalletClientViem","url","http"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -1,11 +1,11 @@
1
- import { E as v, V as q } from "../constants-CUYeD71n.js";
2
- import { b as E, a as D, c as M, h as U } from "../http-Clq2Hoy9.js";
3
- import { T as W, U as j, m as L } from "../writeContract-Bq8HaVjW.js";
1
+ import { E as W, V as _ } from "../constants-C-rrOSfg.js";
2
+ import { b as q, a as S, c as v, h as D } from "../http-CJGQ2e7o.js";
3
+ import { T as M, U, W as j, f as L } from "../writeContract-D9xqoPDa.js";
4
4
  function P(s, e = {}) {
5
- const { key: l = "custom", methods: h, name: i = "Custom Provider", retryDelay: w } = e;
6
- return ({ retryCount: p }) => E({
7
- key: l,
8
- methods: h,
5
+ const { key: u = "custom", methods: f, name: i = "Custom Provider", retryDelay: w } = e;
6
+ return ({ retryCount: p }) => q({
7
+ key: u,
8
+ methods: f,
9
9
  name: i,
10
10
  request: s.request.bind(s),
11
11
  retryCount: e.retryCount ?? p,
@@ -13,20 +13,20 @@ function P(s, e = {}) {
13
13
  type: "custom"
14
14
  });
15
15
  }
16
- function S(s, e = {}) {
17
- const { key: l = "fallback", name: h = "Fallback", rank: i = !1, shouldThrow: w = I, retryCount: p, retryDelay: g } = e;
18
- return (({ chain: f, pollingInterval: k = 4e3, timeout: o, ...T }) => {
19
- let u = s, b = () => {
16
+ function I(s, e = {}) {
17
+ const { key: u = "fallback", name: f = "Fallback", rank: i = !1, shouldThrow: w = V, retryCount: p, retryDelay: g } = e;
18
+ return (({ chain: h, pollingInterval: k = 4e3, timeout: o, ...T }) => {
19
+ let l = s, b = () => {
20
20
  };
21
- const x = E({
22
- key: l,
23
- name: h,
21
+ const x = q({
22
+ key: u,
23
+ name: f,
24
24
  async request({ method: t, params: r }) {
25
25
  let m;
26
26
  const d = async (a = 0) => {
27
- const y = u[a]({
27
+ const y = l[a]({
28
28
  ...T,
29
- chain: f,
29
+ chain: h,
30
30
  retryCount: 0,
31
31
  timeout: o
32
32
  });
@@ -49,9 +49,9 @@ function S(s, e = {}) {
49
49
  params: r,
50
50
  transport: y,
51
51
  status: "error"
52
- }), w(n) || a === u.length - 1 || (m ??= u.slice(a + 1).some((c) => {
53
- const { include: C, exclude: _ } = c({ chain: f }).config.methods || {};
54
- return C ? C.includes(t) : _ ? !_.includes(t) : !0;
52
+ }), w(n) || a === l.length - 1 || (m ??= l.slice(a + 1).some((c) => {
53
+ const { include: C, exclude: R } = c({ chain: h }).config.methods || {};
54
+ return C ? C.includes(t) : R ? !R.includes(t) : !0;
55
55
  }), !m))
56
56
  throw n;
57
57
  return d(a + 1);
@@ -64,34 +64,34 @@ function S(s, e = {}) {
64
64
  type: "fallback"
65
65
  }, {
66
66
  onResponse: (t) => b = t,
67
- transports: u.map((t) => t({ chain: f, retryCount: 0 }))
67
+ transports: l.map((t) => t({ chain: h, retryCount: 0 }))
68
68
  });
69
69
  if (i) {
70
70
  const t = typeof i == "object" ? i : {};
71
- V({
72
- chain: f,
71
+ A({
72
+ chain: h,
73
73
  interval: t.interval ?? k,
74
- onTransports: (r) => u = r,
74
+ onTransports: (r) => l = r,
75
75
  ping: t.ping,
76
76
  sampleCount: t.sampleCount,
77
77
  timeout: t.timeout,
78
- transports: u,
78
+ transports: l,
79
79
  weights: t.weights
80
80
  });
81
81
  }
82
82
  return x;
83
83
  });
84
84
  }
85
- function I(s) {
86
- return !!("code" in s && typeof s.code == "number" && (s.code === W.code || s.code === j.code || v.nodeMessage.test(s.message) || s.code === 5e3));
85
+ function V(s) {
86
+ return !!("code" in s && typeof s.code == "number" && (s.code === M.code || s.code === U.code || s.code === j.code || W.nodeMessage.test(s.message) || s.code === 5e3));
87
87
  }
88
- function V({ chain: s, interval: e = 4e3, onTransports: l, ping: h, sampleCount: i = 10, timeout: w = 1e3, transports: p, weights: g = {} }) {
89
- const { stability: f = 0.7, latency: k = 0.3 } = g, o = [], T = async () => {
90
- const u = await Promise.all(p.map(async (t) => {
88
+ function A({ chain: s, interval: e = 4e3, onTransports: u, ping: f, sampleCount: i = 10, timeout: w = 1e3, transports: p, weights: g = {} }) {
89
+ const { stability: h = 0.7, latency: k = 0.3 } = g, o = [], T = async () => {
90
+ const l = await Promise.all(p.map(async (t) => {
91
91
  const r = t({ chain: s, retryCount: 0, timeout: w }), m = Date.now();
92
92
  let d, a;
93
93
  try {
94
- await (h ? h({ transport: r }) : r.request({ method: "net_listening" })), a = 1;
94
+ await (f ? f({ transport: r }) : r.request({ method: "net_listening" })), a = 1;
95
95
  } catch {
96
96
  a = 0;
97
97
  } finally {
@@ -99,19 +99,19 @@ function V({ chain: s, interval: e = 4e3, onTransports: l, ping: h, sampleCount:
99
99
  }
100
100
  return { latency: d - m, success: a };
101
101
  }));
102
- o.push(u), o.length > i && o.shift();
102
+ o.push(l), o.length > i && o.shift();
103
103
  const b = Math.max(...o.map((t) => Math.max(...t.map(({ latency: r }) => r)))), x = p.map((t, r) => {
104
104
  const m = o.map((c) => c[r].latency), a = 1 - m.reduce((c, C) => c + C, 0) / m.length / b, y = o.map((c) => c[r].success), n = y.reduce((c, C) => c + C, 0) / y.length;
105
105
  return n === 0 ? [0, r] : [
106
- k * a + f * n,
106
+ k * a + h * n,
107
107
  r
108
108
  ];
109
109
  }).sort((t, r) => r[0] - t[0]);
110
- l(x.map(([, t]) => p[t])), await L(e), T();
110
+ u(x.map(([, t]) => p[t])), await L(e), T();
111
111
  };
112
112
  T();
113
113
  }
114
- class R {
114
+ class E {
115
115
  /**
116
116
  * Helper method for creating a public client based on the
117
117
  * configuration
@@ -120,9 +120,9 @@ class R {
120
120
  * @returns The public client created with viem.
121
121
  */
122
122
  static createPublicClient(e) {
123
- return D({
124
- chain: q[e.chain],
125
- transport: R.extractTransportConfig(e)
123
+ return S({
124
+ chain: _[e.chain],
125
+ transport: E.extractTransportConfig(e)
126
126
  });
127
127
  }
128
128
  /**
@@ -133,16 +133,16 @@ class R {
133
133
  * @returns The wallet client created with viem.
134
134
  */
135
135
  static createWalletClient(e) {
136
- return M({
137
- chain: q[e.chain],
138
- transport: R.extractTransportConfig(e)
136
+ return v({
137
+ chain: _[e.chain],
138
+ transport: E.extractTransportConfig(e)
139
139
  });
140
140
  }
141
141
  static extractTransportConfig(e) {
142
- return "rpcUrls" in e ? S(e.rpcUrls.map((l) => U(l))) : P(e.provider, e.config);
142
+ return "rpcUrls" in e ? I(e.rpcUrls.map((u) => D(u))) : P(e.provider, e.config);
143
143
  }
144
144
  }
145
145
  export {
146
- R as PufferClientHelpers
146
+ E as PufferClientHelpers
147
147
  };
148
148
  //# sourceMappingURL=puffer-client-helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"puffer-client-helpers.js","sources":["../../node_modules/.pnpm/viem@2.45.0_typescript@5.9.3_zod@4.1.12/node_modules/viem/_esm/clients/transports/custom.js","../../node_modules/.pnpm/viem@2.45.0_typescript@5.9.3_zod@4.1.12/node_modules/viem/_esm/clients/transports/fallback.js","../../lib/api/puffer-client-helpers.ts"],"sourcesContent":["import { createTransport, } from './createTransport.js';\n/**\n * @description Creates a custom transport given an EIP-1193 compliant `request` attribute.\n */\nexport function custom(provider, config = {}) {\n const { key = 'custom', methods, name = 'Custom Provider', retryDelay, } = config;\n return ({ retryCount: defaultRetryCount }) => createTransport({\n key,\n methods,\n name,\n request: provider.request.bind(provider),\n retryCount: config.retryCount ?? defaultRetryCount,\n retryDelay,\n type: 'custom',\n });\n}\n//# sourceMappingURL=custom.js.map","import { ExecutionRevertedError } from '../../errors/node.js';\nimport { TransactionRejectedRpcError, UserRejectedRequestError, } from '../../errors/rpc.js';\nimport { wait } from '../../utils/wait.js';\nimport { createTransport, } from './createTransport.js';\nexport function fallback(transports_, config = {}) {\n const { key = 'fallback', name = 'Fallback', rank = false, shouldThrow: shouldThrow_ = shouldThrow, retryCount, retryDelay, } = config;\n return (({ chain, pollingInterval = 4_000, timeout, ...rest }) => {\n let transports = transports_;\n let onResponse = () => { };\n const transport = createTransport({\n key,\n name,\n async request({ method, params }) {\n let includes;\n const fetch = async (i = 0) => {\n const transport = transports[i]({\n ...rest,\n chain,\n retryCount: 0,\n timeout,\n });\n try {\n const response = await transport.request({\n method,\n params,\n });\n onResponse({\n method,\n params: params,\n response,\n transport,\n status: 'success',\n });\n return response;\n }\n catch (err) {\n onResponse({\n error: err,\n method,\n params: params,\n transport,\n status: 'error',\n });\n if (shouldThrow_(err))\n throw err;\n // If we've reached the end of the fallbacks, throw the error.\n if (i === transports.length - 1)\n throw err;\n // Check if at least one other transport includes the method\n includes ??= transports.slice(i + 1).some((transport) => {\n const { include, exclude } = transport({ chain }).config.methods || {};\n if (include)\n return include.includes(method);\n if (exclude)\n return !exclude.includes(method);\n return true;\n });\n if (!includes)\n throw err;\n // Otherwise, try the next fallback.\n return fetch(i + 1);\n }\n };\n return fetch();\n },\n retryCount,\n retryDelay,\n type: 'fallback',\n }, {\n onResponse: (fn) => (onResponse = fn),\n transports: transports.map((fn) => fn({ chain, retryCount: 0 })),\n });\n if (rank) {\n const rankOptions = (typeof rank === 'object' ? rank : {});\n rankTransports({\n chain,\n interval: rankOptions.interval ?? pollingInterval,\n onTransports: (transports_) => (transports = transports_),\n ping: rankOptions.ping,\n sampleCount: rankOptions.sampleCount,\n timeout: rankOptions.timeout,\n transports,\n weights: rankOptions.weights,\n });\n }\n return transport;\n });\n}\nexport function shouldThrow(error) {\n if ('code' in error && typeof error.code === 'number') {\n if (error.code === TransactionRejectedRpcError.code ||\n error.code === UserRejectedRequestError.code ||\n ExecutionRevertedError.nodeMessage.test(error.message) ||\n error.code === 5000 // CAIP UserRejectedRequestError\n )\n return true;\n }\n return false;\n}\n/** @internal */\nexport function rankTransports({ chain, interval = 4_000, onTransports, ping, sampleCount = 10, timeout = 1_000, transports, weights = {}, }) {\n const { stability: stabilityWeight = 0.7, latency: latencyWeight = 0.3 } = weights;\n const samples = [];\n const rankTransports_ = async () => {\n // 1. Take a sample from each Transport.\n const sample = await Promise.all(transports.map(async (transport) => {\n const transport_ = transport({ chain, retryCount: 0, timeout });\n const start = Date.now();\n let end;\n let success;\n try {\n await (ping\n ? ping({ transport: transport_ })\n : transport_.request({ method: 'net_listening' }));\n success = 1;\n }\n catch {\n success = 0;\n }\n finally {\n end = Date.now();\n }\n const latency = end - start;\n return { latency, success };\n }));\n // 2. Store the sample. If we have more than `sampleCount` samples, remove\n // the oldest sample.\n samples.push(sample);\n if (samples.length > sampleCount)\n samples.shift();\n // 3. Calculate the max latency from samples.\n const maxLatency = Math.max(...samples.map((sample) => Math.max(...sample.map(({ latency }) => latency))));\n // 4. Calculate the score for each Transport.\n const scores = transports\n .map((_, i) => {\n const latencies = samples.map((sample) => sample[i].latency);\n const meanLatency = latencies.reduce((acc, latency) => acc + latency, 0) /\n latencies.length;\n const latencyScore = 1 - meanLatency / maxLatency;\n const successes = samples.map((sample) => sample[i].success);\n const stabilityScore = successes.reduce((acc, success) => acc + success, 0) /\n successes.length;\n if (stabilityScore === 0)\n return [0, i];\n return [\n latencyWeight * latencyScore + stabilityWeight * stabilityScore,\n i,\n ];\n })\n .sort((a, b) => b[0] - a[0]);\n // 5. Sort the Transports by score.\n onTransports(scores.map(([, i]) => transports[i]));\n // 6. Wait, and then rank again.\n await wait(interval);\n rankTransports_();\n };\n rankTransports_();\n}\n//# sourceMappingURL=fallback.js.map","import {\n CustomTransportConfig,\n createPublicClient as createPublicClientViem,\n createWalletClient as createWalletClientViem,\n http,\n fallback,\n custom,\n Transport,\n PublicClient,\n WalletClient,\n} from 'viem';\nimport { Chain, VIEM_CHAINS } from '../chains/constants';\nimport { TransportProvider } from '../utils/types';\n\nexport type ClientConfig = {\n chain: Chain;\n} & (\n | { rpcUrls: string[] }\n | { provider: TransportProvider; config?: CustomTransportConfig }\n);\n\n/**\n * Helper methods for the main `PufferClient`.\n */\nexport class PufferClientHelpers {\n /**\n * Helper method for creating a public client based on the\n * configuration\n *\n * @param config Configuration for the public client.\n * @returns The public client created with viem.\n */\n public static createPublicClient(config: ClientConfig): PublicClient {\n return createPublicClientViem({\n chain: VIEM_CHAINS[config.chain],\n transport: PufferClientHelpers.extractTransportConfig(config),\n });\n }\n\n /**\n * Helper method for creating a wallet client based on the\n * configuration\n *\n * @param config Configuration for the wallet client.\n * @returns The wallet client created with viem.\n */\n public static createWalletClient(config: ClientConfig): WalletClient {\n return createWalletClientViem({\n chain: VIEM_CHAINS[config.chain],\n transport: PufferClientHelpers.extractTransportConfig(config),\n });\n }\n\n private static extractTransportConfig(config: ClientConfig): Transport {\n if ('rpcUrls' in config) {\n return fallback(config.rpcUrls.map((url) => http(url)));\n } else {\n return custom(config.provider, config.config);\n }\n }\n}\n"],"names":["custom","provider","config","key","methods","name","retryDelay","defaultRetryCount","createTransport","fallback","transports_","rank","shouldThrow_","shouldThrow","retryCount","chain","pollingInterval","timeout","rest","transports","onResponse","transport","method","params","includes","fetch","i","response","err","include","exclude","fn","rankOptions","rankTransports","error","TransactionRejectedRpcError","UserRejectedRequestError","ExecutionRevertedError","interval","onTransports","ping","sampleCount","weights","stabilityWeight","latencyWeight","samples","rankTransports_","sample","transport_","start","end","success","maxLatency","latency","scores","_","latencies","latencyScore","acc","successes","stabilityScore","a","b","wait","PufferClientHelpers","createPublicClientViem","VIEM_CHAINS","createWalletClientViem","url","http"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"puffer-client-helpers.js","sources":["../../node_modules/.pnpm/viem@2.53.1_typescript@5.9.3_zod@4.1.12/node_modules/viem/_esm/clients/transports/custom.js","../../node_modules/.pnpm/viem@2.53.1_typescript@5.9.3_zod@4.1.12/node_modules/viem/_esm/clients/transports/fallback.js","../../lib/api/puffer-client-helpers.ts"],"sourcesContent":["import { createTransport, } from './createTransport.js';\n/**\n * @description Creates a custom transport given an EIP-1193 compliant `request` attribute.\n */\nexport function custom(provider, config = {}) {\n const { key = 'custom', methods, name = 'Custom Provider', retryDelay, } = config;\n return ({ retryCount: defaultRetryCount }) => createTransport({\n key,\n methods,\n name,\n request: provider.request.bind(provider),\n retryCount: config.retryCount ?? defaultRetryCount,\n retryDelay,\n type: 'custom',\n });\n}\n//# sourceMappingURL=custom.js.map","import { ExecutionRevertedError } from '../../errors/node.js';\nimport { TransactionRejectedRpcError, UserRejectedRequestError, WalletConnectSessionSettlementError, } from '../../errors/rpc.js';\nimport { wait } from '../../utils/wait.js';\nimport { createTransport, } from './createTransport.js';\nexport function fallback(transports_, config = {}) {\n const { key = 'fallback', name = 'Fallback', rank = false, shouldThrow: shouldThrow_ = shouldThrow, retryCount, retryDelay, } = config;\n return (({ chain, pollingInterval = 4_000, timeout, ...rest }) => {\n let transports = transports_;\n let onResponse = () => { };\n const transport = createTransport({\n key,\n name,\n async request({ method, params }) {\n let includes;\n const fetch = async (i = 0) => {\n const transport = transports[i]({\n ...rest,\n chain,\n retryCount: 0,\n timeout,\n });\n try {\n const response = await transport.request({\n method,\n params,\n });\n onResponse({\n method,\n params: params,\n response,\n transport,\n status: 'success',\n });\n return response;\n }\n catch (err) {\n onResponse({\n error: err,\n method,\n params: params,\n transport,\n status: 'error',\n });\n if (shouldThrow_(err))\n throw err;\n // If we've reached the end of the fallbacks, throw the error.\n if (i === transports.length - 1)\n throw err;\n // Check if at least one other transport includes the method\n includes ??= transports.slice(i + 1).some((transport) => {\n const { include, exclude } = transport({ chain }).config.methods || {};\n if (include)\n return include.includes(method);\n if (exclude)\n return !exclude.includes(method);\n return true;\n });\n if (!includes)\n throw err;\n // Otherwise, try the next fallback.\n return fetch(i + 1);\n }\n };\n return fetch();\n },\n retryCount,\n retryDelay,\n type: 'fallback',\n }, {\n onResponse: (fn) => (onResponse = fn),\n transports: transports.map((fn) => fn({ chain, retryCount: 0 })),\n });\n if (rank) {\n const rankOptions = (typeof rank === 'object' ? rank : {});\n rankTransports({\n chain,\n interval: rankOptions.interval ?? pollingInterval,\n onTransports: (transports_) => (transports = transports_),\n ping: rankOptions.ping,\n sampleCount: rankOptions.sampleCount,\n timeout: rankOptions.timeout,\n transports,\n weights: rankOptions.weights,\n });\n }\n return transport;\n });\n}\nexport function shouldThrow(error) {\n if ('code' in error && typeof error.code === 'number') {\n if (error.code === TransactionRejectedRpcError.code ||\n error.code === UserRejectedRequestError.code ||\n error.code === WalletConnectSessionSettlementError.code ||\n ExecutionRevertedError.nodeMessage.test(error.message) ||\n error.code === 5000 // CAIP UserRejectedRequestError\n )\n return true;\n }\n return false;\n}\n/** @internal */\nexport function rankTransports({ chain, interval = 4_000, onTransports, ping, sampleCount = 10, timeout = 1_000, transports, weights = {}, }) {\n const { stability: stabilityWeight = 0.7, latency: latencyWeight = 0.3 } = weights;\n const samples = [];\n const rankTransports_ = async () => {\n // 1. Take a sample from each Transport.\n const sample = await Promise.all(transports.map(async (transport) => {\n const transport_ = transport({ chain, retryCount: 0, timeout });\n const start = Date.now();\n let end;\n let success;\n try {\n await (ping\n ? ping({ transport: transport_ })\n : transport_.request({ method: 'net_listening' }));\n success = 1;\n }\n catch {\n success = 0;\n }\n finally {\n end = Date.now();\n }\n const latency = end - start;\n return { latency, success };\n }));\n // 2. Store the sample. If we have more than `sampleCount` samples, remove\n // the oldest sample.\n samples.push(sample);\n if (samples.length > sampleCount)\n samples.shift();\n // 3. Calculate the max latency from samples.\n const maxLatency = Math.max(...samples.map((sample) => Math.max(...sample.map(({ latency }) => latency))));\n // 4. Calculate the score for each Transport.\n const scores = transports\n .map((_, i) => {\n const latencies = samples.map((sample) => sample[i].latency);\n const meanLatency = latencies.reduce((acc, latency) => acc + latency, 0) /\n latencies.length;\n const latencyScore = 1 - meanLatency / maxLatency;\n const successes = samples.map((sample) => sample[i].success);\n const stabilityScore = successes.reduce((acc, success) => acc + success, 0) /\n successes.length;\n if (stabilityScore === 0)\n return [0, i];\n return [\n latencyWeight * latencyScore + stabilityWeight * stabilityScore,\n i,\n ];\n })\n .sort((a, b) => b[0] - a[0]);\n // 5. Sort the Transports by score.\n onTransports(scores.map(([, i]) => transports[i]));\n // 6. Wait, and then rank again.\n await wait(interval);\n rankTransports_();\n };\n rankTransports_();\n}\n//# sourceMappingURL=fallback.js.map","import {\n CustomTransportConfig,\n createPublicClient as createPublicClientViem,\n createWalletClient as createWalletClientViem,\n http,\n fallback,\n custom,\n Transport,\n PublicClient,\n WalletClient,\n} from 'viem';\nimport { Chain, VIEM_CHAINS } from '../chains/constants';\nimport { TransportProvider } from '../utils/types';\n\nexport type ClientConfig = {\n chain: Chain;\n} & (\n | { rpcUrls: string[] }\n | { provider: TransportProvider; config?: CustomTransportConfig }\n);\n\n/**\n * Helper methods for the main `PufferClient`.\n */\nexport class PufferClientHelpers {\n /**\n * Helper method for creating a public client based on the\n * configuration\n *\n * @param config Configuration for the public client.\n * @returns The public client created with viem.\n */\n public static createPublicClient(config: ClientConfig): PublicClient {\n return createPublicClientViem({\n chain: VIEM_CHAINS[config.chain],\n transport: PufferClientHelpers.extractTransportConfig(config),\n });\n }\n\n /**\n * Helper method for creating a wallet client based on the\n * configuration\n *\n * @param config Configuration for the wallet client.\n * @returns The wallet client created with viem.\n */\n public static createWalletClient(config: ClientConfig): WalletClient {\n return createWalletClientViem({\n chain: VIEM_CHAINS[config.chain],\n transport: PufferClientHelpers.extractTransportConfig(config),\n });\n }\n\n private static extractTransportConfig(config: ClientConfig): Transport {\n if ('rpcUrls' in config) {\n return fallback(config.rpcUrls.map((url) => http(url)));\n } else {\n return custom(config.provider, config.config);\n }\n }\n}\n"],"names":["custom","provider","config","key","methods","name","retryDelay","defaultRetryCount","createTransport","fallback","transports_","rank","shouldThrow_","shouldThrow","retryCount","chain","pollingInterval","timeout","rest","transports","onResponse","transport","method","params","includes","fetch","i","response","err","include","exclude","fn","rankOptions","rankTransports","error","TransactionRejectedRpcError","UserRejectedRequestError","WalletConnectSessionSettlementError","ExecutionRevertedError","interval","onTransports","ping","sampleCount","weights","stabilityWeight","latencyWeight","samples","rankTransports_","sample","transport_","start","end","success","maxLatency","latency","scores","_","latencies","latencyScore","acc","successes","stabilityScore","a","b","wait","PufferClientHelpers","createPublicClientViem","VIEM_CHAINS","createWalletClientViem","url","http"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../constants-Dhpa19or.cjs"),a=require("../contracts/handlers/puffer-vault-handler.cjs"),s=require("../contracts/handlers/puffer-depositor-handler.cjs"),u=require("../contracts/handlers/puffer-l2-depositor-handler.cjs"),c=require("../contracts/handlers/erc20-permit-handler.cjs"),o=require("../contracts/handlers/puf-locker-handler.cjs"),d=require("../contracts/handlers/l2-reward-manager-handler.cjs"),h=require("../contracts/handlers/l1-reward-manager-handler.cjs"),w=require("../contracts/handlers/puffer-withdrawal-manager-handler.cjs"),C=require("../contracts/handlers/nucleus-boring-vault-handler.cjs"),p=require("../contracts/handlers/nucleus-teller-handler.cjs"),_=require("../contracts/handlers/nucleus-accountant-handler.cjs"),H=require("../contracts/handlers/nucleus-atomic-queue-handler.cjs"),f=require("../contracts/handlers/mtw-carrot-handler.cjs"),g=require("../contracts/handlers/carrot-staking-handler.cjs"),b=require("../contracts/handlers/distributor-handler.cjs"),q=require("../contracts/handlers/concrete-vault-handler.cjs"),V=require("../contracts/handlers/validator-ticket-handler.cjs"),M=require("../contracts/handlers/puffer-oracle-v2-handler.cjs"),P=require("../contracts/handlers/puffer-protocol-handler.cjs"),R=require("../contracts/handlers/guardian-module-handler.cjs"),k=require("../contracts/handlers/institutional-vault-handler.cjs"),A=require("../contracts/handlers/institutional-access-manager-handler.cjs"),m=require("../contracts/handlers/lagoon-vault-handler.cjs"),v=require("../contracts/handlers/vl-puffer-handler.cjs"),L=require("../contracts/handlers/gauge-registry-handler.cjs"),T=require("../contracts/handlers/carrot-vesting-handler.cjs"),W=require("../contracts/handlers/non-restaking-withdrawal-credentials-handler.cjs"),t=require("../http-C-TIpf-V.cjs");class y{walletClient;publicClient;erc20Permit;vault;depositor;l2Depositor;pufLocker;l2RewardManager;l1RewardManager;pufferWithdrawalManager;nucleusBoringVault;nucleusTeller;nucleusAccountant;nucleusAtomicQueue;mtwCarrot;carrotStaker;distributor;concreteVault;validatorTicket;pufferOracleV2;pufferProtocol;guardianModule;institutionalVault;institutionalAccessManager;lagoonVault;vlPuffer;gaugeRegistry;carrotVesting;nonRestakingWithdrawalCredentials;constructor(e,r,n){const l=i.VIEM_CHAINS[e];this.walletClient=r??t.createWalletClient({chain:l,transport:t.http()}),this.publicClient=n??t.createPublicClient({chain:l,transport:t.http()}),this.erc20Permit=new c.ERC20PermitHandler(e,this.walletClient,this.publicClient),this.vault=new a.PufferVaultHandler(e,this.walletClient,this.publicClient),this.depositor=new s.PufferDepositorHandler(e,this.walletClient,this.publicClient),this.l2Depositor=new u.PufferL2DepositorHandler(e,this.walletClient,this.publicClient),this.pufLocker=new o.PufLockerHandler(e,this.walletClient,this.publicClient),this.l2RewardManager=new d.L2RewardManagerHandler(e,this.walletClient,this.publicClient),this.l1RewardManager=new h.L1RewardManagerHandler(e,this.walletClient,this.publicClient),this.pufferWithdrawalManager=new w.PufferWithdrawalManagerHandler(e,this.walletClient,this.publicClient),this.nucleusBoringVault=new C.NucleusBoringVaultHandler(e,this.walletClient,this.publicClient),this.nucleusTeller=new p.NucleusTellerHandler(e,this.walletClient,this.publicClient),this.nucleusAccountant=new _.NucleusAccountantHandler(e,this.walletClient,this.publicClient),this.nucleusAtomicQueue=new H.NucleusAtomicQueueHandler(e,this.walletClient,this.publicClient),this.mtwCarrot=new f.MtwCarrotHandler(e,this.walletClient,this.publicClient),this.carrotStaker=new g.CarrotStakingHandler(e,this.walletClient,this.publicClient),this.distributor=new b.DistributorHandler(e,this.walletClient,this.publicClient),this.concreteVault=new q.ConcreteVaultHandler(e,this.walletClient,this.publicClient),this.validatorTicket=new V.ValidatorTicketHandler(e,this.walletClient,this.publicClient),this.pufferOracleV2=new M.PufferOracleV2Handler(e,this.walletClient,this.publicClient),this.pufferProtocol=new P.PufferProtocolHandler(e,this.walletClient,this.publicClient),this.guardianModule=new R.GuardianModuleHandler(e,this.walletClient,this.publicClient),this.institutionalVault=new k.InstitutionalVaultHandler(e,this.walletClient,this.publicClient),this.institutionalAccessManager=new A.InstitutionalAccessManagerHandler(e,this.walletClient,this.publicClient),this.lagoonVault=new m.LagoonVaultHandler(e,this.walletClient,this.publicClient),this.vlPuffer=new v.VLPufferHandler(e,this.walletClient,this.publicClient),this.gaugeRegistry=new L.GaugeRegistryHandler(e,this.walletClient,this.publicClient),this.carrotVesting=new T.CarrotVestingHandler(e,this.walletClient,this.publicClient),this.nonRestakingWithdrawalCredentials=new W.NonRestakingWithdrawalCredentialsHandler(e,this.walletClient,this.publicClient)}async requestAddresses(){return await this.walletClient.requestAddresses()}}exports.PufferClient=y;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../constants-PXB3A4Yl.cjs"),a=require("../contracts/handlers/puffer-vault-handler.cjs"),s=require("../contracts/handlers/puffer-depositor-handler.cjs"),u=require("../contracts/handlers/puffer-l2-depositor-handler.cjs"),c=require("../contracts/handlers/erc20-permit-handler.cjs"),o=require("../contracts/handlers/puf-locker-handler.cjs"),d=require("../contracts/handlers/l2-reward-manager-handler.cjs"),h=require("../contracts/handlers/l1-reward-manager-handler.cjs"),w=require("../contracts/handlers/puffer-withdrawal-manager-handler.cjs"),C=require("../contracts/handlers/nucleus-boring-vault-handler.cjs"),p=require("../contracts/handlers/nucleus-teller-handler.cjs"),_=require("../contracts/handlers/nucleus-accountant-handler.cjs"),H=require("../contracts/handlers/nucleus-atomic-queue-handler.cjs"),f=require("../contracts/handlers/mtw-carrot-handler.cjs"),g=require("../contracts/handlers/carrot-staking-handler.cjs"),b=require("../contracts/handlers/distributor-handler.cjs"),q=require("../contracts/handlers/concrete-vault-handler.cjs"),V=require("../contracts/handlers/validator-ticket-handler.cjs"),M=require("../contracts/handlers/puffer-oracle-v2-handler.cjs"),P=require("../contracts/handlers/puffer-protocol-handler.cjs"),R=require("../contracts/handlers/guardian-module-handler.cjs"),k=require("../contracts/handlers/institutional-vault-handler.cjs"),A=require("../contracts/handlers/institutional-access-manager-handler.cjs"),m=require("../contracts/handlers/lagoon-vault-handler.cjs"),v=require("../contracts/handlers/vl-puffer-handler.cjs"),L=require("../contracts/handlers/gauge-registry-handler.cjs"),T=require("../contracts/handlers/carrot-vesting-handler.cjs"),W=require("../contracts/handlers/non-restaking-withdrawal-credentials-handler.cjs"),t=require("../http-BtVgpo6v.cjs");class y{walletClient;publicClient;erc20Permit;vault;depositor;l2Depositor;pufLocker;l2RewardManager;l1RewardManager;pufferWithdrawalManager;nucleusBoringVault;nucleusTeller;nucleusAccountant;nucleusAtomicQueue;mtwCarrot;carrotStaker;distributor;concreteVault;validatorTicket;pufferOracleV2;pufferProtocol;guardianModule;institutionalVault;institutionalAccessManager;lagoonVault;vlPuffer;gaugeRegistry;carrotVesting;nonRestakingWithdrawalCredentials;constructor(e,r,n){const l=i.VIEM_CHAINS[e];this.walletClient=r??t.createWalletClient({chain:l,transport:t.http()}),this.publicClient=n??t.createPublicClient({chain:l,transport:t.http()}),this.erc20Permit=new c.ERC20PermitHandler(e,this.walletClient,this.publicClient),this.vault=new a.PufferVaultHandler(e,this.walletClient,this.publicClient),this.depositor=new s.PufferDepositorHandler(e,this.walletClient,this.publicClient),this.l2Depositor=new u.PufferL2DepositorHandler(e,this.walletClient,this.publicClient),this.pufLocker=new o.PufLockerHandler(e,this.walletClient,this.publicClient),this.l2RewardManager=new d.L2RewardManagerHandler(e,this.walletClient,this.publicClient),this.l1RewardManager=new h.L1RewardManagerHandler(e,this.walletClient,this.publicClient),this.pufferWithdrawalManager=new w.PufferWithdrawalManagerHandler(e,this.walletClient,this.publicClient),this.nucleusBoringVault=new C.NucleusBoringVaultHandler(e,this.walletClient,this.publicClient),this.nucleusTeller=new p.NucleusTellerHandler(e,this.walletClient,this.publicClient),this.nucleusAccountant=new _.NucleusAccountantHandler(e,this.walletClient,this.publicClient),this.nucleusAtomicQueue=new H.NucleusAtomicQueueHandler(e,this.walletClient,this.publicClient),this.mtwCarrot=new f.MtwCarrotHandler(e,this.walletClient,this.publicClient),this.carrotStaker=new g.CarrotStakingHandler(e,this.walletClient,this.publicClient),this.distributor=new b.DistributorHandler(e,this.walletClient,this.publicClient),this.concreteVault=new q.ConcreteVaultHandler(e,this.walletClient,this.publicClient),this.validatorTicket=new V.ValidatorTicketHandler(e,this.walletClient,this.publicClient),this.pufferOracleV2=new M.PufferOracleV2Handler(e,this.walletClient,this.publicClient),this.pufferProtocol=new P.PufferProtocolHandler(e,this.walletClient,this.publicClient),this.guardianModule=new R.GuardianModuleHandler(e,this.walletClient,this.publicClient),this.institutionalVault=new k.InstitutionalVaultHandler(e,this.walletClient,this.publicClient),this.institutionalAccessManager=new A.InstitutionalAccessManagerHandler(e,this.walletClient,this.publicClient),this.lagoonVault=new m.LagoonVaultHandler(e,this.walletClient,this.publicClient),this.vlPuffer=new v.VLPufferHandler(e,this.walletClient,this.publicClient),this.gaugeRegistry=new L.GaugeRegistryHandler(e,this.walletClient,this.publicClient),this.carrotVesting=new T.CarrotVestingHandler(e,this.walletClient,this.publicClient),this.nonRestakingWithdrawalCredentials=new W.NonRestakingWithdrawalCredentialsHandler(e,this.walletClient,this.publicClient)}async requestAddresses(){return await this.walletClient.requestAddresses()}}exports.PufferClient=y;
2
2
  //# sourceMappingURL=puffer-client.cjs.map
@@ -1,4 +1,4 @@
1
- import { V as n } from "../constants-CUYeD71n.js";
1
+ import { V as n } from "../constants-C-rrOSfg.js";
2
2
  import { PufferVaultHandler as a } from "../contracts/handlers/puffer-vault-handler.js";
3
3
  import { PufferDepositorHandler as s } from "../contracts/handlers/puffer-depositor-handler.js";
4
4
  import { PufferL2DepositorHandler as o } from "../contracts/handlers/puffer-l2-depositor-handler.js";
@@ -26,7 +26,7 @@ import { VLPufferHandler as W } from "../contracts/handlers/vl-puffer-handler.js
26
26
  import { GaugeRegistryHandler as N } from "../contracts/handlers/gauge-registry-handler.js";
27
27
  import { CarrotVestingHandler as T } from "../contracts/handlers/carrot-vesting-handler.js";
28
28
  import { NonRestakingWithdrawalCredentialsHandler as D } from "../contracts/handlers/non-restaking-withdrawal-credentials-handler.js";
29
- import { c as y, h as l, a as I } from "../http-Clq2Hoy9.js";
29
+ import { c as y, h as l, a as I } from "../http-CJGQ2e7o.js";
30
30
  class Ct {
31
31
  walletClient;
32
32
  publicClient;
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("./writeContract-Gli_t0c1.cjs"),e=require("./constants-PXB3A4Yl.cjs"),w=require("./localBatchGatewayRequest-Bz0YuhIJ.cjs");class L extends e.BaseError{constructor({callbackSelector:a,cause:r,data:f,extraData:o,sender:i,urls:s}){super(r.shortMessage||"An error occurred while fetching for an offchain result.",{cause:r,metaMessages:[...r.metaMessages||[],r.metaMessages?.length?"":[],"Offchain Gateway Call:",s&&[" Gateway URL(s):",...s.map(n=>` ${e.getUrl(n)}`)],` Sender: ${i}`,` Data: ${f}`,` Callback selector: ${a}`,` Extra data: ${o}`].flat(),name:"OffchainLookupError"})}}class R extends e.BaseError{constructor({result:a,url:r}){super("Offchain gateway response is malformed. Response data must be a hex value.",{metaMessages:[`Gateway URL: ${e.getUrl(r)}`,`Response: ${e.stringify(a)}`],name:"OffchainLookupResponseMalformedError"})}}class S extends e.BaseError{constructor({sender:a,to:r}){super("Reverted sender address does not match target contract address (`to`).",{metaMessages:[`Contract address: ${r}`,`OffchainLookup sender address: ${a}`],name:"OffchainLookupSenderMismatchError"})}}const x="0x556f1830",m={name:"OffchainLookup",type:"error",inputs:[{name:"sender",type:"address"},{name:"urls",type:"string[]"},{name:"callData",type:"bytes"},{name:"callbackFunction",type:"bytes4"},{name:"extraData",type:"bytes"}]};async function A(l,{blockNumber:a,blockTag:r,data:f,requestOptions:o,to:i}){const{args:s}=e.decodeErrorResult({data:f,abi:[m]}),[n,d,h,t,c]=s,{ccipRead:g}=l,y=g&&typeof g?.request=="function"?g.request:b;try{if(!p.isAddressEqual(i,n))throw new S({sender:n,to:i});const u=d.includes(w.localBatchGatewayUrl)?await w.localBatchGatewayRequest({data:h,ccipRequest:k=>y({...k,requestOptions:o})}):await y({data:h,requestOptions:o,sender:n,urls:d}),{data:E}=await p.call(l,{blockNumber:a,blockTag:r,data:e.concat([t,e.encodeAbiParameters([{type:"bytes"},{type:"bytes"}],[u,c])]),requestOptions:o,to:i});return E}catch(u){throw o?.signal?.aborted?e.getAbortError(o.signal):e.isAbortError(u)?u:new L({callbackSelector:t,cause:u,data:f,extraData:c,sender:n,urls:d})}}async function b({data:l,requestOptions:a,sender:r,urls:f}){let o=new Error("An unknown error occurred.");for(let i=0;i<f.length;i++){if(a?.signal?.aborted)throw e.getAbortError(a.signal);const s=f[i],n=s.includes("{data}")?"GET":"POST",d=n==="POST"?{data:l,sender:r}:void 0,h=n==="POST"?{"Content-Type":"application/json"}:{};try{const t=await fetch(s.replace("{sender}",r.toLowerCase()).replace("{data}",l),{body:JSON.stringify(d),headers:h,method:n,...a?.signal?{signal:a.signal}:{}});let c;if(t.headers.get("Content-Type")?.startsWith("application/json")?c=(await t.json()).data:c=await t.text(),!t.ok){o=new p.HttpRequestError({body:d,details:c?.error?e.stringify(c.error):t.statusText,headers:t.headers,status:t.status,url:s});continue}if(!e.isHex(c)){o=new R({result:c,url:s});continue}return c}catch(t){if(a?.signal?.aborted)throw e.getAbortError(a.signal);if(e.isAbortError(t))throw t;o=new p.HttpRequestError({body:d,details:t.message,url:s})}}throw o}exports.ccipRequest=b;exports.offchainLookup=A;exports.offchainLookupAbiItem=m;exports.offchainLookupSignature=x;
2
+ //# sourceMappingURL=ccip-DLz1DupU.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ccip-DLz1DupU.cjs","sources":["../node_modules/.pnpm/viem@2.53.1_typescript@5.9.3_zod@4.1.12/node_modules/viem/_esm/errors/ccip.js","../node_modules/.pnpm/viem@2.53.1_typescript@5.9.3_zod@4.1.12/node_modules/viem/_esm/utils/ccip.js"],"sourcesContent":["import { stringify } from '../utils/stringify.js';\nimport { BaseError } from './base.js';\nimport { getUrl } from './utils.js';\nexport class OffchainLookupError extends BaseError {\n constructor({ callbackSelector, cause, data, extraData, sender, urls, }) {\n super(cause.shortMessage ||\n 'An error occurred while fetching for an offchain result.', {\n cause,\n metaMessages: [\n ...(cause.metaMessages || []),\n cause.metaMessages?.length ? '' : [],\n 'Offchain Gateway Call:',\n urls && [\n ' Gateway URL(s):',\n ...urls.map((url) => ` ${getUrl(url)}`),\n ],\n ` Sender: ${sender}`,\n ` Data: ${data}`,\n ` Callback selector: ${callbackSelector}`,\n ` Extra data: ${extraData}`,\n ].flat(),\n name: 'OffchainLookupError',\n });\n }\n}\nexport class OffchainLookupResponseMalformedError extends BaseError {\n constructor({ result, url }) {\n super('Offchain gateway response is malformed. Response data must be a hex value.', {\n metaMessages: [\n `Gateway URL: ${getUrl(url)}`,\n `Response: ${stringify(result)}`,\n ],\n name: 'OffchainLookupResponseMalformedError',\n });\n }\n}\nexport class OffchainLookupSenderMismatchError extends BaseError {\n constructor({ sender, to }) {\n super('Reverted sender address does not match target contract address (`to`).', {\n metaMessages: [\n `Contract address: ${to}`,\n `OffchainLookup sender address: ${sender}`,\n ],\n name: 'OffchainLookupSenderMismatchError',\n });\n }\n}\n//# sourceMappingURL=ccip.js.map","import { call } from '../actions/public/call.js';\nimport { OffchainLookupError, OffchainLookupResponseMalformedError, OffchainLookupSenderMismatchError, } from '../errors/ccip.js';\nimport { HttpRequestError, } from '../errors/request.js';\nimport { getAbortError, isAbortError } from '../errors/utils.js';\nimport { decodeErrorResult } from './abi/decodeErrorResult.js';\nimport { encodeAbiParameters } from './abi/encodeAbiParameters.js';\nimport { isAddressEqual } from './address/isAddressEqual.js';\nimport { concat } from './data/concat.js';\nimport { isHex } from './data/isHex.js';\nimport { localBatchGatewayRequest, localBatchGatewayUrl, } from './ens/localBatchGatewayRequest.js';\nimport { stringify } from './stringify.js';\nexport const offchainLookupSignature = '0x556f1830';\nexport const offchainLookupAbiItem = {\n name: 'OffchainLookup',\n type: 'error',\n inputs: [\n {\n name: 'sender',\n type: 'address',\n },\n {\n name: 'urls',\n type: 'string[]',\n },\n {\n name: 'callData',\n type: 'bytes',\n },\n {\n name: 'callbackFunction',\n type: 'bytes4',\n },\n {\n name: 'extraData',\n type: 'bytes',\n },\n ],\n};\nexport async function offchainLookup(client, { blockNumber, blockTag, data, requestOptions, to, }) {\n const { args } = decodeErrorResult({\n data,\n abi: [offchainLookupAbiItem],\n });\n const [sender, urls, callData, callbackSelector, extraData] = args;\n const { ccipRead } = client;\n const ccipRequest_ = ccipRead && typeof ccipRead?.request === 'function'\n ? ccipRead.request\n : ccipRequest;\n try {\n if (!isAddressEqual(to, sender))\n throw new OffchainLookupSenderMismatchError({ sender, to });\n const result = urls.includes(localBatchGatewayUrl)\n ? await localBatchGatewayRequest({\n data: callData,\n ccipRequest: (parameters) => ccipRequest_({ ...parameters, requestOptions }),\n })\n : await ccipRequest_({ data: callData, requestOptions, sender, urls });\n const { data: data_ } = await call(client, {\n blockNumber,\n blockTag,\n data: concat([\n callbackSelector,\n encodeAbiParameters([{ type: 'bytes' }, { type: 'bytes' }], [result, extraData]),\n ]),\n requestOptions,\n to,\n });\n return data_;\n }\n catch (err) {\n if (requestOptions?.signal?.aborted)\n throw getAbortError(requestOptions.signal);\n if (isAbortError(err))\n throw err;\n throw new OffchainLookupError({\n callbackSelector,\n cause: err,\n data,\n extraData,\n sender,\n urls,\n });\n }\n}\nexport async function ccipRequest({ data, requestOptions, sender, urls, }) {\n let error = new Error('An unknown error occurred.');\n for (let i = 0; i < urls.length; i++) {\n if (requestOptions?.signal?.aborted)\n throw getAbortError(requestOptions.signal);\n const url = urls[i];\n const method = url.includes('{data}') ? 'GET' : 'POST';\n const body = method === 'POST' ? { data, sender } : undefined;\n const headers = method === 'POST' ? { 'Content-Type': 'application/json' } : {};\n try {\n const response = await fetch(url.replace('{sender}', sender.toLowerCase()).replace('{data}', data), {\n body: JSON.stringify(body),\n headers,\n method,\n ...(requestOptions?.signal ? { signal: requestOptions.signal } : {}),\n });\n let result;\n if (response.headers.get('Content-Type')?.startsWith('application/json')) {\n result = (await response.json()).data;\n }\n else {\n result = (await response.text());\n }\n if (!response.ok) {\n error = new HttpRequestError({\n body,\n details: result?.error\n ? stringify(result.error)\n : response.statusText,\n headers: response.headers,\n status: response.status,\n url,\n });\n continue;\n }\n if (!isHex(result)) {\n error = new OffchainLookupResponseMalformedError({\n result,\n url,\n });\n continue;\n }\n return result;\n }\n catch (err) {\n if (requestOptions?.signal?.aborted)\n throw getAbortError(requestOptions.signal);\n if (isAbortError(err))\n throw err;\n error = new HttpRequestError({\n body,\n details: err.message,\n url,\n });\n }\n }\n throw error;\n}\n//# sourceMappingURL=ccip.js.map"],"names":["OffchainLookupError","BaseError","callbackSelector","cause","data","extraData","sender","urls","url","getUrl","OffchainLookupResponseMalformedError","result","stringify","OffchainLookupSenderMismatchError","to","offchainLookupSignature","offchainLookupAbiItem","offchainLookup","client","blockNumber","blockTag","requestOptions","args","decodeErrorResult","callData","ccipRead","ccipRequest_","ccipRequest","isAddressEqual","localBatchGatewayUrl","localBatchGatewayRequest","parameters","data_","call","concat","encodeAbiParameters","err","getAbortError","isAbortError","error","method","body","headers","response","HttpRequestError","isHex"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -0,0 +1,158 @@
1
+ import { i as R, d as x, H as y } from "./writeContract-D9xqoPDa.js";
2
+ import { B as m, g as w, d as b, e as M, f as S, i as $, j as p, k, l as A } from "./constants-C-rrOSfg.js";
3
+ import { l as T, a as C } from "./localBatchGatewayRequest-BchhbxQ2.js";
4
+ class G extends m {
5
+ constructor({ callbackSelector: a, cause: t, data: l, extraData: r, sender: c, urls: s }) {
6
+ super(t.shortMessage || "An error occurred while fetching for an offchain result.", {
7
+ cause: t,
8
+ metaMessages: [
9
+ ...t.metaMessages || [],
10
+ t.metaMessages?.length ? "" : [],
11
+ "Offchain Gateway Call:",
12
+ s && [
13
+ " Gateway URL(s):",
14
+ ...s.map((o) => ` ${w(o)}`)
15
+ ],
16
+ ` Sender: ${c}`,
17
+ ` Data: ${l}`,
18
+ ` Callback selector: ${a}`,
19
+ ` Extra data: ${r}`
20
+ ].flat(),
21
+ name: "OffchainLookupError"
22
+ });
23
+ }
24
+ }
25
+ class D extends m {
26
+ constructor({ result: a, url: t }) {
27
+ super("Offchain gateway response is malformed. Response data must be a hex value.", {
28
+ metaMessages: [
29
+ `Gateway URL: ${w(t)}`,
30
+ `Response: ${b(a)}`
31
+ ],
32
+ name: "OffchainLookupResponseMalformedError"
33
+ });
34
+ }
35
+ }
36
+ class O extends m {
37
+ constructor({ sender: a, to: t }) {
38
+ super("Reverted sender address does not match target contract address (`to`).", {
39
+ metaMessages: [
40
+ `Contract address: ${t}`,
41
+ `OffchainLookup sender address: ${a}`
42
+ ],
43
+ name: "OffchainLookupSenderMismatchError"
44
+ });
45
+ }
46
+ }
47
+ const v = "0x556f1830", j = {
48
+ name: "OffchainLookup",
49
+ type: "error",
50
+ inputs: [
51
+ {
52
+ name: "sender",
53
+ type: "address"
54
+ },
55
+ {
56
+ name: "urls",
57
+ type: "string[]"
58
+ },
59
+ {
60
+ name: "callData",
61
+ type: "bytes"
62
+ },
63
+ {
64
+ name: "callbackFunction",
65
+ type: "bytes4"
66
+ },
67
+ {
68
+ name: "extraData",
69
+ type: "bytes"
70
+ }
71
+ ]
72
+ };
73
+ async function _(i, { blockNumber: a, blockTag: t, data: l, requestOptions: r, to: c }) {
74
+ const { args: s } = M({
75
+ data: l,
76
+ abi: [j]
77
+ }), [o, d, h, e, n] = s, { ccipRead: u } = i, g = u && typeof u?.request == "function" ? u.request : B;
78
+ try {
79
+ if (!R(c, o))
80
+ throw new O({ sender: o, to: c });
81
+ const f = d.includes(T) ? await C({
82
+ data: h,
83
+ ccipRequest: (L) => g({ ...L, requestOptions: r })
84
+ }) : await g({ data: h, requestOptions: r, sender: o, urls: d }), { data: E } = await x(i, {
85
+ blockNumber: a,
86
+ blockTag: t,
87
+ data: S([
88
+ e,
89
+ $([{ type: "bytes" }, { type: "bytes" }], [f, n])
90
+ ]),
91
+ requestOptions: r,
92
+ to: c
93
+ });
94
+ return E;
95
+ } catch (f) {
96
+ throw r?.signal?.aborted ? p(r.signal) : k(f) ? f : new G({
97
+ callbackSelector: e,
98
+ cause: f,
99
+ data: l,
100
+ extraData: n,
101
+ sender: o,
102
+ urls: d
103
+ });
104
+ }
105
+ }
106
+ async function B({ data: i, requestOptions: a, sender: t, urls: l }) {
107
+ let r = new Error("An unknown error occurred.");
108
+ for (let c = 0; c < l.length; c++) {
109
+ if (a?.signal?.aborted)
110
+ throw p(a.signal);
111
+ const s = l[c], o = s.includes("{data}") ? "GET" : "POST", d = o === "POST" ? { data: i, sender: t } : void 0, h = o === "POST" ? { "Content-Type": "application/json" } : {};
112
+ try {
113
+ const e = await fetch(s.replace("{sender}", t.toLowerCase()).replace("{data}", i), {
114
+ body: JSON.stringify(d),
115
+ headers: h,
116
+ method: o,
117
+ ...a?.signal ? { signal: a.signal } : {}
118
+ });
119
+ let n;
120
+ if (e.headers.get("Content-Type")?.startsWith("application/json") ? n = (await e.json()).data : n = await e.text(), !e.ok) {
121
+ r = new y({
122
+ body: d,
123
+ details: n?.error ? b(n.error) : e.statusText,
124
+ headers: e.headers,
125
+ status: e.status,
126
+ url: s
127
+ });
128
+ continue;
129
+ }
130
+ if (!A(n)) {
131
+ r = new D({
132
+ result: n,
133
+ url: s
134
+ });
135
+ continue;
136
+ }
137
+ return n;
138
+ } catch (e) {
139
+ if (a?.signal?.aborted)
140
+ throw p(a.signal);
141
+ if (k(e))
142
+ throw e;
143
+ r = new y({
144
+ body: d,
145
+ details: e.message,
146
+ url: s
147
+ });
148
+ }
149
+ }
150
+ throw r;
151
+ }
152
+ export {
153
+ B as ccipRequest,
154
+ _ as offchainLookup,
155
+ j as offchainLookupAbiItem,
156
+ v as offchainLookupSignature
157
+ };
158
+ //# sourceMappingURL=ccip-oHxlHOaH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ccip-oHxlHOaH.js","sources":["../node_modules/.pnpm/viem@2.53.1_typescript@5.9.3_zod@4.1.12/node_modules/viem/_esm/errors/ccip.js","../node_modules/.pnpm/viem@2.53.1_typescript@5.9.3_zod@4.1.12/node_modules/viem/_esm/utils/ccip.js"],"sourcesContent":["import { stringify } from '../utils/stringify.js';\nimport { BaseError } from './base.js';\nimport { getUrl } from './utils.js';\nexport class OffchainLookupError extends BaseError {\n constructor({ callbackSelector, cause, data, extraData, sender, urls, }) {\n super(cause.shortMessage ||\n 'An error occurred while fetching for an offchain result.', {\n cause,\n metaMessages: [\n ...(cause.metaMessages || []),\n cause.metaMessages?.length ? '' : [],\n 'Offchain Gateway Call:',\n urls && [\n ' Gateway URL(s):',\n ...urls.map((url) => ` ${getUrl(url)}`),\n ],\n ` Sender: ${sender}`,\n ` Data: ${data}`,\n ` Callback selector: ${callbackSelector}`,\n ` Extra data: ${extraData}`,\n ].flat(),\n name: 'OffchainLookupError',\n });\n }\n}\nexport class OffchainLookupResponseMalformedError extends BaseError {\n constructor({ result, url }) {\n super('Offchain gateway response is malformed. Response data must be a hex value.', {\n metaMessages: [\n `Gateway URL: ${getUrl(url)}`,\n `Response: ${stringify(result)}`,\n ],\n name: 'OffchainLookupResponseMalformedError',\n });\n }\n}\nexport class OffchainLookupSenderMismatchError extends BaseError {\n constructor({ sender, to }) {\n super('Reverted sender address does not match target contract address (`to`).', {\n metaMessages: [\n `Contract address: ${to}`,\n `OffchainLookup sender address: ${sender}`,\n ],\n name: 'OffchainLookupSenderMismatchError',\n });\n }\n}\n//# sourceMappingURL=ccip.js.map","import { call } from '../actions/public/call.js';\nimport { OffchainLookupError, OffchainLookupResponseMalformedError, OffchainLookupSenderMismatchError, } from '../errors/ccip.js';\nimport { HttpRequestError, } from '../errors/request.js';\nimport { getAbortError, isAbortError } from '../errors/utils.js';\nimport { decodeErrorResult } from './abi/decodeErrorResult.js';\nimport { encodeAbiParameters } from './abi/encodeAbiParameters.js';\nimport { isAddressEqual } from './address/isAddressEqual.js';\nimport { concat } from './data/concat.js';\nimport { isHex } from './data/isHex.js';\nimport { localBatchGatewayRequest, localBatchGatewayUrl, } from './ens/localBatchGatewayRequest.js';\nimport { stringify } from './stringify.js';\nexport const offchainLookupSignature = '0x556f1830';\nexport const offchainLookupAbiItem = {\n name: 'OffchainLookup',\n type: 'error',\n inputs: [\n {\n name: 'sender',\n type: 'address',\n },\n {\n name: 'urls',\n type: 'string[]',\n },\n {\n name: 'callData',\n type: 'bytes',\n },\n {\n name: 'callbackFunction',\n type: 'bytes4',\n },\n {\n name: 'extraData',\n type: 'bytes',\n },\n ],\n};\nexport async function offchainLookup(client, { blockNumber, blockTag, data, requestOptions, to, }) {\n const { args } = decodeErrorResult({\n data,\n abi: [offchainLookupAbiItem],\n });\n const [sender, urls, callData, callbackSelector, extraData] = args;\n const { ccipRead } = client;\n const ccipRequest_ = ccipRead && typeof ccipRead?.request === 'function'\n ? ccipRead.request\n : ccipRequest;\n try {\n if (!isAddressEqual(to, sender))\n throw new OffchainLookupSenderMismatchError({ sender, to });\n const result = urls.includes(localBatchGatewayUrl)\n ? await localBatchGatewayRequest({\n data: callData,\n ccipRequest: (parameters) => ccipRequest_({ ...parameters, requestOptions }),\n })\n : await ccipRequest_({ data: callData, requestOptions, sender, urls });\n const { data: data_ } = await call(client, {\n blockNumber,\n blockTag,\n data: concat([\n callbackSelector,\n encodeAbiParameters([{ type: 'bytes' }, { type: 'bytes' }], [result, extraData]),\n ]),\n requestOptions,\n to,\n });\n return data_;\n }\n catch (err) {\n if (requestOptions?.signal?.aborted)\n throw getAbortError(requestOptions.signal);\n if (isAbortError(err))\n throw err;\n throw new OffchainLookupError({\n callbackSelector,\n cause: err,\n data,\n extraData,\n sender,\n urls,\n });\n }\n}\nexport async function ccipRequest({ data, requestOptions, sender, urls, }) {\n let error = new Error('An unknown error occurred.');\n for (let i = 0; i < urls.length; i++) {\n if (requestOptions?.signal?.aborted)\n throw getAbortError(requestOptions.signal);\n const url = urls[i];\n const method = url.includes('{data}') ? 'GET' : 'POST';\n const body = method === 'POST' ? { data, sender } : undefined;\n const headers = method === 'POST' ? { 'Content-Type': 'application/json' } : {};\n try {\n const response = await fetch(url.replace('{sender}', sender.toLowerCase()).replace('{data}', data), {\n body: JSON.stringify(body),\n headers,\n method,\n ...(requestOptions?.signal ? { signal: requestOptions.signal } : {}),\n });\n let result;\n if (response.headers.get('Content-Type')?.startsWith('application/json')) {\n result = (await response.json()).data;\n }\n else {\n result = (await response.text());\n }\n if (!response.ok) {\n error = new HttpRequestError({\n body,\n details: result?.error\n ? stringify(result.error)\n : response.statusText,\n headers: response.headers,\n status: response.status,\n url,\n });\n continue;\n }\n if (!isHex(result)) {\n error = new OffchainLookupResponseMalformedError({\n result,\n url,\n });\n continue;\n }\n return result;\n }\n catch (err) {\n if (requestOptions?.signal?.aborted)\n throw getAbortError(requestOptions.signal);\n if (isAbortError(err))\n throw err;\n error = new HttpRequestError({\n body,\n details: err.message,\n url,\n });\n }\n }\n throw error;\n}\n//# sourceMappingURL=ccip.js.map"],"names":["OffchainLookupError","BaseError","callbackSelector","cause","data","extraData","sender","urls","url","getUrl","OffchainLookupResponseMalformedError","result","stringify","OffchainLookupSenderMismatchError","to","offchainLookupSignature","offchainLookupAbiItem","offchainLookup","client","blockNumber","blockTag","requestOptions","args","decodeErrorResult","callData","ccipRead","ccipRequest_","ccipRequest","isAddressEqual","localBatchGatewayUrl","localBatchGatewayRequest","parameters","data_","call","concat","encodeAbiParameters","err","getAbortError","isAbortError","error","i","method","body","headers","response","HttpRequestError","isHex"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../constants-Dhpa19or.cjs");exports.Chain=e.Chain;exports.VIEM_CHAINS=e.VIEM_CHAINS;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../constants-PXB3A4Yl.cjs");exports.Chain=e.Chain;exports.VIEM_CHAINS=e.VIEM_CHAINS;
2
2
  //# sourceMappingURL=constants.cjs.map