This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ---------------------------------------------------------------------------- // | |
// GNOSIS SAFE DEPLOYMENT SCRIPT // | |
// ---------------------------------------------------------------------------- // | |
import { ethers } from 'ethers' | |
import EthersAdapter from '@gnosis.pm/safe-ethers-lib' | |
import SafeServiceClient from '@gnosis.pm/safe-service-client' | |
import Safe, { SafeFactory, EthSignSignature } from '@gnosis.pm/safe-core-sdk' | |
import * as dotenv from 'dotenv' |
Using newer compiler versions and the optimizer gives gas optimizations and additional safety checks for free!
The advantages of versions 0.8.*
over <0.8.0
are:
- Safemath by default from
0.8.0
(can be more gas efficient than some library based safemath). - Low level inliner from
0.8.2
, leads to cheaper runtime gas. Especially relevant when the contract has small functions. For
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env node | |
var Decimal = require('decimal.js') // $ yarn add decimal.js | |
// pulling out the big guns (maybe a tad excessive...) | |
Decimal.config( | |
{ | |
precision: 500, | |
toExpNeg: -500 | |
} | |
) |