{"_id":"@gnosis.pm/mock-contract","_rev":"28-bfdf9f79c9ab5330c6e5aad9699e77ce","name":"@gnosis.pm/mock-contract","dist-tags":{"latest":"4.0.0"},"versions":{"1.0.0":{"name":"@gnosis.pm/mock-contract","version":"1.0.0","description":"Simple Solidity contract to mock dependent contracts in truffle tests.","main":"truffle-config.js","directories":{"test":"test"},"scripts":{"test":"truffle test"},"keywords":["solidity","mock","unit-testing","ethereum","truffle","stub","contract"],"author":{"name":"Felix Leupold"},"license":"ISC","dependencies":{"ethereumjs-abi":"^0.6.5"},"gitHead":"a4921572508f2e5d261c032794deaf31da4ab797","_id":"@gnosis.pm/mock-contract@1.0.0","_npmVersion":"6.2.0","_nodeVersion":"10.7.0","_npmUser":{"name":"fleupold","email":"felix@gnosis.pm"},"dist":{"integrity":"sha512-PBQ2jvB2a0Ltx1n3gtolycN8/ZyRXBGMxlzavsw52MjBoNv4wrzQBNNjzRxHl0/5jbr0wZrBT/haBKTy4qvf8Q==","shasum":"ea05f64e27a95286ddf7187e9af34497687d719d","tarball":"https://registry.npmjs.org/@gnosis.pm/mock-contract/-/mock-contract-1.0.0.tgz","fileCount":6,"unpackedSize":5204,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbjoz7CRA9TVsSAnZWagAAzQMP/R2GV1UAqcpiQfzOeVqv\nmMb2GFWbStJPRatZwK6vA2wd5O4I7K7lw9yl87mE/utScqjfoNsBT8KMbiCb\nLGpb3KwvHxW3kbTFDzcCQ5xMkrJzhM87NdT1leDEM9+5Y+3p0MUyMQE5wKBc\nvb0dxBwcwqp/sHjYrreikdy82CLee1MRAzWgc188adjUAglSz8zp1L4JD805\nrcmTo4epBb8O1HOtdxc6rnFbi2/s5lxsqBRrYwndx2FrY/tR9KXMiVVybV8z\ngppA/LH9LZZxzct0Wq+fkufNOi1ZM2BZ2k9a3d6sLP8qMPieoB6P8N1QbGWH\niX3ydOk2P8YJu2rd/YLtpACF9bCkIdwPe2FV9AzFkIln2kgTY3QBgF+5/8ru\n84mE5xIi2+T3dv1w6U674yzRBFQXqJ1l55KOz3fskafMwP8ZQ2/OeVw/1ZN/\nCS0zTjIRVtcfbb4MVCBwSrGuYMi7VnvgbGX6J5yIXoZPzhjL22cz85cUoXUd\nOvEpOh/JjfjI864V46klQ35dL5PiwY44f/e5NncC1NEDTP1Yn0Hxll2azFkN\njWK+5uv2vnGbeHua2c914whnGMwpdZCm4GA7IPG+v7ydDA4icIkUrzbhJXSr\nxtWBhxqwuekNYtIPG64xRgL0spzA3B6ASQlB9k6JBkB3ig2ySAOuEiftsKI3\nwO/o\r\n=jKrA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC8BztqAGgpGULeC54d6ADP4Elj6A7tAANHCRLaXJkjnwIhAO5d1sxSegcI1uxfo46cotjq9e4Y6y5hKrUFGmLfcQEO"}]},"maintainers":[{"name":"alanlu1023","email":"alanlu1023@gmail.com"},{"name":"anxolin","email":"anxolin@gmail.com"},{"name":"dasanra","email":"dasanra@hotmail.com"},{"name":"denisgranha","email":"denisgranha@gmail.com"},{"name":"dteiml","email":"dteiml@gmail.com"},{"name":"fleupold","email":"felix@gnosis.pm"},{"name":"infinitestyles","email":"AntonVS.Professional@gmail.com"},{"name":"josojo","email":"josojo@hotmail.de"},{"name":"stefan.george","email":"stefan.david.george@gmail.com"},{"name":"w3stside","email":"doohhello@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mock-contract_1.0.0_1536068858372_0.4528981279758011"},"_hasShrinkwrap":false},"1.0.1":{"name":"@gnosis.pm/mock-contract","version":"1.0.1","description":"Simple Solidity contract to mock dependent contracts in truffle tests.","main":"truffle-config.js","scripts":{"test-norpc":"truffle test","test":"run-with-testrpc -l 20000000 --noVMErrorsOnRPCResponse true 'truffle test'"},"keywords":["solidity","mock","unit-testing","ethereum","truffle","stub","contract"],"author":{"name":"Felix Leupold"},"license":"ISC","devDependencies":{"run-with-testrpc":"^0.3.0","truffle":"4.1.14"},"dependencies":{"ethereumjs-abi":"^0.6.5"},"gitHead":"993186dc09bb7b2273b51526bbb46eaad1cafeb7","_id":"@gnosis.pm/mock-contract@1.0.1","_npmVersion":"6.2.0","_nodeVersion":"10.7.0","_npmUser":{"name":"fleupold","email":"felix@gnosis.pm"},"dist":{"integrity":"sha512-XkqDBpdsbEuNhYc1/PrfOh4pluAE1tnYRfiY8Er2dNAXG2FEEFXqCoLjZYrhgSy0zVgtIKO/b7P6fWB5RLLGzg==","shasum":"49bf5a9134022863fa3967d96cf0fb737699d99c","tarball":"https://registry.npmjs.org/@gnosis.pm/mock-contract/-/mock-contract-1.0.1.tgz","fileCount":7,"unpackedSize":19688,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbkUVrCRA9TVsSAnZWagAA4HAP/R+PJ7k5IAHGwjWokkEf\n9X98eJG/8Tc3QZft5hQsgYofApRFNvMtU7IkwvaEcJ3r1wa8peVs2qN4UrHM\nxM0Bjd2WMSZYn/O6LPI86oZ3y9xYy2MQiZGN3YefhEJ+SGMivaEloUsWPLbE\nFP7vGWvnSs6oqMFoTCzMCrAIi/WPOFfxLWsy52Kx8RbXSGu1rqv8T0CX5/Kx\n4jXxIAKNYxdaToklZSrL/eTdv7qvxhqJBHZrkXka1fGoDkqObRiV6SHd/GDp\ntMKgf7erqT17R2AStubYbsSPFYMkf2p4h4yn/AuSXfRm/K+8lf7LJjLTWoDE\nlyhjewg0kperf/FYvab50bx+SR4EogyAugxn3dT+FpMpvEedQfJBhNFYtRdX\n7t48VtNKsILNEmcqdtCqT/dlEy6FWJmsh+lznLddYWYgBP+SK9ysFYh0qun/\nzG/NwUrPGDxKooAf5teCNrxPedFwV0SHP6q0RS0UwNOuV9/kIvsYu1CBMOdj\n0BO14oLyc5dzT3GiPabZBE2QW0Uw9sXTkCwZSS/a4Jo92WSPJgnhB7dbpwka\nlU5MXVgG6r8dosR8Wwl/rNaW33CSIOQemWEDy261DpNm8FG9gKwyVRFkKfdD\ny89Zrop7lvC0TS87aIgiLkdtXO2xAXvN8cryj+/36RJRgPCfJo8Fkc+9Ve1+\nbfY+\r\n=x2NA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHP8pWtvyC7TVWlcBDmeKTSbxA/vM89/knZoBkCOSiZfAiBttTlTwT6zW+margX0kdkGqhzB4YCzeJeSIutI+spKYg=="}]},"maintainers":[{"email":"alanlu1023@gmail.com","name":"alanlu1023"},{"email":"anxolin@gmail.com","name":"anxolin"},{"email":"dasanra@hotmail.com","name":"dasanra"},{"email":"denisgranha@gmail.com","name":"denisgranha"},{"email":"dteiml@gmail.com","name":"dteiml"},{"email":"felix@gnosis.pm","name":"fleupold"},{"email":"AntonVS.Professional@gmail.com","name":"infinitestyles"},{"email":"josojo@hotmail.de","name":"josojo"},{"email":"richard@gnosis.pm","name":"rmeissner"},{"email":"stefan.david.george@gmail.com","name":"stefan.george"},{"email":"doohhello@gmail.com","name":"w3stside"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mock-contract_1.0.1_1536247146785_0.3781236130301129"},"_hasShrinkwrap":false},"2.0.0":{"name":"@gnosis.pm/mock-contract","version":"2.0.0","description":"Simple Solidity contract to mock dependent contracts in truffle tests.","main":"truffle-config.js","scripts":{"test-norpc":"truffle test","test":"run-with-testrpc -l 20000000 --noVMErrorsOnRPCResponse true 'truffle test'"},"keywords":["solidity","mock","unit-testing","ethereum","truffle","stub","contract"],"author":{"name":"Felix Leupold"},"license":"ISC","devDependencies":{"run-with-testrpc":"^0.3.0","truffle":"4.1.14"},"dependencies":{"ethereumjs-abi":"^0.6.5"},"gitHead":"a0842f0051b7e296aa1c779f3c313d3f93ab2e81","_id":"@gnosis.pm/mock-contract@2.0.0","_npmVersion":"6.2.0","_nodeVersion":"10.7.0","_npmUser":{"name":"fleupold","email":"felix@gnosis.pm"},"dist":{"integrity":"sha512-S7vZcdG74Yo76+ZpVyXZ1MFNiu8m0yxIrO5pi3zLz6/gH1bPmDhvCheq69ro7cPrC6hzALn8WPNE55mw1G7Y2w==","shasum":"03a69a04e1fe8bcf5eecd6e47e7d985dfa9e2bda","tarball":"https://registry.npmjs.org/@gnosis.pm/mock-contract/-/mock-contract-2.0.0.tgz","fileCount":7,"unpackedSize":34530,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbr6NiCRA9TVsSAnZWagAAt+MQAJrZY3sP0VGdyIrQdmbB\ngMsn5jpxYH7aomhTSdMF0L0I9DNqYmENpfMHBWFfqVncqb3gN2Qlp5qIQYn6\ncb3HS78DJBp3zZ1TiyuCyHX400eJBmwtvJlf/l4y5z/DmRnsvCzB1dF2ElqN\nvRWwlGEPHe2/FpFC8DdzUceJkTAJaucnED2X089zwJtUzydfbBjnFtbOn4OJ\nifj4OIFwZO+9Yzx1NLUkzbuX2hTYuGXi0/5vmigHFuAFxKpbbMMmF0VaJqe0\nNPkAJYOZE+f6dJXL6RaLopdnIR6RJz/dWn/1Nh24olYUehYCyjJvO6VrPJOM\n0Hd8JDD57RZfa24KFvjAaEjzZT+N03CItG3fvkTbrNAqhmevGt/L2eueSG4G\nVANaICPh50nyDzjB/scKOwi8nCxFvpDT8q0FMS6rHB+YOSQb9gQAHX6G69Af\nxQrPrv06RNO6TYTPWYlS8suAM5hHhxxSZ9Bl3GymdEJ+MyMx1u61GY4h0MF3\n3gGXOoAUxKu+V4aCj13+VnSrt76IInV2oR+ryIjmx36QT+jB0tNuq0G/J7Jj\nXlCHT84F09BZ0Q1N5GOLmlEX0SkRPNYyVEl/PMPtAZl0VR7CkqN2h4Sjq8qL\nf2Ee6kR/u0e5vFdiobqBRykyNOQfHER0Saw0MdkL3cyv45r0vFmG9OpptvqI\nJXJa\r\n=nlyO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAl+20ymgzGUqvcthuzYDjdz8Z1wW6lSxjP9/yfChKThAiBGKCElHTI0lZArVP7vIfw03Ut0LX4VudSOv8oLPpg3Sg=="}]},"maintainers":[{"email":"alanlu1023@gmail.com","name":"alanlu1023"},{"email":"anxolin@gmail.com","name":"anxolin"},{"email":"dasanra@hotmail.com","name":"dasanra"},{"email":"denisgranha@gmail.com","name":"denisgranha"},{"email":"dteiml@gmail.com","name":"dteiml"},{"email":"felix@gnosis.pm","name":"fleupold"},{"email":"AntonVS.Professional@gmail.com","name":"infinitestyles"},{"email":"josojo@hotmail.de","name":"josojo"},{"email":"richard@gnosis.pm","name":"rmeissner"},{"email":"stefan.david.george@gmail.com","name":"stefan.george"},{"email":"doohhello@gmail.com","name":"w3stside"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mock-contract_2.0.0_1538237281792_0.334323713423613"},"_hasShrinkwrap":false},"2.0.1":{"name":"@gnosis.pm/mock-contract","version":"2.0.1","description":"Simple Solidity contract to mock dependent contracts in truffle tests.","main":"truffle-config.js","scripts":{"test-norpc":"truffle test","test":"run-with-testrpc -l 20000000 --noVMErrorsOnRPCResponse true 'truffle test'"},"keywords":["solidity","mock","unit-testing","ethereum","truffle","stub","contract"],"author":{"name":"Felix Leupold"},"license":"ISC","devDependencies":{"run-with-testrpc":"^0.3.0","truffle":"4.1.14"},"dependencies":{"ethereumjs-abi":"^0.6.5"},"gitHead":"ab0610929e5ad0abddbe359c1b7be558ee3b7a57","_id":"@gnosis.pm/mock-contract@2.0.1","_npmVersion":"6.2.0","_nodeVersion":"10.7.0","_npmUser":{"name":"fleupold","email":"felix@gnosis.pm"},"dist":{"integrity":"sha512-hByQB1XFIL3E4bTY1fRa1E7TtA3qfdrScvRUm9vYmiQ11LL2vA9fGG59unlh3nqxldpXbLtLp6oLnf6ZBlNE6w==","shasum":"70098ebe519d8d8ca0d5f12945e48fd5c0f5b97d","tarball":"https://registry.npmjs.org/@gnosis.pm/mock-contract/-/mock-contract-2.0.1.tgz","fileCount":7,"unpackedSize":43630,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbsjfvCRA9TVsSAnZWagAApMQP/1NONJdTUn6d+xRKTqwO\nlPKcH+GiD3DabPqLeyJ98GfmOCaK/FHs++dMW5XSVmLMjaMrNmRYwQHzXH+1\n75vCAWh0VEzFGuIpUWGAvr+j1s+aLg9FTTa38r7TKilR70SwXDZKW9kLrWQ+\n9mFzjJlx0u8L3ATqXoXEYoI+3DK7s4avYCbSOg1uP8eKXq3G9oQCNWlJsuon\nCK3Ob8wHCOflSSBznGmyR2CKsOCLKCE/ciXxEZmM+DQ8Phh7maMzw0x/w1sz\nlgkEqyCxo7KbUvXh49sxweG4+HnCXS/dMt8AAB6maIEH6HBUeDeVrD78Zp3b\n3UjEDT7arlt8FqeVMRf/vjPsfxMNi/owzRWwT2fiRReDuHVIrEHGMu55uZwS\nuT9uLIhQPHYDOnxZ0xUDco7b6gF0nmVnF4z9TxBCPZmYrzr2LHfHFWE5AHtN\nVBsdfr+xo5MyqFROgWOevUnWZS8lVL+ywXUZQjjI+4e3iuyU2juSBG6sm6Vs\nvF7nu/bWwNNAJJM+Qq0ZclKt5/x/G1rqEYVmWoWKAg+6RMhqVAiXn1IAOtC0\n9n0mnnUn287/7+vbBllAgo9++QeC7Q9/JT9KnZ3SF8inI+tshX0eGK+ybs5M\nFSSLnx++dHj0ypo/G2zjd67gZcb/uswjAT5DamN+sdv01XKhfZ4OP9nFZJHm\nMBPL\r\n=zITI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCPIuctDeCsUxJdEuUwQxH4TVva7SUSlkSb1dIH5ftGqQIgViIhH1qioCAC5xfQ08L+ObiTcXQVhPs9RdgO3YHaOHo="}]},"maintainers":[{"email":"alanlu1023@gmail.com","name":"alanlu1023"},{"email":"anxolin@gmail.com","name":"anxolin"},{"email":"dasanra@hotmail.com","name":"dasanra"},{"email":"denisgranha@gmail.com","name":"denisgranha"},{"email":"dteiml@gmail.com","name":"dteiml"},{"email":"felix@gnosis.pm","name":"fleupold"},{"email":"AntonVS.Professional@gmail.com","name":"infinitestyles"},{"email":"josojo@hotmail.de","name":"josojo"},{"email":"richard@gnosis.pm","name":"rmeissner"},{"email":"stefan.david.george@gmail.com","name":"stefan.george"},{"email":"doohhello@gmail.com","name":"w3stside"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mock-contract_2.0.1_1538406382294_0.3788029442918155"},"_hasShrinkwrap":false},"2.0.2":{"name":"@gnosis.pm/mock-contract","version":"2.0.2","description":"Simple Solidity contract to mock dependent contracts in truffle tests.","main":"truffle-config.js","scripts":{"test-norpc":"truffle test","test":"run-with-testrpc -l 20000000 --noVMErrorsOnRPCResponse true 'truffle test'"},"keywords":["solidity","mock","unit-testing","ethereum","truffle","stub","contract"],"homepage":"https://github.com/fleupold/mock-contract","author":{"name":"Felix Leupold"},"license":"ISC","devDependencies":{"run-with-testrpc":"^0.3.0","truffle":"4.1.14"},"dependencies":{"ethereumjs-abi":"^0.6.5"},"gitHead":"a0a00ce6b556aad157146791ef06d52161c4b329","_id":"@gnosis.pm/mock-contract@2.0.2","_npmVersion":"6.2.0","_nodeVersion":"10.7.0","_npmUser":{"name":"fleupold","email":"felix@gnosis.pm"},"dist":{"integrity":"sha512-LGtVyBIcvWenoqg61xEq9NsqBrgghU0wFjYHRATpQsM5kRLOVUTVcvFfLZEdIPg3VE5Y1uBLw0cWknHk1pkERA==","shasum":"e1865529bfb04bf938a06f4210d9d6a83aa644e4","tarball":"https://registry.npmjs.org/@gnosis.pm/mock-contract/-/mock-contract-2.0.2.tgz","fileCount":7,"unpackedSize":43702,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbs5LzCRA9TVsSAnZWagAAd/MP/2w5eMg/NBbu43ptNS6R\n0t5pNibFt9XUZnBgnZVW9fAro+Aslp2B4Jrh/Bkzz+ChWWJe/Ue/2Y/6o/3D\nxljY15L5mT/xt9NgOZKMj++S0zm76BqML4t36NrKlD47V2NSyF9UJqkosZOL\nCotN0bNI26z6tdl9v85fdqjdTpqaci83c/lAO2W7zPwfFTCEhaa83SawuG3Y\nuY/Xo7IMy6KJDTJoXmiYYE7FAShuqZrRpjjrjW9wzmMKuP11ZRlw/7UDsr33\n2H/DyB3Ud8qn8m4CB6yiz9x+CtbWWyiehsQ8sYP14GagvV8OYHbvd+aeDJ0m\ncfP/q6SxAQa/W22kAINPW5OWgJW+0aU7oDQH2XIMeizpOofSxI/eKdyJ7swW\n6Hb4Tt/WpMTbEDJNVy5zA60j15jM2hrB8lW8tlA7Kwobc7UzkaragcCctLKp\nQ7rIKw+rF/K8s5RVb54YGtoLjyTNZRRYTHKlaBBhRJ1vd6iby0MoqDFdEglJ\nEfL7GYibZpT4aFssqy1NayQGpGsdhe8ZzoH1YsYyySQz5XNbo85yfCWfl1Vq\nvjfS4aE3xvP9m9E68SMi3+oTw7RTukHOL7zbEkR3Y77ybH6XmcZU410lK1+y\nhVHRFUTtIPYpoTN2b7/rcaO9ZgDHTeyiAETLaQATNjlmK1T3AJKFIKZqZetb\n8LKT\r\n=nnf1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDFF1zDu/EqtaW6dgs2kgdqVOp58PHFcqg4J8g9QXYuvAIgFv2BSPWWnwVRzC5kkcVuvTg3riTzLCuGKhqcVK+gKTE="}]},"maintainers":[{"email":"alanlu1023@gmail.com","name":"alanlu1023"},{"email":"anxolin@gmail.com","name":"anxolin"},{"email":"dasanra@hotmail.com","name":"dasanra"},{"email":"denisgranha@gmail.com","name":"denisgranha"},{"email":"dteiml@gmail.com","name":"dteiml"},{"email":"felix@gnosis.pm","name":"fleupold"},{"email":"AntonVS.Professional@gmail.com","name":"infinitestyles"},{"email":"josojo@hotmail.de","name":"josojo"},{"email":"richard@gnosis.pm","name":"rmeissner"},{"email":"stefan.david.george@gmail.com","name":"stefan.george"},{"email":"doohhello@gmail.com","name":"w3stside"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mock-contract_2.0.2_1538495218912_0.31813086163586135"},"_hasShrinkwrap":false},"2.0.3":{"name":"@gnosis.pm/mock-contract","version":"2.0.3","description":"Simple Solidity contract to mock dependent contracts in truffle tests.","main":"truffle-config.js","scripts":{"test-norpc":"truffle test","test":"run-with-testrpc -l 20000000 --noVMErrorsOnRPCResponse true 'truffle test'"},"keywords":["solidity","mock","unit-testing","ethereum","truffle","stub","contract"],"homepage":"https://github.com/fleupold/mock-contract","author":{"name":"Felix Leupold"},"license":"ISC","devDependencies":{"run-with-testrpc":"^0.3.0","truffle":"4.1.14"},"dependencies":{"ethereumjs-abi":"^0.6.5"},"gitHead":"a0a00ce6b556aad157146791ef06d52161c4b329","_id":"@gnosis.pm/mock-contract@2.0.3","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"fleupold","email":"felix@gnosis.pm"},"dist":{"integrity":"sha512-anGdQx8X1ut/SElLUtzRC9WQ5vIuXcDDWNcchgJ4iG/fDjln0QV5vmiRM2fucnJgCh87cPdLg9q/+pnshIx2Iw==","shasum":"4581e8e1ca4139c296abccb9080d12168e0fd713","tarball":"https://registry.npmjs.org/@gnosis.pm/mock-contract/-/mock-contract-2.0.3.tgz","fileCount":7,"unpackedSize":43702,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcB8v0CRA9TVsSAnZWagAAeTcP/38YVG/cnrdPeuYai3HF\ngffgQLMRZHykw120qHVRms+wfUDvvKwVNhZ0j1kN7b89yEpDVPdqEwOuQNki\nuha/o/GeYWlSAgeuKgi7R4M/DUACUzd++h+WS3gZEC/Tm+EfRbO/Px0xtZfF\nNhUmwbRSwcyUga7KPTQVbjrhNajTqFZu9NOa36RBmIUnATmmGyDGHsNW0Hc5\ngOoLa2Z5em/IYbZI5qpIV3ijK5Y2qwLA3bNQauCr5aIqIi9NTfNhHjYIAgzP\nOjNFKE4Yxjk4AIQcmAIrpnNK/DU2MLJF5/wcJf51Rm4rJSAaGuimeJHSCgAi\nD1+PVT39d4IbUDXcYcCQuUX6tjYhoJbFi3lPCht7vTXSXULTq1r3ctdz5bnt\nOzAwQCrL/IhPhrO08yrZydKdAyhqCb3+vznZE65fH+21Tce+XYxsx1ziC6zG\nArFZNK3R6L/kx88TjY43+Q5P/7uZla2J+ax1KpaUWEpvZsc8MvGe0v0tCxf6\nPjIggUTfe7SseTB6lxR8daeRB0MM8mzf55TNlj7DV5ZSeXR/Ysn6wx3HinNf\nlGFF22YzpuRxiHIF1lWB7Q7Nz7dO+Vvyw9rvMorQ6K+l4Tsx0QYxSJ5MYbF5\nC4IQUuQbHyehmJJdKiEfcVjC9WNGiQ4oefrio5a6U1sTBz5iqPmUf8ncnpHQ\nEKNj\r\n=73rL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEPWYwER2rAZOpm9fTTy3fJMAX7iN7HPCspwMtErMtWrAiBrOEKwv7P2Z1lRT9MUBfs1NqiEI6giYQXXOop1sSvWIA=="}]},"maintainers":[{"email":"alanlu1023@gmail.com","name":"alanlu1023"},{"email":"anxolin@gmail.com","name":"anxolin"},{"email":"dasanra@hotmail.com","name":"dasanra"},{"email":"denisgranha@gmail.com","name":"denisgranha"},{"email":"dteiml@gmail.com","name":"dteiml"},{"email":"felix@gnosis.pm","name":"fleupold"},{"email":"giacomo.licari@gmail.com","name":"giacomolicari"},{"email":"AntonVS.Professional@gmail.com","name":"infinitestyles"},{"email":"josojo@hotmail.de","name":"josojo"},{"email":"richard@gnosis.pm","name":"rmeissner"},{"email":"stefan.david.george@gmail.com","name":"stefan.george"},{"email":"velenir@gmail.com","name":"velenir"},{"email":"doohhello@gmail.com","name":"w3stside"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mock-contract_2.0.3_1544014835745_0.3315601876230394"},"_hasShrinkwrap":false},"2.0.4":{"name":"@gnosis.pm/mock-contract","version":"2.0.4","description":"Simple Solidity contract to mock dependent contracts in truffle tests.","main":"truffle-config.js","scripts":{"test-norpc":"truffle test","test":"run-with-testrpc -l 20000000 --noVMErrorsOnRPCResponse true 'truffle test'"},"keywords":["solidity","mock","unit-testing","ethereum","truffle","stub","contract"],"homepage":"https://github.com/fleupold/mock-contract","author":{"name":"Felix Leupold"},"license":"ISC","devDependencies":{"run-with-testrpc":"^0.3.0","truffle":"4.1.14"},"dependencies":{"ethereumjs-abi":"^0.6.5"},"gitHead":"ab2050f1df3ceae5ce1e7da9ef10d3bc95430121","_id":"@gnosis.pm/mock-contract@2.0.4","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"fleupold","email":"felix@gnosis.pm"},"dist":{"integrity":"sha512-pEozwI2Fy6ir/hDZZ1wdBxYC5GO2u2fM7bWUkf1fdXc9mln/1si+1XDcR7Oi/OEduQ3n+R05HHolt2WLNRp0wg==","shasum":"c5bdf50b22b9f48822e4440b522f1f2045d01814","tarball":"https://registry.npmjs.org/@gnosis.pm/mock-contract/-/mock-contract-2.0.4.tgz","fileCount":7,"unpackedSize":44462,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcCTnyCRA9TVsSAnZWagAAyL8P/iGdejh9Prr7rxuhiTEr\nnkaX9yjZsbI95+u5Yqbd7t/oI9wWXngjh3ea4Dds5jS33JUIrDxxJt01ZmO/\nLMlDaxfxUT5ECMvJqXnu1WB/rlU0h0HkMW9F+y0948UcWn7tH+5W5vAHyG47\nfIJ5h9kmyKbt2i9kxHPz7x7rSiNDhwlG7Wu7JEL4TxzYlWqAU5jxF9OBdz61\nBW38Y6gz/BVL2vbEpRAwl967fWkgLjqqpUB1zx1IqfdrhZu/2m1GLUEu/Q84\ngD4Gc4ZsQlUDRdFHyoKZgn5ZfsUA85W+xyTeDmpUEtO5s0bL4DX3qMFtIX3Y\nYbF+83mr/qHzLwEMZL7XL9cyEP6mMTgJZ6u/feu+yFQJx5FJ2KcFw5OhIoOV\n/VLfLEigbHcR1OZuWun/uiunLob68AmHH0RJo3GglUN5B9p3N39mLzrze+ib\nedtbq72PwZBIZEK7l9+IjEEgRNZ1ZW2tQqveFVvF1ODZ4gCZOytX/m61xkQZ\nQ3A5Z3GK/pliYyFF5KlQg+JNL9zmyJQoeBF1dwNgXrhaLii+e82Ri9cy5est\nnUsrEjh4Cpoa+vKbx+BWpZTzlu4Rs9pr5dChwpln8CoOnJlT1xP0uhC/Hazh\nIVyP4vR+FkLdkAZv0fzcaGbctKl4UGEKK2O78qRq0AsuSQ8d0Nqajd7PMSX2\nrLGP\r\n=j+L/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOqsYX8MdtaYfS72OVwHVY7x3FpPNZzhcHAApfeGUt/AIgLkNgdqG4r8pIwUAe5PBW5paiITfgBnMZ8gsDl64GD50="}]},"maintainers":[{"email":"alanlu1023@gmail.com","name":"alanlu1023"},{"email":"anxolin@gmail.com","name":"anxolin"},{"email":"dasanra@hotmail.com","name":"dasanra"},{"email":"denisgranha@gmail.com","name":"denisgranha"},{"email":"dteiml@gmail.com","name":"dteiml"},{"email":"felix@gnosis.pm","name":"fleupold"},{"email":"giacomo.licari@gmail.com","name":"giacomolicari"},{"email":"AntonVS.Professional@gmail.com","name":"infinitestyles"},{"email":"josojo@hotmail.de","name":"josojo"},{"email":"richard@gnosis.pm","name":"rmeissner"},{"email":"stefan.david.george@gmail.com","name":"stefan.george"},{"email":"velenir@gmail.com","name":"velenir"},{"email":"doohhello@gmail.com","name":"w3stside"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mock-contract_2.0.4_1544108529975_0.13226554197459794"},"_hasShrinkwrap":false},"3.0.4":{"name":"@gnosis.pm/mock-contract","version":"3.0.4","description":"Simple Solidity contract to mock dependent contracts in truffle tests.","main":"truffle-config.js","scripts":{"test-norpc":"truffle test","test":"run-with-testrpc -l 20000000 --noVMErrorsOnRPCResponse true 'truffle test'"},"keywords":["solidity","mock","unit-testing","ethereum","truffle","stub","contract"],"homepage":"https://github.com/fleupold/mock-contract","author":{"name":"Felix Leupold"},"license":"ISC","devDependencies":{"run-with-testrpc":"^0.3.0","truffle":"4.1.14"},"dependencies":{"ethereumjs-abi":"^0.6.5"},"gitHead":"b8d66c5f08387279286e876e1ea4cd1016b7fea2","_id":"@gnosis.pm/mock-contract@3.0.4","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"fleupold","email":"felix@gnosis.pm"},"dist":{"integrity":"sha512-6YQZOAM7AyiD2i4tbdE10y1HpvH802cwH6RGaw5Fr8x5Nsfa7FMvD0rLpXCfW8Ahmim/JUjsRLtSDYIuTzceMA==","shasum":"b5ecc11b3d54f5812756f14d689e01c958128f3d","tarball":"https://registry.npmjs.org/@gnosis.pm/mock-contract/-/mock-contract-3.0.4.tgz","fileCount":7,"unpackedSize":44872,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcCTrfCRA9TVsSAnZWagAAqI4QAJiPAKlPi2WuodZ0noxy\n80+sqKPUB522ZxHnh7v6upPE2LCKZTkAgjpbZMTnbn+JrXHgQ8mz+LzRcQwt\nUuBDlDN7lpPlGWZZ8dA79UGxKttqT9pEai9zJY0KHV9HtxB9DIkCxWWyf7JE\nMLYku8PgN56CogjUYBVbm6keXnWUZSxknwsIUFgwERJcz3Xqw7XJptenYcl7\nApiTZyKlry7/04OvGW59PsDOdIRIukPJPqtgDdBZkgQUOZPHqeNxekmiOyrW\nGfBBdbn9rPmS3DtSa44dG7rkH3QUqKYIPuoBSRB7aWi1OEbxrKZNFziw6+70\n0TkH+dgASz6/XMQELPVJ17RG477JkCNny6AUPACfmQwbvgXeA5p+/BVy/9g3\no1PDInfYVXgD/b82al9AZ5fIf+RU0KhmXfWVuIMlBMxegB51WndYyb546yYc\nm6htyzr+gCKRbIZFiJ3fOlJw5hdQGbTOAWiMT/LesHWd4znPA0czE6Ot7kk0\nXXDjSNqIcKqRpogZxPOvE/lpBx+v2p1NyJ/hVrDDJvL7Gr+VJ5IQwJbG02l4\n2AaWMeiLfxpyUhA9UR1UsMh2cK1byh0BBjQEgyS6KIO+ZI5pf62yVnQYu6he\ncVSdHxQFns3zwhOjZWqDvHwxA8zxEh2pYBJYwYJlbXPLYzGxKdTWfV94Oiii\nKIyy\r\n=LFDA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCWOhnsaZtRCJ5rfUyUzq38qQuR2nmskkNBjz4F2XPRGwIgVxZFA//KyAgwfK8lBt1Ys80M8kwCJ5WpKPGKJ8/dsMc="}]},"maintainers":[{"email":"alanlu1023@gmail.com","name":"alanlu1023"},{"email":"anxolin@gmail.com","name":"anxolin"},{"email":"dasanra@hotmail.com","name":"dasanra"},{"email":"denisgranha@gmail.com","name":"denisgranha"},{"email":"dteiml@gmail.com","name":"dteiml"},{"email":"felix@gnosis.pm","name":"fleupold"},{"email":"giacomo.licari@gmail.com","name":"giacomolicari"},{"email":"AntonVS.Professional@gmail.com","name":"infinitestyles"},{"email":"josojo@hotmail.de","name":"josojo"},{"email":"richard@gnosis.pm","name":"rmeissner"},{"email":"stefan.david.george@gmail.com","name":"stefan.george"},{"email":"velenir@gmail.com","name":"velenir"},{"email":"doohhello@gmail.com","name":"w3stside"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mock-contract_3.0.4_1544108767031_0.7848354404612801"},"_hasShrinkwrap":false},"3.0.5":{"name":"@gnosis.pm/mock-contract","version":"3.0.5","description":"Simple Solidity contract to mock dependent contracts in truffle tests.","main":"truffle-config.js","scripts":{"test-norpc":"truffle test","test":"run-with-testrpc -l 20000000 --noVMErrorsOnRPCResponse true 'truffle test'"},"keywords":["solidity","mock","unit-testing","ethereum","truffle","stub","contract"],"homepage":"https://github.com/fleupold/mock-contract","author":{"name":"Felix Leupold"},"license":"ISC","devDependencies":{"run-with-testrpc":"^0.3.0","truffle":"4.1.14"},"dependencies":{"ethereumjs-abi":"^0.6.5"},"gitHead":"b259e5379e62a584471f1c8f20b7f21ee2500bd4","_id":"@gnosis.pm/mock-contract@3.0.5","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"fleupold","email":"felix@gnosis.pm"},"dist":{"integrity":"sha512-HiZPFp5KB4kWd6iMNcXGPCAcMSP6u/V8qiXE4TVm7EAarNa6z4uLFrVav6dTDtErbQIhqOQ+HP0YS+/FUPEOug==","shasum":"00478166ffad662a59f32f16986aa107e2b2213c","tarball":"https://registry.npmjs.org/@gnosis.pm/mock-contract/-/mock-contract-3.0.5.tgz","fileCount":7,"unpackedSize":45829,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcG4IgCRA9TVsSAnZWagAAec4P/R+pDK0VB5kTT8fkDlk6\nbELoH++VO56og62zvbkALS90/2qgmnhlv2V0uHtxCCyq4GUF5g6IFvCAS9RK\nlgGQgXRU+wHcdZPRbankgHbPt8RLsbDjPT/Volom3+XaAaqelov6cyAnqIp7\nEPGf0cP+5cuA/xxA+8+CNn7UBZxyhSS7HkfmZ2rHtdvzX+/Bb8wNkzJQLPVl\nbvGZoaKD5dLBRji6eBwTdVAVFxgHY32ZbBEnHNc1XlUodZKuuOLObvUA8Q3N\n6oV9db/Ez+Dff8FZG0vcG6IrD/7+C962+RLsqj9SG04vwga8cqgD9PGIO8wx\nzrERWTB51D7HJeq9Oc3/CvA+FJlwGJo+6lB1Qn4MepoFuuqjaajtx+ffZL/1\nIQk3nZPx2SX71vwcbtCgiYhR+rE8b15F0+uu32kiBxrL1u+OyJueXEpK6JEb\ndizQgHWOT6KZsGh6bq9nNqYRB09RKMmIG1oDHxMTckIa4cNzhnlVe0WAHh5V\nUznpAFdLlggXDb0GRDBIm4KtEcaTlLsc9NvR+QHCRKPVY9m7LmMP8TphDIsW\nbDt6JYUoCVsVIxA5qQl1SYk+iYzpUdbnzaVxRJd1wt8wjpYkNzFhCuIHw5z8\nNeTfASjXmD3eApROhBmE7XT1NTQWtgt4M8cnbRhOmhgqRroTnddncl4M7U8g\nDgJt\r\n=bnk7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCEJEoD+W+41/Im+Q88UrSKuekJluE2/XIaOafPBYL6HQIgMOKah2i7SbpwTkz/WhX2a2zhFgGSMokonRVbRdCuLkc="}]},"maintainers":[{"email":"alanlu1023@gmail.com","name":"alanlu1023"},{"email":"anxolin@gmail.com","name":"anxolin"},{"email":"dasanra@hotmail.com","name":"dasanra"},{"email":"denisgranha@gmail.com","name":"denisgranha"},{"email":"dteiml@gmail.com","name":"dteiml"},{"email":"felix@gnosis.pm","name":"fleupold"},{"email":"giacomo.licari@gmail.com","name":"giacomolicari"},{"email":"AntonVS.Professional@gmail.com","name":"infinitestyles"},{"email":"josojo@hotmail.de","name":"josojo"},{"email":"richard@gnosis.pm","name":"rmeissner"},{"email":"stefan.david.george@gmail.com","name":"stefan.george"},{"email":"velenir@gmail.com","name":"velenir"},{"email":"doohhello@gmail.com","name":"w3stside"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mock-contract_3.0.5_1545306656242_0.03323121768205772"},"_hasShrinkwrap":false},"3.0.6":{"name":"@gnosis.pm/mock-contract","version":"3.0.6","description":"Simple Solidity contract to mock dependent contracts in truffle tests.","main":"truffle-config.js","scripts":{"test-norpc":"truffle test","test":"run-with-testrpc -l 20000000 --noVMErrorsOnRPCResponse true 'truffle test'"},"keywords":["solidity","mock","unit-testing","ethereum","truffle","stub","contract"],"homepage":"https://github.com/fleupold/mock-contract","author":{"name":"Felix Leupold"},"license":"ISC","devDependencies":{"run-with-testrpc":"^0.3.0","truffle":"4.1.14"},"dependencies":{"ethereumjs-abi":"^0.6.5"},"gitHead":"b5c0a11fe02e31e44cb2874b87c44333f3968e01","_id":"@gnosis.pm/mock-contract@3.0.6","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"fleupold","email":"felix@gnosis.pm"},"dist":{"integrity":"sha512-vUU+sJ6uY5skzSn2SNQUDTQcKbfrKpfTd83oRP3IES3NDFHQhDm1aNvgAhhSkOdXYuoVULUp9m6WMEiRKb1u9g==","shasum":"ac489b52d09b6a619bd663cdb690c731577b018e","tarball":"https://registry.npmjs.org/@gnosis.pm/mock-contract/-/mock-contract-3.0.6.tgz","fileCount":8,"unpackedSize":46881,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcLdDdCRA9TVsSAnZWagAAeNoQAJdOOdlShumy0twlmFfU\nPjR4VXrba5HscETCcMrd+809XLrvQmkyY1ZBImMYhSM0t4HeZeQJK8u5Z90Q\nntmd0rSlsVKzhfPfyVVSc7fAjivvtMdU4YrqK+Pabp3XN7tY/wC0PHbHujdk\nTE1qVVsM6kOxI4yK88Mh4y832jvuPPfxwa8tO6kbTSoHAOGI1LY2jOjrLdn+\n6L5GV+xaoPAvAA2N7BB5oZv0YBb4jAGPC8bgxvQYJPkyPTXadmqS4vj7qO04\neOuGYItnecm4qdVnzUgF94OEJFnrLkcpT54GfFEh9OBUwQxmT+YhF1hL2tdt\nvTucm75asVl6OPngKPBSqgXn2hsJMsu0boLcuW/3kP/EjuLQTJYN8lDNO4J8\nJLiWuWBIKlvSSVSs4dcw4VvUiwNsR/PzH76MdvteaIITx48d7OQK5ddPkO0c\nZUe3mlru0K8J7AiEekUGGQeO/2iDaX+ZW6Q/vtiJXI+zvHOT5nIAqiMxvE6j\n/V8Lp/tPnofskQAQBpZM3Qw7X8Krte7bW6rEw0N+eA0bAAJ7pCFG/unWW4hT\nVBMyPshI/w/HfToUiVKHDCE7WHwM48LF+N0hjGZWH2J7hr8G1zvCQlP1OTer\nGdR5/bCm0qe6mhp7dCZOXo4+Yq3VaPJdvzJR2tTXPKbp2iUCJUOK7Z3YvwFe\n2OsI\r\n=NADr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCl4tNsNvOS48+TJD5xLjLO7aD22iK9kciOerVWfvJDQQIgT8R7I6EcbHeceLteEUpJcoZXa8BoN+rsOSmpNHLnHMQ="}]},"maintainers":[{"email":"alanlu1023@gmail.com","name":"alanlu1023"},{"email":"anxolin@gmail.com","name":"anxolin"},{"email":"dasanra@hotmail.com","name":"dasanra"},{"email":"denisgranha@gmail.com","name":"denisgranha"},{"email":"dteiml@gmail.com","name":"dteiml"},{"email":"felix@gnosis.pm","name":"fleupold"},{"email":"giacomo.licari@gmail.com","name":"giacomolicari"},{"email":"AntonVS.Professional@gmail.com","name":"infinitestyles"},{"email":"josojo@hotmail.de","name":"josojo"},{"email":"richard@gnosis.pm","name":"rmeissner"},{"email":"stefan.david.george@gmail.com","name":"stefan.george"},{"email":"velenir@gmail.com","name":"velenir"},{"email":"doohhello@gmail.com","name":"w3stside"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mock-contract_3.0.6_1546506460802_0.06334904910363037"},"_hasShrinkwrap":false},"3.0.7":{"name":"@gnosis.pm/mock-contract","version":"3.0.7","description":"Simple Solidity contract to mock dependent contracts in truffle tests.","main":"truffle-config.js","scripts":{"test-norpc":"truffle test","test":"run-with-testrpc -l 20000000 --noVMErrorsOnRPCResponse true 'truffle test'"},"keywords":["solidity","mock","unit-testing","ethereum","truffle","stub","contract"],"homepage":"https://github.com/fleupold/mock-contract","author":{"name":"Felix Leupold"},"license":"ISC","devDependencies":{"run-with-testrpc":"^0.3.0","truffle":"4.1.14"},"dependencies":{"ethereumjs-abi":"^0.6.5"},"gitHead":"b526aa2b3b923de21d2e21cec3fb6f047e9c6980","_id":"@gnosis.pm/mock-contract@3.0.7","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"fleupold","email":"felix@gnosis.pm"},"dist":{"integrity":"sha512-yet9hcbW6Gk0o8vPdyqsGjIRlxy1Fits2gGt/+duHctAHR+6T45w3o7qo8oKjMxJOq+6CIaZJX+kDEVHQrR2NA==","shasum":"5a19721f9e22b57539833fb4aa3e5c052321b414","tarball":"https://registry.npmjs.org/@gnosis.pm/mock-contract/-/mock-contract-3.0.7.tgz","fileCount":8,"unpackedSize":47305,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcVAXHCRA9TVsSAnZWagAA3XsP/3z95l0kP3zqcmdXSZRA\nNzSsirbO94D5RjamSrr0HqWYKJHornFVKxao6504tDxlxVekGldSB2N84ZSB\nrKDLI7k7aIfdY9iWrztAbCw+N/Yaj3TQ3qG4kS4OZNuz9FgILWNcKk0uJv9c\nuV+Ug5A9fMXgAtwb5Q/+I4svTFFmGd39rRgJTb+iH4xoQOOcUwJyyq702WJo\nzzsyA75rV4q19X+awHvLOBNjtwaRJVz0qQJL0IFNpKEq3Vcp3CpTQ3dcplvn\n8FtF462BD6SlJAgtZ9+5TrLQF+qZ6Ly82H+0aR0TblK6OVHjn4g6yCqQUzTK\n+VHRPJeO+mt0B9FTxVj9VHHrk3mKgM94eW0IcxQ/IvidO/l5CrpQc6IqEq9H\n8aeCrNDxfvqtIiz92uj78a2k3lUZza5n7JBzgEy1/WhDLNztbSCmGP06eBLE\nSxEtVYjXJNw303lowa1dhGi0mzwO1iQCztLEIiGiCMw0wlYBsFwmX5umpQP+\nCv35EnjuKc35/MerXEdtJ69trzZlvGpAqZp+bKXR5ycVRlpPWViNnzrZSNU7\nSdUPv14b1fQn2zuAjXuJJd9V5YAfttnJyF9vCVx+DTb8+zmye/YLaJT34+DX\nyaxW0P2Ka/9w4w886WHaT2zJxzS4T0CYbg4DapWUgW3ms7Uvi46raFh8bWrn\nSXKa\r\n=8PpQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDpONZiTP82BVtXzY0CHaLDlXk/vCLLSurASTMb6Q//3gIgZuBlaTGhJBG2+vZRHTEl2NEKy0aZCEjBJFdKq1PMtWg="}]},"maintainers":[{"email":"alanlu1023@gmail.com","name":"alanlu1023"},{"email":"anxolin@gmail.com","name":"anxolin"},{"email":"dasanra@hotmail.com","name":"dasanra"},{"email":"denisgranha@gmail.com","name":"denisgranha"},{"email":"dteiml@gmail.com","name":"dteiml"},{"email":"felix@gnosis.pm","name":"fleupold"},{"email":"giacomo.licari@gmail.com","name":"giacomolicari"},{"email":"AntonVS.Professional@gmail.com","name":"infinitestyles"},{"email":"josojo@hotmail.de","name":"josojo"},{"email":"richard@gnosis.pm","name":"rmeissner"},{"email":"stefan.david.george@gmail.com","name":"stefan.george"},{"email":"velenir@gmail.com","name":"velenir"},{"email":"doohhello@gmail.com","name":"w3stside"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mock-contract_3.0.7_1549010374877_0.11030052899712173"},"_hasShrinkwrap":false},"3.0.8":{"name":"@gnosis.pm/mock-contract","version":"3.0.8","description":"Simple Solidity contract to mock dependent contracts in truffle tests.","main":"truffle-config.js","scripts":{"test-norpc":"truffle test","test":"run-with-testrpc -l 20000000 --noVMErrorsOnRPCResponse true 'truffle test'"},"keywords":["solidity","mock","unit-testing","ethereum","truffle","stub","contract"],"homepage":"https://github.com/fleupold/mock-contract","author":{"name":"Felix Leupold"},"license":"ISC","devDependencies":{"run-with-testrpc":"^0.3.0","truffle":"4.1.14"},"dependencies":{"ethereumjs-abi":"^0.6.5"},"gitHead":"85dcd317b6d01fca6846c00844aa9bd76812b268","_id":"@gnosis.pm/mock-contract@3.0.8","_nodeVersion":"11.15.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-ZsLXSxbKwhEVR4t1CQ1Wxv3g9Q3YHlO0BQcH6XWpoeOcM8pND0ZTPz99ExnR4XCn2o5GlQT5ffNcMD+NAmibBg==","shasum":"3794226161965396710ee0bec5cd809f60ca8d72","tarball":"https://registry.npmjs.org/@gnosis.pm/mock-contract/-/mock-contract-3.0.8.tgz","fileCount":8,"unpackedSize":47344,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd18q4CRA9TVsSAnZWagAAacQP/RmMq8mO11+izcLwRcD3\n32ZrHdso0EvlZS06ViMJ0gnUr7QOJkuYuSpAp9Mo3epffV8ZExDxk7Ps19w4\nqKo4b8BktmwOi7u8wqf1xswGdfw66r0ItuG8vlUrBD4mVUUuAMGNkMKFeoO9\nZEuK2froI3PohC6Y3NyXiic1RYwsCIsqawQX6Z+Syi+u1e3Lw26ncQ2+Y8Qq\n//7AGzaZP3s6PLOGjV1ziZkyphPqH8zlcPdzZAlqX9ht/VT9oqS9/OEW7Lc7\n3PfL6aMYapH0updy909i0al1xpUYNltDCIy+FXvTj/99yZHqjIRT48bhWv+q\n8X5NorAiQnwE9Kb2GdH2dbBODIFYtble7cj3tgH28sxlR7ynzNGLuF4YowIx\nAUAhZjiGUPzEyxUsGgpsG+LZFpuOxJ0KkqO//dwSHngJHIOM0G+A1IpE2c+/\n/hqp0vUiU/BMFa9qVa+24yLpwOpUhHdhY/EJZcvS4juTMCBdBEUbt7+L2uuo\nUpKPvTWPjXQTAK4cUPCM3FCAx7zUi9/RvHiXf4XzYTl52rsgUUJ22t0+aUX8\no803m+IcXRlq4VrirfqISdpmGaQnSbkwKn29VQx/A9PZiBnEfvT4Dhyqf6il\nRE2nZa6qybjt4jZiAHk//8DJkGYh7DjIB3QT81ImlJQoB5oAGutpYuIA4+n/\ncorb\r\n=39pq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCzL8WU6ZWu4OvdKQDgbB3iT6aK+k+ZxuqHrnSNa0HHfAIhAM/l88RZX+MklFawafihM5r0CCbwev8oNbQaJb43J/QB"}]},"maintainers":[{"email":"alanlu1023@gmail.com","name":"alanlu1023"},{"email":"anxolin@gmail.com","name":"anxolin"},{"email":"dasanra@hotmail.com","name":"dasanra"},{"email":"denisgranha@gmail.com","name":"denisgranha"},{"email":"felix@gnosis.pm","name":"fleupold"},{"email":"giacomo.licari@gmail.com","name":"giacomolicari"},{"email":"josojo@hotmail.de","name":"josojo"},{"email":"richard@gnosis.pm","name":"rmeissner"},{"email":"stefan.david.george@gmail.com","name":"stefan.george"},{"email":"velenir@gmail.com","name":"velenir"},{"email":"doohhello@gmail.com","name":"w3stside"}],"_npmUser":{"name":"fleupold","email":"felix@gnosis.pm"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mock-contract_3.0.8_1574423224062_0.9715946247385727"},"_hasShrinkwrap":false},"4.0.0":{"name":"@gnosis.pm/mock-contract","version":"4.0.0","description":"Simple Solidity contract to mock dependent contracts in truffle tests.","main":"truffle-config.js","scripts":{"test-norpc":"truffle test","test":"run-with-testrpc -l 20000000 --noVMErrorsOnRPCResponse true 'truffle test'"},"keywords":["solidity","mock","unit-testing","ethereum","truffle","stub","contract"],"homepage":"https://github.com/fleupold/mock-contract","author":{"name":"Felix Leupold"},"license":"ISC","devDependencies":{"run-with-testrpc":"^0.3.0","truffle":"^5.1"},"dependencies":{},"_id":"@gnosis.pm/mock-contract@4.0.0","dist":{"shasum":"eaf500fddcab81b5f6c22280a7b22ff891dd6f87","integrity":"sha512-SkRq2KwPx6vo0LAjSc8JhgQstrQFXRyn2yqquIfub7r2WHi5nUbF8beeSSXsd36hvBcQxQfmOIYNYRpj9JOhrQ==","tarball":"https://registry.npmjs.org/@gnosis.pm/mock-contract/-/mock-contract-4.0.0.tgz","fileCount":11,"unpackedSize":49681,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKUEcCRA9TVsSAnZWagAAKYYP/2GVvntQsR+3j2WpD4Yl\nCZgAa1qGQouGYDVcRddYbfpE8dbmMRF1NKGulD2sBCFXYNeptuHf1dp91B1J\nxVjQC5xMXiZLn5GG2d01ZpPPE5O/WzUkZ4vcLEasGCASox5DeFba2puPb85g\nPvzWHCejf5Bi5B7Zu2WE8dWJLie6SnNipDOBaR81iRrcWV0TTYeKRAk5vLX+\nNA5LrsdY/NhY5QwJsCeqwZNqyaoshetDgl2ahFJeNp9EnjjHMrwIDS1O6LWq\nLPBSjAHMYKpjNJGwL+ayYr943TqI7ClvQE65wPXYXHA8pL/Dhgo+4FL+Lcie\nd3nUzmdVvHi73kgoIr3JLPLuNoZsPjCFMKrNzUHe2nlhjZNf03FHO0Oru8nR\nSinJ5SfMkQAo0h7Vy6cjXN1iRwXZaU9BRLn3V9D5NSJKSq3961JM8cDtWMXQ\n+faUR02pyUzF/K2bVnDXIsgEO8g+aHYdUslHWokHCNJxZuT0BFkz1yYIw+S0\nury/AJKw+YFIoxgkk4RzAz3yfXEu49w6cz/Lg69Lgge3l6dWCi0S85VwhJL6\nXvbASSr6x87iBqpAUXMSM9MzjtjO5a+RIcaSkpg6jU9/BUfHSbiOtfu16Nh6\nSj/7eO3abKb/5TnnSgUsvsaMJNNhYb/gjpECX/F7KfIHyQl7lHgifJZb+haN\ndAxA\r\n=crfC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDrhhFZb+n0WcjYiyMJIT/RK4THgZbLRJUPvAL5663wEgIgCerWSSGr79XE0jlotMnnh39L+gfkbgQ+3jiA8m44t/M="}]},"maintainers":[{"email":"alanlu1023@gmail.com","name":"alanlu1023"},{"email":"leandro.boscariol@gmail.com","name":"alfetopito"},{"email":"anxolin@gmail.com","name":"anxolin"},{"email":"bh2smith@gmail.com","name":"bh2smith"},{"email":"dasanra@hotmail.com","name":"dasanra"},{"email":"denisgranha@gmail.com","name":"denisgranha"},{"email":"felix@gnosis.pm","name":"fleupold"},{"email":"giacomo.licari@gnosis.pm","name":"giacomo.licari"},{"email":"josojo@hotmail.de","name":"josojo"},{"email":"nlordell@gmail.com","name":"nlordell"},{"email":"richard@gnosis.pm","name":"rmeissner"},{"email":"stefan.david.george@gmail.com","name":"stefan.george"},{"email":"velenir@gmail.com","name":"velenir"},{"email":"doohhello@gmail.com","name":"w3stside"}],"_npmUser":{"name":"fleupold","email":"felix@gnosis.pm"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mock-contract_4.0.0_1596539164109_0.7766126200900065"},"_hasShrinkwrap":false}},"time":{"created":"2018-09-04T13:47:38.215Z","1.0.0":"2018-09-04T13:47:38.449Z","modified":"2022-04-05T14:48:13.398Z","1.0.1":"2018-09-06T15:19:06.955Z","2.0.0":"2018-09-29T16:08:01.930Z","2.0.1":"2018-10-01T15:06:22.458Z","2.0.2":"2018-10-02T15:46:59.107Z","2.0.3":"2018-12-05T13:00:35.920Z","2.0.4":"2018-12-06T15:02:10.116Z","3.0.4":"2018-12-06T15:06:07.210Z","3.0.5":"2018-12-20T11:50:56.384Z","3.0.6":"2019-01-03T09:07:40.963Z","3.0.7":"2019-02-01T08:39:35.032Z","3.0.8":"2019-11-22T11:47:04.228Z","4.0.0":"2020-08-04T11:06:04.250Z"},"maintainers":[{"email":"devops.dex@gnosis.pm","name":"gnosisdex"},{"email":"federico.giacon+npmjs@gnosis.io","name":"fedgiac"},{"email":"leandro.boscariol@gmail.com","name":"alfetopito"},{"email":"anxolin@gmail.com","name":"anxolin"},{"email":"bh2smith@gmail.com","name":"bh2smith"},{"email":"felix@gnosis.pm","name":"fleupold"},{"email":"josojo@hotmail.de","name":"josojo"},{"email":"nlordell@gmail.com","name":"nlordell"},{"email":"doohhello@gmail.com","name":"w3stside"}],"description":"Simple Solidity contract to mock dependent contracts in truffle tests.","keywords":["solidity","mock","unit-testing","ethereum","truffle","stub","contract"],"author":{"name":"Felix Leupold"},"license":"ISC","readme":"[![Build Status](https://travis-ci.org/gnosis/mock-contract.svg?branch=master)](https://travis-ci.org/gnosis/mock-contract)\n\n# MockContract\n\nSimple Solidity contract to mock dependencies in truffle tests. It enables you to\n - Make dependent contracts return predefined values for different methods and arguments\n - Simulate exceptions such as `revert` and `outOfGas`\n - Assert on how often a dependency is called\n \n *MockContract* allows for all of that without having to write a separate test contract each time.\n\n# Usage in your project\n\nInstall module from npm\n```bash\nnpm i -D @gnosis.pm/mock-contract\n```\n\nEnable compilation of MockContract\n* Add a new `Imports.sol` to the `contracts` folder the project\n* Copy the following code into `Imports.sol`:\n```js\npragma solidity ^0.6.0;\n\n// We import the contract so truffle compiles it, and we have the ABI \n// available when working from truffle console.\nimport \"@gnosis.pm/mock-contract/contracts/MockContract.sol\";\n```\n* Use in javascript unit test:\n```\nconst MockContract = artifacts.require(\"./MockContract.sol\")\n\n// Instantiate mock and make it return true for any invocation\nconst mock = await MockContract.new()\nawait mock.givenAnyReturnBool(true)\n\n// instantiate \"object under test\" with mocked contract.\nconst contractToTest = await ComplextContract.new(mock.address)\n```\n\n# Step by Step Example\n\nLet's assume we want to test the following smart contract, which implements a simple bidding procedure:\n\n```js\npragma solidity ^0.6.0;\nimport \"./Token.sol\";\n\n/**\n * Contract that stores the highest bidder while securing payment from a given ERC20 Token.\n * Upon each bid the cost of bidding is incremented.\n */\ncontract SimpleAuction {\n  address public captor; // Address of the highest bidder\n  \n  Token private token;\n  uint256 private cost;\n\n  constructor(Token _token) public {\n    token = _token;\n  }\n\n  function bid() public {\n    if (token.transferFrom(msg.sender, this, cost + 1)) {\n      require(token.transfer(captor, cost), \"Refund failed\");\n      captor = msg.sender;\n      cost += 1;\n    }\n  }\n}\n```\n\nIf we were to write unit tests for this class, we would have to provide an implementation of an ERC20 token contract. There are commonly two ways to deal with that:\n1. Use the real ERC20 token contract and configure it in a way that it will work for the test (e.g. call `token.approve` before bidding)\n2. Implement a fake Token contract that instead of real logic contains dummy implementations (e.g. `return true` for everything)\n\nThe problem with 1) is that the logic required to make our dependency behave in the intended way can be very complex and incurs additional maintenance work. It also doesn't isolate our tests - instead of only testing the unit under test it is testing the integration of multiple components.\n\nSolution 2) requires writing a *Fake* contract for each dependency. This takes time and pollutes the repository and migration files with a lot of non-production code.\n\n## Mocking General Interactions\n\n*MockContract* can act as a generic fake object for any type of contract. We can tell our mock what it should return upon certain invocations. For the example above, assume we want to write a test case where ERC20 transfers work just fine:\n\n```js\nconst MockContract = artifacts.require(\"./MockContract.sol\")\nconst SimpleAuction = artifacts.require(\"./SimpleAuction.sol\")\n...\nit('updates the captor', async () => {\n  const mock = await MockContract.new()\n  const auction = await SimpleAuction.new(mock.address)\n\n  const trueEncoded = web3.eth.abi.encodeParameter(\"bool\", true)\n  await mock.givenAnyReturnBool(trueEncoded)\n  await auction.bid({from: accounts[0]})\n  \n  assert.equal(accounts[0], await auction.captor.call())\n})\n```\n\nIn particular `await mock.givenAnyReturnBool(true)` will make it so that mock returns `true` on any method invocation. \n\nA plain mock without any expectations will return *nullish* values by default (e.g. `false` for bool, `0` for uint, etc). \n\nThere are convenience methods for other types such as `givenAnyReturnAddress` or `givenAnyReturnUint`. The full mock interface can be found [here](https://github.com/fleupold/mock-contract/blob/master/contracts/MockContract.sol#L3).\n\n## Mocking Methods Individually\n\nNow let's assume we want to test that the bid gets reverted if `token.transfer` succeeds but `token.transferFrom` fails:\n\n```js\nconst Token = artifacts.require(\"./Token.sol\")\n...\nit('should fail if we fail to refund', async () => {\n  const mock = await MockContract.new()\n  const auction = await SimpleAuction.new(mock.address)\n  const token = await Token.new();\n\n  const transferFrom = token.contract.methods.transferFrom(0, 0, 0).encodeABI() // arguments don't matter\n  const transfer = token.contract.methods.transfer(0,0).encodeABI() // arguments don't matter\n\n  await mock.givenMethodReturnBool(transferFrom, true)\n  await mock.givenMethodReturnBool(transfer, false)\n\n  try {\n    await auction.bid({from: accounts[1]})\n    assert.fail(\"Should have reverted\")\n  } catch (e) {}\n})\n```\n\nDifferent methods have different ABI encodings. `mock.givenMethodReturnBool(bytes, boolean)` takes the ABI encoded methodId as a first parameter and will only replace behavior for this method. There are two ways to construct the methodId. We recommend using the `encodeABI` call on the original contract's ABI:\n\n```js\n// Arguments do not matter, mock will only extract methodId\nconst transferFrom = token.contract.transferFrom(0, 0, 0).encodeABI()\n```\n\nWe could also create it manually using e.g.:\n\n```js\nconst transferFrom = web3.sha3(\"transferFrom(address,address,uint256)\").slice(0,10) // first 4 bytes\n```\n\nHowever, the latter approach is not type-safe and can lead to unexpected test behavior if the ABI on the original contract changes. The first approach would give a much more descriptive compilation error in that case.\n\nAgain there are convenience functions for other return types (e.g. `givenMethoReturnUint`). \n\nMocked methods will take priority over mocks using  *any*.\n\n## Mocking Methods & Arguments\n\nWe can also specify different behaviors for when the same method is called with different arguments:\n\n```js\nit('Keeps the old bidder if the new bidder fails to transfer', async () => {\n  ...\n  const transferFromA = token.contract.methods.transferFrom(accounts[0], auction.address, 1).encodeABI()\n  const transferFromB = token.contract.methods.transferFrom(accounts[1], auction.address, 2).encodeABI()\n\n  await mock.givenCalldataReturnBool(transferFromA, true)\n  await mock.givenCalldataReturnBool(transferFromB, false)\n\n  await auction.bid({from: accounts[0]})\n  await auction.bid({from: accounts[1]})\n      \n  assert.equal(accounts[0], await auction.captor.call())\n})\n```\n\nThis time we need to provide the full `calldata`. We can easily use the original contract's ABI `encodeABI`call to generate it. Again, convenience functions for other return types exist (e.g. `givenMethoReturnUint`). \n\nMocked calls with exact calldata will takes priority over *method* mocks and *any* mocks.\n\n## Simulating Failure\n\nWe can also simulate EVM exceptions using `MockContract`. All methods are available for *any*, *method* and *calldata* specific calls:\n\n```js\n// Revert upon any invocation on mock without a specific message\nawait mock.givenAnyRevert()\n\n// Revert upon any invocation of `methodId` with the specific message\nawait mock.givenMethodRevertWithMessage(methodId, \"Some specific message\")\n\n// Run out of gas, if mock is called with `calldata`\nawait mock.givenCalldataRunOutOfGas(calldata)\n```\n\n## Inspect Invocations\n\nIt can sometime be useful to see how often a dependency has been called during a test-case. E.g. we might want to assert that `transfer` is not called if `transferFrom` failed in the first place:\n\n```js\nit('only does the second transfer if the first transfer succeed', async () => {\n  ...\n  await mock.givenAnyReturnBool(false)\n  await auction.bid()\n\n  const transfer = token.contract.methods.transfer(0,0).encodeABI()\n  \n  const invocationCount = await mock.invocationCountForMethod.call(transfer)\n  assert.equal(0, invocationCount)\n})\n```\n\nWe can inspect the total invocation of `mock` for all methods combined using `await invocationCount.call()` and for individual arguments using `await invocationCountForCalldata.call(calldata)`.\n\n## Resetting `mock`\n\nWe can override existing behavior throughout the lifetime of the test:\n\n```js\nawait mock.givenAnyReturnBool(true) // will return true from now on\nawait auction.bid()\nawait mock.givenAnyReturnBool(false) // will return false from now on\nawait auction.bid()\n```\nNote that previously specified *method* and *calldata* based behavior will be unaffected by overriding *any* mock behavior. \n\nTo completely reset all behavior and clear invocation counts, we can call:\n```js\nawait mock.reset()\n```\n\n## Complex `return` types\nIf the methods for returning the most commonly used types are not enough, we can manually ABI encode our responses with arbitrary solidity types:\n\n```js\nconst hello_world = web3.eth.abi.encodeParameter(\"string\", 'Hello World!')\nawait mock.givenAnyReturn(hello_world);\n```\n\n\n---------------------------------------\n\n*This is a work in progress and feedback is highly appreciated. Please open an issue on GitHub and/or submit a pull request.*\n","readmeFilename":"README.md","homepage":"https://github.com/fleupold/mock-contract"}