Skip to content

Instantly share code, notes, and snippets.

View nau's full-sized avatar

Alexander Nemish nau

View GitHub Profile
// Install scalus-cli with `brew install scalus-cli` then `scala-cli run contract.scala`
//> using scala 3.3.3
//> using plugin org.scalus:scalus-plugin_3:0.6.1
//> using dep org.scalus:scalus_3:0.6.1
package optsend
import scalus.*, Compiler.*, builtin.*, Builtins.*, uplc.*, ledger.api.v2.*
import scalus.uplc.eval.MachineParams
@main def main() =
val validator = compile:
@nau
nau / blockly.xml
Created November 18, 2020 16:40
Kraken Swap
<xml xmlns="https://developers.google.com/blockly/xml"><block type="BaseContractType" id="root_contract" deletable="false" x="110" y="210"><statement name="BaseContractType"><block type="WhenContractType" id="XUM1#N6GJSV~Fip7L6uT"><field name="timeout">100</field><statement name="case"><block type="DepositActionType" id="Z4ue+%rx**vM/_{{)l+o"><value name="from_party"><block type="RolePartyType" id="bM?EQRuaN:=JBR2,c(kN"><field name="role">Alice</field></block></value><value name="value"><block type="ConstantValueType" id="eobj`F9p=p913f[ZC9t,"><field name="constant">5000000000</field></block></value><value name="token"><block type="AdaTokenType" id="b{Zk*GP#[;F/LAofyzIn"/></value><value name="party"><block type="RolePartyType" id="8`,K?vX2vYLqt1/f8C63"><field name="role">Alice</field></block></value><statement name="contract"><block type="WhenContractType" id="lY%o?9Oriq-ZvXyBfTge"><field name="timeout">200</field><statement name="case"><block type="ChoiceActionType" id="?KXZvW48m%3$#d-c;J=C"><field name="cho
@nau
nau / playground.js
Created November 18, 2020 13:10
Untitled Project
import {
PK, Role, Account, Party, ada, AvailableMoney, Constant, NegValue, AddValue,
SubValue, MulValue, Scale, ChoiceValue, SlotIntervalStart, SlotIntervalEnd,
UseValue, Cond, AndObs, OrObs, NotObs, ChoseSomething, ValueGE, ValueGT,
ValueLT, ValueLE, ValueEQ, TrueObs, FalseObs, Deposit, Choice, Notify,
Close, Pay, If, When, Let, Assert, SomeNumber, AccountId, ChoiceId, Token,
ValueId, Value, EValue, Observation, Bound, Action, Payee, Case, Contract
} from 'marlowe-js';
/* === Code above this comment will be removed at compile time === */
@nau
nau / checklist.md
Created July 14, 2020 16:03
Skydiving Camera Checklist

Camera: GoPro Hero Black >= 7, GoPro Max, Dji Osmo.

Settings

  • Resolution: 2.7k or 1080p
  • Frame Rate: 60fps
  • Aspect Ratio: 16:9
  • Sharpness: Medium
  • Stabilization: On
  • One Button Mode: On
@nau
nau / gist:6397422
Created August 31, 2013 10:31
JScala supports ternary operator expressions.
val ast = javascript {
def main(args: Array[String]) {
val language = if (args.length == 0) "EN" else args(0)
val res = language match {
case "EN" => "Hello!"
case "FR" => "Salut!"
case "IT" => "Ciao!"
case _ => "Sorry, I can't greet you in " + language + " yet"
}
console.log(res)
import org.jscala._
object JScalaExample {
def main(args: Array[String]) {
val js = javascript {
window.setTimeout(() => {
val r = new RegExp("d.*", "g")
def func(i: String) = r.exec(i)
val list = document.getElementById("myList2")
val map = collection.mutable.Map[String, String]()
package org.jscala
import language.experimental.macros
import scala.reflect.macros.Context
import net.liftweb.http.SHtml
import net.liftweb.http.js.{JsCmd, JsCmds, JE, JsExp}
import net.liftweb.json.JsonAST._
object Lift {