Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
/home/runner/work/phoenixd-java/phoenixd-java/phoenixd-base/src/main/java/xyz/tcheeric/phoenixd/common/rest/Operation.java
/home/runner/work/phoenixd-java/phoenixd-java/phoenixd-base/src/main/java/xyz/tcheeric/phoenixd/common/rest/VoidRequestParam.java
/home/runner/work/phoenixd-java/phoenixd-java/phoenixd-base/src/main/java/xyz/tcheeric/phoenixd/common/rest/Request.java
/home/runner/work/phoenixd-java/phoenixd-java/phoenixd-base/src/main/java/xyz/tcheeric/phoenixd/common/rest/Response.java
/home/runner/work/phoenixd-java/phoenixd-java/phoenixd-base/src/main/java/xyz/tcheeric/phoenixd/common/rest/VoidResponse.java
/home/runner/work/phoenixd-java/phoenixd-java/phoenixd-base/src/main/java/xyz/tcheeric/phoenixd/common/rest/util/Configuration.java
/home/runner/work/phoenixd-java/phoenixd-java/phoenixd-base/src/main/java/xyz/tcheeric/phoenixd/common/rest/util/Constants.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@

@RequiredArgsConstructor
public class MockLnServer {
private static final String BECH32_CHARSET = "qpzry9x8gf2tvdw0s3jn54khce6mua7l";

private HttpServer server;

private final int port;
Expand Down Expand Up @@ -64,14 +66,12 @@ private String generateValidBolt11Invoice() {

// Generate random payment hash (32 bytes = 52 chars in bech32, roughly)
// For a minimal valid invoice, we need at least timestamp + payment hash
// Bech32 charset: qpzry9x8gf2tvdw0s3jn54khce6mua7l
SecureRandom random = new SecureRandom();
StringBuilder data = new StringBuilder();
String charset = "qpzry9x8gf2tvdw0s3jn54khce6mua7l";

// Generate 52 random bech32 characters (represents ~32 bytes of data)
for (int i = 0; i < 52; i++) {
data.append(charset.charAt(random.nextInt(charset.length())));
data.append(BECH32_CHARSET.charAt(random.nextInt(BECH32_CHARSET.length())));
}

// Calculate and append Bech32 checksum (6 characters)
Expand All @@ -85,8 +85,6 @@ private String generateValidBolt11Invoice() {
* Simplified implementation for mock purposes.
*/
private String calculateBech32Checksum(String hrp, String data) {
String charset = "qpzry9x8gf2tvdw0s3jn54khce6mua7l";

// Expand HRP
int[] values = new int[hrp.length() * 2 + 1 + data.length() + 6];
int idx = 0;
Expand All @@ -98,7 +96,7 @@ private String calculateBech32Checksum(String hrp, String data) {
values[idx++] = hrp.charAt(i) & 31;
}
for (int i = 0; i < data.length(); i++) {
values[idx++] = charset.indexOf(data.charAt(i));
values[idx++] = BECH32_CHARSET.indexOf(data.charAt(i));
}
for (int i = 0; i < 6; i++) {
values[idx++] = 0;
Expand All @@ -109,7 +107,7 @@ private String calculateBech32Checksum(String hrp, String data) {

StringBuilder checksum = new StringBuilder();
for (int i = 0; i < 6; i++) {
checksum.append(charset.charAt((polymod >> (5 * (5 - i))) & 31));
checksum.append(BECH32_CHARSET.charAt((polymod >> (5 * (5 - i))) & 31));
}

return checksum.toString();
Expand Down
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
xyz/tcheeric/phoenixd/mock/MockLnServer.class
xyz/tcheeric/phoenixd/mock/Main.class
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/home/runner/work/phoenixd-java/phoenixd-java/phoenixd-mock/src/main/java/xyz/tcheeric/phoenixd/mock/MockLnServer.java
/home/runner/work/phoenixd-java/phoenixd-java/phoenixd-mock/src/main/java/xyz/tcheeric/phoenixd/mock/Main.java