- Update to the new bundler schema URLs
- Added signTypedData method to all providers supported
- Sign message rpc parameters should be in the correct order according to the rpc documentation msg params should always be first
- Removed (deprecated) networks Goerli, Op Goerli, Arb Goerli, Mumbai, Klaytn and Mantle Testnet (Goerli)
- Added OP Sepolia, Arb Sepolia, Mantle Sepolia, Polygon Amoy testnet, Ancient8 mainnet, Ancient8 testnet supported networks
- Changed testnet bundler rpc urls to the new format
- Added
getSupportedAssets
to get supported tokens - Added
getQuotes
to get transaction quotes - Added
getTransactionStatus
to get the transaction status - The default provider is
Connext
- Added
getExchangeOffers
endpoint into DataUtils
- The type name
UserOpsTransaction
has been changed toUserOpTransaction
- Added Rootstock testnet and mainnet network support
- Added
getTransactions
endpoint into DataUtils
- The parameters named
projectKey
andgraphqlEndpoint
have been removed in the PrimeSdk module
- Added ArkaPaymaster as a sub-module
- Fixed browser-side querystring issue
- Added Base Sepolia Network
- Passed the dummy signature based on the type of smart wallet account to the paymaster
- The
DataUtils
module has been updated to fetch data from REST APIs provided by the new backend - Added these endpoints into DataUtils:
getAccountBalances
,getTransaction
,getNftList
,getAdvanceRoutesLiFi
,getStepTransaction
,getTokenLists
,getTokenListTokens
andfetchExchangeRates
- Updated the
DataUtils
module to include a data API key parameter instead of project key and GraphQL endpoint parameters (If the data API key is not provided, it will automatically use the default API key, which has a strict rate limit) - Added new parameter named
chainId
ingetTokenLists
andgetTokenListTokens
endpoints
- Added Error Handling on bundler side
- Removed
possibleSolution
parameter from error handling and passed that value intomessage
itself and added a new parameter calledrawError
to report what the exact error is
- Added
GenericBundler
andEtherspotBundler
as bundlerProviders and removed bundlerUrl params from SdkOptions
- Added
key
param on SimpleAccount and ZeroDev wallets
- Refactored
estimate
method - Added
key
inestimate
method to includekey
of semi-abstracted nonce (https://eips.ethereum.org/EIPS/eip-4337#semi-abstracted-nonce-support)
- Integrate index nonce in sdkOptions for enabling the creation of multiple accounts under the same owner.
- Added an optional parameter called accountAddress in SDKOptions to specify the contract address they wish to connect and added checks to verify that. This one is for users who changed the owner of the contract address
- Changed the data service to initialise as a seperate entity independent of the primeSdk object
- Removed unnecessary state variables and changed the walletAddress variable name to EOAAddress for better understanding
- Optimised the fetching of accountAddress since before it was fetching from on chain for every request to getCounterFactualAddress from the rpc, now it stores the account address locally in the initialised PrimeSDK object
- Fixed network state variable to output the network which it is connected to
- Added ability to override callDataLimit on estimate step by the user
- Removed UnsupportedChainId error and now can add custom network details
- Added Klaytn mainnet and Testnet (Baobab)
- Removed api_key from estimate function on the sdk and added the same on the queryString, please refer examples/13-paymaster.ts for more info
- Updated paymaster url to accept arka apiKey and chainId as queryString
- Added optional parameters such as entryPointAddress and Factory walletAddress for custom chain interaction
- Bug fixes for handling errors on connecting with custom chain interaction
- Added getExchangeSupportedAssets to gets exchange supported tokens
- Upgraded Apollo package dependencies
- Updated Error messages with optional possibleSolution parameter for common errors from bundler or Validation Errors on sdk
- Added SimpleAccount execute fn in the batch itself and errored when adding more than one transaction if the first transaction is native transfer
- If Condition Typo Fix
- Added addUserOp fn to execute single transaction since simpleAccount transfers native tokens only using execute fn and does not support in userOp batching
- Added BNB (BSC) Testnet bundler url
- Added getTokenLists and getTokenListTokens to fetch token details
- Added fetchExchangeRates to fetch exchange rates of tokens
- Added Scroll testnet and Mainnet network support
- Added Flare testnet and Mainnet network support
- Added an example to execute token paymasters using ARKA
- Updated all chains to the latest zeroDev factory contract as previously only goerli chain has the latest factory(0x5de4839a76cf55d0c90e2061ef4386d962E15ae3) and others was on previous factory contract which doesn't work on the latest changes made by zeroDev
- Added latest zeroDev wallet Factory(0x5de4839a76cf55d0c90e2061ef4386d962E15ae3) and simpleAccount wallet factory(0x9406Cc6185a346906296840746125a0E44976454)
- Updated network config to include bundler urls deployed
- Removed paymaster initialisation from sdk init place and added to estimate step to specify how each userOp is submitted rather than global paymaster initialisation
- Added
buffer
dependency to support both node and browser environments
- Added Mantle testnet
- Fixed the issue with getExchangeOffers endpoint (Account must need to be deployed to access this endpoint)
- Removed getTransactions endpoint
- Fixed the issue on usage of axios when paymaster is called via react native by replacing it to fetch.
- Fixed the issue on setting gas prices by the user if specified on estimate step
- Changed the paymasterApi to include api_key for ARKA
- Changed paymaster response object to return paymasterAndData, VerificationGasLimit, PreVerificationGas, callGasLimit to set to the userOp before sending to the bundler
- Changed the wallet factory address so the smart wallet address will generate a new address. Whoever wishes to access the old wallet should use version 1.2.0 to connect to the old smart wallet
- Added wallet connect 2.0 support
- Added getAccountBalances to get account balances
- Added getTransaction to get transaction
- Added getTransactions to get transactions
- Added getNftList to get NFT list belonging to account
- Added getExchangeOffers to get exchange offers
- Added getAdvanceRoutesLiFi to get advance routes
- Added getStepTransaction to get step transaction from LIFI
- Added getCrossChainQuotes to get multi chain quotes
- Fixes on User hash was created before initialising the paymaster response if given which leads to "Invalid signature or paymaster signature"
- Changed the way of initialising the Paymaster url to string as before it was unreachable code to get VerifyingPaymasterApi class to pass on to the Prime-Sdk
- Changed the response object got from the paymaster to be compatible with our Arka service
- Added onRamper to get the url
- Added skandha_getGasPrice from the bundler if the bundler url is skandha bundler url
- Added Mantle Mainnet config as supported networks
- Changed the wallet factory address so the smart wallet address will generate a new address. Whoever wishes to access the old wallet should use version 1.0.3 to connect to the old smart wallet
- Renamed sign method to estimate and get the return object as UserOps without signature
- Now signing the UserOps is moved into send method so provider would be requested to sign only while calling send method
- getUserOpsReceipt returns the whole object with UserOpsReceipt with transaction Receipt as compared to previously returned transaction hash
- getUserOpsReceipt only returns if the transaction is included into the block on-chain and would give results only for 15k blocks from the latest block number
- Fuse and ArbitrumGoerli bundler url and native transfer funds example
- Added all supported networks ArbitrumGoerli, Chiado, Fuse, FuseSparknet, Gnosis, KromaTestnet, Mainnet, OptimismGoerli, RSKTestnet, VerseTestnet 🚀
- Added all supported networks Goerli, BaseGoerli, Sepolia, Optimism, Polygon and Arbitrum 🚀
- Initial version published 🚀