diff --git a/README.md b/README.md index e0d1a1d3..a4b4092a 100644 --- a/README.md +++ b/README.md @@ -100,10 +100,10 @@ Right now we are using unsigned 64-bit fixed point numbers `UFix64` as the type - Users could create custom `Receiver`s to trigger special code when transfers to them happen, like forwarding the tokens to another account, splitting them up, and much more. -- **ATTENTION**: It is VITALLY important that if you are making your own implementation of the fungible token interface that +- It is important that if you are making your own implementation of the fungible token interface that you cast the input to `deposit` as the type of your token. `let vault <- from as! @ExampleToken.Vault` - Because the interface specifies the argument as `@FungibleToken.Vault`, any resource that satisfies this can be sent to the deposit function. If you do not cast it as the type of your token, others could deposit different tokens into your Vault maliciously to change the balance. + The interface specifies the argument as `@FungibleToken.Vault`, any resource that satisfies this can be sent to the deposit function. The interface checks that the concrete types match, but you'll still need to cast the `Vault` before storing it. 5 - Creating an empty Vault resource diff --git a/contracts/FungibleToken.cdc b/contracts/FungibleToken.cdc index eca37379..5028cb6b 100644 --- a/contracts/FungibleToken.cdc +++ b/contracts/FungibleToken.cdc @@ -182,6 +182,12 @@ pub contract interface FungibleToken { /// deposit takes a Vault and adds its balance to the balance of this Vault /// pub fun deposit(from: @Vault) { + // Assert that the concrete type of the deposited vault is the same + // as the vault that is accepting the deposit + pre { + from.isInstance(self.getType()): + "Cannot deposit an incompatible token type" + } post { self.balance == before(self.balance) + before(from.balance): "New Vault balance must be the sum of the previous balance and the deposited Vault" diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go index d99d019e..2557c9fd 100644 --- a/lib/go/contracts/internal/assets/assets.go +++ b/lib/go/contracts/internal/assets/assets.go @@ -1,7 +1,7 @@ // Code generated by go-bindata. DO NOT EDIT. // sources: // ../../../contracts/ExampleToken.cdc (7.43kB) -// ../../../contracts/FungibleToken.cdc (6.984kB) +// ../../../contracts/FungibleToken.cdc (7.268kB) // ../../../contracts/utilityContracts/PrivateReceiverForwarder.cdc (2.599kB) // ../../../contracts/utilityContracts/TokenForwarding.cdc (2.351kB) @@ -93,7 +93,7 @@ func exampletokenCdc() (*asset, error) { return a, nil } -var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x59\x4d\x8f\xdc\xb8\x11\xbd\xeb\x57\x14\xec\x83\x67\x9c\x76\xcf\x1e\x82\x1c\x06\xd8\x24\xbb\xc8\x1a\xf0\x25\x08\x12\x27\x7b\x6d\xb6\x54\xea\x26\x86\x22\xb5\x24\xd5\x3d\xb2\xe1\xff\x1e\x54\xf1\x4b\x52\xcb\x3d\xed\x8f\xcb\xcc\x48\xe2\x63\xd5\x63\xd5\xe3\x23\xfd\xf0\xf6\x6d\x55\xbd\x86\x8f\x47\x84\xf7\xca\x9c\xe1\xfd\xa0\x0f\x72\xaf\x10\x3e\x9a\x27\xd4\xe0\xbc\xd0\x8d\xb0\x4d\x55\xbd\x7e\x0d\xbb\xf4\x92\xdf\xed\xa0\x36\xda\x5b\x51\x7b\x90\xda\xa3\x6d\x45\x8d\x55\x45\x40\xf9\x4f\xf0\x47\xe1\x41\x28\x05\x6d\x82\xf5\x0c\x9b\x46\x3a\x38\x9b\x41\x35\x70\x14\x27\x7a\x45\xcf\x5b\x63\x3b\xf0\x66\x5b\x7d\x68\x41\xc0\xe0\xd0\x3a\x38\x0b\xed\x1d\xbd\x6f\xb0\x57\x66\x04\x01\x1a\xcf\x0b\xa8\x0d\xf8\x23\x4a\x9b\xff\xae\x02\xb2\x46\x6c\x68\xa4\xec\x7a\x85\x1d\x6a\x4f\x9f\xc1\x2c\x91\x12\xef\x96\xe3\x9f\x80\x2c\xc2\x6b\x8d\x22\x8e\x28\x21\x42\xb1\x83\x42\x07\x42\x37\xa0\x45\x27\xf5\xa1\xe2\x74\xfd\x8c\x01\xd7\x63\x2d\x5b\x89\x6e\x1b\x28\xfc\x9f\x18\x94\xdf\x81\x45\x67\x06\x4b\x84\xfd\x26\xea\x23\x88\xba\x36\x03\xc7\x26\x3c\x98\xb3\x76\x21\xb9\x44\x4f\x4a\x82\xe3\x10\x14\x30\xad\x4b\x8d\x95\x69\x79\x3a\x06\xcd\x98\xe0\xbc\xb1\xd8\x80\xd4\x91\x92\x84\x4e\xcf\xc5\x21\x66\xb9\x1c\x74\x14\x0e\x3a\xf4\x47\xd3\x38\xc8\x79\x98\xb3\x46\xcb\x19\x1a\x7f\x44\x1b\x97\xa3\x16\x1a\x6a\xa1\x54\x4c\xe9\x5f\xd6\x9c\x64\x83\x76\xb7\x81\xdd\xbf\xb1\x46\x79\xe2\xdf\x69\xd4\xee\x57\xa1\x28\xd0\x92\x70\xa1\xc6\x71\x18\x6e\xfa\x04\x1a\xac\x95\xb0\x08\xbd\xc5\x77\xb5\xd1\x8d\xf4\xd2\xe8\x40\x71\x6f\x9c\x9f\x3e\xe3\x18\x2d\x3a\x6f\x65\xed\x2b\x0a\x16\x9f\xb1\x1e\xe8\x25\x44\x5a\xda\x41\xd7\xe1\xe3\x40\x45\x48\x39\xa4\x3f\x02\xcd\xe3\xb0\x17\x56\x78\x84\x3d\xd6\x62\xa0\x58\x3c\x1c\xe4\x09\x1d\x7f\x4e\xd9\xf2\x2f\x62\x2f\x95\xf4\x23\x2d\x81\x3b\x0a\x8b\x95\x00\x8b\x2d\x5a\xd4\x35\xd7\x45\xa0\x39\x10\x1a\x96\x50\xab\x11\xf0\xb9\x37\x2e\x42\xb5\x12\x55\xe3\x4a\x44\x95\xd4\x60\x34\x82\xb1\xd0\x19\x8b\x29\xe2\x42\xc5\xb6\xaa\x3e\x50\xeb\x38\x13\x03\x0a\xd4\x2f\xa2\xe9\xc4\x13\x42\x3d\x38\x6f\xba\xcc\x70\xa4\x26\x17\x3c\x71\x33\x67\x99\x1a\xc9\xc0\x49\x58\x69\x06\xfa\x5a\xea\x83\x83\xb3\xf4\x47\x86\x0f\x95\xb7\xad\xde\x1b\x0b\xf8\x2c\x08\x66\x03\x02\x5a\x31\xd4\xe8\x79\xed\xf7\x58\xd0\xb1\x81\xfd\x98\xfa\x96\x7b\x80\xe9\x80\x54\x14\xb3\xe6\xfa\x75\x84\xc1\x49\x7d\x98\xc4\x4a\x4b\x5b\x42\xdb\xc4\x34\x4d\xbb\x68\xd1\x2c\x18\x15\x05\xe0\x50\x37\x3c\xd2\x86\x72\x4b\xdd\xd2\x23\xda\x77\xde\xbc\xa3\x9f\x1b\xce\xc8\x0c\x9e\xba\x86\xe6\x24\x11\xa0\x89\x58\x1b\x28\x59\x01\x35\x12\xaa\x02\x85\xcd\x01\x2d\xb8\x4e\x58\x9f\xa7\xda\xc2\x47\x13\x66\x8a\xe8\xde\x80\xd0\xa5\x0f\x36\x55\x90\xa7\xd8\xa3\x8e\x28\x19\x79\xd2\xc6\x8a\xf3\x84\x4a\x68\xad\xe9\xa6\x35\xc2\x52\x15\x5a\x88\x0b\xb7\xc1\xde\x38\xe9\x73\x75\x80\xd1\xb3\x99\xde\xb8\x54\x5b\xa4\x90\xc4\xbc\xc7\x80\x6f\x85\x76\x2d\xda\x6d\x55\xbd\x7d\xa8\xaa\x87\x87\x87\x39\x6d\xf4\x84\x9f\xae\xa8\xf2\x57\x15\x39\x2f\xed\x96\x87\xf7\xc3\x7e\x45\xe8\x17\xcb\xf3\xb9\xaa\x00\x00\xd2\x54\xde\x78\xa1\x40\x0f\xdd\x1e\x2d\x97\x76\xe0\x41\x6a\xc0\x67\xe9\x3c\xb5\xcd\x36\x0f\xf8\xe0\x41\x3a\x18\xfa\xd8\x48\x93\xd2\xb2\xf4\x08\xb5\x1b\x2c\x16\x49\x0a\xd8\x6e\xe8\x7b\x35\x66\x0c\xe7\xc5\xe8\x48\xe7\x06\xee\x66\x2a\x8d\x00\xd8\x08\x8f\xe9\x2b\xfe\x49\xe9\x9c\x84\x0d\x30\xff\x61\x94\x47\xf8\xef\x7b\xf9\xfc\x97\x3f\x4f\x72\xe0\x78\x3f\x68\xe9\xa5\x50\xf2\x13\x36\x33\x88\x94\x25\x9e\x30\x49\xb6\x74\x80\x9d\xf4\xd4\x0d\x67\x5a\x5a\x0a\xb4\x90\xe6\xa0\xb6\x28\xfc\x02\x86\x22\x09\x10\x17\xd3\xdd\xc9\xf0\xfb\x3c\xbe\xfb\x65\x80\xbf\xc7\x5a\xd3\xdf\x1c\x5e\x58\x0f\x52\xc0\x54\xaf\x3a\x54\xa9\x08\x95\x76\x35\xd0\x3c\xed\x9d\xe8\x68\x5f\x49\xf1\x6d\x18\xe2\x11\x7e\x69\x1a\x8b\xce\xfd\xed\x22\xde\x7f\x84\x3a\xff\x0e\x3a\x4b\xbc\x4d\xc2\xa0\x5a\x34\x37\xc5\x9b\xa7\xbd\x88\xd7\x9b\xd5\x68\x93\x76\xad\x86\xb9\x68\x23\x24\xe1\xab\xa3\xca\x5b\xfc\x63\x90\x96\x8b\xd7\x41\x6b\x6c\x66\x97\x84\x31\x81\x2c\x44\xa1\xd4\x3b\x8b\xd4\xd8\x97\xd6\x98\xb6\x48\x63\xd0\x81\x36\x79\xc2\xf9\x5c\x46\xc3\x6e\x9f\xb6\xda\x23\x5a\xdc\xe4\xb1\x93\x9d\x4d\xa1\xa0\x9d\xc4\xf4\xb1\x42\x7b\xe3\x9c\x8c\x9b\x89\x69\x43\x91\x52\x10\x71\x43\xe9\x23\x0d\xae\x84\x4e\x19\x37\x86\xe3\xd0\x58\xa3\x73\xc2\x4a\x35\x46\x7f\xc2\x02\x67\xce\x1a\x62\x24\xdb\x8b\x55\xb9\x34\x01\x65\x9f\x88\x12\x92\xa6\xca\x3a\xea\x86\x7d\x14\xa6\x25\x71\x6c\x4e\x92\x36\xce\x06\x87\xad\xc1\x0f\x96\x8a\x26\x6a\x67\xde\xdf\x2c\x76\xe6\x84\x4d\xde\xe7\x26\x03\x67\x20\x1f\x27\x0e\xe2\x0d\x8b\x0b\x3a\x07\x0a\x4f\xa8\xa8\x40\xfb\x61\xaf\x64\xbd\x81\xfd\x40\x45\x2b\x1d\x3d\x23\x5e\x04\xf1\xb6\x57\xd8\xcd\xc0\xd2\x2a\xb0\x31\x28\xce\x8a\x1c\x19\x2f\x3b\xc7\x95\xc9\x99\xfb\xb6\x19\x50\xcd\xf6\x8f\xd5\x41\x8d\xbc\x85\x84\xd9\x53\xa4\xd7\xf3\x09\xb3\x76\x62\x84\x83\x15\xda\x47\x57\x17\xe7\xc9\x39\xd2\x86\x9e\x6a\x81\xd2\x91\xa7\xa4\xa2\x25\x8a\x3e\xbb\x90\x68\xf1\xcd\xd9\x25\xb3\x5b\xcf\xdc\x22\x75\x29\xe3\xce\x10\xb8\xfe\xd2\xda\xe7\xd4\xfd\xd1\x9a\xe1\x40\x5b\x73\xf6\x57\xb7\x26\x14\xac\x12\x67\x45\xa4\xbc\x90\x13\x2f\xde\x2d\x29\x11\xd6\x22\x8f\x59\xec\x33\x8c\x6f\xcf\x83\xba\xa2\x1d\x74\x2e\xf7\x85\x44\xdd\x3f\xc2\xdf\x43\xf9\x7e\xce\x43\x78\x98\x71\xcb\x47\x01\x19\x76\x16\x5d\x3c\x61\xb4\x31\xea\x50\x5c\xd4\x0d\x70\x12\x6a\xc0\x8b\x61\x61\xc8\x36\xb6\x2d\xfc\xfc\x33\xc4\x28\x2e\xbe\xa4\x7f\xaf\x92\xfe\x0b\x15\xbf\x83\x6e\x70\x9e\x5c\x21\xcd\xe4\x44\x87\x20\x02\x49\x09\x31\xba\xdb\xb2\xd7\x70\x4e\xaf\x66\xf0\x5f\xaa\xf9\x6f\x5f\x8a\x1e\xa7\x43\xc5\x8f\xeb\x71\xdc\x3d\x56\xe4\x98\x77\x93\x1b\xe5\xf8\x77\x4c\x22\x28\x75\xad\x86\x06\xc9\x4a\xa6\x93\x49\x08\xa3\x3e\x62\xfd\x34\x27\x21\x4a\x40\x46\x39\x23\x9f\x6b\x69\x85\xc8\xe1\xdf\x62\xf0\x03\x0d\xc1\xe0\x57\x53\x45\x68\x4c\xfa\x68\xdd\xcd\x6f\x40\xc9\x27\x3a\x8c\x2a\xc9\x2e\xaa\x23\x7b\x24\x74\x53\x0c\x14\xfb\x5c\x7a\x41\xa6\x49\xb6\x5c\xb4\x1e\x7a\x15\xce\x22\xf0\xb2\x90\xa7\x45\x5a\x0a\x79\x32\xb7\x5e\x3c\x61\x51\x63\x52\xe8\xf8\xc6\xd1\xd6\xb4\x4e\x7f\xe9\xa7\xb1\xc7\xab\xfd\x13\xb1\xee\x82\x03\x09\x3d\x73\xbf\xac\xa3\x78\x18\xbd\xa5\x8c\xc8\xbc\x09\xa9\xc3\x7a\x94\xad\x95\x8f\x71\x30\x3d\x75\x67\x10\xca\x68\x52\x7c\xc2\x07\xeb\xa2\xf1\x1c\x3e\x0c\xf6\x25\x1a\xc1\xcd\xb4\x32\x32\x04\x6d\x22\xc5\x04\x42\x6d\xac\xc5\xda\xab\xf1\x26\xfe\x63\x72\x4b\xfa\x8b\x1d\x9f\x34\xa3\x80\xd3\x72\xcf\x9c\x31\x4a\x06\x39\x7e\x3e\x37\xc7\xf4\x8f\x42\xbc\x5b\xbc\xbd\xbf\x4d\x9f\x1c\xaa\x76\x2a\x33\x09\x65\x5d\x67\x52\x46\x49\x5d\xa6\xdc\xa4\x6a\x09\x8f\x12\xd0\xcd\x8a\x72\x69\x1a\x13\x57\x13\x09\x5f\x96\x41\xb9\x4e\xf0\xe6\x6b\x47\xd0\x2b\x4b\xc5\x73\x3e\x66\xc3\xb3\xc9\x1d\xb3\x59\x5f\x3b\x0e\x27\x5c\x88\x88\x74\xab\xc1\x3a\x53\x5b\x3e\xff\x8d\x3d\x5b\x05\xb1\x76\x3a\xeb\x50\xe8\x89\x4c\x44\x40\x3c\xa1\x1d\x97\x37\x7c\x79\xf4\xfc\xd6\xc0\x5d\xbb\x27\x9b\x82\xf2\xea\x34\xd8\x4a\x8d\xd3\xf0\x96\x17\x5d\x99\xcf\xd6\xd8\x2e\x6f\x4b\x5f\xb9\x3b\x9a\xe2\xcf\xaf\x91\xa6\x57\x05\x41\x43\xf8\xc2\xc8\x45\xc7\x14\x05\xbf\x49\xf7\x2d\xf4\x49\xb9\x73\x79\xb9\x31\x28\xa6\x1f\x68\x8d\x08\x5b\x6e\x43\xc2\x2a\x45\x8a\xc2\xd5\x56\xf1\x6f\xf2\xd3\xcc\x3e\xcc\x6c\x47\x6f\x25\x11\x93\xbc\xe1\xa2\xce\x2f\x15\x28\x40\x5c\xef\xd1\x17\x0d\xf6\x2e\x6c\xe7\xbb\x62\xb1\x79\x82\x37\x6e\xa6\x54\xb0\x6a\xb2\xb3\xce\x95\xad\x27\x01\x63\xb3\x36\xfe\x87\x2d\x90\xc5\x97\x14\xe6\xaf\x2f\x18\x99\x5f\x82\x7b\x29\xb6\x24\x29\x8d\x0a\x2e\x4f\x68\x30\x16\xf0\x8f\x41\xa8\xf0\xd7\x8a\xa7\xb9\xea\x64\xe0\xaa\x55\xa3\xf3\x00\xf3\x44\xae\x59\xa8\x72\xfd\xb3\xdb\x63\x6b\x2c\xee\xd8\x1a\xa0\x8f\x55\xa9\x86\x3c\xe9\x62\x43\x5a\x03\x8f\xb7\x25\x7b\x3c\x48\xad\xa9\x8c\x16\x77\xa2\xe5\xb6\x74\x65\xf4\xcb\xc2\xcd\x01\xde\x4d\x1f\xdf\xc3\xbb\xeb\x6c\xff\x33\x57\xc8\x7e\x21\xec\x7c\x07\x16\x3d\x47\x61\xb6\xb7\x78\xe2\x0b\xca\xf4\xb9\x08\x16\xe5\x76\x1b\x79\xa3\x0f\x11\x4d\x43\x1e\xa4\x4c\x14\xc5\x69\xb6\xd2\x72\xe5\x9c\x79\x9b\x0b\xf9\xce\xad\x71\x8d\xe1\x3f\xa5\xc7\x34\x41\x7e\xfc\x5d\x7c\xbb\xa1\x7b\x91\xe8\x72\xd7\xf2\x6d\x7e\x3d\x98\x9c\xdf\xba\xde\x8f\x91\xe5\x78\x96\xd2\x63\xbc\x53\x37\xf1\x9b\x99\x70\xb0\xfe\x1d\x05\x2d\xce\x27\xb4\x66\x69\x8f\xaa\x29\xd3\xcb\x29\xee\xd6\x64\x62\x85\xea\xcb\xa3\xce\x4f\xdb\x9f\x1e\xe1\x15\xc9\xb6\xc6\xb3\x1a\x93\x43\x8b\x31\x31\x65\xfc\xdf\x2e\xd3\x90\x5e\x5d\xe4\xfe\xe5\xff\x01\x00\x00\xff\xff\x95\x17\xd5\xa9\x48\x1b\x00\x00" +var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x59\x4d\x73\xdb\xba\xd5\xde\xf3\x57\x9c\x49\x16\xb1\xf3\x2a\xf2\x5d\xbc\xd3\x85\x67\x6e\xdb\xdc\xf6\x66\xc6\x9b\x4e\xa7\x75\x7b\xb7\x82\xc8\x43\x09\x63\x10\xe0\x05\x40\xc9\xcc\x9d\xfc\xf7\xce\x39\xf8\x22\x29\xc6\x56\x12\x6f\x2c\x91\xc0\x83\xf3\xf9\xe0\x01\x74\xf7\xfe\x7d\x55\xbd\x85\xc7\x23\xc2\x27\x65\xce\xf0\x69\xd0\x07\xb9\x57\x08\x8f\xe6\x09\x35\x38\x2f\x74\x23\x6c\x53\x55\x6f\xdf\xc2\x2e\xbd\xe4\x77\x3b\xa8\x8d\xf6\x56\xd4\x1e\xa4\xf6\x68\x5b\x51\x63\x55\x11\x50\xfe\x0a\xfe\x28\x3c\x08\xa5\xa0\x4d\xb0\x9e\x61\xd3\x4c\x07\x67\x33\xa8\x06\x8e\xe2\x44\xaf\xe8\x79\x6b\x6c\x07\xde\x6c\xab\x87\x16\x04\x0c\x0e\xad\x83\xb3\xd0\xde\xd1\xfb\x06\x7b\x65\x46\x10\xa0\xf1\xbc\x80\xda\x80\x3f\xa2\xb4\xf9\x7b\x15\x90\x35\x62\x43\x33\x65\xd7\x2b\xec\x50\x7b\x1a\x06\x33\x47\x8a\xbd\x5b\xb6\x7f\x02\xb2\x30\xaf\x35\x8a\x62\x44\x0e\x11\x8a\x1d\x14\x3a\x10\xba\x01\x2d\x3a\xa9\x0f\x15\xbb\xeb\x67\x11\x70\x3d\xd6\xb2\x95\xe8\xb6\x21\x84\xff\x15\x83\xf2\x3b\xb0\xe8\xcc\x60\x29\x60\xbf\x8a\xfa\x08\xa2\xae\xcd\xc0\xb6\x09\x0f\xe6\xac\x5d\x70\x2e\x85\x27\x39\xc1\x76\x08\x32\x98\xf2\x52\x63\x65\x5a\x5e\x8e\x41\x33\x26\x38\x6f\x2c\x36\x20\x75\x0c\x49\x42\xa7\xe7\xe2\x10\xbd\x5c\x4e\x3a\x0a\x07\x1d\xfa\xa3\x69\x1c\x64\x3f\xcc\x59\xa3\x65\x0f\x8d\x3f\xa2\x8d\xe9\xa8\x85\x86\x5a\x28\x15\x5d\xfa\xa7\x35\x27\xd9\xa0\xdd\x6d\x60\xf7\x2f\xac\x51\x9e\xf8\x33\xcd\xda\xfd\x22\x14\x19\x5a\x1c\x2e\xa1\x71\x6c\x86\x9b\x3e\x81\x06\x6b\x25\x2c\x42\x6f\xf1\x43\x6d\x74\x23\xbd\x34\x3a\x84\xb8\x37\xce\x4f\x9f\xb1\x8d\x16\x9d\xb7\xb2\xf6\x15\x19\x8b\xcf\x58\x0f\xf4\x12\x62\x58\xda\x41\xd7\x61\x70\x08\x45\x70\x39\xb8\x3f\x02\xad\xe3\xb0\x17\x56\x78\x84\x3d\xd6\x62\x20\x5b\x3c\x1c\xe4\x09\x1d\x0f\x27\x6f\xf9\x83\xd8\x4b\x25\xfd\x48\x29\x70\x47\x61\xb1\x12\x60\xb1\x45\x8b\xba\xe6\xba\x08\x61\x0e\x01\x0d\x29\xd4\x6a\x04\x7c\xee\x8d\x8b\x50\xad\x44\xd5\xb8\x62\x51\x25\x35\x18\x8d\x60\x2c\x74\xc6\x62\xb2\xb8\x84\x62\x5b\x55\x0f\xd4\x3a\xce\x44\x83\x42\xe8\x17\xd6\x74\xe2\x09\xa1\x1e\x9c\x37\x5d\x8e\x70\x0c\x4d\x2e\x78\x8a\xcd\x3c\xca\xd4\x48\x06\x4e\xc2\x4a\x33\xd0\x68\xa9\x0f\x0e\xce\xd2\x1f\x19\x3e\x54\xde\xb6\xfa\x64\x2c\xe0\xb3\x20\x98\x0d\x08\x68\xc5\x50\xa3\xe7\xdc\xef\xb1\xa0\x63\x03\xfb\x31\xf5\x2d\xf7\x00\x87\x03\x52\x51\xcc\x9a\xeb\x97\x11\x06\x27\xf5\x61\x62\x2b\xa5\xb6\x98\xb6\x89\x6e\x9a\x76\xd1\xa2\x99\x30\x2a\x32\xc0\xa1\x6e\x78\xa6\x0d\xe5\x96\xba\xa5\x47\xb4\x1f\xbc\xf9\x40\xff\x37\xec\x91\x19\x3c\x75\x0d\xad\x49\x24\x40\x0b\x31\x37\x90\xb3\x02\x6a\x24\x54\x05\x0a\x9b\x03\x5a\x70\x9d\xb0\x3e\x2f\xb5\x85\x47\x13\x56\x8a\xe8\xde\x80\xd0\xa5\x0f\x36\x55\xa0\xa7\xd8\xa3\x8e\x42\x32\xf2\xa2\x8d\x15\xe7\x49\x28\xa1\xb5\xa6\x9b\xd6\x08\x53\x55\x68\x21\x2e\xdc\x06\x7b\xe3\xa4\xcf\xd5\x01\x46\xcf\x56\x7a\xe7\x52\x6d\x11\x43\x52\xe4\x3d\x06\x7c\x2b\xb4\x6b\xd1\x6e\xab\xea\xfd\x5d\x55\xdd\xdd\xdd\xcd\xc3\x46\x4f\xf8\xe9\x0a\x2b\x7f\x95\x91\x73\x6a\xb7\x3c\xbd\x1f\xf6\x2b\x44\xbf\x48\xcf\x1f\x55\x05\x00\x90\x96\xf2\xc6\x0b\x05\x7a\xe8\xf6\x68\xb9\xb4\x43\x1c\xa4\x06\x7c\x96\xce\x53\xdb\x6c\xf3\x84\x07\x0f\xd2\xc1\xd0\xc7\x46\x9a\x94\x96\xa5\x47\xa8\xdd\x60\xb1\x50\x52\xc0\x76\x43\xdf\xab\x31\x63\x38\x2f\x46\x47\x3c\x37\x70\x37\x53\x69\x04\xc0\x46\x78\x4c\xa3\xf8\x3f\xb9\x73\x12\x36\xc0\xfc\x9b\x51\xee\xe1\x3f\x9f\xe4\xf3\x9f\xfe\x7f\xe2\x03\xdb\xfb\xa0\xa5\x97\x42\xc9\xcf\xd8\xcc\x20\x92\x97\x78\xc2\x44\xd9\xd2\x01\x76\xd2\x53\x37\x9c\x29\xb5\x64\x68\x09\x9a\x83\xda\xa2\xf0\x0b\x18\xb2\x24\x40\x5c\x2c\x77\x23\xc3\xe7\xb9\x7d\xb7\x4b\x03\x7f\x8b\xb5\xa6\xbf\xd9\xbc\x90\x0f\x62\xc0\x54\xaf\x3a\x54\xa9\x08\x95\xf6\xa2\xa1\x79\xd9\x1b\xd1\xd1\xbe\x92\xec\xdb\x30\xc4\x3d\x7c\x6c\x1a\x8b\xce\xfd\xe5\xc2\xde\xbf\x87\x3a\xff\x8e\x70\x16\x7b\x9b\x84\x41\xb5\x68\xae\xb2\x37\x2f\x7b\x61\xaf\x37\xab\xd6\x26\xee\x5a\x35\x73\xd1\x46\x48\xc4\x57\x47\x96\xb7\xf8\xfb\x20\x2d\x17\xaf\x83\xd6\xd8\x1c\x5d\x22\xc6\x04\xb2\x20\x85\x52\xef\x4c\x52\x63\x5f\x5a\x63\xda\x22\x8d\x41\x07\xda\xe4\x05\xe7\x6b\x19\x0d\xbb\x7d\xda\x6a\x8f\x68\x71\x93\xe7\x4e\x76\x36\x85\x82\x76\x12\xd3\xc7\x0a\xed\x8d\x73\x32\x6e\x26\xa6\x0d\x45\x4a\x46\xc4\x0d\xa5\x8f\x61\x70\xc5\x74\xf2\xb8\x31\x6c\x87\xc6\x1a\x9d\x13\x56\xaa\x31\xea\x13\x26\x38\x73\xd6\x10\x2d\xd9\x5e\x64\xe5\x52\x04\x94\x7d\x22\x52\x48\x5a\x2a\xf3\xa8\x1b\xf6\x91\x98\x96\x81\x63\x71\x92\xb8\x71\x36\x39\x6c\x0d\x7e\xb0\x54\x34\x91\x3b\xf3\xfe\x66\xb1\x33\x27\x6c\xf2\x3e\x37\x99\x38\x03\x79\x9c\x28\x88\x77\x4c\x2e\xe8\x1c\x28\x3c\xa1\xa2\x02\xed\x87\xbd\x92\xf5\x06\xf6\x03\x15\xad\x74\xf4\x8c\xe2\x22\x28\x6e\x7b\x85\xdd\x0c\x2c\x65\x81\x85\x41\x51\x56\xa4\xc8\x38\xed\x6c\x57\x0e\xce\x5c\xb7\xcd\x80\x6a\x96\x7f\xcc\x0e\x6a\xe4\x2d\x24\xac\x9e\x2c\x7d\xd9\x9f\xb0\x6a\x27\x46\x38\x58\xa1\x7d\x54\x75\x71\x9d\xec\x23\x6d\xe8\xa9\x16\xc8\x1d\x79\x4a\x2c\x5a\xac\xe8\xb3\x0a\x89\x12\xdf\x9c\x5d\x12\xbb\xf5\x4c\x2d\x52\x97\x32\xee\x0c\x81\xeb\x2f\xe5\x3e\xbb\xee\x8f\xd6\x0c\x07\xda\x9a\xb3\xbe\xba\xd6\xa1\x20\x95\xd8\x2b\x0a\xca\x2b\x3e\x71\xf2\xae\x71\x89\xb0\x16\x7e\xcc\x6c\x9f\x61\x7c\xbb\x1f\xd4\x15\xed\xa0\x73\xb9\x2f\x28\xea\xf6\x1e\xfe\x1a\xca\xf7\x8f\x3c\x85\xa7\x19\xb7\x7c\x14\x90\x61\x67\xd1\xc5\x13\x46\x1b\xad\x0e\xc5\x45\xdd\x00\x27\xa1\x06\xbc\x98\x16\xa6\x6c\x63\xdb\xc2\xcf\x3f\x43\xb4\xe2\x62\x24\xfd\xbd\x49\xfc\x2f\x54\x1c\x07\xdd\xe0\x3c\xa9\x42\x5a\xc9\x89\x0e\x41\x84\x20\x25\xc4\xa8\x6e\xcb\x5e\xc3\x3e\xbd\x99\xc1\x7f\xa9\xe6\x9f\xbe\x14\x3e\x4e\x87\x8a\x1f\xe7\xe3\xb8\x7b\xac\xd0\x31\xef\x26\x57\xd2\xf1\x6f\x98\x48\x50\xea\x5a\x0d\x0d\x92\x94\x4c\x27\x93\x60\x46\x7d\xc4\xfa\x69\x1e\x84\x48\x01\x19\xe5\x8c\x7c\xae\xa5\x0c\x91\xc2\xbf\x46\xe0\x87\x30\x04\x81\x5f\x4d\x19\xa1\x31\x69\xd0\xba\x9a\xdf\x80\x92\x4f\x74\x18\x55\x92\x55\x54\x47\xf2\x48\xe8\xa6\x08\x28\xd6\xb9\xf4\x82\x44\x93\x6c\xb9\x68\x3d\xf4\x2a\x9c\x45\xe0\x75\x22\x4f\x49\x5a\x12\x79\x12\xb7\x5e\x3c\x61\x61\x63\x62\xe8\xf8\xc6\xd1\xd6\xb4\x1e\xfe\xd2\x4f\x63\x8f\x2f\xf6\x4f\xc4\xba\x09\x0a\x24\xf4\xcc\xed\xb2\x8e\xe2\x61\xf4\x9a\x32\x22\xf1\x26\xa4\x0e\xf9\x28\x5b\x2b\x1f\xe3\x60\x7a\xea\xce\x20\xe4\xd1\xa4\xf8\x84\x0f\xd2\x45\xe3\x39\x0c\x0c\xf2\x25\x0a\xc1\xcd\xb4\x32\x32\x04\x6d\x22\x45\x04\x42\x6d\xac\xc5\xda\xab\xf1\xaa\xf8\x47\xe7\x96\xe1\x2f\x72\x7c\xd2\x8c\x02\x4e\xcb\x3d\x73\x16\x51\x12\xc8\x71\xf8\x5c\x1c\xd3\x1f\x99\x78\xb3\x78\x7b\x7b\x1d\x3f\x39\x54\xed\x94\x66\x12\xca\x3a\xcf\x24\x8f\x12\xbb\x4c\x63\x93\xaa\x25\x3c\x4a\x40\x57\x33\xca\xa5\x68\x4c\xb1\x9a\x50\xf8\xb2\x0c\xca\x75\x82\x37\x5f\x3b\x82\xbe\x90\x2a\x5e\xf3\x3e\x0b\x9e\x4d\xee\x98\xcd\x7a\xee\xd8\x9c\x70\x21\x22\xd2\xad\x06\xf3\x4c\x6d\xf9\xfc\x37\xf6\x2c\x15\xc4\xda\xe9\xac\x43\xa1\x27\x34\x11\x01\xf1\x84\x76\x5c\xde\xf0\xe5\xd9\xf3\x5b\x03\xf7\xd2\x3d\xd9\x14\x94\xb3\xd3\x60\x2b\x35\x4e\xcd\x5b\x5e\x74\xe5\x78\xb6\xc6\x76\x79\x5b\xfa\xca\xdd\xd1\x14\x7f\x7e\x8d\x34\xbd\x2a\x08\x1c\xc2\x17\x46\x2e\x2a\xa6\x48\xf8\x4d\xba\x6f\xa1\x21\xe5\xce\xe5\xf5\xc6\x20\x9b\x7e\xa0\x35\x22\x6c\xb9\x0d\x09\x59\x8a\x21\x0a\x57\x5b\x45\xbf\xc9\xcf\x33\xf9\x30\x93\x1d\xbd\x95\x14\x98\xa4\x0d\x17\x75\x7e\xc9\x40\x01\xe2\xe5\x1e\x7d\x55\x60\xef\xc2\x76\xbe\x2b\x12\x9b\x17\x78\xe7\x66\x4c\x05\xab\x22\x3b\xf3\x5c\xd9\x7a\x12\x30\x36\x6b\xf3\x7f\x58\x02\x59\x7c\x8d\x61\xfe\xfc\x8a\x90\xf9\x18\xd4\x4b\x91\x25\x89\x69\x54\x50\x79\x42\x83\xb1\x80\xbf\x0f\x42\x85\x6f\x2b\x9a\xe6\x45\x25\x03\x2f\x4a\x35\x3a\x0f\x70\x9c\x48\x35\x0b\x55\xae\x7f\x76\x7b\x6c\x8d\xc5\x1d\x4b\x03\xf4\xb1\x2a\xd5\x90\x17\x5d\x6c\x48\x6b\xe0\xf1\xb6\x64\x8f\x07\xa9\x35\x95\xd1\xe2\x4e\xb4\xdc\x96\xae\xcc\x7e\x9d\xb8\xd9\xc0\x9b\xe9\xe3\x5b\xf8\xf0\x72\xb4\xff\x91\x2b\x64\xbf\x20\x76\xbe\x03\x8b\x9a\xa3\x44\xb6\xb7\x78\xe2\x0b\xca\x34\x5c\x04\x89\x72\xbd\x8c\xbc\x52\x87\x88\xa6\x21\x0d\x52\x16\x8a\xe4\x34\xcb\xb4\x5c\x39\x67\x5e\xa7\x42\x16\xc9\xbf\xbb\x83\x8f\xce\xa1\xf5\xe5\x4a\x6b\xce\xe9\xd1\xfd\x72\xd1\xc1\x84\x44\xe2\x20\xc9\xeb\x25\x5e\x54\xdb\xa7\x72\xff\x2c\xc3\xb9\xa7\xf7\x89\x40\x22\xda\x15\x1d\x44\xb6\x6f\xa5\x7b\x88\x3f\x31\x84\x1c\x1f\xd0\x3f\x8e\x3d\xde\xdc\xde\xde\xc3\x7a\x76\xff\x26\x34\x09\xe2\x14\x65\x66\xb9\xda\x74\xbd\xf0\x93\x4b\x46\xf2\xef\x3b\x7a\xe5\xaa\xea\xfb\xbf\xf4\x98\x1d\x48\x8f\xbf\xab\x16\xdd\xd0\xbd\x5a\x84\x25\x3d\xdf\x76\x96\x09\x02\xf0\xd7\xae\xf7\x63\xac\xc0\x78\xce\xd4\x63\xfc\xbd\xc1\xc4\x31\x33\x52\xe5\xac\x1e\x05\x15\xee\x67\xb4\x66\x29\x1d\xab\x69\x15\x2e\x97\xb8\x59\xa3\xd0\x95\x50\x5f\x1e\x03\x7f\xda\xfe\x74\x0f\x6f\x68\x4b\xd3\x78\x56\x63\x52\xaf\xd1\x26\x0e\x19\xff\x24\x35\x35\xe9\xcd\x85\xef\x5f\xfe\x17\x00\x00\xff\xff\x1a\xfd\xf3\x08\x64\x1c\x00\x00" func fungibletokenCdcBytes() ([]byte, error) { return bindataRead( @@ -109,7 +109,7 @@ func fungibletokenCdc() (*asset, error) { } info := bindataFileInfo{name: "FungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe4, 0xba, 0x66, 0x74, 0xd7, 0xb3, 0xd5, 0xa4, 0xd3, 0xc6, 0xb8, 0x36, 0xdb, 0xe5, 0x45, 0xf, 0x55, 0x68, 0x16, 0xe9, 0xbc, 0x2c, 0xf3, 0x88, 0x99, 0x6c, 0xe7, 0x69, 0xc, 0x6e, 0xc7, 0x84}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xac, 0x1c, 0xf4, 0x50, 0x78, 0x2d, 0xa7, 0xca, 0x50, 0x3f, 0xc0, 0x48, 0x50, 0x81, 0x99, 0x2d, 0xd4, 0x28, 0x3c, 0x7, 0xd0, 0xe1, 0x9f, 0x3e, 0xc8, 0x5c, 0x12, 0x3b, 0x91, 0x5e, 0xf8, 0x6}} return a, nil } diff --git a/lib/go/templates/transaction_templates.go b/lib/go/templates/transaction_templates.go index 6236779b..238e2f13 100644 --- a/lib/go/templates/transaction_templates.go +++ b/lib/go/templates/transaction_templates.go @@ -127,7 +127,7 @@ func GenerateBurnTokensScript(fungibleAddr, tokenAddr flow.Address, tokenName st func GenerateTransferInvalidVaultScript(fungibleAddr, tokenAddr, otherTokenAddr, receiverAddr flow.Address, tokenName, otherTokenName string, amount int) []byte { storageName := MakeFirstLowerCase(tokenName) - otherStorageName := MakeFirstLowerCase(tokenName) + otherStorageName := MakeFirstLowerCase(otherTokenName) template := ` import FungibleToken from 0x%s diff --git a/lib/go/test/go.mod b/lib/go/test/go.mod index 53af96f6..01793d9c 100644 --- a/lib/go/test/go.mod +++ b/lib/go/test/go.mod @@ -3,11 +3,11 @@ module github.com/onflow/flow-ft/lib/go/test go 1.13 require ( - github.com/onflow/cadence v0.12.6 - github.com/onflow/flow-emulator v0.14.2 + github.com/onflow/cadence v0.14.4 + github.com/onflow/flow-emulator v0.17.1 github.com/onflow/flow-ft/lib/go/contracts v0.4.0 github.com/onflow/flow-ft/lib/go/templates v0.0.0-00010101000000-000000000000 - github.com/onflow/flow-go-sdk v0.14.3 + github.com/onflow/flow-go-sdk v0.17.0 github.com/stretchr/testify v1.7.0 ) diff --git a/lib/go/test/go.sum b/lib/go/test/go.sum index cf4a37fb..18266370 100644 --- a/lib/go/test/go.sum +++ b/lib/go/test/go.sum @@ -105,7 +105,9 @@ github.com/btcsuite/goleveldb v0.0.0-20160330041536-7834afc9e8cd/go.mod h1:F+uVa github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= +github.com/bytecodealliance/wasmtime-go v0.22.0/go.mod h1:q320gUxqyI8yB+ZqRuaJOEnGkAnHh6WtJjMaT2CW4wI= github.com/c-bata/go-prompt v0.2.3/go.mod h1:VzqtzE2ksDBcdln8G7mk2RX9QyGjH+OVqOCSiVIqS34= +github.com/c-bata/go-prompt v0.2.5/go.mod h1:vFnjEGDIIA/Lib7giyE4E9c50Lvl8j0S+7FVlAwDAVw= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= @@ -115,6 +117,8 @@ github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghf github.com/cespare/xxhash/v2 v2.0.1-0.20190104013014-3767db7a7e18/go.mod h1:HD5P3vAIAh+Y2GAxg0PrPN1P8WkepXGpjbUPDHJqqKM= github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cheekybits/genny v1.0.0 h1:uGGa4nei+j20rOSeDeP5Of12XVm7TGUd4dJA9RDitfE= +github.com/cheekybits/genny v1.0.0/go.mod h1:+tQajlRqAUrPI7DOSpB0XAqZYtQakVtB7wXkRAgjxjQ= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= @@ -174,6 +178,7 @@ github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1 github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= github.com/edsrzf/mmap-go v0.0.0-20160512033002-935e0e8a636c/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= +github.com/ef-ds/deque v1.0.4/go.mod h1:gXDnTC3yqvBcHbq2lcExjtAcVrOnJCbMcZXmuj8Z4tg= github.com/elastic/gosigar v0.8.1-0.20180330100440-37f05ff46ffa/go.mod h1:cdorVVzy1fhmEqmtgqkoE3bYtCfSCkVyjTyCIo22xvs= github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -300,6 +305,8 @@ github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/ad github.com/graph-gophers/graphql-go v0.0.0-20191115155744-f33e81362277/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-middleware/providers/zerolog/v2 v2.0.0-rc.2/go.mod h1:BL7w7qd2l/j9jgY6WMhYutfOFQc0I8RTVwtjpnAMoTM= +github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.0-20200501113911-9a95f0fdbfea/go.mod h1:GugMBs30ZSAkckqXEAIEGyYdDH6EgqowG8ppA3Zt+AY= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= @@ -589,6 +596,7 @@ github.com/mattn/go-colorable v0.1.0/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaO github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-ieproxy v0.0.0-20190610004146-91bb50d98149/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc= github.com/mattn/go-ieproxy v0.0.0-20190702010315-6dee0af9227d/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= @@ -702,20 +710,43 @@ github.com/onflow/cadence v0.12.3/go.mod h1:8NwJGO535nnY/+QWEMDc2rhvOFChToWQ9Bg7 github.com/onflow/cadence v0.12.5/go.mod h1:8NwJGO535nnY/+QWEMDc2rhvOFChToWQ9Bg7fUIIc/I= github.com/onflow/cadence v0.12.6 h1:IvKSx5C84B4DGBf4DUAtLE2WtC24KAZR4z5XZyGGPYM= github.com/onflow/cadence v0.12.6/go.mod h1:CHQIgovf2fks/6kwrpBaatNarHxX5qJggynAbjEnSvQ= +github.com/onflow/cadence v0.13.0/go.mod h1:VuW4hf5AuC/PkxKD6akqq03Fgk0CpOM3ZOR6n7htNIw= +github.com/onflow/cadence v0.13.5-no-id-caching/go.mod h1:EEXKRNuW5C2E1wRM4fLhfqoTgXohPFieXwOGJubz1Jg= +github.com/onflow/cadence v0.13.10 h1:xfZd4buG3OgjSWPLiZ0H0rJU3HXqBdYfhCkqCMBxglc= +github.com/onflow/cadence v0.13.10/go.mod h1:EEXKRNuW5C2E1wRM4fLhfqoTgXohPFieXwOGJubz1Jg= +github.com/onflow/cadence v0.14.2/go.mod h1:EEXKRNuW5C2E1wRM4fLhfqoTgXohPFieXwOGJubz1Jg= +github.com/onflow/cadence v0.14.4 h1:l5HQTGEcbPXZQEjIB0kFxVI8OmBgNHujLKAMSs/JvEQ= +github.com/onflow/cadence v0.14.4/go.mod h1:Jzno1fQNpJB16RUiodjAN4QuwuMC0dt8cLtjcxp+iI4= github.com/onflow/flow-core-contracts/lib/go/contracts v0.7.1 h1:nmIDPf94F9Ecx6ecGyd4uYBUl4LluntWLvtwAJYt4tw= github.com/onflow/flow-core-contracts/lib/go/contracts v0.7.1/go.mod h1:4zE/4A+5zyahxSFccQmcBqzp4ONXIwvGHaOKN8h8CRM= github.com/onflow/flow-emulator v0.14.2 h1:/kxGotqmmSL8wGAlFZ98pch2vZx3IjDJ45cXavDbleo= github.com/onflow/flow-emulator v0.14.2/go.mod h1:rrlVt1xxDKi7/WBw2RW4WAL9D8hDu4AUs+iJPPZgHIs= +github.com/onflow/flow-emulator v0.16.2 h1:/B1Y5vBddfUhVJtGbvmE1XTWx8MGs8A/6AAz4lNXrBE= +github.com/onflow/flow-emulator v0.16.2/go.mod h1:3MAGfuwKH6XA6N95WdCs/5fd5ZUtFyoEQFKxA7BZ08w= +github.com/onflow/flow-emulator v0.17.1 h1:uVlVZYXFQufiJMtb8wC//27CkX1SF1ezefG84nKOdvo= +github.com/onflow/flow-emulator v0.17.1/go.mod h1:7SyL6T0F26HLHPM0lSmRmaA54iM3T87m7nWXccza1Ao= github.com/onflow/flow-go v0.14.0 h1:vFFxg+gkWS6mhTCz5gdIeu7HedPlV7FIJiX4LSRi1ww= github.com/onflow/flow-go v0.14.0/go.mod h1:0Uf23S/xNZZSxtXqWy0vpCPBvkWzxxObd03Vc0MbKws= +github.com/onflow/flow-go v0.14.9 h1:yfyvEWWXJ+66mtTf/pEDPO3hwBKaQh06WVuvAXN7Vao= +github.com/onflow/flow-go v0.14.9/go.mod h1:EGaieLf+gZ/HGci8HEHxh6VeES9Sfpqo9ZggzzteejI= +github.com/onflow/flow-go v0.15.4 h1:z6NPVVZh/1y1o+HlHIg+svVQiNwoKubSgKhWOiQRmjQ= +github.com/onflow/flow-go v0.15.4/go.mod h1:Td2+8Is8Jn5PUhEtxjdHjVzKYUNDIiMjHsHsFYEftOw= github.com/onflow/flow-go-sdk v0.13.0/go.mod h1:yqnSajzJVFfrTg68F4WXRR1Yzs1akqAjyscEDyFudPE= github.com/onflow/flow-go-sdk v0.14.2/go.mod h1:3+pZ5VjelRgzFyE9LBWei90bmKuY1szSGkNGgK/SxYY= github.com/onflow/flow-go-sdk v0.14.3 h1:6t1ycWJSPpgz7LeMDaZ3cIbiKa24JNxUEFyAu3Vvi2U= github.com/onflow/flow-go-sdk v0.14.3/go.mod h1:VAXKnZQlRRPfIkm8nw71B6bwhXNnmTfqV4wNrP3fK9I= +github.com/onflow/flow-go-sdk v0.15.0 h1:h2FD/d1p/VRIWEcAYcVOT2rm4qKppIn4sVog+/eXKrw= +github.com/onflow/flow-go-sdk v0.15.0/go.mod h1:Dkcd1xQta8EPQL5XKE9vi2OTa6CoMsbX0jIQ4ozhUUs= +github.com/onflow/flow-go-sdk v0.17.0 h1:NC6GEb1OebiUDkZqWG+5t/QgjjJrham6CXnyRbzHPqg= +github.com/onflow/flow-go-sdk v0.17.0/go.mod h1:AjXHdxguP/PK5P8tWKHH4jR6oLISTgLoXXQrbQsHY+E= github.com/onflow/flow-go/crypto v0.12.0 h1:TMsqn5nsW4vrCIFG/HRE/oy/a5/sffHrDRDYqicwO98= github.com/onflow/flow-go/crypto v0.12.0/go.mod h1:oXuvU0Dr4lHKgye6nHEFbBXIWNv+dBQUzoVW5Go38+o= github.com/onflow/flow/protobuf/go/flow v0.1.8 h1:jBR8aXEL0MOh3gVJmCr0KYXmtG3JUBhzADonKkYE6oI= github.com/onflow/flow/protobuf/go/flow v0.1.8/go.mod h1:kRugbzZjwQqvevJhrnnCFMJZNmoSJmxlKt6hTGXZojM= +github.com/onflow/flow/protobuf/go/flow v0.1.9 h1:ugK6/9K4AkMxqPbCvQzbbV24AH50Ozze43nqpukQoOM= +github.com/onflow/flow/protobuf/go/flow v0.1.9/go.mod h1:kRugbzZjwQqvevJhrnnCFMJZNmoSJmxlKt6hTGXZojM= +github.com/onflow/flow/protobuf/go/flow v0.2.0 h1:a4Cg0ekoqb76zeOEo1wtSWtlnhGXwcxebp0itFwGtlE= +github.com/onflow/flow/protobuf/go/flow v0.2.0/go.mod h1:kRugbzZjwQqvevJhrnnCFMJZNmoSJmxlKt6hTGXZojM= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= @@ -751,6 +782,7 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= github.com/pkg/term v0.0.0-20190109203006-aa71e9d9e942/go.mod h1:eCbImbZ95eXtAUIbLAuAVnBnwf83mjf6QIVH8SHYwqQ= +github.com/pkg/term v1.1.0/go.mod h1:E25nymQcrSllhX42Ok8MRm1+hyBdHY0dCeiKZ9jpNGw= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= @@ -1073,6 +1105,8 @@ golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200828194041-157a740278f4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200918174421-af09f7315aff/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201008064518-c1f3e3309c71 h1:ZPX6UakxrJCxWiyGWpXtFY+fp86Esy7xJT/jJCG8bgU= golang.org/x/sys v0.0.0-20201008064518-c1f3e3309c71/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=