fix: same address in cron
This commit is contained in:
parent
da6ba29817
commit
05de71a2d6
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.env
|
||||||
93
main.go
93
main.go
@ -16,53 +16,60 @@ import (
|
|||||||
func main() {
|
func main() {
|
||||||
godotenv.Load() //nolint:errcheck
|
godotenv.Load() //nolint:errcheck
|
||||||
|
|
||||||
address := strings.Split(os.Getenv("ADDRESS"), ",")
|
wallets := strings.Split(os.Getenv("ADDRESS"), ",")
|
||||||
|
|
||||||
s := gocron.NewScheduler(time.UTC)
|
s := gocron.NewScheduler(time.UTC)
|
||||||
|
|
||||||
for _, a := range address {
|
for _, w := range wallets {
|
||||||
s.Every(6).Hours().Do(func() { //nolint:errcheck
|
run(s, w)
|
||||||
url := "https://faucet.devnet.sui.io/gas"
|
|
||||||
|
|
||||||
request := `{"FixedAmountRequest":{"recipient":"` + a + `"}}`
|
|
||||||
|
|
||||||
resp, err := http.Post(url, "application/json", strings.NewReader(request))
|
|
||||||
if err != nil {
|
|
||||||
log.Err(err).Msg("error sending request")
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
defer func() {
|
|
||||||
_ = resp.Body.Close()
|
|
||||||
}()
|
|
||||||
|
|
||||||
body, err := io.ReadAll(resp.Body)
|
|
||||||
if err != nil {
|
|
||||||
log.Err(err).Msg("error reading response body")
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
if resp.StatusCode == http.StatusCreated {
|
|
||||||
type Data struct {
|
|
||||||
TransferredGasObjects []struct {
|
|
||||||
Amount uint `json:"amount"`
|
|
||||||
ID string `json:"id"`
|
|
||||||
TransferTxDigest string `json:"transferTxDigest"`
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var d Data
|
|
||||||
err = json.Unmarshal(body, &d)
|
|
||||||
if err != nil {
|
|
||||||
log.Err(err).Msg("error unmarshalling data")
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
log.Info().Msg("Claim successful!")
|
|
||||||
} else {
|
|
||||||
log.Error().Msg(string(body))
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
s.StartBlocking()
|
s.StartBlocking()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func run(s *gocron.Scheduler, w string) {
|
||||||
|
s.Every(6).Hours().Do(func() { //nolint:errcheck
|
||||||
|
url := "https://faucet.devnet.sui.io/gas"
|
||||||
|
|
||||||
|
request := `
|
||||||
|
{"FixedAmountRequest":{"recipient":"` + w + `"}}
|
||||||
|
`
|
||||||
|
|
||||||
|
resp, err := http.Post(url, "application/json", strings.NewReader(request))
|
||||||
|
if err != nil {
|
||||||
|
log.Err(err).Str("wallet", w).Msg("error sending request")
|
||||||
|
}
|
||||||
|
|
||||||
|
defer func() {
|
||||||
|
_ = resp.Body.Close()
|
||||||
|
}()
|
||||||
|
|
||||||
|
body, err := io.ReadAll(resp.Body)
|
||||||
|
if err != nil {
|
||||||
|
log.Err(err).Str("wallet", w).Msg("error reading response body")
|
||||||
|
}
|
||||||
|
|
||||||
|
if resp.StatusCode == http.StatusCreated {
|
||||||
|
type Data struct {
|
||||||
|
TransferredGasObjects []struct {
|
||||||
|
Amount uint `json:"amount"`
|
||||||
|
ID string `json:"id"`
|
||||||
|
TransferTxDigest string `json:"transferTxDigest"`
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var d Data
|
||||||
|
err = json.Unmarshal(body, &d)
|
||||||
|
if err != nil {
|
||||||
|
log.Err(err).Str("wallet", w).Msg("error unmarshalling data")
|
||||||
|
}
|
||||||
|
log.Info().Str("wallet", w).Msg("Claim successful!")
|
||||||
|
} else {
|
||||||
|
if string(body) == "error code: 1015" {
|
||||||
|
log.Info().Str("wallet", w).Msg("Claim already made!")
|
||||||
|
} else {
|
||||||
|
log.Error().Str("wallet", w).Msg(string(body))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user