diff --git a/backend/src/StealthBackend/pom.xml b/backend/src/StealthBackend/pom.xml index 2be426b..296bd51 100644 --- a/backend/src/StealthBackend/pom.xml +++ b/backend/src/StealthBackend/pom.xml @@ -79,7 +79,7 @@ org.jetbrains.kotlin kotlin-stdlib - 1.9.22 + 2.1.0 org.slf4j diff --git a/backend/src/StealthBackend/src/main/java/org/backend/stealth/controller/response/ExampleResponse.java b/backend/src/StealthBackend/src/main/java/org/backend/stealth/controller/response/ExampleResponse.java index 2f20d04..979b55b 100644 --- a/backend/src/StealthBackend/src/main/java/org/backend/stealth/controller/response/ExampleResponse.java +++ b/backend/src/StealthBackend/src/main/java/org/backend/stealth/controller/response/ExampleResponse.java @@ -4,13 +4,19 @@ import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import org.backend.stealth.service.impl.WalletController; +import org.bitcoindevkit.BdkException; @Path("/hello") public class ExampleResponse { @GET @Produces(MediaType.TEXT_PLAIN) - public String hello() { + public String hello() throws BdkException { + + WalletController controller = new WalletController(); + controller.ConnectWallet(); + return "Hello from Quarkus REST"; } } diff --git a/backend/src/StealthBackend/src/main/java/org/backend/stealth/domain/entity/UTXO.java b/backend/src/StealthBackend/src/main/java/org/backend/stealth/domain/entity/UTXO.java new file mode 100644 index 0000000..2a791c7 --- /dev/null +++ b/backend/src/StealthBackend/src/main/java/org/backend/stealth/domain/entity/UTXO.java @@ -0,0 +1,9 @@ +package org.backend.stealth.domain.entity; + +public class UTXO { + + private String value; + private String scriptPubKey; + private String txid; + private Integer vout; +} diff --git a/backend/src/StealthBackend/src/main/java/org/backend/stealth/service/impl/WalletController.java b/backend/src/StealthBackend/src/main/java/org/backend/stealth/service/impl/WalletController.java new file mode 100644 index 0000000..4847b48 --- /dev/null +++ b/backend/src/StealthBackend/src/main/java/org/backend/stealth/service/impl/WalletController.java @@ -0,0 +1,31 @@ +package org.backend.stealth.service.impl; + +import org.bitcoindevkit.*; + +public class WalletController { + + public void ConnectWallet() throws BdkException { + + Mnemonic mnemonic = new Mnemonic(WordCount.WORDS12); + + DescriptorSecretKey masterKey = new DescriptorSecretKey( + Network.REGTEST, + mnemonic, + "" + ); + + String externalDescStr = "wpkh(" + masterKey.asString() + "/84'/1'/0'/0/*)"; + + Descriptor externalDescriptor = new Descriptor(externalDescStr, Network.REGTEST); + + Wallet wallet = new Wallet( + externalDescriptor, + null, // changeDescriptor (pode continuar null por enquanto) + Network.REGTEST, + DatabaseConfig.Memory.INSTANCE + ); + + System.out.println("✅ Carteira criada com sucesso! Endereço: " + + wallet.getAddress(AddressIndex.New.INSTANCE).getAddress()); + } +} \ No newline at end of file diff --git a/backend/src/StealthBackend/src/main/java/org/backend/stealth/utils/WalletUtils.java b/backend/src/StealthBackend/src/main/java/org/backend/stealth/utils/WalletUtils.java new file mode 100644 index 0000000..acd4e83 --- /dev/null +++ b/backend/src/StealthBackend/src/main/java/org/backend/stealth/utils/WalletUtils.java @@ -0,0 +1,6 @@ +package org.backend.stealth.utils; + +public class WalletUtils { + + +}