JurisdictionSwissAssociationV2

Description:

Smart contract deployed on Ethereum with Factory features.

Blockchain: Ethereum

Source Code: View Code On The Blockchain

Solidity Source Code:

{{
  "language": "Solidity",
  "sources": {
    "contracts/jurisdictionsV2/SwissAssociationV2.sol": {
      "content": "// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.0;

import "../OtoCoJurisdictionV2.sol";

contract JurisdictionSwissAssociationV2 is OtoCoJurisdictionV2 {

    constructor (
        uint256 renewPrice,
        uint256 deployPrice,
        uint256 closePrice,
        string memory name,
        string memory defaultBadge,
        string memory goldBadge
    ) OtoCoJurisdictionV2(renewPrice, deployPrice, closePrice, name, defaultBadge, goldBadge, false) {}

    /**
     * @dev See {OtoCoJurisdiction-getSeriesNameFormatted}.
     */
    function getSeriesNameFormatted (
        uint256 count,
        string calldata nameToFormat
    ) public pure override returns(string memory){
        return string(abi.encodePacked(nameToFormat, ' Association'));
    }

}"
    },
    "contracts/OtoCoJurisdictionV2.sol": {
      "content": "// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.0;

abstract contract OtoCoJurisdictionV2 {

    string private name;
    string private defaultBadge;
    string private goldBadge;
    uint256 private renewCost;
    uint256 private deployCost;
    uint256 private closeCost;
    bool private standalone;

    constructor (
        uint256 _renewCost,
        uint256 _deployCost,
        uint256 _closeCost,
        string memory _name,
        string memory _defaultBadge,
        string memory _goldBadge,
        bool _standalone
    ) {
        renewCost = _renewCost;
        deployCost = _deployCost;
        closeCost = _closeCost;
        name = _name;
        defaultBadge = _defaultBadge;
        goldBadge = _goldBadge;

        assembly {
            // we avoid initializing default values
            if iszero(iszero(_standalone)) {
                sstore(standalone.slot, _standalone)
            }
        }
    }

    /**
     * Get formatted name according to the jurisdiction requirement.
     * To use when create new series, before series creation.
     * Returns the string name formatted accordingly.
     *
     * @param count current number of series deployed at the jurisdiction.
     * @return nameToFormat name of the series to format accordingly.
     */
    function getSeriesNameFormatted(uint256 count, string calldata nameToFormat) public pure virtual returns(string memory);
    
    /**
     * Return the name of the jurisdiction.
     * 
     * @return name the name of the jurisdiction.
     */
    function getJurisdictionName() external view returns(string memory) {
        return name;
    }

    /**
     * Return the NFT URI link of the jurisdiction.
     * 
     * @return defaultBadge the badge URI.
     */
    function getJurisdictionBadge() external view returns(string memory) {
        return defaultBadge;
    }

    /**
     * Return the Gold NFT URI link of the jurisdiction.
     * 
     * @return goldBadge the gold badge URI.
     */
    function getJurisdictionGoldBadge() external view returns(string memory) {
        return goldBadge;
    }


    /**
     * Return the renewal price in USD.
     * 
     * @return renewCost the cost to renew a entity of this jurisdiction for 1 year.
     */
    function getJurisdictionRenewalPrice() external view returns(uint256) {
        return renewCost;
    }

    /**
     * Return the renewal price in USD.
     * 
     * @return deployCost the cost to renew a entity of this jurisdiction for 1 year.
     */
    function getJurisdictionDeployPrice() external view returns(uint256) {
        return deployCost;
    }

    /**
     * Return the close price in USD.
     * 
     * @return closeCost the cost to close the entity.
     */
    function getJurisdictionClosePrice() external view returns(uint256) {
        return closeCost;
    }

    function isStandalone() external view returns(bool) {
        return standalone;
    }
}"
    }
  },
  "settings": {
    "optimizer": {
      "enabled": false,
      "runs": 200
    },
    "outputSelection": {
      "*": {
        "*": [
          "evm.bytecode",
          "evm.deployedBytecode",
          "devdoc",
          "userdoc",
          "metadata",
          "abi"
        ]
      }
    },
    "libraries": {}
  }
}}

Tags:
Factory|addr:0x18eaf449b724bd0d41a1c81b66af061ea82eb235|verified:true|block:23406132|tx:0x8f0660437de4049db7fba83045433ebbfb351df8e6017a9ee00e3a59a9f30398|first_check:1758397333

Submitted on: 2025-09-20 21:42:15

Comments

Log in to comment.

No comments yet.