aiia-vault-sdk 1.3.1 → 1.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- "use strict";var t=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.FairLaunchSDK=void 0;const e=require("ethers"),i=t(require("./abis/FairLaunch.json")),a=t(require("./contracts.json")),n=require("./utils");exports.FairLaunchSDK=class{constructor(t,r){this.name="FairLaunch",this.isBootstrapped=!1,this._projectToken=null,this._fundingToken=null,this._projectTokenDecimals=null,this._fundingTokenDecimals=null,this.formatEventArgs=async t=>{await this.bootstrap();const{eventName:e,args:i}=t;switch(e){case"Contributed":return{...t,args:{...i,user:i.user.toLowerCase(),amount:Number(i.amount)/10**this._fundingTokenDecimals}};case"SaleEnded":return{...t,args:{...i,totalRaised:Number(i.totalRaised)/10**this._fundingTokenDecimals,tokenPrice:Number(i.tokenPrice)/10**this._fundingTokenDecimals}};case"InitialClaimed":case"VestedClaimed":return{...t,args:{...i,user:i.user.toLowerCase(),amount:Number(i.amount)/10**this._projectTokenDecimals}};case"TradingVaultPositionCreated":return{...t,args:{...i,user:i.user.toLowerCase(),positionId:Number(i.positionId),amount:Number(i.amount)/10**this._fundingTokenDecimals}};case"LiquidityAdded":return{...t,args:{...i,tokenAmount:Number(i.tokenAmount)/10**this._projectTokenDecimals,fundingTokenAmount:Number(i.fundingTokenAmount)/10**this._fundingTokenDecimals}};default:return t}};const o=Array.isArray(t)?t:[t];this.providers=o.map((t=>new e.ethers.JsonRpcProvider(t)));const s=(0,n.getRandomProvider)(this.providers);this.contractAddress=(0,n.resolveContractAddress)(o[0],this.name,a.default,r),this.contract=new e.ethers.Contract(this.contractAddress,i.default.abi,s)}getRandomProvider(){return(0,n.getRandomProvider)(this.providers)}getContractWithRandomProvider(){return new e.ethers.Contract(this.contractAddress,i.default.abi,this.getRandomProvider())}async bootstrap(){if(this.isBootstrapped)return;const t=await Promise.all(this.providers.map(((t,e)=>(0,n.checkRpcHealth)(t,e))));if(this.providers=this.providers.filter(((e,i)=>t[i])),0===this.providers.length)throw new Error("No active RPC providers available");this._projectToken=await this.contract.projectToken(),this._fundingToken=await this.contract.fundingToken();const[e,i]=await Promise.all([(0,n.getTokenDecimals)(this._projectToken,this.getRandomProvider()),(0,n.getTokenDecimals)(this._fundingToken,this.getRandomProvider())]);this._projectTokenDecimals=e,this._fundingTokenDecimals=i,this.isBootstrapped=!0}async signAndSendTransaction(t,e,i={}){return(0,n.signAndSendTransaction)(t,e,(()=>this.getRandomProvider()),i,this.contract)}async buildContributeTx(t,i){await this.bootstrap();const a=e.ethers.parseUnits(t.toString(),this._fundingTokenDecimals);return await this.contract.contribute.populateTransaction(a,i)}async buildEndSaleTx(){return await this.contract.endSale.populateTransaction()}async buildAddLiquidityTx(){return await this.contract.addLiquidity.populateTransaction()}async buildEnableClaimingTx(){return await this.contract.enableClaiming.populateTransaction()}async buildClaimInitialTx(){return await this.contract.claimInitial.populateTransaction()}async buildClaimVestedTx(){return await this.contract.claimVested.populateTransaction()}async buildUpdateLiquidityTokensTx(t){await this.bootstrap();const i=e.ethers.parseUnits(t.toString(),this._projectTokenDecimals);return await this.contract.updateLiquidityTokens.populateTransaction(i)}async buildUpdateLiquidityPercentTx(t){return await this.contract.updateLiquidityPercent.populateTransaction(t)}async buildUpdateInitialClaimPercentTx(t){return await this.contract.updateInitialClaimPercent.populateTransaction(t)}async buildUpdateVestingDurationTx(t){return await this.contract.updateVestingDuration.populateTransaction(t)}async buildUpdateEarlyParticipationWindowTx(t){return await this.contract.updateEarlyParticipationWindow.populateTransaction(t)}async buildWithdrawLPTokensTx(t,e){return await this.contract.withdrawLPTokens.populateTransaction(t,e)}async buildWithdrawERC20Tx(t,i){const a=new e.ethers.Contract(t,["function decimals() view returns (uint8)"],this.getRandomProvider()),n=await a.decimals(),r=e.ethers.parseUnits(i.toString(),n);return await this.contract.withdrawERC20.populateTransaction(t,r)}async buildApproveERC20Tx(t,i,a){const r=new e.ethers.Contract(t,["function decimals() view returns (uint8)"],this.getRandomProvider()),o=await r.decimals(),s=e.ethers.parseUnits(a.toString(),o);return(0,n.buildApproveERC20Tx)(t,i,s,this.getRandomProvider())}async getSaleInfo(){await this.bootstrap();const[t,e,i,a,n,r,o,s]=await Promise.all([this.contract.startTime(),this.contract.endTime(),this.contract.totalTokensForSale(),this.contract.totalRaised(),this.contract.tokenPrice(),this.contract.saleEnded(),this.contract.claimingEnabled(),this.contract.liquidityAdded()]);return{startTime:Number(t),endTime:Number(e),totalTokensForSale:Number(i)/10**this._projectTokenDecimals,totalRaised:Number(a)/10**this._fundingTokenDecimals,tokenPrice:Number(n)/10**this._fundingTokenDecimals,saleEnded:r,claimingEnabled:o,liquidityAdded:s}}async getUserContribution(t){await this.bootstrap();const e=await this.contract.userContributions(t);return{amount:Number(e.amount)/10**this._fundingTokenDecimals,tokenAllocation:Number(e.tokenAllocation)/10**this._projectTokenDecimals,hasClaimedInitial:e.hasClaimedInitial,vestedClaimed:Number(e.vestedClaimed)/10**this._projectTokenDecimals,tradingVaultId:Number(e.tradingVaultId)}}async getContributorsCount(){return Number(await this.contract.getContributorsCount())}async getContributorAt(t){return await this.contract.getContributorAt(t)}async getAllContributors(){const t=await this.getContributorsCount(),e=[];for(let i=0;i<t;i++)e.push(await this.getContributorAt(i));return e}async getProjectToken(){return this._projectToken||(this._projectToken=await this.contract.projectToken()),this._projectToken}async getFundingToken(){return this._fundingToken||(this._fundingToken=await this.contract.fundingToken()),this._fundingToken}async getTradingVault(){return await this.contract.tradingVault()}async getDexRouter(){return await this.contract.dexRouter()}async getLiquidityTokens(){await this.bootstrap();const t=await this.contract.liquidityTokens();return Number(t)/10**this._projectTokenDecimals}async getLiquidityPercent(){return Number(await this.contract.liquidityPercent())}async getInitialClaimPercent(){return Number(await this.contract.initialClaimPercent())}async getVestingDuration(){return Number(await this.contract.vestingDuration())}async getVestingStartTime(){return Number(await this.contract.vestingStartTime())}async getEarlyParticipationWindow(){return Number(await this.contract.earlyParticipationWindow())}async hasOperatorRole(t){const e=await this.contract.OPERATOR_ROLE();return await this.contract.hasRole(e,t)}async hasAdminRole(t){const e=await this.contract.DEFAULT_ADMIN_ROLE();return await this.contract.hasRole(e,t)}async buildGrantOperatorRoleTx(t){const e=await this.contract.OPERATOR_ROLE();return await this.contract.grantRole.populateTransaction(e,t)}async buildGrantAdminRoleTx(t){const e=await this.contract.DEFAULT_ADMIN_ROLE();return await this.contract.grantRole.populateTransaction(e,t)}async getAllowance(t,e,i){const[a,r]=await Promise.all([(0,n.getTokenAllowance)(t,e,i,this.getRandomProvider()),(0,n.getTokenDecimals)(t,this.getRandomProvider())]);return Number(a)/Math.pow(10,r)}getContractAddress(){return this.contractAddress}async getAllEvents(t,e,i){return await this.bootstrap(),(0,n.getAllEvents)(this.contract,(()=>this.getRandomProvider()),(()=>this.getContractWithRandomProvider()),t,e,i)}async streamEvents(t,e,i,a=1e3,r=5e3){const o=["Contributed","SaleEnded","InitialClaimed","VestedClaimed","ClaimingEnabled","LiquidityAdded","TradingVaultPositionCreated"];return await this.bootstrap(),(0,n.streamEvents)({getProvider:()=>this.getRandomProvider(),getAllEvents:(t,e)=>this.getAllEvents(t,e,o),formatEvent:t=>this.formatEventArgs(t),onEvent:e,saveLatestBlock:i,fromBlock:t,batchSize:a,sleepTime:r})}};
1
+ "use strict";var t=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.FairLaunchSDK=void 0;const e=require("ethers"),i=t(require("./abis/FairLaunch.json")),a=t(require("./contracts.json")),n=require("./utils");exports.FairLaunchSDK=class{constructor(t,r){this.name="FairLaunch",this.isBootstrapped=!1,this._projectToken=null,this._fundingToken=null,this._projectTokenDecimals=null,this._fundingTokenDecimals=null,this.formatEventArgs=async t=>{await this.bootstrap();const{eventName:e,args:i}=t;switch(e){case"Contributed":return{...t,args:{...i,user:i.user.toLowerCase(),amount:Number(i.amount)/10**this._fundingTokenDecimals}};case"SaleEnded":return{...t,args:{...i,totalRaised:Number(i.totalRaised)/10**this._fundingTokenDecimals,tokenPrice:Number(i.tokenPrice)/10**this._fundingTokenDecimals}};case"InitialClaimed":case"VestedClaimed":return{...t,args:{...i,user:i.user.toLowerCase(),amount:Number(i.amount)/10**this._projectTokenDecimals}};case"TradingVaultPositionCreated":return{...t,args:{...i,user:i.user.toLowerCase(),positionId:Number(i.positionId),amount:Number(i.amount)/10**this._fundingTokenDecimals}};case"LiquidityAdded":return{...t,args:{...i,tokenAmount:Number(i.tokenAmount)/10**this._projectTokenDecimals,fundingTokenAmount:Number(i.fundingTokenAmount)/10**this._fundingTokenDecimals}};default:return t}};const o=Array.isArray(t)?t:[t];this.providers=o.map((t=>new e.ethers.JsonRpcProvider(t,void 0,{staticNetwork:!0})));const s=(0,n.getRandomProvider)(this.providers);this.contractAddress=(0,n.resolveContractAddress)(o[0],this.name,a.default,r),this.contract=new e.ethers.Contract(this.contractAddress,i.default.abi,s)}getRandomProvider(){return(0,n.getRandomProvider)(this.providers)}getContractWithRandomProvider(){return new e.ethers.Contract(this.contractAddress,i.default.abi,this.getRandomProvider())}async bootstrap(){if(this.isBootstrapped)return;const t=await Promise.all(this.providers.map(((t,e)=>(0,n.checkRpcHealth)(t,e))));if(this.providers=this.providers.filter(((e,i)=>t[i])),0===this.providers.length)throw new Error("No active RPC providers available");this._projectToken=await this.contract.projectToken(),this._fundingToken=await this.contract.fundingToken();const[e,i]=await Promise.all([(0,n.getTokenDecimals)(this._projectToken,this.getRandomProvider()),(0,n.getTokenDecimals)(this._fundingToken,this.getRandomProvider())]);this._projectTokenDecimals=e,this._fundingTokenDecimals=i,this.isBootstrapped=!0}async signAndSendTransaction(t,e,i={}){return(0,n.signAndSendTransaction)(t,e,(()=>this.getRandomProvider()),i,this.contract)}async buildContributeTx(t,i){await this.bootstrap();const a=e.ethers.parseUnits(t.toString(),this._fundingTokenDecimals);return await this.contract.contribute.populateTransaction(a,i)}async buildEndSaleTx(){return await this.contract.endSale.populateTransaction()}async buildAddLiquidityTx(){return await this.contract.addLiquidity.populateTransaction()}async buildEnableClaimingTx(){return await this.contract.enableClaiming.populateTransaction()}async buildClaimInitialTx(){return await this.contract.claimInitial.populateTransaction()}async buildClaimVestedTx(){return await this.contract.claimVested.populateTransaction()}async buildUpdateLiquidityTokensTx(t){await this.bootstrap();const i=e.ethers.parseUnits(t.toString(),this._projectTokenDecimals);return await this.contract.updateLiquidityTokens.populateTransaction(i)}async buildUpdateLiquidityPercentTx(t){return await this.contract.updateLiquidityPercent.populateTransaction(t)}async buildUpdateInitialClaimPercentTx(t){return await this.contract.updateInitialClaimPercent.populateTransaction(t)}async buildUpdateVestingDurationTx(t){return await this.contract.updateVestingDuration.populateTransaction(t)}async buildUpdateEarlyParticipationWindowTx(t){return await this.contract.updateEarlyParticipationWindow.populateTransaction(t)}async buildWithdrawLPTokensTx(t,e){return await this.contract.withdrawLPTokens.populateTransaction(t,e)}async buildWithdrawERC20Tx(t,i){const a=new e.ethers.Contract(t,["function decimals() view returns (uint8)"],this.getRandomProvider()),n=await a.decimals(),r=e.ethers.parseUnits(i.toString(),n);return await this.contract.withdrawERC20.populateTransaction(t,r)}async buildApproveERC20Tx(t,i,a){const r=new e.ethers.Contract(t,["function decimals() view returns (uint8)"],this.getRandomProvider()),o=await r.decimals(),s=e.ethers.parseUnits(a.toString(),o);return(0,n.buildApproveERC20Tx)(t,i,s,this.getRandomProvider())}async getSaleInfo(){await this.bootstrap();const[t,e,i,a,n,r,o,s]=await Promise.all([this.contract.startTime(),this.contract.endTime(),this.contract.totalTokensForSale(),this.contract.totalRaised(),this.contract.tokenPrice(),this.contract.saleEnded(),this.contract.claimingEnabled(),this.contract.liquidityAdded()]);return{startTime:Number(t),endTime:Number(e),totalTokensForSale:Number(i)/10**this._projectTokenDecimals,totalRaised:Number(a)/10**this._fundingTokenDecimals,tokenPrice:Number(n)/10**this._fundingTokenDecimals,saleEnded:r,claimingEnabled:o,liquidityAdded:s}}async getUserContribution(t){await this.bootstrap();const e=await this.contract.userContributions(t);return{amount:Number(e.amount)/10**this._fundingTokenDecimals,tokenAllocation:Number(e.tokenAllocation)/10**this._projectTokenDecimals,hasClaimedInitial:e.hasClaimedInitial,vestedClaimed:Number(e.vestedClaimed)/10**this._projectTokenDecimals,tradingVaultId:Number(e.tradingVaultId)}}async getContributorsCount(){return Number(await this.contract.getContributorsCount())}async getContributorAt(t){return await this.contract.getContributorAt(t)}async getAllContributors(){const t=await this.getContributorsCount(),e=[];for(let i=0;i<t;i++)e.push(await this.getContributorAt(i));return e}async getProjectToken(){return this._projectToken||(this._projectToken=await this.contract.projectToken()),this._projectToken}async getFundingToken(){return this._fundingToken||(this._fundingToken=await this.contract.fundingToken()),this._fundingToken}async getTradingVault(){return await this.contract.tradingVault()}async getDexRouter(){return await this.contract.dexRouter()}async getLiquidityTokens(){await this.bootstrap();const t=await this.contract.liquidityTokens();return Number(t)/10**this._projectTokenDecimals}async getLiquidityPercent(){return Number(await this.contract.liquidityPercent())}async getInitialClaimPercent(){return Number(await this.contract.initialClaimPercent())}async getVestingDuration(){return Number(await this.contract.vestingDuration())}async getVestingStartTime(){return Number(await this.contract.vestingStartTime())}async getEarlyParticipationWindow(){return Number(await this.contract.earlyParticipationWindow())}async hasOperatorRole(t){const e=await this.contract.OPERATOR_ROLE();return await this.contract.hasRole(e,t)}async hasAdminRole(t){const e=await this.contract.DEFAULT_ADMIN_ROLE();return await this.contract.hasRole(e,t)}async buildGrantOperatorRoleTx(t){const e=await this.contract.OPERATOR_ROLE();return await this.contract.grantRole.populateTransaction(e,t)}async buildGrantAdminRoleTx(t){const e=await this.contract.DEFAULT_ADMIN_ROLE();return await this.contract.grantRole.populateTransaction(e,t)}async getAllowance(t,e,i){const[a,r]=await Promise.all([(0,n.getTokenAllowance)(t,e,i,this.getRandomProvider()),(0,n.getTokenDecimals)(t,this.getRandomProvider())]);return Number(a)/Math.pow(10,r)}getContractAddress(){return this.contractAddress}async getAllEvents(t,e,i){return await this.bootstrap(),(0,n.getAllEvents)(this.contract,(()=>this.getRandomProvider()),(()=>this.getContractWithRandomProvider()),t,e,i)}async streamEvents(t,e,i,a=1e3,r=5e3){const o=["Contributed","SaleEnded","InitialClaimed","VestedClaimed","ClaimingEnabled","LiquidityAdded","TradingVaultPositionCreated"];return await this.bootstrap(),(0,n.streamEvents)({getProvider:()=>this.getRandomProvider(),getAllEvents:(t,e)=>this.getAllEvents(t,e,o),formatEvent:t=>this.formatEventArgs(t),onEvent:e,saveLatestBlock:i,fromBlock:t,batchSize:a,sleepTime:r})}};
@@ -1 +1 @@
1
- "use strict";var e=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.MultiLevelReferralNFTSDK=void 0;const t=require("ethers"),r=e(require("./abis/NFTTicket.json")),a=e(require("./contracts.json")),s=require("./utils");exports.MultiLevelReferralNFTSDK=class{constructor(e,n){this.name="NFTTicket",this.isBootstrapped=!1,this.formatEventArgs=e=>{const{eventName:r,args:a}=e;switch(r){case"NFTMinted":return{...e,args:{...a,owner:a.owner.toLowerCase(),tokenId:Number(a.tokenId)}};case"ReferrerSet":return{...e,args:{...a,referrer:a.referrer.toLowerCase(),referee:a.referee.toLowerCase()}};case"ReferralPaid":return{...e,args:{...a,receiver:a.receiver.toLowerCase(),buyer:a.buyer.toLowerCase(),amount:Number(t.ethers.formatEther(a.amount)),level:Number(a.level),originalAmount:Number(t.ethers.formatEther(a.originalAmount)),tokenId:Number(a.tokenId)}};case"ReferralCodeSet":return{...e,args:{...a,user:a.user.toLowerCase(),referralCode:a.referralCode}};case"MaxReferralLevelsUpdated":return{...e,args:{...a,oldValue:Number(a.oldValue),newValue:Number(a.newValue)}};case"Transfer":return{...e,args:{...a,from:a.from.toLowerCase(),to:a.to.toLowerCase(),tokenId:Number(a.tokenId)}};default:return e}};const o=Array.isArray(e)?e:[e];this.providers=o.map((e=>new t.ethers.JsonRpcProvider(e)));const i=(0,s.getRandomProvider)(this.providers);this.contractAddress=(0,s.resolveContractAddress)(o[0],this.name,a.default,n),this.contract=new t.ethers.Contract(this.contractAddress,r.default.abi,i)}getRandomProvider(){return(0,s.getRandomProvider)(this.providers)}getContractWithRandomProvider(){return new t.ethers.Contract(this.contractAddress,r.default.abi,this.getRandomProvider())}async bootstrap(){if(this.isBootstrapped)return;const e=await Promise.all(this.providers.map(((e,t)=>(0,s.checkRpcHealth)(e,t))));if(this.providers=this.providers.filter(((t,r)=>e[r])),0===this.providers.length)throw new Error("No active RPC providers available");this.isBootstrapped=!0}async signAndSendTransaction(e,t,r={}){return(0,s.signAndSendTransaction)(e,t,(()=>this.getRandomProvider()),r,this.contract)}async getPrice(){const e=await this.contract.price();return Number(t.ethers.formatEther(e))}async getSharePercent(){const e=await this.contract.sharePercent();return Number(e)}async getMaxReferralLevels(){const e=await this.contract.maxReferralLevels();return Number(e)}async getReferrer(e){return await this.contract.referrers(e)}async getReferralCodeOwner(e){return await this.contract.referralCodes(e)}async getUserReferralCode(e){return await this.contract.userReferralCodes(e)}async buildGenerateReferralCodeTx(){return await this.contract.generateReferralCode.populateTransaction()}async buildGenerateReferralCodeForUserTx(e){return await this.contract.generateReferralCodeForUser.populateTransaction(e)}async buildSetPriceTx(e){const r=t.ethers.parseEther(e.toString());return await this.contract.setPrice.populateTransaction(r)}async buildSetMaxReferralLevelsTx(e){if(await this.bootstrap(),e<1||e>10)throw new Error("Maximum referral levels must be between 1 and 10");return await this.contract.setMaxReferralLevels.populateTransaction(e)}async buildSetSharePercentTx(e){if(await this.bootstrap(),e<0||e>100)throw new Error("Share percentage must be between 0 and 100");return await this.contract.setSharePercent.populateTransaction(e)}async buildBuyNFTTx(e){const r=await this.getPrice(),a=await this.contract.buy.populateTransaction(e);return a.value=t.ethers.parseEther(r.toString()),a}async buildBatchBuyNFTTx(e,r){if(await this.bootstrap(),r<=0)throw new Error("Amount must be greater than 0");const a=await this.getPrice()*r,s=await this.contract.batchBuy.populateTransaction(e,r);return s.value=t.ethers.parseEther(a.toString()),s}async buildWithdrawTx(e){const r=t.ethers.parseEther(e.toString());return await this.contract.withdraw.populateTransaction(r)}async buildMintToTx(e){return await this.bootstrap(),this.contract.mintTo.populateTransaction(e)}async buildBatchMintTx(e,t){return await this.bootstrap(),this.contract.batchMint.populateTransaction(e,t)}async getOwner(){return await this.contract.owner()}getContractAddress(){return this.contractAddress}async getAllEvents(e,t,r){return await this.bootstrap(),(0,s.getAllEvents)(this.contract,(()=>this.getRandomProvider()),(()=>this.getContractWithRandomProvider()),e,t,r)}async streamEvents(e,t,r,a=1e3,n=5e3,o=0,i){return await this.bootstrap(),(0,s.streamEvents)({getProvider:()=>this.getRandomProvider(),getAllEvents:(e,t)=>this.getAllEvents(e,t),formatEvent:e=>this.formatEventArgs(e),onEvent:t,saveLatestBlock:r,fromBlock:e,batchSize:a,sleepTime:n,whitelistEvents:void 0,shouldContinue:i,blockGap:o})}};
1
+ "use strict";var e=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.MultiLevelReferralNFTSDK=void 0;const t=require("ethers"),r=e(require("./abis/NFTTicket.json")),a=e(require("./contracts.json")),s=require("./utils");exports.MultiLevelReferralNFTSDK=class{constructor(e,o){this.name="NFTTicket",this.isBootstrapped=!1,this.formatEventArgs=e=>{const{eventName:r,args:a}=e;switch(r){case"NFTMinted":return{...e,args:{...a,owner:a.owner.toLowerCase(),tokenId:Number(a.tokenId)}};case"ReferrerSet":return{...e,args:{...a,referrer:a.referrer.toLowerCase(),referee:a.referee.toLowerCase()}};case"ReferralPaid":return{...e,args:{...a,receiver:a.receiver.toLowerCase(),buyer:a.buyer.toLowerCase(),amount:Number(t.ethers.formatEther(a.amount)),level:Number(a.level),originalAmount:Number(t.ethers.formatEther(a.originalAmount)),tokenId:Number(a.tokenId)}};case"ReferralCodeSet":return{...e,args:{...a,user:a.user.toLowerCase(),referralCode:a.referralCode}};case"MaxReferralLevelsUpdated":return{...e,args:{...a,oldValue:Number(a.oldValue),newValue:Number(a.newValue)}};case"Transfer":return{...e,args:{...a,from:a.from.toLowerCase(),to:a.to.toLowerCase(),tokenId:Number(a.tokenId)}};default:return e}};const n=Array.isArray(e)?e:[e];this.providers=n.map((e=>new t.ethers.JsonRpcProvider(e,void 0,{staticNetwork:!0})));const i=(0,s.getRandomProvider)(this.providers);this.contractAddress=(0,s.resolveContractAddress)(n[0],this.name,a.default,o),this.contract=new t.ethers.Contract(this.contractAddress,r.default.abi,i)}getRandomProvider(){return(0,s.getRandomProvider)(this.providers)}getContractWithRandomProvider(){return new t.ethers.Contract(this.contractAddress,r.default.abi,this.getRandomProvider())}async bootstrap(){if(this.isBootstrapped)return;const e=await Promise.all(this.providers.map(((e,t)=>(0,s.checkRpcHealth)(e,t))));if(this.providers=this.providers.filter(((t,r)=>e[r])),0===this.providers.length)throw new Error("No active RPC providers available");this.isBootstrapped=!0}async signAndSendTransaction(e,t,r={}){return(0,s.signAndSendTransaction)(e,t,(()=>this.getRandomProvider()),r,this.contract)}async getPrice(){const e=await this.contract.price();return Number(t.ethers.formatEther(e))}async getSharePercent(){const e=await this.contract.sharePercent();return Number(e)}async getMaxReferralLevels(){const e=await this.contract.maxReferralLevels();return Number(e)}async getReferrer(e){return await this.contract.referrers(e)}async getReferralCodeOwner(e){return await this.contract.referralCodes(e)}async getUserReferralCode(e){return await this.contract.userReferralCodes(e)}async buildGenerateReferralCodeTx(){return await this.contract.generateReferralCode.populateTransaction()}async buildGenerateReferralCodeForUserTx(e){return await this.contract.generateReferralCodeForUser.populateTransaction(e)}async buildSetPriceTx(e){const r=t.ethers.parseEther(e.toString());return await this.contract.setPrice.populateTransaction(r)}async buildSetMaxReferralLevelsTx(e){if(await this.bootstrap(),e<1||e>10)throw new Error("Maximum referral levels must be between 1 and 10");return await this.contract.setMaxReferralLevels.populateTransaction(e)}async buildSetSharePercentTx(e){if(await this.bootstrap(),e<0||e>100)throw new Error("Share percentage must be between 0 and 100");return await this.contract.setSharePercent.populateTransaction(e)}async buildBuyNFTTx(e){const r=await this.getPrice(),a=await this.contract.buy.populateTransaction(e);return a.value=t.ethers.parseEther(r.toString()),a}async buildBatchBuyNFTTx(e,r){if(await this.bootstrap(),r<=0)throw new Error("Amount must be greater than 0");const a=await this.getPrice()*r,s=await this.contract.batchBuy.populateTransaction(e,r);return s.value=t.ethers.parseEther(a.toString()),s}async buildWithdrawTx(e){const r=t.ethers.parseEther(e.toString());return await this.contract.withdraw.populateTransaction(r)}async buildMintToTx(e){return await this.bootstrap(),this.contract.mintTo.populateTransaction(e)}async buildBatchMintTx(e,t){return await this.bootstrap(),this.contract.batchMint.populateTransaction(e,t)}async getOwner(){return await this.contract.owner()}getContractAddress(){return this.contractAddress}async getAllEvents(e,t,r){return await this.bootstrap(),(0,s.getAllEvents)(this.contract,(()=>this.getRandomProvider()),(()=>this.getContractWithRandomProvider()),e,t,r)}async streamEvents(e,t,r,a=1e3,o=5e3,n=0,i){return await this.bootstrap(),(0,s.streamEvents)({getProvider:()=>this.getRandomProvider(),getAllEvents:(e,t)=>this.getAllEvents(e,t),formatEvent:e=>this.formatEventArgs(e),onEvent:t,saveLatestBlock:r,fromBlock:e,batchSize:a,sleepTime:o,whitelistEvents:void 0,shouldContinue:i,blockGap:n})}};
@@ -1 +1 @@
1
- "use strict";var t=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SeedRoundFundraiserSDK=void 0;const e=require("ethers"),n=t(require("./abis/SeedRoundFundraiser.json")),o=t(require("./contracts.json")),r=require("./utils"),i=t(require("./whitelist-tokens.json"));exports.SeedRoundFundraiserSDK=class{constructor(t,i){this.name="SeedRoundFundraiser",this.isBootstrapped=!1,this.PRICE_PRECISION=1e18,this.whitelistedTokensArray=[],this.projectToken="",this.projectTokenDecimals=0,this.formatEventArgs=t=>{const{eventName:e,args:n}=t;switch(e){case"TokenWhitelisted":return{...t,args:{...n,token:n.token.toLowerCase(),price:Number(n.price)/this.PRICE_PRECISION}};case"TokenPriceUpdated":return{...t,args:{...n,token:n.token.toLowerCase(),oldPrice:Number(n.oldPrice)/this.PRICE_PRECISION,newPrice:Number(n.newPrice)/this.PRICE_PRECISION}};case"TokenRemovedFromWhitelist":return{...t,args:{...n,token:n.token.toLowerCase()}};case"RoundCreated":case"RoundUpdated":return{...t,args:{...n,roundId:Number(n.roundId),startTime:Number(n.startTime),endTime:Number(n.endTime),targetFund:Number(n.targetFund)/this.PRICE_PRECISION,totalAllocation:Number(n.totalAllocation),maxFundPerAccount:Number(n.maxFundPerAccount)/this.PRICE_PRECISION}};case"RoundEnded":return{...t,args:{...n,roundId:Number(n.roundId),raisedFunds:Number(n.raisedFunds)/this.PRICE_PRECISION,participants:Number(n.participants)}};case"Contribution":const e=this.whitelistedTokensArray.find((t=>t.address===n.token)),o=e?.decimals||18;return{...t,args:{...n,roundId:Number(n.roundId),contributor:n.contributor.toLowerCase(),token:n.token.toLowerCase(),symbol:e?.symbol||"ETH",amount:Number(n.amount)/10**o,fundAmount:Number(n.fundAmount)/this.PRICE_PRECISION,tokenAllocation:Number(n.tokenAllocation)/1e18}};case"TokensClaimed":return{...t,args:{...n,roundId:Number(n.roundId),user:n.user.toLowerCase(),amount:Number(n.amount)}};case"ProjectTokenUpdated":return{...t,args:{...n,oldToken:n.oldToken.toLowerCase(),newToken:n.newToken.toLowerCase()}};case"ClaimingEnabledUpdated":case"RefundEnabledUpdated":return{...t,args:{...n,roundId:Number(n.roundId),enabled:n.enabled}};case"Refunded":return{...t,args:{...n,roundId:Number(n.roundId),user:n.user.toLowerCase(),token:n.token.toLowerCase(),amount:Number(n.amount)}};default:return t}};const a=Array.isArray(t)?t:[t];this.providers=a.map((t=>new e.ethers.JsonRpcProvider(t)));const s=(0,r.getRandomProvider)(this.providers);this.contractAddress=(0,r.resolveContractAddress)(a[0],this.name,o.default,i),this.contract=new e.ethers.Contract(this.contractAddress,n.default.abi,s),this.networkName=(0,r.getNetworkFromRpc)(a[0]),this.importWhitelistedTokens()}importWhitelistedTokens(){try{i.default[this.networkName]?(this.whitelistedTokensArray=i.default[this.networkName].map((t=>({name:t.name,address:t.address.toLowerCase(),decimals:t.decimals,symbol:t.symbol,icon:t.icon}))),console.log(`Imported ${this.whitelistedTokensArray.length} whitelisted tokens for ${this.networkName} network`)):console.log(`No whitelisted tokens found for ${this.networkName} network`)}catch(t){console.error("Error importing whitelisted tokens:",t)}}async getWhitelistedTokenInfo(t,e,n,o,r){const i=t.toLowerCase();if(!this.whitelistedTokensArray.some((t=>t.address===i)))return null;const a=await this.getWhitelistedToken(i);if(!a.isWhitelisted)return null;let s=0,d=0n;return r&&r.roundId>=0&&(d=r.maxFundPerAccountRaw*BigInt(10**n)/a.priceRaw,s=r.maxFundPerAccount/a.price),{address:i,isWhitelisted:a.isWhitelisted,price:a.price,symbol:e,maxContribution:s,maxContributionRaw:d,decimals:n,icon:o}}async getAllWhitelistedTokensInfo(){const t=await this.getLatestRoundId();let e;if(t>=0){const n=await this.getRound(t);n.exists&&!n.ended&&(e={roundId:t,maxFundPerAccount:n.maxFundPerAccount,maxFundPerAccountRaw:n.maxFundPerAccountRaw})}const n=this.whitelistedTokensArray.map((t=>this.getWhitelistedTokenInfo(t.address,t.symbol,t.decimals,t.icon,e)));return(await Promise.all(n)).filter((t=>null!==t))}getRandomProvider(){return(0,r.getRandomProvider)(this.providers)}getContractWithRandomProvider(){return new e.ethers.Contract(this.contractAddress,n.default.abi,this.getRandomProvider())}async bootstrap(){if(this.isBootstrapped)return;const t=await Promise.all(this.providers.map(((t,e)=>(0,r.checkRpcHealth)(t,e))));if(this.providers=this.providers.filter(((e,n)=>t[n])),0===this.providers.length)throw new Error("No active RPC providers available");this.projectToken=await this.getProjectToken(),this.projectTokenDecimals=await(0,r.getTokenDecimals)(this.projectToken,this.getRandomProvider()),this.isBootstrapped=!0}async signAndSendTransaction(t,e,n={}){return(0,r.signAndSendTransaction)(t,e,(()=>this.getRandomProvider()),n,this.contract)}async buildAddWhitelistedTokenTx(t,e){const n=BigInt(Math.floor(e*this.PRICE_PRECISION));return await this.contract.addWhitelistedToken.populateTransaction(t,n)}async buildUpdateTokenPriceTx(t,e){const n=BigInt(Math.floor(e*this.PRICE_PRECISION));return await this.contract.updateTokenPrice.populateTransaction(t,n)}async buildRemoveWhitelistedTokenTx(t){return await this.contract.removeWhitelistedToken.populateTransaction(t)}async buildCreateRoundTx(t,e,n,o,i){const a=BigInt(Math.floor(n*this.PRICE_PRECISION)),s=BigInt(Math.floor(i*this.PRICE_PRECISION)),d=await(0,r.getTokenDecimals)(await this.getProjectToken(),this.getRandomProvider()),c=BigInt(Math.floor(o*Math.pow(10,d)));return await this.contract.createRound.populateTransaction(t,e,a,c,s)}async buildUpdateRoundTx(t,e,n,o,i,a){const s=BigInt(Math.floor(o*this.PRICE_PRECISION)),d=BigInt(Math.floor(a*this.PRICE_PRECISION)),c=await(0,r.getTokenDecimals)(await this.getProjectToken(),this.getRandomProvider()),u=BigInt(Math.floor(i*Math.pow(10,c)));return await this.contract.updateRound.populateTransaction(t,e,n,s,u,d)}async buildEndRoundTx(t){return await this.contract.endRound.populateTransaction(t)}async buildSetClaimingEnabledTx(t,e){return await this.contract.setClaimingEnabled.populateTransaction(t,e)}async buildSetRefundEnabledTx(t,e){return await this.contract.setRefundEnabled.populateTransaction(t,e)}async buildContributeTx(t,n,o){let i=18;n!==e.ethers.ZeroAddress&&(i=await(0,r.getTokenDecimals)(n,this.getRandomProvider()));const a=e.ethers.parseUnits(o.toString(),i),s=await this.contract.contribute.populateTransaction(t,n,n===e.ethers.ZeroAddress?0:a);return n===e.ethers.ZeroAddress&&(s.value=a),s}async buildContributeTxRaw(t,n,o){const r=await this.contract.contribute.populateTransaction(t,n,n===e.ethers.ZeroAddress?0:o);return n===e.ethers.ZeroAddress&&(r.value=o),r}async buildWithdrawFundsTx(t,e){const n=await(0,r.getTokenDecimals)(t,this.getRandomProvider()),o=BigInt(Math.floor(e*Math.pow(10,n)));return await this.contract.withdrawFunds.populateTransaction(t,o)}async buildClaimTokensByRoundIdTx(t){return await this.contract.claimTokensByRoundId.populateTransaction(t)}async getWhitelistedToken(t){const e=await this.contract.whitelistedTokens(t);return{isWhitelisted:e.isWhitelisted,price:Number(e.price)/this.PRICE_PRECISION,priceRaw:e.price}}async getRound(t){const e=await this.contract.rounds(t);return this.projectToken||(this.projectToken=await this.getProjectToken()),this.projectTokenDecimals||(this.projectTokenDecimals=await(0,r.getTokenDecimals)(this.projectToken,this.getRandomProvider())),{startTime:Number(e.startTime),endTime:Number(e.endTime),targetFund:Number(e.targetFund)/this.PRICE_PRECISION,totalAllocation:Number(e.totalAllocation)/10**this.projectTokenDecimals,maxFundPerAccount:Number(e.maxFundPerAccount)/this.PRICE_PRECISION,maxFundPerAccountRaw:e.maxFundPerAccount,exists:e.exists,ended:e.ended,claimingEnabled:e.claimingEnabled,refundEnabled:e.refundEnabled}}async getUserContribution(t,n){this.projectToken||(this.projectToken=await this.getProjectToken()),this.projectTokenDecimals||(this.projectTokenDecimals=await(0,r.getTokenDecimals)(this.projectToken,this.getRandomProvider()));const o=await this.contract.userContributions(t,n);let i=18;return o.contributedToken!==e.ethers.ZeroAddress&&"0x0000000000000000000000000000000000000000"!==o.contributedToken&&(i=await(0,r.getTokenDecimals)(o.contributedToken,this.getRandomProvider())),{fundAmount:Number(o.fundAmount)/this.PRICE_PRECISION,tokenAllocation:Number(o.tokenAllocation)/10**this.projectTokenDecimals,claimed:o.claimed,refunded:o.refunded,contributedToken:o.contributedToken,contributedAmount:Number(o.contributedAmount)/10**i,contributedAmountRaw:o.contributedAmount}}async getRoundRaisedFunds(t){const e=await this.contract.roundRaisedFunds(t);return Number(e)/this.PRICE_PRECISION}async getRoundParticipants(t){const e=await this.contract.roundParticipants(t);return Number(e)}async getUserParticipatedRound(t){const e=await this.contract.userParticipatedRound(t);return Number(e)}async getProjectToken(){return await this.contract.projectToken()}async getTotalRounds(){const t=await this.contract.totalRounds();return Number(t)}async getTotalRaisedFunds(){const t=await this.contract.totalRaisedFunds();return Number(t)/this.PRICE_PRECISION}async isRoundActive(t){return await this.contract.isRoundActive(t)}async getLatestRoundId(){const t=await this.getTotalRounds();return 0===t?-1:t-1}async getRoundInfo(t){const e=await this.getTotalRounds();if(t<0||t>=e)throw new Error(`Invalid round ID: ${t}`);return{roundId:t,config:await this.getRound(t),raisedFunds:await this.getRoundRaisedFunds(t),participants:await this.getRoundParticipants(t),isActive:await this.isRoundActive(t)}}async getUserTotalContribution(t){const e=await this.contract.getUserTotalContribution(t);return{totalFundAmount:Number(e.totalFundAmount)/this.PRICE_PRECISION,totalTokenAllocation:Number(e.totalTokenAllocation)}}async getTransactionStatus(t,e=10){return await(0,r.getTransactionStatus)(this.getRandomProvider(),t,e)}getContractAddress(){return this.contractAddress}async getAllEvents(t,e,n){return await this.bootstrap(),(0,r.getAllEvents)(this.contract,(()=>this.getRandomProvider()),(()=>this.getContractWithRandomProvider()),t,e,n)}async streamEvents(t,e,n,o=1e3,i=5e3,a=0,s){return await this.bootstrap(),(0,r.streamEvents)({getProvider:()=>this.getRandomProvider(),getAllEvents:(t,e)=>this.getAllEvents(t,e,s),formatEvent:t=>this.formatEventArgs(t),onEvent:e,saveLatestBlock:n,fromBlock:t,batchSize:o,sleepTime:i,blockGap:a})}async getUserRoundContribution(t,n){const[o,i]=await Promise.all([this.contract.getUserRoundContribution(t,n),this.contract.rounds(t)]),a=o.contributedToken!==e.ethers.ZeroAddress?await(0,r.getTokenDecimals)(o.contributedToken,this.getRandomProvider()):18,s={fundAmount:Number(o.fundAmount)/this.PRICE_PRECISION,tokenAllocation:Number(o.tokenAllocation),claimed:o.claimed,refunded:o.refunded,contributedToken:o.contributedToken,contributedAmount:Number(o.contributedAmount)/a,contributedAmountRaw:o.contributedAmount},d=Math.floor(Date.now()/1e3),c=i.exists&&!i.ended&&d>=Number(i.startTime)&&d<=Number(i.endTime),u={contribution:s,roundInfo:{exists:i.exists,isActive:c,claimingEnabled:i.claimingEnabled,refundEnabled:i.refundEnabled}};if(s.fundAmount>0){const t=s.contributedToken;let n="ETH",o=18;return t!==e.ethers.ZeroAddress&&([n,o]=await Promise.all([(0,r.getTokenSymbol)(t,this.getRandomProvider()),(0,r.getTokenDecimals)(t,this.getRandomProvider())])),{...u,tokenInfo:{symbol:n,decimals:o}}}return u}async buildTransferProjectTokenToContract(t){this.projectToken||(this.projectToken=await this.getProjectToken()),this.projectTokenDecimals||(this.projectTokenDecimals=await(0,r.getTokenDecimals)(this.projectToken,this.getRandomProvider()));const n=new e.ethers.Interface(["function transfer(address to, uint256 amount) returns (bool)"]),o=e.ethers.parseUnits(t.toString(),this.projectTokenDecimals);return{to:this.projectToken,data:n.encodeFunctionData("transfer",[this.contractAddress,o])}}async hasAdminRole(t){const e=await this.contract.DEFAULT_ADMIN_ROLE();return await this.contract.hasRole(e,t)}async buildGrantAdminRoleTx(t){const e=await this.contract.DEFAULT_ADMIN_ROLE();return await this.contract.grantRole.populateTransaction(e,t)}async getAdminRoleHash(){return await this.contract.DEFAULT_ADMIN_ROLE()}};
1
+ "use strict";var t=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SeedRoundFundraiserSDK=void 0;const e=require("ethers"),n=t(require("./abis/SeedRoundFundraiser.json")),o=t(require("./contracts.json")),r=require("./utils"),i=t(require("./whitelist-tokens.json"));exports.SeedRoundFundraiserSDK=class{constructor(t,i){this.name="SeedRoundFundraiser",this.isBootstrapped=!1,this.PRICE_PRECISION=1e18,this.whitelistedTokensArray=[],this.projectToken="",this.projectTokenDecimals=0,this.formatEventArgs=t=>{const{eventName:e,args:n}=t;switch(e){case"TokenWhitelisted":return{...t,args:{...n,token:n.token.toLowerCase(),price:Number(n.price)/this.PRICE_PRECISION}};case"TokenPriceUpdated":return{...t,args:{...n,token:n.token.toLowerCase(),oldPrice:Number(n.oldPrice)/this.PRICE_PRECISION,newPrice:Number(n.newPrice)/this.PRICE_PRECISION}};case"TokenRemovedFromWhitelist":return{...t,args:{...n,token:n.token.toLowerCase()}};case"RoundCreated":case"RoundUpdated":return{...t,args:{...n,roundId:Number(n.roundId),startTime:Number(n.startTime),endTime:Number(n.endTime),targetFund:Number(n.targetFund)/this.PRICE_PRECISION,totalAllocation:Number(n.totalAllocation),maxFundPerAccount:Number(n.maxFundPerAccount)/this.PRICE_PRECISION}};case"RoundEnded":return{...t,args:{...n,roundId:Number(n.roundId),raisedFunds:Number(n.raisedFunds)/this.PRICE_PRECISION,participants:Number(n.participants)}};case"Contribution":const e=this.whitelistedTokensArray.find((t=>t.address===n.token)),o=e?.decimals||18;return{...t,args:{...n,roundId:Number(n.roundId),contributor:n.contributor.toLowerCase(),token:n.token.toLowerCase(),symbol:e?.symbol||"ETH",amount:Number(n.amount)/10**o,fundAmount:Number(n.fundAmount)/this.PRICE_PRECISION,tokenAllocation:Number(n.tokenAllocation)/1e18}};case"TokensClaimed":return{...t,args:{...n,roundId:Number(n.roundId),user:n.user.toLowerCase(),amount:Number(n.amount)}};case"ProjectTokenUpdated":return{...t,args:{...n,oldToken:n.oldToken.toLowerCase(),newToken:n.newToken.toLowerCase()}};case"ClaimingEnabledUpdated":case"RefundEnabledUpdated":return{...t,args:{...n,roundId:Number(n.roundId),enabled:n.enabled}};case"Refunded":return{...t,args:{...n,roundId:Number(n.roundId),user:n.user.toLowerCase(),token:n.token.toLowerCase(),amount:Number(n.amount)}};default:return t}};const a=Array.isArray(t)?t:[t];this.providers=a.map((t=>new e.ethers.JsonRpcProvider(t,void 0,{staticNetwork:!0})));const s=(0,r.getRandomProvider)(this.providers);this.contractAddress=(0,r.resolveContractAddress)(a[0],this.name,o.default,i),this.contract=new e.ethers.Contract(this.contractAddress,n.default.abi,s),this.networkName=(0,r.getNetworkFromRpc)(a[0]),this.importWhitelistedTokens()}importWhitelistedTokens(){try{i.default[this.networkName]?(this.whitelistedTokensArray=i.default[this.networkName].map((t=>({name:t.name,address:t.address.toLowerCase(),decimals:t.decimals,symbol:t.symbol,icon:t.icon}))),console.log(`Imported ${this.whitelistedTokensArray.length} whitelisted tokens for ${this.networkName} network`)):console.log(`No whitelisted tokens found for ${this.networkName} network`)}catch(t){console.error("Error importing whitelisted tokens:",t)}}async getWhitelistedTokenInfo(t,e,n,o,r){const i=t.toLowerCase();if(!this.whitelistedTokensArray.some((t=>t.address===i)))return null;const a=await this.getWhitelistedToken(i);if(!a.isWhitelisted)return null;let s=0,d=0n;return r&&r.roundId>=0&&(d=r.maxFundPerAccountRaw*BigInt(10**n)/a.priceRaw,s=r.maxFundPerAccount/a.price),{address:i,isWhitelisted:a.isWhitelisted,price:a.price,symbol:e,maxContribution:s,maxContributionRaw:d,decimals:n,icon:o}}async getAllWhitelistedTokensInfo(){const t=await this.getLatestRoundId();let e;if(t>=0){const n=await this.getRound(t);n.exists&&!n.ended&&(e={roundId:t,maxFundPerAccount:n.maxFundPerAccount,maxFundPerAccountRaw:n.maxFundPerAccountRaw})}const n=this.whitelistedTokensArray.map((t=>this.getWhitelistedTokenInfo(t.address,t.symbol,t.decimals,t.icon,e)));return(await Promise.all(n)).filter((t=>null!==t))}getRandomProvider(){return(0,r.getRandomProvider)(this.providers)}getContractWithRandomProvider(){return new e.ethers.Contract(this.contractAddress,n.default.abi,this.getRandomProvider())}async bootstrap(){if(this.isBootstrapped)return;const t=await Promise.all(this.providers.map(((t,e)=>(0,r.checkRpcHealth)(t,e))));if(this.providers=this.providers.filter(((e,n)=>t[n])),0===this.providers.length)throw new Error("No active RPC providers available");this.projectToken=await this.getProjectToken(),this.projectTokenDecimals=await(0,r.getTokenDecimals)(this.projectToken,this.getRandomProvider()),this.isBootstrapped=!0}async signAndSendTransaction(t,e,n={}){return(0,r.signAndSendTransaction)(t,e,(()=>this.getRandomProvider()),n,this.contract)}async buildAddWhitelistedTokenTx(t,e){const n=BigInt(Math.floor(e*this.PRICE_PRECISION));return await this.contract.addWhitelistedToken.populateTransaction(t,n)}async buildUpdateTokenPriceTx(t,e){const n=BigInt(Math.floor(e*this.PRICE_PRECISION));return await this.contract.updateTokenPrice.populateTransaction(t,n)}async buildRemoveWhitelistedTokenTx(t){return await this.contract.removeWhitelistedToken.populateTransaction(t)}async buildCreateRoundTx(t,e,n,o,i){const a=BigInt(Math.floor(n*this.PRICE_PRECISION)),s=BigInt(Math.floor(i*this.PRICE_PRECISION)),d=await(0,r.getTokenDecimals)(await this.getProjectToken(),this.getRandomProvider()),c=BigInt(Math.floor(o*Math.pow(10,d)));return await this.contract.createRound.populateTransaction(t,e,a,c,s)}async buildUpdateRoundTx(t,e,n,o,i,a){const s=BigInt(Math.floor(o*this.PRICE_PRECISION)),d=BigInt(Math.floor(a*this.PRICE_PRECISION)),c=await(0,r.getTokenDecimals)(await this.getProjectToken(),this.getRandomProvider()),u=BigInt(Math.floor(i*Math.pow(10,c)));return await this.contract.updateRound.populateTransaction(t,e,n,s,u,d)}async buildEndRoundTx(t){return await this.contract.endRound.populateTransaction(t)}async buildSetClaimingEnabledTx(t,e){return await this.contract.setClaimingEnabled.populateTransaction(t,e)}async buildSetRefundEnabledTx(t,e){return await this.contract.setRefundEnabled.populateTransaction(t,e)}async buildContributeTx(t,n,o){let i=18;n!==e.ethers.ZeroAddress&&(i=await(0,r.getTokenDecimals)(n,this.getRandomProvider()));const a=e.ethers.parseUnits(o.toString(),i),s=await this.contract.contribute.populateTransaction(t,n,n===e.ethers.ZeroAddress?0:a);return n===e.ethers.ZeroAddress&&(s.value=a),s}async buildContributeTxRaw(t,n,o){const r=await this.contract.contribute.populateTransaction(t,n,n===e.ethers.ZeroAddress?0:o);return n===e.ethers.ZeroAddress&&(r.value=o),r}async buildWithdrawFundsTx(t,e){const n=await(0,r.getTokenDecimals)(t,this.getRandomProvider()),o=BigInt(Math.floor(e*Math.pow(10,n)));return await this.contract.withdrawFunds.populateTransaction(t,o)}async buildClaimTokensByRoundIdTx(t){return await this.contract.claimTokensByRoundId.populateTransaction(t)}async getWhitelistedToken(t){const e=await this.contract.whitelistedTokens(t);return{isWhitelisted:e.isWhitelisted,price:Number(e.price)/this.PRICE_PRECISION,priceRaw:e.price}}async getRound(t){const e=await this.contract.rounds(t);return this.projectToken||(this.projectToken=await this.getProjectToken()),this.projectTokenDecimals||(this.projectTokenDecimals=await(0,r.getTokenDecimals)(this.projectToken,this.getRandomProvider())),{startTime:Number(e.startTime),endTime:Number(e.endTime),targetFund:Number(e.targetFund)/this.PRICE_PRECISION,totalAllocation:Number(e.totalAllocation)/10**this.projectTokenDecimals,maxFundPerAccount:Number(e.maxFundPerAccount)/this.PRICE_PRECISION,maxFundPerAccountRaw:e.maxFundPerAccount,exists:e.exists,ended:e.ended,claimingEnabled:e.claimingEnabled,refundEnabled:e.refundEnabled}}async getUserContribution(t,n){this.projectToken||(this.projectToken=await this.getProjectToken()),this.projectTokenDecimals||(this.projectTokenDecimals=await(0,r.getTokenDecimals)(this.projectToken,this.getRandomProvider()));const o=await this.contract.userContributions(t,n);let i=18;return o.contributedToken!==e.ethers.ZeroAddress&&"0x0000000000000000000000000000000000000000"!==o.contributedToken&&(i=await(0,r.getTokenDecimals)(o.contributedToken,this.getRandomProvider())),{fundAmount:Number(o.fundAmount)/this.PRICE_PRECISION,tokenAllocation:Number(o.tokenAllocation)/10**this.projectTokenDecimals,claimed:o.claimed,refunded:o.refunded,contributedToken:o.contributedToken,contributedAmount:Number(o.contributedAmount)/10**i,contributedAmountRaw:o.contributedAmount}}async getRoundRaisedFunds(t){const e=await this.contract.roundRaisedFunds(t);return Number(e)/this.PRICE_PRECISION}async getRoundParticipants(t){const e=await this.contract.roundParticipants(t);return Number(e)}async getUserParticipatedRound(t){const e=await this.contract.userParticipatedRound(t);return Number(e)}async getProjectToken(){return await this.contract.projectToken()}async getTotalRounds(){const t=await this.contract.totalRounds();return Number(t)}async getTotalRaisedFunds(){const t=await this.contract.totalRaisedFunds();return Number(t)/this.PRICE_PRECISION}async isRoundActive(t){return await this.contract.isRoundActive(t)}async getLatestRoundId(){const t=await this.getTotalRounds();return 0===t?-1:t-1}async getRoundInfo(t){const e=await this.getTotalRounds();if(t<0||t>=e)throw new Error(`Invalid round ID: ${t}`);return{roundId:t,config:await this.getRound(t),raisedFunds:await this.getRoundRaisedFunds(t),participants:await this.getRoundParticipants(t),isActive:await this.isRoundActive(t)}}async getUserTotalContribution(t){const e=await this.contract.getUserTotalContribution(t);return{totalFundAmount:Number(e.totalFundAmount)/this.PRICE_PRECISION,totalTokenAllocation:Number(e.totalTokenAllocation)}}async getTransactionStatus(t,e=10){return await(0,r.getTransactionStatus)(this.getRandomProvider(),t,e)}getContractAddress(){return this.contractAddress}async getAllEvents(t,e,n){return await this.bootstrap(),(0,r.getAllEvents)(this.contract,(()=>this.getRandomProvider()),(()=>this.getContractWithRandomProvider()),t,e,n)}async streamEvents(t,e,n,o=1e3,i=5e3,a=0,s){return await this.bootstrap(),(0,r.streamEvents)({getProvider:()=>this.getRandomProvider(),getAllEvents:(t,e)=>this.getAllEvents(t,e,s),formatEvent:t=>this.formatEventArgs(t),onEvent:e,saveLatestBlock:n,fromBlock:t,batchSize:o,sleepTime:i,blockGap:a})}async getUserRoundContribution(t,n){const[o,i]=await Promise.all([this.contract.getUserRoundContribution(t,n),this.contract.rounds(t)]),a=o.contributedToken!==e.ethers.ZeroAddress?await(0,r.getTokenDecimals)(o.contributedToken,this.getRandomProvider()):18,s={fundAmount:Number(o.fundAmount)/this.PRICE_PRECISION,tokenAllocation:Number(o.tokenAllocation),claimed:o.claimed,refunded:o.refunded,contributedToken:o.contributedToken,contributedAmount:Number(o.contributedAmount)/a,contributedAmountRaw:o.contributedAmount},d=Math.floor(Date.now()/1e3),c=i.exists&&!i.ended&&d>=Number(i.startTime)&&d<=Number(i.endTime),u={contribution:s,roundInfo:{exists:i.exists,isActive:c,claimingEnabled:i.claimingEnabled,refundEnabled:i.refundEnabled}};if(s.fundAmount>0){const t=s.contributedToken;let n="ETH",o=18;return t!==e.ethers.ZeroAddress&&([n,o]=await Promise.all([(0,r.getTokenSymbol)(t,this.getRandomProvider()),(0,r.getTokenDecimals)(t,this.getRandomProvider())])),{...u,tokenInfo:{symbol:n,decimals:o}}}return u}async buildTransferProjectTokenToContract(t){this.projectToken||(this.projectToken=await this.getProjectToken()),this.projectTokenDecimals||(this.projectTokenDecimals=await(0,r.getTokenDecimals)(this.projectToken,this.getRandomProvider()));const n=new e.ethers.Interface(["function transfer(address to, uint256 amount) returns (bool)"]),o=e.ethers.parseUnits(t.toString(),this.projectTokenDecimals);return{to:this.projectToken,data:n.encodeFunctionData("transfer",[this.contractAddress,o])}}async hasAdminRole(t){const e=await this.contract.DEFAULT_ADMIN_ROLE();return await this.contract.hasRole(e,t)}async buildGrantAdminRoleTx(t){const e=await this.contract.DEFAULT_ADMIN_ROLE();return await this.contract.grantRole.populateTransaction(e,t)}async getAdminRoleHash(){return await this.contract.DEFAULT_ADMIN_ROLE()}};
@@ -86,6 +86,11 @@
86
86
  "name": "InvalidInitialization",
87
87
  "type": "error"
88
88
  },
89
+ {
90
+ "inputs": [],
91
+ "name": "InvalidNonce",
92
+ "type": "error"
93
+ },
89
94
  {
90
95
  "inputs": [],
91
96
  "name": "InvalidOperator",
@@ -874,17 +879,17 @@
874
879
  {
875
880
  "inputs": [
876
881
  {
877
- "internalType": "bytes32",
882
+ "internalType": "address",
878
883
  "name": "",
879
- "type": "bytes32"
884
+ "type": "address"
880
885
  }
881
886
  ],
882
- "name": "usedSignatures",
887
+ "name": "userNonces",
883
888
  "outputs": [
884
889
  {
885
- "internalType": "bool",
890
+ "internalType": "uint256",
886
891
  "name": "",
887
- "type": "bool"
892
+ "type": "uint256"
888
893
  }
889
894
  ],
890
895
  "stateMutability": "view",
@@ -929,8 +934,8 @@
929
934
  "type": "function"
930
935
  }
931
936
  ],
932
- "bytecode": "0x6080806040523460d2577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c1660c1576002600160401b03196001600160401b03821601605c575b60405161194490816100d88239f35b6001600160401b0319166001600160401b039081177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005581527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a13880604d565b63f92ee8a960e01b60005260046000fd5b600080fdfe608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a714610cb8575080630cd4884b14610c7e5780630e15561a14610c605780630e316ab714610c3757806314d6aed014610c23578063248a9ca314610bfd5780632e17de7814610b7a5780632f2ff15d14610b4957806336568abe14610b035780633a4b66f114610a465780633d840ef6146109c15780633f4ba83a1461093e578063420ed8ea146108fb5780635c975abb146108cb5780636386c1c71461087f578063715018a6146108155780637e69954e14610761578063817b1cd2146107435780638456cb59146106cf5780638da5cb5b146106995780638da7ad231461065f57806391d1485414610605578063a1ebf35d146105ca578063a217fddf146105ae578063d547741f14610578578063e8c153291461055a578063eb12d61e146104f7578063eb4af045146104a3578063eb990c5914610270578063f188768414610252578063f2fde38b14610227578063f5b541a6146101ec578063f978fd61146101bb5763facea9c51461019557600080fd5b346101b65760203660031901126101b6576101ae610ef6565b600435600255005b600080fd5b346101b65760203660031901126101b6576004356000526006602052602060ff604060002054166040519015158152f35b346101b65760003660031901126101b65760206040517f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b9298152f35b346101b65760203660031901126101b657610250610243610d0b565b61024b611671565b610e2d565b005b346101b65760003660031901126101b6576020600354604051908152f35b346101b65760803660031901126101b657610289610d0b565b610291610d21565b90606435916000805160206118ef833981519152549260ff8460401c16159367ffffffffffffffff81168015908161049b575b6001149081610491575b159081610488575b506104775767ffffffffffffffff1981166001176000805160206118ef833981519152558461044a575b506103096116a7565b6103116116a7565b61031a83610e2d565b6103226116a7565b61032a6116a7565b6103326116a7565b60016000805160206118cf8339815191525561034c6116a7565b6001600160a01b038216908115610439576103a76040936103977f171aabb8815c02fd00303450a77058600e3661eb75ce2e77972c0f080bc7099d966044356002558460035561127b565b506103a133611315565b506111e3565b508251917f5553331329228fbd4123164423717a4a7539f6dfa1c3279a923b98fd681a6c73600080a2600082526020820152a16103e057005b68ff0000000000000000196000805160206118ef83398151915254166000805160206118ef833981519152557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b63ccea9e6f60e01b60005260046000fd5b68ffffffffffffffffff191668010000000000000001176000805160206118ef8339815191525584610300565b63f92ee8a960e01b60005260046000fd5b905015866102d6565b303b1591506102ce565b8691506102c4565b346101b65760203660031901126101b6577f171aabb8815c02fd00303450a77058600e3661eb75ce2e77972c0f080bc7099d60406004356104e2610ef6565b600354908060035582519182526020820152a1005b346101b65760203660031901126101b657610510610d0b565b610518610ea3565b6001600160a01b03811690811561043957610532906111e3565b507f5553331329228fbd4123164423717a4a7539f6dfa1c3279a923b98fd681a6c73600080a2005b346101b65760003660031901126101b6576020600254604051908152f35b346101b65760403660031901126101b657610250600435610597610d21565b906105a96105a482610d65565b610f68565b611060565b346101b65760003660031901126101b657602060405160008152f35b346101b65760003660031901126101b65760206040517fe2f4eaae4a9751e85a3e4a7b9587827a877f29914755229b07a7b2da98285f708152f35b346101b65760403660031901126101b65761061e610d21565b60043560005260008051602061188f83398151915260205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b346101b65760203660031901126101b6576001600160a01b03610680610d0b565b1660005260046020526020604060002054604051908152f35b346101b65760003660031901126101b65760008051602061184f833981519152546040516001600160a01b039091168152602090f35b346101b65760003660031901126101b6576106e8610ea3565b6106f0611461565b600160ff196000805160206118af8339815191525416176000805160206118af833981519152557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b346101b65760003660031901126101b6576020600054604051908152f35b346101b65760803660031901126101b65760043560643567ffffffffffffffff81116101b6576107986107b6913690600401610d37565b906107a1611107565b6107a9611461565b604435602435853361148b565b8147106108045760008080846107ce82958233611605565b335af16107d9610dda565b50156107f35760016000805160206118cf83398151915255005b6312171d8360e31b60005260046000fd5b63786e0a9960e01b60005260046000fd5b346101b65760003660031901126101b65761082e611671565b60008051602061184f83398151915280546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346101b65760203660031901126101b65760406001600160a01b036108a2610d0b565b168060005260046020528160002054906000526005602052816000205482519182526020820152f35b346101b65760003660031901126101b657602060ff6000805160206118af83398151915254166040519015158152f35b346101b65760203660031901126101b6576000808080610919610d0b565b610921610ea3565b47906001600160a01b03165af1610936610dda565b50156107f357005b346101b65760003660031901126101b657610957610ea3565b6000805160206118af8339815191525460ff8116156109b05760ff19166000805160206118af833981519152557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b638dfc202b60e01b60005260046000fd5b346101b65760a03660031901126101b65760043560243560843567ffffffffffffffff81116101b6576109fb610a11913690600401610d37565b90610a04611107565b606435604435853361148b565b9047610a1d8285610e0a565b1161080457600080806107ce819487610a4188610a3a8333611150565b8333611605565b610e0a565b60003660031901126101b657610a5a611107565b610a62611461565b3415610af2576003543410610ae1573360005260046020526040600020610a8a348254610e0a565b9055610a9834600054610e0a565b6000556040513481524260208201527f1449c6dd7851abc30abf37f57715f492010519147cc2652fbc38202c18a6ee9060403392a260016000805160206118cf83398151915255005b638ecf3d0360e01b60005260046000fd5b631f2a200560e01b60005260046000fd5b346101b65760403660031901126101b657610b1c610d21565b336001600160a01b03821603610b385761025090600435611060565b63334bd91960e11b60005260046000fd5b346101b65760403660031901126101b657610250600435610b68610d21565b90610b756105a482610d65565b6113d1565b346101b65760203660031901126101b657600435610b96611107565b610ba08133611150565b600080808084335af1610bb1610dda565b50156107f3576040519081524260208201527f7fc4727e062e336010f2c282598ef5f14facb3de68cf8195c2f23e1454b2b74e60403392a260016000805160206118cf83398151915255005b346101b65760203660031901126101b6576020610c1b600435610d65565b604051908152f35b60003660031901126101b6573415610af257005b346101b65760203660031901126101b657610250610c53610d0b565b610c5b610ea3565b610fb2565b346101b65760003660031901126101b6576020600154604051908152f35b346101b65760203660031901126101b6576001600160a01b03610c9f610d0b565b1660005260056020526020604060002054604051908152f35b346101b65760203660031901126101b6576004359063ffffffff60e01b82168092036101b657602091637965db0b60e01b8114908115610cfa575b5015158152f35b6301ffc9a760e01b14905083610cf3565b600435906001600160a01b03821682036101b657565b602435906001600160a01b03821682036101b657565b9181601f840112156101b65782359167ffffffffffffffff83116101b657602083818601950101116101b657565b60005260008051602061188f83398151915260205260016040600020015490565b90601f8019910116810190811067ffffffffffffffff821117610da857604052565b634e487b7160e01b600052604160045260246000fd5b67ffffffffffffffff8111610da857601f01601f191660200190565b3d15610e05573d90610deb82610dbe565b91610df96040519384610d86565b82523d6000602084013e565b606090565b91908201809211610e1757565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b03168015610e8d5760008051602061184f83398151915280546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b631e4fbdf760e01b600052600060045260246000fd5b3360009081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff1615610edc57565b63e2517d3f60e01b60005233600452600060245260446000fd5b3360009081527f448256db8f8fb95ee3eaaf89c1051414494e85cebb6057fcf996cc3d0ccfb456602052604090205460ff1615610f2f57565b63e2517d3f60e01b600052336004527f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92960245260446000fd5b600081815260008051602061188f8339815191526020908152604080832033845290915290205460ff1615610f9a5750565b63e2517d3f60e01b6000523360045260245260446000fd5b6001600160a01b038116600090815260008051602061186f833981519152602052604090205460ff161561105a576001600160a01b0316600081815260008051602061186f83398151915260205260408120805460ff191690553391907fe2f4eaae4a9751e85a3e4a7b9587827a877f29914755229b07a7b2da98285f70907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b50600090565b600081815260008051602061188f833981519152602090815260408083206001600160a01b038616845290915290205460ff161561110057600081815260008051602061188f833981519152602090815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b5050600090565b60026000805160206118cf83398151915254146111325760026000805160206118cf83398151915255565b633ee5aeb560e01b60005260046000fd5b91908203918211610e1757565b8115610af2576001600160a01b031660008181526004602052604090205490919081116111d25760407f7fc4727e062e336010f2c282598ef5f14facb3de68cf8195c2f23e1454b2b74e91836000526004602052816000206111b3828254611143565b90556111c181600054611143565b6000558151908152426020820152a2565b6378de4a6960e11b60005260046000fd5b6001600160a01b038116600090815260008051602061186f833981519152602052604090205460ff1661105a576001600160a01b0316600081815260008051602061186f83398151915260205260408120805460ff191660011790553391907fe2f4eaae4a9751e85a3e4a7b9587827a877f29914755229b07a7b2da98285f709060008051602061182f8339815191529080a4600190565b6001600160a01b03811660009081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff1661105a576001600160a01b031660008181527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260408120805460ff1916600117905533919060008051602061182f8339815191528180a4600190565b6001600160a01b03811660009081527f448256db8f8fb95ee3eaaf89c1051414494e85cebb6057fcf996cc3d0ccfb456602052604090205460ff1661105a576001600160a01b031660008181527f448256db8f8fb95ee3eaaf89c1051414494e85cebb6057fcf996cc3d0ccfb45660205260408120805460ff191660011790553391907f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b9299060008051602061182f8339815191529080a4600190565b600081815260008051602061188f833981519152602090815260408083206001600160a01b038616845290915290205460ff1661110057600081815260008051602061188f833981519152602090815260408083206001600160a01b0395909516808452949091528120805460ff191660011790553392919060008051602061182f8339815191529080a4600190565b60ff6000805160206118af833981519152541661147a57565b63d93c066560e01b60005260046000fd5b9290919493948215610af25760025483116115f4578142116115e3576040519260208401943060601b86526bffffffffffffffffffffffff199060601b166034850152604884015260688301526088820152608881526114ec60a882610d86565b5190207f19457468657265756d205369676e6564204d6573736167653a0a333200000000600052601c52603c6000209182600052600660205260ff604060002054166115d25761153b82610dbe565b6115486040519182610d86565b82815236838301116101b65760006020846115789561156f958386013783010152836116d5565b90929192611711565b6001600160a01b0316600090815260008051602061186f833981519152602052604090205460ff16156115c1578060005260066020526040600020600160ff1982541617905590565b638baa579f60e01b60005260046000fd5b630d75493360e01b60005260046000fd5b630819bdcd60e01b60005260046000fd5b636d363c4560e01b60005260046000fd5b7f41e99e9dc0d7cfce35db1b179b2938d186cbc127e72e9058202a7159ff3b44d69160609160018060a01b031693846000526005602052604060002061164c838254610e0a565b905561165a82600154610e0a565b6001556040519182524260208301526040820152a2565b60008051602061184f833981519152546001600160a01b0316330361169257565b63118cdaa760e01b6000523360045260246000fd5b60ff6000805160206118ef8339815191525460401c16156116c457565b631afcd79f60e31b60005260046000fd5b8151919060418303611706576116ff92506020820151906060604084015193015160001a90611799565b9192909190565b505060009160029190565b9190916004811015611783578061172757509050565b6000600182036117425763f645eedf60e01b60005260046000fd5b5060028103611760578263fce698f760e01b60005260045260246000fd5b9091600360009214611770575050565b6335e2f38360e21b825260045260249150fd5b634e487b7160e01b600052602160045260246000fd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411611822579160209360809260ff60009560405194855216868401526040830152606082015282805260015afa15611816576000516001600160a01b0381161561180a5790600090600090565b50600090600190600090565b6040513d6000823e3d90fd5b5050506000916003919056fe2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300ed82e8858f919528fd86c81da277f0812ef4876fae8bc5251645af9640d3f49f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800cd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212203943c117bee9f8422e1fc19e8a213361f03eaf44333381ea7426c465b3f9e81e64736f6c634300081c0033",
933
- "deployedBytecode": "0x608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a714610cb8575080630cd4884b14610c7e5780630e15561a14610c605780630e316ab714610c3757806314d6aed014610c23578063248a9ca314610bfd5780632e17de7814610b7a5780632f2ff15d14610b4957806336568abe14610b035780633a4b66f114610a465780633d840ef6146109c15780633f4ba83a1461093e578063420ed8ea146108fb5780635c975abb146108cb5780636386c1c71461087f578063715018a6146108155780637e69954e14610761578063817b1cd2146107435780638456cb59146106cf5780638da5cb5b146106995780638da7ad231461065f57806391d1485414610605578063a1ebf35d146105ca578063a217fddf146105ae578063d547741f14610578578063e8c153291461055a578063eb12d61e146104f7578063eb4af045146104a3578063eb990c5914610270578063f188768414610252578063f2fde38b14610227578063f5b541a6146101ec578063f978fd61146101bb5763facea9c51461019557600080fd5b346101b65760203660031901126101b6576101ae610ef6565b600435600255005b600080fd5b346101b65760203660031901126101b6576004356000526006602052602060ff604060002054166040519015158152f35b346101b65760003660031901126101b65760206040517f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b9298152f35b346101b65760203660031901126101b657610250610243610d0b565b61024b611671565b610e2d565b005b346101b65760003660031901126101b6576020600354604051908152f35b346101b65760803660031901126101b657610289610d0b565b610291610d21565b90606435916000805160206118ef833981519152549260ff8460401c16159367ffffffffffffffff81168015908161049b575b6001149081610491575b159081610488575b506104775767ffffffffffffffff1981166001176000805160206118ef833981519152558461044a575b506103096116a7565b6103116116a7565b61031a83610e2d565b6103226116a7565b61032a6116a7565b6103326116a7565b60016000805160206118cf8339815191525561034c6116a7565b6001600160a01b038216908115610439576103a76040936103977f171aabb8815c02fd00303450a77058600e3661eb75ce2e77972c0f080bc7099d966044356002558460035561127b565b506103a133611315565b506111e3565b508251917f5553331329228fbd4123164423717a4a7539f6dfa1c3279a923b98fd681a6c73600080a2600082526020820152a16103e057005b68ff0000000000000000196000805160206118ef83398151915254166000805160206118ef833981519152557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b63ccea9e6f60e01b60005260046000fd5b68ffffffffffffffffff191668010000000000000001176000805160206118ef8339815191525584610300565b63f92ee8a960e01b60005260046000fd5b905015866102d6565b303b1591506102ce565b8691506102c4565b346101b65760203660031901126101b6577f171aabb8815c02fd00303450a77058600e3661eb75ce2e77972c0f080bc7099d60406004356104e2610ef6565b600354908060035582519182526020820152a1005b346101b65760203660031901126101b657610510610d0b565b610518610ea3565b6001600160a01b03811690811561043957610532906111e3565b507f5553331329228fbd4123164423717a4a7539f6dfa1c3279a923b98fd681a6c73600080a2005b346101b65760003660031901126101b6576020600254604051908152f35b346101b65760403660031901126101b657610250600435610597610d21565b906105a96105a482610d65565b610f68565b611060565b346101b65760003660031901126101b657602060405160008152f35b346101b65760003660031901126101b65760206040517fe2f4eaae4a9751e85a3e4a7b9587827a877f29914755229b07a7b2da98285f708152f35b346101b65760403660031901126101b65761061e610d21565b60043560005260008051602061188f83398151915260205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b346101b65760203660031901126101b6576001600160a01b03610680610d0b565b1660005260046020526020604060002054604051908152f35b346101b65760003660031901126101b65760008051602061184f833981519152546040516001600160a01b039091168152602090f35b346101b65760003660031901126101b6576106e8610ea3565b6106f0611461565b600160ff196000805160206118af8339815191525416176000805160206118af833981519152557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b346101b65760003660031901126101b6576020600054604051908152f35b346101b65760803660031901126101b65760043560643567ffffffffffffffff81116101b6576107986107b6913690600401610d37565b906107a1611107565b6107a9611461565b604435602435853361148b565b8147106108045760008080846107ce82958233611605565b335af16107d9610dda565b50156107f35760016000805160206118cf83398151915255005b6312171d8360e31b60005260046000fd5b63786e0a9960e01b60005260046000fd5b346101b65760003660031901126101b65761082e611671565b60008051602061184f83398151915280546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346101b65760203660031901126101b65760406001600160a01b036108a2610d0b565b168060005260046020528160002054906000526005602052816000205482519182526020820152f35b346101b65760003660031901126101b657602060ff6000805160206118af83398151915254166040519015158152f35b346101b65760203660031901126101b6576000808080610919610d0b565b610921610ea3565b47906001600160a01b03165af1610936610dda565b50156107f357005b346101b65760003660031901126101b657610957610ea3565b6000805160206118af8339815191525460ff8116156109b05760ff19166000805160206118af833981519152557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b638dfc202b60e01b60005260046000fd5b346101b65760a03660031901126101b65760043560243560843567ffffffffffffffff81116101b6576109fb610a11913690600401610d37565b90610a04611107565b606435604435853361148b565b9047610a1d8285610e0a565b1161080457600080806107ce819487610a4188610a3a8333611150565b8333611605565b610e0a565b60003660031901126101b657610a5a611107565b610a62611461565b3415610af2576003543410610ae1573360005260046020526040600020610a8a348254610e0a565b9055610a9834600054610e0a565b6000556040513481524260208201527f1449c6dd7851abc30abf37f57715f492010519147cc2652fbc38202c18a6ee9060403392a260016000805160206118cf83398151915255005b638ecf3d0360e01b60005260046000fd5b631f2a200560e01b60005260046000fd5b346101b65760403660031901126101b657610b1c610d21565b336001600160a01b03821603610b385761025090600435611060565b63334bd91960e11b60005260046000fd5b346101b65760403660031901126101b657610250600435610b68610d21565b90610b756105a482610d65565b6113d1565b346101b65760203660031901126101b657600435610b96611107565b610ba08133611150565b600080808084335af1610bb1610dda565b50156107f3576040519081524260208201527f7fc4727e062e336010f2c282598ef5f14facb3de68cf8195c2f23e1454b2b74e60403392a260016000805160206118cf83398151915255005b346101b65760203660031901126101b6576020610c1b600435610d65565b604051908152f35b60003660031901126101b6573415610af257005b346101b65760203660031901126101b657610250610c53610d0b565b610c5b610ea3565b610fb2565b346101b65760003660031901126101b6576020600154604051908152f35b346101b65760203660031901126101b6576001600160a01b03610c9f610d0b565b1660005260056020526020604060002054604051908152f35b346101b65760203660031901126101b6576004359063ffffffff60e01b82168092036101b657602091637965db0b60e01b8114908115610cfa575b5015158152f35b6301ffc9a760e01b14905083610cf3565b600435906001600160a01b03821682036101b657565b602435906001600160a01b03821682036101b657565b9181601f840112156101b65782359167ffffffffffffffff83116101b657602083818601950101116101b657565b60005260008051602061188f83398151915260205260016040600020015490565b90601f8019910116810190811067ffffffffffffffff821117610da857604052565b634e487b7160e01b600052604160045260246000fd5b67ffffffffffffffff8111610da857601f01601f191660200190565b3d15610e05573d90610deb82610dbe565b91610df96040519384610d86565b82523d6000602084013e565b606090565b91908201809211610e1757565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b03168015610e8d5760008051602061184f83398151915280546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b631e4fbdf760e01b600052600060045260246000fd5b3360009081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff1615610edc57565b63e2517d3f60e01b60005233600452600060245260446000fd5b3360009081527f448256db8f8fb95ee3eaaf89c1051414494e85cebb6057fcf996cc3d0ccfb456602052604090205460ff1615610f2f57565b63e2517d3f60e01b600052336004527f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92960245260446000fd5b600081815260008051602061188f8339815191526020908152604080832033845290915290205460ff1615610f9a5750565b63e2517d3f60e01b6000523360045260245260446000fd5b6001600160a01b038116600090815260008051602061186f833981519152602052604090205460ff161561105a576001600160a01b0316600081815260008051602061186f83398151915260205260408120805460ff191690553391907fe2f4eaae4a9751e85a3e4a7b9587827a877f29914755229b07a7b2da98285f70907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b50600090565b600081815260008051602061188f833981519152602090815260408083206001600160a01b038616845290915290205460ff161561110057600081815260008051602061188f833981519152602090815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b5050600090565b60026000805160206118cf83398151915254146111325760026000805160206118cf83398151915255565b633ee5aeb560e01b60005260046000fd5b91908203918211610e1757565b8115610af2576001600160a01b031660008181526004602052604090205490919081116111d25760407f7fc4727e062e336010f2c282598ef5f14facb3de68cf8195c2f23e1454b2b74e91836000526004602052816000206111b3828254611143565b90556111c181600054611143565b6000558151908152426020820152a2565b6378de4a6960e11b60005260046000fd5b6001600160a01b038116600090815260008051602061186f833981519152602052604090205460ff1661105a576001600160a01b0316600081815260008051602061186f83398151915260205260408120805460ff191660011790553391907fe2f4eaae4a9751e85a3e4a7b9587827a877f29914755229b07a7b2da98285f709060008051602061182f8339815191529080a4600190565b6001600160a01b03811660009081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff1661105a576001600160a01b031660008181527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260408120805460ff1916600117905533919060008051602061182f8339815191528180a4600190565b6001600160a01b03811660009081527f448256db8f8fb95ee3eaaf89c1051414494e85cebb6057fcf996cc3d0ccfb456602052604090205460ff1661105a576001600160a01b031660008181527f448256db8f8fb95ee3eaaf89c1051414494e85cebb6057fcf996cc3d0ccfb45660205260408120805460ff191660011790553391907f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b9299060008051602061182f8339815191529080a4600190565b600081815260008051602061188f833981519152602090815260408083206001600160a01b038616845290915290205460ff1661110057600081815260008051602061188f833981519152602090815260408083206001600160a01b0395909516808452949091528120805460ff191660011790553392919060008051602061182f8339815191529080a4600190565b60ff6000805160206118af833981519152541661147a57565b63d93c066560e01b60005260046000fd5b9290919493948215610af25760025483116115f4578142116115e3576040519260208401943060601b86526bffffffffffffffffffffffff199060601b166034850152604884015260688301526088820152608881526114ec60a882610d86565b5190207f19457468657265756d205369676e6564204d6573736167653a0a333200000000600052601c52603c6000209182600052600660205260ff604060002054166115d25761153b82610dbe565b6115486040519182610d86565b82815236838301116101b65760006020846115789561156f958386013783010152836116d5565b90929192611711565b6001600160a01b0316600090815260008051602061186f833981519152602052604090205460ff16156115c1578060005260066020526040600020600160ff1982541617905590565b638baa579f60e01b60005260046000fd5b630d75493360e01b60005260046000fd5b630819bdcd60e01b60005260046000fd5b636d363c4560e01b60005260046000fd5b7f41e99e9dc0d7cfce35db1b179b2938d186cbc127e72e9058202a7159ff3b44d69160609160018060a01b031693846000526005602052604060002061164c838254610e0a565b905561165a82600154610e0a565b6001556040519182524260208301526040820152a2565b60008051602061184f833981519152546001600160a01b0316330361169257565b63118cdaa760e01b6000523360045260246000fd5b60ff6000805160206118ef8339815191525460401c16156116c457565b631afcd79f60e31b60005260046000fd5b8151919060418303611706576116ff92506020820151906060604084015193015160001a90611799565b9192909190565b505060009160029190565b9190916004811015611783578061172757509050565b6000600182036117425763f645eedf60e01b60005260046000fd5b5060028103611760578263fce698f760e01b60005260045260246000fd5b9091600360009214611770575050565b6335e2f38360e21b825260045260249150fd5b634e487b7160e01b600052602160045260246000fd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411611822579160209360809260ff60009560405194855216868401526040830152606082015282805260015afa15611816576000516001600160a01b0381161561180a5790600090600090565b50600090600190600090565b6040513d6000823e3d90fd5b5050506000916003919056fe2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300ed82e8858f919528fd86c81da277f0812ef4876fae8bc5251645af9640d3f49f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800cd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212203943c117bee9f8422e1fc19e8a213361f03eaf44333381ea7426c465b3f9e81e64736f6c634300081c0033",
937
+ "bytecode": "0x6080806040523460d2577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c1660c1576002600160401b03196001600160401b03821601605c575b60405161195b90816100d88239f35b6001600160401b0319166001600160401b039081177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005581527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a13880604d565b63f92ee8a960e01b60005260046000fd5b600080fdfe608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a714610cc1575080630cd4884b14610c875780630e15561a14610c695780630e316ab714610c4057806314d6aed014610c2c578063248a9ca314610c065780632e17de7814610b835780632f2ff15d14610b525780632f7801f414610b1857806336568abe14610ad25780633a4b66f114610a155780633d840ef6146109905780633f4ba83a1461090d578063420ed8ea146108ca5780635c975abb1461089a5780636386c1c71461084e578063715018a6146107e45780637e69954e14610730578063817b1cd2146107125780638456cb591461069e5780638da5cb5b146106685780638da7ad231461062e57806391d14854146105d4578063a1ebf35d14610599578063a217fddf1461057d578063d547741f14610547578063e8c1532914610529578063eb12d61e146104c6578063eb4af04514610472578063eb990c591461023f578063f188768414610221578063f2fde38b146101f6578063f5b541a6146101bb5763facea9c51461019557600080fd5b346101b65760203660031901126101b6576101ae610eff565b600435600255005b600080fd5b346101b65760003660031901126101b65760206040517f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b9298152f35b346101b65760203660031901126101b65761021f610212610d14565b61021a611688565b610e36565b005b346101b65760003660031901126101b6576020600354604051908152f35b346101b65760803660031901126101b657610258610d14565b610260610d2a565b9060643591600080516020611906833981519152549260ff8460401c16159367ffffffffffffffff81168015908161046a575b6001149081610460575b159081610457575b506104465767ffffffffffffffff1981166001176000805160206119068339815191525584610419575b506102d86116be565b6102e06116be565b6102e983610e36565b6102f16116be565b6102f96116be565b6103016116be565b60016000805160206118e68339815191525561031b6116be565b6001600160a01b038216908115610408576103766040936103667f171aabb8815c02fd00303450a77058600e3661eb75ce2e77972c0f080bc7099d9660443560025584600355611284565b506103703361131e565b506111ec565b508251917f5553331329228fbd4123164423717a4a7539f6dfa1c3279a923b98fd681a6c73600080a2600082526020820152a16103af57005b68ff0000000000000000196000805160206119068339815191525416600080516020611906833981519152557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b63ccea9e6f60e01b60005260046000fd5b68ffffffffffffffffff1916680100000000000000011760008051602061190683398151915255846102cf565b63f92ee8a960e01b60005260046000fd5b905015866102a5565b303b15915061029d565b869150610293565b346101b65760203660031901126101b6577f171aabb8815c02fd00303450a77058600e3661eb75ce2e77972c0f080bc7099d60406004356104b1610eff565b600354908060035582519182526020820152a1005b346101b65760203660031901126101b6576104df610d14565b6104e7610eac565b6001600160a01b03811690811561040857610501906111ec565b507f5553331329228fbd4123164423717a4a7539f6dfa1c3279a923b98fd681a6c73600080a2005b346101b65760003660031901126101b6576020600254604051908152f35b346101b65760403660031901126101b65761021f600435610566610d2a565b9061057861057382610d6e565b610f71565b611069565b346101b65760003660031901126101b657602060405160008152f35b346101b65760003660031901126101b65760206040517fe2f4eaae4a9751e85a3e4a7b9587827a877f29914755229b07a7b2da98285f708152f35b346101b65760403660031901126101b6576105ed610d2a565b6004356000526000805160206118a683398151915260205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b346101b65760203660031901126101b6576001600160a01b0361064f610d14565b1660005260046020526020604060002054604051908152f35b346101b65760003660031901126101b657600080516020611866833981519152546040516001600160a01b039091168152602090f35b346101b65760003660031901126101b6576106b7610eac565b6106bf61146a565b600160ff196000805160206118c68339815191525416176000805160206118c6833981519152557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b346101b65760003660031901126101b6576020600054604051908152f35b346101b65760803660031901126101b65760043560643567ffffffffffffffff81116101b657610767610785913690600401610d40565b90610770611110565b61077861146a565b6044356024358533611494565b8147106107d357600080808461079d8295823361161c565b335af16107a8610de3565b50156107c25760016000805160206118e683398151915255005b6312171d8360e31b60005260046000fd5b63786e0a9960e01b60005260046000fd5b346101b65760003660031901126101b6576107fd611688565b60008051602061186683398151915280546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346101b65760203660031901126101b65760406001600160a01b03610871610d14565b168060005260046020528160002054906000526005602052816000205482519182526020820152f35b346101b65760003660031901126101b657602060ff6000805160206118c683398151915254166040519015158152f35b346101b65760203660031901126101b65760008080806108e8610d14565b6108f0610eac565b47906001600160a01b03165af1610905610de3565b50156107c257005b346101b65760003660031901126101b657610926610eac565b6000805160206118c68339815191525460ff81161561097f5760ff19166000805160206118c6833981519152557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b638dfc202b60e01b60005260046000fd5b346101b65760a03660031901126101b65760043560243560843567ffffffffffffffff81116101b6576109ca6109e0913690600401610d40565b906109d3611110565b6064356044358533611494565b90476109ec8285610e13565b116107d3576000808061079d819487610a1088610a098333611159565b833361161c565b610e13565b60003660031901126101b657610a29611110565b610a3161146a565b3415610ac1576003543410610ab0573360005260046020526040600020610a59348254610e13565b9055610a6734600054610e13565b6000556040513481524260208201527f1449c6dd7851abc30abf37f57715f492010519147cc2652fbc38202c18a6ee9060403392a260016000805160206118e683398151915255005b638ecf3d0360e01b60005260046000fd5b631f2a200560e01b60005260046000fd5b346101b65760403660031901126101b657610aeb610d2a565b336001600160a01b03821603610b075761021f90600435611069565b63334bd91960e11b60005260046000fd5b346101b65760203660031901126101b6576001600160a01b03610b39610d14565b1660005260066020526020604060002054604051908152f35b346101b65760403660031901126101b65761021f600435610b71610d2a565b90610b7e61057382610d6e565b6113da565b346101b65760203660031901126101b657600435610b9f611110565b610ba98133611159565b600080808084335af1610bba610de3565b50156107c2576040519081524260208201527f7fc4727e062e336010f2c282598ef5f14facb3de68cf8195c2f23e1454b2b74e60403392a260016000805160206118e683398151915255005b346101b65760203660031901126101b6576020610c24600435610d6e565b604051908152f35b60003660031901126101b6573415610ac157005b346101b65760203660031901126101b65761021f610c5c610d14565b610c64610eac565b610fbb565b346101b65760003660031901126101b6576020600154604051908152f35b346101b65760203660031901126101b6576001600160a01b03610ca8610d14565b1660005260056020526020604060002054604051908152f35b346101b65760203660031901126101b6576004359063ffffffff60e01b82168092036101b657602091637965db0b60e01b8114908115610d03575b5015158152f35b6301ffc9a760e01b14905083610cfc565b600435906001600160a01b03821682036101b657565b602435906001600160a01b03821682036101b657565b9181601f840112156101b65782359167ffffffffffffffff83116101b657602083818601950101116101b657565b6000526000805160206118a683398151915260205260016040600020015490565b90601f8019910116810190811067ffffffffffffffff821117610db157604052565b634e487b7160e01b600052604160045260246000fd5b67ffffffffffffffff8111610db157601f01601f191660200190565b3d15610e0e573d90610df482610dc7565b91610e026040519384610d8f565b82523d6000602084013e565b606090565b91908201809211610e2057565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b03168015610e965760008051602061186683398151915280546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b631e4fbdf760e01b600052600060045260246000fd5b3360009081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff1615610ee557565b63e2517d3f60e01b60005233600452600060245260446000fd5b3360009081527f448256db8f8fb95ee3eaaf89c1051414494e85cebb6057fcf996cc3d0ccfb456602052604090205460ff1615610f3857565b63e2517d3f60e01b600052336004527f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92960245260446000fd5b60008181526000805160206118a68339815191526020908152604080832033845290915290205460ff1615610fa35750565b63e2517d3f60e01b6000523360045260245260446000fd5b6001600160a01b0381166000908152600080516020611886833981519152602052604090205460ff1615611063576001600160a01b0316600081815260008051602061188683398151915260205260408120805460ff191690553391907fe2f4eaae4a9751e85a3e4a7b9587827a877f29914755229b07a7b2da98285f70907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b50600090565b60008181526000805160206118a6833981519152602090815260408083206001600160a01b038616845290915290205460ff16156111095760008181526000805160206118a6833981519152602090815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b5050600090565b60026000805160206118e6833981519152541461113b5760026000805160206118e683398151915255565b633ee5aeb560e01b60005260046000fd5b91908203918211610e2057565b8115610ac1576001600160a01b031660008181526004602052604090205490919081116111db5760407f7fc4727e062e336010f2c282598ef5f14facb3de68cf8195c2f23e1454b2b74e91836000526004602052816000206111bc82825461114c565b90556111ca8160005461114c565b6000558151908152426020820152a2565b6378de4a6960e11b60005260046000fd5b6001600160a01b0381166000908152600080516020611886833981519152602052604090205460ff16611063576001600160a01b0316600081815260008051602061188683398151915260205260408120805460ff191660011790553391907fe2f4eaae4a9751e85a3e4a7b9587827a877f29914755229b07a7b2da98285f70906000805160206118468339815191529080a4600190565b6001600160a01b03811660009081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff16611063576001600160a01b031660008181527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260408120805460ff191660011790553391906000805160206118468339815191528180a4600190565b6001600160a01b03811660009081527f448256db8f8fb95ee3eaaf89c1051414494e85cebb6057fcf996cc3d0ccfb456602052604090205460ff16611063576001600160a01b031660008181527f448256db8f8fb95ee3eaaf89c1051414494e85cebb6057fcf996cc3d0ccfb45660205260408120805460ff191660011790553391907f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b929906000805160206118468339815191529080a4600190565b60008181526000805160206118a6833981519152602090815260408083206001600160a01b038616845290915290205460ff166111095760008181526000805160206118a6833981519152602090815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291906000805160206118468339815191529080a4600190565b60ff6000805160206118c6833981519152541661148357565b63d93c066560e01b60005260046000fd5b919394928115610ac157600254821161160b578042116115fa576001600160a01b03831660008181526006602052604090205490959081036115e9576040519260208401943060601b86526bffffffffffffffffffffffff199060601b1660348501526048840152606883015260888201526088815261151560a882610d8f565b5190207f19457468657265756d205369676e6564204d6573736167653a0a333200000000600052601c52603c6000209261154e82610dc7565b61155b6040519182610d8f565b82815236838301116101b657600060208461158b95611582958386013783010152846116ec565b90929192611728565b6001600160a01b03166000908152600080516020611886833981519152602052604090205460ff16156115d8576000526006602052604060002080546000198114610e2057600101905590565b638baa579f60e01b60005260046000fd5b633ab3447f60e11b60005260046000fd5b630819bdcd60e01b60005260046000fd5b636d363c4560e01b60005260046000fd5b7f41e99e9dc0d7cfce35db1b179b2938d186cbc127e72e9058202a7159ff3b44d69160609160018060a01b0316938460005260056020526040600020611663838254610e13565b905561167182600154610e13565b6001556040519182524260208301526040820152a2565b600080516020611866833981519152546001600160a01b031633036116a957565b63118cdaa760e01b6000523360045260246000fd5b60ff6000805160206119068339815191525460401c16156116db57565b631afcd79f60e31b60005260046000fd5b815191906041830361171d5761171692506020820151906060604084015193015160001a906117b0565b9192909190565b505060009160029190565b919091600481101561179a578061173e57509050565b6000600182036117595763f645eedf60e01b60005260046000fd5b5060028103611777578263fce698f760e01b60005260045260246000fd5b9091600360009214611787575050565b6335e2f38360e21b825260045260249150fd5b634e487b7160e01b600052602160045260246000fd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411611839579160209360809260ff60009560405194855216868401526040830152606082015282805260015afa1561182d576000516001600160a01b038116156118215790600090600090565b50600090600190600090565b6040513d6000823e3d90fd5b5050506000916003919056fe2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300ed82e8858f919528fd86c81da277f0812ef4876fae8bc5251645af9640d3f49f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800cd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220558fda1858d2bf95d755ef762ffc8bb34086b71c82967d295cccffbf663472cd64736f6c634300081c0033",
938
+ "deployedBytecode": "0x608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a714610cc1575080630cd4884b14610c875780630e15561a14610c695780630e316ab714610c4057806314d6aed014610c2c578063248a9ca314610c065780632e17de7814610b835780632f2ff15d14610b525780632f7801f414610b1857806336568abe14610ad25780633a4b66f114610a155780633d840ef6146109905780633f4ba83a1461090d578063420ed8ea146108ca5780635c975abb1461089a5780636386c1c71461084e578063715018a6146107e45780637e69954e14610730578063817b1cd2146107125780638456cb591461069e5780638da5cb5b146106685780638da7ad231461062e57806391d14854146105d4578063a1ebf35d14610599578063a217fddf1461057d578063d547741f14610547578063e8c1532914610529578063eb12d61e146104c6578063eb4af04514610472578063eb990c591461023f578063f188768414610221578063f2fde38b146101f6578063f5b541a6146101bb5763facea9c51461019557600080fd5b346101b65760203660031901126101b6576101ae610eff565b600435600255005b600080fd5b346101b65760003660031901126101b65760206040517f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b9298152f35b346101b65760203660031901126101b65761021f610212610d14565b61021a611688565b610e36565b005b346101b65760003660031901126101b6576020600354604051908152f35b346101b65760803660031901126101b657610258610d14565b610260610d2a565b9060643591600080516020611906833981519152549260ff8460401c16159367ffffffffffffffff81168015908161046a575b6001149081610460575b159081610457575b506104465767ffffffffffffffff1981166001176000805160206119068339815191525584610419575b506102d86116be565b6102e06116be565b6102e983610e36565b6102f16116be565b6102f96116be565b6103016116be565b60016000805160206118e68339815191525561031b6116be565b6001600160a01b038216908115610408576103766040936103667f171aabb8815c02fd00303450a77058600e3661eb75ce2e77972c0f080bc7099d9660443560025584600355611284565b506103703361131e565b506111ec565b508251917f5553331329228fbd4123164423717a4a7539f6dfa1c3279a923b98fd681a6c73600080a2600082526020820152a16103af57005b68ff0000000000000000196000805160206119068339815191525416600080516020611906833981519152557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b63ccea9e6f60e01b60005260046000fd5b68ffffffffffffffffff1916680100000000000000011760008051602061190683398151915255846102cf565b63f92ee8a960e01b60005260046000fd5b905015866102a5565b303b15915061029d565b869150610293565b346101b65760203660031901126101b6577f171aabb8815c02fd00303450a77058600e3661eb75ce2e77972c0f080bc7099d60406004356104b1610eff565b600354908060035582519182526020820152a1005b346101b65760203660031901126101b6576104df610d14565b6104e7610eac565b6001600160a01b03811690811561040857610501906111ec565b507f5553331329228fbd4123164423717a4a7539f6dfa1c3279a923b98fd681a6c73600080a2005b346101b65760003660031901126101b6576020600254604051908152f35b346101b65760403660031901126101b65761021f600435610566610d2a565b9061057861057382610d6e565b610f71565b611069565b346101b65760003660031901126101b657602060405160008152f35b346101b65760003660031901126101b65760206040517fe2f4eaae4a9751e85a3e4a7b9587827a877f29914755229b07a7b2da98285f708152f35b346101b65760403660031901126101b6576105ed610d2a565b6004356000526000805160206118a683398151915260205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b346101b65760203660031901126101b6576001600160a01b0361064f610d14565b1660005260046020526020604060002054604051908152f35b346101b65760003660031901126101b657600080516020611866833981519152546040516001600160a01b039091168152602090f35b346101b65760003660031901126101b6576106b7610eac565b6106bf61146a565b600160ff196000805160206118c68339815191525416176000805160206118c6833981519152557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b346101b65760003660031901126101b6576020600054604051908152f35b346101b65760803660031901126101b65760043560643567ffffffffffffffff81116101b657610767610785913690600401610d40565b90610770611110565b61077861146a565b6044356024358533611494565b8147106107d357600080808461079d8295823361161c565b335af16107a8610de3565b50156107c25760016000805160206118e683398151915255005b6312171d8360e31b60005260046000fd5b63786e0a9960e01b60005260046000fd5b346101b65760003660031901126101b6576107fd611688565b60008051602061186683398151915280546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346101b65760203660031901126101b65760406001600160a01b03610871610d14565b168060005260046020528160002054906000526005602052816000205482519182526020820152f35b346101b65760003660031901126101b657602060ff6000805160206118c683398151915254166040519015158152f35b346101b65760203660031901126101b65760008080806108e8610d14565b6108f0610eac565b47906001600160a01b03165af1610905610de3565b50156107c257005b346101b65760003660031901126101b657610926610eac565b6000805160206118c68339815191525460ff81161561097f5760ff19166000805160206118c6833981519152557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b638dfc202b60e01b60005260046000fd5b346101b65760a03660031901126101b65760043560243560843567ffffffffffffffff81116101b6576109ca6109e0913690600401610d40565b906109d3611110565b6064356044358533611494565b90476109ec8285610e13565b116107d3576000808061079d819487610a1088610a098333611159565b833361161c565b610e13565b60003660031901126101b657610a29611110565b610a3161146a565b3415610ac1576003543410610ab0573360005260046020526040600020610a59348254610e13565b9055610a6734600054610e13565b6000556040513481524260208201527f1449c6dd7851abc30abf37f57715f492010519147cc2652fbc38202c18a6ee9060403392a260016000805160206118e683398151915255005b638ecf3d0360e01b60005260046000fd5b631f2a200560e01b60005260046000fd5b346101b65760403660031901126101b657610aeb610d2a565b336001600160a01b03821603610b075761021f90600435611069565b63334bd91960e11b60005260046000fd5b346101b65760203660031901126101b6576001600160a01b03610b39610d14565b1660005260066020526020604060002054604051908152f35b346101b65760403660031901126101b65761021f600435610b71610d2a565b90610b7e61057382610d6e565b6113da565b346101b65760203660031901126101b657600435610b9f611110565b610ba98133611159565b600080808084335af1610bba610de3565b50156107c2576040519081524260208201527f7fc4727e062e336010f2c282598ef5f14facb3de68cf8195c2f23e1454b2b74e60403392a260016000805160206118e683398151915255005b346101b65760203660031901126101b6576020610c24600435610d6e565b604051908152f35b60003660031901126101b6573415610ac157005b346101b65760203660031901126101b65761021f610c5c610d14565b610c64610eac565b610fbb565b346101b65760003660031901126101b6576020600154604051908152f35b346101b65760203660031901126101b6576001600160a01b03610ca8610d14565b1660005260056020526020604060002054604051908152f35b346101b65760203660031901126101b6576004359063ffffffff60e01b82168092036101b657602091637965db0b60e01b8114908115610d03575b5015158152f35b6301ffc9a760e01b14905083610cfc565b600435906001600160a01b03821682036101b657565b602435906001600160a01b03821682036101b657565b9181601f840112156101b65782359167ffffffffffffffff83116101b657602083818601950101116101b657565b6000526000805160206118a683398151915260205260016040600020015490565b90601f8019910116810190811067ffffffffffffffff821117610db157604052565b634e487b7160e01b600052604160045260246000fd5b67ffffffffffffffff8111610db157601f01601f191660200190565b3d15610e0e573d90610df482610dc7565b91610e026040519384610d8f565b82523d6000602084013e565b606090565b91908201809211610e2057565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b03168015610e965760008051602061186683398151915280546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b631e4fbdf760e01b600052600060045260246000fd5b3360009081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff1615610ee557565b63e2517d3f60e01b60005233600452600060245260446000fd5b3360009081527f448256db8f8fb95ee3eaaf89c1051414494e85cebb6057fcf996cc3d0ccfb456602052604090205460ff1615610f3857565b63e2517d3f60e01b600052336004527f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92960245260446000fd5b60008181526000805160206118a68339815191526020908152604080832033845290915290205460ff1615610fa35750565b63e2517d3f60e01b6000523360045260245260446000fd5b6001600160a01b0381166000908152600080516020611886833981519152602052604090205460ff1615611063576001600160a01b0316600081815260008051602061188683398151915260205260408120805460ff191690553391907fe2f4eaae4a9751e85a3e4a7b9587827a877f29914755229b07a7b2da98285f70907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b50600090565b60008181526000805160206118a6833981519152602090815260408083206001600160a01b038616845290915290205460ff16156111095760008181526000805160206118a6833981519152602090815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b5050600090565b60026000805160206118e6833981519152541461113b5760026000805160206118e683398151915255565b633ee5aeb560e01b60005260046000fd5b91908203918211610e2057565b8115610ac1576001600160a01b031660008181526004602052604090205490919081116111db5760407f7fc4727e062e336010f2c282598ef5f14facb3de68cf8195c2f23e1454b2b74e91836000526004602052816000206111bc82825461114c565b90556111ca8160005461114c565b6000558151908152426020820152a2565b6378de4a6960e11b60005260046000fd5b6001600160a01b0381166000908152600080516020611886833981519152602052604090205460ff16611063576001600160a01b0316600081815260008051602061188683398151915260205260408120805460ff191660011790553391907fe2f4eaae4a9751e85a3e4a7b9587827a877f29914755229b07a7b2da98285f70906000805160206118468339815191529080a4600190565b6001600160a01b03811660009081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff16611063576001600160a01b031660008181527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260408120805460ff191660011790553391906000805160206118468339815191528180a4600190565b6001600160a01b03811660009081527f448256db8f8fb95ee3eaaf89c1051414494e85cebb6057fcf996cc3d0ccfb456602052604090205460ff16611063576001600160a01b031660008181527f448256db8f8fb95ee3eaaf89c1051414494e85cebb6057fcf996cc3d0ccfb45660205260408120805460ff191660011790553391907f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b929906000805160206118468339815191529080a4600190565b60008181526000805160206118a6833981519152602090815260408083206001600160a01b038616845290915290205460ff166111095760008181526000805160206118a6833981519152602090815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291906000805160206118468339815191529080a4600190565b60ff6000805160206118c6833981519152541661148357565b63d93c066560e01b60005260046000fd5b919394928115610ac157600254821161160b578042116115fa576001600160a01b03831660008181526006602052604090205490959081036115e9576040519260208401943060601b86526bffffffffffffffffffffffff199060601b1660348501526048840152606883015260888201526088815261151560a882610d8f565b5190207f19457468657265756d205369676e6564204d6573736167653a0a333200000000600052601c52603c6000209261154e82610dc7565b61155b6040519182610d8f565b82815236838301116101b657600060208461158b95611582958386013783010152846116ec565b90929192611728565b6001600160a01b03166000908152600080516020611886833981519152602052604090205460ff16156115d8576000526006602052604060002080546000198114610e2057600101905590565b638baa579f60e01b60005260046000fd5b633ab3447f60e11b60005260046000fd5b630819bdcd60e01b60005260046000fd5b636d363c4560e01b60005260046000fd5b7f41e99e9dc0d7cfce35db1b179b2938d186cbc127e72e9058202a7159ff3b44d69160609160018060a01b0316938460005260056020526040600020611663838254610e13565b905561167182600154610e13565b6001556040519182524260208301526040820152a2565b600080516020611866833981519152546001600160a01b031633036116a957565b63118cdaa760e01b6000523360045260246000fd5b60ff6000805160206119068339815191525460401c16156116db57565b631afcd79f60e31b60005260046000fd5b815191906041830361171d5761171692506020820151906060604084015193015160001a906117b0565b9192909190565b505060009160029190565b919091600481101561179a578061173e57509050565b6000600182036117595763f645eedf60e01b60005260046000fd5b5060028103611777578263fce698f760e01b60005260045260246000fd5b9091600360009214611787575050565b6335e2f38360e21b825260045260249150fd5b634e487b7160e01b600052602160045260246000fd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411611839579160209360809260ff60009560405194855216868401526040830152606082015282805260015afa1561182d576000516001600160a01b038116156118215790600090600090565b50600090600190600090565b6040513d6000823e3d90fd5b5050506000916003919056fe2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300ed82e8858f919528fd86c81da277f0812ef4876fae8bc5251645af9640d3f49f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800cd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220558fda1858d2bf95d755ef762ffc8bb34086b71c82967d295cccffbf663472cd64736f6c634300081c0033",
934
939
  "linkReferences": {},
935
940
  "deployedLinkReferences": {}
936
941
  }
@@ -1,7 +1,7 @@
1
1
  import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers";
2
2
  import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../common";
3
3
  export interface EthStakingInterface extends Interface {
4
- getFunction(nameOrSignature: "DEFAULT_ADMIN_ROLE" | "OPERATOR_ROLE" | "SIGNER_ROLE" | "addRewards" | "addSigner" | "emergencyUnstake" | "getRoleAdmin" | "getUserInfo" | "grantRole" | "harvestReward" | "hasRole" | "initialize" | "maxRewardAmount" | "minStakeAmount" | "owner" | "pause" | "paused" | "removeSigner" | "renounceOwnership" | "renounceRole" | "revokeRole" | "setMinStakeAmount" | "stake" | "supportsInterface" | "totalRewards" | "totalStaked" | "transferOwnership" | "unpause" | "unstake" | "unstakeAndHarvest" | "updateMaxRewardAmount" | "usedSignatures" | "userStakes" | "userTotalRewardsHarvested"): FunctionFragment;
4
+ getFunction(nameOrSignature: "DEFAULT_ADMIN_ROLE" | "OPERATOR_ROLE" | "SIGNER_ROLE" | "addRewards" | "addSigner" | "emergencyUnstake" | "getRoleAdmin" | "getUserInfo" | "grantRole" | "harvestReward" | "hasRole" | "initialize" | "maxRewardAmount" | "minStakeAmount" | "owner" | "pause" | "paused" | "removeSigner" | "renounceOwnership" | "renounceRole" | "revokeRole" | "setMinStakeAmount" | "stake" | "supportsInterface" | "totalRewards" | "totalStaked" | "transferOwnership" | "unpause" | "unstake" | "unstakeAndHarvest" | "updateMaxRewardAmount" | "userNonces" | "userStakes" | "userTotalRewardsHarvested"): FunctionFragment;
5
5
  getEvent(nameOrSignatureOrTopic: "Initialized" | "MinStakeUpdated" | "OwnershipTransferred" | "Paused" | "RewardHarvested" | "RoleAdminChanged" | "RoleGranted" | "RoleRevoked" | "SignerUpdated" | "Staked" | "Unpaused" | "Unstaked"): EventFragment;
6
6
  encodeFunctionData(functionFragment: "DEFAULT_ADMIN_ROLE", values?: undefined): string;
7
7
  encodeFunctionData(functionFragment: "OPERATOR_ROLE", values?: undefined): string;
@@ -34,7 +34,7 @@ export interface EthStakingInterface extends Interface {
34
34
  encodeFunctionData(functionFragment: "unstake", values: [BigNumberish]): string;
35
35
  encodeFunctionData(functionFragment: "unstakeAndHarvest", values: [BigNumberish, BigNumberish, BigNumberish, BigNumberish, BytesLike]): string;
36
36
  encodeFunctionData(functionFragment: "updateMaxRewardAmount", values: [BigNumberish]): string;
37
- encodeFunctionData(functionFragment: "usedSignatures", values: [BytesLike]): string;
37
+ encodeFunctionData(functionFragment: "userNonces", values: [AddressLike]): string;
38
38
  encodeFunctionData(functionFragment: "userStakes", values: [AddressLike]): string;
39
39
  encodeFunctionData(functionFragment: "userTotalRewardsHarvested", values: [AddressLike]): string;
40
40
  decodeFunctionResult(functionFragment: "DEFAULT_ADMIN_ROLE", data: BytesLike): Result;
@@ -68,7 +68,7 @@ export interface EthStakingInterface extends Interface {
68
68
  decodeFunctionResult(functionFragment: "unstake", data: BytesLike): Result;
69
69
  decodeFunctionResult(functionFragment: "unstakeAndHarvest", data: BytesLike): Result;
70
70
  decodeFunctionResult(functionFragment: "updateMaxRewardAmount", data: BytesLike): Result;
71
- decodeFunctionResult(functionFragment: "usedSignatures", data: BytesLike): Result;
71
+ decodeFunctionResult(functionFragment: "userNonces", data: BytesLike): Result;
72
72
  decodeFunctionResult(functionFragment: "userStakes", data: BytesLike): Result;
73
73
  decodeFunctionResult(functionFragment: "userTotalRewardsHarvested", data: BytesLike): Result;
74
74
  }
@@ -370,7 +370,7 @@ export interface EthStaking extends BaseContract {
370
370
  ], [
371
371
  void
372
372
  ], "nonpayable">;
373
- usedSignatures: TypedContractMethod<[arg0: BytesLike], [boolean], "view">;
373
+ userNonces: TypedContractMethod<[arg0: AddressLike], [bigint], "view">;
374
374
  userStakes: TypedContractMethod<[arg0: AddressLike], [bigint], "view">;
375
375
  userTotalRewardsHarvested: TypedContractMethod<[
376
376
  arg0: AddressLike
@@ -458,7 +458,7 @@ export interface EthStaking extends BaseContract {
458
458
  void
459
459
  ], "nonpayable">;
460
460
  getFunction(nameOrSignature: "updateMaxRewardAmount"): TypedContractMethod<[_newMaxReward: BigNumberish], [void], "nonpayable">;
461
- getFunction(nameOrSignature: "usedSignatures"): TypedContractMethod<[arg0: BytesLike], [boolean], "view">;
461
+ getFunction(nameOrSignature: "userNonces"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">;
462
462
  getFunction(nameOrSignature: "userStakes"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">;
463
463
  getFunction(nameOrSignature: "userTotalRewardsHarvested"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">;
464
464
  getEvent(key: "Initialized"): TypedContractEvent<InitializedEvent.InputTuple, InitializedEvent.OutputTuple, InitializedEvent.OutputObject>;
@@ -42,8 +42,8 @@
42
42
  "NFTTicket": "0x3f1AC66384593AAF4d99B51776E1d7df00d2C271",
43
43
  "NFTTicket-implemented": "0x5099f248392C336186AA438BC871c6d3E0886b0C",
44
44
  "NFTTicket-implemented-old": "0x8915d96Ae316b321e8B3A00Ba21e4F5D41FF526C",
45
- "EthStaking": "0x15fcdFC625fD7c7A4dFC6Ba7a8cBcA312e80Dad8",
46
- "EthStaking-implemented": "0x9af37a0daae87e6D9012d7091C5Bd16ec5D27345"
45
+ "EthStaking": "0x65535DCF365B6dDb16E48e59476c289a07Cd4284",
46
+ "EthStaking-implemented": "0x18897940594eBcF2cb4BD2E38d59F7FA79Dc406b"
47
47
  },
48
48
  "base": {
49
49
  "SeedRoundFundraiser": "0x3e7b414cAd1011c757dBA1a58212Db561dc9feeB",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aiia-vault-sdk",
3
- "version": "1.3.1",
3
+ "version": "1.3.3",
4
4
  "description": "SDK for AIIA Vault Contract",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",