From 062084d21c12da80ca1b1c2edcbd5def9c17f886 Mon Sep 17 00:00:00 2001 From: joshuahannan Date: Mon, 29 Jun 2020 16:19:06 -0500 Subject: [PATCH] argument for market templates --- lib/go/templates/market_templates.go | 18 +++++++++--------- lib/go/test/market_test.go | 12 ++++++------ lib/go/test/topshot_test.go | 2 +- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/lib/go/templates/market_templates.go b/lib/go/templates/market_templates.go index 71bae94e..39979a87 100644 --- a/lib/go/templates/market_templates.go +++ b/lib/go/templates/market_templates.go @@ -160,9 +160,9 @@ func GenerateChangePercentageScript(topshotAddr, marketAddr flow.Address, percen // GenerateChangeOwnerReceiverScript creates a cadence transaction // that changes the sellers receiver capability -func GenerateChangeOwnerReceiverScript(topshotAddr, marketAddr flow.Address, receiverName string) []byte { +func GenerateChangeOwnerReceiverScript(fungibleTokenAddr, topshotAddr, marketAddr flow.Address, receiverName string) []byte { template := ` - import FungibleToken from 0xee82856bf20e2aa6 + import FungibleToken from 0x%[4]s import TopShot from 0x%[1]s import Market from 0x%[2]s @@ -175,14 +175,14 @@ func GenerateChangeOwnerReceiverScript(topshotAddr, marketAddr flow.Address, rec topshotSaleCollection.changeOwnerReceiver(acct.getCapability(/public/%[3]s)!) } }` - return []byte(fmt.Sprintf(template, topshotAddr, marketAddr, receiverName)) + return []byte(fmt.Sprintf(template, topshotAddr, marketAddr, receiverName, fungibleTokenAddr)) } // GenerateBuySaleScript creates a cadence transaction that makes a purchase of // an existing sale -func GenerateBuySaleScript(tokenAddr, topshotAddr, marketAddr, sellerAddr flow.Address, tokenName, tokenStorageName string, id, amount int) []byte { +func GenerateBuySaleScript(fungibleTokenAddr, tokenAddr, topshotAddr, marketAddr, sellerAddr flow.Address, tokenName, tokenStorageName string, id, amount int) []byte { template := ` - import FungibleToken from 0xee82856bf20e2aa6 + import FungibleToken from 0x%[9]s import %[1]s from 0x%[2]s import TopShot from 0x%[8]s import Market from 0x%[3]s @@ -208,15 +208,15 @@ func GenerateBuySaleScript(tokenAddr, topshotAddr, marketAddr, sellerAddr flow.A } }` - return []byte(fmt.Sprintf(template, tokenName, tokenAddr, marketAddr, sellerAddr, tokenStorageName, amount, id, topshotAddr)) + return []byte(fmt.Sprintf(template, tokenName, tokenAddr, marketAddr, sellerAddr, tokenStorageName, amount, id, topshotAddr, fungibleTokenAddr)) } // GenerateMintTokensAndBuyScript creates a script that uses the admin resource // from the admin accountto mint new tokens and use them to purchase a topshot // moment from a market collection -func GenerateMintTokensAndBuyScript(tokenAddr, topshotAddr, marketAddr, sellerAddr, receiverAddr flow.Address, tokenName, storageName string, tokenID, amount int) []byte { +func GenerateMintTokensAndBuyScript(fungibleTokenAddr, tokenAddr, topshotAddr, marketAddr, sellerAddr, receiverAddr flow.Address, tokenName, storageName string, tokenID, amount int) []byte { template := ` - import FungibleToken from 0xee82856bf20e2aa6 + import FungibleToken from 0x%[10]s import %[1]s from 0x%[2]s import TopShot from 0x%[3]s import Market from 0x%[4]s @@ -252,7 +252,7 @@ func GenerateMintTokensAndBuyScript(tokenAddr, topshotAddr, marketAddr, sellerAd } ` - return []byte(fmt.Sprintf(template, tokenName, tokenAddr, topshotAddr, marketAddr, storageName, amount, sellerAddr, tokenID, receiverAddr)) + return []byte(fmt.Sprintf(template, tokenName, tokenAddr, topshotAddr, marketAddr, storageName, amount, sellerAddr, tokenID, receiverAddr, fungibleTokenAddr)) } // GenerateInspectSaleScript creates a script that retrieves a sale collection diff --git a/lib/go/test/market_test.go b/lib/go/test/market_test.go index 7e8ebab9..1669d74d 100644 --- a/lib/go/test/market_test.go +++ b/lib/go/test/market_test.go @@ -248,7 +248,7 @@ func TestMarket(t *testing.T) { // bastian tries to buy the moment for only 9 tokens createSignAndSubmit( t, b, - templates.GenerateBuySaleScript(tokenAddr, topshotAddr, marketAddr, joshAddress, defaultTokenName, defaultTokenStorage, 1, 9), + templates.GenerateBuySaleScript(flow.HexToAddress(defaultfungibleTokenAddr), tokenAddr, topshotAddr, marketAddr, joshAddress, defaultTokenName, defaultTokenStorage, 1, 9), []flow.Address{b.ServiceKey().Address, bastianAddress}, []crypto.Signer{b.ServiceKey().Signer(), bastianSigner}, true, ) @@ -258,7 +258,7 @@ func TestMarket(t *testing.T) { // bastian tries to buy the moment for too many tokens createSignAndSubmit( t, b, - templates.GenerateBuySaleScript(tokenAddr, topshotAddr, marketAddr, joshAddress, defaultTokenName, defaultTokenStorage, 1, 90), + templates.GenerateBuySaleScript(flow.HexToAddress(defaultfungibleTokenAddr), tokenAddr, topshotAddr, marketAddr, joshAddress, defaultTokenName, defaultTokenStorage, 1, 90), []flow.Address{b.ServiceKey().Address, bastianAddress}, []crypto.Signer{b.ServiceKey().Signer(), bastianSigner}, true, ) @@ -268,7 +268,7 @@ func TestMarket(t *testing.T) { // bastian tries to buy the wrong moment createSignAndSubmit( t, b, - templates.GenerateBuySaleScript(tokenAddr, topshotAddr, marketAddr, joshAddress, defaultTokenName, defaultTokenStorage, 2, 80), + templates.GenerateBuySaleScript(flow.HexToAddress(defaultfungibleTokenAddr), tokenAddr, topshotAddr, marketAddr, joshAddress, defaultTokenName, defaultTokenStorage, 2, 80), []flow.Address{b.ServiceKey().Address, bastianAddress}, []crypto.Signer{b.ServiceKey().Signer(), bastianSigner}, true, ) @@ -278,7 +278,7 @@ func TestMarket(t *testing.T) { // bastian sends the correct amount of tokens to buy it createSignAndSubmit( t, b, - templates.GenerateBuySaleScript(tokenAddr, topshotAddr, marketAddr, joshAddress, defaultTokenName, defaultTokenStorage, 1, 80), + templates.GenerateBuySaleScript(flow.HexToAddress(defaultfungibleTokenAddr), tokenAddr, topshotAddr, marketAddr, joshAddress, defaultTokenName, defaultTokenStorage, 1, 80), []flow.Address{b.ServiceKey().Address, bastianAddress}, []crypto.Signer{b.ServiceKey().Signer(), bastianSigner}, false, ) @@ -394,7 +394,7 @@ func TestMarket(t *testing.T) { // change the price of the moment createSignAndSubmit( t, b, - templates.GenerateChangeOwnerReceiverScript(topshotAddr, marketAddr, "dapperUtilityCoinReceiver"), + templates.GenerateChangeOwnerReceiverScript(flow.HexToAddress(defaultfungibleTokenAddr), topshotAddr, marketAddr, "dapperUtilityCoinReceiver"), []flow.Address{b.ServiceKey().Address, bastianAddress}, []crypto.Signer{b.ServiceKey().Signer(), bastianSigner}, false, ) @@ -406,7 +406,7 @@ func TestMarket(t *testing.T) { // mint tokens and buy the moment in the same tx - template := templates.GenerateMintTokensAndBuyScript(tokenAddr, topshotAddr, marketAddr, bastianAddress, joshAddress, defaultTokenName, defaultTokenStorage, 2, 100) + template := templates.GenerateMintTokensAndBuyScript(flow.HexToAddress(defaultfungibleTokenAddr), tokenAddr, topshotAddr, marketAddr, bastianAddress, joshAddress, defaultTokenName, defaultTokenStorage, 2, 100) createSignAndSubmit( t, b, diff --git a/lib/go/test/topshot_test.go b/lib/go/test/topshot_test.go index 031f4338..2df8684c 100644 --- a/lib/go/test/topshot_test.go +++ b/lib/go/test/topshot_test.go @@ -18,7 +18,7 @@ import ( ) const ( - NonFungibleTokenContractsBaseURL = "https://raw.githubusercontent.com/onflow/flow-nft/master/src/contracts/" + NonFungibleTokenContractsBaseURL = "https://raw.githubusercontent.com/onflow/flow-nft/master/contracts/" NonFungibleTokenInterfaceFile = "NonFungibleToken.cdc" )