From 755c0ddcc598f7c46b474fb4179eb62650591b6e Mon Sep 17 00:00:00 2001 From: Joshua Hannan Date: Fri, 5 Jun 2020 15:32:50 -0500 Subject: [PATCH] Adds custom example token contract Getters (#22) * adding custom example token * fixing PR comments * replaced Address templates --- contracts/contracts.go | 48 ++++++++++++++++++++++++-- contracts/contracts_test.go | 12 +++++++ contracts/internal/assets/assets.go | 18 +++++----- src/contracts/ExampleToken.cdc | 2 +- src/contracts/FlowToken.cdc | 2 +- src/contracts/TokenForwarding.cdc | 2 +- test/go.mod | 2 ++ test/token_test.go | 52 ++++++++++++++++++++++++++--- 8 files changed, 119 insertions(+), 19 deletions(-) diff --git a/contracts/contracts.go b/contracts/contracts.go index 363d3573..46eaa0e0 100644 --- a/contracts/contracts.go +++ b/contracts/contracts.go @@ -12,7 +12,7 @@ const ( fungibleTokenFilename = "FungibleToken.cdc" flowTokenFilename = "FlowToken.cdc" exampleTokenFilename = "ExampleToken.cdc" - defaultFungibleTokenAddress = "02" + defaultFungibleTokenAddress = "FUNGIBLETOKENADDRESS" tokenForwardingFilename = "TokenForwarding.cdc" ) @@ -23,7 +23,7 @@ func FungibleToken() []byte { // FlowToken returns the FlowToken contract. // -// The returned contract will import the FungibleToken contract from the specified address. +// The returned contract will import the FungibleToken interface from the specified address. func FlowToken(fungibleTokenAddr string) []byte { code := assets.MustAssetString(flowTokenFilename) @@ -38,7 +38,7 @@ func FlowToken(fungibleTokenAddr string) []byte { // ExampleToken returns the ExampleToken contract. // -// The returned contract will import the FungibleToken contract from the specified address. +// The returned contract will import the FungibleToken interface from the specified address. func ExampleToken(fungibleTokenAddr string) []byte { code := assets.MustAssetString(exampleTokenFilename) @@ -51,6 +51,27 @@ func ExampleToken(fungibleTokenAddr string) []byte { return []byte(code) } +// CustomToken returns the ExampleToken contract with a custom name. +// +// The returned contract will import the FungibleToken interface from the specified address. +func CustomToken(fungibleTokenAddr, tokenName string) []byte { + code := assets.MustAssetString(exampleTokenFilename) + + code = strings.ReplaceAll( + code, + "0x"+defaultFungibleTokenAddress, + "0x"+fungibleTokenAddr, + ) + + code = strings.ReplaceAll( + code, + "ExampleToken", + tokenName, + ) + + return []byte(code) +} + // TokenForwarding returns the TokenForwarding contract. // // The returned contract will import the FungibleToken contract from the specified address. @@ -65,3 +86,24 @@ func TokenForwarding(fungibleTokenAddr string) []byte { return []byte(code) } + +// CustomTokenForwarding returns the TokenForwarding contract for a custom token +// +// The returned contract will import the FungibleToken interface from the specified address. +func CustomTokenForwarding(fungibleTokenAddr, tokenName string) []byte { + code := assets.MustAssetString(tokenForwardingFilename) + + code = strings.ReplaceAll( + code, + "0x"+defaultFungibleTokenAddress, + "0x"+fungibleTokenAddr, + ) + + code = strings.ReplaceAll( + code, + "ExampleToken", + tokenName, + ) + + return []byte(code) +} diff --git a/contracts/contracts_test.go b/contracts/contracts_test.go index 0a23315e..9a4e216b 100644 --- a/contracts/contracts_test.go +++ b/contracts/contracts_test.go @@ -28,8 +28,20 @@ func TestExampleTokenContract(t *testing.T) { assert.Contains(t, string(contract), addrA.Hex()) } +func TestCustomExampleTokenContract(t *testing.T) { + contract := contracts.CustomToken(addrA.Hex(), "UtilityCoin") + assert.NotNil(t, contract) + assert.Contains(t, string(contract), addrA.Hex()) +} + func TestTokenForwardingContract(t *testing.T) { contract := contracts.TokenForwarding(addrA.Hex()) assert.NotNil(t, contract) assert.Contains(t, string(contract), addrA.Hex()) } + +func TestCustomTokenForwardingContract(t *testing.T) { + contract := contracts.CustomTokenForwarding(addrA.Hex(), "UtilityCoin") + assert.NotNil(t, contract) + assert.Contains(t, string(contract), addrA.Hex()) +} diff --git a/contracts/internal/assets/assets.go b/contracts/internal/assets/assets.go index ed2dd425..1e705428 100644 --- a/contracts/internal/assets/assets.go +++ b/contracts/internal/assets/assets.go @@ -1,9 +1,9 @@ // Code generated by go-bindata. DO NOT EDIT. // sources: -// ../src/contracts/ExampleToken.cdc (7.102kB) -// ../src/contracts/FlowToken.cdc (7.074kB) +// ../src/contracts/ExampleToken.cdc (7.12kB) +// ../src/contracts/FlowToken.cdc (7.092kB) // ../src/contracts/FungibleToken.cdc (7.306kB) -// ../src/contracts/TokenForwarding.cdc (1.954kB) +// ../src/contracts/TokenForwarding.cdc (1.972kB) package assets @@ -73,7 +73,7 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x59\xcd\x72\x23\xb7\x11\xbe\xeb\x29\x3a\x3e\x24\x54\x59\xa2\x98\x54\x2a\x07\x95\xd6\x5e\x6d\xa2\xad\xf2\x21\xae\x94\xb3\x49\xae\xc2\xcc\x34\x49\x44\x33\x00\x0b\xc0\x90\xa2\x55\x7a\x77\x57\x37\x7e\x06\x18\x0e\x29\xc9\xda\xdd\x83\xbd\x1c\xa0\x7f\xd0\xfd\x75\xf7\x07\xac\xec\x36\xda\x38\xf8\xdc\xab\x95\xac\x5a\xfc\xa2\x1f\x50\xc1\xd2\xe8\x0e\x16\x8f\x8b\xbf\x9c\x9d\x6d\xfa\x0a\x6a\xad\x9c\x11\xb5\x83\xbb\x47\xd1\x6d\xc2\xa6\xeb\x91\xcc\xd3\xd9\x19\x00\xc0\xd5\x15\x7c\xd1\x4e\xb4\x60\xfb\xcd\xa6\xdd\x83\x5e\x16\x52\x16\xa4\x02\x7c\x94\xd6\xa1\xaa\x91\x25\xc8\xc2\x56\x18\x70\x24\xf6\x6f\x96\xba\x86\xff\x7c\x96\x8f\x7f\xfb\x6b\x52\x79\xb7\x45\xe5\xc0\xad\x85\x03\x69\x01\x3b\xe9\x1c\x36\xb0\x5b\xa3\x02\xb7\xc6\xc1\x41\x69\xa1\x36\x28\x1c\x36\x49\x35\xb2\xa8\x37\xfe\x93\x92\x4e\x8a\x56\xfe\x8a\xcd\x4c\xfa\xbf\x97\x06\xcf\x5f\x65\xd1\x1f\x44\x18\x84\x9d\x74\xeb\xc6\x88\x5d\x08\x99\x80\xff\x8a\xbe\x75\x93\xb6\xff\x17\xb7\xce\x44\xa7\x7b\xe5\xa2\xc9\x0b\x16\xbd\x86\xdb\xa6\x31\x68\xed\x8f\x6f\x75\xa1\xc1\x8d\xb6\x92\x56\x9c\x3e\xe9\xc0\x3f\xe2\xc6\x03\x07\x9c\x7e\xa3\x79\x85\xbb\xdc\x85\x4e\xaa\x63\x11\xff\x27\x2f\x8d\x2c\xbe\xfd\x88\xd6\x19\xbd\x3f\x62\xe2\x53\x6f\xd4\xef\x33\x21\xf8\x20\xec\xbd\x01\x83\x56\xf7\xa6\xc6\xe3\x18\xe2\xb3\x98\xbf\xfb\xb5\x99\x68\x5b\xbd\xc3\xe6\xf6\xf7\x9a\xad\xc8\xed\xd7\x98\xe5\xf3\x25\xb3\x83\x85\x21\xd3\x57\x57\xc9\xaa\xa8\xd7\xd0\x5b\x34\x60\x9d\x36\x68\x41\x28\x90\xca\x3a\xa1\x6a\xa4\x52\xd4\xaa\xdd\x73\xc5\xb0\x30\xd5\xa2\x5b\xa3\xf4\xbb\xc5\x0a\x53\x05\xaf\x11\x96\xbd\xaa\x9d\xd4\xbe\x62\x07\x11\xa1\x1a\x58\xe9\x2d\x52\xcc\xa1\xf2\xca\x36\x06\xf9\xfb\x46\x5b\x47\xb5\xd8\x48\x16\x8c\xda\xa4\x1a\xb5\x8a\x58\xb7\x7b\xce\x6e\x2d\xda\x16\x9b\x79\x6e\xbb\x5e\x63\xfd\x60\x61\x2d\x36\x1b\x8a\x97\x03\xd3\x2b\x27\x3b\x64\x49\xdc\xa2\x01\x91\xfc\xe3\xc0\x15\x2a\xa2\xa6\x5f\x42\x68\x69\x5d\xf9\xa3\x57\x18\x83\x1c\x4f\x45\xad\x03\x1f\x1d\x05\xa7\xe8\x24\x9c\x39\xf2\x31\x6a\xf3\x40\x5c\x4a\xc5\xb2\x17\x60\x35\x2d\x1b\x4e\x9c\xd2\xb0\x13\x7b\x58\x6a\x72\xac\x13\xad\xac\xa5\xee\xad\x4f\x84\xd3\xc1\xa4\x0f\x60\x8a\x8a\xee\x83\x51\xa9\x40\x48\x33\x87\x5b\xb0\x1b\xac\xa5\x68\x03\xd0\x06\x68\x28\xc4\xc6\x92\xa2\x6a\x70\xc1\x69\x06\x6e\xd4\x36\x54\x64\x11\x05\x42\x51\x52\xc3\xf6\x47\x6d\x7b\xfe\x2f\xa3\xb7\xb2\x41\x73\x31\xfa\xfe\x0b\xd6\x28\xb7\x87\xdf\x3f\x89\x96\xc1\x14\xda\x7d\x30\xbf\xd6\x2d\x79\xb8\x46\xa8\xc2\xba\x5e\x82\xe0\x00\xd8\xe0\x57\xda\x1e\xfb\x7d\xd8\x59\xf6\xfa\x04\x99\xd8\xa8\x0b\xa5\x84\x84\x78\x1a\x0e\x2a\xe5\x9f\x80\x91\x64\x49\x70\x36\xd2\x7c\x0e\x4f\x69\x9d\xfe\x58\x6c\x97\xf3\xa8\xf2\x43\x54\x9e\xb6\x3c\x17\x9e\xc4\x0e\x9f\x7d\xcb\x97\x3f\x47\x14\x7a\xbc\x88\x87\x58\x73\x0e\x57\x04\x53\xee\x0e\x20\xf8\xa3\x30\xab\xbe\xc3\x90\xb3\x88\x2a\xd5\x24\x13\xd6\x2b\x09\x32\x3c\x50\x52\xdd\xcd\x73\xa1\x9f\x5c\x80\x94\x0d\xbd\xc4\x21\x4d\x71\x61\xf6\xa1\x48\x63\xdb\xe9\xad\x47\x0a\xa5\x27\x57\x40\x6a\x3b\xad\x70\x9f\x76\x56\x28\xd5\x0a\x9c\x11\xca\x2e\xd1\x18\x6c\xe6\x64\xc5\xa0\xeb\x8d\xf2\x89\x55\xb8\x6b\xf7\xb9\x92\x58\x48\xc1\xa4\x2e\xca\x89\xf5\xfa\xb2\xa4\x4a\x91\x8e\x6b\xb0\xca\xc6\x55\xae\x0a\x5b\x8b\x3b\x2a\xa6\xf9\x54\x98\x09\x30\xcb\x5e\xa5\x38\x8d\x5b\xfd\x35\x7c\x2c\x31\xea\x3d\x3a\x99\xf4\xe2\xe7\x65\x88\x79\x21\x40\x2d\xfb\xe8\xe8\xf6\xff\x8f\xa3\x9b\x95\xe9\x9d\x42\xf3\xe3\x5c\xf8\x39\x7a\x5e\xe8\xf2\x71\x84\x9b\xcb\xbc\x13\x0c\x30\xf5\xda\xce\x8f\x20\x30\x44\xec\x2d\x00\x0c\x39\xd1\xd5\xff\xb1\x1e\xa3\x8f\x21\x27\x9a\xc6\x16\xf5\xe6\x6c\x2a\xb2\x90\xc9\xac\x90\xe9\x27\x1f\xcf\x4e\x83\x51\x5a\x08\xd3\x90\x84\xc3\xb4\x66\x29\x4b\x06\xbd\x33\x15\xd6\xa2\xb7\x38\x40\xba\xa8\x32\xf2\x31\x83\x31\x01\x16\x4d\xb4\x1d\x1a\x1b\x8f\x06\x16\xfd\xd3\xe0\xed\x5a\x14\x07\xa9\x10\x15\x81\xd0\xf6\x1d\x36\x7c\x54\x6e\xd2\x4b\xcd\x83\x26\x20\x30\xb0\x89\xf9\x01\xc2\x42\xa8\x67\x3e\xad\x53\xa8\x1a\xf7\x92\x16\x1d\x6c\xf9\x7c\x37\x97\x81\x03\xda\x3f\xc0\xc7\x9c\xf2\xce\xcb\xd3\xbe\x04\xc6\xef\xbd\xbe\xf9\xb8\x2d\x8d\x30\x79\xc8\xe6\x0a\x31\x4f\xea\x5e\x04\x66\x21\x03\x1f\x60\x31\x5f\x14\xeb\x31\x97\xdb\xe2\x08\x19\x3e\xc3\x86\xd9\x38\x2e\x45\x00\x32\x66\x0f\x1f\x8e\x2f\x5d\x16\x81\xc8\xac\x65\x36\x53\xdf\xb9\xeb\x36\x6e\x3f\x45\x81\xca\x82\x28\xfb\xa4\x47\x22\xf5\x11\x10\x39\xc0\x7f\x45\xa3\xd3\x9c\x57\x4d\xea\x7b\x72\xe8\x6b\xa2\x6d\xa9\x43\x86\xfe\x46\xd3\x9a\xa7\x7b\xd7\x5b\xdf\xe7\x68\x90\xdb\x44\x4a\x72\x65\xcc\xc4\x58\x89\x57\x9b\x5a\xe6\x98\x7d\xd1\x07\x6d\x1a\xcf\x19\xb8\xa0\xfc\x7a\x52\x56\xd7\x3c\x19\x3c\x11\x10\x55\xcb\xb5\x6a\xfc\xa0\x8e\xd8\xb5\x81\x54\x84\xb1\x0b\x6e\xbf\xc1\x03\x4a\x40\x58\x1f\x87\x71\xf6\x72\x1f\x7d\xa1\x8d\x2d\xe6\x8b\xf3\x3c\x57\x05\xf9\xb8\x6d\x3a\xa9\xa4\x75\x46\x38\x6d\x32\x9d\x29\xa1\x3f\xe3\xce\xf3\x9e\x57\x35\xba\x94\xd7\x2c\x5b\x93\x74\xfe\xd4\x40\x19\x19\x3e\x42\xe9\xaf\xe1\x63\x20\x64\x4f\x87\xc5\x78\xf2\x4e\x50\xfc\x3c\x3d\x11\xa6\x3d\x38\xa2\xa0\x9c\x0f\xe9\x14\xfe\xa2\xf0\xce\xf0\x8d\xae\x25\xaf\x0a\x9f\x37\xcc\x00\xf2\x7f\x9d\x8a\xd4\xf8\x1a\x73\x2a\x1a\x51\xe1\xd1\x1e\x90\x21\xe5\x90\xef\xc7\xb9\xe7\x27\x22\x57\x81\x20\xf4\xc5\x02\xf2\xf7\x01\x1a\x31\x91\x45\xbf\x8a\x3e\x27\x10\x8c\x99\x54\x20\x6c\x54\x77\xfe\xce\x1a\xef\x0e\x11\x8b\xe5\x7c\x4c\xb4\x1d\x32\x32\x3c\x09\xbd\xc2\x12\x89\x7d\x29\x99\xf4\xa9\x0c\xd3\x76\x9b\x9d\xeb\x82\x67\x3e\x79\xd5\xc5\x9e\xe6\xb2\x77\x9a\x8b\x31\x29\xcd\xa8\x5f\x77\xac\x09\x9e\x02\xc7\xe0\xee\x04\x5d\x3b\x1c\x8f\x23\xc4\xd0\x8d\xb2\xfc\x42\x7f\x42\xa0\x7f\x08\x9a\x66\x8b\xf3\x6b\xf8\xce\x87\x2c\xbc\x41\xf8\x7e\x5c\x21\xac\x18\x48\x86\x62\xa1\xb8\xbd\x7f\x77\x4c\xdb\x4d\x98\xbf\xa3\x0c\x1c\xd1\xdb\xa2\xb5\x5e\x29\x67\x3e\x64\xd5\xab\x2a\x4d\x3c\xbf\x7b\x1e\x7e\x3f\x45\x4b\x0f\x7d\x85\xa9\x03\xbc\xc8\x69\x47\x0f\x33\x63\x0a\x0a\xef\x62\xad\x7c\x0b\x9b\xee\xa6\x53\xb4\x7c\x7c\x9c\xe2\xf7\x41\x0f\xa0\xff\xc6\x92\xcf\x5a\xde\x7b\xfb\x00\x35\xbe\x17\x7b\x40\x6a\x6f\x05\xe7\xec\x8d\x7a\x43\x65\x06\xca\x34\xd0\xf4\xf8\x40\x73\x01\xb8\x5c\x62\xed\xe4\x16\xdb\x3d\x6b\xe5\x3b\xd9\x40\x80\x8f\xa8\xff\x59\x3b\xbc\xf6\x9c\xdd\xd3\x8b\xec\xe9\x4c\xf4\x4e\x77\xc2\x49\x2a\xdd\x3d\xd8\xbe\xe2\xd7\x0d\x6c\x86\xeb\x65\xd1\xcd\xf2\x97\xdb\xe2\xd9\x87\x9d\xee\x6b\xa7\xcd\xc9\xaa\x1f\x42\xf1\xcd\x39\x34\x49\x89\x88\x98\xe3\x94\x79\x9a\xc1\x8e\x8a\x61\xf4\x84\x78\x88\xec\x0c\xdf\x8c\xed\xfc\x08\x0c\xe1\xb2\xa4\xff\xbc\x58\x10\x93\xce\x43\xeb\x07\x5f\x16\x51\x66\xa1\xe3\x36\x9c\x0d\x11\xa6\x8e\x62\x8b\x44\x42\xa5\x2a\x5e\xe8\x46\xc1\x2f\xe2\x37\x5d\xab\x63\x1f\xcf\x4b\xef\x43\x41\xcc\xc9\xde\xec\xe6\x92\x95\xf9\x1b\xc4\x55\xb0\x7b\x85\x59\x36\x7c\x16\xa7\x8e\x27\x08\x09\xad\xac\xa1\x16\x1b\x51\xc9\x56\xba\x7d\x1c\x1e\x4c\x83\x9b\xfc\x81\x82\x5f\xe4\xf0\x71\xa3\x2d\xda\xf1\x4c\xbd\x0f\x74\xf6\x1e\x3a\x74\x6b\x4d\xd7\x38\xa3\xfb\x95\x8f\xd8\x7d\x7c\x9c\xba\xe7\x87\x16\xb3\x14\xd3\x44\xa5\x38\x5b\x2b\xd5\xc3\xcd\x1f\x0f\x41\xf5\x34\xfd\xee\xf5\xfc\xc3\xac\x40\xcb\x95\x3f\x58\x11\x87\xf4\x46\x56\xec\x74\xc2\xac\xd0\x9d\x0a\x5d\xda\xfe\x8d\x63\x18\xd2\x7f\x0f\x4b\x89\xed\x28\x84\x9f\xe2\xda\x57\x8f\x60\xd0\xfc\x9a\x00\x86\xad\x5f\x23\x7e\xdc\x0e\xb8\xbb\x0f\x45\x50\xdc\x39\x66\xa7\x31\xcf\xb2\x27\x30\xcf\xba\xca\x7c\xdd\x51\x03\x11\x2a\x3c\xd3\x73\x3a\xec\x5a\xef\x32\xfe\x97\x5e\x93\x77\xc2\x66\x6f\x9a\xc3\xdb\x57\xd6\x83\x4e\xfc\xdb\xd4\x74\xf5\x3e\x9f\x3d\x9f\xfd\x16\x00\x00\xff\xff\xfb\x0f\xed\xda\xbe\x1b\x00\x00" +var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x59\xdf\x73\x1b\xb7\x11\x7e\xd7\x5f\xb1\xcd\x43\x4b\x4d\x24\x8a\x9d\xe9\xf4\x41\x23\x27\x96\x6b\xb9\xe3\x69\xeb\x76\x6c\xa7\x7d\x15\xee\x6e\x49\xa2\xbe\x03\x38\x00\x8e\x14\xe3\xd1\xff\x9e\xd9\xc5\x8f\x03\x8e\x47\x4a\x8a\x13\x3f\x24\xe6\xdd\x61\x77\xb1\xfb\xed\xb7\x1f\x60\xd9\x6d\xb4\x71\xf0\xae\x57\x2b\x59\xb5\xf8\x59\x7f\x41\x05\x4b\xa3\x3b\x58\x3c\xbc\xfb\xe9\xc3\xdf\xdf\xbf\xf9\xe7\xdd\xe7\x7f\xff\xe3\xee\xc3\xed\xdb\xb7\x1f\xef\x3e\x7d\x3a\x3b\xdb\xf4\x15\xd4\x5a\x39\x23\x6a\x07\x77\x0f\xa2\xdb\x84\x65\xd7\x23\x2b\x5f\xcf\xce\x00\x00\xae\xae\xe0\xb3\x76\xa2\x05\xdb\x6f\x36\xed\x1e\xf4\xb2\x58\x65\x41\x2a\xc0\x07\x69\x1d\xaa\x1a\x79\x05\x79\xd8\x0a\x03\x8e\x96\x7d\xe2\x55\xd7\xf0\xd3\x3b\xf9\xf0\xd7\xbf\x24\x93\x77\x5b\x54\x0e\xdc\x5a\x38\x90\x16\xb0\x93\xce\x61\x03\xbb\x35\x2a\x70\x6b\x1c\x02\x94\x16\x6a\x83\xc2\x61\x93\x4c\x23\x2f\xf5\xce\xdf\x2b\xe9\xa4\x68\xe5\xcf\xd8\xcc\xa4\xff\x7b\xe9\xf0\xfc\x59\x1e\xfd\x46\x84\x41\xd8\x49\xb7\x6e\x8c\xd8\x85\x24\x0a\xf8\xaf\xe8\x5b\x37\xe9\xfb\x7f\xf1\xd3\x99\xe8\x74\xaf\x5c\x74\x79\xc1\x4b\xaf\xe1\xb6\x69\x0c\x5a\xfb\xe3\x4b\x43\x68\x70\xa3\xad\xa4\x37\x4e\x9f\x0c\xe0\x6d\xfc\xf0\x20\x00\xa7\x5f\xe8\x5e\xe1\x2e\x0f\xa1\x93\xea\x58\xc6\xff\xc5\xaf\x46\x1e\x5f\xbe\x45\xeb\x8c\xde\x1f\x71\xf1\xa6\x37\xea\xd7\xb9\x10\xbc\x11\x8e\xde\x80\x41\xab\x7b\x53\xe3\x71\x0c\xf1\x5e\xcc\xdf\xfc\xbb\x99\x68\x5b\xbd\xc3\xe6\xf6\xd7\xba\xad\x28\xec\xe7\xb8\xe5\xfd\x25\xb7\x83\x87\xa1\xd2\x57\x57\xc9\xab\xa8\xd7\xd0\x5b\x34\x60\x9d\x36\x68\x41\x28\x90\xca\x3a\xa1\x6a\xa4\x56\xd4\xaa\xdd\x73\xc7\xf0\x62\xea\x45\xb7\x46\xe9\xbf\x16\x2b\x4c\x1d\xbc\x46\x58\xf6\xaa\x76\x52\xfb\x8e\x1d\x96\x08\xd5\xc0\x4a\x6f\x91\x72\x0e\x95\x37\xb6\x31\xc8\xcf\x37\xda\x3a\xea\xc5\x46\xf2\xc2\x68\x4d\xaa\x11\x55\xc4\xbe\xdd\x73\x75\x6b\xd1\xb6\xd8\xcc\x73\xdf\xf5\x1a\xeb\x2f\x16\xd6\x62\xb3\xa1\x7c\x39\x30\xbd\x72\xb2\x43\x5e\x89\x5b\x34\x20\x52\x7c\x9c\xb8\xc2\x44\xb4\xf4\x31\xa4\x96\xde\x2b\xbf\xf5\x0a\x63\x92\xe3\xae\x88\x3a\xf0\xc1\x51\x72\x0a\x26\xe1\xca\x51\x8c\xd1\x9a\x07\xe2\x52\x2a\x5e\x7b\x01\x56\xd3\x6b\xc3\x85\x53\x1a\x76\x62\x0f\x4b\x4d\x81\x75\xa2\x95\xb5\xd4\xbd\xf5\x85\x70\x3a\xb8\xf4\x09\x4c\x59\xd1\x7d\x70\x2a\x15\x08\x69\xe6\x70\x0b\x76\x83\xb5\x14\x6d\x00\xda\x00\x0d\x85\xd8\x58\x32\x54\x0d\x21\x38\xcd\xc0\x8d\xd6\x86\x8e\x2c\xb2\x40\x28\x4a\x66\xd8\xff\x88\xb6\xe7\xff\x31\x7a\x2b\x1b\x34\x17\xa3\xe7\x1f\xb1\x46\xb9\x3d\x7c\xfe\x46\xb4\x0c\xa6\x40\xf7\xc1\xfd\x5a\xb7\x14\xe1\x1a\xa1\x0a\xef\xf5\x12\x04\x27\xc0\x86\xb8\xd2\xe7\x91\xef\xc3\x97\x25\xd7\x27\xc8\x44\xa2\x2e\x8c\x12\x12\xe2\x6e\x38\xa9\x54\x7f\x02\x46\x5a\x4b\x0b\x67\x23\xcb\xe7\xf0\x35\xbd\xa7\x3f\x16\xdb\xe5\x3c\x9a\x7c\x15\x8d\xa7\x4f\x1e\x8b\x48\x22\xc3\x67\xcf\xf2\xd7\xef\x22\x0a\x3d\x5e\xc4\x97\xd8\x73\x0e\x57\x04\x53\x66\x07\x10\xfc\x50\x98\x55\xdf\x61\xa8\x59\x44\x95\x6a\x92\x0b\xeb\x8d\x84\x35\x3c\x50\x52\xdf\xcd\xf3\x45\xef\x5d\x80\x94\x0d\x5c\xe2\x90\xe6\xba\x30\xfb\xd0\xa4\x91\x76\x7a\xeb\x91\x42\xe5\xc9\x0d\x90\xd9\x4e\x2b\xdc\xa7\x2f\x2b\x94\x6a\x05\xce\x08\x65\x97\x68\x0c\x36\x73\xf2\x62\xd0\xf5\x46\xf9\xc2\x2a\xdc\xb5\xfb\xdc\x48\x6c\xa4\xe0\x52\x17\xed\xc4\x76\x7d\x5b\x52\xa7\x48\xc7\x3d\x58\x65\xe3\x2a\x37\x85\xad\xc5\x1d\x35\xd3\x7c\x2a\xcd\x04\x98\x65\xaf\x52\x9e\xc6\x54\x7f\x0d\xaf\x4b\x8c\xfa\x88\x4e\x16\xbd\xf8\x79\x19\x72\x5e\x2c\x20\xca\x3e\x3a\xba\xfd\xff\xe3\xe8\x66\x63\x7a\xa7\xd0\xfc\x38\x17\x7e\x8e\x9e\x17\xb6\x7c\x1e\xe1\xe6\x32\x67\x82\x01\xa6\xde\xda\xf9\x11\x04\x86\x8c\xbd\x04\x80\xa1\x26\xba\xfa\x3f\xd6\x63\xf4\x31\xe4\x44\xd3\xd8\xa2\xdf\x9c\x4d\x4d\x16\x2a\x99\x35\x32\xfd\xe4\xed\xd9\x69\x30\x4a\x0b\x61\x1a\xd2\xe2\x30\xad\x79\x95\x25\x87\x3e\x98\x0a\x6b\xd1\x5b\x1c\x20\x5d\x74\x19\xc5\x98\xc1\x98\x00\x8b\x26\xfa\x0e\xc4\xc6\xa3\x81\x97\xfe\x69\x88\x76\x2d\x8a\x8d\x54\x88\x8a\x40\x68\xfb\x0e\x1b\xde\x2a\x93\xf4\x52\xf3\xa0\x09\x08\x0c\x6a\x62\x7e\x80\xb0\x90\xea\x99\x2f\xeb\x14\xaa\xc6\x5c\xd2\xa2\x83\x2d\xef\xef\xe6\x32\x68\x40\xfb\x07\x78\x9d\x4b\xde\x79\xb9\xdb\xa7\xc0\xf8\xbd\xb7\x37\x1f\xd3\xd2\x08\x93\x87\x6a\xae\x58\xe6\x45\xdd\x93\xc0\x2c\xd6\xc0\x2b\x58\xcc\x17\xc5\xfb\x58\xcb\x6d\xb1\x85\x0c\x9f\xe1\x83\xd9\x38\x2f\x45\x02\x32\x65\x0f\xaf\x8e\xbf\xba\x2c\x12\x91\x79\xcb\x7c\x26\xde\xb9\xeb\x36\x6e\x3f\x25\x81\xca\x86\x28\x79\xd2\x23\x91\x78\x04\x44\x0e\xf0\x9f\xd1\xe8\x34\xe7\x55\x93\x78\x4f\x0e\xbc\x26\xda\x96\x18\x32\xf0\x1b\x4d\x6b\x9e\xee\x5d\x6f\x3d\xcf\xd1\x20\xb7\x49\x94\xe4\xc6\x58\x89\xb1\x11\x6f\x36\x51\xe6\x58\x7d\xd1\x03\x6d\x1a\xaf\x19\xb8\xa1\xfc\xfb\x64\xac\xae\x79\x32\x78\x21\x20\xaa\x96\x7b\xd5\xf8\x41\x1d\xb1\x6b\x83\xa8\x08\x63\x17\xdc\x7e\x83\x07\x92\x80\xb0\x3e\x4e\xe3\xec\x69\x1e\x7d\x82\xc6\x16\xf3\xc5\x79\x5e\xab\x42\x7c\xdc\x36\x9d\x54\xd2\x3a\x23\x9c\x36\x99\xcd\x54\xd0\x0f\xb8\xf3\xba\xe7\x59\x44\x97\xea\x9a\x55\x6b\x52\xce\x9f\x1a\x28\x23\xc7\x47\x24\xfd\x35\xbc\x0e\x82\xec\xeb\x61\x33\x9e\x3c\x13\x14\x3f\x4f\x4f\x84\xe9\x08\x8e\x18\x28\xe7\x43\xda\x85\x3f\x28\x7c\x63\xfa\x46\xc7\x92\x67\xa5\xcf\x3b\x66\x00\xf9\xbf\x4e\x65\x6a\x7c\x8c\x39\x95\x8d\x68\xf0\x28\x07\x64\x48\x39\xd4\xfb\x71\xee\xf9\x89\xc8\x5d\x20\x08\x7d\xb1\x81\xfc\x79\x80\x46\x4c\x54\xd1\xcf\x92\xcf\x09\x04\x63\x25\x15\x04\x1b\xf5\x9d\x3f\xb3\xc6\xb3\x43\xc4\x62\x39\x1f\x93\x6c\x87\x4c\x0c\x4f\x42\xaf\xf0\x44\xcb\x3e\x97\x4a\xfa\x54\x85\xe9\x73\x9b\xed\xeb\x82\x67\x3e\x45\xd5\x45\x4e\x73\xd9\x3d\xcd\xc5\x58\x94\x66\xd2\xaf\x3b\x46\x82\xa7\xc0\x31\x84\x3b\x21\xd7\x0e\xc7\xe3\x08\x31\x74\xa2\x2c\x9f\xd0\x9f\x90\xe8\x1f\x82\xa5\xd9\xe2\xfc\x1a\xbe\xf3\x29\x0b\x77\x10\x9e\x8f\x2b\x84\x15\x03\xc9\x50\x2e\x14\xd3\xfb\x77\xc7\xac\xdd\x84\xf9\x3b\xaa\xc0\x11\xbb\x2d\x5a\xeb\x8d\x72\xe5\x43\x55\xbd\xa9\xd2\xc5\xe3\x37\xcf\xc3\xef\xa7\x64\xe9\x61\xac\x30\xb5\x81\x27\x35\xed\xe8\x62\x66\x2c\x41\xe1\x9b\x54\x2b\x9f\xc2\xa6\xd9\x74\x4a\x96\x8f\xb7\x53\xfc\x3e\xe0\x00\xfa\x6f\x6c\xf9\x8c\xf2\xbe\x95\x07\x88\xf8\x9e\xe4\x80\x44\x6f\x85\xe6\xec\x8d\x7a\x41\x67\x06\xc9\x34\xc8\xf4\x78\x41\x73\x01\xb8\x5c\x62\xed\xe4\x16\xdb\x3d\x5b\xe5\x33\xd9\x20\x80\x8f\x98\xff\xa0\x1d\x5e\x7b\xcd\xee\xe5\x45\x76\x75\x26\x7a\xa7\x3b\xe1\x24\xb5\xee\x1e\x6c\x5f\xf1\xed\x06\x36\xc3\xf1\xb2\x60\xb3\xfc\xe6\xb6\xb8\xf6\xe1\xa0\xfb\xda\x69\x73\xb2\xeb\x87\x54\xfc\xee\x1a\x9a\x56\x89\x88\x98\xe3\x92\x79\x5a\xc1\x8e\x9a\x61\x74\x85\x78\x88\xec\x0c\xdf\x8c\xed\x7c\x0b\x0c\xe1\xb2\xa5\xff\xbc\x58\x90\x92\xce\x53\xeb\x07\x5f\x96\x51\x56\xa1\x63\x1a\xce\x86\x08\x4b\x47\xb1\x45\x12\xa1\x52\x15\x37\x74\xa3\xe4\x17\xf9\x9b\xee\xd5\x71\x8c\xe7\x65\xf4\xa1\x21\xe6\xe4\x6f\x76\x73\xc9\xc6\xfc\x09\xe2\x2a\xf8\xbd\xc2\xac\x1a\xbe\x8a\x53\xdb\x13\x84\x84\x56\xd6\x50\x8b\x8d\xa8\x64\x2b\xdd\x3e\x0e\x0f\x96\xc1\x4d\x7e\x41\xc1\x37\x72\xf8\xb0\xd1\x16\xed\x78\xa6\xde\x07\x39\x7b\x0f\x1d\xba\xb5\xa6\x63\x9c\xd1\xfd\xca\x67\xec\x3e\x5e\x4e\xdd\xf3\x45\x8b\x59\x8a\x69\xa1\x52\xec\xad\x95\xea\xcb\xcd\x1f\x0f\x41\xf5\x75\xfa\xde\xeb\xf1\x87\x59\x81\x96\x2b\xbf\xb1\x22\x0f\xe9\x8e\xac\xf8\xd2\x09\xb3\x42\x77\x2a\x75\xe9\xf3\xdf\x39\x87\xa1\xfc\xf7\xb0\x94\xd8\x8e\x52\xf8\x26\xbe\xfb\xcd\x33\x18\x2c\x3f\x27\x81\xe1\xd3\xdf\x22\x7f\x4c\x07\xcc\xee\x43\x13\x14\x67\x8e\xd9\x69\xcc\xf3\xda\x13\x98\x67\x5b\x65\xbd\xee\x88\x40\x84\x0a\xd7\xf4\x5c\x0e\xbb\xd6\xbb\x4c\xff\xa5\xdb\xe4\x9d\xb0\xd9\x9d\xe6\x70\xf7\x95\x71\xd0\x89\x7f\x9b\x9a\xee\xde\xc7\xb3\xc7\xb3\x5f\x02\x00\x00\xff\xff\x18\x1f\x2f\x65\xd0\x1b\x00\x00" func exampletokenCdcBytes() ([]byte, error) { return bindataRead( @@ -89,11 +89,11 @@ func exampletokenCdc() (*asset, error) { } info := bindataFileInfo{name: "ExampleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5c, 0x9a, 0xe0, 0x98, 0x98, 0xe6, 0xb7, 0x48, 0xb4, 0x7b, 0x7f, 0xe7, 0xb2, 0x8e, 0xb2, 0x4e, 0x7f, 0xb3, 0xf2, 0x97, 0x88, 0xe7, 0xd3, 0xdd, 0xb5, 0x76, 0x32, 0xd1, 0x47, 0x6c, 0x2b, 0x55}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfc, 0x7b, 0xce, 0x2a, 0x2e, 0x77, 0x0, 0x73, 0x9f, 0x82, 0x36, 0xa6, 0x90, 0x17, 0x93, 0x40, 0xfd, 0x25, 0x56, 0x2f, 0xe2, 0x4f, 0xfd, 0x1d, 0xcd, 0x13, 0x61, 0x6b, 0xd5, 0xf, 0x42, 0x69}} return a, nil } -var _flowtokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x59\xcd\x6e\x23\xb9\x11\xbe\xfb\x29\x2a\x7b\x48\x64\xac\x2d\x1b\x41\x90\x83\xe0\xd9\x1d\x4f\x32\x03\xec\x21\x8b\x60\x33\x49\xae\xa6\xba\x4b\x12\x33\xdd\xa4\x40\xb2\x25\x6b\x07\x7e\xf7\xa0\x8a\x3f\x4d\x52\x2d\xd9\x5e\xef\xf8\x30\xe3\xee\x26\xeb\xf7\xab\xaa\x8f\xb4\xec\xb7\xda\x38\xf8\x34\xa8\xb5\x5c\x76\xf8\x59\x7f\x41\x05\x2b\xa3\x7b\xb8\x7d\xbc\xfd\xf3\xc5\xc5\x76\x58\x42\xa3\x95\x33\xa2\x71\xf0\xa9\xd3\x7b\x5e\xb1\xa8\x36\x7c\xbd\xb8\x00\x00\xb8\xb9\x81\xcf\xda\x89\x0e\xec\xb0\xdd\x76\x07\xd0\x2b\xde\x02\x8e\x16\x59\x90\x0a\xf0\x51\x5a\x87\xaa\x41\x5e\x4f\xc2\x77\xc2\x80\xa3\x4d\xff\xe2\x3d\x0b\xf8\xf7\x27\xf9\xf8\xd7\xbf\x24\x81\x1f\x77\xa8\x1c\xb8\x8d\x70\x20\x2d\x60\x2f\x9d\xc3\x16\xf6\x1b\x54\xe0\x36\x38\xda\x26\x2d\x34\x06\x85\xc3\x36\x89\x46\xde\xca\x16\xda\x9f\x94\x74\x52\x74\xf2\x57\x6c\x67\xd2\xff\x5e\x2a\xbc\x7c\x91\x46\xef\x88\x30\x08\x7b\xe9\x36\xad\x11\xfb\x10\x2d\x01\xff\x11\x43\xe7\x26\x75\xff\x37\x2e\x9d\x89\x5e\x0f\xca\x45\x95\x57\xbc\x75\x01\xf7\x6d\x6b\xd0\xda\x1f\x5f\x6b\x42\x8b\x5b\x6d\x25\x7d\x71\xfa\xac\x01\x7f\x8f\x0b\x8f\x0c\x70\xfa\x95\xea\x15\xee\x73\x13\x7a\xa9\x4e\x45\xfc\x1f\xfc\xa9\xd2\xf8\x7a\x17\xad\x33\xfa\x70\x42\xc5\x87\xc1\xa8\xdf\xa6\x42\xb0\x23\x6c\xbd\x01\x83\x56\x0f\xa6\xc1\xd3\x18\x62\x5f\xcc\xdf\xfc\xb7\x99\xe8\x3a\xbd\xc7\xf6\xfe\xb7\xaa\x5d\x92\xd9\x2f\x51\xcb\xfe\x25\xb5\xa3\x86\x31\xd3\x37\x37\x49\xab\x68\x36\x30\x58\x34\x60\x9d\x36\x68\x41\x28\x90\xca\x3a\xa1\x1a\xa4\x42\xd4\xaa\x3b\x70\xc5\xf0\x66\xaa\x45\xb7\x41\xe9\x57\x8b\x35\xa6\xfa\xdd\x20\xac\x06\xd5\x38\xa9\x7d\xc5\x8e\x5b\x84\x6a\x61\xad\x77\x48\x31\x87\xa5\x17\xb6\x35\xc8\xef\xb7\xda\x3a\xaa\xc5\x56\xf2\xc6\x28\x4d\xaa\xaa\x51\xc4\xba\x3d\x70\x76\x1b\xd1\x75\xd8\xce\x73\xdd\xcd\x06\x9b\x2f\x16\x36\x62\xbb\xa5\x78\x39\x30\x83\x72\xb2\x47\xde\x89\x3b\x34\x20\x92\x7d\x1c\xb8\x42\x44\x94\xf4\x4b\x08\x2d\x7d\x57\xde\xf5\x25\xc6\x20\x47\xaf\xa8\x75\xe0\xa3\xa3\xe0\x14\x9d\x84\x33\x47\x36\x46\x69\x1e\x88\x2b\xa9\x78\xef\x15\x58\x4d\x9f\x0d\x27\x4e\x69\xd8\x8b\x03\xac\x34\x19\xd6\x8b\x4e\x36\x52\x0f\xd6\x27\xc2\xe9\xa0\xd2\x07\x30\x45\x45\x0f\x41\xa9\x54\x20\xa4\x99\xc3\x3d\xd8\x2d\x36\x52\x74\x01\x68\x23\x34\x14\x62\x6b\x49\xd0\x72\x34\xc1\x69\x06\x6e\x94\x36\x56\x64\x11\x05\x42\x51\x12\xc3\xfa\xab\xa6\x3d\xff\xa7\xd1\x3b\xd9\xa2\xb9\xaa\xde\xff\x82\x0d\xca\xdd\xf1\xfb\x0f\xa2\x63\x30\x85\x66\x1f\xd4\x6f\x74\x47\x16\x6e\x10\x96\xe1\xbb\x5e\x81\xe0\x00\xd8\x60\x57\x5a\x1e\xfb\x7d\x58\x59\xf6\xfa\x04\x99\xd8\xa8\x0b\xa1\x84\x84\xe8\x0d\x07\x95\xf2\x4f\xc0\x48\x7b\x69\xe3\xac\x92\x7c\x09\x5f\xd3\x77\xfa\xb1\xd8\xad\xe6\x51\xe4\xbb\x28\x3c\x2d\x79\x2a\x2c\x89\x1d\x3e\x7b\x97\x7f\xfe\x14\x51\xe8\xf1\x22\xbe\xc4\x9a\x73\xb8\x26\x98\x72\x77\x00\xc1\x2f\x85\x59\x0f\x3d\x86\x9c\x45\x54\xa9\x36\xa9\xb0\x5e\x48\xd8\xc3\x03\x25\xd5\xdd\x3c\xdf\xf4\x93\x0b\x90\xb2\xa1\x97\x38\xa4\x01\x2e\xcc\x21\x14\x69\x6c\x3b\x83\xf5\x48\xa1\xf4\xe4\x02\x48\x6c\xaf\x15\x1e\xd2\xca\x25\x4a\xb5\x06\x67\x84\xb2\x2b\x34\x06\xdb\x39\x69\x31\xe8\x06\xa3\x7c\x62\x15\xee\xbb\x43\x2e\x24\x16\x52\x50\xa9\x8b\x72\x62\xb9\xbe\x2c\xa9\x52\xa4\xe3\x1a\x5c\x66\xe3\x2a\x17\x85\x9d\xc5\x3d\x15\xd3\x7c\x2a\xcc\x04\x98\xd5\xa0\x52\x9c\xea\x56\xbf\x80\xf7\x25\x46\xbd\x45\x67\x93\x5e\x3c\x5e\x87\x98\x17\x1b\xa8\x65\x9f\x1c\xdd\xfe\xff\x38\xba\x59\x98\xde\x2b\x34\x3f\xce\x85\x9f\xa3\x97\x85\x2c\x1f\x47\xb8\xbb\xce\x3b\xc1\x08\x53\x2f\xed\xf2\x04\x02\x43\xc4\x5e\x03\xc0\x90\x13\xbd\xfc\x1f\x36\x35\xfa\x18\x72\xa2\x6d\x6d\x51\x6f\xce\xa6\x22\x0b\x99\xcc\x0a\x99\x1e\xd9\x3d\x3b\x0d\x46\x69\x21\x4c\x43\xda\x1c\xa6\x35\xef\xb2\xa4\xd0\x1b\xb3\xc4\x46\x0c\x16\x47\x48\x17\x55\x46\x36\x66\x30\x26\xc0\xa2\x89\xba\x43\x63\xe3\xd1\xc0\x5b\xff\x34\x5a\xbb\x11\x85\x23\x4b\x44\x45\x20\xb4\x43\x8f\x2d\xbb\xca\x4d\x7a\xa5\x79\xd0\x04\x04\x06\x36\x31\x3f\x42\x58\x08\xf5\xcc\xa7\x75\x0a\x55\x75\x2f\xe9\xd0\xc1\x8e\xfd\xbb\xbb\x0e\x1c\xd0\xfe\x01\xde\x27\x8e\x3c\x2f\x5d\x7d\x0e\x89\xdf\x7b\x61\xf3\xba\x27\x55\x80\x3c\xa6\x72\xc5\x36\xcf\xe8\x9e\x45\x65\xb1\x07\xde\xc1\xed\xfc\xb6\xf8\x1e\x13\xb9\x2b\x5c\xc8\xc0\x19\x16\xcc\xea\xa0\x8c\xde\x67\x9c\x1e\xde\x9d\x78\x7f\x5d\x84\x20\xd3\x93\x69\x4b\xed\xe6\x63\xbf\x75\x87\x29\xe6\x53\xd6\x41\xd9\x1e\x3d\x00\xa9\x7d\x80\xc8\x71\xfd\x2b\x1a\x9d\xc6\xbb\x6a\x53\xbb\x93\x63\x3b\x13\x5d\x47\x8d\x31\xb4\x35\x1a\xd2\x3c\xd4\xfb\xc1\xfa\xf6\x46\xf3\xdb\x26\x2e\x92\x0b\x63\x02\xc6\x42\xbc\xd8\xd4\x29\x6b\xd2\x45\x2f\xb4\x69\x3d\x55\xe0\x3a\xf2\xdf\x93\xb0\xa6\xe1\x81\xe0\xe7\xbf\x58\x76\x5c\xa2\xc6\xcf\xe7\x08\x59\x1b\xb8\x44\x98\xb6\xe0\x0e\x5b\x3c\x62\x02\x04\xf1\x3a\x8c\xb3\xe7\xdb\xe7\x33\xdd\xeb\x76\x7e\x7b\x99\xe7\xaa\xe0\x1c\xf7\x6d\x2f\x95\xb4\xce\x08\xa7\x4d\x26\x33\x25\xf4\x67\xdc\x7b\xba\xf3\xa2\xfe\x96\xf2\x9a\x65\x6b\x92\xc5\x9f\x9b\x23\x95\xe2\x13\x4c\x7e\x01\xef\x03\x0f\xfb\x7a\x5c\x86\x67\x8f\x02\xc5\xe3\xf9\x41\x30\x6d\xc1\x09\x01\xe5\x58\x48\x5e\xf8\xf3\xc1\x1b\xc3\x57\x9d\x46\x5e\x14\x3e\xaf\x98\x01\xe4\x7f\x9d\x8a\x54\x7d\x7a\x39\x17\x8d\x28\xf0\x64\x0f\xc8\x90\x72\x4c\xf3\xe3\xb8\xf3\x83\x90\xab\x40\x10\xfa\x62\x01\xf9\x63\x00\x4d\x96\x48\x9e\x5f\xc4\x9a\x13\x08\x6a\x02\x15\x78\x1a\xd5\x9d\x3f\xaa\xc6\x23\x43\xc4\x62\x39\x16\x13\x5b\x87\x8c\x03\x4f\x42\xaf\xd0\x44\xdb\x3e\x97\x04\xfa\x5c\x86\x69\xb9\xcd\xfc\xba\xe2\x51\x4f\x56\xf5\xb1\xa7\xb9\xec\x72\xe6\xaa\xe6\xa2\x19\xe3\xeb\x4f\x35\xc1\x73\xe0\x18\xcd\x9d\x62\x69\xe5\x54\xac\xe0\x42\xa7\xc8\xf2\x0d\xfd\x84\x28\xff\x10\xc4\xcc\x6e\x2f\x17\xf0\x9d\x8f\x57\xb8\x77\xf0\xcd\x78\x89\xb0\x66\x14\x19\x0a\x84\xe2\xde\xfe\xdd\x29\x69\x77\x61\xec\x56\xe1\x3f\x21\xb7\x43\x6b\xbd\x50\x4e\x7b\x48\xa9\x17\x55\xaa\x78\x7a\xc3\x18\xfc\x7e\x8a\x84\x1e\x5b\x09\x53\xa6\x3f\xcb\x60\xab\x6b\x98\x9a\x70\xc2\x9b\x38\x2a\x9f\xb9\xa6\x9b\xe8\x14\x09\xaf\xdd\x29\x9e\x8f\x4a\x9f\xfe\x8d\x95\x9e\x75\xba\xb7\x96\x3f\xf5\xbb\x67\x4b\x3f\x75\xb5\x82\x61\x0e\x46\xbd\xa2\x20\x03\x47\x1a\x49\x79\xbc\x8e\xb9\x02\x5c\xad\xb0\x71\x72\x87\xdd\x81\xa5\xf2\x09\x6c\xa4\xbb\x27\xc4\xff\xac\x1d\x2e\x3c\x43\xf7\xac\x22\xbb\x28\x13\x83\xd3\xbd\x70\x92\x2a\xf6\x00\x76\x58\xf2\x5d\x06\xb6\xe3\x61\xb2\x68\x62\xf9\x2d\x6d\x71\xc9\xc3\x46\x0f\x8d\xd3\xe6\x6c\xb1\x8f\xa1\xf8\xb6\x8c\x99\xb6\x88\x08\x97\xd3\x04\x79\x9a\xaf\x56\x95\x50\xdd\x16\x1e\xc3\x3a\x03\xb7\x07\x36\x81\xe8\xde\x63\x68\x01\xf7\x83\xdb\x84\x87\xdc\x31\x06\x76\x59\xe5\xc4\xa6\xf3\x68\xfb\x11\x98\x05\x99\xf9\x68\xdd\x90\xb3\x71\xc2\x24\x52\xec\x90\xe8\xa8\x54\xc5\x15\x5d\x95\x8f\x22\xa4\xd3\xe5\x5b\x1b\x38\x7a\x9c\xfb\x37\x27\x7d\xb3\xbb\x6b\x16\xe6\x4f\x11\x37\x41\xef\xcd\x2a\x26\xc8\x67\x75\xca\x37\x41\xc8\xe8\x64\x03\x8d\xd8\x8a\xa5\xec\xa4\x3b\xc4\x19\xc2\x6c\xb8\xcd\xaf\x27\xf8\x3e\x0e\x1f\xb7\xda\xa2\xad\x47\xeb\x43\x60\xb5\x0f\xd0\xa3\xdb\x68\x3a\xc4\x19\x3d\xac\x7d\xb8\x1e\xe2\xd5\xd4\x03\x5f\xb3\x98\x95\x98\xe6\x2b\x85\x63\x9d\x54\x5f\xee\xfe\x58\x81\xec\xeb\xf4\x95\xd7\xd3\x0f\xb3\x02\x3d\x37\xde\xab\x31\x02\xe9\x6e\xac\x58\xe6\x84\x59\xa3\x3b\x19\xb1\xb4\xf6\x1b\x87\x2e\xa4\xfc\x01\x56\x12\xbb\x2a\x72\x1f\xe2\xb7\xdf\x37\x70\x41\xec\xb3\x71\x0b\xeb\xde\x1c\x36\xee\x07\xdc\xdb\x47\xbc\x17\x07\x8d\xd9\x79\x78\xf3\xbb\x53\xf0\x66\x41\x65\x8e\x3e\x52\xfb\x10\x2a\xdc\xc7\x73\x0a\xec\x46\xef\x33\xc6\x97\xae\x8d\xf7\xc2\x66\x97\x97\xe3\x25\x57\xd6\x81\xce\xfc\x11\x6a\xba\x4a\x9f\x2e\x9e\x2e\xfe\x1f\x00\x00\xff\xff\x4d\xa4\xc6\xb3\xa2\x1b\x00\x00" +var _flowtokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x59\x5f\x73\xdb\xb8\x11\x7f\xf7\xa7\xd8\xde\x43\x2b\xcf\xd9\xb2\x1f\x3a\x7d\xf0\x38\x77\x71\x1a\xbb\x93\x69\x9b\x76\x92\x5c\xfb\x6a\x88\x5c\x49\x68\x48\x40\x03\x80\x92\x75\x19\x7f\xf7\xce\x2e\xfe\x10\xa0\x48\xd9\x3e\x5f\xfc\x90\x98\x24\xb0\x7f\x7f\xbb\xfb\x03\x2c\xdb\x8d\x36\x0e\xee\x3a\xb5\x92\x8b\x06\xbf\xe8\xaf\xa8\x60\x69\x74\x0b\x97\x0f\x77\xbf\x7c\xfc\xdb\x87\x77\xff\xb8\xfd\xf2\xaf\xbf\xdf\x7e\xbc\x79\xff\xfe\xd3\xed\xe7\xcf\x27\x27\x9b\x6e\x01\x95\x56\xce\x88\xca\xc1\x5d\xa3\x77\xbc\xe7\x6a\x20\xe2\xdb\xc9\x09\x00\xc0\xc5\x05\x7c\xd1\x4e\x34\x60\xbb\xcd\xa6\xd9\x83\x5e\xf2\x16\x70\xb4\xc8\x82\x54\x80\x0f\xd2\x3a\x54\x15\xf2\x7a\x12\xbe\x15\x06\x1c\x6d\xfa\xcc\x7b\xae\xe0\x97\x3b\xf9\xf0\x97\x3f\x27\x81\xb7\x5b\x54\x0e\xdc\x5a\x38\x90\x16\xb0\x95\xce\x61\x0d\xbb\x35\x2a\x70\x6b\xec\x6d\x93\x16\x2a\x83\xc2\x61\x9d\x44\x23\x6f\x65\x0b\xed\x07\x25\x9d\x14\x8d\xfc\x15\xeb\x99\xf4\xbf\x97\x0a\x4f\x9f\xa5\xd1\x3b\x22\x0c\xc2\x4e\xba\x75\x6d\xc4\x2e\xc4\x4f\xc0\x7f\x44\xd7\xb8\x51\xdd\xff\x8d\x4b\x67\xa2\xd5\x9d\x72\x51\xe5\x19\x6f\xbd\x82\x9b\xba\x36\x68\xed\xcf\x2f\x35\xa1\xc6\x8d\xb6\x92\xbe\x38\x7d\xd4\x80\xf7\x71\xe1\x81\x01\x4e\xbf\x50\xbd\xc2\x5d\x6e\x42\x2b\xd5\x54\xc4\xff\xc9\x9f\x06\x1a\x5f\xee\xa2\x75\x46\xef\x27\x54\xbc\xeb\x8c\xfa\x6d\x2a\x04\x3b\xc2\xd6\x1b\x30\x68\x75\x67\x2a\x9c\xc6\x10\xfb\x62\xfe\xea\xbf\xcd\x44\xd3\xe8\x1d\xd6\x37\xbf\x55\xed\x82\xcc\x7e\x8e\x5a\xf6\x2f\xa9\xed\x35\xf4\x99\xbe\xb8\x48\x5a\x45\xb5\x86\xce\xa2\x01\xeb\xb4\x41\x0b\x42\x81\x54\xd6\x09\x55\x21\x15\xa2\x56\xcd\x9e\x2b\x86\x37\x53\x2d\xba\x35\x4a\xbf\x5a\xac\x30\xd5\xef\x1a\x61\xd9\xa9\xca\x49\xed\x2b\xb6\xdf\x22\x54\x0d\x2b\xbd\x45\x8a\x39\x2c\xbc\xb0\x8d\x41\x7e\xbf\xd1\xd6\x51\x2d\xd6\x92\x37\x46\x69\x52\x0d\x1a\x45\xac\xdb\x3d\x67\xb7\x12\x4d\x83\xf5\x3c\xd7\x5d\xad\xb1\xfa\x6a\x61\x2d\x36\x1b\x8a\x97\x03\xd3\x29\x27\x5b\xe4\x9d\xb8\x45\x03\x22\xd9\xc7\x81\x2b\x44\x44\x49\x9f\x42\x68\xe9\xbb\xf2\xae\x2f\x30\x06\x39\x7a\x45\xad\x03\x1f\x1c\x05\xa7\xe8\x24\x9c\x39\xb2\x31\x4a\xf3\x40\x5c\x4a\xc5\x7b\xcf\xc0\x6a\xfa\x6c\x38\x71\x4a\xc3\x4e\xec\x61\xa9\xc9\xb0\x56\x34\xb2\x92\xba\xb3\x3e\x11\x4e\x07\x95\x3e\x80\x29\x2a\xba\x0b\x4a\xa5\x02\x21\xcd\x1c\x6e\xc0\x6e\xb0\x92\xa2\x09\x40\xeb\xa1\xa1\x10\x6b\x4b\x82\x16\xbd\x09\x4e\x33\x70\xa3\xb4\xbe\x22\x8b\x28\x10\x8a\x92\x18\xd6\x3f\x68\xda\xf3\x7f\x1b\xbd\x95\x35\x9a\xb3\xc1\xfb\x4f\x58\xa1\xdc\x1e\xbe\x7f\x27\x1a\x06\x53\x68\xf6\x41\xfd\x5a\x37\x64\xe1\x1a\x61\x11\xbe\xeb\x25\x08\x0e\x80\x0d\x76\xa5\xe5\xb1\xdf\x87\x95\x65\xaf\x4f\x90\x89\x8d\xba\x10\x4a\x48\x88\xde\x70\x50\x29\xff\x04\x8c\xb4\x97\x36\xce\x06\x92\x4f\xe1\x5b\xfa\x4e\x3f\x16\x9b\xe5\x3c\x8a\x7c\x13\x85\xa7\x25\x8f\x85\x25\xb1\xc3\x67\xef\xf2\xcf\x77\x11\x85\x1e\x2f\xe2\x6b\xac\x39\x87\x2b\x82\x29\x77\x07\x10\xfc\x52\x98\x55\xd7\x62\xc8\x59\x44\x95\xaa\x93\x0a\xeb\x85\x84\x3d\x3c\x50\x52\xdd\xcd\xf3\x4d\x1f\x5c\x80\x94\x0d\xbd\xc4\x21\x8d\x74\x61\xf6\xa1\x48\x63\xdb\xe9\xac\x47\x0a\xa5\x27\x17\x40\x62\x5b\xad\x70\x9f\x56\x2e\x50\xaa\x15\x38\x23\x94\x5d\xa2\x31\x58\xcf\x49\x8b\x41\xd7\x19\xe5\x13\xab\x70\xd7\xec\x73\x21\xb1\x90\x82\x4a\x5d\x94\x13\xcb\xf5\x65\x49\x95\x22\x1d\xd7\xe0\x22\x1b\x57\xb9\x28\x6c\x2c\xee\xa8\x98\xe6\x63\x61\x26\xc0\x2c\x3b\x95\xe2\x34\x6c\xf5\x57\xf0\xb6\xc4\xa8\xb7\xe8\x68\xd2\x8b\xc7\xf3\x10\xf3\x62\x03\xb5\xec\xc9\xd1\xed\xff\x8f\xa3\x9b\x85\xe9\x9d\x42\xf3\xf3\x5c\xf8\x39\x7a\x5a\xc8\xf2\x71\x84\xeb\xf3\xbc\x13\xf4\x30\xf5\xd2\x4e\x27\x10\x18\x22\xf6\x12\x00\x86\x9c\xe8\xc5\xff\xb0\x1a\xa2\x8f\x21\x27\xea\xda\x16\xf5\xe6\x6c\x2a\xb2\x90\xc9\xac\x90\xe9\x91\xdd\xb3\xe3\x60\x94\x16\xc2\x34\xa4\xcd\x61\x5a\xf3\x2e\x4b\x0a\xbd\x31\x0b\xac\x44\x67\xb1\x87\x74\x51\x65\x64\x63\x06\x63\x02\x2c\x9a\xa8\x3b\x34\x36\x1e\x0d\xbc\xf5\x4f\xbd\xb5\x6b\x51\x38\xb2\x40\x54\x04\x42\xdb\xb5\x58\xb3\xab\xdc\xa4\x97\x9a\x07\x4d\x40\x60\x60\x13\xf3\x03\x84\x85\x50\xcf\x7c\x5a\xc7\x50\x35\xec\x25\x0d\x3a\xd8\xb2\x7f\xd7\xe7\x81\x03\xda\x3f\xc0\xdb\xc4\x91\xe7\xa5\xab\x4f\x21\xf1\x47\x2f\x6c\x3e\xec\x49\x03\x40\x1e\x52\xb9\x62\x9b\x67\x74\x4f\xa2\xb2\xd8\x03\x6f\xe0\x72\x7e\x59\x7c\x8f\x89\xdc\x16\x2e\x64\xe0\x0c\x0b\x66\xc3\xa0\xf4\xde\x67\x9c\x1e\xde\x4c\xbc\x3f\x2f\x42\x90\xe9\xc9\xb4\xa5\x76\x73\xdb\x6e\xdc\x7e\x8c\xf9\x94\x75\x50\xb6\x47\x0f\x40\x6a\x1f\x20\x72\x5c\xff\x8a\x46\xa7\xf1\xae\xea\xd4\xee\x64\xdf\xce\x44\xd3\x50\x63\x0c\x6d\x8d\x86\x34\x0f\xf5\xb6\xb3\xbe\xbd\xd1\xfc\xb6\x89\x8b\xe4\xc2\x98\x80\xb1\x10\x2f\x36\x75\xca\x21\xe9\xa2\x17\xda\xd4\x9e\x2a\x70\x1d\xf9\xef\x49\x58\x55\xf1\x40\xf0\xf3\x5f\x2c\x1a\x2e\x51\xe3\xe7\x73\x84\xac\x0d\x5c\x22\x4c\x5b\x70\xfb\x0d\x1e\x30\x01\x82\xf8\x30\x8c\xb3\xa7\xdb\xe7\x13\xdd\xeb\x72\x7e\x79\x9a\xe7\xaa\xe0\x1c\x37\x75\x2b\x95\xb4\xce\x08\xa7\x4d\x26\x33\x25\xf4\x23\xee\x3c\xdd\x79\x56\x7f\x4b\x79\xcd\xb2\x35\xca\xe2\x8f\xcd\x91\x81\xe2\x09\x26\x7f\x05\x6f\x03\x0f\xfb\x76\x58\x86\x47\x8f\x02\xc5\xe3\xf1\x41\x30\x6e\xc1\x84\x80\x72\x2c\x24\x2f\xfc\xf9\xe0\x95\xe1\x1b\x9c\x46\x9e\x15\x3e\xaf\x98\x01\xe4\x7f\x1d\x8b\xd4\xf0\xf4\x72\x2c\x1a\x51\xe0\x64\x0f\xc8\x90\x72\x48\xf3\xe3\xb8\xf3\x83\x90\xab\x40\x10\xfa\x62\x01\xf9\x63\x00\x4d\x96\x48\x9e\x9f\xc5\x9a\x13\x08\x86\x04\x2a\xf0\x34\xaa\x3b\x7f\x54\x8d\x47\x86\x88\xc5\x72\x2c\x26\xb6\x0e\x19\x07\x1e\x85\x5e\xa1\x89\xb6\x7d\x29\x09\xf4\xb1\x0c\xd3\x72\x9b\xf9\x75\xc6\xa3\x9e\xac\x6a\x63\x4f\x73\xd9\xe5\xcc\xd9\x90\x8b\x66\x8c\xaf\x9d\x6a\x82\xc7\xc0\xd1\x9b\x3b\xc6\xd2\xca\xa9\x38\x80\x0b\x9d\x22\xcb\x37\xf4\x13\xa2\xfc\x53\x10\x33\xbb\x3c\xbd\x82\x1f\x7c\xbc\xc2\xbd\x83\x6f\xc6\x0b\x84\x15\xa3\xc8\x50\x20\x14\xf7\xf6\x1f\xa6\xa4\x5d\x87\xb1\x3b\x08\xff\x84\xdc\x06\xad\xf5\x42\x39\xed\x21\xa5\x5e\x54\xa9\xe2\xf1\x15\x63\xf0\xc7\x31\x12\x7a\x68\x25\x8c\x99\xfe\x24\x83\x1d\x5c\xc3\x0c\x09\x27\xbc\x8a\xa3\xf2\x99\x6b\xbc\x89\x8e\x91\xf0\xa1\x3b\xc5\xf3\x41\xe9\xd3\xbf\xb1\xd2\xb3\x4e\xf7\xda\xf2\xa7\x7e\xf7\x64\xe9\xa7\xae\x56\x30\xcc\xce\xa8\x17\x14\x64\xe0\x48\x3d\x29\x8f\xd7\x31\x67\x80\xcb\x25\x56\x4e\x6e\xb1\xd9\xb3\x54\x3e\x81\xf5\x74\x77\x42\xfc\x47\xed\xf0\xca\x33\x74\xcf\x2a\xb2\x8b\x32\xd1\x39\xdd\x0a\x27\xa9\x62\xf7\x60\xbb\x05\xdf\x65\x60\xdd\x1f\x26\x8b\x26\x96\xdf\xd2\x16\x97\x3c\x6c\x74\x57\x39\x6d\x8e\x16\x7b\x1f\x8a\xef\xcb\x98\x69\x8b\x88\x70\x99\x26\xc8\xe3\x7c\x75\x50\x09\x83\xdb\xc2\x43\x58\x67\xe0\xf6\xc0\x26\x10\xdd\x78\x0c\x5d\xc1\x4d\xe7\xd6\xe1\x21\x77\x8c\x81\x5d\x56\x39\xb1\xe9\x3c\xda\x7e\x04\x66\x41\x66\x3e\x3a\x6c\xc8\xd9\x38\x61\x12\x29\xb6\x48\x74\x54\xaa\xe2\x8a\x6e\x90\x8f\x22\xa4\xe3\xe5\x3b\x34\xb0\xf7\x38\xf7\x6f\x4e\xfa\x66\xd7\xe7\x2c\xcc\x9f\x22\x2e\x82\xde\x8b\x65\x4c\x90\xcf\xea\x98\x6f\x82\x90\xd1\xc8\x0a\x2a\xb1\x11\x0b\xd9\x48\xb7\x8f\x33\x84\xd9\x70\x9d\x5f\x4f\xf0\x7d\x1c\x3e\x6c\xb4\x45\x3b\x1c\xad\xf7\x81\xd5\xde\x43\x8b\x6e\xad\xe9\x10\x67\x74\xb7\xf2\xe1\xba\x8f\x57\x53\xf7\x7c\xcd\x62\x96\x62\x9c\xaf\x14\x8e\x35\x52\x7d\xbd\xfe\xe3\x00\x64\xdf\xc6\xaf\xbc\x1e\x7f\x9a\x15\xe8\xb9\xf0\x5e\xf5\x11\x48\x77\x63\xc5\x32\x27\xcc\x0a\xdd\x64\xc4\xd2\xda\xef\x1c\xba\x90\xf2\x7b\x58\x4a\x6c\x06\x91\x7b\x17\xbf\xfd\xbe\x81\x0b\x62\x9f\x8c\x5b\x58\xf7\xea\xb0\x71\x3f\xe0\xde\xde\xe3\xbd\x38\x68\xcc\x8e\xc3\x9b\xdf\x4d\xc1\x9b\x05\x95\x39\xba\xa5\xf6\x21\x54\xb8\x8f\xe7\x14\xd8\xb5\xde\x65\x8c\x2f\x5d\x1b\xef\x84\xcd\x2e\x2f\xfb\x4b\xae\xac\x03\x1d\xf9\x23\xd4\x78\x95\x3e\x9e\x3c\x9e\xfc\x3f\x00\x00\xff\xff\x22\x1a\x70\x0c\xb4\x1b\x00\x00" func flowtokenCdcBytes() ([]byte, error) { return bindataRead( @@ -109,7 +109,7 @@ func flowtokenCdc() (*asset, error) { } info := bindataFileInfo{name: "FlowToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa1, 0x81, 0x4b, 0x5d, 0xc9, 0xe, 0x76, 0x5f, 0x31, 0xc9, 0x26, 0x9c, 0xc, 0xb4, 0xda, 0x8c, 0xcc, 0x97, 0x7d, 0x7e, 0xdb, 0x2d, 0xf, 0xf7, 0xed, 0x80, 0x68, 0xe0, 0xa1, 0x12, 0x6e, 0x98}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x83, 0x7e, 0x8, 0xf8, 0xcf, 0x83, 0x81, 0xa1, 0xaf, 0x40, 0x84, 0x75, 0x1a, 0x89, 0x64, 0x9d, 0x36, 0x49, 0x4b, 0x8f, 0x88, 0x10, 0x3d, 0xc3, 0x39, 0x3d, 0x5d, 0x72, 0xe2, 0x10, 0xaf, 0x72}} return a, nil } @@ -133,7 +133,7 @@ func fungibletokenCdc() (*asset, error) { return a, nil } -var _tokenforwardingCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\x4f\x4f\xe3\x38\x14\xbf\xfb\x53\x3c\x69\xa5\xa5\x45\x90\xa2\xd5\x6a\x0f\x88\x15\xbb\xda\x1d\x8e\x73\x40\xcc\xcc\x71\xf4\x6a\xbf\x34\xa6\xa9\x1d\xd9\x2f\x0d\x15\xe2\xbb\x8f\x9e\x93\xb8\x09\x94\x19\xb8\x90\xa4\xf6\xef\xdf\xfb\xd9\xab\xf3\x73\xa5\x7e\x83\xbb\xd6\x6d\xec\xba\x26\x78\xf0\x5b\x72\x70\xe7\x43\x87\xc1\x58\xb7\x81\xff\xbc\xe3\x80\x9a\x95\x7a\xa8\x6c\x04\x3d\xbc\x42\xac\x7c\x17\xa1\xf2\x1d\xa0\x03\xd4\xda\xb7\x8e\x41\xfb\xb6\x36\x10\x89\xa1\x6d\x00\x41\xb7\x91\xfd\x2e\x83\xf7\xd8\xf7\xa4\xc9\xee\x29\x28\xf6\x80\x75\xed\x3b\xe0\x8a\x76\xc0\x1e\xca\x9e\x15\x58\xd6\x45\xf9\x82\x60\x6c\x59\x52\x20\xc7\x99\xa3\xab\xc8\xd1\x9e\x82\x6c\x3b\x40\xe8\xd1\x86\x3d\x85\xa8\xa4\x03\x68\x74\xd0\xb4\xeb\xda\xc6\x0a\x58\x64\x0f\x86\x28\x40\xa0\xe8\xdb\xa0\x09\x30\x02\x66\x31\xa0\xb1\xc1\xb5\xad\x2d\x1f\xe0\xb1\x8d\x0c\xb5\xdd\x12\x20\x7c\xc5\xb6\xe6\x0b\x85\xce\x08\x1d\x44\x72\x82\x61\x3c\x45\x77\xc6\x40\x7b\x72\xe0\x88\x44\x32\x6c\x9d\xef\xc0\x32\xd8\x78\x14\x5d\x28\xf5\xad\x22\x37\x8d\xa8\x43\xc7\xc9\x9b\x0e\x84\x2c\x1c\x59\xdb\x45\x6f\x49\x63\x5d\x27\xb6\x7e\xc5\x67\xea\xf2\x0a\x55\xb6\x4e\xb3\xf5\x82\x68\xa0\x09\x7e\x6f\x0d\x09\x69\x67\xb9\x4a\x7b\xb2\xa1\x40\x49\x82\x26\xe0\x0a\xb9\x47\x16\xee\x49\xd0\x8a\x2b\xb2\xe1\x18\x77\xa1\xd4\xf9\x4a\x29\xbb\x6b\x7c\xe0\x57\x53\x2b\x83\xdf\xc1\xd5\xd3\xd5\x1f\x4a\x35\xed\xfa\x58\x83\xf4\xeb\xa4\x2e\xcf\x4a\x01\x00\xac\x56\xf0\x69\x2f\x53\x4b\xe4\x36\x02\xed\x2c\x33\x99\x34\xbd\x91\x11\x03\x81\xa1\xc6\x47\xcb\x7d\x84\x62\x80\x31\x6c\x88\xc7\xb9\x86\x84\x26\x8c\x94\xe0\xc6\x24\xcc\xff\xfd\xbe\x05\xee\x24\xd5\x6b\xf8\x72\x67\x9f\xfe\xfa\xf3\x22\xe9\xbc\x86\x7f\x8d\x09\x14\xe3\xed\x52\xe5\xfd\x79\xee\x39\xcc\xeb\xb9\xc5\x22\x47\x37\x78\x18\x7c\xa4\xda\xdb\x28\xca\x03\x25\x89\x53\xcd\xc9\x48\x67\xeb\x1a\xd6\xa9\x1e\x5c\xcc\xf7\x12\xf0\xa1\x21\xb0\xce\x58\x8d\x4c\x71\x08\x24\x65\x82\xd3\x21\xf9\xf4\x3a\x31\xdd\x43\xe4\x47\xd4\x9a\x62\x5c\x44\xaa\xcb\x25\xec\x51\x06\xac\x6d\x63\x49\xcc\xff\xfe\x7c\xda\xc9\xcb\xcc\xc8\x20\xfb\x14\xf8\x6a\x25\x59\xf4\xcd\xea\xeb\x82\x5b\x8a\x63\xff\xc1\xaf\x1f\x49\x73\x3a\x31\x0e\x30\x6c\xda\x5d\x3a\x90\xce\x8c\x4d\x8a\x53\x24\xcb\xe3\x2c\xb3\xc4\xb3\x38\x20\xb5\x51\x4a\x92\x8e\x12\xfb\x40\xe6\x98\xc0\x29\x59\x32\xb7\xb2\x75\xa3\xf2\x45\x3f\xdc\x7f\xe6\x66\x13\xf0\x12\x9e\xf3\x2e\xf9\x93\xba\xbd\x5f\x16\xc1\x29\xd6\x58\xa3\xd3\x34\x56\x46\x82\x2d\x7c\xe7\x28\xdc\x16\xd8\xd7\x67\x39\x83\x4c\x0b\xb2\xa3\x62\xae\xe9\xe6\x52\xfe\x1f\x37\xcc\x93\xd7\x15\xba\x0d\xdd\x8f\x7b\x87\xf7\x38\xcf\x08\x7c\x99\x3e\x94\xf9\xaa\x1a\x52\x1c\x8e\xb9\x39\x2e\xfd\x59\x56\xaf\xb8\x16\xdf\xc1\x51\x77\xff\x81\xae\xbc\x8e\x70\xee\x17\xfe\x9e\xe1\x9c\x32\x6a\x9d\xe5\xc5\x47\x5a\xf9\x4b\xa6\xb7\x46\x5f\xd4\x84\x4c\x12\x7d\x73\x35\x0e\x9f\xa4\xb4\x8e\xba\xd9\x85\x3f\x9e\xb1\x7c\x49\xbe\x93\xe8\x90\x66\x4e\xf2\x0d\xc7\xc7\xdc\x49\x43\x33\xfb\xd1\x69\x20\x6e\x83\x83\x9b\xcb\xe1\xe2\x3f\x89\x9a\x1f\x97\x83\xe1\x17\xf5\x23\x00\x00\xff\xff\xb4\xb9\x1f\xb9\xa2\x07\x00\x00" +var _tokenforwardingCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x55\xc1\x6e\xe3\x36\x10\xbd\xf3\x2b\x06\x28\xd0\xd8\x41\x22\xf7\x50\xf4\x10\xa4\x48\xd3\xc6\x2e\x8a\x2e\xb2\x80\x93\xec\x1e\x17\x63\x72\x64\x31\x96\x49\x81\x1c\x59\x31\x82\xfc\xfb\x82\x94\x44\x4b\x89\xb3\x1b\x5f\x2c\x09\x9c\x37\xef\xbd\x79\x23\xcd\x4e\x4f\x85\xf8\x05\x16\xb5\x59\xeb\x55\x49\x70\x6f\x37\x64\x60\x61\x5d\x83\x4e\x69\xb3\x86\x7f\xac\x61\x87\x92\x85\xb8\x2f\xb4\x07\xd9\xdd\x82\x2f\x6c\xe3\xa1\xb0\x0d\xa0\x01\x94\xd2\xd6\x86\x41\xda\xba\x54\xe0\x89\xa1\xae\x00\x41\xd6\x9e\xed\x36\x81\xb7\xd8\x4b\x92\xa4\x77\xe4\x04\x5b\xc0\xb2\xb4\x0d\x70\x41\x5b\x60\x0b\x79\xdb\x15\x38\x9c\xf3\xe1\x09\x82\xd2\x79\x4e\x8e\x0c\xa7\x1e\x4d\x41\x86\x76\xe4\x42\xd9\x1e\x5c\x8b\xd6\xd5\x64\x81\x25\xed\x41\xa2\x81\xaa\x5e\x95\xda\x17\xc0\x81\x76\x27\x88\x1c\x38\xf2\xb6\x76\x92\x00\x3d\x60\x22\x03\x12\x2b\x5c\xe9\x52\xf3\x1e\x1e\x6b\xcf\x50\xea\x0d\x01\xc2\x17\xac\x4b\x3e\x13\x68\x54\x68\x07\x9e\x4c\xc0\x50\x96\xbc\x39\x61\xa0\x1d\x19\x30\x44\x81\x32\x6c\x8c\x6d\x40\x33\x68\x7f\x20\x9d\x09\xf1\xb5\x20\x33\xb4\xa8\x41\xc3\x51\x9b\x74\x84\x1c\x7a\x24\x6e\x67\xad\x24\x89\x65\x19\xbb\xb5\x27\x6e\xa9\x49\x27\x44\x5e\x1b\xc9\xda\x06\x44\x05\x95\xb3\x3b\xad\x28\x34\x6d\x34\x17\xb1\x26\x09\x72\x14\x29\x48\x02\x2e\x90\x5b\xe4\xd0\x7b\x60\xb4\xe0\x82\xb4\x3b\xd8\x9d\x09\x71\x3a\x13\x42\x6f\x2b\xeb\xf8\xd5\xd4\x72\x67\xb7\xf0\xdb\xd3\xe2\xe1\xf6\xdf\xff\xfe\xfe\x34\xbf\xff\xfc\xff\xfc\xf6\xfa\xe6\x66\x39\xbf\xbb\x13\xa2\xaa\x57\x87\x60\xc4\xf3\x83\x00\x3d\x0b\x01\x00\x30\x9b\xc1\x7c\x17\xe6\x18\xe9\x68\x0f\xb4\xd5\xcc\xa4\xe2\x3c\x7b\x0e\xe8\x08\x14\x55\xd6\x6b\x6e\x4d\x0d\x92\x18\xdd\x9a\xb8\x9f\xb4\x8b\x68\xa1\x23\x45\xb8\xde\x1b\x75\xd3\xd6\x4d\x70\x1b\x7c\xbe\x80\x87\x85\x7e\xfa\xe3\xf7\xb3\xc8\xfc\x02\xae\x95\x72\xe4\xfd\xd5\x54\xa4\xfa\x94\x84\x64\xef\xc5\x58\x74\x96\xcc\xec\x34\x74\x3a\xe2\x22\x68\x1f\x98\x3b\x8a\x14\x87\x9c\xa3\x90\x46\x97\x25\xac\x62\x60\x38\x1b\xd7\x12\xf0\xbe\x22\xd0\x46\x69\x89\x4c\xbe\x33\x24\x7a\x82\xc3\xb1\xd9\x78\x3b\x10\xdd\x42\xa4\x4b\x94\x92\xbc\x9f\x78\x2a\xf3\x29\xec\x30\x8c\x5c\xea\x4a\x53\x10\xff\xeb\xf3\x71\x25\x2f\x23\x21\x1d\xed\x63\xe0\xb3\x59\xf0\xa2\xcd\x5a\x1b\x20\xdc\x90\xef\x37\x02\xec\xea\x91\x24\xc7\x1d\x32\x80\x6e\x5d\x6f\xe3\x8a\x1a\xd5\x67\xcb\x0f\x91\x34\xf7\xb3\x4c\x14\x4f\x7c\x87\x54\xfb\x10\x92\xb8\x5c\x6c\x1d\xa9\x83\x03\xc7\x68\x85\xb9\xe5\xb5\xe9\x99\x4f\xda\xe1\xfe\x35\x16\x1b\x81\xa7\xf0\x9c\xaa\xc2\x2f\xc4\xed\xfd\xb0\x04\x9c\x6c\x85\x25\x1a\x49\x7d\x64\x82\xb1\x99\x6d\x0c\xb9\xab\x0c\xdb\xf8\x4c\x47\x90\xf1\x40\x52\x94\x8d\x39\x5d\x9e\x87\xff\x43\xc1\xd8\x79\x59\xa0\x59\xd3\xb2\xaf\xed\xee\xfd\xd8\x23\xb0\x79\x7c\x90\xa7\x97\x57\xe7\x62\xb7\xf8\xea\x70\xf4\x47\x5e\xbd\xea\x35\xf9\x06\x86\x9a\xe5\x07\xb2\xf2\xda\xc2\xb1\x5e\xf8\x73\x84\x73\x4c\xa8\x36\x9a\x27\x1f\x49\xe5\x4f\x3b\xbd\x15\xfa\x22\x06\xcd\x82\xa3\x6f\x5e\x96\xdd\xa3\x10\x5a\x43\xcd\xe8\x13\xd0\xef\x58\x7a\x6d\xbe\xe3\x68\xe7\x66\x72\xf2\x4d\x8f\x8f\xa9\x0b\x09\x4d\xdd\x0f\x4a\x1d\x71\xed\x0c\x5c\x9e\x77\x9f\x82\xa3\xa8\xe9\x72\xda\x09\x7e\x11\xdf\x03\x00\x00\xff\xff\xe1\xda\x62\xc3\xb4\x07\x00\x00" func tokenforwardingCdcBytes() ([]byte, error) { return bindataRead( @@ -149,7 +149,7 @@ func tokenforwardingCdc() (*asset, error) { } info := bindataFileInfo{name: "TokenForwarding.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x49, 0x6b, 0xd6, 0xf9, 0x4b, 0x43, 0x71, 0xdf, 0x55, 0x17, 0x52, 0x92, 0x48, 0x1, 0xb8, 0x4d, 0x9e, 0x80, 0x93, 0x35, 0xaf, 0x87, 0xe0, 0xbe, 0xe, 0x4e, 0xee, 0xb, 0x76, 0x9, 0x36, 0x5d}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x86, 0x2f, 0xdb, 0x6e, 0x3, 0x2e, 0x56, 0x40, 0x81, 0xa8, 0x6d, 0x2, 0x2b, 0x7b, 0x8, 0x86, 0x69, 0x85, 0x46, 0x7d, 0xa0, 0x6d, 0xa, 0xe6, 0x8f, 0xeb, 0x99, 0xdc, 0x66, 0x72, 0xe0, 0xd7}} return a, nil } diff --git a/src/contracts/ExampleToken.cdc b/src/contracts/ExampleToken.cdc index a95f2de6..30606c46 100644 --- a/src/contracts/ExampleToken.cdc +++ b/src/contracts/ExampleToken.cdc @@ -1,4 +1,4 @@ -import FungibleToken from 0x02 +import FungibleToken from 0xFUNGIBLETOKENADDRESS pub contract ExampleToken: FungibleToken { diff --git a/src/contracts/FlowToken.cdc b/src/contracts/FlowToken.cdc index 550304ff..60fcbdda 100644 --- a/src/contracts/FlowToken.cdc +++ b/src/contracts/FlowToken.cdc @@ -1,4 +1,4 @@ -import FungibleToken from 0x02 +import FungibleToken from 0xFUNGIBLETOKENADDRESS pub contract FlowToken: FungibleToken { diff --git a/src/contracts/TokenForwarding.cdc b/src/contracts/TokenForwarding.cdc index 90a047a6..30426d19 100644 --- a/src/contracts/TokenForwarding.cdc +++ b/src/contracts/TokenForwarding.cdc @@ -14,7 +14,7 @@ their tokens to. */ -import FungibleToken from 0x02 +import FungibleToken from 0xFUNGIBLETOKENADDRESS pub contract TokenForwarding { diff --git a/test/go.mod b/test/go.mod index 40397ec8..9ee915bc 100644 --- a/test/go.mod +++ b/test/go.mod @@ -9,3 +9,5 @@ require ( github.com/onflow/flow-go-sdk v0.4.0 github.com/stretchr/testify v1.5.1 ) + +replace github.com/onflow/flow-ft/contracts => ../contracts \ No newline at end of file diff --git a/test/token_test.go b/test/token_test.go index 40945df8..20396d55 100644 --- a/test/token_test.go +++ b/test/token_test.go @@ -1,7 +1,6 @@ package test import ( - "strings" "testing" emulator "github.com/dapperlabs/flow-emulator" @@ -366,10 +365,9 @@ func DeployTokenContracts(b *emulator.Blockchain, t *testing.T, key []*flow.Acco _, err = b.CommitBlock() assert.NoError(t, err) - exampleTokenCode := readFile("../src/contracts/ExampleToken.cdc") - codeWithFTAddr := strings.ReplaceAll(string(exampleTokenCode), "02", fungibleAddr.String()) + exampleTokenCode := contracts.ExampleToken(fungibleAddr.String()) - tokenAddr, err := b.CreateAccount(key, []byte(codeWithFTAddr)) + tokenAddr, err := b.CreateAccount(key, []byte(exampleTokenCode)) assert.NoError(t, err) _, err = b.CommitBlock() @@ -377,3 +375,49 @@ func DeployTokenContracts(b *emulator.Blockchain, t *testing.T, key []*flow.Acco return fungibleAddr, tokenAddr } + +func TestCreateCustomToken(t *testing.T) { + b := newEmulator() + + accountKeys := test.AccountKeyGenerator() + + exampleTokenAccountKey, _ := accountKeys.NewWithSigner() + // Should be able to deploy a contract as a new account with no keys. + fungibleTokenCode := contracts.FungibleToken() + fungibleAddr, err := b.CreateAccount(nil, fungibleTokenCode) + assert.NoError(t, err) + + _, err = b.CommitBlock() + assert.NoError(t, err) + + exampleTokenCode := contracts.CustomToken(fungibleAddr.String(), "UtilityCoin") + + tokenAddr, err := b.CreateAccount([]*flow.AccountKey{exampleTokenAccountKey}, exampleTokenCode) + assert.NoError(t, err) + + _, err = b.CommitBlock() + assert.NoError(t, err) + + joshAccountKey, joshSigner := accountKeys.NewWithSigner() + joshAddress, _ := b.CreateAccount([]*flow.AccountKey{joshAccountKey}, nil) + + t.Run("Should be able to create empty Vault that doesn't affect supply", func(t *testing.T) { + tx := flow.NewTransaction(). + SetScript(GenerateCreateTokenScript(fungibleAddr, tokenAddr, "UtilityCoin", "utilityCoin")). + SetGasLimit(100). + SetProposalKey(b.ServiceKey().Address, b.ServiceKey().ID, b.ServiceKey().SequenceNumber). + SetPayer(b.ServiceKey().Address). + AddAuthorizer(joshAddress) + + signAndSubmit( + t, b, tx, + []flow.Address{b.ServiceKey().Address, joshAddress}, + []crypto.Signer{b.ServiceKey().Signer(), joshSigner}, + false, + ) + + executeScriptAndCheck(t, b, GenerateInspectVaultScript(fungibleAddr, tokenAddr, joshAddress, "UtilityCoin", "utilityCoin", 0)) + + executeScriptAndCheck(t, b, GenerateInspectSupplyScript(fungibleAddr, tokenAddr, "UtilityCoin", 1000)) + }) +}