DeploySEALED

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

Transaction ID

Timestamp

Jul 06, 2025, 05:46:40 AM UTC
7mo ago

Block Height

118,723,579

Computation

0

Execution Fee

0.00000624 FLOW

Transaction Summary

Deploy

Contract deployment

Contract deployment

Script Arguments

0nameString
Arbitrage
1codeString
import FungibleToken from 0xf233dcee88fe0abe access(all) contract Arbitrage { // --- Events --- access(all) event TradeCreated(id: UInt64, owner: Address, fromToken: String, toToken: String, fromAmount: UFix64, toAmount: UFix64) access(all) event TradeCompleted(id: UInt64, purchaser: Address) access(all) event TradeCancelled(id: UInt64) // --- Data Structures --- access(all) struct TradeInfo { access(all) let id: UInt64 access(all) let owner: Address access(all) let fromToken: String access(all) let toToken: String access(all) let fromAmount: UFix64 access(all) let toAmount: UFix64 access(all) let created: UFix64 init(id: UInt64, owner: Address, fromToken: String, toToken: String, fromAmount: UFix64, toAmount: UFix64) { self.id = id self.owner = owner self.fromToken = fromToken self.toToken = toToken self.fromAmount = fromAmount self.toAmount = toAmount self.created = getCurrentBlock().timestamp } } // --- Contract State --- access(all) var trades: {UInt64: TradeInfo} access(all) var nextTradeId: UInt64 // --- Core Functions --- access(all) fun createTrade(fromToken: String, toToken: String, fromAmount: UFix64, toAmount: UFix64, creator: Address) { let tradeId = self.nextTradeId let tradeInfo = TradeInfo( id: tradeId, owner: creator, fromToken: fromToken, toToken: toToken, fromAmount: fromAmount, toAmount: toAmount ) self.trades[tradeId] = tradeInfo self.nextTradeId = self.nextTradeId + 1 emit TradeCreated(id: tradeId, owner: creator, fromToken: fromToken, toToken: toToken, fromAmount: fromAmount, toAmount: toAmount) } access(all) fun completeTrade(tradeId: UInt64, purchaser: Address) { pre { self.trades[tradeId] != nil: "Trade not found" } self.trades.remove(key: tradeId) emit TradeCompleted(id: tradeId, purchaser: purchaser) } access(all) fun cancelTrade(tradeId: UInt64) { pre { self.trades[tradeId] != nil: "Trade not found" } self.trades.remove(key: tradeId) emit TradeCancelled(id: tradeId) } // --- Public Getters --- access(all) view fun getTrade(id: UInt64): TradeInfo? { return self.trades[id] } access(all) view fun getOpenTradeIDs(): [UInt64] { return self.trades.keys } access(all) view fun getAllTrades(): {UInt64: TradeInfo} { return self.trades } init() { self.trades = {} self.nextTradeId = 0 } }

Cadence Script

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