DeploySEALED

╲^╱█□▫~^▪○╱□○!◇~$╱$█#^~◇&▪*░╱╳▓▫@$▒▒╳~#&@╲◆╱?◆!?▓○!■╱▒!▫█░!◆&▪^▪

Transaction ID

Timestamp

Sep 04, 2024, 07:13:54 PM UTC
1y ago

Block Height

85,981,970

Computation

0

Execution Fee

0.00000359 FLOW

Proposerseq:12 key:0

Authorizers

1

Transaction Summary

Deploy

Contract deployment

Contract deployment

Script Arguments

0nameString
StringUtils
1codeString
import ArrayUtils from 0x1e4aa0b87d10b141 // Copied from https://github.com/green-goo-dao/flow-utils/blob/crescendo/contracts/StringUtils.cdc // Special thanks to the Green Goo Dao contributors for creating this contract access(all) contract StringUtils { access(all) fun format(_ s: String, _ args: {String:String}): String{ var formatted = s for key in args.keys{ formatted = StringUtils.replaceAll(formatted, "{".concat(key).concat("}"), args[key]!) } return formatted } access(all) fun explode(_ s: String): [String]{ var chars : [String] = [] for i in ArrayUtils.range(0, s.length){ chars.append(s[i].toString()) } return chars } access(all) fun trimLeft(_ s: String): String{ for i in ArrayUtils.range(0, s.length){ if s[i] != " "{ return s.slice(from: i, upTo: s.length) } } return "" } access(all) fun trim(_ s: String): String{ return self.trimLeft(s) } access(all) fun replaceAll(_ s: String, _ search: String, _ replace: String): String{ return s.replaceAll(of: search, with: replace) } access(all) fun hasPrefix(_ s: String, _ prefix: String) : Bool{ return s.length >= prefix.length && s.slice(from:0, upTo: prefix.length)==prefix } access(all) fun hasSuffix(_ s: String, _ suffix: String) : Bool{ return s.length >= suffix.length && s.slice(from:s.length-suffix.length, upTo: s.length)==suffix } access(all) fun index(_ s : String, _ substr : String, _ startIndex: Int): Int?{ for i in ArrayUtils.range(startIndex,s.length-substr.length+1){ if s[i]==substr[0] && s.slice(from:i, upTo:i+substr.length) == substr{ return i } } return nil } access(all) fun count(_ s: String, _ substr: String): Int{ var pos = [self.index(s, substr, 0)] while pos[0]!=nil { pos.insert(at:0, self.index(s, substr, pos[0]!+pos.length*substr.length+1)) } return pos.length-1 } access(all) fun contains(_ s: String, _ substr: String): Bool { if let index = self.index(s, substr, 0) { return true } return false } access(all) fun substringUntil(_ s: String, _ until: String, _ startIndex: Int): String{ if let index = self.index( s, until, startIndex){ return s.slice(from:startIndex, upTo: index) } return s.slice(from:startIndex, upTo:s.length) } access(all) fun split(_ s: String, _ delimiter: String): [String] { return s.split(separator: delimiter) } access(all) fun join(_ strs: [String], _ separator: String): String { return String.join(strs, separator: separator) } }

Cadence Script

1transaction(name: String, code: String ) {
2		prepare(signer: auth(AddContract) &Account) {
3			signer.contracts.add(name: name, code: code.utf8 )
4		}
5	}