<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
         http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>dev.tnsai</groupId>
        <artifactId>tnsai-parent</artifactId>
        <version>0.18.3</version>
        <relativePath>../pom.xml</relativePath>
    </parent>

    <artifactId>tnsai-payments</artifactId>
    <packaging>jar</packaging>

    <name>TnsAI Payments</name>
    <description>Agent-to-agent settlement via the pluggable PaymentBroker SPI. Ships the x402 adapter (HTTP 402 + EIP-3009 USDC on Base).</description>

    <dependencies>
        <dependency>
            <groupId>dev.tnsai</groupId>
            <artifactId>tnsai-core</artifactId>
        </dependency>

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
        </dependency>

        <!--
            web3j-crypto: EIP-712 typed-data hashing + secp256k1 signing
            for the x402 transferWithAuthorization payload. The unused
            Vert.x transport subtree is excluded from the published POM.
        -->
        <dependency>
            <groupId>org.web3j</groupId>
            <artifactId>crypto</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>io.vertx</groupId>
                    <artifactId>vertx-core</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <!-- Keep web3j's load-bearing cryptography above the security floor. -->
        <dependency>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-jdk18on</artifactId>
            <version>1.86</version>
        </dependency>

        <!-- Hold web3j's Jackson 3 at the patched release for consumers that do not import the TnsAI BOM. -->
        <dependency>
            <groupId>tools.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </dependency>

        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </dependency>

        <!-- Test scope -->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-junit-jupiter</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>
