@@ -10,55 +10,55 @@ import com.getcode.opencode.internal.network.extensions.stablecoinParams
1010import com.getcode.opencode.internal.network.extensions.verifiedMetadata
1111import com.getcode.opencode.model.financial.Token
1212import com.getcode.opencode.model.financial.usdf
13- import com.getcode.opencode.model.transactions.SwapRequest
14- import com.getcode.opencode.model.transactions.SwapResponseServerParameters
13+ import com.getcode.opencode.model.transactions.StatefulSwapRequest
14+ import com.getcode.opencode.model.transactions.StatefulSwapResponseServerParameters
1515import com.getcode.opencode.model.transactions.SwapStartKind
1616import com.getcode.opencode.model.transactions.VerifiedSwapMetadata
1717import com.getcode.opencode.solana.SolanaTransaction
1818import com.getcode.opencode.solana.TransactionBuilder
1919import com.getcode.solana.keys.Signature
2020
21- internal class IntentSwap (
22- val request : SwapRequest ,
21+ internal class IntentStatefulSwap (
22+ val request : StatefulSwapRequest ,
2323 val metadata : VerifiedSwapMetadata ,
2424){
25- var parameters: SwapResponseServerParameters ? = null
25+ var parameters: StatefulSwapResponseServerParameters ? = null
2626
27- fun sign (parameters : SwapResponseServerParameters ): List <Signature > {
27+ fun sign (parameters : StatefulSwapResponseServerParameters ): List <Signature > {
2828 val transaction = transaction(parameters)
2929 return when (parameters) {
30- is SwapResponseServerParameters .ExistingCurrency -> {
30+ is StatefulSwapResponseServerParameters .ExistingCurrency -> {
3131 transaction.signatures(request.owner.authority.keyPair, request.swapAuthority)
3232 }
33- is SwapResponseServerParameters .NewCurrency -> {
33+ is StatefulSwapResponseServerParameters .NewCurrency -> {
3434 // For new currency, owner == swapAuthority, so only 1 unique signature needed
3535 transaction.signatures(request.owner.authority.keyPair)
3636 }
3737
38- is SwapResponseServerParameters .Stablecoin -> {
38+ is StatefulSwapResponseServerParameters .Stablecoin -> {
3939 transaction.signatures(request.owner.authority.keyPair, request.swapAuthority)
4040 }
4141 }
4242 }
4343
44- fun transaction (parameters : SwapResponseServerParameters ): SolanaTransaction {
44+ fun transaction (parameters : StatefulSwapResponseServerParameters ): SolanaTransaction {
4545 return when (parameters) {
46- is SwapResponseServerParameters .ExistingCurrency -> TransactionBuilder .swap(
46+ is StatefulSwapResponseServerParameters .ExistingCurrency -> TransactionBuilder .swap(
4747 response = parameters,
4848 authority = request.owner.authorityPublicKey,
4949 swapAuthority = request.swapAuthority.toPublicKey(),
5050 direction = request.direction,
5151 amount = request.swapAmount.underlyingTokenAmount.quarks,
5252 )
53- is SwapResponseServerParameters .NewCurrency -> TransactionBuilder .buyNewCurrency(
53+ is StatefulSwapResponseServerParameters .NewCurrency -> TransactionBuilder .buyNewCurrency(
5454 response = parameters,
5555 authority = request.owner.authorityPublicKey,
5656 coreMintMetadata = Token .usdf,
5757 amount = request.swapAmount.underlyingTokenAmount.quarks,
5858 feeAmount = request.feeAmount?.underlyingTokenAmount?.quarks,
5959 )
6060
61- is SwapResponseServerParameters .Stablecoin -> TransactionBuilder .stablecoinSwap(
61+ is StatefulSwapResponseServerParameters .Stablecoin -> TransactionBuilder .stablecoinSwap(
6262 response = parameters,
6363 authority = request.owner.authorityPublicKey,
6464 swapAuthority = request.swapAuthority.toPublicKey(),
0 commit comments