cryptopunks 2.0.1 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,162 +1,162 @@
1
-
2
- ROBOT_COLORS = [
3
- '000000', # color 1 - BLACK
4
- '535353', # color 2 - BASE 2 (DARKER)
5
- 'A4A4A4', # color 3 - BASE 1
6
- 'A9F7FF', # color 4 - BASE 3 (LIGHTER) - eyes
7
- ]
8
-
9
- VAMPIRE_COLORS = [
10
- '000000', # color 1 - BLACK
11
- '131313', # color 2 - BASE 4 (DARKEST)
12
- '535353', # color 3 - BASE 3 (DARKERER) - eyes
13
- 'A4A4A4', # color 4 - BASE 2 (DARKER) - eyes
14
- 'E0E0E0', # color 5 - BASE 1
15
- 'F6000B', # color 6 - BASE 5 - teeth - red
16
- ]
17
-
18
- MUMMY_COLORS = [
19
- '000000', # color 1 - BLACK
20
- '1F1A15', # color 2 - BASE 5 (DARKEST)
21
- '2A231C', # color 3 - BASE 4 (DARKERERER)
22
- '5F5147', # color 4 - BASE 3 (DARKERER)
23
- '927B6A', # color 5 - BASE 2 (DARKER)
24
- 'D9B599', # color 6 - BASE 1
25
- 'F6000B', # color 7 - BASE 6 - eyes - red
26
- ]
27
-
28
- ORC_COLORS = [
29
- '000000', # color 1 - BLACK
30
- '171a08', # color 2 - BASE 3 (DARKEST)
31
- '333F0C', # color 3 - BASE 2 (DARKER)
32
- '50650E', # color 4 - BASE 1
33
- 'FFFFFF', # color 5 - BASE 4 - white
34
- ]
35
-
36
- SKELETON_COLORS = [
37
- '000000', # color 1 - BLACK
38
- 'e0e0e0', # color 2 - BASE 1
39
- ]
40
-
41
- DEMON_COLORS = [
42
- '000000', # color 1 - BLACK
43
- '390102', # color 2 - BASE 3 (DARKEST) - eyes
44
- '630006', # color 3 - BASE 2 (DARKER) - eyes
45
- '850008', # color 4 - BASE 1
46
- ]
47
-
48
- ZOMBIE_COLORS = [
49
- '000000', # color 1 - BLACK
50
- '5e7253', # color 2 - BASE 2 (DARKER)
51
- '7da269', # color 3 - BASE 1
52
- 'ff0000', # color 4 - BASE 3 - red eye
53
- '9bbc88', # color 5 - BASE 4 (LIGHTER)
54
- '4a010d', # color 6 - BASE 5 - mouth (female only)
55
- ]
56
-
57
- APE_COLORS = [
58
- '000000', # color 1 - BLACK
59
- '352410', # color 2 - BASE 3 (DARKEST)
60
- '6a563f', # color 3 - BASE 2 (DARKER) - eyes
61
- '856f56', # color 4 - BASE 1
62
- 'a98c6b', # color 5 - BASE 4 (LIGHTER) - eyes
63
- ]
64
-
65
- ALIEN_COLORS = [
66
- '000000', # color 1 - BLACK
67
- '75bdbd', # color 2 - BASE 3 (DARKEST)
68
- '9be0e0', # color 3 - BASE 2 (DARKER)
69
- 'c8fbfb', # color 4 - BASE 1
70
- ]
71
-
72
-
73
- HUMAN_LIGHTER_BASE1 = 'ead9d9' # rgb(234 217 217) - hsl( 0° 29% 88%)
74
- HUMAN_LIGHTER_BASE2 = 'c9b2b2' # rgb(201 178 178) - hsl( 0° 18% 74%) - eyes
75
- HUMAN_LIGHTER_BASE3 = 'a58d8d' # rgb(165 141 141) - hsl( 0° 12% 60%) - eyes
76
- HUMAN_LIGHTER_BASE4 = 'ffffff' # rgb(255 255 255) - hsl( 0° 0% 100%) -- white
77
- HUMAN_LIGHTER_BASE5 = '711010' # rgb(113 16 16) - hsl( 0° 75% 25%) - mouth
78
-
79
- HUMAN_LIGHT_BASE1 = 'dbb180' # rgb(219 177 128) - hsl( 32° 56% 68%)
80
- HUMAN_LIGHT_BASE2 = 'd29d60' # rgb(210 157 96) - hsl( 32° 56% 60%) - eyes
81
- HUMAN_LIGHT_BASE3 = 'a66e2c' # rgb(166 110 44) - hsl( 32° 58% 41%) - eyes
82
- HUMAN_LIGHT_BASE4 = 'e7cba9' # rgb(231 203 169) - hsl( 33° 56% 78%)
83
- HUMAN_LIGHT_BASE5 = '711010' # rgb(113 16 16) - hsl( 0° 75% 25%) - mouth
84
-
85
- HUMAN_DARK_BASE1 = 'ae8b61' # rgb(174 139 97) - hsl( 33° 32% 53%)
86
- HUMAN_DARK_BASE2 = 'a77c47' # rgb(167 124 71) - hsl( 33° 40% 47%) - eyes
87
- HUMAN_DARK_BASE3 = '86581e' # rgb(134 88 30) - hsl( 33° 63% 32%) - eyes
88
- HUMAN_DARK_BASE4 = 'b69f82' # rgb(182 159 130) - hsl( 33° 26% 61%)
89
- HUMAN_DARK_BASE5 = '5f1d09' # rgb( 95 29 9) - hsl( 14° 83% 20%) - mouth
90
-
91
- HUMAN_DARKER_BASE1 = '713f1d' # rgb(113 63 29) - hsl( 24° 59% 28%)
92
- HUMAN_DARKER_BASE2 = '723709' # rgb(114 55 9) - hsl( 26° 85% 24%) - eyes
93
- HUMAN_DARKER_BASE3 = '562600' # rgb( 86 38 0) - hsl( 27° 100% 17%) - eyes
94
- HUMAN_DARKER_BASE4 = '8b532c' # rgb(139 83 44) - hsl( 25° 52% 36%)
95
- HUMAN_DARKER_BASE5 = '4a1201' # rgb( 74 18 1) - hsl( 14° 97% 15%) - mouth
96
-
97
-
98
- HUMAN_COLORS_LIGHT = [ ## todo/check: change to HUMAN_LIGHT_COLORS???
99
- '000000', # color 1 - BLACK
100
- HUMAN_LIGHT_BASE3, # color 2 - BASE 3 (DARKEST) - eyes
101
- HUMAN_LIGHT_BASE2, # color 3 - BASE 2 (DARKER) - eyes
102
- HUMAN_LIGHT_BASE1, # color 4 - BASE 1
103
- HUMAN_LIGHT_BASE4, # color 5 - BASE 4
104
- HUMAN_LIGHT_BASE5, # color 6 - BASE 5 - mouth (femaly only)
105
- ]
106
-
107
- HUMAN_COLORS_LIGHTER = [ ## todo/check: change to HUMAN_LIGHTER_COLORS?? or add alias - why? why not?
108
- '000000', # color 1 - BLACK
109
- HUMAN_LIGHTER_BASE3,
110
- HUMAN_LIGHTER_BASE2,
111
- HUMAN_LIGHTER_BASE1,
112
- HUMAN_LIGHTER_BASE4,
113
- HUMAN_LIGHTER_BASE5,
114
- ]
115
-
116
- HUMAN_COLORS_DARK = [
117
- '000000', # color 1 - BLACK
118
- HUMAN_DARK_BASE3,
119
- HUMAN_DARK_BASE2,
120
- HUMAN_DARK_BASE1,
121
- HUMAN_DARK_BASE4,
122
- HUMAN_DARK_BASE5,
123
- ]
124
-
125
- HUMAN_COLORS_DARKER = [
126
- '000000', # color 1 - BLACK
127
- HUMAN_DARKER_BASE3,
128
- HUMAN_DARKER_BASE2,
129
- HUMAN_DARKER_BASE1,
130
- HUMAN_DARKER_BASE4,
131
- HUMAN_DARKER_BASE5,
132
- ]
133
-
134
-
135
- HUMAN_COLORS = {
136
- 'light' => HUMAN_COLORS_LIGHT,
137
- 'lighter' => HUMAN_COLORS_LIGHTER,
138
- 'dark' => HUMAN_COLORS_DARK,
139
- 'darker' => HUMAN_COLORS_DARKER,
140
- }
141
-
142
-
143
-
144
- ### todo/check:
145
- ## use a different name other than the "generic" COLORS - why? why not?
146
-
147
- COLORS = {
148
- ## original series
149
- 'human' => HUMAN_COLORS,
150
- 'zombie' => ZOMBIE_COLORS,
151
- 'ape' => APE_COLORS,
152
- 'alien' => ALIEN_COLORS,
153
- ## more series
154
- 'vampire' => VAMPIRE_COLORS,
155
- 'mummy' => MUMMY_COLORS,
156
- 'orc' => ORC_COLORS,
157
- 'skeleton' => SKELETON_COLORS,
158
- 'demon' => DEMON_COLORS,
159
- 'robot' => ROBOT_COLORS,
160
- }
161
-
162
-
1
+
2
+ ROBOT_COLORS = [
3
+ '000000', # color 1 - BLACK
4
+ '535353', # color 2 - BASE 2 (DARKER)
5
+ 'A4A4A4', # color 3 - BASE 1
6
+ 'A9F7FF', # color 4 - BASE 3 (LIGHTER) - eyes
7
+ ]
8
+
9
+ VAMPIRE_COLORS = [
10
+ '000000', # color 1 - BLACK
11
+ '131313', # color 2 - BASE 4 (DARKEST)
12
+ '535353', # color 3 - BASE 3 (DARKERER) - eyes
13
+ 'A4A4A4', # color 4 - BASE 2 (DARKER) - eyes
14
+ 'E0E0E0', # color 5 - BASE 1
15
+ 'F6000B', # color 6 - BASE 5 - teeth - red
16
+ ]
17
+
18
+ MUMMY_COLORS = [
19
+ '000000', # color 1 - BLACK
20
+ '1F1A15', # color 2 - BASE 5 (DARKEST)
21
+ '2A231C', # color 3 - BASE 4 (DARKERERER)
22
+ '5F5147', # color 4 - BASE 3 (DARKERER)
23
+ '927B6A', # color 5 - BASE 2 (DARKER)
24
+ 'D9B599', # color 6 - BASE 1
25
+ 'F6000B', # color 7 - BASE 6 - eyes - red
26
+ ]
27
+
28
+ ORC_COLORS = [
29
+ '000000', # color 1 - BLACK
30
+ '171a08', # color 2 - BASE 3 (DARKEST)
31
+ '333F0C', # color 3 - BASE 2 (DARKER)
32
+ '50650E', # color 4 - BASE 1
33
+ 'FFFFFF', # color 5 - BASE 4 - white
34
+ ]
35
+
36
+ SKELETON_COLORS = [
37
+ '000000', # color 1 - BLACK
38
+ 'e0e0e0', # color 2 - BASE 1
39
+ ]
40
+
41
+ DEMON_COLORS = [
42
+ '000000', # color 1 - BLACK
43
+ '390102', # color 2 - BASE 3 (DARKEST) - eyes
44
+ '630006', # color 3 - BASE 2 (DARKER) - eyes
45
+ '850008', # color 4 - BASE 1
46
+ ]
47
+
48
+ ZOMBIE_COLORS = [
49
+ '000000', # color 1 - BLACK
50
+ '5e7253', # color 2 - BASE 2 (DARKER)
51
+ '7da269', # color 3 - BASE 1
52
+ 'ff0000', # color 4 - BASE 3 - red eye
53
+ '9bbc88', # color 5 - BASE 4 (LIGHTER)
54
+ '4a010d', # color 6 - BASE 5 - mouth (female only)
55
+ ]
56
+
57
+ APE_COLORS = [
58
+ '000000', # color 1 - BLACK
59
+ '352410', # color 2 - BASE 3 (DARKEST)
60
+ '6a563f', # color 3 - BASE 2 (DARKER) - eyes
61
+ '856f56', # color 4 - BASE 1
62
+ 'a98c6b', # color 5 - BASE 4 (LIGHTER) - eyes
63
+ ]
64
+
65
+ ALIEN_COLORS = [
66
+ '000000', # color 1 - BLACK
67
+ '75bdbd', # color 2 - BASE 3 (DARKEST)
68
+ '9be0e0', # color 3 - BASE 2 (DARKER)
69
+ 'c8fbfb', # color 4 - BASE 1
70
+ ]
71
+
72
+
73
+ HUMAN_LIGHTER_BASE1 = 'ead9d9' # rgb(234 217 217) - hsl( 0° 29% 88%)
74
+ HUMAN_LIGHTER_BASE2 = 'c9b2b2' # rgb(201 178 178) - hsl( 0° 18% 74%) - eyes
75
+ HUMAN_LIGHTER_BASE3 = 'a58d8d' # rgb(165 141 141) - hsl( 0° 12% 60%) - eyes
76
+ HUMAN_LIGHTER_BASE4 = 'ffffff' # rgb(255 255 255) - hsl( 0° 0% 100%) -- white
77
+ HUMAN_LIGHTER_BASE5 = '711010' # rgb(113 16 16) - hsl( 0° 75% 25%) - mouth
78
+
79
+ HUMAN_LIGHT_BASE1 = 'dbb180' # rgb(219 177 128) - hsl( 32° 56% 68%)
80
+ HUMAN_LIGHT_BASE2 = 'd29d60' # rgb(210 157 96) - hsl( 32° 56% 60%) - eyes
81
+ HUMAN_LIGHT_BASE3 = 'a66e2c' # rgb(166 110 44) - hsl( 32° 58% 41%) - eyes
82
+ HUMAN_LIGHT_BASE4 = 'e7cba9' # rgb(231 203 169) - hsl( 33° 56% 78%)
83
+ HUMAN_LIGHT_BASE5 = '711010' # rgb(113 16 16) - hsl( 0° 75% 25%) - mouth
84
+
85
+ HUMAN_DARK_BASE1 = 'ae8b61' # rgb(174 139 97) - hsl( 33° 32% 53%)
86
+ HUMAN_DARK_BASE2 = 'a77c47' # rgb(167 124 71) - hsl( 33° 40% 47%) - eyes
87
+ HUMAN_DARK_BASE3 = '86581e' # rgb(134 88 30) - hsl( 33° 63% 32%) - eyes
88
+ HUMAN_DARK_BASE4 = 'b69f82' # rgb(182 159 130) - hsl( 33° 26% 61%)
89
+ HUMAN_DARK_BASE5 = '5f1d09' # rgb( 95 29 9) - hsl( 14° 83% 20%) - mouth
90
+
91
+ HUMAN_DARKER_BASE1 = '713f1d' # rgb(113 63 29) - hsl( 24° 59% 28%)
92
+ HUMAN_DARKER_BASE2 = '723709' # rgb(114 55 9) - hsl( 26° 85% 24%) - eyes
93
+ HUMAN_DARKER_BASE3 = '562600' # rgb( 86 38 0) - hsl( 27° 100% 17%) - eyes
94
+ HUMAN_DARKER_BASE4 = '8b532c' # rgb(139 83 44) - hsl( 25° 52% 36%)
95
+ HUMAN_DARKER_BASE5 = '4a1201' # rgb( 74 18 1) - hsl( 14° 97% 15%) - mouth
96
+
97
+
98
+ HUMAN_COLORS_LIGHT = [ ## todo/check: change to HUMAN_LIGHT_COLORS???
99
+ '000000', # color 1 - BLACK
100
+ HUMAN_LIGHT_BASE3, # color 2 - BASE 3 (DARKEST) - eyes
101
+ HUMAN_LIGHT_BASE2, # color 3 - BASE 2 (DARKER) - eyes
102
+ HUMAN_LIGHT_BASE1, # color 4 - BASE 1
103
+ HUMAN_LIGHT_BASE4, # color 5 - BASE 4
104
+ HUMAN_LIGHT_BASE5, # color 6 - BASE 5 - mouth (femaly only)
105
+ ]
106
+
107
+ HUMAN_COLORS_LIGHTER = [ ## todo/check: change to HUMAN_LIGHTER_COLORS?? or add alias - why? why not?
108
+ '000000', # color 1 - BLACK
109
+ HUMAN_LIGHTER_BASE3,
110
+ HUMAN_LIGHTER_BASE2,
111
+ HUMAN_LIGHTER_BASE1,
112
+ HUMAN_LIGHTER_BASE4,
113
+ HUMAN_LIGHTER_BASE5,
114
+ ]
115
+
116
+ HUMAN_COLORS_DARK = [
117
+ '000000', # color 1 - BLACK
118
+ HUMAN_DARK_BASE3,
119
+ HUMAN_DARK_BASE2,
120
+ HUMAN_DARK_BASE1,
121
+ HUMAN_DARK_BASE4,
122
+ HUMAN_DARK_BASE5,
123
+ ]
124
+
125
+ HUMAN_COLORS_DARKER = [
126
+ '000000', # color 1 - BLACK
127
+ HUMAN_DARKER_BASE3,
128
+ HUMAN_DARKER_BASE2,
129
+ HUMAN_DARKER_BASE1,
130
+ HUMAN_DARKER_BASE4,
131
+ HUMAN_DARKER_BASE5,
132
+ ]
133
+
134
+
135
+ HUMAN_COLORS = {
136
+ 'light' => HUMAN_COLORS_LIGHT,
137
+ 'lighter' => HUMAN_COLORS_LIGHTER,
138
+ 'dark' => HUMAN_COLORS_DARK,
139
+ 'darker' => HUMAN_COLORS_DARKER,
140
+ }
141
+
142
+
143
+
144
+ ### todo/check:
145
+ ## use a different name other than the "generic" COLORS - why? why not?
146
+
147
+ COLORS = {
148
+ ## original series
149
+ 'human' => HUMAN_COLORS,
150
+ 'zombie' => ZOMBIE_COLORS,
151
+ 'ape' => APE_COLORS,
152
+ 'alien' => ALIEN_COLORS,
153
+ ## more series
154
+ 'vampire' => VAMPIRE_COLORS,
155
+ 'mummy' => MUMMY_COLORS,
156
+ 'orc' => ORC_COLORS,
157
+ 'skeleton' => SKELETON_COLORS,
158
+ 'demon' => DEMON_COLORS,
159
+ 'robot' => ROBOT_COLORS,
160
+ }
161
+
162
+
@@ -1,38 +1,38 @@
1
- module Cryptopunks
2
- ## note: was Image::Composite
3
- class ImageComposite < Pixelart::ImageComposite
4
-
5
- PUNK_HASH = 'ac39af4793119ee46bbff351d8cb6b5f23da60222126add4268e261199a2921b'
6
-
7
- def self.sha256( data )
8
- ## todo/check: or just use Digest::SHA256.hexdigest - why? why not?
9
- Digest::SHA256.digest( data ).unpack( 'H*' )[0]
10
- end
11
-
12
-
13
- PUNK_HEIGHT = 24
14
- PUNK_WIDTH = 24
15
-
16
- def self.read( path='./punks.png', width: PUNK_WIDTH, height: PUNK_HEIGHT )
17
- data = File.open( path, 'rb' ) { |f| f.read }
18
-
19
- hexdigest = sha256( data ) ## check sha256 checksum
20
- if hexdigest == PUNK_HASH
21
- puts " >#{hexdigest}< SHA256 hash matching"
22
- puts " ✓ True Official Genuine CryptoPunks™ verified"
23
- else
24
- puts " ✓ True Official Genuine Yes, You Can! Punks Not Dead verified"
25
- end
26
-
27
- img = ChunkyPNG::Image.from_blob( data )
28
- new( img, width: width, height: height )
29
- end
30
-
31
-
32
- def initialize( *args, width: PUNK_WIDTH,
33
- height: PUNK_HEIGHT )
34
- super
35
- end
36
-
37
- end ## class ImageComposite
38
- end ## module Cryptopunks
1
+ module Punk
2
+ ## note: was Image::Composite
3
+ class ImageComposite < Pixelart::ImageComposite
4
+
5
+ PUNK_HASH = 'ac39af4793119ee46bbff351d8cb6b5f23da60222126add4268e261199a2921b'
6
+
7
+ def self.sha256( data )
8
+ ## todo/check: or just use Digest::SHA256.hexdigest - why? why not?
9
+ Digest::SHA256.digest( data ).unpack( 'H*' )[0]
10
+ end
11
+
12
+
13
+ PUNK_HEIGHT = 24
14
+ PUNK_WIDTH = 24
15
+
16
+ def self.read( path='./punks.png', width: PUNK_WIDTH, height: PUNK_HEIGHT )
17
+ data = File.open( path, 'rb' ) { |f| f.read }
18
+
19
+ hexdigest = sha256( data ) ## check sha256 checksum
20
+ if hexdigest == PUNK_HASH
21
+ puts " >#{hexdigest}< SHA256 hash matching"
22
+ puts " ✓ True Official Genuine Matt & John's® Punks verified"
23
+ else
24
+ puts " ✓ True Official Genuine Yes, You Can! Punk's Not Dead® verified"
25
+ end
26
+
27
+ img = ChunkyPNG::Image.from_blob( data )
28
+ new( img, width: width, height: height )
29
+ end
30
+
31
+
32
+ def initialize( *args, width: PUNK_WIDTH,
33
+ height: PUNK_HEIGHT )
34
+ super
35
+ end
36
+
37
+ end ## class ImageComposite
38
+ end ## module Punk