@@ -14,13 +14,14 @@ import (
14
14
)
15
15
16
16
func RunProxy () {
17
- RunNormalProxy ()
18
- RunPureProxy ()
17
+ RunProxyNormal ()
18
+ RunProxyPure ()
19
+ RunProxyFailure ()
19
20
20
21
fmt .Println ("RunProxy finished correctly." )
21
22
}
22
23
23
- func RunNormalProxy () {
24
+ func RunProxyNormal () {
24
25
sdk , err := SDK .NewSDK (SDK .LocalEndpoint )
25
26
PanicOnError (err )
26
27
@@ -36,41 +37,39 @@ func RunNormalProxy() {
36
37
PanicOnError (err )
37
38
AssertTrue (res .IsSuccessful ().UnsafeUnwrap (), "Transaction has to succeed" )
38
39
39
- // Finding the Proxy Added Event
40
+ // Finding the ProxyAdded Event
40
41
eventMyb := SDK .EventFindFirst (res .Events .UnsafeUnwrap (), pxPallet.EventProxyAdded {})
41
42
event := eventMyb .UnsafeUnwrap ().UnsafeUnwrap ()
42
43
fmt .Println (fmt .Sprintf (`Delegatee: %v, Delegator %v, ProxyTpe %v, Delay: %v` , event .Delegatee .ToHuman (), event .Delegator .ToHuman (), event .ProxyTpe .ToHuman (), event .Delay ))
43
44
44
- call := pallets .ToCall (baPallet.CallTransferKeepAlive {Dest : proxyAccountMulti , Value : SDK .OneAvail ()})
45
-
46
45
// Executing the Proxy.Proxy() call
47
- tx = sdk .Tx .Proxy .Proxy (mainAccountMulti , primitives .NewNone [metadata.ProxyType ](), call )
46
+ call := pallets .ToCall (baPallet.CallTransferKeepAlive {Dest : proxyAccountMulti , Value : SDK .OneAvail ()})
47
+ tx = sdk .Tx .Proxy .Proxy (mainAccountMulti , primitives .None [metadata.ProxyType ](), call )
48
48
res , err = tx .ExecuteAndWatchInclusion (proxyAccount , SDK .NewTransactionOptions ())
49
49
PanicOnError (err )
50
50
AssertTrue (res .IsSuccessful ().UnsafeUnwrap (), "Transaction has to succeed" )
51
51
52
- // Checking for EventProxyExecuted event.
52
+ // Finding ProxyExecuted event.
53
53
event2Myb := SDK .EventFindFirst (res .Events .UnsafeUnwrap (), pxPallet.EventProxyExecuted {})
54
54
event2 := event2Myb .UnsafeUnwrap ().UnsafeUnwrap ()
55
- AssertEq (event2 .Result .VariantIndex , 0 , "Event must OK" )
56
- fmt .Println (fmt .Sprintf (`Dispatch Result: %v` , event2 .Result .ToString ()))
55
+ AssertEq (event2 .Result .VariantIndex , 0 , "Proxy must be successful" )
57
56
58
57
// Removing Proxy
59
58
tx = sdk .Tx .Proxy .RemoveProxy (proxyAccountMulti , proxyType , 0 )
60
59
res , err = tx .ExecuteAndWatchInclusion (mainAccount , SDK .NewTransactionOptions ())
61
60
PanicOnError (err )
62
61
AssertTrue (res .IsSuccessful ().UnsafeUnwrap (), "Transaction has to succeed" )
63
62
64
- // Checking for EventProxyExecuted event.
63
+ // Finding for EventProxyRemoved event.
65
64
event3Myb := SDK .EventFindFirst (res .Events .UnsafeUnwrap (), pxPallet.EventProxyRemoved {})
66
65
event3 := event3Myb .UnsafeUnwrap ().UnsafeUnwrap ()
67
66
AssertEq (event2 .Result .VariantIndex , 0 , "Event must OK" )
68
67
fmt .Println (fmt .Sprintf (`Delegatee: %v, Delegator %v, ProxyTpe %v, Delay: %v` , event3 .Delegatee .ToHuman (), event3 .Delegator .ToHuman (), event3 .ProxyTpe .ToHuman (), event3 .Delay ))
69
68
70
- fmt .Println ("RunNormalProxy finished correctly." )
69
+ fmt .Println ("RunProxyNormal finished correctly." )
71
70
}
72
71
73
- func RunPureProxy () {
72
+ func RunProxyPure () {
74
73
sdk , err := SDK .NewSDK (SDK .LocalEndpoint )
75
74
PanicOnError (err )
76
75
@@ -82,11 +81,9 @@ func RunPureProxy() {
82
81
tx := sdk .Tx .Proxy .CreatePure (proxyType , 0 , index )
83
82
res , err := tx .ExecuteAndWatchInclusion (mainAccount , SDK .NewTransactionOptions ())
84
83
PanicOnError (err )
85
-
86
84
AssertTrue (res .IsSuccessful ().UnsafeUnwrap (), "Transaction has to succeed" )
87
- AssertTrue (res .Events .IsSome (), "Events need to be decodable" )
88
85
89
- // Finding the Pure Created Event
86
+ // Finding PureCreated Event
90
87
eventMyb := SDK .EventFindFirst (res .Events .UnsafeUnwrap (), pxPallet.EventPureCreated {})
91
88
event := eventMyb .UnsafeUnwrap ().UnsafeUnwrap ()
92
89
fmt .Println (fmt .Sprintf (`Pure: %v, Who %v, ProxyType %v, Index: %v` , event .Pure .ToHuman (), event .Who .ToHuman (), event .ProxyTpe .ToHuman (), event .DisambiguationIndex ))
@@ -95,7 +92,7 @@ func RunPureProxy() {
95
92
// Executing the Proxy.Proxy() call
96
93
key := fmt .Sprintf ("MyKey%v" , rand .Uint32 ())
97
94
call := pallets .ToCall (daPallet.CallCreateApplicationKey {Key : []byte (key )})
98
- tx = sdk .Tx .Proxy .Proxy (pureProxy .ToMultiAddress (), primitives .NewNone [metadata.ProxyType ](), call )
95
+ tx = sdk .Tx .Proxy .Proxy (pureProxy .ToMultiAddress (), primitives .None [metadata.ProxyType ](), call )
99
96
res , err = tx .ExecuteAndWatchInclusion (mainAccount , SDK .NewTransactionOptions ())
100
97
PanicOnError (err )
101
98
AssertTrue (res .IsSuccessful ().UnsafeUnwrap (), "Transaction has to succeed" )
@@ -106,5 +103,43 @@ func RunPureProxy() {
106
103
AssertEq (event2 .Result .VariantIndex , 0 , "Event must OK" )
107
104
fmt .Println (fmt .Sprintf (`Dispatch Result: %v` , event2 .Result .ToString ()))
108
105
109
- fmt .Println ("RunPureProxy finished correctly." )
106
+ fmt .Println ("RunProxyPure finished correctly." )
107
+ }
108
+
109
+ func RunProxyFailure () {
110
+ sdk , err := SDK .NewSDK (SDK .LocalEndpoint )
111
+ PanicOnError (err )
112
+
113
+ proxyAccount := SDK .Account .Bob ()
114
+ proxyAccountMulti := primitives .NewAccountIdFromKeyPair (proxyAccount ).ToMultiAddress ()
115
+ mainAccount := SDK .Account .Ferdie ()
116
+ mainAccountMulti := primitives .NewAccountIdFromKeyPair (mainAccount ).ToMultiAddress ()
117
+
118
+ // Creating proxy
119
+ proxyType := metadata.ProxyType {VariantIndex : 1 } // NonTransfer
120
+ tx := sdk .Tx .Proxy .AddProxy (proxyAccountMulti , proxyType , 0 )
121
+ res , err := tx .ExecuteAndWatchInclusion (mainAccount , SDK .NewTransactionOptions ())
122
+ PanicOnError (err )
123
+ AssertTrue (res .IsSuccessful ().UnsafeUnwrap (), "Transaction has to succeed" )
124
+
125
+ // Executing the Proxy.Proxy() call
126
+ call := pallets .ToCall (baPallet.CallTransferKeepAlive {Dest : proxyAccountMulti , Value : SDK .OneAvail ()})
127
+ tx = sdk .Tx .Proxy .Proxy (mainAccountMulti , primitives .None [metadata.ProxyType ](), call )
128
+ res , err = tx .ExecuteAndWatchInclusion (proxyAccount , SDK .NewTransactionOptions ())
129
+ PanicOnError (err )
130
+ AssertTrue (res .IsSuccessful ().UnsafeUnwrap (), "Transaction has to succeed" )
131
+
132
+ // Finding ProxyExecuted event.
133
+ event2Myb := SDK .EventFindFirst (res .Events .UnsafeUnwrap (), pxPallet.EventProxyExecuted {})
134
+ event2 := event2Myb .UnsafeUnwrap ().UnsafeUnwrap ()
135
+ AssertEq (event2 .Result .VariantIndex , 1 , "Proxy must fail" )
136
+ fmt .Println ("Failure" , event2 .Result .Err .UnsafeUnwrap ().ToHuman ())
137
+
138
+ // Removing Proxy
139
+ tx = sdk .Tx .Proxy .RemoveProxy (proxyAccountMulti , proxyType , 0 )
140
+ res , err = tx .ExecuteAndWatchInclusion (mainAccount , SDK .NewTransactionOptions ())
141
+ PanicOnError (err )
142
+ AssertTrue (res .IsSuccessful ().UnsafeUnwrap (), "Transaction has to succeed" )
143
+
144
+ fmt .Println ("RunProxyFailure finished correctly." )
110
145
}
0 commit comments