I hereby claim:
- I am ukstv on github.
- I am ukstv (https://keybase.io/ukstv) on keybase.
- I have a public key ASA-pf5CKSCMkv4nAI7j_30xPDodXXb9dI3u3YsfWTAUfgo
To claim this, I am signing this object:
{ | |
"doctype": "3id", | |
"header": { | |
"owners": ["z2YyemKYJjf7S345GF2vXbAvbm6hYS5Zg6aaCGpeFuYLLhNczDCJRYh7sKSPZjpWavnCXzg7WYth9bh6fJ5YtWMGu8PA"], | |
}, | |
"content": { | |
"publicKeys": { | |
"signing": "z2YycSARTubBAs31KJEaA7k6adZNMfJ67ztG7MUV2KDPLKs6jNNFcmcikAwuZ2eGDR6AEnQWbxtvFwU2YzuzRHKTkwgN", | |
"encryption": "z6LSePBPmha7e3jkNtt41BvH4p3p6hXFa2aAWgdKFSJyg8mC" | |
} |
I hereby claim:
To claim this, I am signing this object:
import * as _ from "lodash"; | |
const daohaus = { | |
data: { | |
members: [ | |
{ | |
id: "0x0e5a503842c947762e66c42f8a773757edeb2315-0x439116ccdcb4c7ddc68dbc1cc16332e955f1824f" | |
}, | |
{ | |
id: "0x148daa26808201add646d16c5c0a4d0e60d8847c-0xf3d9281fa183b74f32b96e1c5244596045f4ede8" |
import Web3 from 'web3' | |
import util from 'ethereumjs-util' | |
export function toSolSig(sig: string): string { | |
const {r, s, v} = util.fromRpcSig(sig) | |
// NOTE: with potential introduction of chainId this might need to be updated | |
if (v !== 27 && v !== 28) { | |
throw new Error('Invalid recovery id'); | |
} |
### Keybase proof | |
I hereby claim: | |
* I am ukstv on github. | |
* I am ukustov (https://keybase.io/ukustov) on keybase. | |
* I have a public key ASBvXosZDytPI0Je1D_VbipZ3y98Bl6vpx-6P5a2VUAgPwo | |
To claim this, I am signing this object: |
pragma solidity ^0.4.19; | |
import "./Lineup.sol"; | |
import "./PublicRegistry.sol"; | |
contract Conditional { | |
function doCall( | |
address _registry, |
pragma solidity ^0.4.19; | |
import "./LibLineup.sol"; | |
import "./Multisig.sol"; | |
// Optimisation Idea: Use shared Lineup. | |
contract Lineup { | |
LibLineup.State public state; |
// 3: Prepare counterfactual deployment of Bidirectional, and update Lineup | |
let bidirectionalB = bytecodeManager.constructBytecode(Bidirectional, multisig.address, bidirectionalSettlementPeriod) | |
let bidirectionalA = await registry.counterfactualAddress(bidirectionalB, REGISTRY_NONCE) | |
let bidirectionalDeployment = registry.deploy.request(bidirectionalB, REGISTRY_NONCE).params[0].data | |
let bidirectionalCodehash = await conditional.callHash(registry.address, new BigNumber.BigNumber(0), bidirectionalDeployment) | |
// 4. Prepare counterfactual transfer, and update Lineup | |
let transferB = proxy.doCall.request(registry.address, bidirectionalA, depositA, '0x').params[0].data | |
let transferCodehash = await conditional.callHash(proxy.address, depositA, transferB) |
pragma solidity ^0.4.19; | |
import "zeppelin-solidity/contracts/token/ERC20/StandardToken.sol"; | |
contract DistributeToken { | |
function execute(address _token, address a, address b, uint256 amountA, uint256 amountB) public { | |
StandardToken token = StandardToken(_token); | |
require(token.transfer(a, amountA)); | |
require(token.transfer(b, amountB)); |
function doCall(address destination, uint256 value, bytes data, bytes senderSig, bytes receiverSig); | |
function doDelegate(address destination, bytes data, bytes senderSig, bytes receiverSig); | |
function isUnanimous(bytes32 _hash, bytes _senderSig, bytes _receiverSig) public view returns(bool); |