Skip to content

Conversation

mikasackermn
Copy link
Contributor

Summary

The Starknet snap allows developers to deploy Starknet accounts, make transactions on Starknet, and interact with Starknet smart contracts. We have to implement it in the providers.

How did you test this change?

You can test this by running the widget and connecting to Starknet Snap and swap in Blockchain Starknet

Checklist:

  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added tests that prove my fix is effective or that my feature works

yeager-eren and others added 30 commits August 12, 2023 13:53
- wallets-core@0.14.1-next.0
- wallets-react@0.1.1-next.0
- queue-manager-rango-preset@0.14.1-next.0
- ui@0.14.1-next.1
- queue-manager-demo@0.11.1-next.1
- wallets-adapter@0.12.1-next.2
- wallets-demo@0.11.1-next.2
- widget-embedded@0.11.1-next.2
- wallets-adapter-demo@0.12.1-next.2
- widget-playground@0.12.1-next.2
- widget-iframe@0.12.1-next.2
- widget-app@0.12.1-next.2

Affected packages: wallets-core@0.14.1-next.0,wallets-react@0.1.1-next.0,queue-manager-rango-preset@0.14.1-next.0,ui@0.14.1-next.1,queue-manager-demo@0.11.1-next.1,wallets-adapter@0.12.1-next.2,wallets-demo@0.11.1-next.2,widget-embedded@0.11.1-next.2,wallets-adapter-demo@0.12.1-next.2,widget-playground@0.12.1-next.2,widget-iframe@0.12.1-next.2,widget-app@0.12.1-next.2
- provider-walletconnect-2@0.7.1-next.0
- provider-all@0.14.1-next.1
- wallets-adapter@0.12.1-next.3
- queue-manager-demo@0.11.1-next.2
- wallets-demo@0.11.1-next.3
- widget-embedded@0.11.1-next.3
- wallets-adapter-demo@0.12.1-next.3
- widget-playground@0.12.1-next.3
- widget-iframe@0.12.1-next.3
- widget-app@0.12.1-next.3

Affected packages: provider-walletconnect-2@0.7.1-next.0,provider-all@0.14.1-next.1,wallets-adapter@0.12.1-next.3,queue-manager-demo@0.11.1-next.2,wallets-demo@0.11.1-next.3,widget-embedded@0.11.1-next.3,wallets-adapter-demo@0.12.1-next.3,widget-playground@0.12.1-next.3,widget-iframe@0.12.1-next.3,widget-app@0.12.1-next.3
- provider-binance-chain-wallet@0.14.1-next.0
- signer-cosmos@0.14.1-next.0
- provider-cosmostation@0.14.1-next.0
- provider-keplr@0.14.1-next.0
- provider-leap-cosmos@0.14.1-next.0
- provider-walletconnect-2@0.7.1-next.1
- provider-all@0.14.1-next.2
- wallets-adapter@0.12.1-next.4
- queue-manager-demo@0.11.1-next.3
- wallets-demo@0.11.1-next.4
- widget-embedded@0.11.1-next.4
- wallets-adapter-demo@0.12.1-next.4
- widget-playground@0.12.1-next.4
- widget-iframe@0.12.1-next.4
- widget-app@0.12.1-next.4

Affected packages: provider-binance-chain-wallet@0.14.1-next.0,signer-cosmos@0.14.1-next.0,provider-cosmostation@0.14.1-next.0,provider-keplr@0.14.1-next.0,provider-leap-cosmos@0.14.1-next.0,provider-walletconnect-2@0.7.1-next.1,provider-all@0.14.1-next.2,wallets-adapter@0.12.1-next.4,queue-manager-demo@0.11.1-next.3,wallets-demo@0.11.1-next.4,widget-embedded@0.11.1-next.4,wallets-adapter-demo@0.12.1-next.4,widget-playground@0.12.1-next.4,widget-iframe@0.12.1-next.4,widget-app@0.12.1-next.4
- wallets-shared@0.15.1-next.0
- signer-ton@0.1.1-next.0
- provider-walletconnect@0.15.1-next.0
- provider-argentx@0.15.1-next.0
- provider-binance-chain-wallet@0.15.1-next.0
- provider-bitkeep@0.11.1-next.0
- provider-braavos@0.8.1-next.0
- provider-brave@0.15.1-next.0
- provider-clover@0.15.1-next.0
- provider-coin98@0.15.1-next.0
- provider-coinbase@0.15.1-next.0
- provider-cosmostation@0.15.1-next.0
- provider-enkrypt@0.15.1-next.0
- provider-exodus@0.15.1-next.0
- provider-frontier@0.15.1-next.0
- provider-keplr@0.15.1-next.0
- provider-kucoin-wallet@0.15.1-next.0
- provider-leap-cosmos@0.15.1-next.0
- provider-math-wallet@0.15.1-next.0
- provider-metamask@0.15.1-next.0
- provider-okx@0.15.1-next.0
- provider-phantom@0.15.1-next.0
- provider-safepal@0.15.1-next.0
- provider-station@0.15.1-next.0
- provider-taho@0.15.1-next.0
- provider-tokenpocket@0.15.1-next.0
- provider-tron-link@0.15.1-next.0
- provider-trustwallet@0.15.1-next.0
- provider-walletconnect-2@0.8.1-next.0
- provider-xdefi@0.15.1-next.0
- wallets-core@0.15.1-next.0
- provider-mytonwallet@0.1.1-next.0
- provider-safe@0.8.1-next.0
- provider-all@0.15.1-next.0
- wallets-react@0.1.1-next.1
- queue-manager-rango-preset@0.15.1-next.0
- ui@0.15.1-next.0
- queue-manager-demo@0.11.1-next.4
- wallets-adapter@0.13.1-next.0
- wallets-demo@0.11.1-next.5
- widget-embedded@0.12.1-next.0
- wallets-adapter-demo@0.12.1-next.5
- widget-playground@0.12.1-next.5
- widget-iframe@0.12.1-next.5
- widget-app@0.12.1-next.5

Affected packages: wallets-shared@0.15.1-next.0,signer-ton@0.1.1-next.0,provider-walletconnect@0.15.1-next.0,provider-argentx@0.15.1-next.0,provider-binance-chain-wallet@0.15.1-next.0,provider-bitkeep@0.11.1-next.0,provider-braavos@0.8.1-next.0,provider-brave@0.15.1-next.0,provider-clover@0.15.1-next.0,provider-coin98@0.15.1-next.0,provider-coinbase@0.15.1-next.0,provider-cosmostation@0.15.1-next.0,provider-enkrypt@0.15.1-next.0,provider-exodus@0.15.1-next.0,provider-frontier@0.15.1-next.0,provider-keplr@0.15.1-next.0,provider-kucoin-wallet@0.15.1-next.0,provider-leap-cosmos@0.15.1-next.0,provider-math-wallet@0.15.1-next.0,provider-metamask@0.15.1-next.0,provider-okx@0.15.1-next.0,provider-phantom@0.15.1-next.0,provider-safepal@0.15.1-next.0,provider-station@0.15.1-next.0,provider-taho@0.15.1-next.0,provider-tokenpocket@0.15.1-next.0,provider-tron-link@0.15.1-next.0,provider-trustwallet@0.15.1-next.0,provider-walletconnect-2@0.8.1-next.0,provider-xdefi@0.15.1-next.0,wallets-core@0.15.1-next.0,provider-mytonwallet@0.1.1-next.0,provider-safe@0.8.1-next.0,provider-all@0.15.1-next.0,wallets-react@0.1.1-next.1,queue-manager-rango-preset@0.15.1-next.0,ui@0.15.1-next.0,queue-manager-demo@0.11.1-next.4,wallets-adapter@0.13.1-next.0,wallets-demo@0.11.1-next.5,widget-embedded@0.12.1-next.0,wallets-adapter-demo@0.12.1-next.5,widget-playground@0.12.1-next.5,widget-iframe@0.12.1-next.5,widget-app@0.12.1-next.5
- widget-embedded@0.12.1-next.1
- widget-playground@0.12.1-next.6
- widget-iframe@0.12.1-next.6
- widget-app@0.12.1-next.6

Affected packages: widget-embedded@0.12.1-next.1,widget-playground@0.12.1-next.6,widget-iframe@0.12.1-next.6,widget-app@0.12.1-next.6
- wallets-demo@0.11.1-next.6
- widget-embedded@0.12.1-next.2
- widget-playground@0.12.1-next.7
- widget-iframe@0.12.1-next.7
- widget-app@0.12.1-next.7

Affected packages: wallets-demo@0.11.1-next.6,widget-embedded@0.12.1-next.2,widget-playground@0.12.1-next.7,widget-iframe@0.12.1-next.7,widget-app@0.12.1-next.7
- wallets-shared@0.15.1-next.1
- provider-walletconnect@0.15.1-next.1
- provider-argentx@0.15.1-next.1
- provider-binance-chain-wallet@0.15.1-next.1
- provider-braavos@0.8.1-next.1
- provider-brave@0.15.1-next.1
- provider-clover@0.15.1-next.1
- provider-coin98@0.15.1-next.1
- provider-coinbase@0.15.1-next.1
- provider-cosmostation@0.15.1-next.1
- provider-enkrypt@0.15.1-next.1
- provider-exodus@0.15.1-next.1
- provider-frontier@0.15.1-next.1
- provider-keplr@0.15.1-next.1
- provider-halo@0.15.1-next.1
- provider-leap-cosmos@0.15.1-next.1
- provider-math-wallet@0.15.1-next.1
- provider-metamask@0.15.1-next.1
- provider-okx@0.15.1-next.1
- provider-phantom@0.15.1-next.1
- provider-safepal@0.15.1-next.1
- provider-station@0.15.1-next.1
- provider-taho@0.15.1-next.1
- provider-tokenpocket@0.15.1-next.1
- provider-tron-link@0.15.1-next.1
- provider-trustwallet@0.15.1-next.1
- provider-walletconnect-2@0.8.1-next.1
- provider-xdefi@0.15.1-next.1
- wallets-core@0.15.1-next.1
- provider-mytonwallet@0.1.1-next.1
- provider-bitget@0.11.1-next.1
- provider-safe@0.8.1-next.1
- provider-all@0.15.1-next.1
- wallets-react@0.1.1-next.2
- queue-manager-rango-preset@0.15.1-next.1
- ui@0.15.1-next.1
- queue-manager-demo@0.11.1-next.5
- wallets-adapter@0.13.1-next.1
- wallets-demo@0.11.1-next.7
- widget-embedded@0.12.1-next.3
- wallets-adapter-demo@0.12.1-next.6
- widget-playground@0.12.1-next.8
- widget-iframe@0.12.1-next.8
- widget-app@0.12.1-next.8

Affected packages: wallets-shared@0.15.1-next.1,provider-walletconnect@0.15.1-next.1,provider-argentx@0.15.1-next.1,provider-binance-chain-wallet@0.15.1-next.1,provider-braavos@0.8.1-next.1,provider-brave@0.15.1-next.1,provider-clover@0.15.1-next.1,provider-coin98@0.15.1-next.1,provider-coinbase@0.15.1-next.1,provider-cosmostation@0.15.1-next.1,provider-enkrypt@0.15.1-next.1,provider-exodus@0.15.1-next.1,provider-frontier@0.15.1-next.1,provider-keplr@0.15.1-next.1,provider-halo@0.15.1-next.1,provider-leap-cosmos@0.15.1-next.1,provider-math-wallet@0.15.1-next.1,provider-metamask@0.15.1-next.1,provider-okx@0.15.1-next.1,provider-phantom@0.15.1-next.1,provider-safepal@0.15.1-next.1,provider-station@0.15.1-next.1,provider-taho@0.15.1-next.1,provider-tokenpocket@0.15.1-next.1,provider-tron-link@0.15.1-next.1,provider-trustwallet@0.15.1-next.1,provider-walletconnect-2@0.8.1-next.1,provider-xdefi@0.15.1-next.1,wallets-core@0.15.1-next.1,provider-mytonwallet@0.1.1-next.1,provider-bitget@0.11.1-next.1,provider-safe@0.8.1-next.1,provider-all@0.15.1-next.1,wallets-react@0.1.1-next.2,queue-manager-rango-preset@0.15.1-next.1,ui@0.15.1-next.1,queue-manager-demo@0.11.1-next.5,wallets-adapter@0.13.1-next.1,wallets-demo@0.11.1-next.7,widget-embedded@0.12.1-next.3,wallets-adapter-demo@0.12.1-next.6,widget-playground@0.12.1-next.8,widget-iframe@0.12.1-next.8,widget-app@0.12.1-next.8
- provider-all@0.15.1-next.2
- wallets-adapter@0.13.1-next.2
- queue-manager-demo@0.11.1-next.6
- wallets-demo@0.11.1-next.8
- widget-embedded@0.12.1-next.4
- wallets-adapter-demo@0.12.1-next.7
- widget-playground@0.12.1-next.9
- widget-iframe@0.12.1-next.9
- widget-app@0.12.1-next.9

Affected packages: provider-all@0.15.1-next.2,wallets-adapter@0.13.1-next.2,queue-manager-demo@0.11.1-next.6,wallets-demo@0.11.1-next.8,widget-embedded@0.12.1-next.4,wallets-adapter-demo@0.12.1-next.7,widget-playground@0.12.1-next.9,widget-iframe@0.12.1-next.9,widget-app@0.12.1-next.9
mikasackermn and others added 23 commits November 15, 2023 23:42
- widget-embedded@0.17.1-next.9
- widget-playground@0.13.1-next.9
- widget-iframe@0.13.1-next.9
- widget-app@0.13.1-next.9

Affected packages: widget-embedded@0.17.1-next.9,widget-playground@0.13.1-next.9,widget-iframe@0.13.1-next.9,widget-app@0.13.1-next.9
- widget-embedded@0.17.1-next.10
- widget-playground@0.13.1-next.10
- widget-iframe@0.13.1-next.10
- widget-app@0.13.1-next.10

Affected packages: widget-embedded@0.17.1-next.10,widget-playground@0.13.1-next.10,widget-iframe@0.13.1-next.10,widget-app@0.13.1-next.10
- ui@0.22.1-next.7
- wallets-adapter@0.17.1-next.8
- wallets-demo@0.13.1-next.8
- widget-embedded@0.17.1-next.11
- wallets-adapter-demo@0.14.1-next.8
- widget-playground@0.13.1-next.11
- widget-iframe@0.13.1-next.11
- widget-app@0.13.1-next.11

Affected packages: ui@0.22.1-next.7,wallets-adapter@0.17.1-next.8,wallets-demo@0.13.1-next.8,widget-embedded@0.17.1-next.11,wallets-adapter-demo@0.14.1-next.8,widget-playground@0.13.1-next.11,widget-iframe@0.13.1-next.11,widget-app@0.13.1-next.11
- widget-embedded@0.17.1-next.12
- widget-playground@0.13.1-next.12
- widget-iframe@0.13.1-next.12
- widget-app@0.13.1-next.12

Affected packages: widget-embedded@0.17.1-next.12,widget-playground@0.13.1-next.12,widget-iframe@0.13.1-next.12,widget-app@0.13.1-next.12
- provider-safe@0.14.1-next.4
- provider-walletconnect-2@0.14.1-next.5
- provider-all@0.22.1-next.5
- wallets-adapter@0.17.1-next.9
- queue-manager-demo@0.13.1-next.7
- wallets-demo@0.13.1-next.9
- widget-embedded@0.17.1-next.13
- wallets-adapter-demo@0.14.1-next.9
- widget-playground@0.13.1-next.13
- widget-iframe@0.13.1-next.13
- widget-app@0.13.1-next.13

Affected packages: provider-safe@0.14.1-next.4,provider-walletconnect-2@0.14.1-next.5,provider-all@0.22.1-next.5,wallets-adapter@0.17.1-next.9,queue-manager-demo@0.13.1-next.7,wallets-demo@0.13.1-next.9,widget-embedded@0.17.1-next.13,wallets-adapter-demo@0.14.1-next.9,widget-playground@0.13.1-next.13,widget-iframe@0.13.1-next.13,widget-app@0.13.1-next.13
- widget-embedded@0.17.1-next.14
- widget-playground@0.13.1-next.14
- widget-iframe@0.13.1-next.14
- widget-app@0.13.1-next.14

Affected packages: widget-embedded@0.17.1-next.14,widget-playground@0.13.1-next.14,widget-iframe@0.13.1-next.14,widget-app@0.13.1-next.14
- ui@0.22.1-next.8
- wallets-adapter@0.17.1-next.10
- wallets-demo@0.13.1-next.10
- widget-embedded@0.17.1-next.15
- wallets-adapter-demo@0.14.1-next.10
- widget-playground@0.13.1-next.15
- widget-iframe@0.13.1-next.15
- widget-app@0.13.1-next.15

Affected packages: ui@0.22.1-next.8,wallets-adapter@0.17.1-next.10,wallets-demo@0.13.1-next.10,widget-embedded@0.17.1-next.15,wallets-adapter-demo@0.14.1-next.10,widget-playground@0.13.1-next.15,widget-iframe@0.13.1-next.15,widget-app@0.13.1-next.15
- widget-embedded@0.17.1-next.16
- widget-playground@0.13.1-next.16
- widget-iframe@0.13.1-next.16
- widget-app@0.13.1-next.16

Affected packages: widget-embedded@0.17.1-next.16,widget-playground@0.13.1-next.16,widget-iframe@0.13.1-next.16,widget-app@0.13.1-next.16
Comment on lines +1 to +13
# [0.14.0](https://github.com/rango-exchange/rango-client/compare/provider-metamask@0.13.0...provider-metamask@0.14.0) (2023-08-03)



# [0.13.0](https://github.com/rango-exchange/rango-client/compare/provider-metamask@0.12.0...provider-metamask@0.13.0) (2023-08-01)



# [0.9.0](https://github.com/rango-exchange/rango-client/compare/provider-metamask@0.8.0...provider-metamask@0.9.0) (2023-07-31)



# [0.7.0](https://github.com/rango-exchange/rango-client/compare/provider-metamask@0.6.0...provider-metamask@0.7.0) (2023-07-11)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please remove content of this file

@@ -0,0 +1 @@
# @rango-dev/provider-metamask
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please update readme

return accounts;
};

export const subscribe: Subscribe = subscribeToEvm;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we probably don't need this.


export const getSigners: (provider: any) => SignerFactory = signer;

export const canEagerConnect: CanEagerConnect = canEagerlyConnectToEvm;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please check if we need this.

const starknet = starknetBlockchain(allBlockChains);
return {
name: 'Starknet Snap',
img: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/metamask/icon.svg',
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we need another icon from design team.

Comment on lines +25 to +48
try {
for (const call of calls) {
const res = await sendTransaction(
this.provider,
call.contractAddress,
call.entrypoint,
(call.calldata as string[]).toString(),
address,
chainId
);
console.log({ res });
}

return { hash: '' };
} catch (err) {
console.log({ err });

if (SignerError.isSignerError(err)) {
throw err;
} else {
throw new SignerError(SignerErrorCode.SEND_TX_ERROR, undefined, err);
}
}
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we need to update this code to handle multiple calls once we have access to starkNet_executeTxn.
Consensys/starknet-snap#181

@RanGojo RanGojo added the wait label Dec 6, 2023
@RanGojo RanGojo changed the title feat: support Starknet Snap for Metamask feat: support starknet snap for metamask Feb 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants