Deploy upgradeable Karma contract to ropsten testnet
This commit is contained in:
		
							parent
							
								
									a9784bb02c
								
							
						
					
					
						commit
						4a93042dd7
					
				
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@ -4,3 +4,4 @@ cache/
 | 
			
		||||
node_modules/
 | 
			
		||||
.idea/
 | 
			
		||||
temp/
 | 
			
		||||
.openzeppelin/
 | 
			
		||||
 | 
			
		||||
@ -1,497 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "manifestVersion": "3.2",
 | 
			
		||||
  "impls": {
 | 
			
		||||
    "027b5eecbe928a9fdf51cdf3fcf2233aa9780998fdc6a99c9ffabfb62673d719": {
 | 
			
		||||
      "address": "0x1d7CfC8e1F2e4D687ceEAF293dEcf6f4FD3CAFF3",
 | 
			
		||||
      "txHash": "0xb6d5c520baf251d1e20d9d262fd41f6de6c67ec8e432ca9e0bc60aa6950f178d",
 | 
			
		||||
      "layout": {
 | 
			
		||||
        "storage": [
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Initializable",
 | 
			
		||||
            "label": "_initialized",
 | 
			
		||||
            "type": "t_bool",
 | 
			
		||||
            "src": "../@openzeppelin/contracts/proxy/utils/Initializable.sol:25"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Initializable",
 | 
			
		||||
            "label": "_initializing",
 | 
			
		||||
            "type": "t_bool",
 | 
			
		||||
            "src": "../@openzeppelin/contracts/proxy/utils/Initializable.sol:30"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Karma",
 | 
			
		||||
            "label": "name",
 | 
			
		||||
            "type": "t_string_storage",
 | 
			
		||||
            "src": "karma-ERC20.sol:18"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Karma",
 | 
			
		||||
            "label": "symbol",
 | 
			
		||||
            "type": "t_string_storage",
 | 
			
		||||
            "src": "karma-ERC20.sol:19"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Karma",
 | 
			
		||||
            "label": "decimals",
 | 
			
		||||
            "type": "t_uint8",
 | 
			
		||||
            "src": "karma-ERC20.sol:20"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Karma",
 | 
			
		||||
            "label": "_totalSupply",
 | 
			
		||||
            "type": "t_uint256",
 | 
			
		||||
            "src": "karma-ERC20.sol:21"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Karma",
 | 
			
		||||
            "label": "balances",
 | 
			
		||||
            "type": "t_mapping(t_address,t_uint256)",
 | 
			
		||||
            "src": "karma-ERC20.sol:24"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Karma",
 | 
			
		||||
            "label": "allowed",
 | 
			
		||||
            "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))",
 | 
			
		||||
            "src": "karma-ERC20.sol:27"
 | 
			
		||||
          }
 | 
			
		||||
        ],
 | 
			
		||||
        "types": {
 | 
			
		||||
          "t_string_storage": {
 | 
			
		||||
            "label": "string"
 | 
			
		||||
          },
 | 
			
		||||
          "t_uint8": {
 | 
			
		||||
            "label": "uint8"
 | 
			
		||||
          },
 | 
			
		||||
          "t_uint256": {
 | 
			
		||||
            "label": "uint256"
 | 
			
		||||
          },
 | 
			
		||||
          "t_mapping(t_address,t_uint256)": {
 | 
			
		||||
            "label": "mapping(address => uint256)"
 | 
			
		||||
          },
 | 
			
		||||
          "t_address": {
 | 
			
		||||
            "label": "address"
 | 
			
		||||
          },
 | 
			
		||||
          "t_mapping(t_address,t_mapping(t_address,t_uint256))": {
 | 
			
		||||
            "label": "mapping(address => mapping(address => uint256))"
 | 
			
		||||
          },
 | 
			
		||||
          "t_bool": {
 | 
			
		||||
            "label": "bool"
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "7ac794b5408b50b4c997dd3041533feedf0376c395b876e44423b6972df4ec10": {
 | 
			
		||||
      "address": "0x72fCA82ac8B6FB0e0F8893B8bd5EEF836cb7952c",
 | 
			
		||||
      "txHash": "0x65ba21c1eb2e3b340c5d80dba651bce89fdded4ae6e19b9592744062356c5132",
 | 
			
		||||
      "layout": {
 | 
			
		||||
        "storage": [
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Initializable",
 | 
			
		||||
            "label": "_initialized",
 | 
			
		||||
            "type": "t_bool",
 | 
			
		||||
            "src": "../@openzeppelin/contracts/proxy/utils/Initializable.sol:25"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Initializable",
 | 
			
		||||
            "label": "_initializing",
 | 
			
		||||
            "type": "t_bool",
 | 
			
		||||
            "src": "../@openzeppelin/contracts/proxy/utils/Initializable.sol:30"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Karma1",
 | 
			
		||||
            "label": "name",
 | 
			
		||||
            "type": "t_string_storage",
 | 
			
		||||
            "src": "karma-1-ERC20.sol:18"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Karma1",
 | 
			
		||||
            "label": "symbol",
 | 
			
		||||
            "type": "t_string_storage",
 | 
			
		||||
            "src": "karma-1-ERC20.sol:19"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Karma1",
 | 
			
		||||
            "label": "decimals",
 | 
			
		||||
            "type": "t_uint8",
 | 
			
		||||
            "src": "karma-1-ERC20.sol:20"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Karma1",
 | 
			
		||||
            "label": "_totalSupply",
 | 
			
		||||
            "type": "t_uint256",
 | 
			
		||||
            "src": "karma-1-ERC20.sol:21"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Karma1",
 | 
			
		||||
            "label": "balances",
 | 
			
		||||
            "type": "t_mapping(t_address,t_uint256)",
 | 
			
		||||
            "src": "karma-1-ERC20.sol:24"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Karma1",
 | 
			
		||||
            "label": "allowed",
 | 
			
		||||
            "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))",
 | 
			
		||||
            "src": "karma-1-ERC20.sol:27"
 | 
			
		||||
          }
 | 
			
		||||
        ],
 | 
			
		||||
        "types": {
 | 
			
		||||
          "t_string_storage": {
 | 
			
		||||
            "label": "string"
 | 
			
		||||
          },
 | 
			
		||||
          "t_uint8": {
 | 
			
		||||
            "label": "uint8"
 | 
			
		||||
          },
 | 
			
		||||
          "t_uint256": {
 | 
			
		||||
            "label": "uint256"
 | 
			
		||||
          },
 | 
			
		||||
          "t_mapping(t_address,t_uint256)": {
 | 
			
		||||
            "label": "mapping(address => uint256)"
 | 
			
		||||
          },
 | 
			
		||||
          "t_address": {
 | 
			
		||||
            "label": "address"
 | 
			
		||||
          },
 | 
			
		||||
          "t_mapping(t_address,t_mapping(t_address,t_uint256))": {
 | 
			
		||||
            "label": "mapping(address => mapping(address => uint256))"
 | 
			
		||||
          },
 | 
			
		||||
          "t_bool": {
 | 
			
		||||
            "label": "bool"
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "3998d9b70b50a95001fb0c2c1eeeb6d6911b0514c501b9bc9776dd34853253f8": {
 | 
			
		||||
      "address": "0xB43228eD01780a8EC786dD0a93a693db61f6fe99",
 | 
			
		||||
      "txHash": "0x79f332c2920771f596bee8f1e2561e5cbaa9880ab77520f22e9b1c9210f09213",
 | 
			
		||||
      "layout": {
 | 
			
		||||
        "storage": [
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Initializable",
 | 
			
		||||
            "label": "_initialized",
 | 
			
		||||
            "type": "t_bool",
 | 
			
		||||
            "src": "../@openzeppelin/contracts/proxy/utils/Initializable.sol:25"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Initializable",
 | 
			
		||||
            "label": "_initializing",
 | 
			
		||||
            "type": "t_bool",
 | 
			
		||||
            "src": "../@openzeppelin/contracts/proxy/utils/Initializable.sol:30"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Karma",
 | 
			
		||||
            "label": "name",
 | 
			
		||||
            "type": "t_string_storage",
 | 
			
		||||
            "src": "karma-ERC20.sol:18"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Karma",
 | 
			
		||||
            "label": "symbol",
 | 
			
		||||
            "type": "t_string_storage",
 | 
			
		||||
            "src": "karma-ERC20.sol:19"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Karma",
 | 
			
		||||
            "label": "decimals",
 | 
			
		||||
            "type": "t_uint8",
 | 
			
		||||
            "src": "karma-ERC20.sol:20"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Karma",
 | 
			
		||||
            "label": "_totalSupply",
 | 
			
		||||
            "type": "t_uint256",
 | 
			
		||||
            "src": "karma-ERC20.sol:21"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Karma",
 | 
			
		||||
            "label": "token",
 | 
			
		||||
            "type": "t_string_storage",
 | 
			
		||||
            "src": "karma-ERC20.sol:23"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Karma",
 | 
			
		||||
            "label": "balances",
 | 
			
		||||
            "type": "t_mapping(t_address,t_uint256)",
 | 
			
		||||
            "src": "karma-ERC20.sol:25"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Karma",
 | 
			
		||||
            "label": "allowed",
 | 
			
		||||
            "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))",
 | 
			
		||||
            "src": "karma-ERC20.sol:28"
 | 
			
		||||
          }
 | 
			
		||||
        ],
 | 
			
		||||
        "types": {
 | 
			
		||||
          "t_string_storage": {
 | 
			
		||||
            "label": "string"
 | 
			
		||||
          },
 | 
			
		||||
          "t_uint8": {
 | 
			
		||||
            "label": "uint8"
 | 
			
		||||
          },
 | 
			
		||||
          "t_uint256": {
 | 
			
		||||
            "label": "uint256"
 | 
			
		||||
          },
 | 
			
		||||
          "t_mapping(t_address,t_uint256)": {
 | 
			
		||||
            "label": "mapping(address => uint256)"
 | 
			
		||||
          },
 | 
			
		||||
          "t_address": {
 | 
			
		||||
            "label": "address"
 | 
			
		||||
          },
 | 
			
		||||
          "t_mapping(t_address,t_mapping(t_address,t_uint256))": {
 | 
			
		||||
            "label": "mapping(address => mapping(address => uint256))"
 | 
			
		||||
          },
 | 
			
		||||
          "t_bool": {
 | 
			
		||||
            "label": "bool"
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "94563e78ca87c0af1f2c387fbf1fa660f3f51021b26bddd598e097c2c28c188f": {
 | 
			
		||||
      "address": "0xe3EF2247eFFC89a2DC53600bCe7153Bb9c8114A4",
 | 
			
		||||
      "txHash": "0xa71017d6c79a420a128c4dbd051f2f2bc83e84294d6f5e6bc96b3bf67c483f31",
 | 
			
		||||
      "layout": {
 | 
			
		||||
        "storage": [
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Initializable",
 | 
			
		||||
            "label": "_initialized",
 | 
			
		||||
            "type": "t_bool",
 | 
			
		||||
            "src": "../@openzeppelin/contracts/proxy/utils/Initializable.sol:25"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Initializable",
 | 
			
		||||
            "label": "_initializing",
 | 
			
		||||
            "type": "t_bool",
 | 
			
		||||
            "src": "../@openzeppelin/contracts/proxy/utils/Initializable.sol:30"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Karma",
 | 
			
		||||
            "label": "name",
 | 
			
		||||
            "type": "t_string_storage",
 | 
			
		||||
            "src": "karma-ERC20.sol:20"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Karma",
 | 
			
		||||
            "label": "symbol",
 | 
			
		||||
            "type": "t_string_storage",
 | 
			
		||||
            "src": "karma-ERC20.sol:21"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Karma",
 | 
			
		||||
            "label": "decimals",
 | 
			
		||||
            "type": "t_uint8",
 | 
			
		||||
            "src": "karma-ERC20.sol:22"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Karma",
 | 
			
		||||
            "label": "_totalSupply",
 | 
			
		||||
            "type": "t_uint256",
 | 
			
		||||
            "src": "karma-ERC20.sol:23"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Karma",
 | 
			
		||||
            "label": "balances",
 | 
			
		||||
            "type": "t_mapping(t_address,t_uint256)",
 | 
			
		||||
            "src": "karma-ERC20.sol:26"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Karma",
 | 
			
		||||
            "label": "allowed",
 | 
			
		||||
            "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))",
 | 
			
		||||
            "src": "karma-ERC20.sol:29"
 | 
			
		||||
          }
 | 
			
		||||
        ],
 | 
			
		||||
        "types": {
 | 
			
		||||
          "t_string_storage": {
 | 
			
		||||
            "label": "string"
 | 
			
		||||
          },
 | 
			
		||||
          "t_uint8": {
 | 
			
		||||
            "label": "uint8"
 | 
			
		||||
          },
 | 
			
		||||
          "t_uint256": {
 | 
			
		||||
            "label": "uint256"
 | 
			
		||||
          },
 | 
			
		||||
          "t_mapping(t_address,t_uint256)": {
 | 
			
		||||
            "label": "mapping(address => uint256)"
 | 
			
		||||
          },
 | 
			
		||||
          "t_address": {
 | 
			
		||||
            "label": "address"
 | 
			
		||||
          },
 | 
			
		||||
          "t_mapping(t_address,t_mapping(t_address,t_uint256))": {
 | 
			
		||||
            "label": "mapping(address => mapping(address => uint256))"
 | 
			
		||||
          },
 | 
			
		||||
          "t_bool": {
 | 
			
		||||
            "label": "bool"
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "f98d1047bbcd0fa186791dda2e7ad9c057e7c2d90c685c78aac5504afb475033": {
 | 
			
		||||
      "address": "0x976E8473cFCa5A0AD715f29E486a2bc8bAec5Eb7",
 | 
			
		||||
      "txHash": "0xeb21e0101b2614b26cb44565b4657293e84b99a485fb196ba6289ea428bfde9d",
 | 
			
		||||
      "layout": {
 | 
			
		||||
        "storage": [
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Initializable",
 | 
			
		||||
            "label": "_initialized",
 | 
			
		||||
            "type": "t_bool",
 | 
			
		||||
            "src": "../@openzeppelin/contracts/proxy/utils/Initializable.sol:25"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "Initializable",
 | 
			
		||||
            "label": "_initializing",
 | 
			
		||||
            "type": "t_bool",
 | 
			
		||||
            "src": "../@openzeppelin/contracts/proxy/utils/Initializable.sol:30"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "KarmaV1",
 | 
			
		||||
            "label": "name",
 | 
			
		||||
            "type": "t_string_storage",
 | 
			
		||||
            "src": "karma-1-ERC20.sol:18"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "KarmaV1",
 | 
			
		||||
            "label": "symbol",
 | 
			
		||||
            "type": "t_string_storage",
 | 
			
		||||
            "src": "karma-1-ERC20.sol:19"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "KarmaV1",
 | 
			
		||||
            "label": "decimals",
 | 
			
		||||
            "type": "t_uint8",
 | 
			
		||||
            "src": "karma-1-ERC20.sol:20"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "KarmaV1",
 | 
			
		||||
            "label": "_totalSupply",
 | 
			
		||||
            "type": "t_uint256",
 | 
			
		||||
            "src": "karma-1-ERC20.sol:21"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "KarmaV1",
 | 
			
		||||
            "label": "balances",
 | 
			
		||||
            "type": "t_mapping(t_address,t_uint256)",
 | 
			
		||||
            "src": "karma-1-ERC20.sol:24"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "contract": "KarmaV1",
 | 
			
		||||
            "label": "allowed",
 | 
			
		||||
            "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))",
 | 
			
		||||
            "src": "karma-1-ERC20.sol:27"
 | 
			
		||||
          }
 | 
			
		||||
        ],
 | 
			
		||||
        "types": {
 | 
			
		||||
          "t_string_storage": {
 | 
			
		||||
            "label": "string"
 | 
			
		||||
          },
 | 
			
		||||
          "t_uint8": {
 | 
			
		||||
            "label": "uint8"
 | 
			
		||||
          },
 | 
			
		||||
          "t_uint256": {
 | 
			
		||||
            "label": "uint256"
 | 
			
		||||
          },
 | 
			
		||||
          "t_mapping(t_address,t_uint256)": {
 | 
			
		||||
            "label": "mapping(address => uint256)"
 | 
			
		||||
          },
 | 
			
		||||
          "t_address": {
 | 
			
		||||
            "label": "address"
 | 
			
		||||
          },
 | 
			
		||||
          "t_mapping(t_address,t_mapping(t_address,t_uint256))": {
 | 
			
		||||
            "label": "mapping(address => mapping(address => uint256))"
 | 
			
		||||
          },
 | 
			
		||||
          "t_bool": {
 | 
			
		||||
            "label": "bool"
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  "proxies": [
 | 
			
		||||
    {
 | 
			
		||||
      "address": "0x1f8b713eED3340cE1C40CA6Bb4D1bCC0318E7F94",
 | 
			
		||||
      "kind": "transparent",
 | 
			
		||||
      "txHash": "0x6f851f68462732b3fa5fe1052867f14f84dd69d94d5737cdbc53ac2ad321af62"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "address": "0x70Dd051Ee7C2DBf52a4A54864A29a931C81c6eb7",
 | 
			
		||||
      "kind": "transparent",
 | 
			
		||||
      "txHash": "0xe5f7f3ae42437b49d485336858ec897fd7b7dbc4c71369c0a323f4d0dd2c6f22"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "address": "0x5894E784089a1057f4042aF54Ec9acC78ecE5c18",
 | 
			
		||||
      "kind": "transparent",
 | 
			
		||||
      "txHash": "0x07e6d898e8cb76a75940d795770063791080911dec344142b806a0822cb8f936"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "address": "0x9e165BfC9a3A3086Ca8412fB1E0690C478180057",
 | 
			
		||||
      "kind": "transparent",
 | 
			
		||||
      "txHash": "0xa49e6bda5ccc66e10e77163dc7bd35adccc9506b86ec4fde3b7e3daf20c0050f"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "address": "0x7788541d6601179aeE712A90AFB85E5DE832F971",
 | 
			
		||||
      "kind": "transparent",
 | 
			
		||||
      "txHash": "0x4c3ddbe87331b269b691f119d95f9ae36588d6146221612bdbb036916f30ee8d"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "address": "0x1326C0f2713FAC4F8627e70fa815DF1cbAB22aE5",
 | 
			
		||||
      "kind": "transparent",
 | 
			
		||||
      "txHash": "0xe74d3255e9e46afaf4824aafbd662fe4b0a71a6a483652ae87fb76e049e4724c"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "address": "0x62f0d2E5353d6f6d0c4db5d36b940d42026B76dE",
 | 
			
		||||
      "kind": "transparent",
 | 
			
		||||
      "txHash": "0x2192804b00bba4994d63faa504239b966f7d2cf9fbc2a6c16995536eb321f3a2"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "address": "0xDeb19B7fbe3B24Bf0D1E0e4d5050c54091a54224",
 | 
			
		||||
      "kind": "transparent",
 | 
			
		||||
      "txHash": "0xa865fc3655dfd75e5bb519d42776e902b4ce3117adc4eb2d2f244a5bb1cf4559"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "address": "0x0590eF6Acd9a351b2feDF7b07019C3947874E245",
 | 
			
		||||
      "kind": "transparent",
 | 
			
		||||
      "txHash": "0x401b7d9283c12555ea0b8791221cae136ef6dcc7dd6d51c90b8fee1a96e436f9"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "address": "0xBA139eaE071B9F86e849855473a13E528De0dCa2",
 | 
			
		||||
      "kind": "transparent",
 | 
			
		||||
      "txHash": "0x1efa0caf23c059a9cd83b1284cfab7cba7504505da3d32744b25d3b98f20736d"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "address": "0xed8cABdFE71F56C3C1F16c281327EC6EA69287b8",
 | 
			
		||||
      "kind": "transparent",
 | 
			
		||||
      "txHash": "0x2c821aa8d4fd03405f8939344e7b489300a715853e395b044a482d03f7f8f93f"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "address": "0x7CC30155A47d016850c20818f5Ed060a40d1CD77",
 | 
			
		||||
      "kind": "transparent",
 | 
			
		||||
      "txHash": "0x96abef287aa1991d1428689f663caa7bc51b092fe3c8e02231fa5a48d0ae5b1c"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "address": "0xAE42463702dD3c9B2236e1B6dE71147785ae0FAB",
 | 
			
		||||
      "kind": "transparent",
 | 
			
		||||
      "txHash": "0x20d1e7491a1f8d9769d0d2c4a45aebf18a37755b00ecf9fe2fb0a053393b3cbe"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "address": "0xf769D7639eFe3baf213f1792C496dEed0B747292",
 | 
			
		||||
      "kind": "transparent",
 | 
			
		||||
      "txHash": "0x750fc5f5aafb00aef5c54451f117e663520ccbe87c76adf85c5470bcf3a6673a"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "address": "0x7EE6c7Dc9bA67eB9c6836021623a19d6993c9A47",
 | 
			
		||||
      "kind": "transparent",
 | 
			
		||||
      "txHash": "0xec2965c3ac6af8900e5ee9efdc26fe6bd053fa7428da11d4e13c4cc657cced4a"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "address": "0x488CDD806884AD782e5d7BFB359e44E62016F00A",
 | 
			
		||||
      "kind": "transparent",
 | 
			
		||||
      "txHash": "0x5d35098d3e0731eae352baeb69c2aac1e218d1aec81665a3313b7a063ddbaa65"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "address": "0x78512F4A12e6EBa462A8aD381F67640eB1CE6ffD",
 | 
			
		||||
      "kind": "transparent",
 | 
			
		||||
      "txHash": "0xcae900067ed3d8d2761d83ada94633a39223ea63757941a1af099b231914945a"
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "admin": {
 | 
			
		||||
    "address": "0x5aCDF749f25d91d4BF254053dCc5d81Aa7d564A5",
 | 
			
		||||
    "txHash": "0xeb870bd815db7b0eaad8c4cddb39ea10c7962c49796d1d6ad308ef7b9e34c4c1"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@ -2,6 +2,10 @@
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
An Ethereum ERC20 token minted by my cat, Karma. 
 | 
			
		||||
An upgradeable Ethereum ERC20 token minted by my cat, Karma.
 | 
			
		||||
 | 
			
		||||
[Ropsten ERC20 Token](https://ropsten.etherscan.io/token/0x6f502849750960cdb3c225bedab6a05065f85855)
 | 
			
		||||
[Ropsten Token](https://ropsten.etherscan.io/token/0xdCDA9d33Eb6eEf5C748743Bb1e2B7FBFBc500904)
 | 
			
		||||
 | 
			
		||||
[Ropsten Contract](https://ropsten.etherscan.io/address/0xdCDA9d33Eb6eEf5C748743Bb1e2B7FBFBc500904)
 | 
			
		||||
 | 
			
		||||
[Current KarmaV3 Contract](https://ropsten.etherscan.io/address/0x9e3be3194de7a033f82e7ac121b1036dd817f4c7#code)
 | 
			
		||||
 | 
			
		||||
@ -14,15 +14,10 @@ import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
 | 
			
		||||
// Karma Contract
 | 
			
		||||
// ----------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
contract KarmaV2 is Initializable, ERC20Upgradeable
 | 
			
		||||
contract Karma is Initializable, ERC20Upgradeable
 | 
			
		||||
{
 | 
			
		||||
    function initialize(string memory name, string memory symbol, uint256 initialSupply) public virtual initializer {
 | 
			
		||||
        __ERC20_init(name, symbol);
 | 
			
		||||
        _mint(_msgSender(), initialSupply);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    function isToken() public returns (bool)
 | 
			
		||||
    {
 | 
			
		||||
        return true;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -14,11 +14,15 @@ import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
 | 
			
		||||
// Karma Contract
 | 
			
		||||
// ----------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
contract Karma is Initializable, ERC20Upgradeable
 | 
			
		||||
contract KarmaV2 is Initializable, ERC20Upgradeable
 | 
			
		||||
{
 | 
			
		||||
    function initialize(string memory name, string memory symbol, uint256 initialSupply) public virtual initializer {
 | 
			
		||||
        __ERC20_init(name, symbol);
 | 
			
		||||
        _mint(_msgSender(), initialSupply);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    function isToken() public returns (bool)
 | 
			
		||||
    {
 | 
			
		||||
        return true;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										34
									
								
								contracts/karma-3-ERC20.sol
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								contracts/karma-3-ERC20.sol
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,34 @@
 | 
			
		||||
// Copyright [2021] - [2021], [Shaun Reed] and [Karma] contributors
 | 
			
		||||
// SPDX-License-Identifier: MIT
 | 
			
		||||
 | 
			
		||||
pragma solidity >= 0.8.0;
 | 
			
		||||
 | 
			
		||||
// ----------------------------------------------------------------------------
 | 
			
		||||
// Import ERC Token Standard #20 Interface
 | 
			
		||||
//   ETH EIP repo: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md
 | 
			
		||||
// ----------------------------------------------------------------------------
 | 
			
		||||
import "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol";
 | 
			
		||||
import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
 | 
			
		||||
 | 
			
		||||
// ----------------------------------------------------------------------------
 | 
			
		||||
// Karma Contract
 | 
			
		||||
// ----------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
contract KarmaV3 is Initializable, ERC20Upgradeable
 | 
			
		||||
{
 | 
			
		||||
    function initialize(string memory name, string memory symbol, uint256 initialSupply) public virtual initializer {
 | 
			
		||||
        __ERC20_init(name, symbol);
 | 
			
		||||
        _mint(_msgSender(), initialSupply);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    function isToken() public pure returns (bool)
 | 
			
		||||
    {
 | 
			
		||||
        return true;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    function getAddress() public view returns (address)
 | 
			
		||||
    {
 | 
			
		||||
        return address(this);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										9
									
								
								migrations/5_upgrade_karma.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								migrations/5_upgrade_karma.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,9 @@
 | 
			
		||||
const { upgradeProxy } = require('@openzeppelin/truffle-upgrades');
 | 
			
		||||
 | 
			
		||||
const KarmaV2 = artifacts.require('KarmaV2');
 | 
			
		||||
const KarmaV3 = artifacts.require('KarmaV3');
 | 
			
		||||
 | 
			
		||||
module.exports = async function (deployer) {
 | 
			
		||||
    const existing = await KarmaV2.deployed();
 | 
			
		||||
    await upgradeProxy(existing.address, KarmaV3, { deployer });
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										23919
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										23919
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -14,6 +14,7 @@
 | 
			
		||||
    "@openzeppelin/contracts-upgradeable": "^4.1.0",
 | 
			
		||||
    "@openzeppelin/truffle-upgrades": "^1.6.0",
 | 
			
		||||
    "@truffle/hdwallet-provider": "^1.3.0",
 | 
			
		||||
    "chai": "^4.3.4",
 | 
			
		||||
    "truffle": "^5.3.3",
 | 
			
		||||
    "truffle-flattener": "^1.5.0",
 | 
			
		||||
    "truffle-plugin-verify": "^0.5.7"
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										0
									
								
								test/KarmaV2.proxy.test.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								test/KarmaV2.proxy.test.js
									
									
									
									
									
										Normal file
									
								
							
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user