Skip to content
Open
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
1,134 changes: 1,122 additions & 12 deletions Cargo.lock

Large diffs are not rendered by default.

11 changes: 9 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
[package]
name = "bitkitcore"
version = "0.1.31"
version = "0.1.32"
edition = "2021"

[features]
default = ["pubky"]
pubky = ["dep:pubky", "paykit-lib/pubky"]

[lib]
crate-type = ["cdylib", "staticlib", "rlib"]
name = "bitkitcore"
Expand Down Expand Up @@ -34,6 +38,10 @@ bitcoin-address-generator = "0.2.0"
uuid = { version = "1.16.0", features = ["v4"] }
hex = "0.4.3"
bip39 = "2.0"
paykit-lib = { git = "https://github.com/pubky/paykit-rs", features = ["pubky"] }
pubky = { version = "0.6.0-rc.6", optional = true }
base64 = "0.22.1"
urlencoding = "2.1.3"

[dev-dependencies]
tokio = { version = "1.40.0", features = ["full"] }
Expand All @@ -54,7 +62,6 @@ rustflags = [
"-C", "link-arg=-Wl,--allow-multiple-definition",
]


[[bin]]
name = "example"
path = "example/main.rs"
4 changes: 2 additions & 2 deletions Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@

import PackageDescription

let tag = "v0.1.31"
let checksum = "919d015a27448207dc26e54a07c846355ae7d78bfc970914940d7d5cc101811f"
let tag = "v0.1.32"
let checksum = "75e4d4c33d1c10bef7a65772eb5f0cb2485998470e1e69986861b647ccd0fa05"
let url = "https://github.com/synonymdev/bitkit-core/releases/download/\(tag)/BitkitCore.xcframework.zip"

let package = Package(
Expand Down
61 changes: 61 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,12 @@
- Derive addresses for specified paths
- Retrieve account information
- Handle responses from Trezor devices
- Paykit Module
- Integration with Pubky homeservers for payment endpoint management
- Import authenticated sessions from Pubky Ring via deeplinks
- Publish payment endpoints (Bitcoin addresses, Lightning invoices)
- Retrieve payment endpoints from other Pubky users
- Session lifecycle management and authentication

## Available Modules: Methods
- Scanner
Expand Down Expand Up @@ -436,6 +442,61 @@
common: Option<CommonParams>,
) -> Result<DeepLinkResult, TrezorConnectError>
```
- Paykit:
- [create_pubky_ring_session_request](src/modules/paykit/README.md#api-reference): Generate a URL to request a session from Pubky Ring
```rust
fn create_pubky_ring_session_request(
callback_url: String,
additional_params: Option<HashMap<String, String>>
) -> Result<String, PaykitError>
```
- [parse_paykit_deeplink](src/modules/paykit/README.md#api-reference): Parse a deeplink URL containing a session token
```rust
fn parse_paykit_deeplink(url: String) -> Result<PaykitDeeplink, PaykitError>
```
- [create_transport_from_session_token](src/modules/paykit/README.md#api-reference): Create an authenticated session from a token
```rust
async fn create_transport_from_session_token(
token: SessionToken
) -> Result<PubkyAuthenticatedTransport, PaykitError>
```
- [set_payment_endpoint](src/modules/paykit/README.md#api-reference): Store a payment endpoint on the user's homeserver
```rust
async fn set_payment_endpoint(
client: &PubkyAuthenticatedTransport,
method: MethodId,
data: EndpointData
) -> Result<(), PaykitError>
```
- [remove_payment_endpoint](src/modules/paykit/README.md#api-reference): Remove a payment endpoint from the user's homeserver
```rust
async fn remove_payment_endpoint(
client: &PubkyAuthenticatedTransport,
method: MethodId
) -> Result<(), PaykitError>
```
- [get_payment_list](src/modules/paykit/README.md#api-reference): Retrieve all payment methods for a given user
```rust
async fn get_payment_list(
reader: &PubkyUnauthenticatedTransport,
payee: &PublicKey
) -> Result<SupportedPayments, PaykitError>
```
- [get_payment_endpoint](src/modules/paykit/README.md#api-reference): Retrieve a specific payment endpoint
```rust
async fn get_payment_endpoint(
reader: &PubkyUnauthenticatedTransport,
payee: &PublicKey,
method: &MethodId
) -> Result<Option<EndpointData>, PaykitError>
```
- [get_known_contacts](src/modules/paykit/README.md#api-reference): Get contacts list for a given user
```rust
async fn get_known_contacts(
reader: &PubkyUnauthenticatedTransport,
key: &PublicKey
) -> Result<Vec<PublicKey>, PaykitError>
```

## Building the Bindings

Expand Down
2 changes: 1 addition & 1 deletion bindings/android/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ android.useAndroidX=true
android.enableJetifier=true
kotlin.code.style=official
group=com.synonym
version=0.1.31
version=0.1.32
Binary file not shown.
Binary file not shown.
Binary file modified bindings/android/lib/src/main/jniLibs/x86/libbitkitcore.so
Binary file not shown.
Binary file modified bindings/android/lib/src/main/jniLibs/x86_64/libbitkitcore.so
Binary file not shown.
Loading