Skip to content

Instantly share code, notes, and snippets.

View jurvis's full-sized avatar
🧿

Jurvis Tan jurvis

🧿
View GitHub Profile
@jurvis
jurvis / notes.md
Created October 12, 2023 19:11
LDK Splicing Meeting 10/12/2023

Dual-Funding/Splicing Sync 10/12

Dual-Funding

  • Duncan has been working within 2302 for v2 chan establishment
  • Working with constructor has been working fine, and has done work up to tx_signatures
  • Duncan left suggested changes in the interactive txs PR
  • Precompute the serial ids instead of passing an entropy_source in interactive txs

What should we do for errors? Not for illegal state transitions, but for when our counterparty sends a message completely unexpected.

  • we should send warning, and then disconnect instead of closing the channel since we do not want to do that for a splice use-case
@jurvis
jurvis / notes.md
Created August 31, 2023 00:46
LDK Splicing Meeting 08/30/2023

Splicing Sync Notes (08/30/2023)

Attendees: Jeff Czyz, Matt Corallo, optout, Jesse Posner, Wilmer Paulino, Jurvis Tan

Interactive-tx branch updates

There are two main thrusts of the effort right now.

1. Users define inputs/outputs they want to contribute upfront (Batching)

  • Change InteractiveTxConstructor API to allow user to define the inputs/outputs, and let it steer the negotiation without user interaction.
@jurvis
jurvis / notes.md
Created August 16, 2023 23:07
LDK Splicing Meeting Notes 08/16/2023

Participants: Jeff Czyz, Wilmer Paulino, Duncan Dean, Jesse Posner, Jurvis Tan

Interactive TX branch

Few things left before the PR is less of a "draft" state and becomes more reviewable:

  1. Have InteractiveTxConstructor return Result types in its methods
  2. Rework functions to take in the wire message structs as parameters
  3. Write tests

Channel Establishment V2

@jurvis
jurvis / notes.md
Last active July 11, 2023 10:15
LDK Splicing Meeting Notes 07/10/2023

Notes

Interactive TX branches

  • Instead of ChannelMode enum, we could have a map for each different types of state (5 different places)
    • we could do that, but there's a lot of copying/reassigning
  • We should error with Result
  • We should hide the match/if let in the InteractiveTxConstructor
  • Type-parameterized version
    • encapsulates the enum and the matches such that the call-sites are cleaner
    • move data into the enum
@jurvis
jurvis / notes.md
Last active April 3, 2023 16:56
jurvis/dunxen Mar 21st, 2023 Dual-Funded Channels/Splicing Sync

jurvis/dunxen Mar 21st, 2023 Dual-Funded Channels/Splicing Sync

Dual Funding

Things in Review

Dual funding messages #1794

Takes care the messages we need for dual-funding, helps with work related to constructing interactive transactions

Splitting up Channel -- a refactor that ties in to everything

Split prefunded Channel into Inbound/Outbound channels #2077 (major refactor in progress)

@jurvis
jurvis / DocDirectoryBacked.swift
Created August 15, 2020 17:41
Swift Property Wrapper for Saving Values to JSON in Documents Directory
@propertyWrapper struct DocDirectoryBacked<Value: Codable> {
let location: String
let documentDirectory = try! FileManager.default.url(for: .libraryDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
private var dirToSave: URL {
return documentDirectory.appendingPathComponent("\(location).json")
}
var wrappedValue: Value? {
get {
@jurvis
jurvis / README.md
Last active October 13, 2015 04:01
How We Calculate Data @ Nebulo

Our Data

Nebulo's data all conform to US EPA AQI standards. See below for the specific description of each country.

Singapore & Hong Kong

Singapore and Hong Kong both offer 1-hour PM2.5 readings in ug/m3. We take these readings and convert them to US EPA AQI using PM2.5 as the pollutant.

Singapore Data source: National Environment Agency - Haze Updates, 1-hr PM2.5 Readings

Hong Kong Data source: Environmental Protection Department - Air Quality Health Index (AQHI), Pollutant concentrations

@jurvis
jurvis / gist:9895073
Created March 31, 2014 15:35
keybase.md
### Keybase proof
I hereby claim:
* I am jurvis on github.
* I am jurvis (https://keybase.io/jurvis) on keybase.
* I have a public key whose fingerprint is 4506 CE5F B766 0FB4 F883 D7A9 B4BA 1210 56E0 19C9
To claim this, I am signing this object: