Skip to content

Commit f0c7ecf

Browse files
committed
update package to replace both formats to get tests passing
1 parent 2280502 commit f0c7ecf

File tree

2 files changed

+35
-34
lines changed

2 files changed

+35
-34
lines changed

lib/go/contracts/contracts.go

Lines changed: 22 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -193,12 +193,11 @@ func FlowServiceAccount(env templates.Environment) []byte {
193193
code := assets.MustAssetString(flowServiceAccountFilename)
194194

195195
if env.FlowExecutionParametersAddress == "" {
196-
197196
// Remove the import of FlowExecutionParameters
198197
code = strings.ReplaceAll(
199198
code,
200-
"import FlowExecutionParameters from \"FlowExecutionParameters\"",
201-
"//import FlowExecutionParameters from \"FlowExecutionParameters\"",
199+
"import \"FlowExecutionParameters\"",
200+
"//import \"FlowExecutionParameters\"",
202201
)
203202

204203
// Replace the metering getter functions
@@ -328,16 +327,20 @@ func TESTFlowStakingCollection(
328327
) []byte {
329328
code := assets.MustAssetString(flowStakingCollectionFilename)
330329

331-
code = strings.ReplaceAll(code, placeholderFungibleTokenAddress, withHexPrefix(fungibleTokenAddress))
332-
code = strings.ReplaceAll(code, placeholderBurnerAddress, withHexPrefix(storageFeesAddress))
333-
code = strings.ReplaceAll(code, placeholderFlowTokenAddress, withHexPrefix(flowTokenAddress))
334-
code = strings.ReplaceAll(code, placeholderIDTableAddress, withHexPrefix(idTableAddress))
335-
code = strings.ReplaceAll(code, placeholderStakingProxyAddress, withHexPrefix(stakingProxyAddress))
336-
code = strings.ReplaceAll(code, placeholderLockedTokensAddress, withHexPrefix(lockedTokensAddress))
337-
code = strings.ReplaceAll(code, placeholderStorageFeesAddress, withHexPrefix(storageFeesAddress))
338-
code = strings.ReplaceAll(code, placeholderQCAddr, withHexPrefix(qcAddress))
339-
code = strings.ReplaceAll(code, placeholderDKGAddr, withHexPrefix(dkgAddress))
340-
code = strings.ReplaceAll(code, placeholderEpochAddr, withHexPrefix(epochAddress))
330+
env := templates.Environment{
331+
FungibleTokenAddress: fungibleTokenAddress,
332+
FlowTokenAddress: flowTokenAddress,
333+
IDTableAddress: idTableAddress,
334+
StakingProxyAddress: stakingProxyAddress,
335+
LockedTokensAddress: lockedTokensAddress,
336+
StorageFeesAddress: storageFeesAddress,
337+
QuorumCertificateAddress: qcAddress,
338+
DkgAddress: dkgAddress,
339+
EpochAddress: epochAddress,
340+
BurnerAddress: storageFeesAddress,
341+
}
342+
343+
code = templates.ReplaceAddresses(code, env)
341344

342345
code = strings.ReplaceAll(code, "access(self) fun getTokens", "access(all) fun getTokens")
343346
code = strings.ReplaceAll(code, "access(self) fun depositTokens", "access(all) fun depositTokens")
@@ -348,23 +351,13 @@ func TESTFlowStakingCollection(
348351
func TestFlowFees(fungibleTokenAddress, flowTokenAddress, storageFeesAddress string) []byte {
349352
code := assets.MustAssetString(flowFeesFilename)
350353

351-
code = strings.ReplaceAll(
352-
code,
353-
placeholderFungibleTokenAddress,
354-
withHexPrefix(fungibleTokenAddress),
355-
)
356-
357-
code = strings.ReplaceAll(
358-
code,
359-
placeholderFlowTokenAddress,
360-
withHexPrefix(flowTokenAddress),
361-
)
354+
env := templates.Environment{
355+
FungibleTokenAddress: fungibleTokenAddress,
356+
FlowTokenAddress: flowTokenAddress,
357+
StorageFeesAddress: storageFeesAddress,
358+
}
362359

363-
code = strings.ReplaceAll(
364-
code,
365-
placeholderStorageFeesAddress,
366-
withHexPrefix(storageFeesAddress),
367-
)
360+
code = templates.ReplaceAddresses(code, env)
368361

369362
return []byte(code)
370363
}

lib/go/templates/templates.go

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -81,11 +81,19 @@ func ReplaceAddress(code, placeholder, replacement string) string {
8181
placeholderWithoutQuotes := placeholder[1 : len(placeholder)-1]
8282

8383
if len(replacement) > 0 {
84-
code = strings.ReplaceAll(
85-
code,
86-
placeholder,
87-
placeholderWithoutQuotes+" from "+withHexPrefix(replacement),
88-
)
84+
if strings.Contains(code, placeholderWithoutQuotes+" from "+placeholder) {
85+
code = strings.ReplaceAll(
86+
code,
87+
placeholder,
88+
withHexPrefix(replacement),
89+
)
90+
} else {
91+
code = strings.ReplaceAll(
92+
code,
93+
placeholder,
94+
placeholderWithoutQuotes+" from "+withHexPrefix(replacement),
95+
)
96+
}
8997
}
9098
return code
9199
}

0 commit comments

Comments
 (0)