Skip to content

Instantly share code, notes, and snippets.

@weeravit
weeravit / main.js
Last active September 5, 2022 17:00
[Solidity] EtherJs execute smart-contract
require('dotenv').config();
const { ethers } = require("ethers");
const BigNumber = require('bignumber.js');
const multisendContractABI = require('./contract.abi.json');
const provider = new ethers.providers.JsonRpcProvider(process.env.PROVIDER_URL);
const walletPrivateKey = process.env.WALLET_PRIVATE_KEY;
const signer = new ethers.Wallet(walletPrivateKey, provider);
{"lastUpload":"2019-09-10T08:27:56.394Z","extensionVersion":"v3.4.2"}
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
import React from 'react';
import {Alert, StyleSheet, Text, View} from 'react-native';
import {BarCodeScanner, Permissions} from 'expo';
export default class App extends React.Component {
state = {
hasCameraPermission: null,
isQRScanable: true
}
@weeravit
weeravit / App.js
Created March 12, 2018 16:31
expo qr scanner example
import React from 'react';
import {StyleSheet, Text, View} from 'react-native';
import {BarCodeScanner, Permissions} from 'expo';
export default class App extends React.Component {
state = {
hasCameraPermission: null,
}
async componentWillMount() {
@weeravit
weeravit / WrapContentHeightViewPager.java
Created May 9, 2017 05:01 — forked from egslava/WrapContentHeightViewPager.java
Wrap content height ViewPager (Android)
package org.cnii.layoutloader.ui;
import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.View;
/**
* Special thanks to Daniel López Lacalle for his response
* (http://stackoverflow.com/questions/8394681/android-i-am-unable-to-have-viewpager-wrap-content/20784791#20784791)
public class SingletonClass implements Serializable {
private static volatile SingletonClass sSoleInstance;
//private constructor.
private SingletonClass(){
//Prevent form the reflection api.
if (sSoleInstance != null){
throw new RuntimeException("Use getInstance() method to get the single instance of this class.");
@weeravit
weeravit / index.android.js
Created May 1, 2017 10:28
react native webview not work on Android API24
/**
* Sample React Native App
* https://github.com/facebook/react-native
* @flow
*/
import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
@weeravit
weeravit / req_add_game.json
Last active April 26, 2017 12:46
Test Add Game Base64
{
"games":"0",
"subjects":"1",
"watchtype":"1",
"title":"test",
"file":"data:application\/zip;base64,UEsDBBQACAAIAHydmkoAAAAAAAAAAAAAAAAJABAAdGVzdC5qc29uVVgMAAyWAFkMlgBZ9QEUAKvmUlBQykvMTVWyUlAqSS0uUeKq5QIAUEsHCGC9nfsXAAAAFQAAAFBLAwQKAAAAAACLnZpKAAAAAAAAAAAAAAAACQAQAF9fTUFDT1NYL1VYDAAllgBZJZYAWfUBFABQSwMEFAAIAAgAfJ2aSgAAAAAAAAAAAAAAABQAEABfX01BQ09TWC8uX3Rlc3QuanNvblVYDAAMlgBZDJYAWfUBFABjYBVjZ2BiYPBNTFbwD1aIUIACkBgDJxAbAfECIAbxLzEQBRxDQoKgTJCOFUCshaaEESGukpyfq5dYUJCTqpebWpKYkliSaBWf7eviWZKaG1qcWhSSmF7MwJBUkJNZXGJgsIADagAjkknIgBMAUEsHCJbeAqhtAAAA0gAAAFBLAQIVAxQACAAIAHydmkpgvZ37FwAAABUAAAAJAAwAAAAAAAAAAECkgQAAAAB0ZXN0Lmpzb25VWAgADJYAWQyWAFlQSwECFQMKAAAAAACLnZpKAAAAAAAAAAAAAAAACQAMAAAAAAAAAABA\/UFeAAAAX19NQUNPU1gvVVgIACWWAFkllgBZUEsBAhUDFAAIAAgAfJ2aSpbeAqhtAAAA0gAAABQADAAAAAAAAAAAQKSBlQAAAF9fTUFDT1NYLy5fdGVzdC5qc29uVVgIAAyWAFkMlgBZUEsFBgAAAAADAAMA1AAAAFQBAAAAAA=="
}
@weeravit
weeravit / ImageSample
Created April 11, 2017 04:33
Image Base64 Sample
data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAGQAOEDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+ItSS8o3jKhQN20D7smCwBxkBQWZSWwV5KqDSiRVbPzZA28hh8wd+Rt3MOgLcMR8rYBCA57yszOC/PBU4yxwW2oN+NwYK24MN6k4UB2ZiiSKN4yhXglthbhXLEsAcoBjLK53qNrFhlmb2VNpTfK02lZO+vvJK6u7tb62er3aPn