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 ¶ added in v1.8.0
type MockVerifier struct {
// contains filtered or unexported fields
}
MockVerifier is a mock of Verifier interface.
func NewMockVerifier ¶ added in v1.8.0
func NewMockVerifier(ctrl *gomock.Controller) *MockVerifier
NewMockVerifier creates a new mock instance.
func (*MockVerifier) EXPECT ¶ added in v1.8.0
func (m *MockVerifier) EXPECT() *MockVerifierMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockVerifier) VerifySpend ¶ added in v1.8.0
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 ¶ added in v1.8.0
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 ¶ added in v1.8.0
type MockVerifierMockRecorder struct {
// contains filtered or unexported fields
}
MockVerifierMockRecorder is the mock recorder for MockVerifier.
func (*MockVerifierMockRecorder) VerifySpend ¶ added in v1.8.0
func (mr *MockVerifierMockRecorder) VerifySpend(arg0, arg1, arg2, arg3, arg4, arg5 interface{}) *gomock.Call
VerifySpend indicates an expected call of VerifySpend.
func (*MockVerifierMockRecorder) VerifySpendUTXOs ¶ added in v1.8.0
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.