@verified-network/verified-sdk 0.8.2 → 0.8.5

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.
@@ -137,29 +137,49 @@
137
137
  "stateMutability": "view",
138
138
  "type": "function",
139
139
  "constant": true
140
+ },
141
+ {
142
+ "inputs": [
143
+ {
144
+ "internalType": "address",
145
+ "name": "_issue",
146
+ "type": "address"
147
+ }
148
+ ],
149
+ "name": "getProductReference",
150
+ "outputs": [
151
+ {
152
+ "internalType": "bytes32",
153
+ "name": "",
154
+ "type": "bytes32"
155
+ }
156
+ ],
157
+ "stateMutability": "view",
158
+ "type": "function",
159
+ "constant": true
140
160
  }
141
161
  ],
142
- "metadata": "{\"compiler\":{\"version\":\"0.7.1+commit.f4a555be\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_issue\",\"type\":\"address\"}],\"name\":\"checkProduct\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_signer\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_issue\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_ref\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_hashedMessage\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"_v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"_r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_s\",\"type\":\"bytes32\"}],\"name\":\"issueProduct\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_signer\",\"type\":\"address\"}],\"name\":\"setSigner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/Products.sol\":\"Products\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@balancer-labs/v2-solidity-utils/contracts/helpers/BalancerErrors.sol\":{\"keccak256\":\"0x14f18d0c0051d5412a250536a9850f2698fe1ede9e4760d94142762a039f053b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://21535a4a50a1f1acf80c543b1e44fc80671787a0364c1e3f0437e7c499f15258\",\"dweb:/ipfs/QmR9EMgjmdQRJHFrmD2Tjb9BqN2rNgvi6je5yh71oxebav\"]},\"@balancer-labs/v2-solidity-utils/contracts/openzeppelin/Ownable.sol\":{\"keccak256\":\"0x53e476d8641ec8d7502efcfaa666981c22fced87c553cf8bb206790af68798c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3eb7bbe7b8706130bd7c646766bec6d8ffb5792c20aac3b127f2a09aee9d8bc4\",\"dweb:/ipfs/QmcQdUBz6AozKU4rvBYLbZqcKy85fXPkKnhCbnthQi9k61\"]},\"project:/contracts/Products.sol\":{\"keccak256\":\"0xc60122f94ab1718e5424da45439923fe074da366e979b02e55b6ce37931480ef\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://e51a8a98175643e89957b807dbcb09fa4f669f10eeb6d8f8533aeec7a68c38c0\",\"dweb:/ipfs/QmU8PM9SzzdCPdXSAd5vDe7KTghb117C9tT1PsrPd3mdd7\"]},\"project:/contracts/interfaces/VerifiedProducts.sol\":{\"keccak256\":\"0xe75b9f762a14597117f13d09202346f26f3b67d5a2d6b057c523539989221425\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://25ca1a77b4d6fae1f8a475384a4c16f368d1305b11824fd52b85b027ed3cb97a\",\"dweb:/ipfs/QmWK4YQbv62XQmYuUmMbuYusiw7nTYBF2o29W9hNcQjssJ\"]}},\"version\":1}",
143
- "bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36104a08061005f6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80638da5cb5b1161005b5780638da5cb5b146100ec578063c4d66de8146100bc578063e45f837e14610110578063f2fde38b146101575761007d565b80633ea6c82d146100825780636c19e783146100bc578063715018a6146100e4575b600080fd5b6100a86004803603602081101561009857600080fd5b50356001600160a01b031661017d565b604080519115158252519081900360200190f35b6100e2600480360360208110156100d257600080fd5b50356001600160a01b03166101ac565b005b6100e26101ec565b6100f4610242565b604080516001600160a01b039092168252519081900360200190f35b6100e2600480360360c081101561012657600080fd5b506001600160a01b038135169060208101359060408101359060ff6060820135169060808101359060a00135610251565b6100e26004803603602081101561016d57600080fd5b50356001600160a01b0316610387565b6001600160a01b038116600090815260016020526040812054156101a3575060016101a7565b5060005b919050565b6101ca336101b8610242565b6001600160a01b0316146101aa610405565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6101f8336101b8610242565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b60408051602080820187905281830183905260066060830152654c32746f4c3160d01b6080808401919091528351808403909101815260a0830184528051908201207f19457468657265756d205369676e6564204d6573736167653a0a33320000000060c084015260dc8084018290528451808503909101815260fc8401808652815191840191909120600254600090925261011c850180875281905260ff891661013c86015261015c850188905261017c850187905294519194936001600160a01b039091169260019261019c80840193601f198301929081900390910190855afa158015610345573d6000803e3d6000fd5b505050602060405103516001600160a01b03161461036257600080fd5b5050506001600160a01b03909416600090815260016020526040902092909255505050565b610393336101b8610242565b6103aa6001600160a01b03821615156101ab610405565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b816104135761041381610417565b5050565b62461bcd60e51b6000908152602060045260076024526642414c23000030600a808404818106603090810160081b95839006959095019082900491820690940160101b939093010160c81b604452606490fdfea26469706673582212206aa4ff476d3220a1a9157a9310c50d2ab3288c50e70aa1c1172f34de0e158fe064736f6c63430007010033",
144
- "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80638da5cb5b1161005b5780638da5cb5b146100ec578063c4d66de8146100bc578063e45f837e14610110578063f2fde38b146101575761007d565b80633ea6c82d146100825780636c19e783146100bc578063715018a6146100e4575b600080fd5b6100a86004803603602081101561009857600080fd5b50356001600160a01b031661017d565b604080519115158252519081900360200190f35b6100e2600480360360208110156100d257600080fd5b50356001600160a01b03166101ac565b005b6100e26101ec565b6100f4610242565b604080516001600160a01b039092168252519081900360200190f35b6100e2600480360360c081101561012657600080fd5b506001600160a01b038135169060208101359060408101359060ff6060820135169060808101359060a00135610251565b6100e26004803603602081101561016d57600080fd5b50356001600160a01b0316610387565b6001600160a01b038116600090815260016020526040812054156101a3575060016101a7565b5060005b919050565b6101ca336101b8610242565b6001600160a01b0316146101aa610405565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6101f8336101b8610242565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b60408051602080820187905281830183905260066060830152654c32746f4c3160d01b6080808401919091528351808403909101815260a0830184528051908201207f19457468657265756d205369676e6564204d6573736167653a0a33320000000060c084015260dc8084018290528451808503909101815260fc8401808652815191840191909120600254600090925261011c850180875281905260ff891661013c86015261015c850188905261017c850187905294519194936001600160a01b039091169260019261019c80840193601f198301929081900390910190855afa158015610345573d6000803e3d6000fd5b505050602060405103516001600160a01b03161461036257600080fd5b5050506001600160a01b03909416600090815260016020526040902092909255505050565b610393336101b8610242565b6103aa6001600160a01b03821615156101ab610405565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b816104135761041381610417565b5050565b62461bcd60e51b6000908152602060045260076024526642414c23000030600a808404818106603090810160081b95839006959095019082900491820690940160101b939093010160c81b604452606490fdfea26469706673582212206aa4ff476d3220a1a9157a9310c50d2ab3288c50e70aa1c1172f34de0e158fe064736f6c63430007010033",
162
+ "metadata": "{\"compiler\":{\"version\":\"0.7.1+commit.f4a555be\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_issue\",\"type\":\"address\"}],\"name\":\"checkProduct\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_issue\",\"type\":\"address\"}],\"name\":\"getProductReference\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_signer\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_issue\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_ref\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_hashedMessage\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"_v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"_r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_s\",\"type\":\"bytes32\"}],\"name\":\"issueProduct\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_signer\",\"type\":\"address\"}],\"name\":\"setSigner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/Products.sol\":\"Products\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@balancer-labs/v2-solidity-utils/contracts/helpers/BalancerErrors.sol\":{\"keccak256\":\"0x14f18d0c0051d5412a250536a9850f2698fe1ede9e4760d94142762a039f053b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://21535a4a50a1f1acf80c543b1e44fc80671787a0364c1e3f0437e7c499f15258\",\"dweb:/ipfs/QmR9EMgjmdQRJHFrmD2Tjb9BqN2rNgvi6je5yh71oxebav\"]},\"@balancer-labs/v2-solidity-utils/contracts/openzeppelin/Ownable.sol\":{\"keccak256\":\"0x53e476d8641ec8d7502efcfaa666981c22fced87c553cf8bb206790af68798c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3eb7bbe7b8706130bd7c646766bec6d8ffb5792c20aac3b127f2a09aee9d8bc4\",\"dweb:/ipfs/QmcQdUBz6AozKU4rvBYLbZqcKy85fXPkKnhCbnthQi9k61\"]},\"project:/contracts/Products.sol\":{\"keccak256\":\"0x79ce7dd24d06ac9745ad88ed95ef7ae3ba4fd81fc0d042384a9b750fa9c1fb14\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://95d0af88f1dd263dd41bc0930db5bb75cbd97a213a7972488619a492b38fa91e\",\"dweb:/ipfs/QmNivAfY8sKHX7r4YDtgK6waudtkRb9EMcjkrre4xBttzt\"]},\"project:/contracts/interfaces/VerifiedProducts.sol\":{\"keccak256\":\"0xfc6fb3c6711d6868585ea27ddd2db61f0e11f1ef6ad86b3b90289f1f18e7e33d\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://84ec74fa4fa72f3088fc92ee9664b924142a3a7c4482cf8d3531dde27b3c50a4\",\"dweb:/ipfs/QmZGL4gVKjjjBTNeNbf4bEbKPBFRRcpvmW8jVpGydjDdRu\"]}},\"version\":1}",
163
+ "bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36104fe8061005f6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ab3b2ab51161005b578063ab3b2ab51461011b578063c4d66de8146100c7578063e45f837e14610153578063f2fde38b1461019a57610088565b80633ea6c82d1461008d5780636c19e783146100c7578063715018a6146100ef5780638da5cb5b146100f7575b600080fd5b6100b3600480360360208110156100a357600080fd5b50356001600160a01b03166101c0565b604080519115158252519081900360200190f35b6100ed600480360360208110156100dd57600080fd5b50356001600160a01b03166101ef565b005b6100ed61022f565b6100ff610285565b604080516001600160a01b039092168252519081900360200190f35b6101416004803603602081101561013157600080fd5b50356001600160a01b0316610294565b60408051918252519081900360200190f35b6100ed600480360360c081101561016957600080fd5b506001600160a01b038135169060208101359060408101359060ff6060820135169060808101359060a001356102af565b6100ed600480360360208110156101b057600080fd5b50356001600160a01b03166103e5565b6001600160a01b038116600090815260016020526040812054156101e6575060016101ea565b5060005b919050565b61020d336101fb610285565b6001600160a01b0316146101aa610463565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b61023b336101fb610285565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b6001600160a01b031660009081526001602052604090205490565b60408051602080820187905281830183905260066060830152654c32746f4c3160d01b6080808401919091528351808403909101815260a0830184528051908201207f19457468657265756d205369676e6564204d6573736167653a0a33320000000060c084015260dc8084018290528451808503909101815260fc8401808652815191840191909120600254600090925261011c850180875281905260ff891661013c86015261015c850188905261017c850187905294519194936001600160a01b039091169260019261019c80840193601f198301929081900390910190855afa1580156103a3573d6000803e3d6000fd5b505050602060405103516001600160a01b0316146103c057600080fd5b5050506001600160a01b03909416600090815260016020526040902092909255505050565b6103f1336101fb610285565b6104086001600160a01b03821615156101ab610463565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b816104715761047181610475565b5050565b62461bcd60e51b6000908152602060045260076024526642414c23000030600a808404818106603090810160081b95839006959095019082900491820690940160101b939093010160c81b604452606490fdfea26469706673582212202fc17681705491020fd787d835db91073268076a0b38dc39d3be3900364defe264736f6c63430007010033",
164
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c8063ab3b2ab51161005b578063ab3b2ab51461011b578063c4d66de8146100c7578063e45f837e14610153578063f2fde38b1461019a57610088565b80633ea6c82d1461008d5780636c19e783146100c7578063715018a6146100ef5780638da5cb5b146100f7575b600080fd5b6100b3600480360360208110156100a357600080fd5b50356001600160a01b03166101c0565b604080519115158252519081900360200190f35b6100ed600480360360208110156100dd57600080fd5b50356001600160a01b03166101ef565b005b6100ed61022f565b6100ff610285565b604080516001600160a01b039092168252519081900360200190f35b6101416004803603602081101561013157600080fd5b50356001600160a01b0316610294565b60408051918252519081900360200190f35b6100ed600480360360c081101561016957600080fd5b506001600160a01b038135169060208101359060408101359060ff6060820135169060808101359060a001356102af565b6100ed600480360360208110156101b057600080fd5b50356001600160a01b03166103e5565b6001600160a01b038116600090815260016020526040812054156101e6575060016101ea565b5060005b919050565b61020d336101fb610285565b6001600160a01b0316146101aa610463565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b61023b336101fb610285565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b6001600160a01b031660009081526001602052604090205490565b60408051602080820187905281830183905260066060830152654c32746f4c3160d01b6080808401919091528351808403909101815260a0830184528051908201207f19457468657265756d205369676e6564204d6573736167653a0a33320000000060c084015260dc8084018290528451808503909101815260fc8401808652815191840191909120600254600090925261011c850180875281905260ff891661013c86015261015c850188905261017c850187905294519194936001600160a01b039091169260019261019c80840193601f198301929081900390910190855afa1580156103a3573d6000803e3d6000fd5b505050602060405103516001600160a01b0316146103c057600080fd5b5050506001600160a01b03909416600090815260016020526040902092909255505050565b6103f1336101fb610285565b6104086001600160a01b03821615156101ab610463565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b816104715761047181610475565b5050565b62461bcd60e51b6000908152602060045260076024526642414c23000030600a808404818106603090810160081b95839006959095019082900491820690940160101b939093010160c81b604452606490fdfea26469706673582212202fc17681705491020fd787d835db91073268076a0b38dc39d3be3900364defe264736f6c63430007010033",
145
165
  "immutableReferences": {},
146
- "sourceMap": "265:1074:39:-:0;;;;;;;;;;;;-1:-1:-1;993:6:24;:19;;-1:-1:-1;;;;;;993:19:24;1002:10;993:19;;;;;1027:44;;1002:10;;993:6;1027:44;;993:6;;1027:44;265:1074:39;;;;;;",
147
- "deployedSourceMap": "265:1074:39:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1123:211;;;;;;;;;;;;;;;;-1:-1:-1;1123:211:39;-1:-1:-1;;;;;1123:211:39;;:::i;:::-;;;;;;;;;;;;;;;;;;557:98;;;;;;;;;;;;;;;;-1:-1:-1;557:98:39;-1:-1:-1;;;;;557:98:39;;:::i;:::-;;1777:145:24;;;:::i;1154:85::-;;;:::i;:::-;;;;-1:-1:-1;;;;;1154:85:24;;;;;;;;;;;;;;664:450:39;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;664:450:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2071:225:24:-;;;;;;;;;;;;;;;;-1:-1:-1;2071:225:24;-1:-1:-1;;;;;2071:225:24;;:::i;1123:211:39:-;-1:-1:-1;;;;;1241:14:39;;1222:4;1241:14;;;:6;:14;;;;;;:18;1238:88;;-1:-1:-1;1281:4:39;1274:11;;1238:88;-1:-1:-1;1321:5:39;1238:88;1123:211;;;:::o;557:98::-;1358:59:24;1378:10;1367:7;:5;:7::i;:::-;-1:-1:-1;;;;;1367:21:24;;9498:3:7;1358:8:24;:59::i;:::-;631:6:39::1;:16:::0;;-1:-1:-1;;;;;;631:16:39::1;-1:-1:-1::0;;;;;631:16:39;;;::::1;::::0;;;::::1;::::0;;557:98::o;1777:145:24:-;1358:59;1378:10;1367:7;:5;:7::i;1358:59::-;1883:1:::1;1867:6:::0;;1846:40:::1;::::0;-1:-1:-1;;;;;1867:6:24;;::::1;::::0;1846:40:::1;::::0;1883:1;;1846:40:::1;1913:1;1896:19:::0;;-1:-1:-1;;;;;;1896:19:24::1;::::0;;1777:145::o;1154:85::-;1200:7;1226:6;-1:-1:-1;;;;;1226:6:24;1154:85;:::o;664:450:39:-;865:36;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;865:36:39;;;;;;;;;;;;;;;;;;;;;;;855:47;;;;;;945:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;935:76;;;;;;;;;1067:6;;833:19;1030:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;855:47;;935:76;-1:-1:-1;;;;;1067:6:39;;;;;;1030:34;;;;;-1:-1:-1;;1030:34:39;;;;;;;;;;;1067:6;1030:34;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1030:43:39;;1022:52;;;;;;-1:-1:-1;;;;;;;;1085:14:39;;;;;;;:6;:14;;;;;:21;;;;-1:-1:-1;;;664:450:39:o;2071:225:24:-;1358:59;1378:10;1367:7;:5;:7::i;1358:59::-;2151:58:::1;-1:-1:-1::0;;;;;2160:22:24;::::1;::::0;::::1;9553:3:7;2151:8:24;:58::i;:::-;2245:6;::::0;;2224:38:::1;::::0;-1:-1:-1;;;;;2224:38:24;;::::1;::::0;2245:6;::::1;::::0;2224:38:::1;::::0;::::1;2272:6;:17:::0;;-1:-1:-1;;;;;;2272:17:24::1;-1:-1:-1::0;;;;;2272:17:24;;;::::1;::::0;;;::::1;::::0;;2071:225::o;866:101:7:-;935:9;930:34;;946:18;954:9;946:7;:18::i;:::-;866:101;;:::o;1074:3172::-;-1:-1:-1;;;3588:3:7;3581:79;;;3799:66;3793:4;3786:80;3941:1;3935:4;3928:15;2999:73;2210:2;2243:18;;;2288;;;2215:4;2284:29;;;3040:1;3036:14;2195:18;;;;3025:26;;;;2336:18;;;;2383;;;2379:29;;;3057:2;3053:17;3021:50;;;;2999:73;2994:3;2990:83;4008:4;4001:26;4234:3;;4224:14",
148
- "source": "// Verified products\r\n// (c) Kallol Borah, Verified Network, 2022\r\n\r\n//\"SPDX-License-Identifier: UNLICENSED\"\r\n\r\npragma solidity ^0.7.1;\r\n\r\nimport \"./interfaces/VerifiedProducts.sol\";\r\nimport '@balancer-labs/v2-solidity-utils/contracts/openzeppelin/Ownable.sol';\r\n\r\ncontract Products is VerifiedProducts, Ownable {\r\n\r\n //mapping product issued to product reference\r\n mapping(address => bytes32) private issues;\r\n\r\n //bridge\r\n address bridge;\r\n\r\n function initialize(address _signer) onlyOwner public {\r\n bridge = _signer;\r\n }\r\n\r\n function setSigner(address _signer) onlyOwner override external{\r\n bridge = _signer;\r\n } \r\n\r\n function issueProduct(address _issue, bytes32 _ref, bytes32 _hashedMessage, uint8 _v, bytes32 _r, bytes32 _s) \r\n override external {\r\n bytes32 payloadHash = keccak256(abi.encode(_hashedMessage, \"L2toL1\"));\r\n bytes32 messageHash = keccak256(abi.encodePacked(\"\\x19Ethereum Signed Message:\\n32\", payloadHash));\r\n require(ecrecover(messageHash, _v, _r, _s)== bridge);\r\n issues[_issue] = _ref;\r\n } \r\n\r\n function checkProduct(address _issue) \r\n override external view returns(bool){\r\n if(issues[_issue]!='')\r\n return true;\r\n else\r\n return false;\r\n }\r\n\r\n}",
166
+ "sourceMap": "265:1206:39:-:0;;;;;;;;;;;;-1:-1:-1;993:6:24;:19;;-1:-1:-1;;;;;;993:19:24;1002:10;993:19;;;;;1027:44;;1002:10;;993:6;1027:44;;993:6;;1027:44;265:1206:39;;;;;;",
167
+ "deployedSourceMap": "265:1206:39:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1123:211;;;;;;;;;;;;;;;;-1:-1:-1;1123:211:39;-1:-1:-1;;;;;1123:211:39;;:::i;:::-;;;;;;;;;;;;;;;;;;557:98;;;;;;;;;;;;;;;;-1:-1:-1;557:98:39;-1:-1:-1;;;;;557:98:39;;:::i;:::-;;1777:145:24;;;:::i;1154:85::-;;;:::i;:::-;;;;-1:-1:-1;;;;;1154:85:24;;;;;;;;;;;;;;1342:124:39;;;;;;;;;;;;;;;;-1:-1:-1;1342:124:39;-1:-1:-1;;;;;1342:124:39;;:::i;:::-;;;;;;;;;;;;;;;;664:450;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;664:450:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2071:225:24:-;;;;;;;;;;;;;;;;-1:-1:-1;2071:225:24;-1:-1:-1;;;;;2071:225:24;;:::i;1123:211:39:-;-1:-1:-1;;;;;1241:14:39;;1222:4;1241:14;;;:6;:14;;;;;;:18;1238:88;;-1:-1:-1;1281:4:39;1274:11;;1238:88;-1:-1:-1;1321:5:39;1238:88;1123:211;;;:::o;557:98::-;1358:59:24;1378:10;1367:7;:5;:7::i;:::-;-1:-1:-1;;;;;1367:21:24;;9498:3:7;1358:8:24;:59::i;:::-;631:6:39::1;:16:::0;;-1:-1:-1;;;;;;631:16:39::1;-1:-1:-1::0;;;;;631:16:39;;;::::1;::::0;;;::::1;::::0;;557:98::o;1777:145:24:-;1358:59;1378:10;1367:7;:5;:7::i;1358:59::-;1883:1:::1;1867:6:::0;;1846:40:::1;::::0;-1:-1:-1;;;;;1867:6:24;;::::1;::::0;1846:40:::1;::::0;1883:1;;1846:40:::1;1913:1;1896:19:::0;;-1:-1:-1;;;;;;1896:19:24::1;::::0;;1777:145::o;1154:85::-;1200:7;1226:6;-1:-1:-1;;;;;1226:6:24;1154:85;:::o;1342:124:39:-;-1:-1:-1;;;;;1444:14:39;1418:7;1444:14;;;:6;:14;;;;;;;1342:124::o;664:450::-;865:36;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;865:36:39;;;;;;;;;;;;;;;;;;;;;;;855:47;;;;;;945:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;935:76;;;;;;;;;1067:6;;833:19;1030:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;855:47;;935:76;-1:-1:-1;;;;;1067:6:39;;;;;;1030:34;;;;;-1:-1:-1;;1030:34:39;;;;;;;;;;;1067:6;1030:34;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1030:43:39;;1022:52;;;;;;-1:-1:-1;;;;;;;;1085:14:39;;;;;;;:6;:14;;;;;:21;;;;-1:-1:-1;;;664:450:39:o;2071:225:24:-;1358:59;1378:10;1367:7;:5;:7::i;1358:59::-;2151:58:::1;-1:-1:-1::0;;;;;2160:22:24;::::1;::::0;::::1;9553:3:7;2151:8:24;:58::i;:::-;2245:6;::::0;;2224:38:::1;::::0;-1:-1:-1;;;;;2224:38:24;;::::1;::::0;2245:6;::::1;::::0;2224:38:::1;::::0;::::1;2272:6;:17:::0;;-1:-1:-1;;;;;;2272:17:24::1;-1:-1:-1::0;;;;;2272:17:24;;;::::1;::::0;;;::::1;::::0;;2071:225::o;866:101:7:-;935:9;930:34;;946:18;954:9;946:7;:18::i;:::-;866:101;;:::o;1074:3172::-;-1:-1:-1;;;3588:3:7;3581:79;;;3799:66;3793:4;3786:80;3941:1;3935:4;3928:15;2999:73;2210:2;2243:18;;;2288;;;2215:4;2284:29;;;3040:1;3036:14;2195:18;;;;3025:26;;;;2336:18;;;;2383;;;2379:29;;;3057:2;3053:17;3021:50;;;;2999:73;2994:3;2990:83;4008:4;4001:26;4234:3;;4224:14",
168
+ "source": "// Verified products\r\n// (c) Kallol Borah, Verified Network, 2022\r\n\r\n//\"SPDX-License-Identifier: UNLICENSED\"\r\n\r\npragma solidity ^0.7.1;\r\n\r\nimport \"./interfaces/VerifiedProducts.sol\";\r\nimport '@balancer-labs/v2-solidity-utils/contracts/openzeppelin/Ownable.sol';\r\n\r\ncontract Products is VerifiedProducts, Ownable {\r\n\r\n //mapping product issued to product reference\r\n mapping(address => bytes32) private issues;\r\n\r\n //bridge\r\n address bridge;\r\n\r\n function initialize(address _signer) onlyOwner public {\r\n bridge = _signer;\r\n }\r\n\r\n function setSigner(address _signer) onlyOwner override external{\r\n bridge = _signer;\r\n } \r\n\r\n function issueProduct(address _issue, bytes32 _ref, bytes32 _hashedMessage, uint8 _v, bytes32 _r, bytes32 _s) \r\n override external {\r\n bytes32 payloadHash = keccak256(abi.encode(_hashedMessage, \"L2toL1\"));\r\n bytes32 messageHash = keccak256(abi.encodePacked(\"\\x19Ethereum Signed Message:\\n32\", payloadHash));\r\n require(ecrecover(messageHash, _v, _r, _s)== bridge);\r\n issues[_issue] = _ref;\r\n } \r\n\r\n function checkProduct(address _issue) \r\n override external view returns(bool){\r\n if(issues[_issue]!='')\r\n return true;\r\n else\r\n return false;\r\n }\r\n\r\n function getProductReference(address _issue) override external view returns(bytes32){\r\n return issues[_issue];\r\n }\r\n\r\n}",
149
169
  "sourcePath": "D:\\Code\\verified-quorum\\balancer\\contracts\\Products.sol",
150
170
  "ast": {
151
171
  "absolutePath": "project:/contracts/Products.sol",
152
172
  "exportedSymbols": {
153
173
  "Products": [
154
- 11113
174
+ 11007
155
175
  ]
156
176
  },
157
- "id": 11114,
177
+ "id": 11008,
158
178
  "license": "UNLICENSED",
159
179
  "nodeType": "SourceUnit",
160
180
  "nodes": [
161
181
  {
162
- "id": 11002,
182
+ "id": 10883,
163
183
  "literals": [
164
184
  "solidity",
165
185
  "^",
@@ -172,10 +192,10 @@
172
192
  {
173
193
  "absolutePath": "project:/contracts/interfaces/VerifiedProducts.sol",
174
194
  "file": "./interfaces/VerifiedProducts.sol",
175
- "id": 11003,
195
+ "id": 10884,
176
196
  "nodeType": "ImportDirective",
177
- "scope": 11114,
178
- "sourceUnit": 11678,
197
+ "scope": 11008,
198
+ "sourceUnit": 11665,
179
199
  "src": "139:43:39",
180
200
  "symbolAliases": [],
181
201
  "unitAlias": ""
@@ -183,9 +203,9 @@
183
203
  {
184
204
  "absolutePath": "@balancer-labs/v2-solidity-utils/contracts/openzeppelin/Ownable.sol",
185
205
  "file": "@balancer-labs/v2-solidity-utils/contracts/openzeppelin/Ownable.sol",
186
- "id": 11004,
206
+ "id": 10885,
187
207
  "nodeType": "ImportDirective",
188
- "scope": 11114,
208
+ "scope": 11008,
189
209
  "sourceUnit": 6369,
190
210
  "src": "184:77:39",
191
211
  "symbolAliases": [],
@@ -196,23 +216,23 @@
196
216
  "baseContracts": [
197
217
  {
198
218
  "baseName": {
199
- "id": 11005,
219
+ "id": 10886,
200
220
  "name": "VerifiedProducts",
201
221
  "nodeType": "UserDefinedTypeName",
202
- "referencedDeclaration": 11677,
222
+ "referencedDeclaration": 11664,
203
223
  "src": "286:16:39",
204
224
  "typeDescriptions": {
205
- "typeIdentifier": "t_contract$_VerifiedProducts_$11677",
225
+ "typeIdentifier": "t_contract$_VerifiedProducts_$11664",
206
226
  "typeString": "contract VerifiedProducts"
207
227
  }
208
228
  },
209
- "id": 11006,
229
+ "id": 10887,
210
230
  "nodeType": "InheritanceSpecifier",
211
231
  "src": "286:16:39"
212
232
  },
213
233
  {
214
234
  "baseName": {
215
- "id": 11007,
235
+ "id": 10888,
216
236
  "name": "Ownable",
217
237
  "nodeType": "UserDefinedTypeName",
218
238
  "referencedDeclaration": 6368,
@@ -222,33 +242,33 @@
222
242
  "typeString": "contract Ownable"
223
243
  }
224
244
  },
225
- "id": 11008,
245
+ "id": 10889,
226
246
  "nodeType": "InheritanceSpecifier",
227
247
  "src": "304:7:39"
228
248
  }
229
249
  ],
230
250
  "contractDependencies": [
231
251
  6368,
232
- 11677
252
+ 11664
233
253
  ],
234
254
  "contractKind": "contract",
235
255
  "fullyImplemented": true,
236
- "id": 11113,
256
+ "id": 11007,
237
257
  "linearizedBaseContracts": [
238
- 11113,
258
+ 11007,
239
259
  6368,
240
- 11677
260
+ 11664
241
261
  ],
242
262
  "name": "Products",
243
263
  "nodeType": "ContractDefinition",
244
264
  "nodes": [
245
265
  {
246
266
  "constant": false,
247
- "id": 11012,
267
+ "id": 10893,
248
268
  "mutability": "mutable",
249
269
  "name": "issues",
250
270
  "nodeType": "VariableDeclaration",
251
- "scope": 11113,
271
+ "scope": 11007,
252
272
  "src": "372:42:39",
253
273
  "stateVariable": true,
254
274
  "storageLocation": "default",
@@ -257,9 +277,9 @@
257
277
  "typeString": "mapping(address => bytes32)"
258
278
  },
259
279
  "typeName": {
260
- "id": 11011,
280
+ "id": 10892,
261
281
  "keyType": {
262
- "id": 11009,
282
+ "id": 10890,
263
283
  "name": "address",
264
284
  "nodeType": "ElementaryTypeName",
265
285
  "src": "380:7:39",
@@ -275,7 +295,7 @@
275
295
  "typeString": "mapping(address => bytes32)"
276
296
  },
277
297
  "valueType": {
278
- "id": 11010,
298
+ "id": 10891,
279
299
  "name": "bytes32",
280
300
  "nodeType": "ElementaryTypeName",
281
301
  "src": "391:7:39",
@@ -289,11 +309,11 @@
289
309
  },
290
310
  {
291
311
  "constant": false,
292
- "id": 11014,
312
+ "id": 10895,
293
313
  "mutability": "mutable",
294
314
  "name": "bridge",
295
315
  "nodeType": "VariableDeclaration",
296
- "scope": 11113,
316
+ "scope": 11007,
297
317
  "src": "437:14:39",
298
318
  "stateVariable": true,
299
319
  "storageLocation": "default",
@@ -302,7 +322,7 @@
302
322
  "typeString": "address"
303
323
  },
304
324
  "typeName": {
305
- "id": 11013,
325
+ "id": 10894,
306
326
  "name": "address",
307
327
  "nodeType": "ElementaryTypeName",
308
328
  "src": "437:7:39",
@@ -316,23 +336,23 @@
316
336
  },
317
337
  {
318
338
  "body": {
319
- "id": 11025,
339
+ "id": 10906,
320
340
  "nodeType": "Block",
321
341
  "src": "514:35:39",
322
342
  "statements": [
323
343
  {
324
344
  "expression": {
325
- "id": 11023,
345
+ "id": 10904,
326
346
  "isConstant": false,
327
347
  "isLValue": false,
328
348
  "isPure": false,
329
349
  "lValueRequested": false,
330
350
  "leftHandSide": {
331
- "id": 11021,
351
+ "id": 10902,
332
352
  "name": "bridge",
333
353
  "nodeType": "Identifier",
334
354
  "overloadedDeclarations": [],
335
- "referencedDeclaration": 11014,
355
+ "referencedDeclaration": 10895,
336
356
  "src": "525:6:39",
337
357
  "typeDescriptions": {
338
358
  "typeIdentifier": "t_address",
@@ -342,11 +362,11 @@
342
362
  "nodeType": "Assignment",
343
363
  "operator": "=",
344
364
  "rightHandSide": {
345
- "id": 11022,
365
+ "id": 10903,
346
366
  "name": "_signer",
347
367
  "nodeType": "Identifier",
348
368
  "overloadedDeclarations": [],
349
- "referencedDeclaration": 11016,
369
+ "referencedDeclaration": 10897,
350
370
  "src": "534:7:39",
351
371
  "typeDescriptions": {
352
372
  "typeIdentifier": "t_address",
@@ -359,21 +379,21 @@
359
379
  "typeString": "address"
360
380
  }
361
381
  },
362
- "id": 11024,
382
+ "id": 10905,
363
383
  "nodeType": "ExpressionStatement",
364
384
  "src": "525:16:39"
365
385
  }
366
386
  ]
367
387
  },
368
388
  "functionSelector": "c4d66de8",
369
- "id": 11026,
389
+ "id": 10907,
370
390
  "implemented": true,
371
391
  "kind": "function",
372
392
  "modifiers": [
373
393
  {
374
- "id": 11019,
394
+ "id": 10900,
375
395
  "modifierName": {
376
- "id": 11018,
396
+ "id": 10899,
377
397
  "name": "onlyOwner",
378
398
  "nodeType": "Identifier",
379
399
  "overloadedDeclarations": [],
@@ -391,16 +411,16 @@
391
411
  "name": "initialize",
392
412
  "nodeType": "FunctionDefinition",
393
413
  "parameters": {
394
- "id": 11017,
414
+ "id": 10898,
395
415
  "nodeType": "ParameterList",
396
416
  "parameters": [
397
417
  {
398
418
  "constant": false,
399
- "id": 11016,
419
+ "id": 10897,
400
420
  "mutability": "mutable",
401
421
  "name": "_signer",
402
422
  "nodeType": "VariableDeclaration",
403
- "scope": 11026,
423
+ "scope": 10907,
404
424
  "src": "480:15:39",
405
425
  "stateVariable": false,
406
426
  "storageLocation": "default",
@@ -409,7 +429,7 @@
409
429
  "typeString": "address"
410
430
  },
411
431
  "typeName": {
412
- "id": 11015,
432
+ "id": 10896,
413
433
  "name": "address",
414
434
  "nodeType": "ElementaryTypeName",
415
435
  "src": "480:7:39",
@@ -425,12 +445,12 @@
425
445
  "src": "479:17:39"
426
446
  },
427
447
  "returnParameters": {
428
- "id": 11020,
448
+ "id": 10901,
429
449
  "nodeType": "ParameterList",
430
450
  "parameters": [],
431
451
  "src": "514:0:39"
432
452
  },
433
- "scope": 11113,
453
+ "scope": 11007,
434
454
  "src": "460:89:39",
435
455
  "stateMutability": "nonpayable",
436
456
  "virtual": false,
@@ -438,26 +458,26 @@
438
458
  },
439
459
  {
440
460
  "baseFunctions": [
441
- 11676
461
+ 11663
442
462
  ],
443
463
  "body": {
444
- "id": 11038,
464
+ "id": 10919,
445
465
  "nodeType": "Block",
446
466
  "src": "620:35:39",
447
467
  "statements": [
448
468
  {
449
469
  "expression": {
450
- "id": 11036,
470
+ "id": 10917,
451
471
  "isConstant": false,
452
472
  "isLValue": false,
453
473
  "isPure": false,
454
474
  "lValueRequested": false,
455
475
  "leftHandSide": {
456
- "id": 11034,
476
+ "id": 10915,
457
477
  "name": "bridge",
458
478
  "nodeType": "Identifier",
459
479
  "overloadedDeclarations": [],
460
- "referencedDeclaration": 11014,
480
+ "referencedDeclaration": 10895,
461
481
  "src": "631:6:39",
462
482
  "typeDescriptions": {
463
483
  "typeIdentifier": "t_address",
@@ -467,11 +487,11 @@
467
487
  "nodeType": "Assignment",
468
488
  "operator": "=",
469
489
  "rightHandSide": {
470
- "id": 11035,
490
+ "id": 10916,
471
491
  "name": "_signer",
472
492
  "nodeType": "Identifier",
473
493
  "overloadedDeclarations": [],
474
- "referencedDeclaration": 11028,
494
+ "referencedDeclaration": 10909,
475
495
  "src": "640:7:39",
476
496
  "typeDescriptions": {
477
497
  "typeIdentifier": "t_address",
@@ -484,21 +504,21 @@
484
504
  "typeString": "address"
485
505
  }
486
506
  },
487
- "id": 11037,
507
+ "id": 10918,
488
508
  "nodeType": "ExpressionStatement",
489
509
  "src": "631:16:39"
490
510
  }
491
511
  ]
492
512
  },
493
513
  "functionSelector": "6c19e783",
494
- "id": 11039,
514
+ "id": 10920,
495
515
  "implemented": true,
496
516
  "kind": "function",
497
517
  "modifiers": [
498
518
  {
499
- "id": 11031,
519
+ "id": 10912,
500
520
  "modifierName": {
501
- "id": 11030,
521
+ "id": 10911,
502
522
  "name": "onlyOwner",
503
523
  "nodeType": "Identifier",
504
524
  "overloadedDeclarations": [],
@@ -516,22 +536,22 @@
516
536
  "name": "setSigner",
517
537
  "nodeType": "FunctionDefinition",
518
538
  "overrides": {
519
- "id": 11032,
539
+ "id": 10913,
520
540
  "nodeType": "OverrideSpecifier",
521
541
  "overrides": [],
522
542
  "src": "603:8:39"
523
543
  },
524
544
  "parameters": {
525
- "id": 11029,
545
+ "id": 10910,
526
546
  "nodeType": "ParameterList",
527
547
  "parameters": [
528
548
  {
529
549
  "constant": false,
530
- "id": 11028,
550
+ "id": 10909,
531
551
  "mutability": "mutable",
532
552
  "name": "_signer",
533
553
  "nodeType": "VariableDeclaration",
534
- "scope": 11039,
554
+ "scope": 10920,
535
555
  "src": "576:15:39",
536
556
  "stateVariable": false,
537
557
  "storageLocation": "default",
@@ -540,7 +560,7 @@
540
560
  "typeString": "address"
541
561
  },
542
562
  "typeName": {
543
- "id": 11027,
563
+ "id": 10908,
544
564
  "name": "address",
545
565
  "nodeType": "ElementaryTypeName",
546
566
  "src": "576:7:39",
@@ -556,12 +576,12 @@
556
576
  "src": "575:17:39"
557
577
  },
558
578
  "returnParameters": {
559
- "id": 11033,
579
+ "id": 10914,
560
580
  "nodeType": "ParameterList",
561
581
  "parameters": [],
562
582
  "src": "620:0:39"
563
583
  },
564
- "scope": 11113,
584
+ "scope": 11007,
565
585
  "src": "557:98:39",
566
586
  "stateMutability": "nonpayable",
567
587
  "virtual": false,
@@ -569,25 +589,25 @@
569
589
  },
570
590
  {
571
591
  "baseFunctions": [
572
- 11664
592
+ 11644
573
593
  ],
574
594
  "body": {
575
- "id": 11092,
595
+ "id": 10973,
576
596
  "nodeType": "Block",
577
597
  "src": "822:292:39",
578
598
  "statements": [
579
599
  {
580
600
  "assignments": [
581
- 11056
601
+ 10937
582
602
  ],
583
603
  "declarations": [
584
604
  {
585
605
  "constant": false,
586
- "id": 11056,
606
+ "id": 10937,
587
607
  "mutability": "mutable",
588
608
  "name": "payloadHash",
589
609
  "nodeType": "VariableDeclaration",
590
- "scope": 11092,
610
+ "scope": 10973,
591
611
  "src": "833:19:39",
592
612
  "stateVariable": false,
593
613
  "storageLocation": "default",
@@ -596,7 +616,7 @@
596
616
  "typeString": "bytes32"
597
617
  },
598
618
  "typeName": {
599
- "id": 11055,
619
+ "id": 10936,
600
620
  "name": "bytes32",
601
621
  "nodeType": "ElementaryTypeName",
602
622
  "src": "833:7:39",
@@ -608,17 +628,17 @@
608
628
  "visibility": "internal"
609
629
  }
610
630
  ],
611
- "id": 11064,
631
+ "id": 10945,
612
632
  "initialValue": {
613
633
  "arguments": [
614
634
  {
615
635
  "arguments": [
616
636
  {
617
- "id": 11060,
637
+ "id": 10941,
618
638
  "name": "_hashedMessage",
619
639
  "nodeType": "Identifier",
620
640
  "overloadedDeclarations": [],
621
- "referencedDeclaration": 11045,
641
+ "referencedDeclaration": 10926,
622
642
  "src": "876:14:39",
623
643
  "typeDescriptions": {
624
644
  "typeIdentifier": "t_bytes32",
@@ -627,7 +647,7 @@
627
647
  },
628
648
  {
629
649
  "hexValue": "4c32746f4c31",
630
- "id": 11061,
650
+ "id": 10942,
631
651
  "isConstant": false,
632
652
  "isLValue": false,
633
653
  "isPure": true,
@@ -654,7 +674,7 @@
654
674
  }
655
675
  ],
656
676
  "expression": {
657
- "id": 11058,
677
+ "id": 10939,
658
678
  "name": "abi",
659
679
  "nodeType": "Identifier",
660
680
  "overloadedDeclarations": [],
@@ -665,7 +685,7 @@
665
685
  "typeString": "abi"
666
686
  }
667
687
  },
668
- "id": 11059,
688
+ "id": 10940,
669
689
  "isConstant": false,
670
690
  "isLValue": false,
671
691
  "isPure": true,
@@ -678,7 +698,7 @@
678
698
  "typeString": "function () pure returns (bytes memory)"
679
699
  }
680
700
  },
681
- "id": 11062,
701
+ "id": 10943,
682
702
  "isConstant": false,
683
703
  "isLValue": false,
684
704
  "isPure": false,
@@ -701,7 +721,7 @@
701
721
  "typeString": "bytes memory"
702
722
  }
703
723
  ],
704
- "id": 11057,
724
+ "id": 10938,
705
725
  "name": "keccak256",
706
726
  "nodeType": "Identifier",
707
727
  "overloadedDeclarations": [],
@@ -712,7 +732,7 @@
712
732
  "typeString": "function (bytes memory) pure returns (bytes32)"
713
733
  }
714
734
  },
715
- "id": 11063,
735
+ "id": 10944,
716
736
  "isConstant": false,
717
737
  "isLValue": false,
718
738
  "isPure": false,
@@ -732,16 +752,16 @@
732
752
  },
733
753
  {
734
754
  "assignments": [
735
- 11066
755
+ 10947
736
756
  ],
737
757
  "declarations": [
738
758
  {
739
759
  "constant": false,
740
- "id": 11066,
760
+ "id": 10947,
741
761
  "mutability": "mutable",
742
762
  "name": "messageHash",
743
763
  "nodeType": "VariableDeclaration",
744
- "scope": 11092,
764
+ "scope": 10973,
745
765
  "src": "913:19:39",
746
766
  "stateVariable": false,
747
767
  "storageLocation": "default",
@@ -750,7 +770,7 @@
750
770
  "typeString": "bytes32"
751
771
  },
752
772
  "typeName": {
753
- "id": 11065,
773
+ "id": 10946,
754
774
  "name": "bytes32",
755
775
  "nodeType": "ElementaryTypeName",
756
776
  "src": "913:7:39",
@@ -762,14 +782,14 @@
762
782
  "visibility": "internal"
763
783
  }
764
784
  ],
765
- "id": 11074,
785
+ "id": 10955,
766
786
  "initialValue": {
767
787
  "arguments": [
768
788
  {
769
789
  "arguments": [
770
790
  {
771
791
  "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332",
772
- "id": 11070,
792
+ "id": 10951,
773
793
  "isConstant": false,
774
794
  "isLValue": false,
775
795
  "isPure": true,
@@ -784,11 +804,11 @@
784
804
  "value": "\u0019Ethereum Signed Message:\n32"
785
805
  },
786
806
  {
787
- "id": 11071,
807
+ "id": 10952,
788
808
  "name": "payloadHash",
789
809
  "nodeType": "Identifier",
790
810
  "overloadedDeclarations": [],
791
- "referencedDeclaration": 11056,
811
+ "referencedDeclaration": 10937,
792
812
  "src": "998:11:39",
793
813
  "typeDescriptions": {
794
814
  "typeIdentifier": "t_bytes32",
@@ -808,7 +828,7 @@
808
828
  }
809
829
  ],
810
830
  "expression": {
811
- "id": 11068,
831
+ "id": 10949,
812
832
  "name": "abi",
813
833
  "nodeType": "Identifier",
814
834
  "overloadedDeclarations": [],
@@ -819,7 +839,7 @@
819
839
  "typeString": "abi"
820
840
  }
821
841
  },
822
- "id": 11069,
842
+ "id": 10950,
823
843
  "isConstant": false,
824
844
  "isLValue": false,
825
845
  "isPure": true,
@@ -832,7 +852,7 @@
832
852
  "typeString": "function () pure returns (bytes memory)"
833
853
  }
834
854
  },
835
- "id": 11072,
855
+ "id": 10953,
836
856
  "isConstant": false,
837
857
  "isLValue": false,
838
858
  "isPure": false,
@@ -855,7 +875,7 @@
855
875
  "typeString": "bytes memory"
856
876
  }
857
877
  ],
858
- "id": 11067,
878
+ "id": 10948,
859
879
  "name": "keccak256",
860
880
  "nodeType": "Identifier",
861
881
  "overloadedDeclarations": [],
@@ -866,7 +886,7 @@
866
886
  "typeString": "function (bytes memory) pure returns (bytes32)"
867
887
  }
868
888
  },
869
- "id": 11073,
889
+ "id": 10954,
870
890
  "isConstant": false,
871
891
  "isLValue": false,
872
892
  "isPure": false,
@@ -892,7 +912,7 @@
892
912
  "typeIdentifier": "t_address",
893
913
  "typeString": "address"
894
914
  },
895
- "id": 11083,
915
+ "id": 10964,
896
916
  "isConstant": false,
897
917
  "isLValue": false,
898
918
  "isPure": false,
@@ -900,11 +920,11 @@
900
920
  "leftExpression": {
901
921
  "arguments": [
902
922
  {
903
- "id": 11077,
923
+ "id": 10958,
904
924
  "name": "messageHash",
905
925
  "nodeType": "Identifier",
906
926
  "overloadedDeclarations": [],
907
- "referencedDeclaration": 11066,
927
+ "referencedDeclaration": 10947,
908
928
  "src": "1040:11:39",
909
929
  "typeDescriptions": {
910
930
  "typeIdentifier": "t_bytes32",
@@ -912,11 +932,11 @@
912
932
  }
913
933
  },
914
934
  {
915
- "id": 11078,
935
+ "id": 10959,
916
936
  "name": "_v",
917
937
  "nodeType": "Identifier",
918
938
  "overloadedDeclarations": [],
919
- "referencedDeclaration": 11047,
939
+ "referencedDeclaration": 10928,
920
940
  "src": "1053:2:39",
921
941
  "typeDescriptions": {
922
942
  "typeIdentifier": "t_uint8",
@@ -924,11 +944,11 @@
924
944
  }
925
945
  },
926
946
  {
927
- "id": 11079,
947
+ "id": 10960,
928
948
  "name": "_r",
929
949
  "nodeType": "Identifier",
930
950
  "overloadedDeclarations": [],
931
- "referencedDeclaration": 11049,
951
+ "referencedDeclaration": 10930,
932
952
  "src": "1057:2:39",
933
953
  "typeDescriptions": {
934
954
  "typeIdentifier": "t_bytes32",
@@ -936,11 +956,11 @@
936
956
  }
937
957
  },
938
958
  {
939
- "id": 11080,
959
+ "id": 10961,
940
960
  "name": "_s",
941
961
  "nodeType": "Identifier",
942
962
  "overloadedDeclarations": [],
943
- "referencedDeclaration": 11051,
963
+ "referencedDeclaration": 10932,
944
964
  "src": "1061:2:39",
945
965
  "typeDescriptions": {
946
966
  "typeIdentifier": "t_bytes32",
@@ -967,7 +987,7 @@
967
987
  "typeString": "bytes32"
968
988
  }
969
989
  ],
970
- "id": 11076,
990
+ "id": 10957,
971
991
  "name": "ecrecover",
972
992
  "nodeType": "Identifier",
973
993
  "overloadedDeclarations": [],
@@ -978,7 +998,7 @@
978
998
  "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)"
979
999
  }
980
1000
  },
981
- "id": 11081,
1001
+ "id": 10962,
982
1002
  "isConstant": false,
983
1003
  "isLValue": false,
984
1004
  "isPure": false,
@@ -996,11 +1016,11 @@
996
1016
  "nodeType": "BinaryOperation",
997
1017
  "operator": "==",
998
1018
  "rightExpression": {
999
- "id": 11082,
1019
+ "id": 10963,
1000
1020
  "name": "bridge",
1001
1021
  "nodeType": "Identifier",
1002
1022
  "overloadedDeclarations": [],
1003
- "referencedDeclaration": 11014,
1023
+ "referencedDeclaration": 10895,
1004
1024
  "src": "1067:6:39",
1005
1025
  "typeDescriptions": {
1006
1026
  "typeIdentifier": "t_address",
@@ -1021,7 +1041,7 @@
1021
1041
  "typeString": "bool"
1022
1042
  }
1023
1043
  ],
1024
- "id": 11075,
1044
+ "id": 10956,
1025
1045
  "name": "require",
1026
1046
  "nodeType": "Identifier",
1027
1047
  "overloadedDeclarations": [
@@ -1035,7 +1055,7 @@
1035
1055
  "typeString": "function (bool) pure"
1036
1056
  }
1037
1057
  },
1038
- "id": 11084,
1058
+ "id": 10965,
1039
1059
  "isConstant": false,
1040
1060
  "isLValue": false,
1041
1061
  "isPure": false,
@@ -1050,37 +1070,37 @@
1050
1070
  "typeString": "tuple()"
1051
1071
  }
1052
1072
  },
1053
- "id": 11085,
1073
+ "id": 10966,
1054
1074
  "nodeType": "ExpressionStatement",
1055
1075
  "src": "1022:52:39"
1056
1076
  },
1057
1077
  {
1058
1078
  "expression": {
1059
- "id": 11090,
1079
+ "id": 10971,
1060
1080
  "isConstant": false,
1061
1081
  "isLValue": false,
1062
1082
  "isPure": false,
1063
1083
  "lValueRequested": false,
1064
1084
  "leftHandSide": {
1065
1085
  "baseExpression": {
1066
- "id": 11086,
1086
+ "id": 10967,
1067
1087
  "name": "issues",
1068
1088
  "nodeType": "Identifier",
1069
1089
  "overloadedDeclarations": [],
1070
- "referencedDeclaration": 11012,
1090
+ "referencedDeclaration": 10893,
1071
1091
  "src": "1085:6:39",
1072
1092
  "typeDescriptions": {
1073
1093
  "typeIdentifier": "t_mapping$_t_address_$_t_bytes32_$",
1074
1094
  "typeString": "mapping(address => bytes32)"
1075
1095
  }
1076
1096
  },
1077
- "id": 11088,
1097
+ "id": 10969,
1078
1098
  "indexExpression": {
1079
- "id": 11087,
1099
+ "id": 10968,
1080
1100
  "name": "_issue",
1081
1101
  "nodeType": "Identifier",
1082
1102
  "overloadedDeclarations": [],
1083
- "referencedDeclaration": 11041,
1103
+ "referencedDeclaration": 10922,
1084
1104
  "src": "1092:6:39",
1085
1105
  "typeDescriptions": {
1086
1106
  "typeIdentifier": "t_address",
@@ -1101,11 +1121,11 @@
1101
1121
  "nodeType": "Assignment",
1102
1122
  "operator": "=",
1103
1123
  "rightHandSide": {
1104
- "id": 11089,
1124
+ "id": 10970,
1105
1125
  "name": "_ref",
1106
1126
  "nodeType": "Identifier",
1107
1127
  "overloadedDeclarations": [],
1108
- "referencedDeclaration": 11043,
1128
+ "referencedDeclaration": 10924,
1109
1129
  "src": "1102:4:39",
1110
1130
  "typeDescriptions": {
1111
1131
  "typeIdentifier": "t_bytes32",
@@ -1118,36 +1138,36 @@
1118
1138
  "typeString": "bytes32"
1119
1139
  }
1120
1140
  },
1121
- "id": 11091,
1141
+ "id": 10972,
1122
1142
  "nodeType": "ExpressionStatement",
1123
1143
  "src": "1085:21:39"
1124
1144
  }
1125
1145
  ]
1126
1146
  },
1127
1147
  "functionSelector": "e45f837e",
1128
- "id": 11093,
1148
+ "id": 10974,
1129
1149
  "implemented": true,
1130
1150
  "kind": "function",
1131
1151
  "modifiers": [],
1132
1152
  "name": "issueProduct",
1133
1153
  "nodeType": "FunctionDefinition",
1134
1154
  "overrides": {
1135
- "id": 11053,
1155
+ "id": 10934,
1136
1156
  "nodeType": "OverrideSpecifier",
1137
1157
  "overrides": [],
1138
1158
  "src": "804:8:39"
1139
1159
  },
1140
1160
  "parameters": {
1141
- "id": 11052,
1161
+ "id": 10933,
1142
1162
  "nodeType": "ParameterList",
1143
1163
  "parameters": [
1144
1164
  {
1145
1165
  "constant": false,
1146
- "id": 11041,
1166
+ "id": 10922,
1147
1167
  "mutability": "mutable",
1148
1168
  "name": "_issue",
1149
1169
  "nodeType": "VariableDeclaration",
1150
- "scope": 11093,
1170
+ "scope": 10974,
1151
1171
  "src": "686:14:39",
1152
1172
  "stateVariable": false,
1153
1173
  "storageLocation": "default",
@@ -1156,7 +1176,7 @@
1156
1176
  "typeString": "address"
1157
1177
  },
1158
1178
  "typeName": {
1159
- "id": 11040,
1179
+ "id": 10921,
1160
1180
  "name": "address",
1161
1181
  "nodeType": "ElementaryTypeName",
1162
1182
  "src": "686:7:39",
@@ -1170,11 +1190,11 @@
1170
1190
  },
1171
1191
  {
1172
1192
  "constant": false,
1173
- "id": 11043,
1193
+ "id": 10924,
1174
1194
  "mutability": "mutable",
1175
1195
  "name": "_ref",
1176
1196
  "nodeType": "VariableDeclaration",
1177
- "scope": 11093,
1197
+ "scope": 10974,
1178
1198
  "src": "702:12:39",
1179
1199
  "stateVariable": false,
1180
1200
  "storageLocation": "default",
@@ -1183,7 +1203,7 @@
1183
1203
  "typeString": "bytes32"
1184
1204
  },
1185
1205
  "typeName": {
1186
- "id": 11042,
1206
+ "id": 10923,
1187
1207
  "name": "bytes32",
1188
1208
  "nodeType": "ElementaryTypeName",
1189
1209
  "src": "702:7:39",
@@ -1196,11 +1216,11 @@
1196
1216
  },
1197
1217
  {
1198
1218
  "constant": false,
1199
- "id": 11045,
1219
+ "id": 10926,
1200
1220
  "mutability": "mutable",
1201
1221
  "name": "_hashedMessage",
1202
1222
  "nodeType": "VariableDeclaration",
1203
- "scope": 11093,
1223
+ "scope": 10974,
1204
1224
  "src": "716:22:39",
1205
1225
  "stateVariable": false,
1206
1226
  "storageLocation": "default",
@@ -1209,7 +1229,7 @@
1209
1229
  "typeString": "bytes32"
1210
1230
  },
1211
1231
  "typeName": {
1212
- "id": 11044,
1232
+ "id": 10925,
1213
1233
  "name": "bytes32",
1214
1234
  "nodeType": "ElementaryTypeName",
1215
1235
  "src": "716:7:39",
@@ -1222,11 +1242,11 @@
1222
1242
  },
1223
1243
  {
1224
1244
  "constant": false,
1225
- "id": 11047,
1245
+ "id": 10928,
1226
1246
  "mutability": "mutable",
1227
1247
  "name": "_v",
1228
1248
  "nodeType": "VariableDeclaration",
1229
- "scope": 11093,
1249
+ "scope": 10974,
1230
1250
  "src": "740:8:39",
1231
1251
  "stateVariable": false,
1232
1252
  "storageLocation": "default",
@@ -1235,7 +1255,7 @@
1235
1255
  "typeString": "uint8"
1236
1256
  },
1237
1257
  "typeName": {
1238
- "id": 11046,
1258
+ "id": 10927,
1239
1259
  "name": "uint8",
1240
1260
  "nodeType": "ElementaryTypeName",
1241
1261
  "src": "740:5:39",
@@ -1248,11 +1268,11 @@
1248
1268
  },
1249
1269
  {
1250
1270
  "constant": false,
1251
- "id": 11049,
1271
+ "id": 10930,
1252
1272
  "mutability": "mutable",
1253
1273
  "name": "_r",
1254
1274
  "nodeType": "VariableDeclaration",
1255
- "scope": 11093,
1275
+ "scope": 10974,
1256
1276
  "src": "750:10:39",
1257
1277
  "stateVariable": false,
1258
1278
  "storageLocation": "default",
@@ -1261,7 +1281,7 @@
1261
1281
  "typeString": "bytes32"
1262
1282
  },
1263
1283
  "typeName": {
1264
- "id": 11048,
1284
+ "id": 10929,
1265
1285
  "name": "bytes32",
1266
1286
  "nodeType": "ElementaryTypeName",
1267
1287
  "src": "750:7:39",
@@ -1274,11 +1294,11 @@
1274
1294
  },
1275
1295
  {
1276
1296
  "constant": false,
1277
- "id": 11051,
1297
+ "id": 10932,
1278
1298
  "mutability": "mutable",
1279
1299
  "name": "_s",
1280
1300
  "nodeType": "VariableDeclaration",
1281
- "scope": 11093,
1301
+ "scope": 10974,
1282
1302
  "src": "762:10:39",
1283
1303
  "stateVariable": false,
1284
1304
  "storageLocation": "default",
@@ -1287,7 +1307,7 @@
1287
1307
  "typeString": "bytes32"
1288
1308
  },
1289
1309
  "typeName": {
1290
- "id": 11050,
1310
+ "id": 10931,
1291
1311
  "name": "bytes32",
1292
1312
  "nodeType": "ElementaryTypeName",
1293
1313
  "src": "762:7:39",
@@ -1302,12 +1322,12 @@
1302
1322
  "src": "685:88:39"
1303
1323
  },
1304
1324
  "returnParameters": {
1305
- "id": 11054,
1325
+ "id": 10935,
1306
1326
  "nodeType": "ParameterList",
1307
1327
  "parameters": [],
1308
1328
  "src": "822:0:39"
1309
1329
  },
1310
- "scope": 11113,
1330
+ "scope": 11007,
1311
1331
  "src": "664:450:39",
1312
1332
  "stateMutability": "nonpayable",
1313
1333
  "virtual": false,
@@ -1315,10 +1335,10 @@
1315
1335
  },
1316
1336
  {
1317
1337
  "baseFunctions": [
1318
- 11671
1338
+ 11651
1319
1339
  ],
1320
1340
  "body": {
1321
- "id": 11111,
1341
+ "id": 10992,
1322
1342
  "nodeType": "Block",
1323
1343
  "src": "1227:107:39",
1324
1344
  "statements": [
@@ -1328,31 +1348,31 @@
1328
1348
  "typeIdentifier": "t_bytes32",
1329
1349
  "typeString": "bytes32"
1330
1350
  },
1331
- "id": 11105,
1351
+ "id": 10986,
1332
1352
  "isConstant": false,
1333
1353
  "isLValue": false,
1334
1354
  "isPure": false,
1335
1355
  "lValueRequested": false,
1336
1356
  "leftExpression": {
1337
1357
  "baseExpression": {
1338
- "id": 11101,
1358
+ "id": 10982,
1339
1359
  "name": "issues",
1340
1360
  "nodeType": "Identifier",
1341
1361
  "overloadedDeclarations": [],
1342
- "referencedDeclaration": 11012,
1362
+ "referencedDeclaration": 10893,
1343
1363
  "src": "1241:6:39",
1344
1364
  "typeDescriptions": {
1345
1365
  "typeIdentifier": "t_mapping$_t_address_$_t_bytes32_$",
1346
1366
  "typeString": "mapping(address => bytes32)"
1347
1367
  }
1348
1368
  },
1349
- "id": 11103,
1369
+ "id": 10984,
1350
1370
  "indexExpression": {
1351
- "id": 11102,
1371
+ "id": 10983,
1352
1372
  "name": "_issue",
1353
1373
  "nodeType": "Identifier",
1354
1374
  "overloadedDeclarations": [],
1355
- "referencedDeclaration": 11095,
1375
+ "referencedDeclaration": 10976,
1356
1376
  "src": "1248:6:39",
1357
1377
  "typeDescriptions": {
1358
1378
  "typeIdentifier": "t_address",
@@ -1374,7 +1394,7 @@
1374
1394
  "operator": "!=",
1375
1395
  "rightExpression": {
1376
1396
  "hexValue": "",
1377
- "id": 11104,
1397
+ "id": 10985,
1378
1398
  "isConstant": false,
1379
1399
  "isLValue": false,
1380
1400
  "isPure": true,
@@ -1397,7 +1417,7 @@
1397
1417
  "falseBody": {
1398
1418
  "expression": {
1399
1419
  "hexValue": "66616c7365",
1400
- "id": 11108,
1420
+ "id": 10989,
1401
1421
  "isConstant": false,
1402
1422
  "isLValue": false,
1403
1423
  "isPure": true,
@@ -1411,18 +1431,18 @@
1411
1431
  },
1412
1432
  "value": "false"
1413
1433
  },
1414
- "functionReturnParameters": 11100,
1415
- "id": 11109,
1434
+ "functionReturnParameters": 10981,
1435
+ "id": 10990,
1416
1436
  "nodeType": "Return",
1417
1437
  "src": "1314:12:39"
1418
1438
  },
1419
- "id": 11110,
1439
+ "id": 10991,
1420
1440
  "nodeType": "IfStatement",
1421
1441
  "src": "1238:88:39",
1422
1442
  "trueBody": {
1423
1443
  "expression": {
1424
1444
  "hexValue": "74727565",
1425
- "id": 11106,
1445
+ "id": 10987,
1426
1446
  "isConstant": false,
1427
1447
  "isLValue": false,
1428
1448
  "isPure": true,
@@ -1436,8 +1456,8 @@
1436
1456
  },
1437
1457
  "value": "true"
1438
1458
  },
1439
- "functionReturnParameters": 11100,
1440
- "id": 11107,
1459
+ "functionReturnParameters": 10981,
1460
+ "id": 10988,
1441
1461
  "nodeType": "Return",
1442
1462
  "src": "1274:11:39"
1443
1463
  }
@@ -1445,29 +1465,29 @@
1445
1465
  ]
1446
1466
  },
1447
1467
  "functionSelector": "3ea6c82d",
1448
- "id": 11112,
1468
+ "id": 10993,
1449
1469
  "implemented": true,
1450
1470
  "kind": "function",
1451
1471
  "modifiers": [],
1452
1472
  "name": "checkProduct",
1453
1473
  "nodeType": "FunctionDefinition",
1454
1474
  "overrides": {
1455
- "id": 11097,
1475
+ "id": 10978,
1456
1476
  "nodeType": "OverrideSpecifier",
1457
1477
  "overrides": [],
1458
1478
  "src": "1191:8:39"
1459
1479
  },
1460
1480
  "parameters": {
1461
- "id": 11096,
1481
+ "id": 10977,
1462
1482
  "nodeType": "ParameterList",
1463
1483
  "parameters": [
1464
1484
  {
1465
1485
  "constant": false,
1466
- "id": 11095,
1486
+ "id": 10976,
1467
1487
  "mutability": "mutable",
1468
1488
  "name": "_issue",
1469
1489
  "nodeType": "VariableDeclaration",
1470
- "scope": 11112,
1490
+ "scope": 10993,
1471
1491
  "src": "1145:14:39",
1472
1492
  "stateVariable": false,
1473
1493
  "storageLocation": "default",
@@ -1476,7 +1496,7 @@
1476
1496
  "typeString": "address"
1477
1497
  },
1478
1498
  "typeName": {
1479
- "id": 11094,
1499
+ "id": 10975,
1480
1500
  "name": "address",
1481
1501
  "nodeType": "ElementaryTypeName",
1482
1502
  "src": "1145:7:39",
@@ -1492,16 +1512,16 @@
1492
1512
  "src": "1144:16:39"
1493
1513
  },
1494
1514
  "returnParameters": {
1495
- "id": 11100,
1515
+ "id": 10981,
1496
1516
  "nodeType": "ParameterList",
1497
1517
  "parameters": [
1498
1518
  {
1499
1519
  "constant": false,
1500
- "id": 11099,
1520
+ "id": 10980,
1501
1521
  "mutability": "mutable",
1502
1522
  "name": "",
1503
1523
  "nodeType": "VariableDeclaration",
1504
- "scope": 11112,
1524
+ "scope": 10993,
1505
1525
  "src": "1222:4:39",
1506
1526
  "stateVariable": false,
1507
1527
  "storageLocation": "default",
@@ -1510,7 +1530,7 @@
1510
1530
  "typeString": "bool"
1511
1531
  },
1512
1532
  "typeName": {
1513
- "id": 11098,
1533
+ "id": 10979,
1514
1534
  "name": "bool",
1515
1535
  "nodeType": "ElementaryTypeName",
1516
1536
  "src": "1222:4:39",
@@ -1524,25 +1544,165 @@
1524
1544
  ],
1525
1545
  "src": "1221:6:39"
1526
1546
  },
1527
- "scope": 11113,
1547
+ "scope": 11007,
1528
1548
  "src": "1123:211:39",
1529
1549
  "stateMutability": "view",
1530
1550
  "virtual": false,
1531
1551
  "visibility": "external"
1552
+ },
1553
+ {
1554
+ "baseFunctions": [
1555
+ 11658
1556
+ ],
1557
+ "body": {
1558
+ "id": 11005,
1559
+ "nodeType": "Block",
1560
+ "src": "1426:40:39",
1561
+ "statements": [
1562
+ {
1563
+ "expression": {
1564
+ "baseExpression": {
1565
+ "id": 11001,
1566
+ "name": "issues",
1567
+ "nodeType": "Identifier",
1568
+ "overloadedDeclarations": [],
1569
+ "referencedDeclaration": 10893,
1570
+ "src": "1444:6:39",
1571
+ "typeDescriptions": {
1572
+ "typeIdentifier": "t_mapping$_t_address_$_t_bytes32_$",
1573
+ "typeString": "mapping(address => bytes32)"
1574
+ }
1575
+ },
1576
+ "id": 11003,
1577
+ "indexExpression": {
1578
+ "id": 11002,
1579
+ "name": "_issue",
1580
+ "nodeType": "Identifier",
1581
+ "overloadedDeclarations": [],
1582
+ "referencedDeclaration": 10995,
1583
+ "src": "1451:6:39",
1584
+ "typeDescriptions": {
1585
+ "typeIdentifier": "t_address",
1586
+ "typeString": "address"
1587
+ }
1588
+ },
1589
+ "isConstant": false,
1590
+ "isLValue": true,
1591
+ "isPure": false,
1592
+ "lValueRequested": false,
1593
+ "nodeType": "IndexAccess",
1594
+ "src": "1444:14:39",
1595
+ "typeDescriptions": {
1596
+ "typeIdentifier": "t_bytes32",
1597
+ "typeString": "bytes32"
1598
+ }
1599
+ },
1600
+ "functionReturnParameters": 11000,
1601
+ "id": 11004,
1602
+ "nodeType": "Return",
1603
+ "src": "1437:21:39"
1604
+ }
1605
+ ]
1606
+ },
1607
+ "functionSelector": "ab3b2ab5",
1608
+ "id": 11006,
1609
+ "implemented": true,
1610
+ "kind": "function",
1611
+ "modifiers": [],
1612
+ "name": "getProductReference",
1613
+ "nodeType": "FunctionDefinition",
1614
+ "overrides": {
1615
+ "id": 10997,
1616
+ "nodeType": "OverrideSpecifier",
1617
+ "overrides": [],
1618
+ "src": "1387:8:39"
1619
+ },
1620
+ "parameters": {
1621
+ "id": 10996,
1622
+ "nodeType": "ParameterList",
1623
+ "parameters": [
1624
+ {
1625
+ "constant": false,
1626
+ "id": 10995,
1627
+ "mutability": "mutable",
1628
+ "name": "_issue",
1629
+ "nodeType": "VariableDeclaration",
1630
+ "scope": 11006,
1631
+ "src": "1371:14:39",
1632
+ "stateVariable": false,
1633
+ "storageLocation": "default",
1634
+ "typeDescriptions": {
1635
+ "typeIdentifier": "t_address",
1636
+ "typeString": "address"
1637
+ },
1638
+ "typeName": {
1639
+ "id": 10994,
1640
+ "name": "address",
1641
+ "nodeType": "ElementaryTypeName",
1642
+ "src": "1371:7:39",
1643
+ "stateMutability": "nonpayable",
1644
+ "typeDescriptions": {
1645
+ "typeIdentifier": "t_address",
1646
+ "typeString": "address"
1647
+ }
1648
+ },
1649
+ "visibility": "internal"
1650
+ }
1651
+ ],
1652
+ "src": "1370:16:39"
1653
+ },
1654
+ "returnParameters": {
1655
+ "id": 11000,
1656
+ "nodeType": "ParameterList",
1657
+ "parameters": [
1658
+ {
1659
+ "constant": false,
1660
+ "id": 10999,
1661
+ "mutability": "mutable",
1662
+ "name": "",
1663
+ "nodeType": "VariableDeclaration",
1664
+ "scope": 11006,
1665
+ "src": "1418:7:39",
1666
+ "stateVariable": false,
1667
+ "storageLocation": "default",
1668
+ "typeDescriptions": {
1669
+ "typeIdentifier": "t_bytes32",
1670
+ "typeString": "bytes32"
1671
+ },
1672
+ "typeName": {
1673
+ "id": 10998,
1674
+ "name": "bytes32",
1675
+ "nodeType": "ElementaryTypeName",
1676
+ "src": "1418:7:39",
1677
+ "typeDescriptions": {
1678
+ "typeIdentifier": "t_bytes32",
1679
+ "typeString": "bytes32"
1680
+ }
1681
+ },
1682
+ "visibility": "internal"
1683
+ }
1684
+ ],
1685
+ "src": "1417:9:39"
1686
+ },
1687
+ "scope": 11007,
1688
+ "src": "1342:124:39",
1689
+ "stateMutability": "view",
1690
+ "virtual": false,
1691
+ "visibility": "external"
1532
1692
  }
1533
1693
  ],
1534
- "scope": 11114,
1535
- "src": "265:1074:39"
1694
+ "scope": 11008,
1695
+ "src": "265:1206:39"
1536
1696
  }
1537
1697
  ],
1538
- "src": "112:1227:39"
1698
+ "src": "112:1359:39"
1539
1699
  },
1540
1700
  "legacyAST": {
1541
1701
  "attributes": {
1542
1702
  "absolutePath": "project:/contracts/Products.sol",
1543
1703
  "exportedSymbols": {
1544
1704
  "Products": [
1545
- 11113
1705
+ 11007
1546
1706
  ]
1547
1707
  },
1548
1708
  "license": "UNLICENSED"
@@ -1557,22 +1717,22 @@
1557
1717
  ".1"
1558
1718
  ]
1559
1719
  },
1560
- "id": 11002,
1720
+ "id": 10883,
1561
1721
  "name": "PragmaDirective",
1562
1722
  "src": "112:23:39"
1563
1723
  },
1564
1724
  {
1565
1725
  "attributes": {
1566
- "SourceUnit": 11678,
1726
+ "SourceUnit": 11665,
1567
1727
  "absolutePath": "project:/contracts/interfaces/VerifiedProducts.sol",
1568
1728
  "file": "./interfaces/VerifiedProducts.sol",
1569
- "scope": 11114,
1729
+ "scope": 11008,
1570
1730
  "symbolAliases": [
1571
1731
  null
1572
1732
  ],
1573
1733
  "unitAlias": ""
1574
1734
  },
1575
- "id": 11003,
1735
+ "id": 10884,
1576
1736
  "name": "ImportDirective",
1577
1737
  "src": "139:43:39"
1578
1738
  },
@@ -1581,13 +1741,13 @@
1581
1741
  "SourceUnit": 6369,
1582
1742
  "absolutePath": "@balancer-labs/v2-solidity-utils/contracts/openzeppelin/Ownable.sol",
1583
1743
  "file": "@balancer-labs/v2-solidity-utils/contracts/openzeppelin/Ownable.sol",
1584
- "scope": 11114,
1744
+ "scope": 11008,
1585
1745
  "symbolAliases": [
1586
1746
  null
1587
1747
  ],
1588
1748
  "unitAlias": ""
1589
1749
  },
1590
- "id": 11004,
1750
+ "id": 10885,
1591
1751
  "name": "ImportDirective",
1592
1752
  "src": "184:77:39"
1593
1753
  },
@@ -1596,17 +1756,17 @@
1596
1756
  "abstract": false,
1597
1757
  "contractDependencies": [
1598
1758
  6368,
1599
- 11677
1759
+ 11664
1600
1760
  ],
1601
1761
  "contractKind": "contract",
1602
1762
  "fullyImplemented": true,
1603
1763
  "linearizedBaseContracts": [
1604
- 11113,
1764
+ 11007,
1605
1765
  6368,
1606
- 11677
1766
+ 11664
1607
1767
  ],
1608
1768
  "name": "Products",
1609
- "scope": 11114
1769
+ "scope": 11008
1610
1770
  },
1611
1771
  "children": [
1612
1772
  {
@@ -1615,15 +1775,15 @@
1615
1775
  {
1616
1776
  "attributes": {
1617
1777
  "name": "VerifiedProducts",
1618
- "referencedDeclaration": 11677,
1778
+ "referencedDeclaration": 11664,
1619
1779
  "type": "contract VerifiedProducts"
1620
1780
  },
1621
- "id": 11005,
1781
+ "id": 10886,
1622
1782
  "name": "UserDefinedTypeName",
1623
1783
  "src": "286:16:39"
1624
1784
  }
1625
1785
  ],
1626
- "id": 11006,
1786
+ "id": 10887,
1627
1787
  "name": "InheritanceSpecifier",
1628
1788
  "src": "286:16:39"
1629
1789
  },
@@ -1636,12 +1796,12 @@
1636
1796
  "referencedDeclaration": 6368,
1637
1797
  "type": "contract Ownable"
1638
1798
  },
1639
- "id": 11007,
1799
+ "id": 10888,
1640
1800
  "name": "UserDefinedTypeName",
1641
1801
  "src": "304:7:39"
1642
1802
  }
1643
1803
  ],
1644
- "id": 11008,
1804
+ "id": 10889,
1645
1805
  "name": "InheritanceSpecifier",
1646
1806
  "src": "304:7:39"
1647
1807
  },
@@ -1650,7 +1810,7 @@
1650
1810
  "constant": false,
1651
1811
  "mutability": "mutable",
1652
1812
  "name": "issues",
1653
- "scope": 11113,
1813
+ "scope": 11007,
1654
1814
  "stateVariable": true,
1655
1815
  "storageLocation": "default",
1656
1816
  "type": "mapping(address => bytes32)",
@@ -1667,7 +1827,7 @@
1667
1827
  "name": "address",
1668
1828
  "type": "address"
1669
1829
  },
1670
- "id": 11009,
1830
+ "id": 10890,
1671
1831
  "name": "ElementaryTypeName",
1672
1832
  "src": "380:7:39"
1673
1833
  },
@@ -1676,17 +1836,17 @@
1676
1836
  "name": "bytes32",
1677
1837
  "type": "bytes32"
1678
1838
  },
1679
- "id": 11010,
1839
+ "id": 10891,
1680
1840
  "name": "ElementaryTypeName",
1681
1841
  "src": "391:7:39"
1682
1842
  }
1683
1843
  ],
1684
- "id": 11011,
1844
+ "id": 10892,
1685
1845
  "name": "Mapping",
1686
1846
  "src": "372:27:39"
1687
1847
  }
1688
1848
  ],
1689
- "id": 11012,
1849
+ "id": 10893,
1690
1850
  "name": "VariableDeclaration",
1691
1851
  "src": "372:42:39"
1692
1852
  },
@@ -1695,7 +1855,7 @@
1695
1855
  "constant": false,
1696
1856
  "mutability": "mutable",
1697
1857
  "name": "bridge",
1698
- "scope": 11113,
1858
+ "scope": 11007,
1699
1859
  "stateVariable": true,
1700
1860
  "storageLocation": "default",
1701
1861
  "type": "address",
@@ -1708,12 +1868,12 @@
1708
1868
  "stateMutability": "nonpayable",
1709
1869
  "type": "address"
1710
1870
  },
1711
- "id": 11013,
1871
+ "id": 10894,
1712
1872
  "name": "ElementaryTypeName",
1713
1873
  "src": "437:7:39"
1714
1874
  }
1715
1875
  ],
1716
- "id": 11014,
1876
+ "id": 10895,
1717
1877
  "name": "VariableDeclaration",
1718
1878
  "src": "437:14:39"
1719
1879
  },
@@ -1724,7 +1884,7 @@
1724
1884
  "isConstructor": false,
1725
1885
  "kind": "function",
1726
1886
  "name": "initialize",
1727
- "scope": 11113,
1887
+ "scope": 11007,
1728
1888
  "stateMutability": "nonpayable",
1729
1889
  "virtual": false,
1730
1890
  "visibility": "public"
@@ -1737,7 +1897,7 @@
1737
1897
  "constant": false,
1738
1898
  "mutability": "mutable",
1739
1899
  "name": "_signer",
1740
- "scope": 11026,
1900
+ "scope": 10907,
1741
1901
  "stateVariable": false,
1742
1902
  "storageLocation": "default",
1743
1903
  "type": "address",
@@ -1750,17 +1910,17 @@
1750
1910
  "stateMutability": "nonpayable",
1751
1911
  "type": "address"
1752
1912
  },
1753
- "id": 11015,
1913
+ "id": 10896,
1754
1914
  "name": "ElementaryTypeName",
1755
1915
  "src": "480:7:39"
1756
1916
  }
1757
1917
  ],
1758
- "id": 11016,
1918
+ "id": 10897,
1759
1919
  "name": "VariableDeclaration",
1760
1920
  "src": "480:15:39"
1761
1921
  }
1762
1922
  ],
1763
- "id": 11017,
1923
+ "id": 10898,
1764
1924
  "name": "ParameterList",
1765
1925
  "src": "479:17:39"
1766
1926
  },
@@ -1771,7 +1931,7 @@
1771
1931
  ]
1772
1932
  },
1773
1933
  "children": [],
1774
- "id": 11020,
1934
+ "id": 10901,
1775
1935
  "name": "ParameterList",
1776
1936
  "src": "514:0:39"
1777
1937
  },
@@ -1787,12 +1947,12 @@
1787
1947
  "type": "modifier ()",
1788
1948
  "value": "onlyOwner"
1789
1949
  },
1790
- "id": 11018,
1950
+ "id": 10899,
1791
1951
  "name": "Identifier",
1792
1952
  "src": "497:9:39"
1793
1953
  }
1794
1954
  ],
1795
- "id": 11019,
1955
+ "id": 10900,
1796
1956
  "name": "ModifierInvocation",
1797
1957
  "src": "497:9:39"
1798
1958
  },
@@ -1815,11 +1975,11 @@
1815
1975
  "overloadedDeclarations": [
1816
1976
  null
1817
1977
  ],
1818
- "referencedDeclaration": 11014,
1978
+ "referencedDeclaration": 10895,
1819
1979
  "type": "address",
1820
1980
  "value": "bridge"
1821
1981
  },
1822
- "id": 11021,
1982
+ "id": 10902,
1823
1983
  "name": "Identifier",
1824
1984
  "src": "525:6:39"
1825
1985
  },
@@ -1828,45 +1988,45 @@
1828
1988
  "overloadedDeclarations": [
1829
1989
  null
1830
1990
  ],
1831
- "referencedDeclaration": 11016,
1991
+ "referencedDeclaration": 10897,
1832
1992
  "type": "address",
1833
1993
  "value": "_signer"
1834
1994
  },
1835
- "id": 11022,
1995
+ "id": 10903,
1836
1996
  "name": "Identifier",
1837
1997
  "src": "534:7:39"
1838
1998
  }
1839
1999
  ],
1840
- "id": 11023,
2000
+ "id": 10904,
1841
2001
  "name": "Assignment",
1842
2002
  "src": "525:16:39"
1843
2003
  }
1844
2004
  ],
1845
- "id": 11024,
2005
+ "id": 10905,
1846
2006
  "name": "ExpressionStatement",
1847
2007
  "src": "525:16:39"
1848
2008
  }
1849
2009
  ],
1850
- "id": 11025,
2010
+ "id": 10906,
1851
2011
  "name": "Block",
1852
2012
  "src": "514:35:39"
1853
2013
  }
1854
2014
  ],
1855
- "id": 11026,
2015
+ "id": 10907,
1856
2016
  "name": "FunctionDefinition",
1857
2017
  "src": "460:89:39"
1858
2018
  },
1859
2019
  {
1860
2020
  "attributes": {
1861
2021
  "baseFunctions": [
1862
- 11676
2022
+ 11663
1863
2023
  ],
1864
2024
  "functionSelector": "6c19e783",
1865
2025
  "implemented": true,
1866
2026
  "isConstructor": false,
1867
2027
  "kind": "function",
1868
2028
  "name": "setSigner",
1869
- "scope": 11113,
2029
+ "scope": 11007,
1870
2030
  "stateMutability": "nonpayable",
1871
2031
  "virtual": false,
1872
2032
  "visibility": "external"
@@ -1878,7 +2038,7 @@
1878
2038
  null
1879
2039
  ]
1880
2040
  },
1881
- "id": 11032,
2041
+ "id": 10913,
1882
2042
  "name": "OverrideSpecifier",
1883
2043
  "src": "603:8:39"
1884
2044
  },
@@ -1889,7 +2049,7 @@
1889
2049
  "constant": false,
1890
2050
  "mutability": "mutable",
1891
2051
  "name": "_signer",
1892
- "scope": 11039,
2052
+ "scope": 10920,
1893
2053
  "stateVariable": false,
1894
2054
  "storageLocation": "default",
1895
2055
  "type": "address",
@@ -1902,17 +2062,17 @@
1902
2062
  "stateMutability": "nonpayable",
1903
2063
  "type": "address"
1904
2064
  },
1905
- "id": 11027,
2065
+ "id": 10908,
1906
2066
  "name": "ElementaryTypeName",
1907
2067
  "src": "576:7:39"
1908
2068
  }
1909
2069
  ],
1910
- "id": 11028,
2070
+ "id": 10909,
1911
2071
  "name": "VariableDeclaration",
1912
2072
  "src": "576:15:39"
1913
2073
  }
1914
2074
  ],
1915
- "id": 11029,
2075
+ "id": 10910,
1916
2076
  "name": "ParameterList",
1917
2077
  "src": "575:17:39"
1918
2078
  },
@@ -1923,7 +2083,7 @@
1923
2083
  ]
1924
2084
  },
1925
2085
  "children": [],
1926
- "id": 11033,
2086
+ "id": 10914,
1927
2087
  "name": "ParameterList",
1928
2088
  "src": "620:0:39"
1929
2089
  },
@@ -1939,12 +2099,12 @@
1939
2099
  "type": "modifier ()",
1940
2100
  "value": "onlyOwner"
1941
2101
  },
1942
- "id": 11030,
2102
+ "id": 10911,
1943
2103
  "name": "Identifier",
1944
2104
  "src": "593:9:39"
1945
2105
  }
1946
2106
  ],
1947
- "id": 11031,
2107
+ "id": 10912,
1948
2108
  "name": "ModifierInvocation",
1949
2109
  "src": "593:9:39"
1950
2110
  },
@@ -1967,11 +2127,11 @@
1967
2127
  "overloadedDeclarations": [
1968
2128
  null
1969
2129
  ],
1970
- "referencedDeclaration": 11014,
2130
+ "referencedDeclaration": 10895,
1971
2131
  "type": "address",
1972
2132
  "value": "bridge"
1973
2133
  },
1974
- "id": 11034,
2134
+ "id": 10915,
1975
2135
  "name": "Identifier",
1976
2136
  "src": "631:6:39"
1977
2137
  },
@@ -1980,38 +2140,38 @@
1980
2140
  "overloadedDeclarations": [
1981
2141
  null
1982
2142
  ],
1983
- "referencedDeclaration": 11028,
2143
+ "referencedDeclaration": 10909,
1984
2144
  "type": "address",
1985
2145
  "value": "_signer"
1986
2146
  },
1987
- "id": 11035,
2147
+ "id": 10916,
1988
2148
  "name": "Identifier",
1989
2149
  "src": "640:7:39"
1990
2150
  }
1991
2151
  ],
1992
- "id": 11036,
2152
+ "id": 10917,
1993
2153
  "name": "Assignment",
1994
2154
  "src": "631:16:39"
1995
2155
  }
1996
2156
  ],
1997
- "id": 11037,
2157
+ "id": 10918,
1998
2158
  "name": "ExpressionStatement",
1999
2159
  "src": "631:16:39"
2000
2160
  }
2001
2161
  ],
2002
- "id": 11038,
2162
+ "id": 10919,
2003
2163
  "name": "Block",
2004
2164
  "src": "620:35:39"
2005
2165
  }
2006
2166
  ],
2007
- "id": 11039,
2167
+ "id": 10920,
2008
2168
  "name": "FunctionDefinition",
2009
2169
  "src": "557:98:39"
2010
2170
  },
2011
2171
  {
2012
2172
  "attributes": {
2013
2173
  "baseFunctions": [
2014
- 11664
2174
+ 11644
2015
2175
  ],
2016
2176
  "functionSelector": "e45f837e",
2017
2177
  "implemented": true,
@@ -2021,7 +2181,7 @@
2021
2181
  null
2022
2182
  ],
2023
2183
  "name": "issueProduct",
2024
- "scope": 11113,
2184
+ "scope": 11007,
2025
2185
  "stateMutability": "nonpayable",
2026
2186
  "virtual": false,
2027
2187
  "visibility": "external"
@@ -2033,7 +2193,7 @@
2033
2193
  null
2034
2194
  ]
2035
2195
  },
2036
- "id": 11053,
2196
+ "id": 10934,
2037
2197
  "name": "OverrideSpecifier",
2038
2198
  "src": "804:8:39"
2039
2199
  },
@@ -2044,7 +2204,7 @@
2044
2204
  "constant": false,
2045
2205
  "mutability": "mutable",
2046
2206
  "name": "_issue",
2047
- "scope": 11093,
2207
+ "scope": 10974,
2048
2208
  "stateVariable": false,
2049
2209
  "storageLocation": "default",
2050
2210
  "type": "address",
@@ -2057,12 +2217,12 @@
2057
2217
  "stateMutability": "nonpayable",
2058
2218
  "type": "address"
2059
2219
  },
2060
- "id": 11040,
2220
+ "id": 10921,
2061
2221
  "name": "ElementaryTypeName",
2062
2222
  "src": "686:7:39"
2063
2223
  }
2064
2224
  ],
2065
- "id": 11041,
2225
+ "id": 10922,
2066
2226
  "name": "VariableDeclaration",
2067
2227
  "src": "686:14:39"
2068
2228
  },
@@ -2071,7 +2231,7 @@
2071
2231
  "constant": false,
2072
2232
  "mutability": "mutable",
2073
2233
  "name": "_ref",
2074
- "scope": 11093,
2234
+ "scope": 10974,
2075
2235
  "stateVariable": false,
2076
2236
  "storageLocation": "default",
2077
2237
  "type": "bytes32",
@@ -2083,12 +2243,12 @@
2083
2243
  "name": "bytes32",
2084
2244
  "type": "bytes32"
2085
2245
  },
2086
- "id": 11042,
2246
+ "id": 10923,
2087
2247
  "name": "ElementaryTypeName",
2088
2248
  "src": "702:7:39"
2089
2249
  }
2090
2250
  ],
2091
- "id": 11043,
2251
+ "id": 10924,
2092
2252
  "name": "VariableDeclaration",
2093
2253
  "src": "702:12:39"
2094
2254
  },
@@ -2097,7 +2257,7 @@
2097
2257
  "constant": false,
2098
2258
  "mutability": "mutable",
2099
2259
  "name": "_hashedMessage",
2100
- "scope": 11093,
2260
+ "scope": 10974,
2101
2261
  "stateVariable": false,
2102
2262
  "storageLocation": "default",
2103
2263
  "type": "bytes32",
@@ -2109,12 +2269,12 @@
2109
2269
  "name": "bytes32",
2110
2270
  "type": "bytes32"
2111
2271
  },
2112
- "id": 11044,
2272
+ "id": 10925,
2113
2273
  "name": "ElementaryTypeName",
2114
2274
  "src": "716:7:39"
2115
2275
  }
2116
2276
  ],
2117
- "id": 11045,
2277
+ "id": 10926,
2118
2278
  "name": "VariableDeclaration",
2119
2279
  "src": "716:22:39"
2120
2280
  },
@@ -2123,7 +2283,7 @@
2123
2283
  "constant": false,
2124
2284
  "mutability": "mutable",
2125
2285
  "name": "_v",
2126
- "scope": 11093,
2286
+ "scope": 10974,
2127
2287
  "stateVariable": false,
2128
2288
  "storageLocation": "default",
2129
2289
  "type": "uint8",
@@ -2135,12 +2295,12 @@
2135
2295
  "name": "uint8",
2136
2296
  "type": "uint8"
2137
2297
  },
2138
- "id": 11046,
2298
+ "id": 10927,
2139
2299
  "name": "ElementaryTypeName",
2140
2300
  "src": "740:5:39"
2141
2301
  }
2142
2302
  ],
2143
- "id": 11047,
2303
+ "id": 10928,
2144
2304
  "name": "VariableDeclaration",
2145
2305
  "src": "740:8:39"
2146
2306
  },
@@ -2149,7 +2309,7 @@
2149
2309
  "constant": false,
2150
2310
  "mutability": "mutable",
2151
2311
  "name": "_r",
2152
- "scope": 11093,
2312
+ "scope": 10974,
2153
2313
  "stateVariable": false,
2154
2314
  "storageLocation": "default",
2155
2315
  "type": "bytes32",
@@ -2161,12 +2321,12 @@
2161
2321
  "name": "bytes32",
2162
2322
  "type": "bytes32"
2163
2323
  },
2164
- "id": 11048,
2324
+ "id": 10929,
2165
2325
  "name": "ElementaryTypeName",
2166
2326
  "src": "750:7:39"
2167
2327
  }
2168
2328
  ],
2169
- "id": 11049,
2329
+ "id": 10930,
2170
2330
  "name": "VariableDeclaration",
2171
2331
  "src": "750:10:39"
2172
2332
  },
@@ -2175,7 +2335,7 @@
2175
2335
  "constant": false,
2176
2336
  "mutability": "mutable",
2177
2337
  "name": "_s",
2178
- "scope": 11093,
2338
+ "scope": 10974,
2179
2339
  "stateVariable": false,
2180
2340
  "storageLocation": "default",
2181
2341
  "type": "bytes32",
@@ -2187,17 +2347,17 @@
2187
2347
  "name": "bytes32",
2188
2348
  "type": "bytes32"
2189
2349
  },
2190
- "id": 11050,
2350
+ "id": 10931,
2191
2351
  "name": "ElementaryTypeName",
2192
2352
  "src": "762:7:39"
2193
2353
  }
2194
2354
  ],
2195
- "id": 11051,
2355
+ "id": 10932,
2196
2356
  "name": "VariableDeclaration",
2197
2357
  "src": "762:10:39"
2198
2358
  }
2199
2359
  ],
2200
- "id": 11052,
2360
+ "id": 10933,
2201
2361
  "name": "ParameterList",
2202
2362
  "src": "685:88:39"
2203
2363
  },
@@ -2208,7 +2368,7 @@
2208
2368
  ]
2209
2369
  },
2210
2370
  "children": [],
2211
- "id": 11054,
2371
+ "id": 10935,
2212
2372
  "name": "ParameterList",
2213
2373
  "src": "822:0:39"
2214
2374
  },
@@ -2217,7 +2377,7 @@
2217
2377
  {
2218
2378
  "attributes": {
2219
2379
  "assignments": [
2220
- 11056
2380
+ 10937
2221
2381
  ]
2222
2382
  },
2223
2383
  "children": [
@@ -2226,7 +2386,7 @@
2226
2386
  "constant": false,
2227
2387
  "mutability": "mutable",
2228
2388
  "name": "payloadHash",
2229
- "scope": 11092,
2389
+ "scope": 10973,
2230
2390
  "stateVariable": false,
2231
2391
  "storageLocation": "default",
2232
2392
  "type": "bytes32",
@@ -2238,12 +2398,12 @@
2238
2398
  "name": "bytes32",
2239
2399
  "type": "bytes32"
2240
2400
  },
2241
- "id": 11055,
2401
+ "id": 10936,
2242
2402
  "name": "ElementaryTypeName",
2243
2403
  "src": "833:7:39"
2244
2404
  }
2245
2405
  ],
2246
- "id": 11056,
2406
+ "id": 10937,
2247
2407
  "name": "VariableDeclaration",
2248
2408
  "src": "833:19:39"
2249
2409
  },
@@ -2277,7 +2437,7 @@
2277
2437
  "type": "function (bytes memory) pure returns (bytes32)",
2278
2438
  "value": "keccak256"
2279
2439
  },
2280
- "id": 11057,
2440
+ "id": 10938,
2281
2441
  "name": "Identifier",
2282
2442
  "src": "855:9:39"
2283
2443
  },
@@ -2325,12 +2485,12 @@
2325
2485
  "type": "abi",
2326
2486
  "value": "abi"
2327
2487
  },
2328
- "id": 11058,
2488
+ "id": 10939,
2329
2489
  "name": "Identifier",
2330
2490
  "src": "865:3:39"
2331
2491
  }
2332
2492
  ],
2333
- "id": 11059,
2493
+ "id": 10940,
2334
2494
  "name": "MemberAccess",
2335
2495
  "src": "865:10:39"
2336
2496
  },
@@ -2339,11 +2499,11 @@
2339
2499
  "overloadedDeclarations": [
2340
2500
  null
2341
2501
  ],
2342
- "referencedDeclaration": 11045,
2502
+ "referencedDeclaration": 10926,
2343
2503
  "type": "bytes32",
2344
2504
  "value": "_hashedMessage"
2345
2505
  },
2346
- "id": 11060,
2506
+ "id": 10941,
2347
2507
  "name": "Identifier",
2348
2508
  "src": "876:14:39"
2349
2509
  },
@@ -2358,29 +2518,29 @@
2358
2518
  "type": "literal_string \"L2toL1\"",
2359
2519
  "value": "L2toL1"
2360
2520
  },
2361
- "id": 11061,
2521
+ "id": 10942,
2362
2522
  "name": "Literal",
2363
2523
  "src": "892:8:39"
2364
2524
  }
2365
2525
  ],
2366
- "id": 11062,
2526
+ "id": 10943,
2367
2527
  "name": "FunctionCall",
2368
2528
  "src": "865:36:39"
2369
2529
  }
2370
2530
  ],
2371
- "id": 11063,
2531
+ "id": 10944,
2372
2532
  "name": "FunctionCall",
2373
2533
  "src": "855:47:39"
2374
2534
  }
2375
2535
  ],
2376
- "id": 11064,
2536
+ "id": 10945,
2377
2537
  "name": "VariableDeclarationStatement",
2378
2538
  "src": "833:69:39"
2379
2539
  },
2380
2540
  {
2381
2541
  "attributes": {
2382
2542
  "assignments": [
2383
- 11066
2543
+ 10947
2384
2544
  ]
2385
2545
  },
2386
2546
  "children": [
@@ -2389,7 +2549,7 @@
2389
2549
  "constant": false,
2390
2550
  "mutability": "mutable",
2391
2551
  "name": "messageHash",
2392
- "scope": 11092,
2552
+ "scope": 10973,
2393
2553
  "stateVariable": false,
2394
2554
  "storageLocation": "default",
2395
2555
  "type": "bytes32",
@@ -2401,12 +2561,12 @@
2401
2561
  "name": "bytes32",
2402
2562
  "type": "bytes32"
2403
2563
  },
2404
- "id": 11065,
2564
+ "id": 10946,
2405
2565
  "name": "ElementaryTypeName",
2406
2566
  "src": "913:7:39"
2407
2567
  }
2408
2568
  ],
2409
- "id": 11066,
2569
+ "id": 10947,
2410
2570
  "name": "VariableDeclaration",
2411
2571
  "src": "913:19:39"
2412
2572
  },
@@ -2440,7 +2600,7 @@
2440
2600
  "type": "function (bytes memory) pure returns (bytes32)",
2441
2601
  "value": "keccak256"
2442
2602
  },
2443
- "id": 11067,
2603
+ "id": 10948,
2444
2604
  "name": "Identifier",
2445
2605
  "src": "935:9:39"
2446
2606
  },
@@ -2488,12 +2648,12 @@
2488
2648
  "type": "abi",
2489
2649
  "value": "abi"
2490
2650
  },
2491
- "id": 11068,
2651
+ "id": 10949,
2492
2652
  "name": "Identifier",
2493
2653
  "src": "945:3:39"
2494
2654
  }
2495
2655
  ],
2496
- "id": 11069,
2656
+ "id": 10950,
2497
2657
  "name": "MemberAccess",
2498
2658
  "src": "945:16:39"
2499
2659
  },
@@ -2508,7 +2668,7 @@
2508
2668
  "type": "literal_string \"\u0019Ethereum Signed Message:\n32\"",
2509
2669
  "value": "\u0019Ethereum Signed Message:\n32"
2510
2670
  },
2511
- "id": 11070,
2671
+ "id": 10951,
2512
2672
  "name": "Literal",
2513
2673
  "src": "962:34:39"
2514
2674
  },
@@ -2517,26 +2677,26 @@
2517
2677
  "overloadedDeclarations": [
2518
2678
  null
2519
2679
  ],
2520
- "referencedDeclaration": 11056,
2680
+ "referencedDeclaration": 10937,
2521
2681
  "type": "bytes32",
2522
2682
  "value": "payloadHash"
2523
2683
  },
2524
- "id": 11071,
2684
+ "id": 10952,
2525
2685
  "name": "Identifier",
2526
2686
  "src": "998:11:39"
2527
2687
  }
2528
2688
  ],
2529
- "id": 11072,
2689
+ "id": 10953,
2530
2690
  "name": "FunctionCall",
2531
2691
  "src": "945:65:39"
2532
2692
  }
2533
2693
  ],
2534
- "id": 11073,
2694
+ "id": 10954,
2535
2695
  "name": "FunctionCall",
2536
2696
  "src": "935:76:39"
2537
2697
  }
2538
2698
  ],
2539
- "id": 11074,
2699
+ "id": 10955,
2540
2700
  "name": "VariableDeclarationStatement",
2541
2701
  "src": "913:98:39"
2542
2702
  },
@@ -2573,7 +2733,7 @@
2573
2733
  "type": "function (bool) pure",
2574
2734
  "value": "require"
2575
2735
  },
2576
- "id": 11075,
2736
+ "id": 10956,
2577
2737
  "name": "Identifier",
2578
2738
  "src": "1022:7:39"
2579
2739
  },
@@ -2633,7 +2793,7 @@
2633
2793
  "type": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)",
2634
2794
  "value": "ecrecover"
2635
2795
  },
2636
- "id": 11076,
2796
+ "id": 10957,
2637
2797
  "name": "Identifier",
2638
2798
  "src": "1030:9:39"
2639
2799
  },
@@ -2642,11 +2802,11 @@
2642
2802
  "overloadedDeclarations": [
2643
2803
  null
2644
2804
  ],
2645
- "referencedDeclaration": 11066,
2805
+ "referencedDeclaration": 10947,
2646
2806
  "type": "bytes32",
2647
2807
  "value": "messageHash"
2648
2808
  },
2649
- "id": 11077,
2809
+ "id": 10958,
2650
2810
  "name": "Identifier",
2651
2811
  "src": "1040:11:39"
2652
2812
  },
@@ -2655,11 +2815,11 @@
2655
2815
  "overloadedDeclarations": [
2656
2816
  null
2657
2817
  ],
2658
- "referencedDeclaration": 11047,
2818
+ "referencedDeclaration": 10928,
2659
2819
  "type": "uint8",
2660
2820
  "value": "_v"
2661
2821
  },
2662
- "id": 11078,
2822
+ "id": 10959,
2663
2823
  "name": "Identifier",
2664
2824
  "src": "1053:2:39"
2665
2825
  },
@@ -2668,11 +2828,11 @@
2668
2828
  "overloadedDeclarations": [
2669
2829
  null
2670
2830
  ],
2671
- "referencedDeclaration": 11049,
2831
+ "referencedDeclaration": 10930,
2672
2832
  "type": "bytes32",
2673
2833
  "value": "_r"
2674
2834
  },
2675
- "id": 11079,
2835
+ "id": 10960,
2676
2836
  "name": "Identifier",
2677
2837
  "src": "1057:2:39"
2678
2838
  },
@@ -2681,16 +2841,16 @@
2681
2841
  "overloadedDeclarations": [
2682
2842
  null
2683
2843
  ],
2684
- "referencedDeclaration": 11051,
2844
+ "referencedDeclaration": 10932,
2685
2845
  "type": "bytes32",
2686
2846
  "value": "_s"
2687
2847
  },
2688
- "id": 11080,
2848
+ "id": 10961,
2689
2849
  "name": "Identifier",
2690
2850
  "src": "1061:2:39"
2691
2851
  }
2692
2852
  ],
2693
- "id": 11081,
2853
+ "id": 10962,
2694
2854
  "name": "FunctionCall",
2695
2855
  "src": "1030:34:39"
2696
2856
  },
@@ -2699,26 +2859,26 @@
2699
2859
  "overloadedDeclarations": [
2700
2860
  null
2701
2861
  ],
2702
- "referencedDeclaration": 11014,
2862
+ "referencedDeclaration": 10895,
2703
2863
  "type": "address",
2704
2864
  "value": "bridge"
2705
2865
  },
2706
- "id": 11082,
2866
+ "id": 10963,
2707
2867
  "name": "Identifier",
2708
2868
  "src": "1067:6:39"
2709
2869
  }
2710
2870
  ],
2711
- "id": 11083,
2871
+ "id": 10964,
2712
2872
  "name": "BinaryOperation",
2713
2873
  "src": "1030:43:39"
2714
2874
  }
2715
2875
  ],
2716
- "id": 11084,
2876
+ "id": 10965,
2717
2877
  "name": "FunctionCall",
2718
2878
  "src": "1022:52:39"
2719
2879
  }
2720
2880
  ],
2721
- "id": 11085,
2881
+ "id": 10966,
2722
2882
  "name": "ExpressionStatement",
2723
2883
  "src": "1022:52:39"
2724
2884
  },
@@ -2748,11 +2908,11 @@
2748
2908
  "overloadedDeclarations": [
2749
2909
  null
2750
2910
  ],
2751
- "referencedDeclaration": 11012,
2911
+ "referencedDeclaration": 10893,
2752
2912
  "type": "mapping(address => bytes32)",
2753
2913
  "value": "issues"
2754
2914
  },
2755
- "id": 11086,
2915
+ "id": 10967,
2756
2916
  "name": "Identifier",
2757
2917
  "src": "1085:6:39"
2758
2918
  },
@@ -2761,16 +2921,16 @@
2761
2921
  "overloadedDeclarations": [
2762
2922
  null
2763
2923
  ],
2764
- "referencedDeclaration": 11041,
2924
+ "referencedDeclaration": 10922,
2765
2925
  "type": "address",
2766
2926
  "value": "_issue"
2767
2927
  },
2768
- "id": 11087,
2928
+ "id": 10968,
2769
2929
  "name": "Identifier",
2770
2930
  "src": "1092:6:39"
2771
2931
  }
2772
2932
  ],
2773
- "id": 11088,
2933
+ "id": 10969,
2774
2934
  "name": "IndexAccess",
2775
2935
  "src": "1085:14:39"
2776
2936
  },
@@ -2779,38 +2939,38 @@
2779
2939
  "overloadedDeclarations": [
2780
2940
  null
2781
2941
  ],
2782
- "referencedDeclaration": 11043,
2942
+ "referencedDeclaration": 10924,
2783
2943
  "type": "bytes32",
2784
2944
  "value": "_ref"
2785
2945
  },
2786
- "id": 11089,
2946
+ "id": 10970,
2787
2947
  "name": "Identifier",
2788
2948
  "src": "1102:4:39"
2789
2949
  }
2790
2950
  ],
2791
- "id": 11090,
2951
+ "id": 10971,
2792
2952
  "name": "Assignment",
2793
2953
  "src": "1085:21:39"
2794
2954
  }
2795
2955
  ],
2796
- "id": 11091,
2956
+ "id": 10972,
2797
2957
  "name": "ExpressionStatement",
2798
2958
  "src": "1085:21:39"
2799
2959
  }
2800
2960
  ],
2801
- "id": 11092,
2961
+ "id": 10973,
2802
2962
  "name": "Block",
2803
2963
  "src": "822:292:39"
2804
2964
  }
2805
2965
  ],
2806
- "id": 11093,
2966
+ "id": 10974,
2807
2967
  "name": "FunctionDefinition",
2808
2968
  "src": "664:450:39"
2809
2969
  },
2810
2970
  {
2811
2971
  "attributes": {
2812
2972
  "baseFunctions": [
2813
- 11671
2973
+ 11651
2814
2974
  ],
2815
2975
  "functionSelector": "3ea6c82d",
2816
2976
  "implemented": true,
@@ -2820,7 +2980,7 @@
2820
2980
  null
2821
2981
  ],
2822
2982
  "name": "checkProduct",
2823
- "scope": 11113,
2983
+ "scope": 11007,
2824
2984
  "stateMutability": "view",
2825
2985
  "virtual": false,
2826
2986
  "visibility": "external"
@@ -2832,7 +2992,7 @@
2832
2992
  null
2833
2993
  ]
2834
2994
  },
2835
- "id": 11097,
2995
+ "id": 10978,
2836
2996
  "name": "OverrideSpecifier",
2837
2997
  "src": "1191:8:39"
2838
2998
  },
@@ -2843,7 +3003,7 @@
2843
3003
  "constant": false,
2844
3004
  "mutability": "mutable",
2845
3005
  "name": "_issue",
2846
- "scope": 11112,
3006
+ "scope": 10993,
2847
3007
  "stateVariable": false,
2848
3008
  "storageLocation": "default",
2849
3009
  "type": "address",
@@ -2856,17 +3016,17 @@
2856
3016
  "stateMutability": "nonpayable",
2857
3017
  "type": "address"
2858
3018
  },
2859
- "id": 11094,
3019
+ "id": 10975,
2860
3020
  "name": "ElementaryTypeName",
2861
3021
  "src": "1145:7:39"
2862
3022
  }
2863
3023
  ],
2864
- "id": 11095,
3024
+ "id": 10976,
2865
3025
  "name": "VariableDeclaration",
2866
3026
  "src": "1145:14:39"
2867
3027
  }
2868
3028
  ],
2869
- "id": 11096,
3029
+ "id": 10977,
2870
3030
  "name": "ParameterList",
2871
3031
  "src": "1144:16:39"
2872
3032
  },
@@ -2877,7 +3037,7 @@
2877
3037
  "constant": false,
2878
3038
  "mutability": "mutable",
2879
3039
  "name": "",
2880
- "scope": 11112,
3040
+ "scope": 10993,
2881
3041
  "stateVariable": false,
2882
3042
  "storageLocation": "default",
2883
3043
  "type": "bool",
@@ -2889,17 +3049,17 @@
2889
3049
  "name": "bool",
2890
3050
  "type": "bool"
2891
3051
  },
2892
- "id": 11098,
3052
+ "id": 10979,
2893
3053
  "name": "ElementaryTypeName",
2894
3054
  "src": "1222:4:39"
2895
3055
  }
2896
3056
  ],
2897
- "id": 11099,
3057
+ "id": 10980,
2898
3058
  "name": "VariableDeclaration",
2899
3059
  "src": "1222:4:39"
2900
3060
  }
2901
3061
  ],
2902
- "id": 11100,
3062
+ "id": 10981,
2903
3063
  "name": "ParameterList",
2904
3064
  "src": "1221:6:39"
2905
3065
  },
@@ -2935,11 +3095,11 @@
2935
3095
  "overloadedDeclarations": [
2936
3096
  null
2937
3097
  ],
2938
- "referencedDeclaration": 11012,
3098
+ "referencedDeclaration": 10893,
2939
3099
  "type": "mapping(address => bytes32)",
2940
3100
  "value": "issues"
2941
3101
  },
2942
- "id": 11101,
3102
+ "id": 10982,
2943
3103
  "name": "Identifier",
2944
3104
  "src": "1241:6:39"
2945
3105
  },
@@ -2948,16 +3108,16 @@
2948
3108
  "overloadedDeclarations": [
2949
3109
  null
2950
3110
  ],
2951
- "referencedDeclaration": 11095,
3111
+ "referencedDeclaration": 10976,
2952
3112
  "type": "address",
2953
3113
  "value": "_issue"
2954
3114
  },
2955
- "id": 11102,
3115
+ "id": 10983,
2956
3116
  "name": "Identifier",
2957
3117
  "src": "1248:6:39"
2958
3118
  }
2959
3119
  ],
2960
- "id": 11103,
3120
+ "id": 10984,
2961
3121
  "name": "IndexAccess",
2962
3122
  "src": "1241:14:39"
2963
3123
  },
@@ -2972,18 +3132,18 @@
2972
3132
  "type": "literal_string \"\"",
2973
3133
  "value": ""
2974
3134
  },
2975
- "id": 11104,
3135
+ "id": 10985,
2976
3136
  "name": "Literal",
2977
3137
  "src": "1257:2:39"
2978
3138
  }
2979
3139
  ],
2980
- "id": 11105,
3140
+ "id": 10986,
2981
3141
  "name": "BinaryOperation",
2982
3142
  "src": "1241:18:39"
2983
3143
  },
2984
3144
  {
2985
3145
  "attributes": {
2986
- "functionReturnParameters": 11100
3146
+ "functionReturnParameters": 10981
2987
3147
  },
2988
3148
  "children": [
2989
3149
  {
@@ -2997,18 +3157,18 @@
2997
3157
  "type": "bool",
2998
3158
  "value": "true"
2999
3159
  },
3000
- "id": 11106,
3160
+ "id": 10987,
3001
3161
  "name": "Literal",
3002
3162
  "src": "1281:4:39"
3003
3163
  }
3004
3164
  ],
3005
- "id": 11107,
3165
+ "id": 10988,
3006
3166
  "name": "Return",
3007
3167
  "src": "1274:11:39"
3008
3168
  },
3009
3169
  {
3010
3170
  "attributes": {
3011
- "functionReturnParameters": 11100
3171
+ "functionReturnParameters": 10981
3012
3172
  },
3013
3173
  "children": [
3014
3174
  {
@@ -3022,39 +3182,197 @@
3022
3182
  "type": "bool",
3023
3183
  "value": "false"
3024
3184
  },
3025
- "id": 11108,
3185
+ "id": 10989,
3026
3186
  "name": "Literal",
3027
3187
  "src": "1321:5:39"
3028
3188
  }
3029
3189
  ],
3030
- "id": 11109,
3190
+ "id": 10990,
3031
3191
  "name": "Return",
3032
3192
  "src": "1314:12:39"
3033
3193
  }
3034
3194
  ],
3035
- "id": 11110,
3195
+ "id": 10991,
3036
3196
  "name": "IfStatement",
3037
3197
  "src": "1238:88:39"
3038
3198
  }
3039
3199
  ],
3040
- "id": 11111,
3200
+ "id": 10992,
3041
3201
  "name": "Block",
3042
3202
  "src": "1227:107:39"
3043
3203
  }
3044
3204
  ],
3045
- "id": 11112,
3205
+ "id": 10993,
3046
3206
  "name": "FunctionDefinition",
3047
3207
  "src": "1123:211:39"
3208
+ },
3209
+ {
3210
+ "attributes": {
3211
+ "baseFunctions": [
3212
+ 11658
3213
+ ],
3214
+ "functionSelector": "ab3b2ab5",
3215
+ "implemented": true,
3216
+ "isConstructor": false,
3217
+ "kind": "function",
3218
+ "modifiers": [
3219
+ null
3220
+ ],
3221
+ "name": "getProductReference",
3222
+ "scope": 11007,
3223
+ "stateMutability": "view",
3224
+ "virtual": false,
3225
+ "visibility": "external"
3226
+ },
3227
+ "children": [
3228
+ {
3229
+ "attributes": {
3230
+ "overrides": [
3231
+ null
3232
+ ]
3233
+ },
3234
+ "id": 10997,
3235
+ "name": "OverrideSpecifier",
3236
+ "src": "1387:8:39"
3237
+ },
3238
+ {
3239
+ "children": [
3240
+ {
3241
+ "attributes": {
3242
+ "constant": false,
3243
+ "mutability": "mutable",
3244
+ "name": "_issue",
3245
+ "scope": 11006,
3246
+ "stateVariable": false,
3247
+ "storageLocation": "default",
3248
+ "type": "address",
3249
+ "visibility": "internal"
3250
+ },
3251
+ "children": [
3252
+ {
3253
+ "attributes": {
3254
+ "name": "address",
3255
+ "stateMutability": "nonpayable",
3256
+ "type": "address"
3257
+ },
3258
+ "id": 10994,
3259
+ "name": "ElementaryTypeName",
3260
+ "src": "1371:7:39"
3261
+ }
3262
+ ],
3263
+ "id": 10995,
3264
+ "name": "VariableDeclaration",
3265
+ "src": "1371:14:39"
3266
+ }
3267
+ ],
3268
+ "id": 10996,
3269
+ "name": "ParameterList",
3270
+ "src": "1370:16:39"
3271
+ },
3272
+ {
3273
+ "children": [
3274
+ {
3275
+ "attributes": {
3276
+ "constant": false,
3277
+ "mutability": "mutable",
3278
+ "name": "",
3279
+ "scope": 11006,
3280
+ "stateVariable": false,
3281
+ "storageLocation": "default",
3282
+ "type": "bytes32",
3283
+ "visibility": "internal"
3284
+ },
3285
+ "children": [
3286
+ {
3287
+ "attributes": {
3288
+ "name": "bytes32",
3289
+ "type": "bytes32"
3290
+ },
3291
+ "id": 10998,
3292
+ "name": "ElementaryTypeName",
3293
+ "src": "1418:7:39"
3294
+ }
3295
+ ],
3296
+ "id": 10999,
3297
+ "name": "VariableDeclaration",
3298
+ "src": "1418:7:39"
3299
+ }
3300
+ ],
3301
+ "id": 11000,
3302
+ "name": "ParameterList",
3303
+ "src": "1417:9:39"
3304
+ },
3305
+ {
3306
+ "children": [
3307
+ {
3308
+ "attributes": {
3309
+ "functionReturnParameters": 11000
3310
+ },
3311
+ "children": [
3312
+ {
3313
+ "attributes": {
3314
+ "isConstant": false,
3315
+ "isLValue": true,
3316
+ "isPure": false,
3317
+ "lValueRequested": false,
3318
+ "type": "bytes32"
3319
+ },
3320
+ "children": [
3321
+ {
3322
+ "attributes": {
3323
+ "overloadedDeclarations": [
3324
+ null
3325
+ ],
3326
+ "referencedDeclaration": 10893,
3327
+ "type": "mapping(address => bytes32)",
3328
+ "value": "issues"
3329
+ },
3330
+ "id": 11001,
3331
+ "name": "Identifier",
3332
+ "src": "1444:6:39"
3333
+ },
3334
+ {
3335
+ "attributes": {
3336
+ "overloadedDeclarations": [
3337
+ null
3338
+ ],
3339
+ "referencedDeclaration": 10995,
3340
+ "type": "address",
3341
+ "value": "_issue"
3342
+ },
3343
+ "id": 11002,
3344
+ "name": "Identifier",
3345
+ "src": "1451:6:39"
3346
+ }
3347
+ ],
3348
+ "id": 11003,
3349
+ "name": "IndexAccess",
3350
+ "src": "1444:14:39"
3351
+ }
3352
+ ],
3353
+ "id": 11004,
3354
+ "name": "Return",
3355
+ "src": "1437:21:39"
3356
+ }
3357
+ ],
3358
+ "id": 11005,
3359
+ "name": "Block",
3360
+ "src": "1426:40:39"
3361
+ }
3362
+ ],
3363
+ "id": 11006,
3364
+ "name": "FunctionDefinition",
3365
+ "src": "1342:124:39"
3048
3366
  }
3049
3367
  ],
3050
- "id": 11113,
3368
+ "id": 11007,
3051
3369
  "name": "ContractDefinition",
3052
- "src": "265:1074:39"
3370
+ "src": "265:1206:39"
3053
3371
  }
3054
3372
  ],
3055
- "id": 11114,
3373
+ "id": 11008,
3056
3374
  "name": "SourceUnit",
3057
- "src": "112:1227:39"
3375
+ "src": "112:1359:39"
3058
3376
  },
3059
3377
  "compiler": {
3060
3378
  "name": "solc",
@@ -3064,12 +3382,12 @@
3064
3382
  "5": {
3065
3383
  "events": {},
3066
3384
  "links": {},
3067
- "address": "0x812cD96Bd1D9C35EaCD3F09Dc504B2d30e63EFe5",
3068
- "transactionHash": "0xcef7a8e9078f8441e51b46414e4ceea5a9035646de4ac3d70a03313a9e685eeb"
3385
+ "address": "0xdC51E8b0BaE85B134FfAf1E2a1d3ABdE14eF4927",
3386
+ "transactionHash": "0x64590ec6f40e0145ad11f6d8df25b6e34347bc307507364789e0fc59acadef7a"
3069
3387
  }
3070
3388
  },
3071
3389
  "schemaVersion": "3.4.3",
3072
- "updatedAt": "2022-06-02T10:26:48.277Z",
3390
+ "updatedAt": "2022-06-12T21:03:06.039Z",
3073
3391
  "networkType": "ethereum",
3074
3392
  "devdoc": {
3075
3393
  "kind": "dev",