@evergonlabs/tmi-protocol-staking-sdk 0.11.0-rc.3 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"@hono/zod-openapi";import{diamondFactoryAbi as Qt}from"@evergonlabs/tmi-contracts-staking-sdk/abis";import{constants as Bt}from"@evergonlabs/tmi-contracts-staking-sdk";import{CustomError as Dt}from"@evergonlabs/tmi-utils/errors";var m=class extends Dt{constructor(t){super({message:`Option ${t} is not supported or implemented yet`,name:"FacetNotSupportedYetError",data:{option:t}})}};import{constants as xt}from"@evergonlabs/tmi-contracts-staking-sdk";var{DEFAULT_ROLES:v,GENERIC_ROLES:W}=xt,D=(n=>(n.Admin="Admin",n.Open="Open",n.Creator="Creator",n.Staker="Staker",n))(D||{}),At={Admin:v.adminRole,Open:v.openRole,Creator:W.creatorRole,Staker:W.stakerRole};function Et(e){return At[e]}function Pt(e){return Object.values(D).includes(e)}function p(e){return Pt(e)?Et(e):e}import{encodeAbiParameters as wt}from"viem";import{constants as Ft}from"@evergonlabs/tmi-contracts-staking-sdk";var u=(s=>(s.Erc721="Erc721",s.Amount="Amount",s.Time="Time",s.PoolCreation="PoolCreation",s.StakeCreation="StakeCreation",s.CreatorsEligibility="CreatorsEligibility",s.StakersEligibility="StakersEligibility",s.Lock="Lock",s.RewardsDistribution="RewardsDistribution",s.Input="Input",s.Reward="Reward",s.AmountMult="AmountMult",s.LockMult="LockMult",s.Withdrawal="Withdrawal",s.AccessControl="AccessControl",s))(u||{}),f=["AccessControl","Erc721","Amount","Time","PoolCreation","StakeCreation","CreatorsEligibility","StakersEligibility","Lock","RewardsDistribution","Input","Reward","AmountMult","LockMult","Withdrawal"];var l=(o=>(o.AccessControlDefault="AccessControlDefault",o.AmountHardCap="AmountHardCap",o.AmountTwoBorder="AmountTwoBorder",o.TimeOnlyStarting="TimeOnlyStarting",o.TimeTwoBorder="TimeTwoBorder",o.LockStaticPeriod="LockStaticPeriod",o.LockTwoBorder="LockTwoBorder",o.LockAutoComplex="LockAutoComplex",o.LockAutoRateBasedOpen="LockAutoRateBasedOpen",o.LockAutoPreStake="LockAutoPreStake",o.RewardDistributionComplex="RewardDistributionComplex",o.RewardDistributionPreStake="RewardDistributionPreStake",o.RewardDistributionRateBasedOpen="RewardDistributionRateBasedOpen",o.RewardDistributionRateBasedLock="RewardDistributionRateBasedLock",o.InputErc20="InputErc20",o.InputErc1155="InputErc1155",o.RewardErc20Transfer="RewardErc20Transfer",o.RewardErc20Minter="RewardErc20Minter",o.RewardErc1155Transfer="RewardErc1155Transfer",o.RewardErc1155Minter="RewardErc1155Minter",o.LockMultContinuous="LockMultContinuous",o.LockMultInterval="LockMultInterval",o.LockMultNoMultiplier="LockMultNoMultiplier",o.AmountMultContinuous="AmountMultContinuous",o.AmountMultInterval="AmountMultInterval",o.AmountMultNoMultiplier="AmountMultNoMultiplier",o.Erc721Default="Erc721Default",o.CreatorsEligibilityByRole="CreatorsEligibilityByRole",o.CreatorsEligibilityDefault="CreatorsEligibilityDefault",o.CreatorsEligibilityNID="CreatorsEligibilityNID",o.StakersEligibilityByRole="StakersEligibilityByRole",o.StakersEligibilityDefault="StakersEligibilityDefault",o.StakersEligibilityNID="StakersEligibilityNID",o.WithdrawalLockChecker="WithdrawalLockChecker",o.PoolCreationDefault="PoolCreationDefault",o.PoolCreationNID="PoolCreationNID",o.StakeCreationDefault="StakeCreationDefault",o.StakeCreationNID="StakeCreationNID",o))(l||{}),De={Amount:["AmountHardCap","AmountTwoBorder"],Time:["TimeOnlyStarting","TimeTwoBorder"],CreatorsEligibility:["CreatorsEligibilityDefault","CreatorsEligibilityByRole","CreatorsEligibilityNID"],Erc721:["Erc721Default"],Input:["InputErc1155","InputErc20"],Reward:["RewardErc20Transfer","RewardErc20Minter","RewardErc1155Transfer","RewardErc1155Minter"],RewardsDistribution:["RewardDistributionComplex","RewardDistributionPreStake","RewardDistributionRateBasedLock","RewardDistributionRateBasedOpen"],Lock:["LockAutoComplex","LockAutoPreStake","LockAutoRateBasedOpen","LockStaticPeriod","LockTwoBorder"],LockMult:["LockMultContinuous","LockMultInterval","LockMultNoMultiplier"],Withdrawal:["WithdrawalLockChecker"],StakersEligibility:["StakersEligibilityDefault","StakersEligibilityByRole","StakersEligibilityNID"],PoolCreation:["PoolCreationDefault","PoolCreationNID"],AmountMult:["AmountMultContinuous","AmountMultInterval","AmountMultNoMultiplier"],StakeCreation:["StakeCreationDefault","StakeCreationNID"],AccessControl:["AccessControlDefault"]};var{SetterSelectors:i}=Ft,ht={AmountHardCap:i.CampaignAmounts.Hardcap,AmountTwoBorder:i.CampaignAmounts.TwoBorder,TimeOnlyStarting:i.CampaignTimes.OnlyStarting,TimeTwoBorder:i.CampaignTimes.TwoBorder,LockTwoBorder:i.LockVariations.TwoBorder,LockStaticPeriod:i.LockVariations.Static,LockAutoComplex:i.LockVariations.Static,LockAutoPreStake:i.LockVariations.Static,LockAutoRateBasedOpen:i.LockVariations.Static,RewardDistributionComplex:i.RewardsDistribution.Complex,RewardDistributionPreStake:i.RewardsDistribution.PreStake,RewardDistributionRateBasedLock:i.RewardsDistribution.RateBasedLock,RewardDistributionRateBasedOpen:i.RewardsDistribution.RateBasedOpen,StakersEligibilityDefault:i.Eligibility.Stakers,StakersEligibilityByRole:i.Eligibility.Stakers,InputErc20:i.TransferInput.Erc20,InputErc1155:i.TransferInput.Erc1155,RewardErc1155Transfer:i.TransferReward.Erc1155Transfer,RewardErc1155Minter:i.TransferReward.Erc1155Minter,RewardErc20Transfer:i.TransferReward.Erc20Transfer,RewardErc20Minter:i.TransferReward.Erc20Minter,AmountMultInterval:i.VirtualAmountMultiplier.Interval,AmountMultContinuous:i.VirtualAmountMultiplier.Continuous,LockMultContinuous:i.VirtualLockMultiplier.Continuous,LockMultInterval:i.VirtualLockMultiplier.Interval};function V(e){let t=[];return f.forEach(a=>{let r=e[a],n=ht[r];n&&t.push({option:r,selector:n})}),wt([{name:"requiredSelectors",type:"bytes4[]"},{name:"optionalSelectors",type:"bytes4[]"}],[t.map(a=>a.selector),[]])}import{encodeAbiParameters as Lt}from"viem";function L(e){return Lt([{name:"roles",type:"bytes32[]"}],[[p(e)]])}import{encodeAbiParameters as Ot}from"viem";function U(e,t){return Ot([{name:"name",type:"string"},{name:"symbol",type:"string"},{name:"baseUri",type:"string"},{name:"isTransferrable",type:"bool"}],[e.name,e.symbol,e.baseUri,t])}import{encodeAbiParameters as O}from"viem";function $(e){return O([{name:"maxLockPeriodInSeconds",type:"uint256"}],[BigInt(e)])}function T(e){return O([{name:"lockPeriods",type:"uint256[]"}],[e.map(t=>BigInt(t))])}function _(e,t){return O([{name:"minAcceptedLockPeriodSeconds",type:"uint256"},{name:"maxAcceptedLockPeriodSeconds",type:"uint256"}],[BigInt(e),BigInt(t)])}var{InitSelectors:S}=Bt;function G(e){return{AccessControlDefault:()=>({targetFacet:"AccessControlStakingFacet",data:void 0}),Erc721Default:t=>({targetFacet:"ERC721Facet",data:{selector:S.Generic.Erc721,data:U(t.erc721,t.isSoulbound)}}),PoolCreationDefault:()=>({targetFacet:"CampaignCreationSkeleton",data:{selector:S.Skeletons.CampaignCreation,data:V(e)}}),PoolCreationNID:()=>{throw new m("PoolCreationNID")},LockStaticPeriod:t=>({targetFacet:"StaticPeriodLockFacet",data:{selector:S.LockVariations.Static,data:$(t.maxLockPeriod)}}),LockTwoBorder:()=>({targetFacet:"TwoBorderTimeLockFacet",data:void 0}),LockAutoComplex:()=>({targetFacet:"StaticPeriodLockFacet",data:void 0}),LockAutoPreStake:()=>({targetFacet:"StaticPeriodLockFacet",data:void 0}),LockAutoRateBasedOpen:()=>({targetFacet:"StaticPeriodLockFacet",data:void 0}),AmountHardCap:()=>({targetFacet:"HardcapAmountFacet",data:void 0}),AmountTwoBorder:()=>({targetFacet:"TwoBorderAmountFacet",data:void 0}),AmountMultContinuous:()=>({targetFacet:"ContinuousVirtualAmountMultiplierFacet",data:void 0}),AmountMultInterval:()=>({targetFacet:"IntervalVirtualAmountMultiplierFacet",data:void 0}),AmountMultNoMultiplier:()=>({targetFacet:"NoVirtualAmountMultiplierFacet",data:void 0}),CreatorsEligibilityByRole:t=>({targetFacet:"WhitelistedCampaignCreatorsFacet",data:{selector:S.Eligibility.Creators,data:L(t.role)}}),CreatorsEligibilityDefault:()=>({targetFacet:"WhitelistedCampaignCreatorsFacet",data:{selector:S.Eligibility.Creators,data:L("Creator")}}),CreatorsEligibilityNID:()=>{throw new m("CreatorsEligibilityNID")},InputErc20:()=>({targetFacet:"Erc20InputFacet",data:void 0}),InputErc1155:()=>({targetFacet:"Erc1155InputFacet",data:void 0}),RewardErc1155Transfer:()=>({targetFacet:"Erc1155RewardTransferFacet",data:void 0}),RewardErc1155Minter:()=>({targetFacet:"Erc1155RewardMinterFacet",data:void 0}),RewardErc20Transfer:()=>({targetFacet:"Erc20RewardTransferFacet",data:void 0}),RewardErc20Minter:()=>({targetFacet:"Erc20RewardMinterFacet",data:void 0}),LockMultContinuous:()=>({targetFacet:"ContinuousVirtualLockMultiplierFacet",data:void 0}),LockMultInterval:()=>({targetFacet:"IntervalVirtualLockMultiplierFacet",data:void 0}),LockMultNoMultiplier:()=>({targetFacet:"NoVirtualLockMultiplierFacet",data:void 0}),StakeCreationDefault:()=>({targetFacet:"StakingSkeleton",data:void 0}),StakeCreationNID:()=>{throw new m("StakeCreationNID")},StakersEligibilityDefault:()=>({targetFacet:"WhitelistedStakersFacet",data:void 0}),StakersEligibilityByRole:()=>({targetFacet:"WhitelistedStakersFacet",data:void 0}),StakersEligibilityNID:()=>{throw new m("StakersEligibilityNID")},TimeOnlyStarting:()=>({targetFacet:"OnlyStartingTimestampCampaign",data:void 0}),TimeTwoBorder:()=>({targetFacet:"TwoBorderTimestampCampaign",data:void 0}),WithdrawalLockChecker:()=>({targetFacet:"LockCheckerWithdrawalVariationFacet",data:void 0}),RewardDistributionComplex:()=>({targetFacet:"ComplexRewardDistributionFacet",data:void 0}),RewardDistributionPreStake:()=>({targetFacet:"PreStakeRewardDistributionFacet",data:void 0}),RewardDistributionRateBasedLock:()=>({targetFacet:"RateBasedLockRewardDistributionFacet",data:void 0}),RewardDistributionRateBasedOpen:()=>({targetFacet:"RateBasedOpenRewardDistributionFacet",data:void 0})}}import{anvil as Nt,baseSepolia as Mt,sepolia as z}from"viem/chains";import{z as K}from"@evergonlabs/tmi-protocol-utils/zod";import{createSupportedChains as Ht}from"@evergonlabs/tmi-utils/models";var x=Ht([z,Mt,Nt]),vt=x.chainIds.map(e=>K.literal(e)),ta=K.union(vt).openapi({enum:x.chainIds,description:"Supported chain id",example:`${z.id}`}),ea=x.get.bind(x);import{CustomError as Gt}from"@evergonlabs/tmi-utils/errors";import{encodeAbiParameters as Y}from"viem";function j(e,t){return Y([{name:"minAmountOfPackets",type:"uint256"},{name:"maxAmountOfPackets",type:"uint256"}],[BigInt(e),BigInt(t)])}function q(e){return Y([{name:"hardCapPackets",type:"uint256"}],[BigInt(e)])}import{encodeAbiParameters as J,parseUnits as Q}from"viem";function X(e){return J([{name:"packetsStaked",type:"uint256[]"},{name:"packetsStakedMultipliers",type:"uint256[]"}],[e.map(t=>BigInt(t[0])),e.map(t=>Q(t[1].toString(),18))])}function Z(e){return J([{name:"packetsStaked",type:"uint256[]"},{name:"packetsStakedMultipliers",type:"uint256[]"}],[e.map(t=>BigInt(t[0])),e.map(t=>Q(t[1].toString(),18))])}import{encodeAbiParameters as Wt}from"viem";function tt(e){return Wt([{name:"tokenAddresses",type:"address[]"},{name:"amountOfTokensPerPacket",type:"uint256[]"}],[e.map(t=>t.tokenAddress),e.map(t=>BigInt(t.amountOfTokensPerPacket))])}import{encodeAbiParameters as Vt}from"viem";function B(e){return Vt([{name:"tokenAddresses",type:"address[]"},{name:"amountOfTokensPerPacket",type:"uint256[]"}],[e.map(t=>t.tokenAddress),e.map(t=>BigInt(t.amountOfTokensPerPacket))])}import{encodeAbiParameters as Ut}from"viem";function A(e){let t=parseInt(e);if(isNaN(t))throw new Error(`Invalid token id: ${e}`);return BigInt(t)}function et(e){return Ut([{name:"tokenAddresses",type:"address[]"},{name:"tokenIds",type:"uint256[]"},{name:"amountOfTokensPerPacket",type:"uint256[]"}],[e.map(t=>t.tokenAddress),e.map(t=>A(t.tokenId)),e.map(t=>BigInt(t.amountOfTokensPerPacket))])}import{encodeAbiParameters as $t}from"viem";function N(e){return $t([{name:"tokenAddresses",type:"address[]"},{name:"tokenIds",type:"uint256[]"},{name:"amountOfTokensPerPacket",type:"uint256[]"}],[e.map(t=>t.tokenAddress),e.map(t=>A(t.tokenId)),e.map(t=>BigInt(t.amountOfTokensPerPacket))])}import{encodeAbiParameters as at,parseUnits as rt}from"viem";function ot(e){return at([{name:"timeLockPeriods",type:"uint256[]"},{name:"timeLockMultipliers",type:"uint256[]"}],[e.map(t=>BigInt(t.lockPeriodSeconds)),e.map(t=>rt(t.multiplier.toString(),18))])}function it(e){return at([{name:"timeLockPeriods",type:"uint256[]"},{name:"timeLockMultipliers",type:"uint256[]"}],[e.map(t=>BigInt(t.lockPeriodSeconds)),e.map(t=>rt(t.multiplier.toString(),18))])}import{encodeAbiParameters as E}from"viem";function nt(e,t){return E([{name:"campaignRate",type:"uint256"},{name:"isVirtualLockMultiplierSupported",type:"bool"}],[BigInt(e),t])}function st(e){return E([{name:"campaignRate",type:"uint256"}],[BigInt(e)])}function mt(e,t){return E([{name:"interval",type:"uint256"},{name:"campaignRewardDistributor",type:"address"}],[BigInt(e),t])}function dt(e,t,a){return E([{name:"totalReward",type:"uint256"},{name:"isInstaRewards",type:"bool"},{name:"rewardsProvider",type:"address"}],[BigInt(e),t,a])}import{encodeAbiParameters as _t}from"viem";function M(e,t){return _t([{name:"eligibleForStakingRoles",type:"bytes32[]"},{name:"isCampaignScoped",type:"bool"}],[e.map(a=>p(a)),t])}import{encodeAbiParameters as pt}from"viem";import{msToSeconds as P}from"@evergonlabs/tmi-protocol-utils/date";function lt(e,t,a){return pt([{name:"campaignStartingTimestamp",type:"uint256"},{name:"campaignEndingTimestamp",type:"uint256"},{name:"campaignRewardsEndingTimestamp",type:"uint256"}],[P(BigInt(e.getTime())),P(BigInt(t.getTime())),P(BigInt(a.getTime()))])}function ut(e){return pt([{name:"campaignStartingTimestamp",type:"uint256"}],[P(BigInt(e.getTime()))])}function ct(e){return{AccessControlDefault:()=>{},Erc721Default:()=>{},PoolCreationDefault:()=>{},PoolCreationNID:()=>{throw new m("PoolCreationNID")},LockStaticPeriod:t=>({data:T(t.lockPeriods)}),LockTwoBorder:t=>({data:_(t.minAcceptedLockPeriod,t.maxAcceptedLockPeriod)}),LockAutoComplex:(t,a)=>{if(a.RewardsDistribution.type!=="RewardDistributionComplex")throw new k("LockAutoComplex","RewardDistributionComplex");return{data:T([0])}},LockAutoPreStake:(t,a)=>{if(a.RewardsDistribution.type!=="RewardDistributionPreStake")throw new k("LockAutoPreStake","RewardDistributionPreStake");let r=a.Time;if(r.type!=="TimeTwoBorder")throw new k("LockAutoPreStake","TimeTwoBorder");let n=r.rewardsEndDate.getTime()-r.endDate.getTime();return{data:T([n/1e3])}},LockAutoRateBasedOpen:(t,a)=>{if(a.RewardsDistribution.type!=="RewardDistributionRateBasedOpen")throw new k("LockAutoRateBasedOpen","RewardDistributionRateBasedOpen");return{data:T([0])}},AmountHardCap:t=>({data:q(t.hardCap)}),AmountTwoBorder:t=>({data:j(t.minAmount,t.maxAmount)}),AmountMultNoMultiplier:()=>{},AmountMultContinuous:t=>({data:Z(t.packetsAndMultipliers)}),AmountMultInterval:t=>({data:X(t.packetsAndMultipliers)}),CreatorsEligibilityByRole:()=>{},CreatorsEligibilityDefault:()=>{},CreatorsEligibilityNID:()=>{throw new m("CreatorsEligibilityNID")},InputErc20:t=>({data:tt(t.entries.map(a=>({tokenAddress:a.tokenAddress,amountOfTokensPerPacket:a.amountOfTokensPerPacket})))}),InputErc1155:t=>({data:et(t.entries.map(a=>({tokenAddress:a.tokenAddress,tokenId:a.tokenId,amountOfTokensPerPacket:a.amountOfTokensPerPacket})))}),RewardErc1155Transfer:t=>({data:N(t.entries.map(a=>({tokenAddress:a.tokenAddress,tokenId:a.tokenId,amountOfTokensPerPacket:a.amountOfTokensPerPacket})))}),RewardErc1155Minter:t=>({data:N(t.entries.map(a=>({tokenAddress:a.tokenAddress,tokenId:a.tokenId,amountOfTokensPerPacket:a.amountOfTokensPerPacket})))}),RewardErc20Transfer:t=>({data:B(t.entries.map(a=>({tokenAddress:a.tokenAddress,amountOfTokensPerPacket:a.amountOfTokensPerPacket})))}),RewardErc20Minter:t=>({data:B(t.entries.map(a=>({tokenAddress:a.tokenAddress,amountOfTokensPerPacket:a.amountOfTokensPerPacket})))}),LockMultNoMultiplier:()=>{},LockMultContinuous:t=>({data:it(t.lockPeriods.map(a=>({lockPeriodSeconds:a[0],multiplier:a[1]})))}),LockMultInterval:t=>({data:ot(t.lockPeriods.map(a=>({lockPeriodSeconds:a[0],multiplier:a[1]})))}),StakeCreationDefault:()=>{},StakeCreationNID:()=>{throw new m("StakeCreationNID")},StakersEligibilityDefault:t=>({data:M(["Staker"],t.isCampaignScoped)}),StakersEligibilityByRole:t=>({data:M(t.eligibleRoles,t.isCampaignScoped)}),StakersEligibilityNID:()=>{throw new m("StakersEligibilityNID")},TimeOnlyStarting:t=>({data:ut(t.startDate)}),TimeTwoBorder:t=>({data:lt(t.startDate,t.endDate,t.rewardsEndDate)}),WithdrawalLockChecker:()=>{},RewardDistributionComplex:t=>({data:mt(t.duration,t.distributor)}),RewardDistributionPreStake:t=>({data:dt(t.totalPackets,t.isInstaRewards,t.rewardsProvider)}),RewardDistributionRateBasedLock:t=>({data:nt(t.campaignRate,e.LockMult!=="LockMultNoMultiplier")}),RewardDistributionRateBasedOpen:t=>({data:st(t.campaignRate)})}}var k=class extends Gt{constructor(t,a){super({message:`Option ${t} can be used only in combination with ${a}`,name:"CombinationError",data:{requiredOption:a,targetOption:t}})}};import{anvil as ft,baseSepolia as F,sepolia as g}from"viem/chains";import{constants as w,getFacetCutsAdd as zt,getStakingFacetFactory as Kt}from"@evergonlabs/tmi-contracts-staking-sdk";function kt(e,t){let a=t.map(r=>{let n=Kt(r);return n.getContract(Yt(r,e),n.createInterface())});return zt(a).map(r=>({target:r.target,action:r.action,selectors:r.selectors}))}function Yt(e,t){return w.contractAddresses[qt(t)][e]}var jt={[`${g.id}`]:g.id,[`${F.id}`]:F.id,[`${ft.id}`]:g.id};function qt(e){return jt[e]}var Jt={[`${g.id}`]:w.diamondFactoryAddresses[g.id],[`${F.id}`]:w.diamondFactoryAddresses[F.id],[`${ft.id}`]:w.diamondFactoryAddresses[g.id]};function gt(e){return Jt[e]}function Rr(e,t){let a=G(e),r=[],n=[],R=[],c=t.data;f.forEach(C=>{let y=e[C],yt=a[y],I=yt(c[C],c);I.targetFacet&&r.push(I.targetFacet),I.data&&(n.push(I.data.selector),R.push(I.data.data))});let b=kt(t.chainId,r);return{address:gt(t.chainId),abi:Qt,functionName:"deployAndInitializeDiamond",args:[b,n,R,t.admin]}}import{parseEventLogs as Xt}from"viem";import{diamondFactoryAbi as Zt}from"@evergonlabs/tmi-contracts-staking-sdk/abis";function xr(e){let t=Xt({eventName:"DiamondDeployedAndInitialized",abi:Zt,logs:e})[0];return t?{diamondAddress:t.args.diamondAddress,admin:t.args.admin}:null}import{encodeAbiParameters as re}from"viem";import{parseEventLogs as It}from"viem";import{campaignCreationSkeletonAbi as te,campaignCreationSkeletonNidAbi as ee}from"@evergonlabs/tmi-contracts-staking-sdk/abis";var ae={PoolCreationDefault:te,PoolCreationNID:ee};function h(e){return ae[e.PoolCreation]}function Hr(e,t){let a=h(e),r=It({eventName:"StakingCampaignCreated",abi:a,logs:t})[0];return r?{poolId:r.args.campaignId,creator:r.args.creator}:null}function vr(e,t){let a=h(e),r=It({eventName:"CampaignAssetManagersDeployed",abi:a,logs:t})[0];return r?{poolId:r.args.campaignId,inputAssetKeeper:r.args.inputAssetKeeper,rewardAssetHandler:r.args.rewardAssetHandler}:null}function Yr(e,t){let a=ct(e),r=t.data,n=[];f.forEach(c=>{let b=e[c],C=a[b],y=C(r[c],r);y&&n.push({data:y.data,option:b})});let R=re([{name:"optionalParams",type:"bytes4[]"},{name:"params",type:"bytes[]"}],[[],n.map(c=>c.data)]);return{address:t.platform,abi:h(e),functionName:"createCampaign",args:[R]}}import{complexRewardDistributionFacetAbi as oe}from"@evergonlabs/tmi-contracts-staking-sdk/abis";import{CustomError as ie}from"@evergonlabs/tmi-utils/errors";function ao(e,t){switch(e.RewardsDistribution){case"RewardDistributionComplex":return{address:t.platform,abi:oe,functionName:"notifyRewardAmount",args:[BigInt(t.data.poolId),BigInt(t.data.packets)]};default:throw new H(e.RewardsDistribution)}}var H=class extends ie{constructor(t){super({message:`Reward distribution ${t} is not eligible for distributeRewards action`,name:"DistributeRewardsError",data:{option:t}})}};import{stakingSkeletonAbi as ne,stakingSkeletonNidAbi as se}from"@evergonlabs/tmi-contracts-staking-sdk/abis";var me={StakeCreationDefault:ne,StakeCreationNID:se};function d(e){return me[e.StakeCreation]}function co(e,t){let a=d(e);return{address:t.platform,abi:a,functionName:"getReward",args:[BigInt(t.data.stakeId)]}}import{accessControlStakingFacetAbi as Tt}from"@evergonlabs/tmi-contracts-staking-sdk/abis";import{isNonEmptyArray as de}from"@evergonlabs/tmi-protocol-utils/typeUtils";function bo(e){let{abi:t,functionName:a,args:r}=pe(e);return{address:e.platform,abi:t,functionName:a,args:r}}function pe(e){if(!de(e.addresses))throw new Error("Addresses array must have at least 1 address");return e.addresses.length===1?{abi:Tt,functionName:"grantRole",args:[p(e.role),e.addresses[0]]}:{abi:Tt,functionName:"grantRoleMultiple",args:[p(e.role),e.addresses]}}function Ao(e,t){let a=d(e);return{address:t.platform,abi:a,functionName:"partialUnstake",args:[BigInt(t.data.stakeId),BigInt(t.data.amount)]}}function ho(e,t){let{abi:a,functionName:r,args:n}=le(e,d(e),t.data);return{abi:a,args:n,functionName:r,address:t.platform}}function le(e,t,a){return{abi:t,functionName:"restake",args:[BigInt(a.stakeId),BigInt(a.packets),BigInt(a.lockPeriod??0)]}}import{accessControlStakingFacetAbi as St}from"@evergonlabs/tmi-contracts-staking-sdk/abis";import{isNonEmptyArray as ue}from"@evergonlabs/tmi-protocol-utils/typeUtils";function Wo(e){let{abi:t,functionName:a,args:r}=ce(e);return{address:e.platform,abi:t,args:r,functionName:a}}function ce(e){if(!ue(e.addresses))throw new Error("Addresses array must have at least 1 address");return e.addresses.length===1?{abi:St,functionName:"revokeRole",args:[p(e.role),e.addresses[0]]}:{abi:St,functionName:"revokeRoleMultiple",args:[p(e.role),e.addresses]}}function Go(e,t){let a=d(e),{functionName:r,args:n}=fe(e,a,t.data);return{address:t.platform,abi:a,functionName:r,args:n}}function fe(e,t,a){return{abi:t,functionName:"stake",args:[BigInt(a.poolId),BigInt(a.packets),BigInt(a.lockPeriod??0)]}}import{parseEventLogs as ke}from"viem";function qo(e,t){let a=ke({eventName:"StakingPositionCreated",abi:d(e),logs:t})[0];return a?{poolId:a.args.campaignId,stakeId:a.args.nftId,operator:a.args.operator,owner:a.args.owner,inputPacketsStaked:a.args.inputPacketsStaked,stakeStartActiveTimestamp:a.args.stakeStartActiveTimestamp,unlockTimestamp:a.args.unlockTimestamp}:null}function ei(e,t){let a=d(e);return{address:t.platform,abi:a,functionName:"fullyUnstake",args:[BigInt(t.data.stakeId)]}}var Rt={RewardsDistribution:"RewardDistributionRateBasedOpen",StakeCreation:"StakeCreationDefault",PoolCreation:"PoolCreationDefault",Time:"TimeOnlyStarting",Amount:"AmountTwoBorder",CreatorsEligibility:"CreatorsEligibilityDefault",Erc721:"Erc721Default",Input:"InputErc20",Lock:"LockAutoRateBasedOpen",LockMult:"LockMultNoMultiplier",Reward:"RewardErc20Minter",StakersEligibility:"StakersEligibilityDefault",Withdrawal:"WithdrawalLockChecker",AmountMult:"AmountMultInterval",AccessControl:"AccessControlDefault"};var bt={RewardsDistribution:"RewardDistributionRateBasedLock",StakeCreation:"StakeCreationDefault",PoolCreation:"PoolCreationDefault",Time:"TimeOnlyStarting",Amount:"AmountTwoBorder",CreatorsEligibility:"CreatorsEligibilityDefault",Erc721:"Erc721Default",Input:"InputErc20",Lock:"LockTwoBorder",LockMult:"LockMultInterval",Reward:"RewardErc20Minter",StakersEligibility:"StakersEligibilityDefault",Withdrawal:"WithdrawalLockChecker",AmountMult:"AmountMultInterval",AccessControl:"AccessControlDefault"};var Ct={RewardsDistribution:"RewardDistributionComplex",StakeCreation:"StakeCreationDefault",PoolCreation:"PoolCreationDefault",Time:"TimeOnlyStarting",Amount:"AmountHardCap",CreatorsEligibility:"CreatorsEligibilityDefault",Erc721:"Erc721Default",Input:"InputErc20",Lock:"LockAutoComplex",LockMult:"LockMultNoMultiplier",Reward:"RewardErc20Transfer",StakersEligibility:"StakersEligibilityDefault",Withdrawal:"WithdrawalLockChecker",AmountMult:"AmountMultNoMultiplier",AccessControl:"AccessControlDefault"};var ge=(r=>(r.RWA="RWA",r.Reputation="Reputation",r.ReputationLock="ReputationLock",r))(ge||{}),Ie={RWA:Ct,Reputation:Rt,ReputationLock:bt};function Pi(e){return Ie[e]}import{createMiddlewares as Mi}from"@evergonlabs/tmi-protocol-utils/common";import{viemClientAsMiddleware as vi}from"@evergonlabs/tmi-protocol-utils/viem";export{H as DistributeRewardsError,l as FacetOptionEnum,u as FacetSlot,ta as StakingChainId,x as StakingChains,D as StakingRole,ge as TemplateEnum,G as createFacetInitDictionary,ct as createFacetSettersDictionary,Mi as createMiddlewares,Rr as createPlatform,Yr as createPool,ao as distributeRewards,De as facetOptionsBySlot,f as facetSlots,h as getPoolCreationAbi,co as getReward,ea as getStakingChain,Et as getStakingRole,p as getStakingRoleHex,Pi as getTemplate,bo as grantRole,Pt as isStakingRole,vr as parseAssetManagersDeployEvent,Hr as parseCreatePoolEvent,xr as parseDeployDiamondEvent,qo as parseStakeEvent,Ao as partialUnstake,ho as restake,Wo as revokeRole,Go as stake,ei as unstake,vi as viemClientAsMiddleware};
|
|
1
|
+
import"@hono/zod-openapi";import{diamondFactoryAbi as Qt}from"@evergonlabs/tmi-contracts-staking-sdk/abis";import{constants as Bt}from"@evergonlabs/tmi-contracts-staking-sdk";import{CustomError as Dt}from"@evergonlabs/tmi-utils/errors";var m=class extends Dt{constructor(t){super({message:`Option ${t} is not supported or implemented yet`,name:"FacetNotSupportedYetError",data:{option:t}})}};import{constants as xt}from"@evergonlabs/tmi-contracts-staking-sdk";var{DEFAULT_ROLES:v,GENERIC_ROLES:W}=xt,D=(n=>(n.Admin="Admin",n.Open="Open",n.Creator="Creator",n.Staker="Staker",n))(D||{}),At={Admin:v.adminRole,Open:v.openRole,Creator:W.creatorRole,Staker:W.stakerRole};function Et(e){return At[e]}function Pt(e){return Object.values(D).includes(e)}function p(e){return Pt(e)?Et(e):e}import{encodeAbiParameters as wt}from"viem";import{constants as Ft}from"@evergonlabs/tmi-contracts-staking-sdk";var u=(s=>(s.Erc721="Erc721",s.Amount="Amount",s.Time="Time",s.PoolCreation="PoolCreation",s.StakeCreation="StakeCreation",s.CreatorsEligibility="CreatorsEligibility",s.StakersEligibility="StakersEligibility",s.Lock="Lock",s.RewardsDistribution="RewardsDistribution",s.Input="Input",s.Reward="Reward",s.AmountMult="AmountMult",s.LockMult="LockMult",s.Withdrawal="Withdrawal",s.AccessControl="AccessControl",s))(u||{}),f=["AccessControl","Erc721","Amount","Time","PoolCreation","StakeCreation","CreatorsEligibility","StakersEligibility","Lock","RewardsDistribution","Input","Reward","AmountMult","LockMult","Withdrawal"];var l=(o=>(o.AccessControlDefault="AccessControlDefault",o.AmountHardCap="AmountHardCap",o.AmountTwoBorder="AmountTwoBorder",o.TimeOnlyStarting="TimeOnlyStarting",o.TimeTwoBorder="TimeTwoBorder",o.LockStaticPeriod="LockStaticPeriod",o.LockTwoBorder="LockTwoBorder",o.LockAutoComplex="LockAutoComplex",o.LockAutoRateBasedOpen="LockAutoRateBasedOpen",o.LockAutoPreStake="LockAutoPreStake",o.RewardDistributionComplex="RewardDistributionComplex",o.RewardDistributionPreStake="RewardDistributionPreStake",o.RewardDistributionRateBasedOpen="RewardDistributionRateBasedOpen",o.RewardDistributionRateBasedLock="RewardDistributionRateBasedLock",o.InputErc20="InputErc20",o.InputErc1155="InputErc1155",o.RewardErc20Transfer="RewardErc20Transfer",o.RewardErc20Minter="RewardErc20Minter",o.RewardErc1155Transfer="RewardErc1155Transfer",o.RewardErc1155Minter="RewardErc1155Minter",o.LockMultContinuous="LockMultContinuous",o.LockMultInterval="LockMultInterval",o.LockMultNoMultiplier="LockMultNoMultiplier",o.AmountMultContinuous="AmountMultContinuous",o.AmountMultInterval="AmountMultInterval",o.AmountMultNoMultiplier="AmountMultNoMultiplier",o.Erc721Default="Erc721Default",o.CreatorsEligibilityByRole="CreatorsEligibilityByRole",o.CreatorsEligibilityDefault="CreatorsEligibilityDefault",o.CreatorsEligibilityNID="CreatorsEligibilityNID",o.StakersEligibilityByRole="StakersEligibilityByRole",o.StakersEligibilityDefault="StakersEligibilityDefault",o.StakersEligibilityNID="StakersEligibilityNID",o.WithdrawalLockChecker="WithdrawalLockChecker",o.PoolCreationDefault="PoolCreationDefault",o.PoolCreationNID="PoolCreationNID",o.StakeCreationDefault="StakeCreationDefault",o.StakeCreationNID="StakeCreationNID",o))(l||{}),De={Amount:["AmountHardCap","AmountTwoBorder"],Time:["TimeOnlyStarting","TimeTwoBorder"],CreatorsEligibility:["CreatorsEligibilityDefault","CreatorsEligibilityByRole","CreatorsEligibilityNID"],Erc721:["Erc721Default"],Input:["InputErc1155","InputErc20"],Reward:["RewardErc20Transfer","RewardErc20Minter","RewardErc1155Transfer","RewardErc1155Minter"],RewardsDistribution:["RewardDistributionComplex","RewardDistributionPreStake","RewardDistributionRateBasedLock","RewardDistributionRateBasedOpen"],Lock:["LockAutoComplex","LockAutoPreStake","LockAutoRateBasedOpen","LockStaticPeriod","LockTwoBorder"],LockMult:["LockMultContinuous","LockMultInterval","LockMultNoMultiplier"],Withdrawal:["WithdrawalLockChecker"],StakersEligibility:["StakersEligibilityDefault","StakersEligibilityByRole","StakersEligibilityNID"],PoolCreation:["PoolCreationDefault","PoolCreationNID"],AmountMult:["AmountMultContinuous","AmountMultInterval","AmountMultNoMultiplier"],StakeCreation:["StakeCreationDefault","StakeCreationNID"],AccessControl:["AccessControlDefault"]};var{SetterSelectors:i}=Ft,ht={AmountHardCap:i.CampaignAmounts.Hardcap,AmountTwoBorder:i.CampaignAmounts.TwoBorder,TimeOnlyStarting:i.CampaignTimes.OnlyStarting,TimeTwoBorder:i.CampaignTimes.TwoBorder,LockTwoBorder:i.LockVariations.TwoBorder,LockStaticPeriod:i.LockVariations.Static,LockAutoComplex:i.LockVariations.Static,LockAutoPreStake:i.LockVariations.Static,LockAutoRateBasedOpen:i.LockVariations.Static,RewardDistributionComplex:i.RewardsDistribution.Complex,RewardDistributionPreStake:i.RewardsDistribution.PreStake,RewardDistributionRateBasedLock:i.RewardsDistribution.RateBasedLock,RewardDistributionRateBasedOpen:i.RewardsDistribution.RateBasedOpen,StakersEligibilityDefault:i.Eligibility.Stakers,StakersEligibilityByRole:i.Eligibility.Stakers,InputErc20:i.TransferInput.Erc20,InputErc1155:i.TransferInput.Erc1155,RewardErc1155Transfer:i.TransferReward.Erc1155Transfer,RewardErc1155Minter:i.TransferReward.Erc1155Minter,RewardErc20Transfer:i.TransferReward.Erc20Transfer,RewardErc20Minter:i.TransferReward.Erc20Minter,AmountMultInterval:i.VirtualAmountMultiplier.Interval,AmountMultContinuous:i.VirtualAmountMultiplier.Continuous,LockMultContinuous:i.VirtualLockMultiplier.Continuous,LockMultInterval:i.VirtualLockMultiplier.Interval};function V(e){let t=[];return f.forEach(a=>{let r=e[a],n=ht[r];n&&t.push({option:r,selector:n})}),wt([{name:"requiredSelectors",type:"bytes4[]"},{name:"optionalSelectors",type:"bytes4[]"}],[t.map(a=>a.selector),[]])}import{encodeAbiParameters as Lt}from"viem";function L(e){return Lt([{name:"roles",type:"bytes32[]"}],[[p(e)]])}import{encodeAbiParameters as Ot}from"viem";function U(e,t){return Ot([{name:"name",type:"string"},{name:"symbol",type:"string"},{name:"baseUri",type:"string"},{name:"isTransferrable",type:"bool"}],[e.name,e.symbol,e.baseUri,t])}import{encodeAbiParameters as O}from"viem";function $(e){return O([{name:"maxLockPeriodInSeconds",type:"uint256"}],[BigInt(e)])}function T(e){return O([{name:"lockPeriods",type:"uint256[]"}],[e.map(t=>BigInt(t))])}function _(e,t){return O([{name:"minAcceptedLockPeriodSeconds",type:"uint256"},{name:"maxAcceptedLockPeriodSeconds",type:"uint256"}],[BigInt(e),BigInt(t)])}var{InitSelectors:S}=Bt;function G(e){return{AccessControlDefault:()=>({targetFacet:"AccessControlStakingFacet",data:void 0}),Erc721Default:t=>({targetFacet:"ERC721Facet",data:{selector:S.Generic.Erc721,data:U(t.erc721,t.isSoulbound)}}),PoolCreationDefault:()=>({targetFacet:"CampaignCreationSkeleton",data:{selector:S.Skeletons.CampaignCreation,data:V(e)}}),PoolCreationNID:()=>{throw new m("PoolCreationNID")},LockStaticPeriod:t=>({targetFacet:"StaticPeriodLockFacet",data:{selector:S.LockVariations.Static,data:$(t.maxLockPeriod)}}),LockTwoBorder:()=>({targetFacet:"TwoBorderTimeLockFacet",data:void 0}),LockAutoComplex:()=>({targetFacet:"StaticPeriodLockFacet",data:void 0}),LockAutoPreStake:()=>({targetFacet:"StaticPeriodLockFacet",data:void 0}),LockAutoRateBasedOpen:()=>({targetFacet:"StaticPeriodLockFacet",data:void 0}),AmountHardCap:()=>({targetFacet:"HardcapAmountFacet",data:void 0}),AmountTwoBorder:()=>({targetFacet:"TwoBorderAmountFacet",data:void 0}),AmountMultContinuous:()=>({targetFacet:"ContinuousVirtualAmountMultiplierFacet",data:void 0}),AmountMultInterval:()=>({targetFacet:"IntervalVirtualAmountMultiplierFacet",data:void 0}),AmountMultNoMultiplier:()=>({targetFacet:"NoVirtualAmountMultiplierFacet",data:void 0}),CreatorsEligibilityByRole:t=>({targetFacet:"WhitelistedCampaignCreatorsFacet",data:{selector:S.Eligibility.Creators,data:L(t.role)}}),CreatorsEligibilityDefault:()=>({targetFacet:"WhitelistedCampaignCreatorsFacet",data:{selector:S.Eligibility.Creators,data:L("Creator")}}),CreatorsEligibilityNID:()=>{throw new m("CreatorsEligibilityNID")},InputErc20:()=>({targetFacet:"Erc20InputFacet",data:void 0}),InputErc1155:()=>({targetFacet:"Erc1155InputFacet",data:void 0}),RewardErc1155Transfer:()=>({targetFacet:"Erc1155RewardTransferFacet",data:void 0}),RewardErc1155Minter:()=>({targetFacet:"Erc1155RewardMinterFacet",data:void 0}),RewardErc20Transfer:()=>({targetFacet:"Erc20RewardTransferFacet",data:void 0}),RewardErc20Minter:()=>({targetFacet:"Erc20RewardMinterFacet",data:void 0}),LockMultContinuous:()=>({targetFacet:"ContinuousVirtualLockMultiplierFacet",data:void 0}),LockMultInterval:()=>({targetFacet:"IntervalVirtualLockMultiplierFacet",data:void 0}),LockMultNoMultiplier:()=>({targetFacet:"NoVirtualLockMultiplierFacet",data:void 0}),StakeCreationDefault:()=>({targetFacet:"StakingSkeleton",data:void 0}),StakeCreationNID:()=>{throw new m("StakeCreationNID")},StakersEligibilityDefault:()=>({targetFacet:"WhitelistedStakersFacet",data:void 0}),StakersEligibilityByRole:()=>({targetFacet:"WhitelistedStakersFacet",data:void 0}),StakersEligibilityNID:()=>{throw new m("StakersEligibilityNID")},TimeOnlyStarting:()=>({targetFacet:"OnlyStartingTimestampCampaign",data:void 0}),TimeTwoBorder:()=>({targetFacet:"TwoBorderTimestampCampaign",data:void 0}),WithdrawalLockChecker:()=>({targetFacet:"LockCheckerWithdrawalVariationFacet",data:void 0}),RewardDistributionComplex:()=>({targetFacet:"ComplexRewardDistributionFacet",data:void 0}),RewardDistributionPreStake:()=>({targetFacet:"PreStakeRewardDistributionFacet",data:void 0}),RewardDistributionRateBasedLock:()=>({targetFacet:"RateBasedLockRewardDistributionFacet",data:void 0}),RewardDistributionRateBasedOpen:()=>({targetFacet:"RateBasedOpenRewardDistributionFacet",data:void 0})}}import{anvil as Nt,baseSepolia as Mt,sepolia as z}from"viem/chains";import{z as K}from"@evergonlabs/tmi-protocol-utils/zod";import{createSupportedChains as Ht}from"@evergonlabs/tmi-utils/models";var x=Ht([z,Mt,Nt]),vt=x.chainIds.map(e=>K.literal(e)),ta=K.union(vt).openapi({enum:x.chainIds,description:"Supported chain id",example:`${z.id}`}),ea=x.get.bind(x);import{CustomError as Gt}from"@evergonlabs/tmi-utils/errors";import{encodeAbiParameters as Y}from"viem";function j(e,t){return Y([{name:"minAmountOfPackets",type:"uint256"},{name:"maxAmountOfPackets",type:"uint256"}],[BigInt(e),BigInt(t)])}function q(e){return Y([{name:"hardCapPackets",type:"uint256"}],[BigInt(e)])}import{encodeAbiParameters as J,parseUnits as Q}from"viem";function X(e){return J([{name:"packetsStaked",type:"uint256[]"},{name:"packetsStakedMultipliers",type:"uint256[]"}],[e.map(t=>BigInt(t[0])),e.map(t=>Q(t[1].toString(),18))])}function Z(e){return J([{name:"packetsStaked",type:"uint256[]"},{name:"packetsStakedMultipliers",type:"uint256[]"}],[e.map(t=>BigInt(t[0])),e.map(t=>Q(t[1].toString(),18))])}import{encodeAbiParameters as Wt}from"viem";function tt(e){return Wt([{name:"tokenAddresses",type:"address[]"},{name:"amountOfTokensPerPacket",type:"uint256[]"}],[e.map(t=>t.tokenAddress),e.map(t=>BigInt(t.amountOfTokensPerPacket))])}import{encodeAbiParameters as Vt}from"viem";function B(e){return Vt([{name:"tokenAddresses",type:"address[]"},{name:"amountOfTokensPerPacket",type:"uint256[]"}],[e.map(t=>t.tokenAddress),e.map(t=>BigInt(t.amountOfTokensPerPacket))])}import{encodeAbiParameters as Ut}from"viem";function A(e){let t=parseInt(e);if(isNaN(t))throw new Error(`Invalid token id: ${e}`);return BigInt(t)}function et(e){return Ut([{name:"tokenAddresses",type:"address[]"},{name:"tokenIds",type:"uint256[]"},{name:"amountOfTokensPerPacket",type:"uint256[]"}],[e.map(t=>t.tokenAddress),e.map(t=>A(t.tokenId)),e.map(t=>BigInt(t.amountOfTokensPerPacket))])}import{encodeAbiParameters as $t}from"viem";function N(e){return $t([{name:"tokenAddresses",type:"address[]"},{name:"tokenIds",type:"uint256[]"},{name:"amountOfTokensPerPacket",type:"uint256[]"}],[e.map(t=>t.tokenAddress),e.map(t=>A(t.tokenId)),e.map(t=>BigInt(t.amountOfTokensPerPacket))])}import{encodeAbiParameters as at,parseUnits as rt}from"viem";function ot(e){return at([{name:"timeLockPeriods",type:"uint256[]"},{name:"timeLockMultipliers",type:"uint256[]"}],[e.map(t=>BigInt(t.lockPeriodSeconds)),e.map(t=>rt(t.multiplier.toString(),18))])}function it(e){return at([{name:"timeLockPeriods",type:"uint256[]"},{name:"timeLockMultipliers",type:"uint256[]"}],[e.map(t=>BigInt(t.lockPeriodSeconds)),e.map(t=>rt(t.multiplier.toString(),18))])}import{encodeAbiParameters as E}from"viem";function nt(e,t){return E([{name:"campaignRate",type:"uint256"},{name:"isVirtualLockMultiplierSupported",type:"bool"}],[BigInt(e),t])}function st(e){return E([{name:"campaignRate",type:"uint256"}],[BigInt(e)])}function mt(e,t){return E([{name:"interval",type:"uint256"},{name:"campaignRewardDistributor",type:"address"}],[BigInt(e),t])}function dt(e,t,a){return E([{name:"totalReward",type:"uint256"},{name:"isInstaRewards",type:"bool"},{name:"rewardsProvider",type:"address"}],[BigInt(e),t,a])}import{encodeAbiParameters as _t}from"viem";function M(e,t){return _t([{name:"eligibleForStakingRoles",type:"bytes32[]"},{name:"isCampaignScoped",type:"bool"}],[e.map(a=>p(a)),t])}import{encodeAbiParameters as pt}from"viem";import{msToSeconds as P}from"@evergonlabs/tmi-protocol-utils/date";function lt(e,t,a){return pt([{name:"campaignStartingTimestamp",type:"uint256"},{name:"campaignEndingTimestamp",type:"uint256"},{name:"campaignRewardsEndingTimestamp",type:"uint256"}],[P(BigInt(e.getTime())),P(BigInt(t.getTime())),P(BigInt(a.getTime()))])}function ut(e){return pt([{name:"campaignStartingTimestamp",type:"uint256"}],[P(BigInt(e.getTime()))])}function ct(e){return{AccessControlDefault:()=>{},Erc721Default:()=>{},PoolCreationDefault:()=>{},PoolCreationNID:()=>{throw new m("PoolCreationNID")},LockStaticPeriod:t=>({data:T(t.lockPeriods)}),LockTwoBorder:t=>({data:_(t.minAcceptedLockPeriod,t.maxAcceptedLockPeriod)}),LockAutoComplex:(t,a)=>{if(a.RewardsDistribution.type!=="RewardDistributionComplex")throw new k("LockAutoComplex","RewardDistributionComplex");return{data:T([0])}},LockAutoPreStake:(t,a)=>{if(a.RewardsDistribution.type!=="RewardDistributionPreStake")throw new k("LockAutoPreStake","RewardDistributionPreStake");let r=a.Time;if(r.type!=="TimeTwoBorder")throw new k("LockAutoPreStake","TimeTwoBorder");let n=r.rewardsEndDate.getTime()-r.endDate.getTime();return{data:T([n/1e3])}},LockAutoRateBasedOpen:(t,a)=>{if(a.RewardsDistribution.type!=="RewardDistributionRateBasedOpen")throw new k("LockAutoRateBasedOpen","RewardDistributionRateBasedOpen");return{data:T([0])}},AmountHardCap:t=>({data:q(t.hardCap)}),AmountTwoBorder:t=>({data:j(t.minAmount,t.maxAmount)}),AmountMultNoMultiplier:()=>{},AmountMultContinuous:t=>({data:Z(t.packetsAndMultipliers)}),AmountMultInterval:t=>({data:X(t.packetsAndMultipliers)}),CreatorsEligibilityByRole:()=>{},CreatorsEligibilityDefault:()=>{},CreatorsEligibilityNID:()=>{throw new m("CreatorsEligibilityNID")},InputErc20:t=>({data:tt(t.entries.map(a=>({tokenAddress:a.tokenAddress,amountOfTokensPerPacket:a.amountOfTokensPerPacket})))}),InputErc1155:t=>({data:et(t.entries.map(a=>({tokenAddress:a.tokenAddress,tokenId:a.tokenId,amountOfTokensPerPacket:a.amountOfTokensPerPacket})))}),RewardErc1155Transfer:t=>({data:N(t.entries.map(a=>({tokenAddress:a.tokenAddress,tokenId:a.tokenId,amountOfTokensPerPacket:a.amountOfTokensPerPacket})))}),RewardErc1155Minter:t=>({data:N(t.entries.map(a=>({tokenAddress:a.tokenAddress,tokenId:a.tokenId,amountOfTokensPerPacket:a.amountOfTokensPerPacket})))}),RewardErc20Transfer:t=>({data:B(t.entries.map(a=>({tokenAddress:a.tokenAddress,amountOfTokensPerPacket:a.amountOfTokensPerPacket})))}),RewardErc20Minter:t=>({data:B(t.entries.map(a=>({tokenAddress:a.tokenAddress,amountOfTokensPerPacket:a.amountOfTokensPerPacket})))}),LockMultNoMultiplier:()=>{},LockMultContinuous:t=>({data:it(t.lockPeriods.map(a=>({lockPeriodSeconds:a[0],multiplier:a[1]})))}),LockMultInterval:t=>({data:ot(t.lockPeriods.map(a=>({lockPeriodSeconds:a[0],multiplier:a[1]})))}),StakeCreationDefault:()=>{},StakeCreationNID:()=>{throw new m("StakeCreationNID")},StakersEligibilityDefault:t=>({data:M(["Staker"],t.isCampaignScoped)}),StakersEligibilityByRole:t=>({data:M(t.eligibleRoles,t.isCampaignScoped)}),StakersEligibilityNID:()=>{throw new m("StakersEligibilityNID")},TimeOnlyStarting:t=>({data:ut(t.startDate)}),TimeTwoBorder:t=>({data:lt(t.startDate,t.endDate,t.rewardsEndDate)}),WithdrawalLockChecker:()=>{},RewardDistributionComplex:t=>({data:mt(t.duration,t.distributor)}),RewardDistributionPreStake:t=>({data:dt(t.totalPackets,t.isInstaRewards,t.rewardsProvider)}),RewardDistributionRateBasedLock:t=>({data:nt(t.campaignRate,e.LockMult!=="LockMultNoMultiplier")}),RewardDistributionRateBasedOpen:t=>({data:st(t.campaignRate)})}}var k=class extends Gt{constructor(t,a){super({message:`Option ${t} can be used only in combination with ${a}`,name:"CombinationError",data:{requiredOption:a,targetOption:t}})}};import{anvil as ft,baseSepolia as F,sepolia as g}from"viem/chains";import{constants as w,getFacetCutsAdd as zt,getStakingFacetFactory as Kt}from"@evergonlabs/tmi-contracts-staking-sdk";function kt(e,t){let a=t.map(r=>{let n=Kt(r);return n.getContract(Yt(r,e),n.createInterface())});return zt(a).map(r=>({target:r.target,action:r.action,selectors:r.selectors}))}function Yt(e,t){return w.contractAddresses[qt(t)][e]}var jt={[`${g.id}`]:g.id,[`${F.id}`]:F.id,[`${ft.id}`]:g.id};function qt(e){return jt[e]}var Jt={[`${g.id}`]:w.diamondFactoryAddresses[g.id],[`${F.id}`]:w.diamondFactoryAddresses[F.id],[`${ft.id}`]:w.diamondFactoryAddresses[g.id]};function gt(e){return Jt[e]}function Rr(e,t){let a=G(e),r=[],n=[],R=[],c=t.data;f.forEach(C=>{let y=e[C],yt=a[y],I=yt(c[C],c);I.targetFacet&&r.push(I.targetFacet),I.data&&(n.push(I.data.selector),R.push(I.data.data))});let b=kt(t.chainId,r);return{address:gt(t.chainId),abi:Qt,functionName:"deployAndInitializeDiamond",args:[b,n,R,t.admin]}}import{parseEventLogs as Xt}from"viem";import{diamondFactoryAbi as Zt}from"@evergonlabs/tmi-contracts-staking-sdk/abis";function xr(e){let t=Xt({eventName:"DiamondDeployedAndInitialized",abi:Zt,logs:e})[0];return t?{diamondAddress:t.args.diamondAddress,admin:t.args.admin}:null}import{encodeAbiParameters as re}from"viem";import{parseEventLogs as It}from"viem";import{campaignCreationSkeletonAbi as te,campaignCreationSkeletonNidAbi as ee}from"@evergonlabs/tmi-contracts-staking-sdk/abis";var ae={PoolCreationDefault:te,PoolCreationNID:ee};function h(e){return ae[e.PoolCreation]}function Hr(e,t){let a=h(e),r=It({eventName:"StakingCampaignCreated",abi:a,logs:t})[0];return r?{poolId:r.args.campaignId,creator:r.args.creator}:null}function vr(e,t){let a=h(e),r=It({eventName:"CampaignAssetManagersDeployed",abi:a,logs:t})[0];return r?{poolId:r.args.campaignId,inputAssetKeeper:r.args.inputAssetKeeper,rewardAssetHandler:r.args.rewardAssetHandler}:null}function Yr(e,t){let a=ct(e),r=t.data,n=[];f.forEach(c=>{let b=e[c],C=a[b],y=C(r[c],r);y&&n.push({data:y.data,option:b})});let R=re([{name:"optionalParams",type:"bytes4[]"},{name:"params",type:"bytes[]"}],[[],n.map(c=>c.data)]);return{address:t.platform,abi:h(e),functionName:"createCampaign",args:[R]}}import{complexRewardDistributionFacetAbi as oe}from"@evergonlabs/tmi-contracts-staking-sdk/abis";import{CustomError as ie}from"@evergonlabs/tmi-utils/errors";function ao(e,t){switch(e.RewardsDistribution){case"RewardDistributionComplex":return{address:t.platform,abi:oe,functionName:"notifyRewardAmount",args:[BigInt(t.data.poolId),BigInt(t.data.packets)]};default:throw new H(e.RewardsDistribution)}}var H=class extends ie{constructor(t){super({message:`Reward distribution ${t} is not eligible for distributeRewards action`,name:"DistributeRewardsError",data:{option:t}})}};import{stakingSkeletonAbi as ne,stakingSkeletonNidAbi as se}from"@evergonlabs/tmi-contracts-staking-sdk/abis";var me={StakeCreationDefault:ne,StakeCreationNID:se};function d(e){return me[e.StakeCreation]}function co(e,t){let a=d(e);return{address:t.platform,abi:a,functionName:"getReward",args:[BigInt(t.data.stakeId)]}}import{accessControlStakingFacetAbi as Tt}from"@evergonlabs/tmi-contracts-staking-sdk/abis";import{isNonEmptyArray as de}from"@evergonlabs/tmi-utils/typeUtils";function bo(e){let{abi:t,functionName:a,args:r}=pe(e);return{address:e.platform,abi:t,functionName:a,args:r}}function pe(e){if(!de(e.addresses))throw new Error("Addresses array must have at least 1 address");return e.addresses.length===1?{abi:Tt,functionName:"grantRole",args:[p(e.role),e.addresses[0]]}:{abi:Tt,functionName:"grantRoleMultiple",args:[p(e.role),e.addresses]}}function Ao(e,t){let a=d(e);return{address:t.platform,abi:a,functionName:"partialUnstake",args:[BigInt(t.data.stakeId),BigInt(t.data.amount)]}}function ho(e,t){let{abi:a,functionName:r,args:n}=le(e,d(e),t.data);return{abi:a,args:n,functionName:r,address:t.platform}}function le(e,t,a){return{abi:t,functionName:"restake",args:[BigInt(a.stakeId),BigInt(a.packets),BigInt(a.lockPeriod??0)]}}import{accessControlStakingFacetAbi as St}from"@evergonlabs/tmi-contracts-staking-sdk/abis";import{isNonEmptyArray as ue}from"@evergonlabs/tmi-utils/typeUtils";function Wo(e){let{abi:t,functionName:a,args:r}=ce(e);return{address:e.platform,abi:t,args:r,functionName:a}}function ce(e){if(!ue(e.addresses))throw new Error("Addresses array must have at least 1 address");return e.addresses.length===1?{abi:St,functionName:"revokeRole",args:[p(e.role),e.addresses[0]]}:{abi:St,functionName:"revokeRoleMultiple",args:[p(e.role),e.addresses]}}function Go(e,t){let a=d(e),{functionName:r,args:n}=fe(e,a,t.data);return{address:t.platform,abi:a,functionName:r,args:n}}function fe(e,t,a){return{abi:t,functionName:"stake",args:[BigInt(a.poolId),BigInt(a.packets),BigInt(a.lockPeriod??0)]}}import{parseEventLogs as ke}from"viem";function qo(e,t){let a=ke({eventName:"StakingPositionCreated",abi:d(e),logs:t})[0];return a?{poolId:a.args.campaignId,stakeId:a.args.nftId,operator:a.args.operator,owner:a.args.owner,inputPacketsStaked:a.args.inputPacketsStaked,stakeStartActiveTimestamp:a.args.stakeStartActiveTimestamp,unlockTimestamp:a.args.unlockTimestamp}:null}function ei(e,t){let a=d(e);return{address:t.platform,abi:a,functionName:"fullyUnstake",args:[BigInt(t.data.stakeId)]}}var Rt={RewardsDistribution:"RewardDistributionRateBasedOpen",StakeCreation:"StakeCreationDefault",PoolCreation:"PoolCreationDefault",Time:"TimeOnlyStarting",Amount:"AmountTwoBorder",CreatorsEligibility:"CreatorsEligibilityDefault",Erc721:"Erc721Default",Input:"InputErc20",Lock:"LockAutoRateBasedOpen",LockMult:"LockMultNoMultiplier",Reward:"RewardErc20Minter",StakersEligibility:"StakersEligibilityDefault",Withdrawal:"WithdrawalLockChecker",AmountMult:"AmountMultInterval",AccessControl:"AccessControlDefault"};var bt={RewardsDistribution:"RewardDistributionRateBasedLock",StakeCreation:"StakeCreationDefault",PoolCreation:"PoolCreationDefault",Time:"TimeOnlyStarting",Amount:"AmountTwoBorder",CreatorsEligibility:"CreatorsEligibilityDefault",Erc721:"Erc721Default",Input:"InputErc20",Lock:"LockTwoBorder",LockMult:"LockMultInterval",Reward:"RewardErc20Minter",StakersEligibility:"StakersEligibilityDefault",Withdrawal:"WithdrawalLockChecker",AmountMult:"AmountMultInterval",AccessControl:"AccessControlDefault"};var Ct={RewardsDistribution:"RewardDistributionComplex",StakeCreation:"StakeCreationDefault",PoolCreation:"PoolCreationDefault",Time:"TimeOnlyStarting",Amount:"AmountHardCap",CreatorsEligibility:"CreatorsEligibilityDefault",Erc721:"Erc721Default",Input:"InputErc20",Lock:"LockAutoComplex",LockMult:"LockMultNoMultiplier",Reward:"RewardErc20Transfer",StakersEligibility:"StakersEligibilityDefault",Withdrawal:"WithdrawalLockChecker",AmountMult:"AmountMultNoMultiplier",AccessControl:"AccessControlDefault"};var ge=(r=>(r.RWA="RWA",r.Reputation="Reputation",r.ReputationLock="ReputationLock",r))(ge||{}),Ie={RWA:Ct,Reputation:Rt,ReputationLock:bt};function Pi(e){return Ie[e]}import{viemClientAsMiddleware as Mi}from"@evergonlabs/tmi-protocol-utils/viem";import{createMiddlewares as vi}from"@evergonlabs/tmi-utils/typeUtils";export{H as DistributeRewardsError,l as FacetOptionEnum,u as FacetSlot,ta as StakingChainId,x as StakingChains,D as StakingRole,ge as TemplateEnum,G as createFacetInitDictionary,ct as createFacetSettersDictionary,vi as createMiddlewares,Rr as createPlatform,Yr as createPool,ao as distributeRewards,De as facetOptionsBySlot,f as facetSlots,h as getPoolCreationAbi,co as getReward,ea as getStakingChain,Et as getStakingRole,p as getStakingRoleHex,Pi as getTemplate,bo as grantRole,Pt as isStakingRole,vr as parseAssetManagersDeployEvent,Hr as parseCreatePoolEvent,xr as parseDeployDiamondEvent,qo as parseStakeEvent,Ao as partialUnstake,ho as restake,Wo as revokeRole,Go as stake,ei as unstake,Mi as viemClientAsMiddleware};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|