ethlite-contracts 0.1.0 → 0.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a198b63a1148a0e8e36cc2d5ab99f30857ca3a9c70d6e53199c97b33601ce547
4
- data.tar.gz: a7446a701fbe7e7b84af8d51042f97c05a40389ca410e3b3222070c1a5e1b5ea
3
+ metadata.gz: ca6de1c37a18e18603847fb4f34cece9177d8839e561a2e68cf1e772fbe81c81
4
+ data.tar.gz: 52e07b948256fae1714ac69cf6fa3f3580638c89d41fcfdbbfe9ce84528c45d7
5
5
  SHA512:
6
- metadata.gz: 022d69134a5f510655876772b81351715bbc1fb67fadeb6cbf025a8e535f3f848af74cb4d9da19e3ab0188ff7f6bdebdef0e8cd883d9a9489bf585c19914b41c
7
- data.tar.gz: 7a6f8b1eee2674d998fab9b19e4f4c9c5100942b23eaf844a12e4d2011213833ba1534d2149ecc8b776d504484045e944ffa1b643782f8903b0725208e5bcd7d
6
+ metadata.gz: 7132e907281f9bd8efdabd16f337943339315d7406e05fc22f043a605616ea626d6886f9bad87ad089da5bfa6b6116f3d5edf163f69ec86cb957e81898fe5b96
7
+ data.tar.gz: ff12785374324d102cb92a8ae0a6c52ec2af1d15c8925aab796a07ce9c467adb5572d03d5bb369208ad8a70462387fc2387c6e28577dfe3f14370849471e7557
data/Rakefile CHANGED
@@ -3,7 +3,7 @@ require 'hoe'
3
3
 
4
4
  Hoe.spec 'ethlite-contracts' do
5
5
 
6
- self.version = '0.1.0'
6
+ self.version = '0.1.1'
7
7
  self.summary = "ethlite-contracts - ready-to-use (blockchain) contract services / function calls for ethereum & co."
8
8
  self.description = summary
9
9
 
@@ -1,97 +1,87 @@
1
1
  #########################
2
2
  # PunkBlocks contract / (blockchain) services / function calls
3
- # auto-generated via abigen (see https://rubygems.org/gems/abigen) on 2023-01-12 17:17:30 UTC
3
+ # auto-generated via abigen (see https://rubygems.org/gems/abigen) on 2023-01-13 15:31:38 UTC
4
4
  # - 8 query functions(s)
5
-
6
- #
5
+ #
6
+ #
7
7
  # - Author: tycoon.eth, thanks to @geraldb & @samwilsn on Github for inspiration!
8
8
  # - Version: v0.0.2
9
9
  # - Pragma: solidity ^0.8.17
10
- #
11
- #
12
- # ```
13
- # ███████████ █████
14
- # ░░███░░░░░███ ░░███
15
- # ░███ ░███ █████ ████ ████████ ░███ █████
16
- # ░██████████ ░░███ ░███ ░░███░░███ ░███░░███
17
- # ░███░░░░░░ ░███ ░███ ░███ ░███ ░██████░
18
- # ░███ ░███ ░███ ░███ ░███ ░███░░███
19
- # █████ ░░████████ ████ █████ ████ █████
20
- # ░░░░░ ░░░░░░░░ ░░░░ ░░░░░ ░░░░ ░░░░░
21
- #
22
- #
23
- #
24
- # ███████████ ████ █████
25
- # ░░███░░░░░███░░███ ░░███
26
- # ░███ ░███ ░███ ██████ ██████ ░███ █████ █████
27
- # ░██████████ ░███ ███░░███ ███░░███ ░███░░███ ███░░
28
- # ░███░░░░░███ ░███ ░███ ░███░███ ░░░ ░██████░ ░░█████
29
- # ░███ ░███ ░███ ░███ ░███░███ ███ ░███░░███ ░░░░███
30
- # ███████████ █████░░██████ ░░██████ ████ █████ ██████
31
- # ░░░░░░░░░░░ ░░░░░ ░░░░░░ ░░░░░░ ░░░░ ░░░░░ ░░░░░░
32
- # ```
33
- #
10
+ #
11
+ #
12
+ # ███████████ █████
13
+ # ░░███░░░░░███ ░░███
14
+ # ░███ ░███ █████ ████ ████████ ░███ █████
15
+ # ░██████████ ░░███ ░███ ░░███░░███ ░███░░███
16
+ # ░███░░░░░░ ░███ ░███ ░███ ░███ ░██████░
17
+ # ░███ ░███ ░███ ░███ ░███ ░███░░███
18
+ # █████ ░░████████ ████ █████ ████ █████
19
+ # ░░░░░ ░░░░░░░░ ░░░░ ░░░░░ ░░░░ ░░░░░
20
+ #
21
+ #
22
+ #
23
+ # ███████████ ████ █████
24
+ # ░░███░░░░░███░░███ ░░███
25
+ # ░███ ░███ ░███ ██████ ██████ ░███ █████ █████
26
+ # ░██████████ ░███ ███░░███ ███░░███ ░███░░███ ███░░
27
+ # ░███░░░░░███ ░███ ░███ ░███░███ ░░░ ░██████░ ░░█████
28
+ # ░███ ░███ ░███ ░███ ░███░███ ███ ░███░░███ ░░░░███
29
+ # ███████████ █████░░██████ ░░██████ ████ █████ ██████
30
+ # ░░░░░░░░░░░ ░░░░░ ░░░░░░ ░░░░░░ ░░░░ ░░░░░ ░░░░░░
31
+ #
34
32
  # A Registry of 24x24 png images
35
- #
33
+ #
36
34
  # This contract:
37
- #
35
+ #
38
36
  # 1. Stores all the classic traits of the CryptoPunks in
39
37
  # individual png files, 100% on-chain. These are then used as
40
38
  # blocks to construct CryptoPunk images. Outputted as SVGs.
41
- #
39
+ #
42
40
  # 2. Any of the 10,000 "classic" CryptoPunks can be generated
43
41
  # by supplying desired arguments to a function, such as
44
42
  # the id of a punk, or a list of the traits.
45
- #
43
+ #
46
44
  # 3. An unlimited number of new punk images can be generated from
47
45
  # the existing classic set of traits, or even from new traits!
48
- #
46
+ #
49
47
  # 4. New traits (blocks) can be added to the contract by
50
48
  # registering them with the `registerBlock` function.
51
- #
49
+ #
52
50
  # Further documentation:
53
51
  # https://github.com/0xTycoon/punk-blocks
54
- #
55
- #
56
- #
52
+ #
53
+ #
54
+ #
57
55
  # **Data Structures**
58
- #
56
+ #
59
57
  # Layer is in the order of rendering
60
- #
61
- # ```
62
- # enum Layer {
63
- # Base, // 0 Base is the face. Determines if m or f version will be used to render the remaining layers
64
- # Cheeks, // 1 (Rosy Cheeks)
65
- # Blemish, // 2 (Mole, Spots)
66
- # Hair, // 3 (Purple Hair, Shaved Head, Pigtails, ...)
67
- # Beard, // 4 (Big Beard, Front Beard, Goat, ...)
68
- # Eyes, // 5 (Clown Eyes Green, Green Eye Shadow, ...)
69
- # Eyewear, // 6 (VR, 3D Glass, Eye Mask, Regular Shades, Welding Glasses, ...)
70
- # Nose, // 7 (Clown Nose)
71
- # Mouth, // 8 (Hot Lipstick, Smile, Buck Teeth, ...)
72
- # MouthProp, // 9 (Medical Mask, Cigarette, ...)
73
- # Earring, // 10 (Earring)
74
- # Headgear, // 11 (Beanie, Fedora, Hoodie, Police Cap, Tiara, Headband, ...)
75
- # Neck // 12 (Choker, Silver Chain, Gold Chain)
76
- # }
77
- # ```
78
- #
79
- # ```
80
- # struct Block {
81
- # Layer layer; // 13 possible layers
82
- # bytes dataMale; // male version of this attribute
83
- # bytes dataFemale;// female version of this attribute
84
- # }
85
- # ```
86
- #
87
- #
58
+ #
59
+ # enum Layer {
60
+ # Base, // 0 Base is the face. Determines if m or f version will be used to render the remaining layers
61
+ # Cheeks, // 1 (Rosy Cheeks)
62
+ # Blemish, // 2 (Mole, Spots)
63
+ # Hair, // 3 (Purple Hair, Shaved Head, Pigtails, ...)
64
+ # Beard, // 4 (Big Beard, Front Beard, Goat, ...)
65
+ # Eyes, // 5 (Clown Eyes Green, Green Eye Shadow, ...)
66
+ # Eyewear, // 6 (VR, 3D Glass, Eye Mask, Regular Shades, Welding Glasses, ...)
67
+ # Nose, // 7 (Clown Nose)
68
+ # Mouth, // 8 (Hot Lipstick, Smile, Buck Teeth, ...)
69
+ # MouthProp, // 9 (Medical Mask, Cigarette, ...)
70
+ # Earring, // 10 (Earring)
71
+ # Headgear, // 11 (Beanie, Fedora, Hoodie, Police Cap, Tiara, Headband, ...)
72
+ # Neck // 12 (Choker, Silver Chain, Gold Chain)
73
+ # }
74
+ #
75
+ # struct Block {
76
+ # Layer layer; // 13 possible layers
77
+ # bytes dataMale; // male version of this attribute
78
+ # bytes dataFemale;// female version of this attribute
79
+ # }
80
+ #
81
+ #
88
82
  # **Events**
89
- #
90
- # ```
91
- # event NewBlock(address, uint256, string)
92
- # ```
93
- #
94
- #
83
+ #
84
+ # event NewBlock(address, uint256, string)
95
85
 
96
86
 
97
87
  class PunkBlocks < Ethlite::Contract
@@ -100,73 +90,54 @@ class PunkBlocks < Ethlite::Contract
100
90
 
101
91
  # storage - mapping(bytes32 => Block) public blocks
102
92
  #
103
- #
104
93
  # stores punk attributes as a png
105
- #
106
- #
107
- sig "blocks", inputs: ["bytes32"], outputs: ["uint8","bytes","bytes"]
108
94
  def blocks(arg0)
109
95
  do_call("blocks", arg0)
110
96
  end
97
+ sig "blocks", inputs: ["bytes32"], outputs: ["uint8","bytes","bytes"]
111
98
 
112
99
  # function getBlocks
113
100
  #
114
- #
115
- # ```
116
101
  # getBlocks returns a sequential list of blocks in a single call
117
102
  # @param _fromID is which id to begin from
118
103
  # @param _count how many items to retrieve.
119
104
  # @return Block[] list of blocks, uint256 next id
120
- # ```
121
- #
122
- sig "getBlocks", inputs: ["uint256","uint256"], outputs: ["(uint8,bytes,bytes)[]","uint256"]
123
105
  def getBlocks(_fromID, _count)
124
106
  do_call("getBlocks", _fromID, _count)
125
107
  end
108
+ sig "getBlocks", inputs: ["uint256","uint256"], outputs: ["(uint8,bytes,bytes)[]","uint256"]
126
109
 
127
110
  # storage - mapping(uint256 => bytes32) public index
128
111
  #
129
- #
130
112
  # index of each block by its sequence
131
- #
132
- #
133
- #
134
- sig "index", inputs: ["uint256"], outputs: ["bytes32"]
135
113
  def index(arg0)
136
114
  do_call("index", arg0)
137
115
  end
116
+ sig "index", inputs: ["uint256"], outputs: ["bytes32"]
138
117
 
139
118
  # storage - uint256 public nextId
140
119
  #
141
- #
142
120
  # next id to use when adding a block
143
- #
144
- sig "nextId", outputs: ["uint256"]
145
121
  def nextId()
146
122
  do_call("nextId")
147
123
  end
124
+ sig "nextId", outputs: ["uint256"]
148
125
 
149
126
  # function svgFromIDs
150
127
  #
151
- #
152
- # ```
153
128
  # svgFromIDs returns the svg data as a string
154
129
  # e.g. [9,55,99]
155
130
  # One of the elements must be must be a layer 0 block.
156
131
  # This element decides what version of image to use for the higher layers
157
132
  # (dataMale or dataFemale)
158
133
  # @param _ids uint256 ids of an attribute, by it's index of creation
159
- # ```
160
- #
161
- sig "svgFromIDs", inputs: ["uint256[]"], outputs: ["string"]
162
134
  def svgFromIDs(_ids)
163
135
  do_call("svgFromIDs", _ids)
164
136
  end
137
+ sig "svgFromIDs", inputs: ["uint256[]"], outputs: ["string"]
165
138
 
166
139
  # function svgFromKeys
167
140
  #
168
- #
169
- # ```
170
141
  # svgFromKeys returns the svg data as a string
171
142
  # @param _attributeKeys a list of attribute names that have been hashed,
172
143
  # eg keccak256("Male 1"), keccak256("Goat")
@@ -175,17 +146,13 @@ end
175
146
  # (dataMale or dataFemale)
176
147
  # e.g. ["0x9039da071f773e85254cbd0f99efa70230c4c11d63fce84323db9eca8e8ef283",
177
148
  # "0xd5de5c20969a9e22f93842ca4d65bac0c0387225cee45a944a14f03f9221fd4a"]
178
- # ```
179
- #
180
- sig "svgFromKeys", inputs: ["bytes32[]"], outputs: ["string"]
181
149
  def svgFromKeys(_attributeKeys)
182
150
  do_call("svgFromKeys", _attributeKeys)
183
151
  end
152
+ sig "svgFromKeys", inputs: ["bytes32[]"], outputs: ["string"]
184
153
 
185
154
  # function svgFromNames
186
155
  #
187
- #
188
- # ```
189
156
  # svgFromNames returns the svg data as a string
190
157
  # @param _attributeNames a list of attribute names, eg "Male 1", "Goat"
191
158
  # must have at least 1 layer 0 attribute (eg. Male, Female, Alien, Ape, Zombie)
@@ -193,26 +160,19 @@ end
193
160
  # Where "Male 1" is a layer 0 attribute, that decides what version of
194
161
  # image to use for the higher
195
162
  # layers (dataMale or dataFemale)
196
- # ```
197
- #
198
- #
199
- sig "svgFromNames", inputs: ["string[]"], outputs: ["string"]
200
163
  def svgFromNames(_attributeNames)
201
164
  do_call("svgFromNames", _attributeNames)
202
165
  end
166
+ sig "svgFromNames", inputs: ["string[]"], outputs: ["string"]
203
167
 
204
168
  # function svgFromPunkID
205
169
  #
206
- #
207
- # ```
208
170
  # svgFromPunkID returns the svg data as a string given a punk id
209
171
  # @param _tokenID uint256 IDs a punk id, 0-9999
210
- # ```
211
- #
212
- sig "svgFromPunkID", inputs: ["uint256"], outputs: ["string"]
213
172
  def svgFromPunkID(_tokenID)
214
173
  do_call("svgFromPunkID", _tokenID)
215
174
  end
175
+ sig "svgFromPunkID", inputs: ["uint256"], outputs: ["string"]
216
176
 
217
177
  end ## class PunkBlocks
218
178
 
@@ -1,38 +1,31 @@
1
1
  #########################
2
2
  # PunksV1 contract / (blockchain) services / function calls
3
- # auto-generated via abigen (see https://rubygems.org/gems/abigen) on 2023-01-12 17:17:29 UTC
3
+ # auto-generated via abigen (see https://rubygems.org/gems/abigen) on 2023-01-13 15:31:37 UTC
4
4
  # - 14 query functions(s)
5
-
5
+ #
6
+ #
6
7
  # - Pragma: solidity ^0.4.8
7
- #
8
- #
8
+ #
9
+ #
9
10
  # **Data Structures**
10
- #
11
- #
12
- # ```
13
- # struct Offer {
14
- # bool isForSale;
15
- # uint punkIndex;
16
- # address seller;
17
- # uint minValue; // in ether
18
- # address onlySellTo; // specify to sell only to a specific person
19
- # }
20
- # ```
21
- #
11
+ #
12
+ #
13
+ # struct Offer {
14
+ # bool isForSale;
15
+ # uint punkIndex;
16
+ # address seller;
17
+ # uint minValue; // in ether
18
+ # address onlySellTo; // specify to sell only to a specific person
19
+ # }
20
+ #
22
21
  # **Events**
23
- #
24
- # ```
25
- # event Assign(address indexed to, uint256 punkIndex)
26
- # event Transfer(address indexed from, address indexed to, uint256 value)
27
- # event PunkTransfer(address indexed from, address indexed to, uint256 punkIndex)
28
- # event PunkOffered(uint indexed punkIndex, uint minValue, address indexed toAddress)
29
- # event PunkBought(uint indexed punkIndex, uint value, address indexed fromAddress, address indexed toAddress)
30
- # event PunkNoLongerForSale(uint indexed punkIndex)
31
- # ```
32
- #
33
- #
34
- #
35
- #
22
+ #
23
+ # event Assign(address indexed to, uint256 punkIndex)
24
+ # event Transfer(address indexed from, address indexed to, uint256 value)
25
+ # event PunkTransfer(address indexed from, address indexed to, uint256 punkIndex)
26
+ # event PunkOffered(uint indexed punkIndex, uint minValue, address indexed toAddress)
27
+ # event PunkBought(uint indexed punkIndex, uint value, address indexed fromAddress, address indexed toAddress)
28
+ # event PunkNoLongerForSale(uint indexed punkIndex)
36
29
 
37
30
 
38
31
  class PunksV1 < Ethlite::Contract
@@ -41,119 +34,104 @@ class PunksV1 < Ethlite::Contract
41
34
 
42
35
  # storage - string public name
43
36
  #
44
- sig "name", outputs: ["string"]
45
37
  def name()
46
38
  do_call("name")
47
39
  end
40
+ sig "name", outputs: ["string"]
48
41
 
49
42
  # storage - mapping (uint => Offer) public punksOfferedForSale
50
43
  #
51
- #
52
44
  # A record of punks that are offered for sale at a specific minimum value, and perhaps to a specific person
53
- #
54
- sig "punksOfferedForSale", inputs: ["uint256"], outputs: ["bool","uint256","address","uint256","address"]
55
45
  def punksOfferedForSale(arg0)
56
46
  do_call("punksOfferedForSale", arg0)
57
47
  end
48
+ sig "punksOfferedForSale", inputs: ["uint256"], outputs: ["bool","uint256","address","uint256","address"]
58
49
 
59
50
  # storage - uint256 public totalSupply
60
51
  #
61
- #
62
- sig "totalSupply", outputs: ["uint256"]
63
52
  def totalSupply()
64
53
  do_call("totalSupply")
65
54
  end
55
+ sig "totalSupply", outputs: ["uint256"]
66
56
 
67
57
  # storage - uint8 public decimals
68
58
  #
69
- sig "decimals", outputs: ["uint8"]
70
59
  def decimals()
71
60
  do_call("decimals")
72
61
  end
62
+ sig "decimals", outputs: ["uint8"]
73
63
 
74
64
  # storage - string public imageHash
75
65
  #
76
- #
77
66
  # You can use this hash to verify the image file containing all the punks
78
- #
79
- sig "imageHash", outputs: ["string"]
80
67
  def imageHash()
81
68
  do_call("imageHash")
82
69
  end
70
+ sig "imageHash", outputs: ["string"]
83
71
 
84
72
  # storage - uint public nextPunkIndexToAssign
85
73
  #
86
- #
87
- sig "nextPunkIndexToAssign", outputs: ["uint256"]
88
74
  def nextPunkIndexToAssign()
89
75
  do_call("nextPunkIndexToAssign")
90
76
  end
77
+ sig "nextPunkIndexToAssign", outputs: ["uint256"]
91
78
 
92
79
  # storage - mapping (uint => address) public punkIndexToAddress
93
80
  #
94
- #
95
- #
96
- sig "punkIndexToAddress", inputs: ["uint256"], outputs: ["address"]
97
81
  def punkIndexToAddress(arg0)
98
82
  do_call("punkIndexToAddress", arg0)
99
83
  end
84
+ sig "punkIndexToAddress", inputs: ["uint256"], outputs: ["address"]
100
85
 
101
86
  # storage - string public standard
102
87
  #
103
- #
104
- sig "standard", outputs: ["string"]
105
88
  def standard()
106
89
  do_call("standard")
107
90
  end
91
+ sig "standard", outputs: ["string"]
108
92
 
109
93
  # storage - mapping (address => uint256) public balanceOf
110
94
  #
111
95
  # This creates an array with all balances
112
- #
113
- #
114
- sig "balanceOf", inputs: ["address"], outputs: ["uint256"]
115
96
  def balanceOf(arg0)
116
97
  do_call("balanceOf", arg0)
117
98
  end
99
+ sig "balanceOf", inputs: ["address"], outputs: ["uint256"]
118
100
 
119
101
  # storage - string public symbol
120
102
  #
121
- sig "symbol", outputs: ["string"]
122
103
  def symbol()
123
104
  do_call("symbol")
124
105
  end
106
+ sig "symbol", outputs: ["string"]
125
107
 
126
108
  # storage - uint public numberOfPunksToReserve
127
109
  #
128
- sig "numberOfPunksToReserve", outputs: ["uint256"]
129
110
  def numberOfPunksToReserve()
130
111
  do_call("numberOfPunksToReserve")
131
112
  end
113
+ sig "numberOfPunksToReserve", outputs: ["uint256"]
132
114
 
133
115
  # storage - uint public numberOfPunksReserved
134
116
  #
135
- #
136
- sig "numberOfPunksReserved", outputs: ["uint256"]
137
117
  def numberOfPunksReserved()
138
118
  do_call("numberOfPunksReserved")
139
119
  end
120
+ sig "numberOfPunksReserved", outputs: ["uint256"]
140
121
 
141
122
  # storage - uint public punksRemainingToAssign
142
123
  #
143
- sig "punksRemainingToAssign", outputs: ["uint256"]
144
124
  def punksRemainingToAssign()
145
125
  do_call("punksRemainingToAssign")
146
126
  end
127
+ sig "punksRemainingToAssign", outputs: ["uint256"]
147
128
 
148
129
  # storage - mapping (address => uint) public pendingWithdrawals
149
130
  #
150
- #
151
- #
152
- #
153
- sig "pendingWithdrawals", inputs: ["address"], outputs: ["uint256"]
154
131
  def pendingWithdrawals(arg0)
155
132
  do_call("pendingWithdrawals", arg0)
156
133
  end
134
+ sig "pendingWithdrawals", inputs: ["address"], outputs: ["uint256"]
157
135
 
158
136
  end ## class PunksV1
159
137
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ethlite-contracts
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gerald Bauer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-12 00:00:00.000000000 Z
11
+ date: 2023-01-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ethlite