fail to deploy according to document
Opened this issue · 2 comments
gzliudan commented
I'm fresh to this project. It seems the deploy guide is not very clear. I failed to deploy according to the document. It seems that my PROXY_ADMIN_ADDRESS
is wrong. The below text is my settings in .env
except private key:
TOKEN_NAME=USDC
TOKEN_SYMBOL=USDC
TOKEN_CURRENCY=USD
TOKEN_DECIMALS=6
PROXY_ADMIN_ADDRESS="0xD4CE02705041F04135f1949Bc835c1Fe0885513c"
OWNER_ADDRESS="0xD4CE02705041F04135f1949Bc835c1Fe0885513c"
MASTER_MINTER_OWNER_ADDRESS="0xD4CE02705041F04135f1949Bc835c1Fe0885513c"
GAS_MULTIPLIER=110
BLACKLIST_FILE_NAME=blacklist.remote.json
My deploy command is:
forge script -vv --broadcast scripts/deploy/deploy-fiat-token.s.sol --rpc-url <MY_RPC_URL>
Got error:
[⠒] Compiling...
No files changed, compilation skipped
Traces:
[348611] → new SignatureChecker@0x518Fc3A0F2Ef69A267669BA09E7b56188E6C04FE
└─ ← [Return] 1741 bytes of code
[8161444] → new DeployFiatToken@0x5b73C5498c1E3b4dbA84de0F1833c4a029d90519
└─ ← [Return] 40642 bytes of code
[270378] DeployFiatToken::setUp()
├─ [0] VM::envString("TOKEN_NAME") [staticcall]
│ └─ ← [Return] <env var value>
├─ [0] VM::envString("TOKEN_SYMBOL") [staticcall]
│ └─ ← [Return] <env var value>
├─ [0] VM::envString("TOKEN_CURRENCY") [staticcall]
│ └─ ← [Return] <env var value>
├─ [0] VM::envUint("TOKEN_DECIMALS") [staticcall]
│ └─ ← [Return] <env var value>
├─ [0] VM::envOr("FIAT_TOKEN_IMPLEMENTATION_ADDRESS", 0x0000000000000000000000000000000000000000) [staticcall]
│ └─ ← [Return] <env var value>
├─ [0] VM::envAddress("PROXY_ADMIN_ADDRESS") [staticcall]
│ └─ ← [Return] <env var value>
├─ [0] VM::envAddress("MASTER_MINTER_OWNER_ADDRESS") [staticcall]
│ └─ ← [Return] <env var value>
├─ [0] VM::envAddress("OWNER_ADDRESS") [staticcall]
│ └─ ← [Return] <env var value>
├─ [0] VM::envOr("PAUSER_ADDRESS", 0xD4CE02705041F04135f1949Bc835c1Fe0885513c) [staticcall]
│ └─ ← [Return] <env var value>
├─ [0] VM::envOr("BLACKLISTER_ADDRESS", 0xD4CE02705041F04135f1949Bc835c1Fe0885513c) [staticcall]
│ └─ ← [Return] <env var value>
├─ [0] VM::envOr("LOST_AND_FOUND_ADDRESS", 0xD4CE02705041F04135f1949Bc835c1Fe0885513c) [staticcall]
│ └─ ← [Return] <env var value>
├─ [0] VM::envUint("DEPLOYER_PRIVATE_KEY") [staticcall]
│ └─ ← [Return] <env var value>
├─ [0] console::log("TOKEN_NAME: '%s'", "USDC") [staticcall]
│ └─ ← [Stop]
├─ [0] console::log("TOKEN_SYMBOL: '%s'", "USDC") [staticcall]
│ └─ ← [Stop]
├─ [0] console::log("TOKEN_CURRENCY: '%s'", "USD") [staticcall]
│ └─ ← [Stop]
├─ [0] console::log("TOKEN_DECIMALS: '%s'", 6) [staticcall]
│ └─ ← [Stop]
├─ [0] console::log("FIAT_TOKEN_IMPLEMENTATION_ADDRESS: '%s'", 0x0000000000000000000000000000000000000000) [staticcall]
│ └─ ← [Stop]
├─ [0] console::log("PROXY_ADMIN_ADDRESS: '%s'", 0xD4CE02705041F04135f1949Bc835c1Fe0885513c) [staticcall]
│ └─ ← [Stop]
├─ [0] console::log("MASTER_MINTER_OWNER_ADDRESS: '%s'", 0xD4CE02705041F04135f1949Bc835c1Fe0885513c) [staticcall]
│ └─ ← [Stop]
├─ [0] console::log("OWNER_ADDRESS: '%s'", 0xD4CE02705041F04135f1949Bc835c1Fe0885513c) [staticcall]
│ └─ ← [Stop]
├─ [0] console::log("PAUSER_ADDRESS: '%s'", 0xD4CE02705041F04135f1949Bc835c1Fe0885513c) [staticcall]
│ └─ ← [Stop]
├─ [0] console::log("BLACKLISTER_ADDRESS: '%s'", 0xD4CE02705041F04135f1949Bc835c1Fe0885513c) [staticcall]
│ └─ ← [Stop]
├─ [0] console::log("LOST_AND_FOUND_ADDRESS: '%s'", 0xD4CE02705041F04135f1949Bc835c1Fe0885513c) [staticcall]
│ └─ ← [Stop]
└─ ← [Stop]
[6551512] DeployFiatToken::run()
├─ [0] VM::startBroadcast(<pk>)
│ └─ ← [Return]
├─ [4724944] → new FiatTokenV2_2@0x6F9d086cEFC1dB0836FEd3a53A703b6Dac89e87F
│ └─ ← [Return] 23464 bytes of code
├─ [76219] FiatTokenV2_2::initialize("", "", "", 0, 0x0000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000001)
│ └─ ← [Stop]
├─ [65980] FiatTokenV2_2::initializeV2("")
│ └─ ← [Stop]
├─ [23205] FiatTokenV2_2::initializeV2_1(0x0000000000000000000000000000000000000001)
│ └─ ← [Stop]
├─ [4275] FiatTokenV2_2::initializeV2_2([], "")
│ └─ ← [Stop]
├─ [404525] → new FiatTokenProxy@0xC6004B9aa8AD300D917DE8aB6879D91CA93dAdF4
│ └─ ← [Return] 1798 bytes of code
├─ [1114770] → new MasterMinter@0xC52422EF3e3A84e58F93A530e304Ed69363b5E8F
│ └─ ← [Return] 5346 bytes of code
├─ [2113] MasterMinter::transferOwnership(0xD4CE02705041F04135f1949Bc835c1Fe0885513c)
│ ├─ emit OwnershipTransferred(previousOwner: 0xD4CE02705041F04135f1949Bc835c1Fe0885513c, newOwner: 0xD4CE02705041F04135f1949Bc835c1Fe0885513c)
│ └─ ← [Stop]
├─ [2020] FiatTokenProxy::changeAdmin(0xD4CE02705041F04135f1949Bc835c1Fe0885513c)
│ ├─ emit AdminChanged(previousAdmin: 0xD4CE02705041F04135f1949Bc835c1Fe0885513c, newAdmin: 0xD4CE02705041F04135f1949Bc835c1Fe0885513c)
│ └─ ← [Stop]
├─ [445] FiatTokenProxy::initialize("USDC", "USDC", "USD", 6, MasterMinter: [0xC52422EF3e3A84e58F93A530e304Ed69363b5E8F], 0xD4CE02705041F04135f1949Bc835c1Fe0885513c, 0xD4CE02705041F04135f1949Bc835c1Fe0885513c, 0xD4CE02705041F04135f1949Bc835c1Fe0885513c)
│ └─ ← [Revert] revert: Cannot call fallback function from the proxy admin
└─ ← [Revert] revert: Cannot call fallback function from the proxy admin
== Logs ==
TOKEN_NAME: 'USDC'
TOKEN_SYMBOL: 'USDC'
TOKEN_CURRENCY: 'USD'
TOKEN_DECIMALS: '6'
FIAT_TOKEN_IMPLEMENTATION_ADDRESS: '0x0000000000000000000000000000000000000000'
PROXY_ADMIN_ADDRESS: '0xD4CE02705041F04135f1949Bc835c1Fe0885513c'
MASTER_MINTER_OWNER_ADDRESS: '0xD4CE02705041F04135f1949Bc835c1Fe0885513c'
OWNER_ADDRESS: '0xD4CE02705041F04135f1949Bc835c1Fe0885513c'
PAUSER_ADDRESS: '0xD4CE02705041F04135f1949Bc835c1Fe0885513c'
BLACKLISTER_ADDRESS: '0xD4CE02705041F04135f1949Bc835c1Fe0885513c'
LOST_AND_FOUND_ADDRESS: '0xD4CE02705041F04135f1949Bc835c1Fe0885513c'
Error:
script failed: revert: Cannot call fallback function from the proxy admin
gzliudan commented
Update: this error was gone after I changed PROXY_ADMIN_ADDRESS to another address. What does this variable mean?
lyfsn commented
I guess this error occurs because the DEPLOYER_PRIVATE_KEY
's address is the same as the PROXY_ADMIN_ADDRESS
. Just use another PROXY_ADMIN_ADDRESS
.