starknet-io / get-starknet

StarkNet wallet <-> dApp bridge
MIT License
155 stars 110 forks source link

Test of ArgentX experimental wallet 22/feb/2024 #218

Closed PhilippeR26 closed 3 months ago

PhilippeR26 commented 7 months ago

Experimental ArgentX wallet v5.13.5 (22/feb/2024, ID :pgicobkbegddeldhlnnacicgioehkbem ). Experimental Braavos wallet v0.0.2.(no evolution)

@dhruvkelawala , @avimak , @ivpavici , @amanusk

Test DAPP : https://cairo1-js-git-testbraavos002-philipper26.vercel.app/ My documentation for this new APi : https://github.com/PhilippeR26/Cairo1JS/blob/testBraavos002/doc/walletAPIspec.md

Result of the tests of the experimental wallets with PR #194 :
(modifications from previous tests in bold)

Id Subject ArgentX Braavos Comment
1 event accountsChanged A change of account in the same network releases both accountChanged and networkChanged events Unexpected release at each new block. Preferable to not have networkChanged events when only the account is changed
2 event networkChanged OK OK both accountChanged and networkChanged events when change of network. Here it's logical to have this behavior
3 wallet_getPermissions OK OK
4 wallet_requestAccounts OK OK
5 wallet_watchAsset OK OK
6 wallet_addStarknetChain OK Not implemented preferable : returns true if already added
7 wallet_switch StarknetChain Ok :
if not existing : returns false.
If active : returns true.

But if already active, UI ask anyway to change to the same network!
Not implemented
8 wallet_requestChainId OK OK
9 starknet_addInvoke Transaction OK OK
10 starknet_addDeclare Transaction Impossible to proceed. In AddDeclareTransactionParameters type, abi key is optional, but call returns Error: Missing ABI. Abi type expected is string, but in reality is an array of object. How to process? What's the format and values of contract_class_version parameter? Decline button is not generating any response. Wallet window opened, but do not proceed. One example of a valid request seems necessary.
11 starknet_addDeploy AccountTransaction FAIL, with message Error: Not implemented. OK.
But do not deploy at the pre-calculated address
Braavos uses the current account to fund automatically the account deployment.
12 starknet_signTypedData OK.
But not all SNJS typedData are accepted
OK.
Raw format display
13 starknet_supportedSpecs OK OK
14 GetDeploymentDataResult - - What is it? How does it work?
PhilippeR26 commented 7 months ago

There is no export for scanObjectForWallets and isWalletObj in get-starknet-core. Should be added, as it's useful for Dapps.

PhilippeR26 commented 7 months ago

The test DAPP has been updated, using get-starknet v4.0.0-next.2 @dhruvkelawala There are many problems of imports (errors TS 7016 & 2709). I found workarounds : https://github.com/PhilippeR26/Cairo1JS/blob/testBraavos002/src/type/index.d.ts https://github.com/PhilippeR26/Cairo1JS/blob/4393639aea45a5414ac9e32d4d5784a1781536f1/tsconfig.json#L29 https://github.com/PhilippeR26/Cairo1JS/blob/4393639aea45a5414ac9e32d4d5784a1781536f1/src/app/components/client/WalletHandle/SelectWallet.tsx#L1-L2 but it should be solved at get-starknet library level.