- Properly escape backlashes in E614_REGEX
- Improve webhook request validation and test coverage
- Removes default params on graphql mutations
PayUmaInvoiceandCreateUmaInvoice
- Add extra params to
create_uma_invoiceandpay_uma_invoicefor analytics.
- Add new
invoice_for_payment_hashquery.
- Add idempotency where useful!
- Add optional
idempotency_keytopay_invoiceandrequest_withdrawal. - Add
idempotency_keytoOutgoingPaymentandWithdrawalobjects. - Add new
outgoing_payment_for_idempotency_keyquery.
- Add optional
- Minor type fix in the
outgoing_payments_for_payment_hashquery.
- Add
fail_htlcsfunction to cancel pending htlcs (for example for HODL invoices). - Add
outgoing_payments_for_payment_hashto get all outgoing payments for a specific hash. - Compress requests and support zstd.
- Use a 64-bit nonce for signed requests to avoid conflicts.
- Add
is_internal_paymentfields to payment objects. - Add
multisig_wallet_address_validation_parametersto support validating node wallet addresses used for deposits. - Add
incoming_payments_for_invoiceto get all incoming payments for an invoice.
- Ensure that the README and LICENSE are included in the pypi package.
- Make get_decoded_payment_request return an InvoiceData type.
- Add is_uma flag to payment objects. Note that this is only accurate for payments/invoices created with create_uma_invoice or pay_uma_invoice.
- Tweak the ChannelSnapshot object to make it more expressive.
- Include type info in the package release.
- Update dependencies.
- Update dependencies.
- Add a function for cancelling unpaid invoices.
- Add UMA invites support.
- Add the Balances object to wallets and nodes for a more human-readable view of balances.
- Add a call to get outgoing payments for an invoice.
- Add webhook handling example and fix create_test_mode_payment bug.
- Fix a signing key bug.
- Update dependencies.
- Remove UMA from lightspark SDK. Go install from https://pypi.org/project/uma-sdk/ instead.
- Add support for remote signing.
- Fix parsing of the pay_uma_invoice response
- Fix a few UMA bugs/ommisions:
- Add expiry_secs to invoice calls
- Parse create_uma_invoice correctly
- Add fees to the invoice amount
- Fix a packaging problem with UMA.
- Fix deserializing nullable lists
- Adding UMA protocol support
- Adding some compliance-related client functions to support UMA
- Add invoice expirySecs to the invoice creation functions
- Return Invoice object instead of InvoiceData so that you can store the Invoice ID if needed
- Lots of docs improvements
- Allow fetching transactions and invoices for a wallet tied to the current account.
- Adding 2 new functions for test mode:
create_test_mode_invoicewhich can give you an encoded lightning invoice that can be paid from your test wallet via the payInvoice functioncreate_test_mode_paymentto pay an invoice created from your test wallet via createInvoice
- Adding the ability to manage wallets tied to the current account. See
Account.get_wallets()and theWalletobject.
- Added ability to create amp invoice.
- Fixed request_withdrawal.
Fixed a bug with paying invoices without specifying amount_msats.
Early beta preview of what will be our 1.0.0 release API. This is a major breaking change from the previous version of the SDK with a cleaner API surface and some nice new feature improvements from early feedback.
- Added a
commit_feefield to the channel object to get the amount to be paid in fees for the current set of commitment transactions.
Several breaking changes and improvements to the SDK to make it more robust and easier to use.
-
Edgeobjects' entites have been collapsed intoConnectionobjects to remove the need for the client to manaually pull out entities from theedgesfield.Before:
for edge in account.get_transactions().edges: print(edge.entity.amount)
After:
for transaction in account.get_transactions().entities: print(transaction.amount)
-
Removed several queries and types which are not needed in the 3P SDK and shouldn't have been exposed. If you were using any of these, please let us know!
LightsparkClient.fund_nodeto automatically add fake funds to a REGTEST node.LightsparkClient.create_api_tokenandLightsparkClient.delete_api_tokento create and delete API tokens.LightsparkClient.send_paymentto send a keysend payment using a destination node's public key which doesn't require an invoice at all.
- Adding a
__FUTURE_VALUE__value to all enum classes. This allows the SDK to be forward-compatible with new values that may be added to the API in the future, rather than crashing.
- Fix instantiation of enums (they were instantiated as
strobjects) - Return concrete entities instead of interfaces. This fixes the fact that
Account.get_transactionsdid not return all the transactions details.- Spread fragments on GraphQL interfaces to enable fetching the details of each entity.
- Conditional JSON loaders to instantiate the right concrete object.
- Add
__init__.pyfiles for better module support. - Add
setup.pyfor PIP repository support.
- Adds a way to paginate transactions (and other connections) using
after. - Updates the SDK to match the latest API version (some fields were added, no breaking change)
- Fix 2 bugs around
datetimeserialization:- Add the serialization to the JSON encoder
- Make sure the
datetimeobjects are timezone aware
- Fields that take arguments are now fetched lazily and expose a function for the client to specify the arguments. Impacts the following fields:
Account.blockchain_balanceAccount.conductivityAccount.local_balanceAccount.remote_balanceAccount.uptime_percentageChannel.uptime_percentage
# Old way to query (example)
account.blockchain_balance
# New way to query (examples)
account.get_blockchain_balance()
account.get_blockchain_balance(bitcoin_networks=[lightspark.BitcoinNetwork.REGTEST])- Eagerly fetch
InvoiceData.destination
SDK and APIs completely refactored. Consider this a new version
First draft of the SDK.