Token Details
VOW is a token on the Ethereum Network.
Its contract address is : 0x1BBf25e71EC48B84d773809B4bA55B6F4bE946Fb
You can view full data on Etherscan
The project has upgraded all its contracts for all vCurrencies and governance in order to operate with the new Voucher Ledger. You can read more about how the various contracts operate below.
Overview
The VSC Governor contract replaces all existing VSC tokens and their Token Managers, streamlining VSC management within the VOW ecosystem.
Region IDs have been introduced to make referencing the new VSC tokens easier.
Multi-step procedures that previously required manual repetition across regions have been replaced with single actions that can be executed simultaneously across multiple regions.
The Provable oracle system has been replaced with Chainlink price feeds where available, providing connected regions with free, real-time exchange rate data.
For regions without Chainlink integration, a new, optimized method for batch updating rates is provided.
New VSC regions can now be deployed and incorporated via a single command, significantly reducing deployment costs and complexity.
The VSC Governor contract is fully upgradeable, enhancing security and enabling future improvements and additional features.
The underlying VSC token implementation is also fully upgradeable, with changes being applied simultaneously across all regions.
VSC Governor Owner Functions
addRegion
addRegion
Creates a new VSC region, deploying and integrating its token contract into the ecosystem.
liquidateMerchant
liquidateMerchant
Callable only by the MVD for a region when a merchant is deemed to have defaulted. This function takes control of any VOW tokens locked against the merchant and uses them to acquire as many of the region's VSC tokens as possible via Uniswap, before subsequently burning them all.
setMVD
setMVD
Sets the MVD for the specified region ID, locking whatever VOW deposit is required from them in the contract.
removeMVD
removeMVD
Removes the MVD for the specified region ID, returning their original VOW deposit, minus any forfeiture levied by the community (default is zero).
transferOwnership
transferOwnership
Changing ownership of the VSC Governor is a two-phase process for added security:
The current owner initiates the process by calling
transferOwnership
.The new owner completes the process by calling
acceptOwnership
.
updateConfig
updateConfig
Selectively updates the following contract values:
The address allowed to set the internal rates
The max permitted freshness of the internal rates
The value that determines when the VOW to USD Rate should be refreshed
The value determining the maximum permitted difference between the last observed rate and the rate calculated at the time of the transaction
updateDeposit
updateDeposit
Updates the VOW deposit required to become an MVD for the specified region ID(s).
updateFeed
updateFeed
Updates the address of the fiat price feed for the specified region ID.
updateOwner
updateOwner
Updates the owner address for the specified region ID(s).
updatePauseTransfers
updatePauseTransfers
Pauses or unpauses token transfers and burns for the specified region ID(s).
updateTransferBurn
updateTransferBurn
Updates the proportion of VSC burned on transfers between non-whitelisted accounts for the specified region ID(s).
updateTransferBurnWhitelist
updateTransferBurnWhitelist
Adds or removes an account from the transfer burn whitelist for the specified region ID(s).
updateVSCMintOnLock
updateVSCMintOnLock
Updates the multiplier determining the amount of VSC to be minted upon a merchant lock for the specified region ID(s).
updateVOWToVSCWhitelist
updateVOWToVSCWhitelist
Adds or removes an account from the VOW to VSC conversion whitelist for the specified region ID(s).
Note: For convenience, passing an empty array applies an update to all regions.
Read Methods
previewLiquidateMerchant
previewLiquidateMerchant
Previews the expected result of a merchant liquidation.
regions
regions
Returns the following data for all VSC regions:
Region ID
Token name
Token symbol
Token contract address
vscPerVOW
vscPerVOW
Returns the current number of VSC tokens equivalent to one VOW for the specified region ID.
Exchange Rates
VOW to VSC exchange rates are calculated whenever a VOW to VSC exchange (burn & mint), a merchant lock transaction, or a call to vscPerVOW
occurs. The rates depend on VOW's current USDT value, along with the current fiat USD rate for the region. The VOW USDT price is retrieved directly from its Uniswap V2 pair. The source of the fiat rate depends on the region:
Regions with Chainlink integration use their Chainlink price feed for the current rate.
Regions without Chainlink use the latest rate stored in the VSC Governor, which must be periodically updated by the owner.
Updating Non-Chainlink Rates
A helper task is provided to retrieve live rates for all non-Chainlink regions and batch-update the VSC Governor with any new rates:
VOW to VSC and Merchant Locking/Unlocking
The VSC Governor serves as the central point for users, MVDs, and merchants to send tokens to either exchange VOW for VSC or lock/unlock merchant accounts.
Exchanging VOW for VSC
Any whitelisted account can exchange VOW for VSC by sending VOW tokens to the Governor. The Governor will burn the VOW tokens and mint an equivalent amount of VSC tokens. The exact amount depends on the region's USD fiat exchange rate and the Uniswap VOW/USDT price at the time of the transaction.
Merchant Locking and Unlocking
Locking
MVDs can lock VOW against their merchants to generate new VSC for circulation on tier 2. To lock, the MVD sends VOW to the Governor, specifying the required VSC token and the merchant's address in the data payload. The VSC Governor will then:
Mint a multiplied amount of the specified VSC at the current market rate.
Trigger a lift of the minted VSC to the MVD's illiquid wallet on tier 2 via the connected VOW bridge.
Register the locked VOW against the merchant, along with the amount of VSC required to unlock it.
Unlocking
Any account can unlock a VOW position by sending the correct amount of VSC to the Governor, specifying the merchant in the data payload. The VSC will be burned, and the locked VOW will be released to the associated merchant.
Testing
All tests are executed against the current state of the Ethereum mainnet, using the real-world Uniswap, Chainlink, VOW Bridge, VOW, and USDT token contracts.
During testing, live market data is collected from Mixin and CoinGecko's APIs to verify the VSC Governor's calculations against live fiat and crypto exchange rates.
Contract gas consumption is reported at the end.
Ethereum Smart Contract Deployment : 24th September 2024
This section contains the latest deployment details of the Ethereum smart contracts as of 24th September 2024.
Contracts
Base Implementation
VSC Base Implementation:
0x00dBcf3895CaC852B9FFEAfBB6851186Dc529e2d
Upgradeable Beacon:
0x12542308A7cEb119ff963De26324AcCb805Edb5D
Governance Contract
VSC Governor:
0xFb580268f9bbda106Bc43fe9C12bDcd5394dca44
ERC1967 Proxy:
0x52D59D1c8871B6D9BE68933BE6767931b95dF8Fa
Regions and Currencies
The following regions have been set up with corresponding contracts:
The following contracts and tokens have been depreciated or will soon not be in use.
The old contracts used in the project were / are:
vGBP
Token
0x6364d4f283601d4Beb170DcDF0080b84E056389A
vGBP
OrderBooks
0x5369e76EaDf5044fE2250F093B7C42AeE09c32E6
vZAR
Token
0x0E7F502E5e4FBa9C65c59989B68D31E5F5093F50
vZAR
OrderBooks
0x96b686f9e6CE837F8dfB541969F14AD553863684
vDKK
Token
0xBB337937b31eF383d6782BFA9E88A131B7Fcf531
vDKK
OrderBooks
0xF62FDf31811FAECAF828E86e534b70335a706D76
vEUR
Token
0xbf686dA68323d0425f2B0D7e33d3fA11B1239132
vEUR
OrderBooks
0x03Fd73Aa892C1a81fFF973EfE7fBf6Cc338D734C
vINR
Token
0x36eFD50912E8BBDCfdDB71344cA1C28B53347BC0
vINR
OrderBooks
0x3348364081C58FE4B2f10420d7385BC171379d18
vUSD
Token
0x0fc6C0465C9739d4a42dAca22eB3b2CB0Eb9937A
vUSD
OrderBooks
0x071d1bcA10aF031f2f32B610B05581fa60A1caf1
vZWL
Token
0x663cBf0F8ac632ff6eEa2A249e2f6e147e65a04B
vZWL
OrderBooks
0xDC6E053851FbfA37ABAe89e262EA6Ac88BC89607
Binance Chain
VOW
Token
0xF585B5b4f22816BAf7629AEA55B701662630397b
vUSD
Token (Old)
0xc0D8DaA6516BaB4eFCe440860987E735BaB44160
Decentralized Bridge
ETH to BNB
0xa7C14010afA616fa23A2Bb0A94d76Dd57dde644d
Core Uniswap Pool Addresses
Pancake Swap Addresses
Last updated