1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4345],{7314:function(e,r,a){a.d(r,{E:function(){return c}});var t=a(2784),o=a(59907),n=a(45627),i=a(75666),s=a(51697),l=a(72899),d=a(94013),u=a(65697);let c=e=>{var r,a,c;let{poolAddress:f,poolAddresses:m,isStaked:p,enabled:g=!0}=e,{address:w}=(0,n.m)(),{chainId:h}=(0,l.B)(),v=(0,i.t)({chainId:h}),y=(0,t.useMemo)(()=>new Set((null!=m?m:[f]).filter(e=>!!e).map(e=>e.toLowerCase())),[f,m]),b=g&&!!w&&p&&y.size>0&&h===u.aC,C=(0,u.PF)({enabled:b}),I=(0,t.useMemo)(()=>u.Kl.flatMap(e=>Array.from(new Set(C.allProofs.filter(r=>r.rewarderId===e).map(e=>e.campaignId))).sort((e,r)=>e-r).map(r=>[u.aE[e].toLowerCase(),r])),[C.allProofs]),E=(0,o.a)({queryKey:["steer-campaign-pools",h,I],enabled:b&&I.length>0&&!!v,queryFn:async()=>{var e;if(!v||(null===(e=v.chain)||void 0===e?void 0:e.id)!==h)throw Error("Steer pool ownership chain is unavailable");let r=await v.multicall({allowFailure:!1,contracts:I.map(e=>{let[r,a]=e;return{address:r,abi:d.Z,functionName:"rewardCampaigns",args:[BigInt(a)]}})});return new Map(I.map((e,a)=>{var t;let[o,n]=e,i=null===(t=r[a])||void 0===t?void 0:t[1];if(!i||i===s.DR)throw Error("Steer pool ownership is unavailable for ".concat(o," campaign ").concat(n));return["".concat(o,"-").concat(n),i.toLowerCase()]}))},staleTime:3e5,gcTime:6e5,refetchOnWindowFocus:!1}),A=(0,t.useMemo)(()=>C.allProofs.filter(e=>{var r,a;let t=null===(r=u.aE[e.rewarderId])||void 0===r?void 0:r.toLowerCase(),o=t&&(null===(a=E.data)||void 0===a?void 0:a.get("".concat(t,"-").concat(e.campaignId)));return b&&!!o&&y.has(o)}),[C.allProofs,E.data,y,b]),S=(0,t.useMemo)(()=>(0,u.On)(A),[A]);return{isLoading:b&&(C.isLoading||E.isFetching),error:null!==(c=null!==(a=C.error)&&void 0!==a?a:null===(r=E.error)||void 0===r?void 0:r.message)&&void 0!==c?c:b&&I.length>0&&!v?"Steer pool ownership is unavailable":null,isUnsupportedNetwork:C.isUnsupportedNetwork,fetchClaimProofs:C.fetchClaimProofs,allProofs:A,claimTransactions:S,canClaim:S.length>0,isStakedPosition:p,shouldAutoFetch:b,readyToClaim:b&&S.length>0}}},65601:function(e,r,a){a.d(r,{p:function(){return w}});var t=a(2784),o=a(59907),n=a(45627),i=a(75666),s=a(86846),l=a(16463),d=a(44761),u=a(88518),c=a(93156),f=a(94013);let m=(0,s.V)(["event Transfer(address indexed from, address indexed to, uint256 value)"]);function p(e){if(!e||"object"!=typeof e||Array.isArray(e))throw Error("Invalid simulation response");return e}function g(e){let r="0x".concat(e.replace(/^0x/i,"").toLowerCase());if(!(0,l.v)(r)||66!==r.length)throw Error("Invalid claim proof");return r}function w(e){let{transactions:r,chainId:a}=e,{address:s}=(0,n.m)(),w=(0,i.t)({chainId:a}),h=null==s?void 0:s.toLowerCase(),v=(0,t.useMemo)(()=>r.map(e=>({rewarderAddress:e.rewarderAddress.toLowerCase(),users:e.params[0].map(e=>e.toLowerCase()),campaignIds:e.params[1].map(String),amounts:e.params[2].map(String),proofs:e.params[3].map(e=>e.map(e=>e.replace(/^0x/i,"").toLowerCase()))})),[r]);return(0,o.a)({queryKey:["claim-rewards-breakdown",a,h,v],enabled:!!h&&!!w&&v.length>0,queryFn:async e=>{var r,t;let{signal:o}=e;if(!h||!w)throw Error("Claim account or chain is unavailable");let n=(0,u.K)(h),i=v.map(e=>{let{users:r,campaignIds:a,amounts:t,proofs:o}=e;if(!r.length||r.length!==a.length||r.length!==t.length||r.length!==o.length)throw Error("Claim arrays must have equal nonzero lengths");if(r.some(e=>e!==h))throw Error("Claim payload belongs to another account");if(a.some(e=>!Number.isSafeInteger(Number(e))||0>Number(e)))throw Error("Invalid campaign ID");let n=t.map(BigInt);if(n.some(e=>e<0n))throw Error("Invalid cumulative claim amount");return{rewarderAddress:(0,u.K)(e.rewarderAddress),users:r.map(e=>(0,u.K)(e)),campaignIds:a.map(BigInt),amounts:n,proofs:o.map(e=>e.map(g))}}),s=await Promise.all(i.map(async e=>{let r=new AbortController,t=()=>r.abort(o.reason);o.addEventListener("abort",t,{once:!0});let i=setTimeout(()=>r.abort(Error("Claim simulation timed out")),4e3);try{if(o.aborted)throw Error("Claim breakdown cancelled");let t=await fetch("https://api.tenderly.co/api/v1/public-contract/".concat(a,"/simulate"),{method:"POST",headers:{"Content-Type":"application/json"},signal:r.signal,body:JSON.stringify({from:n,to:e.rewarderAddress,input:(0,c.R)({abi:f.Z,functionName:"
1claim",args:[e.users,e.campaignIds,e.amounts,e.proofs]}),save:!1,save_if_fails:!1,simulation_type:"quick"})});if(!t.ok)throw Error("Claim simulation HTTP ".concat(t.status));return function(e,r){let a=p(p(e).transaction);if(!0!==a.status)throw Error("Claim simulation did not succeed");let t=p(a.transaction_info).logs;if(!Array.isArray(t))throw Error("Claim simulation logs are unavailable");let o=[];for(let e of t){var n,i;let a=p(e),t=p(a.raw);if(!Array.isArray(t.topics)||!t.topics.every(e=>"string"==typeof e))throw Error("Invalid simulation log topics");if((null===(n=t.topics[0])||void 0===n?void 0:n.toLowerCase())!=="0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef")continue;let s=t.topics.map(g);if(!s[0]||"string"!=typeof t.data||!(0,l.v)(t.data))throw Error("Invalid transfer log");let c=(0,d.F)({abi:m,data:t.data,topics:[s[0],...s.slice(1)]});if(c.args.to.toLowerCase()!==r.toLowerCase())continue;let f=null!==(i=t.address)&&void 0!==i?i:a.address;if("string"!=typeof f)throw Error("Missing transfer token");c.args.value>0n&&o.push({tokenAddress:(0,u.K)(f.toLowerCase()),amount:c.args.value})}return o}(await t.json(),n)}catch(e){if(o.aborted)throw e;return}finally{clearTimeout(i),o.removeEventListener("abort",t)}})),y=i.flatMap((e,r)=>void 0===s[r]?e.campaignIds.map((r,a)=>({rewarderAddress:e.rewarderAddress,campaignId:r,user:e.users[a],cumulative:e.amounts[a]})):[]),b=s.flatMap(e=>null!=e?e:[]);if(y.length>0){if(o.aborted)throw Error("Claim breakdown cancelled");let e=await w.getBlockNumber({cacheTime:0});if(o.aborted)throw Error("Claim breakdown cancelled");let a=await w.multicall({allowFailure:!1,blockNumber:e,contracts:y.flatMap(e=>[{address:e.rewarderAddress,abi:f.Z,functionName:"claims",args:[e.user,e.campaignId]},{address:e.rewarderAddress,abi:f.Z,functionName:"rewardCampaigns",args:[e.campaignId]}])}),t=new Map;for(let[e,o]of y.entries()){let n=a[2*e],i=a[2*e+1];if("bigint"!=typeof n||!Array.isArray(i)||"string"!=typeof i[2])throw Error("Incomplete rewarder accounting snapshot");let s="".concat(o.rewarderAddress,"/").concat(o.user,"/").concat(o.campaignId),l=null!==(r=t.get(s))&&void 0!==r?r:n;if(o.cumulative<l)throw Error("Claim proof is older than the claimed amount");t.set(s,o.cumulative);let d=o.cumulative-l;d>0n&&b.push({tokenAddress:(0,u.K)(i[2].toLowerCase()),amount:d})}}let C=new Map;for(let e of b)C.set(e.tokenAddress,(null!==(t=C.get(e.tokenAddress))&&void 0!==t?t:0n)+e.amount);let I=s.filter(e=>void 0!==e).length;return{rewards:Array.from(C,e=>{let[r,a]=e;return{tokenAddress:r,amount:a}}),basis:I===i.length?"simulated":0===I?"accrued":"mixed"}},staleTime:6e4,gcTime:3e5,retry:2})}},65697:function(e,r,a){a.d(r,{Fn:function(){return p},Kl:function(){return d},On:function(){return w},PF:function(){return v},aC:function(){return f},aE:function(){return u},pE:function(){return c},sB:function(){return m}});var t=a(2784),o=a(76212),n=a(14010),i=a(59907),s=a(45627),l=a(72899);let d=[6,7],u={6:"0x00f5D63E1b0b68303B03f17E3AA77f5c062d9dDC",7:"0x3966b5B8AD4BEf3Be7d391d36d7202B3CB0D0C3f"},c=d.map(e=>[e,u[e].toLowerCase()]),f=146,m=e=>"object"==typeof e&&null!==e&&!Array.isArray(e);async function p(e){let r,{endpoint:a,query:t,operationName:o,field:n,variables:i,parseNode:s}=e,l=[],d=new Set,u=null;for(;;){let e=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:t,operationName:o,variables:{...i,first:100,after:u}})});if(!e.ok)throw Error("Steer ".concat(n," request failed (").concat(e.status,")"));let c=await e.json();if(!m(c)||null!=c.errors&&(!Array.isArray(c.errors)||c.errors.length>0)||!m(c.data))throw Error("Steer ".concat(n," response is unavailable"));let f=c.data[n];if(!m(f)||!Array.isArray(f.edges)||!m(f.pageInfo)||"boolean"!=typeof f.pageInfo.hasNextPage||"number"!=typeof f.totalCount||!Number.isSafeInteger(f.totalCount)||f.totalCount<0)throw Error("Steer ".concat(n," response is incomplete"));if(void 0!==r&&r!==f.totalCount)throw Error("Steer ".concat(n," changed during pagination"));for(let e of(r=f.totalCount,f.edges)){if(!m(e))throw Error("Steer ".concat(n," response contains an invali
1d edge"));l.push(s(e.node))}if(!f.pageInfo.hasNextPage)return{nodes:l,totalCount:r};let p=f.pageInfo.endCursor;if(0===f.edges.length||"string"!=typeof p||!p||d.has(p))throw Error("Steer ".concat(n," pagination made no progress"));d.add(p),u=p}}function g(e,r,a){return(0,o.C)({queryKey:["steer-claim-proofs",e,r,a,c],queryFn:async()=>(await Promise.all(d.map(t=>p({endpoint:r,query:"query ClaimProofEdges($user: String!, $first: Int, $after: String, $filter: ClaimProofFilter) {\n claimProofs(user: $user, first: $first, after: $after, filter: $filter) {\n edges { node { chainId lastBlockUpdatedTo user campaignId amount proof rewarderId } }\n totalCount\n pageInfo { hasNextPage endCursor }\n }\n}",operationName:"ClaimProofEdges",field:"claimProofs",variables:{user:a,filter:{chainId:e,rewarderId:t,user:a}},parseNode:r=>{if(!m(r)||r.chainId!==e||"number"!=typeof r.lastBlockUpdatedTo||null!=r.rewarderId&&r.rewarderId!==t||"string"!=typeof r.user||r.user.toLowerCase()!==a||"number"!=typeof r.campaignId||!Number.isSafeInteger(r.campaignId)||r.campaignId<0||"string"!=typeof r.amount||!/^\d+$/.test(r.amount)||!Array.isArray(r.proof)||!r.proof.every(e=>"string"==typeof e&&/^(0x)?[0-9a-fA-F]{64}$/.test(e)))throw Error("Steer returned an invalid claim proof");return{chainId:e,rewarderId:t,user:r.user,campaignId:r.campaignId,amount:r.amount,proof:r.proof,lastBlockUpdatedTo:r.lastBlockUpdatedTo}}})))).flatMap(e=>{let{nodes:r,totalCount:a}=e,t=new Set(r.map(e=>JSON.stringify([e.chainId,e.rewarderId,e.user.toLowerCase(),e.campaignId,BigInt(e.amount).toString(),e.lastBlockUpdatedTo,e.proof.map(e=>e.replace(/^0x/,"").toLowerCase())])));if(r.length!==a||t.size!==a)throw Error("Steer claim proofs are incomplete");return r}),staleTime:6e4,gcTime:3e5,refetchOnWindowFocus:!1})}function w(e){return d.flatMap(r=>{let a=e.filter(e=>e.rewarderId===r);return 0===a.length?[]:[{rewarderAddress:u[r],func:"claim",params:[a.map(e=>e.user),a.map(e=>e.campaignId),a.map(e=>BigInt(e.amount)),a.map(e=>e.proof.map(e=>e.startsWith("0x")?e.slice(2):e))]}]})}let h=[],v=function(){var e,r,a,o;let{enabled:d=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{address:u}=(0,s.m)(),{chainId:c}=(0,l.B)(),m=(0,n.NL)(),p=null!==(r=null==u?void 0:u.toLowerCase())&&void 0!==r?r:"",v="https://s55qpiwei1.execute-api.us-east-1.amazonaws.com",y=c!==f,b=!!p&&!!v&&!y,C=(0,i.a)({...g(c,v,p),enabled:d&&b}),I=b&&null!==(a=C.data)&&void 0!==a?a:h,E=(0,t.useMemo)(()=>w(I),[I]),A=(0,t.useCallback)(async e=>{if(y)throw Error("Steer claims are supported on Sonic only");if(!p)throw Error("No account connected");if(!v)throw Error("Steer API is not configured");await m.fetchQuery({...g(c,v,p),staleTime:0})},[m,c,v,p,y]);return{allProofs:I,claimTransactions:E,canClaim:E.length>0,isLoading:b&&C.isFetching,isUnsupportedNetwork:y,error:y?"Steer claims are supported on Sonic only":v?null!==(o=null===(e=C.error)||void 0===e?void 0:e.message)&&void 0!==o?o:null:"Steer API is not configured",fetchClaimProofs:A}}},94013:function(e,r,a){a.d(r,{Z:function(){return t}});let t=(0,a(86846).V)(["function claim(address[] users, uint256[] campaignIds, uint256[] amounts, bytes32[][] proofs)","function claims(address user, uint256 campaignId) view returns (uint256)","function rewardCampaigns(uint256 campaignId) view returns (address owner, address liquidityPool, address rewardToken, uint256 amount, uint256 start, uint256 end, string params, uint256 abandonment, uint256 cancellation, uint256 credit, bool paused, bool halted)"])}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.