# Configurando uma carteira MultiSig

{% hint style="info" %}
Nesta seção, veremos como as DAOs do *Aragon Client* podem ser geridas por uma carteira MultiSig.
{% endhint %}

{% hint style="warning" %}
Aqui vamos usar o [Gnosis Safe MultiSig](https://gnosis-safe.io/), no entanto, você pode seguir uma abordagem parecida para qualquer outra carteira MultiSig que suporte a interação do contrato.
{% endhint %}

## Configurar as permissões necessárias <a href="#prerequisites" id="prerequisites"></a>

{% hint style="info" %}
As DAOs do *Aragon Client* têm acesso a um sistema de controle, onde cada ação é protegida por um conjunto de registros de permissão. Somente alguém com permissões específicas pode agir.&#x20;

\
**É por isso que precisamos atribuir à carteira MultiSig uma série de permissões que correspondam às ações desejadas.**&#x20;

\
Você pode ler mais sobre isso [aqui](https://legacy-docs.aragon.org/aragon-documentacao-do-utilizador/products/aragon-client/explore-template-dao/system-setting/permissions-setting).
{% endhint %}

\
Neste exemplo, uma DAO do *Aragon Client* tem um saldo de tokens ETH armazenados em seu Cofre (*Vault*) e você deseja iniciar um pagamento para compensar um colaborador DAO por seu trabalho. **Mostraremos como iniciar uma retirada de parte dos ETH para o Colaborador**.\
\
Comece abrindo a sua DAO do Aragon Client, você deve ver um painel parecido como na imagem abaixo. Clique no menu à esquerda em '*Permissões*':

<figure><img src="https://1752843065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtIGJVOaXUZ430hEHTGr%2Fuploads%2F4nqP2YkkZVpUOG7afkLk%2F1.png?alt=media&#x26;token=999e7091-5511-404f-8373-00380260189a" alt=""><figcaption></figcaption></figure>

Queremos adicionar novas permissões para o seu MultiSig, então clique nesta tela em '*Nova permissão*'

<figure><img src="https://1752843065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtIGJVOaXUZ430hEHTGr%2Fuploads%2F2124Vdrb2WnMYOT6uXBL%2F2.png?alt=media&#x26;token=0c479408-99ff-463e-981f-5126c9d5831a" alt=""><figcaption></figcaption></figure>

Você deve ver a seguinte janela lateral aparecer. Clique em '*Selecionar um aplicativo*':

<div align="left"><figure><img src="https://1752843065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtIGJVOaXUZ430hEHTGr%2Fuploads%2FVFmPzEFrpcc1MsWE8dCx%2Fimage.png?alt=media&#x26;token=11ce8b55-45a1-4bca-a144-cd53abefc8db" alt=""><figcaption></figcaption></figure></div>

Para este exemplo, queremos iniciar uma retirada de ETH pelo MultiSig. Isso geralmente é feito no aplicativo '*Finanças*' da DAO, então selecione '*Finance*' aqui e clique em '*Selecionar uma entidade*':

<figure><img src="https://1752843065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtIGJVOaXUZ430hEHTGr%2Fuploads%2FyIcadGHmiVD8Vqel9ldX%2Fa.png?alt=media&#x26;token=8b870b92-10d9-4dbf-9ebf-6170c35ff024" alt=""><figcaption></figcaption></figure>

Como precisamos adicionar o endereço do seu MultiSig, clique aqui em '*Custom Address*...':

<figure><img src="https://1752843065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtIGJVOaXUZ430hEHTGr%2Fuploads%2FvM8ef4xdyb5kNItWZc5t%2Faa.png?alt=media&#x26;token=b3d47c06-d6cf-41df-8532-9004fd6f9b8c" alt=""><figcaption></figcaption></figure>

Agora vá para o seu Gnosis Safe, copie seu endereço e cole o endereço do seu MultiSig na caixa 'GRANT PERMISSION TO'. Em seguida, clique em '*Selecionar uma ação*':

<figure><img src="https://1752843065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtIGJVOaXUZ430hEHTGr%2Fuploads%2FMwGs8lzBbpxxIGQddsLF%2Faaaa.png?alt=media&#x26;token=6e7b0d84-3616-43c2-a94c-f421c7a0db5b" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
Não se esqueça de remover as letras da frente do endereço Gnosis Safe, **eth:** ou **gor:** ou diferente dependendo da rede que você usa! Caso contrário não vai funcionar.. \
\
O endereço deve começar com: **0x**
{% endhint %}

Neste caso queremos iniciar um novo pagamento, então clique em '*Criar novos pagamentos*':

<figure><img src="https://1752843065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtIGJVOaXUZ430hEHTGr%2Fuploads%2FqZRFZ9FYRev3LjsqCC4G%2Fb.png?alt=media&#x26;token=b3917023-a2e9-4f2e-8461-74c16d2b947d" alt=""><figcaption></figcaption></figure>

Agora que você preencheu as caixas necessárias, clique em '*Adicionar permissão*':

<figure><img src="https://1752843065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtIGJVOaXUZ430hEHTGr%2Fuploads%2FSA98ZTloSyKwvm0sThlc%2F1.png?alt=media&#x26;token=525364c2-b275-48f4-b1c1-bfda10dc3636" alt=""><figcaption></figcaption></figure>

Aqui o aplicativo avisa que a permissão não pode ser modificada diretamente, mas que será criado um voto para alterar a permissão. Clique em '*Criar transação*':

<figure><img src="https://1752843065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtIGJVOaXUZ430hEHTGr%2Fuploads%2FZ5aYng1dD40vZQAEUD9U%2F2.png?alt=media&#x26;token=31e013fb-23ff-41b3-a94c-d71686031fc7" alt=""><figcaption></figcaption></figure>

Uma transação deve aparecer na sua carteira Web3, '*Confirme*' a transação:

<figure><img src="https://1752843065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtIGJVOaXUZ430hEHTGr%2Fuploads%2FavPUSm63Un5Y8fIFHLXo%2F3.png?alt=media&#x26;token=1ac9dac1-106c-4a8c-a035-acf485a1a7e0" alt=""><figcaption></figcaption></figure>

Depois que a transação for processada, vá para o aplicativo '*Voting*' da sua DAO. Você deve ver que um voto aberto foi gerado. Clique na votação:

<figure><img src="https://1752843065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtIGJVOaXUZ430hEHTGr%2Fuploads%2FdakBzI3wpRd6mHu1O0VL%2F1.png?alt=media&#x26;token=3e8a1fca-6d24-4f64-8ceb-08e796fef564" alt=""><figcaption></figcaption></figure>

Agora confirme o voto clicando em '*Sim*':

<figure><img src="https://1752843065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtIGJVOaXUZ430hEHTGr%2Fuploads%2FEqdhVlPsUBQVvvWCrmcO%2F2.png?alt=media&#x26;token=50610674-96a0-420b-81a0-a5d07f2b7640" alt=""><figcaption></figcaption></figure>

Clique aqui em '*Criar transação*' e confirme a transação que deve aparecer na sua Carteira Web3:

<figure><img src="https://1752843065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtIGJVOaXUZ430hEHTGr%2Fuploads%2FbtdxoG72Pamk2JPh8G17%2F3.png?alt=media&#x26;token=377ebb04-d8b0-4d05-bf6f-d7fad8bb5ddc" alt=""><figcaption></figcaption></figure>

No nosso exemplo, confirmou que a votação foi aprovada:

<figure><img src="https://1752843065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtIGJVOaXUZ430hEHTGr%2Fuploads%2FQm4uwr5ipkrY8bL0BMw2%2F4.png?alt=media&#x26;token=142e727d-9796-472b-b64f-5bba84003c8d" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
Pode ser preciso que a maioria dos membros da DAO votem para que a votação seja aprovada. Isso depende das configurações de **SUPORTE** e **APROVAÇÃO MÍNIMA** da sua DAO.
{% endhint %}

Agora vá para o aplicativo '*Permissões*' para verificar se a permissão para o seu MultiSig foi adicionada. No nosso caso, clique no aplicativo '*Finanças*' e, em seguida, revela a permissão '*Criar novos pagamentos'*. Agora vemos que o endereço MultiSig apareceu!

<figure><img src="https://1752843065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtIGJVOaXUZ430hEHTGr%2Fuploads%2F7n2umF0s49pE3M4X0VEz%2Fa.png?alt=media&#x26;token=4aaff447-ca5a-4d58-a155-687222269f35" alt=""><figcaption></figcaption></figure>

### Iniciar o pagamento no MultiSig <a href="#executing-actions" id="executing-actions"></a>

Feito isso, podemos iniciar um pagamento no MultiSig!

(Neste caso) volte para o Gnosis Safe e pressione '*Nova Transação*'. Na janela pop-up que aparece, pressione '*Interação do Contrato*':

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/5c98a4fe0428633d2cf3fcf7/images/610d0efb766e8844fc34e2c5/file-ery56Brop6.png)

Agora precisamos do '*Endereço do contrato*' do aplicativo com o qual queremos interagir, que é o aplicativo '*Finanças'* neste caso:

<figure><img src="https://1752843065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtIGJVOaXUZ430hEHTGr%2Fuploads%2FwME4cUruNmwuGrAeMR3J%2F1.png?alt=media&#x26;token=8655ce80-9430-4211-9ebf-4e50fe7038c5" alt=""><figcaption></figcaption></figure>

Então volte a sua DAO no *Aragon Client*, abra o aplicativo '*Organização'*, clique no endereço em (neste caso) '*FINANCE*' e copie o endereço:

<figure><img src="https://1752843065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtIGJVOaXUZ430hEHTGr%2Fuploads%2FyW87CxYXBvzjl92vKVrS%2F2.png?alt=media&#x26;token=b029aae0-f218-4c2d-ac59-40f8a41e2c4c" alt=""><figcaption></figcaption></figure>

Agora cole o endereço no campo *'Endereço do contrato'* no Gnosis Safe:

<figure><img src="https://1752843065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtIGJVOaXUZ430hEHTGr%2Fuploads%2F2DBKHk93UAasyGQqJ7Z5%2F3.png?alt=media&#x26;token=f3aee157-d83b-46f0-b303-c777726afb27" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
Se o campo '*ABI*' for preenchido automaticamente, REMOVA todo o conteúdo do campo, pois precisaremos de uma '*ABI*' diferente
{% endhint %}

Agora precisamos obter a '*ABI*' do contrato base do aplicativo com o qual interagimos, que é o aplicativo '*Finanças'* nesse caso. Clique em '*Finance App*' na caixa abaixo:

{% hint style="info" %}
Você pode encontrar links Etherscan para os contratos inteligentes dos aplicativos mais usados ​​abaixo:

* [Aplicativo Token](https://etherscan.io/address/0xde3A93028F2283cc28756B3674BD657eaFB992f4#code)
* [Aplicativo Finanças](https://etherscan.io/address/0x836835289A2E81B66AE5d95b7c8dBC0480dCf9da#code)
* [Aplicativo Votação](https://etherscan.io/address/0xb935C3D80229d5D92f3761b17Cd81dC2610e3a45#code)
  {% endhint %}

Na página Etherscan, role para baixo até ver a caixa '*Contract ABI*'. Clique no símbolo *Copiar*, para copiar a *ABI* do contrato inteligente:

<figure><img src="https://1752843065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtIGJVOaXUZ430hEHTGr%2Fuploads%2FWPSN7esLZhF2cfaKEfZa%2F1.png?alt=media&#x26;token=7e864cbb-ef2a-47d2-8e9d-c2f35503609e" alt=""><figcaption></figcaption></figure>

Cole a *ABI* no campo '*ABI*' do Gnosis Safe e clique em '*Método*':

<figure><img src="https://1752843065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtIGJVOaXUZ430hEHTGr%2Fuploads%2FwjUzssvd67q2o8j23Jqi%2F2.png?alt=media&#x26;token=28cc267a-8b8b-49fe-ac69-8a219a1efaff" alt=""><figcaption></figcaption></figure>

Pesquise aqui por '*newImmediatePayment*', já que queremos fazer um pagamento imediato neste exemplo, e selecione-o:

<figure><img src="https://1752843065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtIGJVOaXUZ430hEHTGr%2Fuploads%2Fc7lfm9cdO8yoxHvkTDcz%2F3.png?alt=media&#x26;token=be35ef76-2aeb-4936-82c2-dd04bb91aa61" alt=""><figcaption></figcaption></figure>

Agora encontre o '*endereço do token*' do token que você deseja enviar. Neste caso estamos enviando ETH. O endereço de ETH é: `0x0000000000000000000000000000000000000000`

Adicione o '*endereço do destinatário*', neste exemplo aquele do Contribuidor.

Em seguida, adicione a '*quantidade*'. Nesse caso, enviaremos ao Contribudor da DAO uma quantia de 0,1 ETH.

{% hint style="danger" %}
Para o campo '*quantitade*', adicione 18 casas decimais ao valor original. Por exemplo, se você quiser acionar o método ***newImmediatePayment*** para transferir 10,5 tokens, será necessário inserir 10,5 \* 10 ^ 18 = **`10500000000000000000`** no campo do valor.
{% endhint %}

No nosso exemplo, a quantia é 0.1 \* 10 ^ 18 = `100000000000000000`

Após, você pode adicionar uma '*reference string*' como referência de pagamento, e clique em '*Revisar*':

<figure><img src="https://1752843065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtIGJVOaXUZ430hEHTGr%2Fuploads%2FyK9Xbq4npd7U3vKB2NMJ%2F4.png?alt=media&#x26;token=593ded15-d451-470c-950a-04bb98ca9e3b" alt=""><figcaption></figcaption></figure>

Role para baixo e teste a transação clicando em '*Simular*'. Se tudo estiver bem, deve exibir '*Sucesso*'. Se sim, clique em '*Enviar*':

<figure><img src="https://1752843065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtIGJVOaXUZ430hEHTGr%2Fuploads%2FJuES3NGarQPMKkAB7zRR%2F5.png?alt=media&#x26;token=3a802cfd-c513-4782-820a-131fae8d5091" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
**Se a simulação falhou** e você receber avisos (como um erro de estimativa de gás), provavelmente houve um erro nas permissões, nos parâmetros do método, na ABI ou no endereço do contrato. Por favor, faça a configuração novamente
{% endhint %}

Uma transação deve aparecer na sua carteira Web3. '*Confirme*' a transação e espere que ela seja processada. Se tudo correu bem, a transação é executada.

<figure><img src="https://1752843065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtIGJVOaXUZ430hEHTGr%2Fuploads%2FAui2EWEQLabf3eNwpmFp%2F6.png?alt=media&#x26;token=94d4d5ff-d2b8-4b6e-a065-f6d46626681f" alt=""><figcaption></figcaption></figure>

Volte pela última vez a sua DAO no *Aragon Client* :fingers\_crossed: e abra o aplicativo '*Finanças'*. No nosso exemplo, vemos que uma '*Compensação do Contribudor*' de 0,1 ETH está sendo exibida na visão geral das '*Transferências*'

<figure><img src="https://1752843065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtIGJVOaXUZ430hEHTGr%2Fuploads%2FEkcvB4qjMVxDs0gXH3RZ%2F7.png?alt=media&#x26;token=6a8e307c-9c4b-4827-9cfb-bd8b5d8ca9be" alt=""><figcaption></figcaption></figure>

Conseguimos! :partying\_face: Parabens! :medal:
