@@ -197,17 +197,22 @@ access(all) contract ExampleToken: FungibleToken {
197197 }
198198
199199 init () {
200- self .totalSupply = 1000 .0
200+ self .totalSupply = 0 .0
201201
202202 self .VaultStoragePath = /storage/exampleTokenVault
203203 self .VaultPublicPath = /public/exampleTokenVault
204204 self .ReceiverPublicPath = /public/exampleTokenReceiver
205205 self .AdminStoragePath = /storage/exampleTokenAdmin
206206
207+ let admin <- create Minter ()
208+
207209 // Create the Vault with the total supply of tokens and save it in storage
208210 //
209- let vault <- create Vault (balance : self .totalSupply )
210- emit TokensMinted (amount : vault .balance , type : vault .getType ().identifier )
211+ let vault <- admin .mintTokens (amount : 1000.0 )
212+
213+ self .account .storage .save (<- vault , to : self .VaultStoragePath )
214+
215+ self .account .storage .save (<- admin , to : self .AdminStoragePath )
211216
212217 // Create a public capability to the stored Vault that exposes
213218 // the `deposit` method and getAcceptedTypes method through the `Receiver` interface
@@ -217,10 +222,5 @@ access(all) contract ExampleToken: FungibleToken {
217222 self .account .capabilities .publish (exampleTokenCap , at : self .VaultPublicPath )
218223 let receiverCap = self .account .capabilities .storage .issue <&ExampleToken.Vault >(self .VaultStoragePath )
219224 self .account .capabilities .publish (receiverCap , at : self .ReceiverPublicPath )
220-
221- self .account .storage .save (<- vault , to : /storage/exampleTokenVault )
222-
223- let admin <- create Minter ()
224- self .account .storage .save (<- admin , to : self .AdminStoragePath )
225225 }
226226}
0 commit comments