Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

X-chain - consolidate tx creation in unit tests #2736

Merged
merged 156 commits into from
Jun 10, 2024
Merged
Show file tree
Hide file tree
Changes from 132 commits
Commits
Show all changes
156 commits
Select commit Hold shift + click to select a range
1adc328
E fork scaffolding
abi87 Jan 10, 2024
f6d7382
Merge branch 'dev' into e-fork-scaffolding
abi87 Jan 10, 2024
3889e51
Merge branch 'dev' into e-fork-scaffolding
abi87 Jan 12, 2024
e725961
Merge branch 'dev' into e-fork-scaffolding
abi87 Jan 15, 2024
30a4343
Merge branch 'dev' into e-fork-scaffolding
abi87 Jan 16, 2024
add3a35
Merge branch 'dev' into e-fork-scaffolding
abi87 Jan 17, 2024
3d08216
Merge branch 'dev' into e-fork-scaffolding
abi87 Jan 18, 2024
8f35564
Merge branch 'dev' into e-fork-scaffolding
abi87 Jan 19, 2024
2b16538
Merge branch 'master' into e-fork-scaffolding
abi87 Jan 26, 2024
4751e79
Merge branch 'master' into e-fork-scaffolding
abi87 Jan 29, 2024
e00d7c9
drop temporary fork time
abi87 Jan 29, 2024
b454987
Merge branch 'master' into e-fork-scaffolding
abi87 Feb 1, 2024
f832034
nits
abi87 Feb 1, 2024
d33a6a2
Merge branch 'master' into e-fork-scaffolding
abi87 Feb 7, 2024
8a89505
Merge branch 'master' into e-fork-scaffolding
abi87 Feb 8, 2024
3daec34
cleanup
abi87 Feb 8, 2024
a0020b1
Merge branch 'master' into e-fork-scaffolding
abi87 Feb 9, 2024
f28b80b
Merge branch 'master' into e-fork-scaffolding
abi87 Feb 12, 2024
26fcb79
Merge branch 'master' into e-fork-scaffolding
abi87 Feb 13, 2024
1feae9a
refactored createAssetTx builder
abi87 Feb 14, 2024
39cae3c
refactored baseTx builder
abi87 Feb 14, 2024
199424b
Merge branch 'master' into e-fork-scaffolding
abi87 Feb 15, 2024
7c04d76
refactored operationTx builder
abi87 Feb 14, 2024
40e480a
refactored exportTx builder
abi87 Feb 15, 2024
03c0a9f
wip: refactoring importTx builder
abi87 Feb 15, 2024
cb0a693
replaced Spend with NewSpend
abi87 Feb 15, 2024
625817e
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 Feb 15, 2024
1f95de4
nits
abi87 Feb 15, 2024
5ea9c0b
Merge branch 'master' into e-fork-scaffolding
abi87 Feb 15, 2024
dcdf22c
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 Feb 16, 2024
2b05cf1
Merge branch 'master' into e-fork-scaffolding
abi87 Feb 16, 2024
9a6795b
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 Feb 16, 2024
9b97764
Merge branch 'master' into e-fork-scaffolding
abi87 Feb 19, 2024
6315ae0
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 Feb 19, 2024
a4b81e6
fork switch to the avm
abi87 Feb 20, 2024
392e935
Merge branch 'master' into e-fork-scaffolding
abi87 Feb 21, 2024
d3a733e
Merge branch 'master' into e-fork-scaffolding
abi87 Feb 22, 2024
0db8e79
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 Feb 22, 2024
a8d8111
repackaged x-chain wallet backends
abi87 Feb 22, 2024
c6fa18c
Merge branch 'x-chain_wallet_backends' into x-chain-consolidate-tx-cr…
abi87 Feb 22, 2024
1d61776
minor repackaging
abi87 Feb 22, 2024
d975933
wip: consolidating tx building
abi87 Feb 22, 2024
57f5b22
wip: some more consolidation
abi87 Feb 22, 2024
60277cd
Merge branch 'e-fork-scaffolding' into x-chain-consolidate-tx-creation
abi87 Feb 23, 2024
68f5cb7
removed noFeesTestConfg from avm unit tests
abi87 Feb 23, 2024
10a2c74
Merge branch 'master' into x-chain_wallet_backends
abi87 Feb 25, 2024
9351da1
Merge branch 'x-chain_wallet_backends' into x-chain-consolidate-tx-cr…
abi87 Feb 25, 2024
8e45dd9
Merge branch 'master' into x-chain_wallet_backends
abi87 Feb 29, 2024
8bc9160
Merge branch 'x-chain_wallet_backends' into x-chain-consolidate-tx-cr…
abi87 Feb 29, 2024
8d74f21
Merge branch 'master' into x-chain_wallet_backends
abi87 Mar 4, 2024
929dfab
Merge branch 'x-chain_wallet_backends' into x-chain-consolidate-tx-cr…
abi87 Mar 4, 2024
0be7156
Merge branch 'master' into x-chain_wallet_backends
abi87 Mar 5, 2024
e59213b
Merge branch 'master' into x-chain_wallet_backends
abi87 Mar 6, 2024
2492f5e
Merge branch 'x-chain_wallet_backends' into x-chain-consolidate-tx-cr…
abi87 Mar 6, 2024
54a7f4b
Merge branch 'master' into x-chain_wallet_backends
abi87 Mar 7, 2024
48087b1
Merge branch 'x-chain_wallet_backends' into x-chain-consolidate-tx-cr…
abi87 Mar 7, 2024
ae9e074
Merge branch 'master' into x-chain_wallet_backends
abi87 Mar 11, 2024
11d1ec8
Merge branch 'x-chain_wallet_backends' into x-chain-consolidate-tx-cr…
abi87 Mar 11, 2024
80b4464
Merge branch 'master' into x-chain_wallet_backends
abi87 Mar 11, 2024
a1e71bb
Merge branch 'x-chain_wallet_backends' into x-chain-consolidate-tx-cr…
abi87 Mar 11, 2024
1e9348f
Merge branch 'master' into x-chain_wallet_backends
abi87 Mar 12, 2024
2fd9017
Merge branch 'x-chain_wallet_backends' into x-chain-consolidate-tx-cr…
abi87 Mar 12, 2024
b33d825
Merge branch 'master' into x-chain_wallet_backends
abi87 Mar 13, 2024
eb41fdb
Merge branch 'x-chain_wallet_backends' into x-chain-consolidate-tx-cr…
abi87 Mar 13, 2024
f0b3c69
fixed merge
abi87 Mar 13, 2024
8420192
fixed merge
abi87 Mar 13, 2024
54d3440
Merge branch 'master' into x-chain_wallet_backends
abi87 Mar 18, 2024
1711699
Merge branch 'x-chain_wallet_backends' into x-chain-consolidate-tx-cr…
abi87 Mar 18, 2024
0cd1353
Merge branch 'master' into x-chain_wallet_backends
abi87 Mar 19, 2024
78b6460
Merge branch 'x-chain_wallet_backends' into x-chain-consolidate-tx-cr…
abi87 Mar 19, 2024
31b691a
merged
StephenButtolph Mar 19, 2024
1a8490c
merged
StephenButtolph Mar 19, 2024
a98e9b1
merged
StephenButtolph Mar 19, 2024
59a1e07
fix
StephenButtolph Mar 19, 2024
40ef4fa
Merge branch 'x-chain_wallet_backends' into x-chain-consolidate-tx-cr…
abi87 Mar 19, 2024
5782a14
fixed merge
abi87 Mar 19, 2024
f2d8c8c
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 Mar 20, 2024
688592d
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 Mar 22, 2024
1e73a95
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 Mar 25, 2024
65f77e4
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 Mar 26, 2024
18e6293
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 Mar 27, 2024
5d69721
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 Mar 28, 2024
8037af7
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 Mar 29, 2024
1d4353d
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 Mar 29, 2024
bb07c56
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 Apr 2, 2024
892a043
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 Apr 3, 2024
0628635
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 Apr 4, 2024
f7786e8
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 Apr 8, 2024
0365a16
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 Apr 9, 2024
917fada
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 Apr 11, 2024
5667ace
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 Apr 12, 2024
c2165c2
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 Apr 15, 2024
7088342
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 Apr 16, 2024
34cf1ee
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 Apr 23, 2024
ebb56c1
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 Apr 24, 2024
a529c11
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 Apr 26, 2024
c7d9274
reverted UTs changes
abi87 Apr 26, 2024
1bd4b3a
reduced diff
abi87 Apr 26, 2024
9000228
nit
abi87 Apr 26, 2024
309a42e
consolidated tx creation in UTs
abi87 Apr 26, 2024
a3d31b5
Merge branch 'x-chain_repack_tx_builder' into x-chain-consolidate-tx-…
abi87 Apr 26, 2024
136edf5
Merge branch 'master' into x-chain_repack_tx_builder
abi87 Apr 29, 2024
43d3776
Merge branch 'x-chain_repack_tx_builder' into x-chain-consolidate-tx-…
abi87 Apr 29, 2024
c2ec02c
Merge branch 'master' into x-chain_repack_tx_builder
abi87 May 2, 2024
8dfbf73
Merge branch 'master' into x-chain_repack_tx_builder
abi87 May 6, 2024
249cd6b
Merge branch 'master' into x-chain_repack_tx_builder
abi87 May 7, 2024
3aba33c
cleanup
abi87 May 8, 2024
3fea872
cleanup
abi87 May 9, 2024
2894f7c
nit
abi87 May 9, 2024
0758ec0
Some more cleanup
abi87 May 9, 2024
1fc7105
simplified AVM backend interface
abi87 May 9, 2024
86f2558
Merge branch 'master' into x-chain_repack_tx_builder
abi87 May 9, 2024
808d680
Merge branch 'x-chain_repack_tx_builder' into x-chain-consolidate-tx-…
abi87 May 9, 2024
4dd1890
Merge branch 'master' into x-chain_repack_tx_builder
abi87 May 9, 2024
0073de6
Merge branch 'x-chain_repack_tx_builder' into x-chain-consolidate-tx-…
abi87 May 10, 2024
a37652c
Merge branch 'master' into x-chain_repack_tx_builder
abi87 May 13, 2024
d80d282
Merge branch 'x-chain_repack_tx_builder' into x-chain-consolidate-tx-…
abi87 May 13, 2024
796e31a
Merge branch 'master' into x-chain_repack_tx_builder
abi87 May 13, 2024
0134d7d
Merge branch 'master' into x-chain_repack_tx_builder
abi87 May 14, 2024
ecfbd6a
nit
abi87 May 14, 2024
37440f4
Merge branch 'master' into x-chain_repack_tx_builder
abi87 May 14, 2024
35dd485
Merge branch 'x-chain_repack_tx_builder' into x-chain-consolidate-tx-…
abi87 May 15, 2024
c46c132
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 May 16, 2024
ba8f805
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 May 20, 2024
71c0202
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 May 21, 2024
06628d6
wip: reverted prod code changes
abi87 May 21, 2024
adb9c2d
wip: move UTs to use their own backend
abi87 May 21, 2024
f7af3c1
consolidated txBuilder to make them similar to P-chain
abi87 May 21, 2024
10db896
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 May 21, 2024
bee94af
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 May 21, 2024
21550da
simplified avm test environment
abi87 May 21, 2024
2020d1c
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 May 22, 2024
9d4e0d4
consolidated avm UTs cleanup
abi87 May 22, 2024
9b31b05
nits over avm tx builder
abi87 May 22, 2024
3013fb1
removed some code duplication across UTs
abi87 May 22, 2024
003fa79
cleanup
abi87 May 22, 2024
8880e77
nit
abi87 May 22, 2024
b6d1869
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 May 22, 2024
350725e
nit
abi87 May 22, 2024
768cbf5
Merge branch 'x-chain-consolidate-tx-creation' of github.com:ava-labs…
abi87 May 22, 2024
f73ea9d
nits
abi87 May 22, 2024
de87fd6
some more nits
abi87 May 22, 2024
c0f0a3a
reduced diff
abi87 May 22, 2024
760fbf8
nit
abi87 May 22, 2024
870361a
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 May 22, 2024
8b4779d
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 May 23, 2024
3b65160
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 May 27, 2024
29f7af7
fixed UTs locking
abi87 May 27, 2024
fc07c85
nit
abi87 May 27, 2024
966e472
reduced diffs
abi87 May 27, 2024
becfdbd
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 May 28, 2024
1d17690
nit
abi87 May 29, 2024
1e8def5
Merge branch 'master' into x-chain-consolidate-tx-creation
abi87 Jun 10, 2024
aab2739
refactored placeholder_signature
abi87 Jun 10, 2024
c5ea3e1
nit
abi87 Jun 10, 2024
cbe35fa
some more cleanup
abi87 Jun 10, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 9 additions & 21 deletions vms/avm/environment_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,14 @@ import (
"github.com/ava-labs/avalanchego/utils/crypto/secp256k1"
"github.com/ava-labs/avalanchego/utils/formatting"
"github.com/ava-labs/avalanchego/utils/formatting/address"
"github.com/ava-labs/avalanchego/utils/linked"
"github.com/ava-labs/avalanchego/utils/logging"
"github.com/ava-labs/avalanchego/utils/sampler"
"github.com/ava-labs/avalanchego/utils/timer/mockable"
"github.com/ava-labs/avalanchego/vms/avm/block/executor"
"github.com/ava-labs/avalanchego/vms/avm/config"
"github.com/ava-labs/avalanchego/vms/avm/fxs"
"github.com/ava-labs/avalanchego/vms/avm/txs"
"github.com/ava-labs/avalanchego/vms/avm/txs/txstest"
"github.com/ava-labs/avalanchego/vms/components/avax"
"github.com/ava-labs/avalanchego/vms/nftfx"
"github.com/ava-labs/avalanchego/vms/secp256k1fx"
Expand Down Expand Up @@ -77,12 +77,6 @@ var (

keys = secp256k1.TestKeys()[:3] // TODO: Remove [:3]
addrs []ids.ShortID // addrs[i] corresponds to keys[i]

noFeesTestConfig = &config.Config{
EUpgradeTime: mockable.MaxTime,
TxFee: 0,
CreateAssetTxFee: 0,
}
Comment on lines -81 to -85
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

one of the key point of this PR: no more zero fees config. With the E upgrade we won't have zero fees anymore

)

func init() {
Expand Down Expand Up @@ -110,13 +104,12 @@ type envConfig struct {
}

type environment struct {
genesisBytes []byte
genesisTx *txs.Tx
sharedMemory *atomic.Memory
issuer chan common.Message
vm *VM
service *Service
walletService *WalletService
Comment on lines -118 to -119
Copy link
Contributor Author

@abi87 abi87 May 21, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dropped service and walletService. Using txBuilder to create txs instead.
service and walletService are created ad-hoc in their own unit tests

genesisBytes []byte
genesisTx *txs.Tx
sharedMemory *atomic.Memory
issuer chan common.Message
vm *VM
txBuilder *txstest.Builder
}

// setup the testing environment
Expand Down Expand Up @@ -204,19 +197,14 @@ func setup(tb testing.TB, c *envConfig) *environment {
stopVertexID := ids.GenerateTestID()
issuer := make(chan common.Message, 1)

backend := txstest.NewBackend(vm.ctx, vm.state, vm.ctx.SharedMemory, vm.parser.Codec())
env := &environment{
genesisBytes: genesisBytes,
genesisTx: getCreateTxFromGenesisTest(tb, genesisBytes, assetName),
sharedMemory: m,
issuer: issuer,
vm: vm,
service: &Service{
vm: vm,
},
walletService: &WalletService{
vm: vm,
pendingTxs: linked.NewHashmap[ids.ID, *txs.Tx](),
},
txBuilder: txstest.New(vm.ctx, &vm.Config, vm.feeAssetID, backend),
}

require.NoError(vm.SetState(context.Background(), snow.Bootstrapping))
Expand Down
22 changes: 7 additions & 15 deletions vms/avm/index_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,7 @@ import (
func TestIndexTransaction_Ordered(t *testing.T) {
require := require.New(t)

env := setup(t, &envConfig{
vmStaticConfig: noFeesTestConfig,
})
env := setup(t, &envConfig{fork: durango})
defer func() {
require.NoError(env.vm.Shutdown(context.Background()))
env.vm.ctx.Lock.Unlock()
Expand Down Expand Up @@ -72,9 +70,7 @@ func TestIndexTransaction_Ordered(t *testing.T) {
func TestIndexTransaction_MultipleTransactions(t *testing.T) {
require := require.New(t)

env := setup(t, &envConfig{
vmStaticConfig: noFeesTestConfig,
})
env := setup(t, &envConfig{fork: durango})
defer func() {
require.NoError(env.vm.Shutdown(context.Background()))
env.vm.ctx.Lock.Unlock()
Expand Down Expand Up @@ -120,9 +116,7 @@ func TestIndexTransaction_MultipleTransactions(t *testing.T) {
func TestIndexTransaction_MultipleAddresses(t *testing.T) {
require := require.New(t)

env := setup(t, &envConfig{
vmStaticConfig: noFeesTestConfig,
})
env := setup(t, &envConfig{fork: durango})
defer func() {
require.NoError(env.vm.Shutdown(context.Background()))
env.vm.ctx.Lock.Unlock()
Expand Down Expand Up @@ -163,9 +157,7 @@ func TestIndexTransaction_MultipleAddresses(t *testing.T) {
func TestIndexer_Read(t *testing.T) {
require := require.New(t)

env := setup(t, &envConfig{
vmStaticConfig: noFeesTestConfig,
})
env := setup(t, &envConfig{fork: durango})
defer func() {
require.NoError(env.vm.Shutdown(context.Background()))
env.vm.ctx.Lock.Unlock()
Expand Down Expand Up @@ -259,7 +251,7 @@ func buildUTXO(utxoID avax.UTXOID, txAssetID avax.Asset, addr ids.ShortID) *avax
UTXOID: utxoID,
Asset: txAssetID,
Out: &secp256k1fx.TransferOutput{
Amt: 1000,
Amt: startBalance,
OutputOwners: secp256k1fx.OutputOwners{
Threshold: 1,
Addrs: []ids.ShortID{addr},
Expand All @@ -277,14 +269,14 @@ func buildTX(chainID ids.ID, utxoID avax.UTXOID, txAssetID avax.Asset, address .
UTXOID: utxoID,
Asset: txAssetID,
In: &secp256k1fx.TransferInput{
Amt: 1000,
Amt: startBalance,
Input: secp256k1fx.Input{SigIndices: []uint32{0}},
},
}},
Outs: []*avax.TransferableOutput{{
Asset: txAssetID,
Out: &secp256k1fx.TransferOutput{
Amt: 1000,
Amt: startBalance - testTxFee,
OutputOwners: secp256k1fx.OutputOwners{
Threshold: 1,
Addrs: address,
Expand Down
Loading
Loading