Skip to content

Instantly share code, notes, and snippets.

View 3esmit's full-sized avatar

Ricardo Guilherme Schmidt 3esmit

View GitHub Profile
@3esmit
3esmit / file.md
Last active October 26, 2020 13:08

Ricardo Guilherme Schmidt

Engenheiro de Contratos Inteligentes, Status.im

A Status.im é uma cateira de criptomoedas e um portal para web3 com mensageiro seguro. https://status.im/


This post links my 3Box profile to my Github account! Web3 social profiles by 3Box.
✅ did:3:bafyreibon7m4jtkjyor7udjzqp6adje4rur7itzc3cowdpriyp5jxhot3i ✅
Create your profile today to start building social connection and trust online at https://3Box.io/

Keybase proof

I hereby claim:

  • I am 3esmit on github.
  • I am 3esmit (https://keybase.io/3esmit) on keybase.
  • I have a public key ASDfgif_uz2o2mpfJGxBOO2T--q2RePY7nEeSV_UOOw0uQo

To claim this, I am signing this object:

## Using conventionalcommits for commit messages: https://www.conventionalcommits.org/en/v1.0.0/#specification
## creates scaffolding for an embark-project in the folder named <project-name>
# npx embark new <project-name>
## sets the license of project https://github.com/Ovyerus/license#readme https://spdx.org/licenses/
# npx license <SPDX Identifier>
# Envoirement Setup
## install node-js using nvm https://github.com/creationix/nvm
nvm install 10.17.0
pragma solidity >=0.5.0 <0.7.0;
import "./Account.sol";
import "./ERC725.sol";
import "../cryptography/ECDSA.sol";
import "../common/Controlled.sol";
/**
* @author Ricardo Guilherme Schmidt (Status Research & Development GmbH)
* @notice Defines an account which can be setup by a owner address (multisig contract), recovered by a recover address (a sort of secret multisig contract), and execute actions from a list of addresses (authorized contracts, extensions, etc)

I propose the use of Status Network infrastructure to do this.

    graph TB
        ethereum["Ethereum Network"]
        server["Status.im Service"]
        subgraph Status Network
            public["Public Chat"]
            private["Private Messages"]
            nodes["User Nodes"] 
const EmbarkJS = require('Embark/EmbarkJS');
const MultisigRecovery = require('Embark/contracts/MultisigRecovery')
config({
namesystem: {
enabled: true,
available_providers: ["ens"],
provider: "ens",
register: {
rootDomain: "eth",
pragma solidity >=0.5.0 <0.7.0;
/**
* @author Ricardo Guilherme Schmidt (Status Research & Development GmbH)
* @notice simplified multi proofs
*/
library MerkleMultiProof {
/**
* @notice Calculates a merkle root using multiple leafs at same time
* @param leafs out of order sequence of leafs and it's siblings
pragma solidity >=0.5.0 <0.6.0;
/**
* @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.
*
* These functions can be used to verify that a message was signed by the holder
* of the private keys of a given address.
*/
library ECDSA {
/**
@3esmit
3esmit / config.json
Created October 2, 2019 12:02
Status.im statusd mailserver config (change <your-ip>)
{
"Rendezvous": true,
"ListenAddr": "0.0.0.0:30304",
"AdvertiseAddr": "<your-ip>",
"APIModules": "eth,net,web3,admin",
"NoDiscovery": false,
"WhisperConfig": {
"Enabled": true,
"EnableMailServer": true,
"LightClient": false,