Skip to content

Instantly share code, notes, and snippets.

@sirsean
sirsean / king_command.rb
Last active August 29, 2015 14:04
Command pattern with required/optional fields, support for type coercion, and validation.
module Command
extend ActiveSupport::Concern
include ActiveModel::Validations
module ClassMethods
def required(key, as: nil)
add_field(key, as)
validates key, presence: true
end
private :required
@sirsean
sirsean / keybase.md
Created July 13, 2015 14:50
keybase.md

Keybase proof

I hereby claim:

  • I am sirsean on github.
  • I am sirsean (https://keybase.io/sirsean) on keybase.
  • I have a public key whose fingerprint is 2CE6 A738 3337 91B7 2412 1C6D CF23 73F9 3E5D 4F3A

To claim this, I am signing this object:

$ docker-compose logs
Attaching to desdemona_peer_1, desdemona_kafkacat_1, desdemona_kafka_1, desdemona_db_1, desdemona_zookeeper_1
peer_1 | Setting shared memory for Aeron
peer_1 | + echo Setting shared memory for Aeron
peer_1 | + mount -t tmpfs -o remount,rw,nosuid,nodev,noexec,relatime,size=256M tmpfs /dev/shm
peer_1 | + sed s/-/_/g
peer_1 | + echo desdemona
peer_1 | + APP_NAME=desdemona
peer_1 | + java -cp /srv/desdemona.jar desdemona.launcher.launch_prod_peers 1 6
peer_1 | + java -cp /srv/desdemona.jar desdemona.launcher.aeron_media_driver
import Web3 from 'web3';
import ERC20ContractABI from './src/abi/erc20.js';
import UniswapV2ABI from './src/abi/uniswap_v2.js';
function basicResponse(err, res) {
return res;
}
function convertDecimals(amount, decimals) {
return amount * Math.pow(10, -1 * decimals);