소스 검색

Rename AutoIncrementing to Counter (#1307)

Leo Arias 7 년 전
부모
커밋
b4f87bb8fc
4개의 변경된 파일34개의 추가작업 그리고 33개의 파일을 삭제
  1. 0 21
      contracts/mocks/AutoIncrementingImpl.sol
  2. 21 0
      contracts/mocks/CounterImpl.sol
  3. 9 9
      contracts/utils/Counter.sol
  4. 4 3
      test/Counter.test.js

+ 0 - 21
contracts/mocks/AutoIncrementingImpl.sol

@@ -1,21 +0,0 @@
-pragma solidity ^0.4.24;
-
-import "../utils/AutoIncrementing.sol";
-
-
-contract AutoIncrementingImpl {
-  using AutoIncrementing for AutoIncrementing.Counter;
-
-  uint256 public theId;
-
-  // use whatever key you want to track your counters
-  mapping(string => AutoIncrementing.Counter) private _counters;
-
-  function doThing(string key)
-    public
-    returns (uint256)
-  {
-    theId = _counters[key].nextId();
-    return theId;
-  }
-}

+ 21 - 0
contracts/mocks/CounterImpl.sol

@@ -0,0 +1,21 @@
+pragma solidity ^0.4.24;
+
+import "../utils/Counter.sol";
+
+
+contract CounterImpl {
+  using Counter for Counter.Index;
+
+  uint256 public theId;
+
+  // use whatever key you want to track your counters
+  mapping(string => Counter.Index) private _counters;
+
+  function doThing(string key)
+    public
+    returns (uint256)
+  {
+    theId = _counters[key].next();
+    return theId;
+  }
+}

+ 9 - 9
contracts/utils/AutoIncrementing.sol → contracts/utils/Counter.sol

@@ -2,28 +2,28 @@ pragma solidity ^0.4.24;
 
 
 /**
- * @title AutoIncrementing
+ * @title Counter
  * @author Matt Condon (@shrugs)
- * @dev Provides an auto-incrementing uint256 id acquired by the `Counter#nextId` getter.
+ * @dev Provides an incrementing uint256 id acquired by the `Index#next` getter.
  * Use this for issuing ERC721 ids or keeping track of request ids, anything you want, really.
  *
- * Include with `using AutoIncrementing for AutoIncrementing.Counter;`
+ * Include with `using Counter for Counter.Index;`
  * @notice Does not allow an Id of 0, which is popularly used to signify a null state in solidity.
  * Does not protect from overflows, but if you have 2^256 ids, you have other problems.
  * (But actually, it's generally impossible to increment a counter this many times, energy wise
  * so it's not something you have to worry about.)
  */
-library AutoIncrementing {
+library Counter {
 
-  struct Counter {
-    uint256 prevId; // default: 0
+  struct Index {
+    uint256 currentId; // default: 0
   }
 
-  function nextId(Counter storage counter)
+  function next(Index storage index)
     internal
     returns (uint256)
   {
-    counter.prevId = counter.prevId + 1;
-    return counter.prevId;
+    index.currentId = index.currentId + 1;
+    return index.currentId;
   }
 }

+ 4 - 3
test/AutoIncrementing.test.js → test/Counter.test.js

@@ -1,4 +1,5 @@
-const AutoIncrementing = artifacts.require('AutoIncrementingImpl');
+
+const Counter = artifacts.require('CounterImpl');
 
 require('chai')
   .use(require('chai-bignumber')(web3.BigNumber))
@@ -8,9 +9,9 @@ const EXPECTED = [1, 2, 3, 4];
 const KEY1 = web3.sha3('key1');
 const KEY2 = web3.sha3('key2');
 
-contract('AutoIncrementing', function ([_, owner]) {
+contract('Counter', function ([_, owner]) {
   beforeEach(async function () {
-    this.mock = await AutoIncrementing.new({ from: owner });
+    this.mock = await Counter.new({ from: owner });
   });
 
   context('custom key', async function () {