(t *testing.T)
| 649 | } |
| 650 | |
| 651 | func TestRevokeAttestationDisposition(t *testing.T) { |
| 652 | tests := []struct { |
| 653 | name string |
| 654 | reason vtypes.AttestationRevocationReason |
| 655 | wantFault vtypes.FaultAttribution |
| 656 | wantFeeStatus vtypes.FeeStatus |
| 657 | wantDepositStatus vtypes.DepositStatus |
| 658 | wantAccountTxs []func(sdk.AccAddress, sdk.AccAddress, vtypes.AttestationRecord) bankTransfer |
| 659 | wantModuleTxs []func(vtypes.AttestationRecord) bankTransfer |
| 660 | }{ |
| 661 | { |
| 662 | name: "provider fault releases fee and deposit to auditor", |
| 663 | reason: vtypes.AttestationRevocationReasonProviderNoLongerQualifies, |
| 664 | wantFault: vtypes.FaultAttributionProviderFault, |
| 665 | wantFeeStatus: vtypes.FeeStatusReleasedToAuditor, |
| 666 | wantDepositStatus: vtypes.DepositStatusReturnedToAuditor, |
| 667 | wantAccountTxs: []func(sdk.AccAddress, sdk.AccAddress, vtypes.AttestationRecord) bankTransfer{ |
| 668 | func(_ sdk.AccAddress, auditor sdk.AccAddress, attestation vtypes.AttestationRecord) bankTransfer { |
| 669 | return bankTransfer{to: auditor, module: moduletypes.ModuleName, amt: sdk.NewCoins(attestation.Fee)} |
| 670 | }, |
| 671 | func(_ sdk.AccAddress, auditor sdk.AccAddress, attestation vtypes.AttestationRecord) bankTransfer { |
| 672 | return bankTransfer{to: auditor, module: moduletypes.ModuleName, amt: sdk.NewCoins(attestation.Deposit)} |
| 673 | }, |
| 674 | }, |
| 675 | }, |
| 676 | { |
| 677 | name: "auditor evidence error refunds provider and slashes deposit", |
| 678 | reason: vtypes.AttestationRevocationReasonAuditorEvidenceError, |
| 679 | wantFault: vtypes.FaultAttributionAuditorFault, |
| 680 | wantFeeStatus: vtypes.FeeStatusReturnedToProvider, |
| 681 | wantDepositStatus: vtypes.DepositStatusSlashed, |
| 682 | wantAccountTxs: []func(sdk.AccAddress, sdk.AccAddress, vtypes.AttestationRecord) bankTransfer{ |
| 683 | func(provider sdk.AccAddress, _ sdk.AccAddress, attestation vtypes.AttestationRecord) bankTransfer { |
| 684 | return bankTransfer{to: provider, module: moduletypes.ModuleName, amt: sdk.NewCoins(attestation.Fee)} |
| 685 | }, |
| 686 | }, |
| 687 | wantModuleTxs: []func(vtypes.AttestationRecord) bankTransfer{ |
| 688 | func(attestation vtypes.AttestationRecord) bankTransfer { |
| 689 | return bankTransfer{fromModule: moduletypes.ModuleName, toModule: distrtypes.ModuleName, amt: sdk.NewCoins(attestation.Deposit)} |
| 690 | }, |
| 691 | }, |
| 692 | }, |
| 693 | { |
| 694 | name: "auditor operational exit refunds provider and returns deposit", |
| 695 | reason: vtypes.AttestationRevocationReasonAuditorOperationalExit, |
| 696 | wantFault: vtypes.FaultAttributionNoFault, |
| 697 | wantFeeStatus: vtypes.FeeStatusReturnedToProvider, |
| 698 | wantDepositStatus: vtypes.DepositStatusReturnedToAuditor, |
| 699 | wantAccountTxs: []func(sdk.AccAddress, sdk.AccAddress, vtypes.AttestationRecord) bankTransfer{ |
| 700 | func(provider sdk.AccAddress, _ sdk.AccAddress, attestation vtypes.AttestationRecord) bankTransfer { |
| 701 | return bankTransfer{to: provider, module: moduletypes.ModuleName, amt: sdk.NewCoins(attestation.Fee)} |
| 702 | }, |
| 703 | func(_ sdk.AccAddress, auditor sdk.AccAddress, attestation vtypes.AttestationRecord) bankTransfer { |
| 704 | return bankTransfer{to: auditor, module: moduletypes.ModuleName, amt: sdk.NewCoins(attestation.Deposit)} |
| 705 | }, |
| 706 | }, |
| 707 | }, |
| 708 | } |
nothing calls this directly
no test coverage detected