Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions CircleModularWalletsCore/Resources/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>CFBundleShortVersionString</key>
<string>1.3.0</string>
<string>1.4.0</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleName</key>
Expand All @@ -13,7 +13,7 @@
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>NSHumanReadableCopyright</key>
<string></string>
<string/>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleVersion</key>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -237,12 +237,13 @@ extension BundlerRpcApi {
// Some Bundlers fail if nullish gas values are provided for gas estimation :')
// So we will need to set a default zeroish value.
let tmpUserOp = userOp.copy()
tmpUserOp.callGasLimit = .zero
tmpUserOp.preVerificationGas = .zero
tmpUserOp.callGasLimit = tmpUserOp.callGasLimit ?? .zero
tmpUserOp.preVerificationGas = tmpUserOp.preVerificationGas ?? .zero
tmpUserOp.verificationGasLimit = tmpUserOp.verificationGasLimit ?? .zero

if paymaster != nil {
tmpUserOp.paymasterVerificationGasLimit = .zero
tmpUserOp.paymasterPostOpGasLimit = .zero
tmpUserOp.paymasterVerificationGasLimit = tmpUserOp.paymasterVerificationGasLimit ?? .zero
tmpUserOp.paymasterPostOpGasLimit = tmpUserOp.paymasterPostOpGasLimit ?? .zero
} else {
tmpUserOp.paymasterVerificationGasLimit = nil
tmpUserOp.paymasterPostOpGasLimit = nil
Expand Down
29 changes: 29 additions & 0 deletions CircleModularWalletsCore/Sources/Chains/Monad.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
//
// Copyright (c) 2025, Circle Internet Group, Inc. All rights reserved.
//
// SPDX-License-Identifier: Apache-2.0
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

import Foundation

public let Monad = _Monad()

public struct _Monad: Chain {

public let chainId: Int = 143

public let blockchain: String = "MONAD"

}
29 changes: 29 additions & 0 deletions CircleModularWalletsCore/Sources/Chains/MonadTestnet.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
//
// Copyright (c) 2025, Circle Internet Group, Inc. All rights reserved.
//
// SPDX-License-Identifier: Apache-2.0
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

import Foundation

public let MonadTestnet = _MonadTestnet()

public struct _MonadTestnet: Chain {

public let chainId: Int = 10143

public let blockchain: String = "MONAD-TESTNET"

}
2 changes: 2 additions & 0 deletions CircleModularWalletsCore/Sources/Helpers/Constants.swift
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ let CONTRACT_ADDRESS: [String: String] = [
ArbitrumToken.ARB.name: "0x912CE59144191C1204E64559FE8253a0e49E6548",
AvalancheToken.USDC.name: "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E",
BaseToken.USDC.name: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
MonadToken.USDC.name: "0x754704bc059f8c67012fed69bc8a327a5aafb603",
OptimismToken.USDC.name: "0x0b2c639c533813f4aa9d7837caf62653d097ff85",
OptimismToken.OP.name: "0x4200000000000000000000000000000000000042",
PolygonToken.USDC.name: "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
Expand All @@ -40,6 +41,7 @@ let CONTRACT_ADDRESS: [String: String] = [
ArcTestnetToken.USDC.name: "0x3600000000000000000000000000000000000000",
AvalancheFujiToken.USDC.name: "0x5425890298aed601595a70ab815c96711a31bc65",
BaseSepoliaToken.USDC.name: "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
MonadTestnetToken.USDC.name: "0x534b2f3A21130d7a60830c2Df862319e593943A3",
OptimismSepoliaToken.USDC.name: "0x5fd84259d66Cd46123540766Be93DFE6D43130D7",
PolygonAmoyToken.USDC.name: "0x41e94eb019c0762f9bfcf9fb1e58725bfb0e7582",
UnichainSepoliaToken.USDC.name: "0x31d0220469e10c4E71834a79b1f276d740d3768F",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import Foundation
#if SWIFT_PACKAGE
extension Bundle {
public enum SDK {
public static let version = "1.3.0"
public static let version = "1.4.0" // x-release-please-version
}
}
#else
Expand Down
24 changes: 24 additions & 0 deletions CircleModularWalletsCore/Sources/Models/Token.swift
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,18 @@ public enum BaseToken: String {
}
}

public enum MonadToken: String {
case USDC

public var chainId: Int {
return Monad.chainId
}

public var name: String {
return "Monad_\(self.rawValue)"
}
}

public enum OptimismToken: String {
case USDC
case OP
Expand Down Expand Up @@ -144,6 +156,18 @@ public enum BaseSepoliaToken: String {
}
}

public enum MonadTestnetToken: String {
case USDC

public var chainId: Int {
return MonadTestnet.chainId
}

public var name: String {
return "MonadTestnet_\(self.rawValue)"
}
}

public enum OptimismSepoliaToken: String {
case USDC

Expand Down
Loading