Skip to content

Instantly share code, notes, and snippets.

@gbarros
gbarros / docker-compose.hardhat.yaml
Created July 22, 2023 18:51
Deploying Cartesi Rollups v0.8.2
version: "3.9"
services:
deploy:
image: gbbabarros/rollups-hardhat:0.8.2
env_file:
- env.custom.yml
command:
[
"deploy",
@gbarros
gbarros / Modified.sol
Created April 2, 2021 15:56
Update for 1822 [WIP PoC]
pragma solidity ^0.7.0;
contract Proxy {
// Code position in storage is keccak256("PROXIABLE") = "0xc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7"
constructor(bytes memory constructData, address contractLogic) public {
// save the code address
assembly { // solium-disable-line
sstore(0xc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7, contractLogic)
}
(bool success, bytes memory _ ) = contractLogic.delegatecall(constructData); // solium-disable-line
@gbarros
gbarros / Example.sol
Created March 4, 2019 17:01
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.5.4+commit.9549d8ff.js&optimize=false&gist=
pragma solidity ^0.5.1;
import "./Proxy.sol";
import "./ShipB.sol";
import "./ShipA.sol";
contract Example {
event NewContract(address _contract);
@gbarros
gbarros / Example.sol
Created March 4, 2019 15:57
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.5.4+commit.9549d8ff.js&optimize=false&gist=
pragma solidity ^0.5.1;
import "./Proxy.sol";
import "./ShipB.sol";
import "./ShipA.sol";
contract Example {
event NewContract(address _contract);
@gbarros
gbarros / bot.py
Created December 26, 2016 16:55
bitcoin bot
from telegram.ext import CommandHandler, Updater, Job
from exchanges.bitfinex import Bitfinex
from exchanges.coindesk import CoinDesk
bitfinex = Bitfinex()
coindesk = CoinDesk()
up = Updater("YOUR CUSTOM BOT-FATHER-ROVIDED TOKEN")
// Read Contract File
var fs = require('fs');
function readSolFile(filePath){
var file = fs.readFileSync(filePath, "utf8");
return file;
}
// Compile Contract
var solc = require("solc")
var input = readSolFile("./SimpleRegistry.sol");
@gbarros
gbarros / seach_prices.js
Created November 12, 2016 15:52
EC2 Amazon princing region comparison
var json2html={transform:function(a,b,c){var d={events:[],html:""},e={events:!1};if(e=json2html._extend(e,c),void 0!==b||void 0!==a){var f="string"==typeof a?JSON.parse(a):a;d=json2html._transform(f,b,e)}return e.events?d:d.html},_extend:function(a,b){var c={};for(var d in a)c[d]=a[d];for(var d in b)c[d]=b[d];return c},_append:function(a,b){var c={html:"",event:[]};return"undefined"!=typeof a&&"undefined"!=typeof b&&(c.html=a.html+b.html,c.events=a.events.concat(b.events)),c},_isArray:function(a){return"[object Array]"===Object.prototype.toString.call(a)},_transform:function(a,b,c){var d={events:[],html:""};if(json2html._isArray(a))for(var e=a.length,f=0;f<e;++f)d=json2html._append(d,json2html._apply(a[f],b,f,c));else"object"==typeof a&&(d=json2html._append(d,json2html._apply(a,b,void 0,c)));return d},_apply:function(a,b,c,d){var e={events:[],html:""};if(json2html._isArray(b))for(var f=b.length,g=0;g<f;++g)e=json2html._append(e,json2html._apply(a,b[g],c,d));else if("object"==typeof b&&void 0!==b.tag){var h=js

** This Gist is about how to setup a build+upload system to use with MikroC and PICKit 2 v2.55 **

  1. Create a project over MikroC with all of your preferences

  2. Go to the project's base folder and open the %ProjectName%.log

  3. You should see as first line something like this:

0 1 mikroCPIC1618.exe -MSF -DBG -pP18F452 -DL -O11111114 -fo20 -N"F:\development\Trabalhofinal\mikroc\MyProject.mcppi" -SP"C:\Users\Public\Documents\Mikroelektronika\mikroC PRO for PIC\defs" -SP"C:\Users\Public\Documents\Mikroelektronika\mikroC PRO for PIC\uses\P18" -SP"F:\development\Trabalhofinal\mikroc" -SP"C:\Users\mplab\Documents\Trabalhofinal\mikroc" -IP"C:\Users\mplab\Documents\Trabalhofinal\mikroc" -IP"F:\development\Trabalhofinal\mikroc" "start.c" "processor.c" "main.c" "keyboard.c" "__Lib_Math.mcl" "__Lib_MathDouble.mcl" "__Lib_System.mcl" "__Lib_Delays.mcl" "__Lib_CType.mcl" "__Lib_CString.mcl" "__Lib_CStdlib.mcl" "__Lib_CMath.mcl" "__Lib_MemManager.mcl" "__Lib_Conversions.mcl" "__Lib_Sprintf.mcl" "__Lib_PrintOut.mc

long rotacoes = 0;
char strLCD[16] = "0";
char read[4]={0,10,13,'\0'};
// LCD module connections
sbit LCD_RS at RE2_bit;
sbit LCD_EN at RE1_bit;
sbit LCD_D0 at RD0_bit;
sbit LCD_D1 at RD1_bit;
sbit LCD_D2 at RD2_bit;