Hi Rocio,
Can you please describe the issue in more detail here? If I understand correctly, you are trying to pass in an array of vault IDs, but you are unable to do that.
You need to choose the correct Vault ID and the correct address will be picked up associated with that user
Kindly take a look at our documentation with code examples mentioned below.
This is what I mean:
Lets asume I have 3 accounts that have a smart contract deployed to their name. (1, 2, 3)
So I would create the fireblocks provider with vaultAccountIds: [1, 2, 3]
My question is, how do I set which account I am interacting with when running a function on a smart contract?
If I try to use the smart contract deployed by accountId 2, I’ll get an error because account 1 does not have permission to interact with that contract.
Hi @rocio – apologies for the earlier confusion, you can certainly select what wallet to use when setting up your eip1993 provider with multiple vault accounts.
When you’re sending the signature request, you can specify a JsonRpcSigner object to use. If you’ve created the provider with multiple vaults, you will have a separate JsonRpcSigner object for each vault’s wallet. You can fetch these using the Web3Provider.getSigner() function. For example, this eip1993 provider was created and provided with two vaults, and I can then use the getSigner() function to fetch specific wallet signers, and can then use it when instantiating a new Contract object, or use it’s TX-related functions :