JSPM

@safe-global/safe-token

1.0.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • 0
  • Score
    100M100P100Q26726F
  • License LGPL-3.0-only

Repository for Safe token related contracts

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@safe-global/safe-token) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    Safe Token Contracts

    Contract behaviour

    Audits

    Usage

    Install requirements with yarn:

    yarn

    Run all tests:

    yarn build
    yarn test

    Deploy

    ⚠️ Make sure to use the correct commit when deploying the contracts. Any change (even comments) within the contract files will result in different addresses. The tagged versions can be found in the releases.

    This will deploy the contracts deterministically and verify the contracts on etherscan using Solidity 0.7.6 by default.

    Preparation:

    • Set MNEMONIC in .env
    • Set INFURA_KEY in .env
    yarn deploy-all <network>

    This will perform the following steps

    yarn build
    yarn hardhat --network <network> deploy
    yarn hardhat --network <network> etherscan-verify
    yarn hardhat --network <network> local-verify

    Custom Networks

    It is possible to use the NODE_URL env var to connect to any EVM based network via an RPC endpoint. This connection then can be used with the custom network.

    E.g. to deploy the Safe contract suite on that network you would run yarn deploy-all custom.

    The resulting addresses should be on all networks the same.

    Note: Address will vary if contract code is changed or a different Solidity version is used.

    Disable Replay protection (EIP-155)

    By default the deployment process uses the Safe singleton factory for deployment. If Some networks require replay protection. If replay protection is not required it is possible to use a presigned transaction without replay protection to deploy the comunity factory (see https://github.com/Arachnid/deterministic-deployment-proxy). To enable this the USE_COMMUNITY_FACTORY env var has to be set to true (see .env.sample).

    Note: This will result in different addresses compared to the default deployment process.

    Verify contract

    This command will use the deployment artifacts to compile the contracts and compare them to the onchain code

    yarn hardhat --network <network> local-verify

    This command will upload the contract source to Etherescan

    yarn hardhat --network <network> etherscan-verify

    Security and Liability

    All contracts are WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

    License

    All smart contracts are released under LGPL-3.0