UNPKG

@river-build/generated

Version:

## How to generate contract types

1 lines 12.6 kB
{"abi":[{"type":"function","name":"batchMintPoints","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"checkIn","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getCurrentStreak","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLastCheckIn","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPoints","inputs":[{"name":"action","type":"uint8","internalType":"enum ITownsPointsBase.Action"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"CheckedIn","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"points","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"streak","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"lastCheckIn","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"TownsPoints__CheckInPeriodNotPassed","inputs":[]},{"type":"error","name":"TownsPoints__InvalidArrayLength","inputs":[]},{"type":"error","name":"TownsPoints__InvalidCallData","inputs":[]},{"type":"error","name":"TownsPoints__InvalidSpace","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"batchMintPoints(bytes)":"21620ba3","checkIn()":"183ff085","getCurrentStreak(address)":"42c6703a","getLastCheckIn(address)":"40195c85","getPoints(uint8,bytes)":"dc69fdde","mint(address,uint256)":"40c10f19"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"TownsPoints__CheckInPeriodNotPassed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TownsPoints__InvalidArrayLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TownsPoints__InvalidCallData\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TownsPoints__InvalidSpace\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"points\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"streak\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"lastCheckIn\",\"type\":\"uint256\"}],\"name\":\"CheckedIn\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"batchMintPoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"checkIn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getCurrentStreak\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getLastCheckIn\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ITownsPointsBase.Action\",\"name\":\"action\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"getPoints\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"CheckedIn(address,uint256,uint256,uint256)\":{\"params\":{\"lastCheckIn\":\"The timestamp when this check-in occurred\",\"points\":\"The number of points awarded for this check-in\",\"streak\":\"The user's current check-in streak after this check-in\",\"user\":\"The address of the user who checked in\"}}},\"kind\":\"dev\",\"methods\":{\"batchMintPoints(bytes)\":{\"details\":\"Only callable by the owner\",\"params\":{\"data\":\"The abi-encoded array of addresses and values to mint\"}},\"checkIn()\":{\"details\":\"Users must wait at least 24 hours between check-insIf a user checks in within 48 hours of their last check-in, their streak continuesOtherwise, their streak resets to 1\"},\"getCurrentStreak(address)\":{\"params\":{\"user\":\"The address of the user to query\"},\"returns\":{\"_0\":\"The current streak count for the user\"}},\"getLastCheckIn(address)\":{\"params\":{\"user\":\"The address of the user to query\"},\"returns\":{\"_0\":\"The timestamp of the user's last check-in, 0 if never checked in\"}},\"getPoints(uint8,bytes)\":{\"params\":{\"action\":\"The action to get the points from\",\"data\":\"The data of the action\"}},\"mint(address,uint256)\":{\"details\":\"Only spaces can mint points\",\"params\":{\"to\":\"The address to mint the points to\",\"value\":\"The amount of points to mint\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"TownsPoints__CheckInPeriodNotPassed()\":[{\"notice\":\"Error thrown when a user attempts to check in too soon after their last check-in\"}],\"TownsPoints__InvalidArrayLength()\":[{\"notice\":\"Error thrown when the array length is invalid\"}],\"TownsPoints__InvalidCallData()\":[{\"notice\":\"Error thrown when the call data is invalid\"}],\"TownsPoints__InvalidSpace()\":[{\"notice\":\"Error thrown when the space is invalid\"}]},\"events\":{\"CheckedIn(address,uint256,uint256,uint256)\":{\"notice\":\"Emitted when a user successfully checks in and receives points\"}},\"kind\":\"user\",\"methods\":{\"batchMintPoints(bytes)\":{\"notice\":\"Batch mint points to multiple users\"},\"checkIn()\":{\"notice\":\"Allows a user to check in and earn points based on their streak\"},\"getCurrentStreak(address)\":{\"notice\":\"Gets the current check-in streak for a user\"},\"getLastCheckIn(address)\":{\"notice\":\"Gets the timestamp of the user's last check-in\"},\"getPoints(uint8,bytes)\":{\"notice\":\"Get the points from an eligible action\"},\"mint(address,uint256)\":{\"notice\":\"Mint points to a user\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/src/airdrop/points/ITownsPoints.sol\":\"ITownsPoints\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@openzeppelin/contracts/=node_modules/@openzeppelin/contracts/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@river-build/diamond/=node_modules/@river-build/diamond/\",\":@solidity/=node_modules/crypto-lib/src/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":crypto-lib/=node_modules/crypto-lib/src/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"contracts/src/airdrop/points/ITownsPoints.sol\":{\"keccak256\":\"0x74efd98d20c068690c7ab7d1cb9da3b479d5b6e8cd77f6a15397dc00bf7cffe3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3347da71749d97cc762da41e39426f9f29360a56ed4c2a4958181ef95ff7cff4\",\"dweb:/ipfs/QmaYFT3Vov6K4H64hQefiEzuzTGrcU4yBXiPFSCagdAukE\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"TownsPoints__CheckInPeriodNotPassed"},{"inputs":[],"type":"error","name":"TownsPoints__InvalidArrayLength"},{"inputs":[],"type":"error","name":"TownsPoints__InvalidCallData"},{"inputs":[],"type":"error","name":"TownsPoints__InvalidSpace"},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true},{"internalType":"uint256","name":"points","type":"uint256","indexed":false},{"internalType":"uint256","name":"streak","type":"uint256","indexed":false},{"internalType":"uint256","name":"lastCheckIn","type":"uint256","indexed":false}],"type":"event","name":"CheckedIn","anonymous":false},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"batchMintPoints"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"checkIn"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"stateMutability":"view","type":"function","name":"getCurrentStreak","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"stateMutability":"view","type":"function","name":"getLastCheckIn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum ITownsPointsBase.Action","name":"action","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"view","type":"function","name":"getPoints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint"}],"devdoc":{"kind":"dev","methods":{"batchMintPoints(bytes)":{"details":"Only callable by the owner","params":{"data":"The abi-encoded array of addresses and values to mint"}},"checkIn()":{"details":"Users must wait at least 24 hours between check-insIf a user checks in within 48 hours of their last check-in, their streak continuesOtherwise, their streak resets to 1"},"getCurrentStreak(address)":{"params":{"user":"The address of the user to query"},"returns":{"_0":"The current streak count for the user"}},"getLastCheckIn(address)":{"params":{"user":"The address of the user to query"},"returns":{"_0":"The timestamp of the user's last check-in, 0 if never checked in"}},"getPoints(uint8,bytes)":{"params":{"action":"The action to get the points from","data":"The data of the action"}},"mint(address,uint256)":{"details":"Only spaces can mint points","params":{"to":"The address to mint the points to","value":"The amount of points to mint"}}},"version":1},"userdoc":{"kind":"user","methods":{"batchMintPoints(bytes)":{"notice":"Batch mint points to multiple users"},"checkIn()":{"notice":"Allows a user to check in and earn points based on their streak"},"getCurrentStreak(address)":{"notice":"Gets the current check-in streak for a user"},"getLastCheckIn(address)":{"notice":"Gets the timestamp of the user's last check-in"},"getPoints(uint8,bytes)":{"notice":"Get the points from an eligible action"},"mint(address,uint256)":{"notice":"Mint points to a user"}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@openzeppelin/contracts/=node_modules/@openzeppelin/contracts/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@river-build/diamond/=node_modules/@river-build/diamond/","@solidity/=node_modules/crypto-lib/src/","account-abstraction/=node_modules/account-abstraction/contracts/","crypto-lib/=node_modules/crypto-lib/src/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"contracts/src/airdrop/points/ITownsPoints.sol":"ITownsPoints"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/src/airdrop/points/ITownsPoints.sol":{"keccak256":"0x74efd98d20c068690c7ab7d1cb9da3b479d5b6e8cd77f6a15397dc00bf7cffe3","urls":["bzz-raw://3347da71749d97cc762da41e39426f9f29360a56ed4c2a4958181ef95ff7cff4","dweb:/ipfs/QmaYFT3Vov6K4H64hQefiEzuzTGrcU4yBXiPFSCagdAukE"],"license":"MIT"}},"version":1},"id":122}