Skip to content

Commit fa8c9de

Browse files
author
CHMZ Developer
authored
CoinBase Wallet Crypto SDK
1 parent 855d160 commit fa8c9de

73 files changed

Lines changed: 39575 additions & 1 deletion

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<ItemGroup>
4+
<Filter Include="Kaynak Dosyalar">
5+
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
6+
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
7+
</Filter>
8+
<Filter Include="Üst Bilgi Dosyaları">
9+
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
10+
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
11+
</Filter>
12+
<Filter Include="Kaynak Dosyaları">
13+
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
14+
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
15+
</Filter>
16+
</ItemGroup>
17+
<ItemGroup>
18+
<ClInclude Include="framework.h">
19+
<Filter>Üst Bilgi Dosyaları</Filter>
20+
</ClInclude>
21+
<ClInclude Include="pch.h">
22+
<Filter>Üst Bilgi Dosyaları</Filter>
23+
</ClInclude>
24+
</ItemGroup>
25+
<ItemGroup>
26+
<ClCompile Include="dllmain.cpp">
27+
<Filter>Kaynak Dosyalar</Filter>
28+
</ClCompile>
29+
<ClCompile Include="pch.cpp">
30+
<Filter>Kaynak Dosyalar</Filter>
31+
</ClCompile>
32+
</ItemGroup>
33+
</Project>
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<PropertyGroup />
4+
</Project>
Lines changed: 157 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,157 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<ItemGroup Label="ProjectConfigurations">
4+
<ProjectConfiguration Include="Debug|Win32">
5+
<Configuration>Debug</Configuration>
6+
<Platform>Win32</Platform>
7+
</ProjectConfiguration>
8+
<ProjectConfiguration Include="Release|Win32">
9+
<Configuration>Release</Configuration>
10+
<Platform>Win32</Platform>
11+
</ProjectConfiguration>
12+
<ProjectConfiguration Include="Debug|x64">
13+
<Configuration>Debug</Configuration>
14+
<Platform>x64</Platform>
15+
</ProjectConfiguration>
16+
<ProjectConfiguration Include="Release|x64">
17+
<Configuration>Release</Configuration>
18+
<Platform>x64</Platform>
19+
</ProjectConfiguration>
20+
</ItemGroup>
21+
<PropertyGroup Label="Globals">
22+
<VCProjectVersion>16.0</VCProjectVersion>
23+
<Keyword>Win32Proj</Keyword>
24+
<ProjectGuid>{6964182f-8a9c-4446-8db6-58840ece2c52}</ProjectGuid>
25+
<RootNamespace>WalletPre</RootNamespace>
26+
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
27+
</PropertyGroup>
28+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
29+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
30+
<ConfigurationType>DynamicLibrary</ConfigurationType>
31+
<UseDebugLibraries>true</UseDebugLibraries>
32+
<PlatformToolset>v143</PlatformToolset>
33+
<CharacterSet>Unicode</CharacterSet>
34+
</PropertyGroup>
35+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
36+
<ConfigurationType>DynamicLibrary</ConfigurationType>
37+
<UseDebugLibraries>false</UseDebugLibraries>
38+
<PlatformToolset>v143</PlatformToolset>
39+
<WholeProgramOptimization>true</WholeProgramOptimization>
40+
<CharacterSet>Unicode</CharacterSet>
41+
</PropertyGroup>
42+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
43+
<ConfigurationType>DynamicLibrary</ConfigurationType>
44+
<UseDebugLibraries>true</UseDebugLibraries>
45+
<PlatformToolset>v143</PlatformToolset>
46+
<CharacterSet>Unicode</CharacterSet>
47+
</PropertyGroup>
48+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
49+
<ConfigurationType>DynamicLibrary</ConfigurationType>
50+
<UseDebugLibraries>false</UseDebugLibraries>
51+
<PlatformToolset>v143</PlatformToolset>
52+
<WholeProgramOptimization>true</WholeProgramOptimization>
53+
<CharacterSet>Unicode</CharacterSet>
54+
</PropertyGroup>
55+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
56+
<ImportGroup Label="ExtensionSettings">
57+
</ImportGroup>
58+
<ImportGroup Label="Shared">
59+
</ImportGroup>
60+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
61+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
62+
</ImportGroup>
63+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
64+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
65+
</ImportGroup>
66+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
67+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
68+
</ImportGroup>
69+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
70+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
71+
</ImportGroup>
72+
<PropertyGroup Label="UserMacros" />
73+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
74+
<ClCompile>
75+
<WarningLevel>Level3</WarningLevel>
76+
<SDLCheck>true</SDLCheck>
77+
<PreprocessorDefinitions>WIN32;_DEBUG;WALLETPRE_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
78+
<ConformanceMode>true</ConformanceMode>
79+
<PrecompiledHeader>Use</PrecompiledHeader>
80+
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
81+
</ClCompile>
82+
<Link>
83+
<SubSystem>Windows</SubSystem>
84+
<GenerateDebugInformation>true</GenerateDebugInformation>
85+
<EnableUAC>false</EnableUAC>
86+
</Link>
87+
</ItemDefinitionGroup>
88+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
89+
<ClCompile>
90+
<WarningLevel>Level3</WarningLevel>
91+
<FunctionLevelLinking>true</FunctionLevelLinking>
92+
<IntrinsicFunctions>true</IntrinsicFunctions>
93+
<SDLCheck>true</SDLCheck>
94+
<PreprocessorDefinitions>WIN32;NDEBUG;WALLETPRE_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
95+
<ConformanceMode>true</ConformanceMode>
96+
<PrecompiledHeader>Use</PrecompiledHeader>
97+
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
98+
</ClCompile>
99+
<Link>
100+
<SubSystem>Windows</SubSystem>
101+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
102+
<OptimizeReferences>true</OptimizeReferences>
103+
<GenerateDebugInformation>true</GenerateDebugInformation>
104+
<EnableUAC>false</EnableUAC>
105+
</Link>
106+
</ItemDefinitionGroup>
107+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
108+
<ClCompile>
109+
<WarningLevel>Level3</WarningLevel>
110+
<SDLCheck>true</SDLCheck>
111+
<PreprocessorDefinitions>_DEBUG;WALLETPRE_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
112+
<ConformanceMode>true</ConformanceMode>
113+
<PrecompiledHeader>Use</PrecompiledHeader>
114+
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
115+
</ClCompile>
116+
<Link>
117+
<SubSystem>Windows</SubSystem>
118+
<GenerateDebugInformation>true</GenerateDebugInformation>
119+
<EnableUAC>false</EnableUAC>
120+
</Link>
121+
</ItemDefinitionGroup>
122+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
123+
<ClCompile>
124+
<WarningLevel>Level3</WarningLevel>
125+
<FunctionLevelLinking>true</FunctionLevelLinking>
126+
<IntrinsicFunctions>true</IntrinsicFunctions>
127+
<SDLCheck>true</SDLCheck>
128+
<PreprocessorDefinitions>NDEBUG;WALLETPRE_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
129+
<ConformanceMode>true</ConformanceMode>
130+
<PrecompiledHeader>Use</PrecompiledHeader>
131+
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
132+
</ClCompile>
133+
<Link>
134+
<SubSystem>Windows</SubSystem>
135+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
136+
<OptimizeReferences>true</OptimizeReferences>
137+
<GenerateDebugInformation>true</GenerateDebugInformation>
138+
<EnableUAC>false</EnableUAC>
139+
</Link>
140+
</ItemDefinitionGroup>
141+
<ItemGroup>
142+
<ClInclude Include="framework.h" />
143+
<ClInclude Include="pch.h" />
144+
</ItemGroup>
145+
<ItemGroup>
146+
<ClCompile Include="dllmain.cpp" />
147+
<ClCompile Include="pch.cpp">
148+
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
149+
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
150+
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
151+
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
152+
</ClCompile>
153+
</ItemGroup>
154+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
155+
<ImportGroup Label="ExtensionTargets">
156+
</ImportGroup>
157+
</Project>
Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
2+
import picamera
3+
import qrtools
4+
from qrtools import QR
5+
import os
6+
from PIL import Image
7+
import sys, re
8+
import warnings
9+
warnings.filterwarnings("ignore")
10+
warnings.filterwarnings(action= 'ignore')
11+
12+
oledWidth = 48
13+
oledHeight = 48
14+
threshold = 100
15+
myFileName = ""
16+
17+
def convert(pixels) :
18+
19+
data = [[0 for x in range(oledHeight/8)] for x in range(oledWidth)]
20+
21+
for i in range(oledWidth):
22+
for j in range(oledHeight/8):
23+
for bit in range(8):
24+
data[i][j] |= (pixels[i][j*8 + bit] << bit)
25+
return data
26+
27+
28+
29+
def toBinary(im):
30+
# Convert image to monochrome if necessary
31+
if (im.mode != "1"):
32+
im.convert("1")
33+
34+
binary = [[0 for x in range(oledHeight)] for x in range(oledWidth)]
35+
36+
for j in range(oledHeight):
37+
for i in range(oledWidth):
38+
value = im.getpixel((i, j))[0]
39+
binary[i][j] = int(value < threshold)
40+
41+
return binary
42+
43+
44+
45+
def output(data):
46+
47+
if sys.argv[1]=="private":
48+
myFileName="privatekey.h"
49+
myFirstLine="const unsigned char privkey [288] = { \n"
50+
else:
51+
myFileName="publickey.h"
52+
myFirstLine="const unsigned char pubkey [288] = { \n"
53+
54+
with open(myFileName, 'w') as myFile:
55+
56+
myFile.write(myFirstLine)
57+
58+
for j in range(oledHeight/8):
59+
for i in range(oledWidth):
60+
if (j==5 and i==47):
61+
myFile.write(format(data[i][j], '#04x'))
62+
else:
63+
myFile.write(format(data[i][j], '#04x') + ", ")
64+
if (i%16 == 15):
65+
myFile.write("\n")
66+
67+
68+
69+
myFile.write("\n};")
70+
71+
72+
73+
qr = qrtools.QR()
74+
75+
print "Alt Loader for Alt Wallet"
76+
print "Roni Bandini, Buenos Aires, Argentina, May 2022"
77+
print ""
78+
79+
print ">> Reading Cam"
80+
81+
camera=picamera.PiCamera()
82+
camera.resolution = (800, 600)
83+
camera.brightness = 50
84+
camera.color_effects = (128,128)
85+
camera.capture('cam.jpg')
86+
camera.close()
87+
88+
89+
print ">> Extracting info"
90+
qr.data="NULL"
91+
qr.decode('cam.jpg')
92+
print qr.data
93+
94+
if qr.data=="NULL":
95+
print "No QR found"
96+
quit()
97+
98+
myCode = QR(data=qr.data, pixel_size=3, margin_size=0)
99+
myCode.encode()
100+
print ">> Moving image"
101+
os.system("sudo mv " + myCode.filename + " /home/pi/btc/myQR.png")
102+
103+
print ">> Resizing"
104+
img = Image.open(r"/home/pi/btc/myQR.png")
105+
newsize = (48, 48)
106+
img = img.resize(newsize)
107+
img.save("myQR48.png")
108+
109+
print ">> Converting to JPG"
110+
im = Image.open("myQR48.png")
111+
rgb_im = im.convert('RGB')
112+
rgb_im.save('myQR48.jpg')
113+
114+
115+
print ">> Converting to Bytearray"
116+
binary = toBinary(rgb_im)
117+
data = convert(binary)
118+
output(data)
119+
120+
if sys.argv[1]=="private":
121+
print ">> File exported as privatekey.h Place into Arduino project folder"
122+
else:
123+
print ">> File exported as publickey.h Place into Arduino project folder"
124+
125+
print ">> Removing img files"
126+
os.remove("cam.jpg")
127+
os.remove("myQR.png")
128+
os.remove("myQR48.jpg")
129+
os.remove("myQR48.png")

0 commit comments

Comments
 (0)