make invoice amount optional
This commit is contained in:
		
							parent
							
								
									3c39ff6d85
								
							
						
					
					
						commit
						91e1ea6055
					
				@ -12,11 +12,13 @@ import fr.acinq.lightning.NodeParams
 | 
			
		||||
import fr.acinq.lightning.bin.db.SqlitePaymentsDb
 | 
			
		||||
import fr.acinq.lightning.bin.db.WalletPaymentId
 | 
			
		||||
import fr.acinq.lightning.bin.json.ApiType.*
 | 
			
		||||
import fr.acinq.lightning.bin.json.ApiType.Channel
 | 
			
		||||
import fr.acinq.lightning.blockchain.fee.FeeratePerByte
 | 
			
		||||
import fr.acinq.lightning.blockchain.fee.FeeratePerKw
 | 
			
		||||
import fr.acinq.lightning.channel.ChannelCommand
 | 
			
		||||
import fr.acinq.lightning.channel.states.*
 | 
			
		||||
import fr.acinq.lightning.channel.states.ChannelStateWithCommitments
 | 
			
		||||
import fr.acinq.lightning.channel.states.Closed
 | 
			
		||||
import fr.acinq.lightning.channel.states.Closing
 | 
			
		||||
import fr.acinq.lightning.channel.states.ClosingFeerates
 | 
			
		||||
import fr.acinq.lightning.io.Peer
 | 
			
		||||
import fr.acinq.lightning.io.WrappedChannelCommand
 | 
			
		||||
import fr.acinq.lightning.payment.Bolt11Invoice
 | 
			
		||||
@ -99,9 +101,9 @@ class Api(private val nodeParams: NodeParams, private val peer: Peer, private va
 | 
			
		||||
                }
 | 
			
		||||
                post("createinvoice") {
 | 
			
		||||
                    val formParameters = call.receiveParameters()
 | 
			
		||||
                    val amount = formParameters.getLong("amountSat").sat
 | 
			
		||||
                    val amount = formParameters.getOptionalLong("amountSat")?.sat
 | 
			
		||||
                    val description = formParameters.getString("description")
 | 
			
		||||
                    val invoice = peer.createInvoice(randomBytes32(), amount.toMilliSatoshi(), Either.Left(description))
 | 
			
		||||
                    val invoice = peer.createInvoice(randomBytes32(), amount?.toMilliSatoshi(), Either.Left(description))
 | 
			
		||||
                    formParameters["externalId"]?.takeUnless { it.isBlank() }?.let { externalId ->
 | 
			
		||||
                        paymentDb.metadataQueries.insertExternalId(WalletPaymentId.IncomingPaymentId(invoice.paymentHash), externalId)
 | 
			
		||||
                    }
 | 
			
		||||
@ -217,6 +219,8 @@ class Api(private val nodeParams: NodeParams, private val peer: Peer, private va
 | 
			
		||||
 | 
			
		||||
    private fun Parameters.getLong(argName: String): Long = ((this[argName] ?: missing(argName)).toLongOrNull()) ?: invalidType(argName, "integer")
 | 
			
		||||
 | 
			
		||||
    private fun Parameters.getOptionalLong(argName: String): Long? = this[argName]?.let { it.toLongOrNull() ?: invalidType(argName, "integer") }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user