Skip to content

Commit

Permalink
novo contrato de permissionamento
Browse files Browse the repository at this point in the history
  • Loading branch information
marcussuares committed Feb 24, 2025
1 parent 98e0e89 commit 2bcd3e3
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 1 deletion.
2 changes: 1 addition & 1 deletion config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -67,4 +67,4 @@ permissions-nodes-contract-enabled=true
permissions-nodes-contract-address="0x0000000000000000000000000000000000009999"
permissions-nodes-contract-version=2
permissions-accounts-contract-enabled=true
permissions-accounts-contract-address="0xb3f31049dADf7Ab0239afc2f04568CB19543044D"
permissions-accounts-contract-address="0x359e4Ac15c34db530DC61C93D3E646103A569a0A"
3 changes: 3 additions & 0 deletions exemplos/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,9 @@ Operação 1052: Cancelamento de operação de compra e venda entre participante
- [Transferência de DREX Varejo informando apenas a carteira de cliente de destino](example19.ts):
Dado uma carteira de cliente de destino, checa se a mesma pertence ao participante que está enviando a transação: se sim, faz a transferência simples de DREX Varejo; se não, chama o contrato de SwapOneStep

- [Participante permitir um contrato ser executado na rede](permissionamentoContrato.ts):
Após o participante realizar o deploy do seu contrato na rede, é necessário dar a permissão para que esse contrato possa ser executado. Para isso é necessário adicionar o contrato como target no contrato de permissionamento.

[<<< Voltar](../README.md)


Expand Down
26 changes: 26 additions & 0 deletions exemplos/permissionamentoContrato.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import { ethers } from "hardhat";


//exemplo de código para o participante realizar a permissão de um contrato para ser executado na rede
async function permissionamentoContrato() {

//0xEd4ACCa0ae847CADb6c1212A13B975ae3b138b19 - prod nova versão 11/02/25
const rulesInstance = await ethers.getContractAt("AccountRules", "0xEd4ACCa0ae847CADb6c1212A13B975ae3b138b19");


const listedContracts:Array<String> = ["endereço do contrato a ser permissionado"];

for (let i = 0; i < listedContracts.length; i++) {

//realiza a permissão de um contrato para ser executado na rede
const contract = listedContracts[i];
await (await rulesInstance.addTarget(contract.toString())).wait();

//Caso queira remover o contrato para não ser mais executado, utilize o removeTarget
//await (await rulesInstance.removeTarget(contract.toString())).wait();


console.log("Contract added:", contract);
}

};

0 comments on commit 2bcd3e3

Please sign in to comment.