(ctx sdk.Context, provider sdk.AccAddress, snapshotHash []byte, resources vtypes.ResourceSummary, snapshotTimestamp time.Time)
| 296 | } |
| 297 | |
| 298 | func (k *keeper) PostSnapshotHash(ctx sdk.Context, provider sdk.AccAddress, snapshotHash []byte, resources vtypes.ResourceSummary, snapshotTimestamp time.Time) error { |
| 299 | if !k.providerExists(ctx, provider) { |
| 300 | return moduletypes.ErrProviderNotRegistered |
| 301 | } |
| 302 | if err := validateHash(snapshotHash, "snapshot hash"); err != nil { |
| 303 | return err |
| 304 | } |
| 305 | if snapshotTimestamp.IsZero() || snapshotTimestamp.After(ctx.BlockTime()) { |
| 306 | return moduletypes.ErrSnapshotTooOld |
| 307 | } |
| 308 | |
| 309 | params := k.GetParams(ctx) |
| 310 | if ctx.BlockTime().Sub(snapshotTimestamp) > params.MaxSnapshotAge { |
| 311 | return moduletypes.ErrSnapshotTooOld |
| 312 | } |
| 313 | |
| 314 | record := vtypes.ProviderSnapshotRecord{ |
| 315 | Provider: provider.String(), |
| 316 | SnapshotHash: snapshotHash, |
| 317 | ResourceSummary: resources, |
| 318 | PostedAt: ctx.BlockTime(), |
| 319 | SnapshotTimestamp: snapshotTimestamp, |
| 320 | ComplianceDeadline: ctx.BlockTime().Add(params.SnapshotHashInterval), |
| 321 | Suspended: false, |
| 322 | } |
| 323 | if err := k.SetProviderSnapshot(ctx, record); err != nil { |
| 324 | return err |
| 325 | } |
| 326 | return ctx.EventManager().EmitTypedEvent(&vtypes.EventSnapshotHashPosted{ |
| 327 | Provider: record.Provider, |
| 328 | SnapshotHash: record.SnapshotHash, |
| 329 | ComplianceDeadline: record.ComplianceDeadline, |
| 330 | }) |
| 331 | } |
| 332 | |
| 333 | func (k *keeper) OpenAuditEscrow( |
| 334 | ctx sdk.Context, |
nothing calls this directly
no test coverage detected