Skip to content

Instantly share code, notes, and snippets.

@mascot6699
Created October 28, 2019 17:40
Show Gist options
  • Save mascot6699/4e12d2927bf67691593bcf311a6160c2 to your computer and use it in GitHub Desktop.
Save mascot6699/4e12d2927bf67691593bcf311a6160c2 to your computer and use it in GitHub Desktop.
import 'react-native-get-random-values';
import {Button, Text} from "react-native"
import React from "react"
import {storage} from "./cruxpay-sdk"
import {CruxClient} from "./cruxpay-sdk"
let dataMemory = {};
class RNLocalStorage extends storage.StorageService {
setItem = (key, value) => {
dataMemory[key] = value;
return dataMemory[key];
}
getItem = (key) => {
return Object.prototype.hasOwnProperty.call(dataMemory, key) ? dataMemory[key] : undefined;
}
}
class CruxPayTest extends Component {
constructor(props) {
super(props);
this.state = {
data: 'Crux Test! Results in alert'
}
}
makeid(length) {
let result = '';
let characters = '0123456789';
let charactersLength = characters.length;
for ( let i = 0; i < length; i++ ) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return result;
}
testCrux = async () => {
let s = new RNLocalStorage();
s.setJSON("payIDClaim", {"identitySecrets":"{\"iv\":\"59ZAnVm5vyC6zIZz\",\"encBuffer\":\"1JstBA1vk8LpSfI9kPlGtWytcAZUbGN51g5E8NA/OVXjSsygdjdceeW0bb/2GbR9qkkq4P7nuP9lCjxbXWcsJaj/0AWUOA82AmZnbP7yUH8ATQwdSgyhUQDGboSVsO2JYFg1tPg2P+kA0jIoRYYGpAlcT8hhEe5jRSp9NBZ2cFWV/z3yDRMZtXHUQtwY/bPenREqBv7iBgwnqWLzrDMoY+KrjOXzUC3BWCByYfj02WkXLq6tQnJyPepCl1OGhpfoDCBgRbrIZ+uJxDp0RrAbp52OSREPaHPF/6oShTm5Pre1ZswBxufqwWMfNARY0wA=\"}","virtualAddress":"yadu007@cruxdev.crux"})
let cruxClientOptions = {
getEncryptionKey: () => 'fookey',
walletClientName: 'cruxdev',
storage: s
}
let newId = this.makeid(6);
let cruxClient = new CruxClient(cruxClientOptions);
cruxClient.init().then(() => {
alert("init done");
cruxClient.getAddressMap().then((addressMap) => {
alert("before change addressMap ripple identifier: " + addressMap["ripple"]["secIdentifier"]);
let newAddressMapping = {
"bitcoin": {"addressHash": "1HX4KvtPdg9QUYwQE1kNqTAjmNaDG7w82V"},
"ethereum": {"addressHash": "0x0a2311594059b468c9897338b027c8782398b481"},
"ripple": {"addressHash": "rpfKAA2Ezqoq5wWo3XENdLYdZ8YGziz48h", "secIdentifier": newId},
"tron": {"addressHash": "TG3iFaVvUs34SGpWq8RG9gnagDLTe1jdyz"}
}
cruxClient.putAddressMap(newAddressMapping).then((res) => {
console.log('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa res', res)
cruxClient.getAddressMap().then((addressMap) => {
console.log('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa after change addressMap', addressMap)
alert("after change addressMap ripple identifier: " + addressMap["ripple"]["secIdentifier"]);
}).catch((err) => {
console.log('after getAddressMap errorCode', err.errorCode);
console.log('errorMessage', err.message);
alert("ERROR after change addressMap" + err.message);
})
}).catch((err) => {
console.log('putAddressMap errorCode', err.errorCode);
console.log('errorMessage', err.message);
alert("ERROR putAddressMap" + err.errorCode + err.message);
})
}).catch((err) => {
console.log('before getAddressMap errorCode', err.errorCode);
console.log('errorMessage', err.message);
alert("ERROR before change addressMap" + err.message);
})
})
}
componentDidMount() {
// this.testCrux().then(res => {
// console.log('hello' + res);
// }).catch(err => {
// console.log(err);
// })
}
render() {
return (
<Button onPress={this.testCrux} title="Click Again to change ripple address. Results of change are in alert box." color="blue" />
);
}
}
@mascot6699
Copy link
Author

wget https://raw.githubusercontent.com/mascot6699/crux-sample-react-native/nodeify-polyfill-example/cruxpay-sdk.js

to get dist js that has react fixes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment