storyprotocol / protocol-periphery-v1

Periphery contract for story protocol, mainnet repo
MIT License
28 stars 20 forks source link

ERC1967InvalidBeacon error when calling createCollection #19

Closed bpolania closed 3 months ago

bpolania commented 3 months ago

Description and context

ERC1967InvalidBeacon error when calling createCollection in SPG. It seems the beacon needs admin authorization.

Expected behavior

Not giving ERC1967InvalidBeacon error

Solution recommendation

sebsadface commented 3 months ago

Resolution

The issue has been resolved by invoking the setNftContractBeacon function using the admin account to correctly set the SPGStorage.nftContractBeacon with the valid NFT contract beacon address on the testnet.

Implementation

Here is the command used to set the beacon:

cast send $SPG_PROXY_ADDR "setNftContractBeacon(address)" $SPG_BEACON_ADDR --rpc-url=$TESTNET_RPC --private-key=$ADMIN_PRIVATEKEY --legacy --gas-limit 1000000

Confirmation

The transaction executed successfully, and the beacon was set without any errors. The transaction details are as follows:

blockHash               0xf0f7b6e1556a240a1665e6657939f56cb9c490ccc0df60a774f5516b46f3d066
blockNumber             7715
contractAddress
cumulativeGasUsed       63165
effectiveGasPrice       1000000007
from                    0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab
gasUsed                 63165
logs                    []
logsBloom               0x0
root
status                  1 (success)
transactionHash         0xe38af966d8d693d8f8d2463ced7026f68baa022bbcfc23382d8d52c2435057e3
transactionIndex        0
type                    0
blobGasPrice
blobGasUsed
authorizationList
to                      0x69415CE984A79a3Cfbe3F51024C63b6C107331e3

With this change, the ERC1967InvalidBeacon error should no longer occur.