aiia-vault-sdk 1.2.16 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/EthStaking.d.ts +2 -2
- package/dist/EthStaking.js +1 -1
- package/dist/contracts.json +3 -1
- package/package.json +1 -1
package/dist/EthStaking.d.ts
CHANGED
@@ -289,10 +289,10 @@ export declare class EthStakingSDK {
|
|
289
289
|
* @param signerPrivateKey Private key of the authorized signer
|
290
290
|
* @returns Signature and message hash
|
291
291
|
*/
|
292
|
-
createRewardSignature(contractAddress: string, userAddress: string, amount: number, nonce: number, deadline: number, signerPrivateKey: string): {
|
292
|
+
createRewardSignature(contractAddress: string, userAddress: string, amount: number, nonce: number, deadline: number, signerPrivateKey: string): Promise<{
|
293
293
|
signature: string;
|
294
294
|
messageHash: string;
|
295
|
-
}
|
295
|
+
}>;
|
296
296
|
getContractAddress(): string;
|
297
297
|
getAllEvents(fromBlock: number, toBlock: number, whitelistEvents?: Array<keyof RawEthStakingEventTypes>): Promise<ParsedEthStakingEventRaw[]>;
|
298
298
|
streamEvents(fromBlock: number, onEvent: (event: ParsedEthStakingEvent) => Promise<void>, saveLatestBlock: (blockNumber: number) => Promise<void>, batchSize?: number, sleepTime?: number, blockGap?: number): Promise<void>;
|
package/dist/EthStaking.js
CHANGED
@@ -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.EthStakingSDK=void 0;const a=require("ethers"),e=t(require("./abis/EthStaking.json")),r=t(require("./contracts.json")),s=require("./utils");exports.EthStakingSDK=class{constructor(t,n){this.name="EthStaking",this.isBootstrapped=!1,this.formatEventArgs=t=>{const{eventName:e,args:r}=t;switch(e){case"Staked":case"Unstaked":return{...t,args:{...r,user:r.user.toLowerCase(),amount:Number(a.ethers.formatEther(r.amount)),timestamp:Number(r.timestamp)}};case"RewardClaimed":return{...t,args:{...r,user:r.user.toLowerCase(),amount:Number(a.ethers.formatEther(r.amount)),timestamp:Number(r.timestamp),signatureHash:r.signatureHash}};case"SignerUpdated":return{...t,args:{...r,newSigner:r.newSigner.toLowerCase()}};case"MinStakeUpdated":return{...t,args:{...r,oldAmount:Number(a.ethers.formatEther(r.oldAmount)),newAmount:Number(a.ethers.formatEther(r.newAmount))}};default:return t}};const i=Array.isArray(t)?t:[t];this.providers=i.map((t=>new a.ethers.JsonRpcProvider(t,void 0,{staticNetwork:!0})));const o=(0,s.getRandomProvider)(this.providers);this.contractAddress=(0,s.resolveContractAddress)(i[0],this.name,r.default,n),this.contract=new a.ethers.Contract(this.contractAddress,e.default.abi,o)}getRandomProvider(){return(0,s.getRandomProvider)(this.providers)}getContractWithRandomProvider(){return new a.ethers.Contract(this.contractAddress,e.default.abi,this.getRandomProvider())}async bootstrap(){if(this.isBootstrapped)return;const t=await Promise.all(this.providers.map(((t,a)=>(0,s.checkRpcHealth)(t,a))));if(this.providers=this.providers.filter(((a,e)=>t[e])),0===this.providers.length)throw new Error("No active RPC providers available");this.isBootstrapped=!0}async signAndSendTransaction(t,a,e={}){return(0,s.signAndSendTransaction)(t,a,(()=>this.getRandomProvider()),e,this.contract)}async buildStakeTxRaw(t){return await this.contract.stake.populateTransaction({value:t})}async buildStakeTx(t){return await this.buildStakeTxRaw(a.ethers.parseEther(t.toString()))}async buildUnstakeTxRaw(t){return await this.contract.unstake.populateTransaction(t)}async buildUnstakeTx(t){return await this.buildUnstakeTxRaw(a.ethers.parseEther(t.toString()))}async buildClaimRewardTxRaw(t,a,e,r){return await this.contract.claimReward.populateTransaction(t,a,e,r)}async buildClaimRewardTx(t,e,r,s){return await this.buildClaimRewardTxRaw(a.ethers.parseEther(t.toString()),BigInt(e),BigInt(r),s)}async buildUnstakeAndClaimTxRaw(t,a,e,r,s){return await this.contract.unstakeAndClaim.populateTransaction(t,a,e,r,s)}async buildUnstakeAndClaimTx(t,e,r,s,n){return await this.buildUnstakeAndClaimTxRaw(a.ethers.parseEther(t.toString()),a.ethers.parseEther(e.toString()),BigInt(r),BigInt(s),n)}async buildAddRewardsTxRaw(t){return await this.contract.addRewards.populateTransaction({value:t})}async buildAddRewardsTx(t){return await this.buildAddRewardsTxRaw(a.ethers.parseEther(t.toString()))}async buildUpdateMaxRewardAmountTxRaw(t){return await this.contract.updateMaxRewardAmount.populateTransaction(t)}async buildUpdateMaxRewardAmountTx(t){return await this.buildUpdateMaxRewardAmountTxRaw(a.ethers.parseEther(t.toString()))}async buildSetMinStakeAmountTxRaw(t){return await this.contract.setMinStakeAmount.populateTransaction(t)}async buildSetMinStakeAmountTx(t){return await this.buildSetMinStakeAmountTxRaw(a.ethers.parseEther(t.toString()))}async buildAddSignerTx(t){return await this.contract.addSigner.populateTransaction(t)}async buildRemoveSignerTx(t){return await this.contract.removeSigner.populateTransaction(t)}async buildPauseTx(){return await this.contract.pause.populateTransaction()}async buildUnpauseTx(){return await this.contract.unpause.populateTransaction()}async buildEmergencyUnstakeTx(t){return await this.contract.emergencyUnstake.populateTransaction(t)}async getTotalStakedRaw(){return await this.contract.totalStaked()}async getTotalStaked(){const t=await this.getTotalStakedRaw();return Number(a.ethers.formatEther(t))}async getTotalRewardsRaw(){return await this.contract.totalRewards()}async getTotalRewards(){const t=await this.getTotalRewardsRaw();return Number(a.ethers.formatEther(t))}async getMaxRewardAmountRaw(){return await this.contract.maxRewardAmount()}async getMaxRewardAmount(){const t=await this.getMaxRewardAmountRaw();return Number(a.ethers.formatEther(t))}async getMinStakeAmountRaw(){return await this.contract.minStakeAmount()}async getMinStakeAmount(){const t=await this.getMinStakeAmountRaw();return Number(a.ethers.formatEther(t))}async getUserInfoRaw(t){const[a,e]=await this.contract.getUserInfo(t);return{stake:a,claimed:e}}async getUserInfo(t){const{stake:e,claimed:r}=await this.getUserInfoRaw(t);return{stake:Number(a.ethers.formatEther(e)),claimed:Number(a.ethers.formatEther(r))}}async getUserStakeRaw(t){return await this.contract.userStakes(t)}async getUserStake(t){const e=await this.getUserStakeRaw(t);return Number(a.ethers.formatEther(e))}async getUserTotalRewardsClaimedRaw(t){return await this.contract.userTotalRewardsClaimed(t)}async getUserTotalRewardsClaimed(t){const e=await this.getUserTotalRewardsClaimedRaw(t);return Number(a.ethers.formatEther(e))}async isPaused(){return await this.contract.paused()}async getOperatorRoleHash(){return await this.contract.OPERATOR_ROLE()}async getSignerRoleHash(){return await this.contract.SIGNER_ROLE()}async getAdminRoleHash(){return await this.contract.DEFAULT_ADMIN_ROLE()}async hasOperatorRole(t){const a=await this.contract.OPERATOR_ROLE();return await this.contract.hasRole(a,t)}async hasSignerRole(t){const a=await this.contract.SIGNER_ROLE();return await this.contract.hasRole(a,t)}async hasAdminRole(t){const a=await this.contract.DEFAULT_ADMIN_ROLE();return await this.contract.hasRole(a,t)}createRewardSignature(t,e,r,s,n,i){const o=a.ethers.parseEther(r.toString()),c=a.ethers.solidityPackedKeccak256(["address","address","uint256","uint256","uint256"],[t,e,o,s,n])
|
1
|
+
"use strict";var t=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.EthStakingSDK=void 0;const a=require("ethers"),e=t(require("./abis/EthStaking.json")),r=t(require("./contracts.json")),s=require("./utils");exports.EthStakingSDK=class{constructor(t,n){this.name="EthStaking",this.isBootstrapped=!1,this.formatEventArgs=t=>{const{eventName:e,args:r}=t;switch(e){case"Staked":case"Unstaked":return{...t,args:{...r,user:r.user.toLowerCase(),amount:Number(a.ethers.formatEther(r.amount)),timestamp:Number(r.timestamp)}};case"RewardClaimed":return{...t,args:{...r,user:r.user.toLowerCase(),amount:Number(a.ethers.formatEther(r.amount)),timestamp:Number(r.timestamp),signatureHash:r.signatureHash}};case"SignerUpdated":return{...t,args:{...r,newSigner:r.newSigner.toLowerCase()}};case"MinStakeUpdated":return{...t,args:{...r,oldAmount:Number(a.ethers.formatEther(r.oldAmount)),newAmount:Number(a.ethers.formatEther(r.newAmount))}};default:return t}};const i=Array.isArray(t)?t:[t];this.providers=i.map((t=>new a.ethers.JsonRpcProvider(t,void 0,{staticNetwork:!0})));const o=(0,s.getRandomProvider)(this.providers);this.contractAddress=(0,s.resolveContractAddress)(i[0],this.name,r.default,n),this.contract=new a.ethers.Contract(this.contractAddress,e.default.abi,o)}getRandomProvider(){return(0,s.getRandomProvider)(this.providers)}getContractWithRandomProvider(){return new a.ethers.Contract(this.contractAddress,e.default.abi,this.getRandomProvider())}async bootstrap(){if(this.isBootstrapped)return;const t=await Promise.all(this.providers.map(((t,a)=>(0,s.checkRpcHealth)(t,a))));if(this.providers=this.providers.filter(((a,e)=>t[e])),0===this.providers.length)throw new Error("No active RPC providers available");this.isBootstrapped=!0}async signAndSendTransaction(t,a,e={}){return(0,s.signAndSendTransaction)(t,a,(()=>this.getRandomProvider()),e,this.contract)}async buildStakeTxRaw(t){return await this.contract.stake.populateTransaction({value:t})}async buildStakeTx(t){return await this.buildStakeTxRaw(a.ethers.parseEther(t.toString()))}async buildUnstakeTxRaw(t){return await this.contract.unstake.populateTransaction(t)}async buildUnstakeTx(t){return await this.buildUnstakeTxRaw(a.ethers.parseEther(t.toString()))}async buildClaimRewardTxRaw(t,a,e,r){return await this.contract.claimReward.populateTransaction(t,a,e,r)}async buildClaimRewardTx(t,e,r,s){return await this.buildClaimRewardTxRaw(a.ethers.parseEther(t.toString()),BigInt(e),BigInt(r),s)}async buildUnstakeAndClaimTxRaw(t,a,e,r,s){return await this.contract.unstakeAndClaim.populateTransaction(t,a,e,r,s)}async buildUnstakeAndClaimTx(t,e,r,s,n){return await this.buildUnstakeAndClaimTxRaw(a.ethers.parseEther(t.toString()),a.ethers.parseEther(e.toString()),BigInt(r),BigInt(s),n)}async buildAddRewardsTxRaw(t){return await this.contract.addRewards.populateTransaction({value:t})}async buildAddRewardsTx(t){return await this.buildAddRewardsTxRaw(a.ethers.parseEther(t.toString()))}async buildUpdateMaxRewardAmountTxRaw(t){return await this.contract.updateMaxRewardAmount.populateTransaction(t)}async buildUpdateMaxRewardAmountTx(t){return await this.buildUpdateMaxRewardAmountTxRaw(a.ethers.parseEther(t.toString()))}async buildSetMinStakeAmountTxRaw(t){return await this.contract.setMinStakeAmount.populateTransaction(t)}async buildSetMinStakeAmountTx(t){return await this.buildSetMinStakeAmountTxRaw(a.ethers.parseEther(t.toString()))}async buildAddSignerTx(t){return await this.contract.addSigner.populateTransaction(t)}async buildRemoveSignerTx(t){return await this.contract.removeSigner.populateTransaction(t)}async buildPauseTx(){return await this.contract.pause.populateTransaction()}async buildUnpauseTx(){return await this.contract.unpause.populateTransaction()}async buildEmergencyUnstakeTx(t){return await this.contract.emergencyUnstake.populateTransaction(t)}async getTotalStakedRaw(){return await this.contract.totalStaked()}async getTotalStaked(){const t=await this.getTotalStakedRaw();return Number(a.ethers.formatEther(t))}async getTotalRewardsRaw(){return await this.contract.totalRewards()}async getTotalRewards(){const t=await this.getTotalRewardsRaw();return Number(a.ethers.formatEther(t))}async getMaxRewardAmountRaw(){return await this.contract.maxRewardAmount()}async getMaxRewardAmount(){const t=await this.getMaxRewardAmountRaw();return Number(a.ethers.formatEther(t))}async getMinStakeAmountRaw(){return await this.contract.minStakeAmount()}async getMinStakeAmount(){const t=await this.getMinStakeAmountRaw();return Number(a.ethers.formatEther(t))}async getUserInfoRaw(t){const[a,e]=await this.contract.getUserInfo(t);return{stake:a,claimed:e}}async getUserInfo(t){const{stake:e,claimed:r}=await this.getUserInfoRaw(t);return{stake:Number(a.ethers.formatEther(e)),claimed:Number(a.ethers.formatEther(r))}}async getUserStakeRaw(t){return await this.contract.userStakes(t)}async getUserStake(t){const e=await this.getUserStakeRaw(t);return Number(a.ethers.formatEther(e))}async getUserTotalRewardsClaimedRaw(t){return await this.contract.userTotalRewardsClaimed(t)}async getUserTotalRewardsClaimed(t){const e=await this.getUserTotalRewardsClaimedRaw(t);return Number(a.ethers.formatEther(e))}async isPaused(){return await this.contract.paused()}async getOperatorRoleHash(){return await this.contract.OPERATOR_ROLE()}async getSignerRoleHash(){return await this.contract.SIGNER_ROLE()}async getAdminRoleHash(){return await this.contract.DEFAULT_ADMIN_ROLE()}async hasOperatorRole(t){const a=await this.contract.OPERATOR_ROLE();return await this.contract.hasRole(a,t)}async hasSignerRole(t){const a=await this.contract.SIGNER_ROLE();return await this.contract.hasRole(a,t)}async hasAdminRole(t){const a=await this.contract.DEFAULT_ADMIN_ROLE();return await this.contract.hasRole(a,t)}async createRewardSignature(t,e,r,s,n,i){const o=a.ethers.parseEther(r.toString()),c=a.ethers.solidityPackedKeccak256(["address","address","uint256","uint256","uint256"],[t,e,o,s,n]),u=new a.ethers.Wallet(i);return{signature:await u.signMessage(a.ethers.getBytes(c)),messageHash:c.toString()}}getContractAddress(){return this.contractAddress}async getAllEvents(t,a,e){return await this.bootstrap(),(0,s.getAllEvents)(this.contract,(()=>this.getRandomProvider()),(()=>this.getContractWithRandomProvider()),t,a,e)}async streamEvents(t,a,e,r=1e3,n=5e3,i=0){const o=["Staked","Unstaked","RewardClaimed","SignerUpdated","MinStakeUpdated"];return await this.bootstrap(),(0,s.streamEvents)({getProvider:()=>this.getRandomProvider(),getAllEvents:(t,a)=>this.getAllEvents(t,a,o),formatEvent:t=>this.formatEventArgs(t),onEvent:a,saveLatestBlock:e,fromBlock:t,batchSize:r,sleepTime:n,blockGap:i})}};
|
package/dist/contracts.json
CHANGED
@@ -41,7 +41,9 @@
|
|
41
41
|
"MultiLevelReferralNFT-implemented-old": "0xBeb206dE71c26B51557a48665F53d8Ef08399Fe9",
|
42
42
|
"NFTTicket": "0x3f1AC66384593AAF4d99B51776E1d7df00d2C271",
|
43
43
|
"NFTTicket-implemented": "0x5099f248392C336186AA438BC871c6d3E0886b0C",
|
44
|
-
"NFTTicket-implemented-old": "0x8915d96Ae316b321e8B3A00Ba21e4F5D41FF526C"
|
44
|
+
"NFTTicket-implemented-old": "0x8915d96Ae316b321e8B3A00Ba21e4F5D41FF526C",
|
45
|
+
"EthStaking": "0xaEC708D2ED6546aa415c6823bae7Db0fc1A61359",
|
46
|
+
"EthStaking-implemented": "0xcC2c11F69e5f26d47e6e356DC763985FFE010498"
|
45
47
|
},
|
46
48
|
"base": {
|
47
49
|
"SeedRoundFundraiser": "0x3e7b414cAd1011c757dBA1a58212Db561dc9feeB",
|