Documentation ¶
Overview ¶
Package utxo is a generated GoMock package.
Index ¶
- Variables
- type Handler
- type MockVerifier
- func (m *MockVerifier) EXPECT() *MockVerifierMockRecorder
- func (m *MockVerifier) VerifySpend(arg0 txs.UnsignedTx, arg1 avax.UTXOGetter, arg2 []*avax.TransferableInput, ...) error
- func (m *MockVerifier) VerifySpendUTXOs(arg0 txs.UnsignedTx, arg1 []*avax.UTXO, arg2 []*avax.TransferableInput, ...) error
- type MockVerifierMockRecorder
- type Spender
- type Verifier
Constants ¶
This section is empty.
Variables ¶
Functions ¶
This section is empty.
Types ¶
type MockVerifier ¶
type MockVerifier struct {
// contains filtered or unexported fields
}
MockVerifier is a mock of Verifier interface.
func NewMockVerifier ¶
func NewMockVerifier(ctrl *gomock.Controller) *MockVerifier
NewMockVerifier creates a new mock instance.
func (*MockVerifier) EXPECT ¶
func (m *MockVerifier) EXPECT() *MockVerifierMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockVerifier) VerifySpend ¶
func (m *MockVerifier) VerifySpend(arg0 txs.UnsignedTx, arg1 avax.UTXOGetter, arg2 []*avax.TransferableInput, arg3 []*avax.TransferableOutput, arg4 []verify.Verifiable, arg5 map[ids.ID]uint64) error
VerifySpend mocks base method.
func (*MockVerifier) VerifySpendUTXOs ¶
func (m *MockVerifier) VerifySpendUTXOs(arg0 txs.UnsignedTx, arg1 []*avax.UTXO, arg2 []*avax.TransferableInput, arg3 []*avax.TransferableOutput, arg4 []verify.Verifiable, arg5 map[ids.ID]uint64) error
VerifySpendUTXOs mocks base method.
type MockVerifierMockRecorder ¶
type MockVerifierMockRecorder struct {
// contains filtered or unexported fields
}
MockVerifierMockRecorder is the mock recorder for MockVerifier.
func (*MockVerifierMockRecorder) VerifySpend ¶
func (mr *MockVerifierMockRecorder) VerifySpend(arg0, arg1, arg2, arg3, arg4, arg5 interface{}) *gomock.Call
VerifySpend indicates an expected call of VerifySpend.
func (*MockVerifierMockRecorder) VerifySpendUTXOs ¶
func (mr *MockVerifierMockRecorder) VerifySpendUTXOs(arg0, arg1, arg2, arg3, arg4, arg5 interface{}) *gomock.Call
VerifySpendUTXOs indicates an expected call of VerifySpendUTXOs.
type Spender ¶
type Spender interface { // Spend the provided amount while deducting the provided fee. // Arguments: // - [keys] are the owners of the funds // - [amount] is the amount of funds that are trying to be staked // - [fee] is the amount of AVAX that should be burned // - [changeAddr] is the address that change, if there is any, is sent to // Returns: // - [inputs] the inputs that should be consumed to fund the outputs // - [returnedOutputs] the outputs that should be immediately returned to // the UTXO set // - [stakedOutputs] the outputs that should be locked for the duration of // the staking period // - [signers] the proof of ownership of the funds being moved Spend( utxoReader avax.UTXOReader, keys []*secp256k1.PrivateKey, amount uint64, fee uint64, changeAddr ids.ShortID, ) ( []*avax.TransferableInput, []*avax.TransferableOutput, []*avax.TransferableOutput, [][]*secp256k1.PrivateKey, error, ) // Authorize an operation on behalf of the named subnet with the provided // keys. Authorize( state state.Chain, subnetID ids.ID, keys []*secp256k1.PrivateKey, ) ( verify.Verifiable, []*secp256k1.PrivateKey, error, ) }
TODO: Stake and Authorize should be replaced by similar methods in the P-chain wallet
type Verifier ¶
type Verifier interface { // Verify that [tx] is semantically valid. // [ins] and [outs] are the inputs and outputs of [tx]. // [creds] are the credentials of [tx], which allow [ins] to be spent. // [unlockedProduced] is the map of assets that were produced and their // amounts. // The [ins] must have at least [unlockedProduced] than the [outs]. // // Precondition: [tx] has already been syntactically verified. // // Note: [unlockedProduced] is modified by this method. VerifySpend( tx txs.UnsignedTx, utxoDB avax.UTXOGetter, ins []*avax.TransferableInput, outs []*avax.TransferableOutput, creds []verify.Verifiable, unlockedProduced map[ids.ID]uint64, ) error // Verify that [tx] is semantically valid. // [utxos[i]] is the UTXO being consumed by [ins[i]]. // [ins] and [outs] are the inputs and outputs of [tx]. // [creds] are the credentials of [tx], which allow [ins] to be spent. // [unlockedProduced] is the map of assets that were produced and their // amounts. // The [ins] must have at least [unlockedProduced] more than the [outs]. // // Precondition: [tx] has already been syntactically verified. // // Note: [unlockedProduced] is modified by this method. VerifySpendUTXOs( tx txs.UnsignedTx, utxos []*avax.UTXO, ins []*avax.TransferableInput, outs []*avax.TransferableOutput, creds []verify.Verifiable, unlockedProduced map[ids.ID]uint64, ) error }
Click to show internal directories.
Click to hide internal directories.