ethlite-contracts 0.0.1 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d178b4a5c7a28105b60fe1dfaff5bf4f3e5f4f55b3211d264b6dea4c3f50ebf5
4
- data.tar.gz: b353c9a48aee0ba0cc116f4c6d924d4c6ad1e9a8c795b67520eb8d0313f8f57b
3
+ metadata.gz: ca6de1c37a18e18603847fb4f34cece9177d8839e561a2e68cf1e772fbe81c81
4
+ data.tar.gz: 52e07b948256fae1714ac69cf6fa3f3580638c89d41fcfdbbfe9ce84528c45d7
5
5
  SHA512:
6
- metadata.gz: 28fc5a42637286b9124b038da8c48667187755e508eeda7716716cefb4aefef66c66dcdae754cc653a13430ac47d82c13d3d6857d4f95323759a30cd51b0b36d
7
- data.tar.gz: b599c075e9721301ba1865a151a320fbc8f28ee3a444e4aff68cf421c1ad748a34b03478e6b75cb9c6139d0b629ce6afe66bf8abcff164d650fdbfb0de58b8e4
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.0.1'
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,59 +1,178 @@
1
1
  #########################
2
2
  # PunkBlocks contract / (blockchain) services / function calls
3
- # auto-generated via abigen (see https://rubygems.org/gems/abigen) on 2023-01-09 17:48:57 UTC
4
- # - 8 query functions(s)
3
+ # auto-generated via abigen (see https://rubygems.org/gems/abigen) on 2023-01-13 15:31:38 UTC
4
+ # - 8 query functions(s)
5
+ #
6
+ #
7
+ # - Author: tycoon.eth, thanks to @geraldb & @samwilsn on Github for inspiration!
8
+ # - Version: v0.0.2
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
+ # A Registry of 24x24 png images
33
+ #
34
+ # This contract:
35
+ #
36
+ # 1. Stores all the classic traits of the CryptoPunks in
37
+ # individual png files, 100% on-chain. These are then used as
38
+ # blocks to construct CryptoPunk images. Outputted as SVGs.
39
+ #
40
+ # 2. Any of the 10,000 "classic" CryptoPunks can be generated
41
+ # by supplying desired arguments to a function, such as
42
+ # the id of a punk, or a list of the traits.
43
+ #
44
+ # 3. An unlimited number of new punk images can be generated from
45
+ # the existing classic set of traits, or even from new traits!
46
+ #
47
+ # 4. New traits (blocks) can be added to the contract by
48
+ # registering them with the `registerBlock` function.
49
+ #
50
+ # Further documentation:
51
+ # https://github.com/0xTycoon/punk-blocks
52
+ #
53
+ #
54
+ #
55
+ # **Data Structures**
56
+ #
57
+ # Layer is in the order of rendering
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
+ #
82
+ # **Events**
83
+ #
84
+ # event NewBlock(address, uint256, string)
85
+
5
86
 
6
87
  class PunkBlocks < Ethlite::Contract
7
88
 
8
89
  address "0x58e90596c2065befd3060767736c829c18f3474c"
9
90
 
10
- # function **blocks**(bytes32 _) (enum PunkBlocks.Layer layer, bytes dataMale, bytes dataFemale) _readonly_
11
- sig "blocks", inputs: ["bytes32"], outputs: ["uint8","bytes","bytes"]
91
+ # storage - mapping(bytes32 => Block) public blocks
92
+ #
93
+ # stores punk attributes as a png
12
94
  def blocks(arg0)
13
95
  do_call("blocks", arg0)
14
96
  end
97
+ sig "blocks", inputs: ["bytes32"], outputs: ["uint8","bytes","bytes"]
15
98
 
16
- # function **getBlocks**(uint256 _fromID, uint256 _count) ⇒ (struct PunkBlocks.Block[] _, uint256 _) _readonly_
17
- sig "getBlocks", inputs: ["uint256","uint256"], outputs: ["(uint8,bytes,bytes)[]","uint256"]
99
+ # function getBlocks
100
+ #
101
+ # getBlocks returns a sequential list of blocks in a single call
102
+ # @param _fromID is which id to begin from
103
+ # @param _count how many items to retrieve.
104
+ # @return Block[] list of blocks, uint256 next id
18
105
  def getBlocks(_fromID, _count)
19
106
  do_call("getBlocks", _fromID, _count)
20
107
  end
108
+ sig "getBlocks", inputs: ["uint256","uint256"], outputs: ["(uint8,bytes,bytes)[]","uint256"]
21
109
 
22
- # function **index**(uint256 _) ⇒ (bytes32 _) _readonly_
23
- sig "index", inputs: ["uint256"], outputs: ["bytes32"]
110
+ # storage - mapping(uint256 => bytes32) public index
111
+ #
112
+ # index of each block by its sequence
24
113
  def index(arg0)
25
114
  do_call("index", arg0)
26
115
  end
116
+ sig "index", inputs: ["uint256"], outputs: ["bytes32"]
27
117
 
28
- # function **nextId**() ⇒ (uint256 _) _readonly_
29
- sig "nextId", outputs: ["uint256"]
118
+ # storage - uint256 public nextId
119
+ #
120
+ # next id to use when adding a block
30
121
  def nextId()
31
122
  do_call("nextId")
32
123
  end
124
+ sig "nextId", outputs: ["uint256"]
33
125
 
34
- # function **svgFromIDs**(uint256[] _ids) ⇒ (string _) _readonly_
35
- sig "svgFromIDs", inputs: ["uint256[]"], outputs: ["string"]
126
+ # function svgFromIDs
127
+ #
128
+ # svgFromIDs returns the svg data as a string
129
+ # e.g. [9,55,99]
130
+ # One of the elements must be must be a layer 0 block.
131
+ # This element decides what version of image to use for the higher layers
132
+ # (dataMale or dataFemale)
133
+ # @param _ids uint256 ids of an attribute, by it's index of creation
36
134
  def svgFromIDs(_ids)
37
135
  do_call("svgFromIDs", _ids)
38
136
  end
137
+ sig "svgFromIDs", inputs: ["uint256[]"], outputs: ["string"]
39
138
 
40
- # function **svgFromKeys**(bytes32[] _attributeKeys) ⇒ (string _) _readonly_
41
- sig "svgFromKeys", inputs: ["bytes32[]"], outputs: ["string"]
139
+ # function svgFromKeys
140
+ #
141
+ # svgFromKeys returns the svg data as a string
142
+ # @param _attributeKeys a list of attribute names that have been hashed,
143
+ # eg keccak256("Male 1"), keccak256("Goat")
144
+ # must have at least 1 layer 0 attribute (eg. keccak256("Male 1")) which
145
+ # decides what version of image to use for the higher layers
146
+ # (dataMale or dataFemale)
147
+ # e.g. ["0x9039da071f773e85254cbd0f99efa70230c4c11d63fce84323db9eca8e8ef283",
148
+ # "0xd5de5c20969a9e22f93842ca4d65bac0c0387225cee45a944a14f03f9221fd4a"]
42
149
  def svgFromKeys(_attributeKeys)
43
150
  do_call("svgFromKeys", _attributeKeys)
44
151
  end
152
+ sig "svgFromKeys", inputs: ["bytes32[]"], outputs: ["string"]
45
153
 
46
- # function **svgFromNames**(string[] _attributeNames) ⇒ (string _) _readonly_
47
- sig "svgFromNames", inputs: ["string[]"], outputs: ["string"]
154
+ # function svgFromNames
155
+ #
156
+ # svgFromNames returns the svg data as a string
157
+ # @param _attributeNames a list of attribute names, eg "Male 1", "Goat"
158
+ # must have at least 1 layer 0 attribute (eg. Male, Female, Alien, Ape, Zombie)
159
+ # e.g. ["Male 1","Goat"]
160
+ # Where "Male 1" is a layer 0 attribute, that decides what version of
161
+ # image to use for the higher
162
+ # layers (dataMale or dataFemale)
48
163
  def svgFromNames(_attributeNames)
49
164
  do_call("svgFromNames", _attributeNames)
50
165
  end
166
+ sig "svgFromNames", inputs: ["string[]"], outputs: ["string"]
51
167
 
52
- # function **svgFromPunkID**(uint256 _tokenID) ⇒ (string _) _readonly_
53
- sig "svgFromPunkID", inputs: ["uint256"], outputs: ["string"]
168
+ # function svgFromPunkID
169
+ #
170
+ # svgFromPunkID returns the svg data as a string given a punk id
171
+ # @param _tokenID uint256 IDs a punk id, 0-9999
54
172
  def svgFromPunkID(_tokenID)
55
173
  do_call("svgFromPunkID", _tokenID)
56
174
  end
175
+ sig "svgFromPunkID", inputs: ["uint256"], outputs: ["string"]
57
176
 
58
177
  end ## class PunkBlocks
59
178
 
@@ -1,95 +1,137 @@
1
1
  #########################
2
2
  # PunksV1 contract / (blockchain) services / function calls
3
- # auto-generated via abigen (see https://rubygems.org/gems/abigen) on 2023-01-09 17:48:57 UTC
4
- # - 14 query functions(s)
3
+ # auto-generated via abigen (see https://rubygems.org/gems/abigen) on 2023-01-13 15:31:37 UTC
4
+ # - 14 query functions(s)
5
+ #
6
+ #
7
+ # - Pragma: solidity ^0.4.8
8
+ #
9
+ #
10
+ # **Data Structures**
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
+ # **Events**
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)
29
+
5
30
 
6
31
  class PunksV1 < Ethlite::Contract
7
32
 
8
33
  address "0x6ba6f2207e343923ba692e5cae646fb0f566db8d"
9
34
 
10
- # function **name**() ⇒ (string _) _readonly_
11
- sig "name", outputs: ["string"]
35
+ # storage - string public name
36
+ #
12
37
  def name()
13
38
  do_call("name")
14
39
  end
40
+ sig "name", outputs: ["string"]
15
41
 
16
- # function **punksOfferedForSale**(uint256 _) (bool isForSale, uint256 punkIndex, address seller, uint256 minValue, address onlySellTo) _readonly_
17
- sig "punksOfferedForSale", inputs: ["uint256"], outputs: ["bool","uint256","address","uint256","address"]
42
+ # storage - mapping (uint => Offer) public punksOfferedForSale
43
+ #
44
+ # A record of punks that are offered for sale at a specific minimum value, and perhaps to a specific person
18
45
  def punksOfferedForSale(arg0)
19
46
  do_call("punksOfferedForSale", arg0)
20
47
  end
48
+ sig "punksOfferedForSale", inputs: ["uint256"], outputs: ["bool","uint256","address","uint256","address"]
21
49
 
22
- # function **totalSupply**() ⇒ (uint256 _) _readonly_
23
- sig "totalSupply", outputs: ["uint256"]
50
+ # storage - uint256 public totalSupply
51
+ #
24
52
  def totalSupply()
25
53
  do_call("totalSupply")
26
54
  end
55
+ sig "totalSupply", outputs: ["uint256"]
27
56
 
28
- # function **decimals**() ⇒ (uint8 _) _readonly_
29
- sig "decimals", outputs: ["uint8"]
57
+ # storage - uint8 public decimals
58
+ #
30
59
  def decimals()
31
60
  do_call("decimals")
32
61
  end
62
+ sig "decimals", outputs: ["uint8"]
33
63
 
34
- # function **imageHash**() ⇒ (string _) _readonly_
35
- sig "imageHash", outputs: ["string"]
64
+ # storage - string public imageHash
65
+ #
66
+ # You can use this hash to verify the image file containing all the punks
36
67
  def imageHash()
37
68
  do_call("imageHash")
38
69
  end
70
+ sig "imageHash", outputs: ["string"]
39
71
 
40
- # function **nextPunkIndexToAssign**() (uint256 _) _readonly_
41
- sig "nextPunkIndexToAssign", outputs: ["uint256"]
72
+ # storage - uint public nextPunkIndexToAssign
73
+ #
42
74
  def nextPunkIndexToAssign()
43
75
  do_call("nextPunkIndexToAssign")
44
76
  end
77
+ sig "nextPunkIndexToAssign", outputs: ["uint256"]
45
78
 
46
- # function **punkIndexToAddress**(uint256 _) ⇒ (address _) _readonly_
47
- sig "punkIndexToAddress", inputs: ["uint256"], outputs: ["address"]
79
+ # storage - mapping (uint => address) public punkIndexToAddress
80
+ #
48
81
  def punkIndexToAddress(arg0)
49
82
  do_call("punkIndexToAddress", arg0)
50
83
  end
84
+ sig "punkIndexToAddress", inputs: ["uint256"], outputs: ["address"]
51
85
 
52
- # function **standard**() ⇒ (string _) _readonly_
53
- sig "standard", outputs: ["string"]
86
+ # storage - string public standard
87
+ #
54
88
  def standard()
55
89
  do_call("standard")
56
90
  end
91
+ sig "standard", outputs: ["string"]
57
92
 
58
- # function **balanceOf**(address _) ⇒ (uint256 _) _readonly_
59
- sig "balanceOf", inputs: ["address"], outputs: ["uint256"]
93
+ # storage - mapping (address => uint256) public balanceOf
94
+ #
95
+ # This creates an array with all balances
60
96
  def balanceOf(arg0)
61
97
  do_call("balanceOf", arg0)
62
98
  end
99
+ sig "balanceOf", inputs: ["address"], outputs: ["uint256"]
63
100
 
64
- # function **symbol**() ⇒ (string _) _readonly_
65
- sig "symbol", outputs: ["string"]
101
+ # storage - string public symbol
102
+ #
66
103
  def symbol()
67
104
  do_call("symbol")
68
105
  end
106
+ sig "symbol", outputs: ["string"]
69
107
 
70
- # function **numberOfPunksToReserve**() (uint256 _) _readonly_
71
- sig "numberOfPunksToReserve", outputs: ["uint256"]
108
+ # storage - uint public numberOfPunksToReserve
109
+ #
72
110
  def numberOfPunksToReserve()
73
111
  do_call("numberOfPunksToReserve")
74
112
  end
113
+ sig "numberOfPunksToReserve", outputs: ["uint256"]
75
114
 
76
- # function **numberOfPunksReserved**() (uint256 _) _readonly_
77
- sig "numberOfPunksReserved", outputs: ["uint256"]
115
+ # storage - uint public numberOfPunksReserved
116
+ #
78
117
  def numberOfPunksReserved()
79
118
  do_call("numberOfPunksReserved")
80
119
  end
120
+ sig "numberOfPunksReserved", outputs: ["uint256"]
81
121
 
82
- # function **punksRemainingToAssign**() (uint256 _) _readonly_
83
- sig "punksRemainingToAssign", outputs: ["uint256"]
122
+ # storage - uint public punksRemainingToAssign
123
+ #
84
124
  def punksRemainingToAssign()
85
125
  do_call("punksRemainingToAssign")
86
126
  end
127
+ sig "punksRemainingToAssign", outputs: ["uint256"]
87
128
 
88
- # function **pendingWithdrawals**(address _) (uint256 _) _readonly_
89
- sig "pendingWithdrawals", inputs: ["address"], outputs: ["uint256"]
129
+ # storage - mapping (address => uint) public pendingWithdrawals
130
+ #
90
131
  def pendingWithdrawals(arg0)
91
132
  do_call("pendingWithdrawals", arg0)
92
133
  end
134
+ sig "pendingWithdrawals", inputs: ["address"], outputs: ["uint256"]
93
135
 
94
136
  end ## class PunksV1
95
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.0.1
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-09 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