4
4
"bytes"
5
5
"encoding/binary"
6
6
"encoding/json"
7
+ "errors"
7
8
"io/ioutil"
8
9
"os"
9
10
"testing"
@@ -42,7 +43,7 @@ func TestCreate(t *testing.T) {
42
43
deposit := sdk .NewCoins (sdk .NewInt64Coin ("denom" , 100000 ))
43
44
creator := createFakeFundedAccount (ctx , accKeeper , deposit )
44
45
45
- wasmCode , err := ioutil .ReadFile ("./testdata/contract .wasm" )
46
+ wasmCode , err := ioutil .ReadFile ("./testdata/hackatom .wasm" )
46
47
require .NoError (t , err )
47
48
48
49
contractID , err := keeper .Create (ctx , creator , wasmCode , "https://github.com/CosmWasm/wasmd/blob/master/x/wasm/testdata/escrow.wasm" , "any/builder:tag" , nil )
@@ -55,7 +56,7 @@ func TestCreate(t *testing.T) {
55
56
}
56
57
57
58
func TestCreateStoresInstantiatePermission (t * testing.T ) {
58
- wasmCode , err := ioutil .ReadFile ("./testdata/contract .wasm" )
59
+ wasmCode , err := ioutil .ReadFile ("./testdata/hackatom .wasm" )
59
60
require .NoError (t , err )
60
61
var (
61
62
deposit = sdk .NewCoins (sdk .NewInt64Coin ("denom" , 100000 ))
@@ -118,7 +119,7 @@ func TestCreateWithParamPermissions(t *testing.T) {
118
119
creator := createFakeFundedAccount (ctx , accKeeper , deposit )
119
120
otherAddr := createFakeFundedAccount (ctx , accKeeper , deposit )
120
121
121
- wasmCode , err := ioutil .ReadFile ("./testdata/contract .wasm" )
122
+ wasmCode , err := ioutil .ReadFile ("./testdata/hackatom .wasm" )
122
123
require .NoError (t , err )
123
124
124
125
specs := map [string ]struct {
@@ -167,7 +168,7 @@ func TestCreateDuplicate(t *testing.T) {
167
168
deposit := sdk .NewCoins (sdk .NewInt64Coin ("denom" , 100000 ))
168
169
creator := createFakeFundedAccount (ctx , accKeeper , deposit )
169
170
170
- wasmCode , err := ioutil .ReadFile ("./testdata/contract .wasm" )
171
+ wasmCode , err := ioutil .ReadFile ("./testdata/hackatom .wasm" )
171
172
require .NoError (t , err )
172
173
173
174
// create one copy
@@ -202,7 +203,7 @@ func TestCreateWithSimulation(t *testing.T) {
202
203
deposit := sdk .NewCoins (sdk .NewInt64Coin ("denom" , 100000 ))
203
204
creator := createFakeFundedAccount (ctx , accKeeper , deposit )
204
205
205
- wasmCode , err := ioutil .ReadFile ("./testdata/contract .wasm" )
206
+ wasmCode , err := ioutil .ReadFile ("./testdata/hackatom .wasm" )
206
207
require .NoError (t , err )
207
208
208
209
// create this once in simulation mode
@@ -258,7 +259,7 @@ func TestCreateWithGzippedPayload(t *testing.T) {
258
259
deposit := sdk .NewCoins (sdk .NewInt64Coin ("denom" , 100000 ))
259
260
creator := createFakeFundedAccount (ctx , accKeeper , deposit )
260
261
261
- wasmCode , err := ioutil .ReadFile ("./testdata/contract .wasm.gzip" )
262
+ wasmCode , err := ioutil .ReadFile ("./testdata/hackatom .wasm.gzip" )
262
263
require .NoError (t , err )
263
264
264
265
contractID , err := keeper .Create (ctx , creator , wasmCode , "https://github.com/CosmWasm/wasmd/blob/master/x/wasm/testdata/escrow.wasm" , "" , nil )
@@ -267,7 +268,7 @@ func TestCreateWithGzippedPayload(t *testing.T) {
267
268
// and verify content
268
269
storedCode , err := keeper .GetByteCode (ctx , contractID )
269
270
require .NoError (t , err )
270
- rawCode , err := ioutil .ReadFile ("./testdata/contract .wasm" )
271
+ rawCode , err := ioutil .ReadFile ("./testdata/hackatom .wasm" )
271
272
require .NoError (t , err )
272
273
require .Equal (t , rawCode , storedCode )
273
274
}
@@ -282,7 +283,7 @@ func TestInstantiate(t *testing.T) {
282
283
deposit := sdk .NewCoins (sdk .NewInt64Coin ("denom" , 100000 ))
283
284
creator := createFakeFundedAccount (ctx , accKeeper , deposit )
284
285
285
- wasmCode , err := ioutil .ReadFile ("./testdata/contract .wasm" )
286
+ wasmCode , err := ioutil .ReadFile ("./testdata/hackatom .wasm" )
286
287
require .NoError (t , err )
287
288
288
289
codeID , err := keeper .Create (ctx , creator , wasmCode , "https://github.com/CosmWasm/wasmd/blob/master/x/wasm/testdata/escrow.wasm" , "" , nil )
@@ -306,7 +307,7 @@ func TestInstantiate(t *testing.T) {
306
307
require .Equal (t , "cosmos18vd8fpwxzck93qlwghaj6arh4p7c5n89uzcee5" , contractAddr .String ())
307
308
308
309
gasAfter := ctx .GasMeter ().GasConsumed ()
309
- require .Equal (t , uint64 (0x10c43 ), gasAfter - gasBefore )
310
+ require .Equal (t , uint64 (0x10c50 ), gasAfter - gasBefore )
310
311
311
312
// ensure it is stored properly
312
313
info := keeper .GetContractInfo (ctx , contractAddr )
@@ -325,7 +326,7 @@ func TestInstantiate(t *testing.T) {
325
326
}
326
327
327
328
func TestInstantiateWithDeposit (t * testing.T ) {
328
- wasmCode , err := ioutil .ReadFile ("./testdata/contract .wasm" )
329
+ wasmCode , err := ioutil .ReadFile ("./testdata/hackatom .wasm" )
329
330
require .NoError (t , err )
330
331
331
332
var (
@@ -387,7 +388,7 @@ func TestInstantiateWithDeposit(t *testing.T) {
387
388
}
388
389
389
390
func TestInstantiateWithPermissions (t * testing.T ) {
390
- wasmCode , err := ioutil .ReadFile ("./testdata/contract .wasm" )
391
+ wasmCode , err := ioutil .ReadFile ("./testdata/hackatom .wasm" )
391
392
require .NoError (t , err )
392
393
393
394
var (
@@ -484,7 +485,7 @@ func TestExecute(t *testing.T) {
484
485
creator := createFakeFundedAccount (ctx , accKeeper , deposit .Add (deposit ... ))
485
486
fred := createFakeFundedAccount (ctx , accKeeper , topUp )
486
487
487
- wasmCode , err := ioutil .ReadFile ("./testdata/contract .wasm" )
488
+ wasmCode , err := ioutil .ReadFile ("./testdata/hackatom .wasm" )
488
489
require .NoError (t , err )
489
490
490
491
contractID , err := keeper .Create (ctx , creator , wasmCode , "" , "" , nil )
@@ -521,7 +522,8 @@ func TestExecute(t *testing.T) {
521
522
trialCtx := ctx .WithMultiStore (ctx .MultiStore ().CacheWrap ().(sdk.MultiStore ))
522
523
res , err := keeper .Execute (trialCtx , addr , creator , []byte (`{"release":{}}` ), nil )
523
524
require .Error (t , err )
524
- require .Contains (t , err .Error (), "unauthorized" )
525
+ require .True (t , errors .Is (err , types .ErrExecuteFailed ))
526
+ require .Equal (t , err .Error (), "execute wasm contract failed: Unauthorized" )
525
527
526
528
// verifier can execute, and get proper gas amount
527
529
start := time .Now ()
@@ -534,7 +536,7 @@ func TestExecute(t *testing.T) {
534
536
535
537
// make sure gas is properly deducted from ctx
536
538
gasAfter := ctx .GasMeter ().GasConsumed ()
537
- require .Equal (t , uint64 (0x11617 ), gasAfter - gasBefore )
539
+ require .Equal (t , uint64 (0x11615 ), gasAfter - gasBefore )
538
540
539
541
// ensure bob now exists and got both payments released
540
542
bobAcct = accKeeper .GetAccount (ctx , bob )
@@ -551,7 +553,7 @@ func TestExecute(t *testing.T) {
551
553
}
552
554
553
555
func TestExecuteWithDeposit (t * testing.T ) {
554
- wasmCode , err := ioutil .ReadFile ("./testdata/contract .wasm" )
556
+ wasmCode , err := ioutil .ReadFile ("./testdata/hackatom .wasm" )
555
557
require .NoError (t , err )
556
558
557
559
var (
@@ -654,7 +656,7 @@ func TestExecuteWithPanic(t *testing.T) {
654
656
creator := createFakeFundedAccount (ctx , accKeeper , deposit .Add (deposit ... ))
655
657
fred := createFakeFundedAccount (ctx , accKeeper , topUp )
656
658
657
- wasmCode , err := ioutil .ReadFile ("./testdata/contract .wasm" )
659
+ wasmCode , err := ioutil .ReadFile ("./testdata/hackatom .wasm" )
658
660
require .NoError (t , err )
659
661
660
662
contractID , err := keeper .Create (ctx , creator , wasmCode , "" , "" , nil )
@@ -674,6 +676,8 @@ func TestExecuteWithPanic(t *testing.T) {
674
676
// let's make sure we get a reasonable error, no panic/crash
675
677
_ , err = keeper .Execute (ctx , addr , fred , []byte (`{"panic":{}}` ), topUp )
676
678
require .Error (t , err )
679
+ require .True (t , errors .Is (err , types .ErrExecuteFailed ))
680
+ require .Equal (t , err .Error (), "execute wasm contract failed: Out of gas" )
677
681
}
678
682
679
683
func TestExecuteWithCpuLoop (t * testing.T ) {
@@ -688,7 +692,7 @@ func TestExecuteWithCpuLoop(t *testing.T) {
688
692
creator := createFakeFundedAccount (ctx , accKeeper , deposit .Add (deposit ... ))
689
693
fred := createFakeFundedAccount (ctx , accKeeper , topUp )
690
694
691
- wasmCode , err := ioutil .ReadFile ("./testdata/contract .wasm" )
695
+ wasmCode , err := ioutil .ReadFile ("./testdata/hackatom .wasm" )
692
696
require .NoError (t , err )
693
697
694
698
contractID , err := keeper .Create (ctx , creator , wasmCode , "" , "" , nil )
@@ -736,7 +740,7 @@ func TestExecuteWithStorageLoop(t *testing.T) {
736
740
creator := createFakeFundedAccount (ctx , accKeeper , deposit .Add (deposit ... ))
737
741
fred := createFakeFundedAccount (ctx , accKeeper , topUp )
738
742
739
- wasmCode , err := ioutil .ReadFile ("./testdata/contract .wasm" )
743
+ wasmCode , err := ioutil .ReadFile ("./testdata/hackatom .wasm" )
740
744
require .NoError (t , err )
741
745
742
746
contractID , err := keeper .Create (ctx , creator , wasmCode , "" , "" , nil )
@@ -782,7 +786,7 @@ func TestMigrate(t *testing.T) {
782
786
creator := createFakeFundedAccount (ctx , accKeeper , deposit .Add (deposit ... ))
783
787
fred := createFakeFundedAccount (ctx , accKeeper , sdk .NewCoins (sdk .NewInt64Coin ("denom" , 5000 )))
784
788
785
- wasmCode , err := ioutil .ReadFile ("./testdata/contract .wasm" )
789
+ wasmCode , err := ioutil .ReadFile ("./testdata/hackatom .wasm" )
786
790
require .NoError (t , err )
787
791
788
792
originalCodeID , err := keeper .Create (ctx , creator , wasmCode , "" , "" , nil )
@@ -926,7 +930,7 @@ func TestMigrateWithDispatchedMessage(t *testing.T) {
926
930
creator := createFakeFundedAccount (ctx , accKeeper , deposit .Add (deposit ... ))
927
931
fred := createFakeFundedAccount (ctx , accKeeper , sdk .NewCoins (sdk .NewInt64Coin ("denom" , 5000 )))
928
932
929
- wasmCode , err := ioutil .ReadFile ("./testdata/contract .wasm" )
933
+ wasmCode , err := ioutil .ReadFile ("./testdata/hackatom .wasm" )
930
934
require .NoError (t , err )
931
935
burnerCode , err := ioutil .ReadFile ("./testdata/burner.wasm" )
932
936
require .NoError (t , err )
@@ -1039,7 +1043,7 @@ func TestUpdateContractAdmin(t *testing.T) {
1039
1043
creator := createFakeFundedAccount (ctx , accKeeper , deposit .Add (deposit ... ))
1040
1044
fred := createFakeFundedAccount (ctx , accKeeper , topUp )
1041
1045
1042
- wasmCode , err := ioutil .ReadFile ("./testdata/contract .wasm" )
1046
+ wasmCode , err := ioutil .ReadFile ("./testdata/hackatom .wasm" )
1043
1047
require .NoError (t , err )
1044
1048
1045
1049
originalContractID , err := keeper .Create (ctx , creator , wasmCode , "" , "" , nil )
@@ -1114,7 +1118,7 @@ func TestClearContractAdmin(t *testing.T) {
1114
1118
creator := createFakeFundedAccount (ctx , accKeeper , deposit .Add (deposit ... ))
1115
1119
fred := createFakeFundedAccount (ctx , accKeeper , topUp )
1116
1120
1117
- wasmCode , err := ioutil .ReadFile ("./testdata/contract .wasm" )
1121
+ wasmCode , err := ioutil .ReadFile ("./testdata/hackatom .wasm" )
1118
1122
require .NoError (t , err )
1119
1123
1120
1124
originalContractID , err := keeper .Create (ctx , creator , wasmCode , "" , "" , nil )
0 commit comments