Skip to content
Information Circle

The Spanning Demo App is live! Check it out here: https://demo.spanning.network/

We have also published the open-source demo code and related JavaScript utilities.

Gas Profiling

Methodology

Solc version: 0.8.14Optimizer enabled: trueRuns: 1000
Block limit: 30000000 gas25 gwei/gas13.44 usd/avax

Spanning Requests

Spanning Requests don't change any state on the blockchain. Most of the gas cost of a Spanning Request is determined based on the size of the request payload that must be written to the SpanningRequest event log.

ContractMethodMinMaxAvg# callsusd (avg)
SpanningDelegatemakeRequest91291170119113097220.04

Spanning ERC20

ContractMethodMinMaxAvg# callsusd (avg)
MockSpanningERC20approve514436854353886140.02
MockSpanningERC20approve53261532735326740.02
MockSpanningERC20burn--5199520.02
MockSpanningERC20decreaseAllowance--5495120.02
MockSpanningERC20decreaseAllowance--5680420.02
MockSpanningERC20increaseAllowance--5680020.02
MockSpanningERC20increaseAllowance--5495620.02
MockSpanningERC20mint520048620459333140.02
MockSpanningERC20renounceOwnership--3837710.01
MockSpanningERC20transfer73110737657343840.02
MockSpanningERC20transfer--5848120.02
MockSpanningERC20transferFrom--7940420.03
MockSpanningERC20transferFrom--7569120.03
MockSpanningERC20transferOwnership--4365410.01
MockSpanningERC20ContainerduringTokenApprove--2231620.01
MockSpanningERC20ContainerduringTokenBurn--2231420.01
MockSpanningERC20ContainerduringTokenMint--2231520.01
MockSpanningERC20ContainerduringTokenTransfer--2231420.01
MockSpanningERC20ContainerupdateDelegate--4327840.01

Spanning ERC721

ContractMethodMinMaxAvg# callsusd (avg)
MockSpanningERC721approve--7322820.02
MockSpanningERC721approve--5527720.02
MockSpanningERC721burn--5735620.02
MockSpanningERC721mint67898849987644580.03
MockSpanningERC721safeMint--9081120.03
MockSpanningERC721safeTransferFrom8959011589410274240.03
MockSpanningERC721safeTransferFrom--9029620.03
MockSpanningERC721safeTransferFrom--8096920.03
MockSpanningERC721safeTransferFrom--8651720.03
MockSpanningERC721setApprovalForAll--5816220.02
MockSpanningERC721setApprovalForAll77515782177786640.03
MockSpanningERC721transferFrom--9162720.03
MockSpanningERC721Enumerableburn--8906520.03
MockSpanningERC721Enumerablemint11731416272614002040.05
MockSpanningERC721EnumerabletransferFrom--12503620.04
MockSpanningERC721Pausablemint--8713420.03
MockSpanningERC721Pausablepause--4466620.02

Spanning ERC1155

ContractMethodMinMaxAvg# callsusd (avg)
MockSpanningERC1155burn--5126540.02
MockSpanningERC1155burnBatch--6890020.02
MockSpanningERC1155mint547568036564161680.02
MockSpanningERC1155mintBatch127448135425128246200.04
MockSpanningERC1155safeBatchTransferFrom--15470520.05
MockSpanningERC1155safeBatchTransferFrom--15096620.05
MockSpanningERC1155safeTransferFrom73955910318249340.03
MockSpanningERC1155safeTransferFrom82539873278493340.03
MockSpanningERC1155setApprovalForAll--6913540.02
MockSpanningERC1155setApprovalForAll666216731267016140.02

Deployments

DeploymentsMinMaxAvg% of limitusd (avg)
MockSpanningERC115531642463164630316460310.5 %1.06
MockSpanningERC1155InvalidReceiver--2746350.9 %0.09
MockSpanningERC1155Receiver--2897551 %0.10
MockSpanningERC20--22213117.4 %0.75
MockSpanningERC20Container--16168405.4 %0.54
MockSpanningERC721--26237048.7 %0.88
MockSpanningERC721Enumerable--28168969.4 %0.95
MockSpanningERC721Pausable--27828649.3 %0.94
MockSpanningERC721Receiver--1641730.5 %0.06
SpanningAddress--2619710.9 %0.09
SpanningDelegate9086949087909087833 %0.31
SpanningERC20MockUpgradeable--17058595.7 %0.57
SpanningERC721MockUpgradeable--23843017.9 %0.80