@kanalabs/mirai
TypeScript icon, indicating that this package has built-in type declarations

0.2.8 • Public • Published

Mirai

Mirai - Account Abstraction SDK (EVM + non-EVM)

Installation

npm i @kanalabs/mirai

Supported Networks

Mainnets:

- AptosMainnet
- mainnet (Ethereum)
- polygon
- optimism
- linea
- gnosis
- mantle
- avalanche
- base
- bsc
- klaytn
- scroll
- flare
- bifrost

Testnets:

- AptosTestnet
- bscTestnet
- KlaytnTestnet
- ScrollSepolia
- FuseSparknet
- goerli
- mumbai
- sepolia
- flareTestnet
- bifrostTestnet

Available Properties in SDKGateway

Properties Description
instances Returns all initialized instances
currentNetwork Returns the current default network
currentInstance Returns the current default SDK instance
contractAddress Returns KanaWallet address for initialized chains
walletProvider Returns the wallet provider which used to init the sdk
activeNetworks Returns available networks with their respective status

Available Methods in SDKGateway

Methods Description
initialize(network?: NetworkNames) To initialize the SDK instance specify a network,and
and return the result of initialization.
getNativeBalance(network?: NetworkNames) To get the native token balance of the smart wallet.
Returns native token balance.
setCurrentInstance(network: NetworkNames) To set the default SDK instance and retrieve the SDK
instance associated with the specified network.
erc20(tokenAddress: string,network?: NetworkNames) To get the ERC20 token instance for building ERC20
transactions. Returns the ERC20 contract instance.
erc721(collectionAddress: string, To get the ERC721 collection instance for building
network?: NetworkNames) ERC721 transactions.Returns the ERC721 contractinstance
erc1155(collectionAddress: string, To get the ERC1155 collection instance for building
network?: NetworkNames) ERC1155 transactions. Returns the ERC1155 contract
instance transactions.Returns the ERC721
isNetworkActive(networkName: string): boolean To check if the given network is available and active.
Returns bool
Example const isActive = isNetworkActive (networkName)
transactions. Returns the ERC20 contract instance.
getProvider(network: NetworkNames) To get the RPC Provider for the given network.
providers.JsonRpcProvider Returns providers.JsonRpcProvider
Example const provider = getProvider(networkName)
destroy(network: NetworkNames) To destroy the SDK instance specifying a network for
destruction, or destroying all instances if no network
is provided.
Example const provider = getProvider(networkName)
getAptosInstance(network: NetworkNames) To get the RPC Provider for the given network.
Retrieve the Aptos SDK instance

Available Methods in SDK

Methods Description
getCounterFactualAddress(): Promise To get the KanaWallet address
signMessage(dto: SignMessageDto): Promise To sign a message
getNativeBalance(): Promise To get the native token balance of the wallet
getTokenBalance(tokenAddress: string) To get the ERC20 token balance of the wallet
: Promise
addUserOpsToBatch(tx: UserOpsRequest) To add transactions to the batch
: Promise
clearUserOpsFromBatch(): Promise To clear the transactions in the batch
estimate(gasDetails?: TransactionGasInfoForUserOp) To estimate transactions added to the batch and get the
: Promise fee data for the UserOp
send(userOp: UserOperationStruct): Promise To sign the UserOp and send it to the bundler .
Returns userOp
createSession(dto?: CreateSessionDto) To sign create a session
: Promise
getUserOpReceipt(userOpHash: string) To get the transaction hash
getGasFee(): Promise To get the Gas data
destroy(): void To destroy the instance

Helpers

Available Properties in ERC20

Properties Description
name Returns the name of the token
symbol Returns the symbol (ticker) of the token.
decimals Returns the number of decimal places that the token uses
totalSupply Returns the total supply of the token in its smallest units.
balanceOf Returns the token balance of a specific address (owner)
allowance Returns the amount of tokens that the spender is allowed to spend
approve Allows the owner to approve a spender to spend
decreaseAllowance Decreases the amount of tokens that a spender is allowed to spend
increaseAllowance Increases the amount of tokens that a spender is allowed
transfer Allows the sender to transfer a certain amount of tokens
transferFrom Allows the spender to transfer a certain amount of tokens

Available Properties in ERC721

Properties Description
name Returns the name of the NFT contract
symbol Returns the symbol (ticker) of the NFT contract
balanceOf Returns the number of NFTs owned by a specific address (owner).
ownerof Returns the address of the owner of a specific NFT identified
getApproved Returns the address that has been approved to take ownership
isApprovedForAll Returns whether a specific operator address is approved
tokenURI Returns the metadata URI associated with a specific NFT identified
safeTransferFrom Safely transfers the ownership of a specific NFT from the sender
transferFrom Transfers the ownership of a specific NFT
approve Approves another address (to) to take ownership of a specific NFT
setApprovalForAll Sets or revokes operator status for an address to manage all NFTs

Available Properties in ERC1155

Properties Description
balanceOf Returns the amount of tokens of token type id owned by account
balanceOfBatch Returns the balances of multiple token IDs for multiple accounts
setApprovalForAll Grants permission to operator to transfer tokens
isApprovedForAll Returns true if operator is approved to transfer tokens.
safeTransferFrom Safely transfers specific token type and quantity
safeBatchTransferFrom Safely transfers multiple token types and quantities
uri Returns the URI of that tokenId

Available Properties in DATASERVICE

Properties Description
getAccountBalances Returns the account balances for the particular address
getTransaction Returns the transaction history for the particular transactions
getNftsList Returns the nfts list for the particular address

Available Properties in PAYMASTER

Properties Description
addWhitelist To add a whitelist using the specified accountAddress and chain ID
checkWhitelist To check a whitelist using the specified accountAddress and chain ID
depositWhitelist To Deposit using the specified amount and chain ID
getSponsorBalance To get a sponsor balance using the specified sponsorAddress and chain ID

Package Sidebar

Install

npm i @kanalabs/mirai

Weekly Downloads

32

Version

0.2.8

License

MIT

Unpacked Size

80.2 kB

Total Files

42

Last publish

Collaborators

  • kanaswap