Proposal Types
Last updated
Was this helpful?
Last updated
Was this helpful?
Every must be of a single Proposal Type. The parameters required for each Proposal Type differ based on the particular action required to be performed.
All OptSwap Contracts are Non-Custodial. While the proposal types below are versatile and quite powerful in terms of the actions that can be performed by the governance, it is just as important (if not more so) to understand what the governance cannot do. Specifically, the governance:
Cannot access or withdraw user funds from any contracts (DEX/AMM/Staking/etc.,)
Cannot change or manipulate user positions in the DEX or AMM contracts.
Cannot change or reverse past transactions in any manner whatsoever.
Cannot change the on-chain spot and settlement prices reported by the Meta Oracle.
Track a unique Uniswap V2/V3 Pair as an on-chain Oracle to store Time Weighted Average Prices (TWAPs) and liquidity snapshots.
Parameters: token0
(address), token0Decimals
(number), token1
(address), token1Decimals
(number), router
(address), liquidityPool
(address), liquidityPoolType
(UniV2/UniV3
), nativeAssetToken
(Token0/Token1/None
)
Disable an existing Oracle.
Parameters: token0
(address), token1
(address), liquidityPool
(address)
Re-enable a previously disabled Oracle.
Parameters: token0
(address), token1
(address), liquidityPool
(address)
Parameters: treasuryMintRatio
(percentage between 0-100%)
Withdraw any donations to the Meta Oracle back into the treasury.
Parameters: tokens[]
(address array)
Transfer an amount of the network's native asset (gas token) from the treasury to the given address.
Parameters: toAddress
(address), amount
(number)
Transfer an amount of ERC-20 tokens from the treasury to the given address.
Parameters: toAddress
(address), transferToken
(address), amount
(number)
Approve an amount of the native asset (gas token) or ERC-20 token to the given smart contract address and call the notifyReward
function. This is used mainly for transferring staking and other rewards to the respective smart contracts.
Parameters: toAddress
(address), rewardToken
(address), rewardAmount
(number)
Parameters: name
(string), symbol
(string), whitelisted
(boolean), restrictiveLegend
(boolean), underlyingToken
(address), faceValue
(number), subscriptionDiscount
(number), issueStartAt
(timestamp), issueEndAt
(timestamp), maturityTimestamp
(timestamp), maxSupply
(number)
Approves users to be able to subscribe to a commercial paper that is not open to the public.
Parameters: cPaperAddress
(address), users[]
(address array), whitelisted[]
(boolean array)
Withdraw funds accrued from user subscriptions into the treasury from the relevant C-Paper contract.
Parameters: cPaperAddress
(address), tokens
(address array)
Parameters: maxSupply
(number), token
(address), tokenDecimals
(number), whitelisted
(boolean), restrictiveLegend
(boolean), rate
(number), startAt
(timestamp), endAt
(timestamp), vestingPeriod
(number)
Approves users to be able to subscribe to a fundraising round that is not open to the public.
Parameters: roundNumbers
(number array), users[]
(address array), whitelisted[]
(boolean array)
Removes the Restrictive Legend from the specified vesting fundraises.
Parameters: vestingNumbers
(number array)
Withdraw funds accrued from fundraising rounds into the treasury.
Parameters: tokens
(address array)
Parameters: users[]
(address array), tokens[]
(address array), amounts[]
(number array), vestingEndsAt[]
(timestamp array)
Withdraw excess tokens deposited into the Airdrops contract back into the treasury.
Parameters: tokens
(address array)
Deploy a new OptSwap Options Decentralized Exchange (DEX) contract for the specified underlying and cash asset pair alongside the contract and exchange specifications.
Parameters: underlyingAsset
(address), underlyingAssetDecimals
(number), cashAsset
(address), cashAssetDecimals
(number), fixedLotSize
(number), minTickSize
(number), maxUnderlyingExercisePeriod
(number), maxForceCashSettlementWaitPeriod
(number), metaOracle
(address), useViaToken
(boolean), viaTokenAddress
(address)
Deploy a new OptSwap Automated Market Maker (AMM) contract paired to the specified DEX with the specified strike and expiry parameters.
Parameters: optSwapContract
(address), standardStrikeDistance
(number), expiryStart
(timestamp), expiryFrequency
(number)
Updates the fees, rewards and settlement parameters to the specified values for an existing DEX.
Parameters: optSwapContract
(address), makerFees
(number), takerFees
(number), settlementFees
(number), positionConversionFees
(number), underlyingAssetFeesDisbursalContract
(address), cashAssetFeesDisbursalContract
(address), feesTransferReward
(number), maxUnderlyingExercisePeriod
(number), maxForceCashSettlementWaitPeriod
(number), rewardPerSettlementsExecutionPoint
(number), allowForceExerciseCashCalls
(boolean), allowForceExerciseCashPuts
(boolean), allowForceExerciseWithPartialSwap
(boolean), allowForceExerciseUnderlying
(boolean), matchFinderFeesPerLot
(number)
Registers a new AMM contract with the specified DEX.
Parameters: optSwapContract
(address), ammAddress
(address)
Updates the rewards parameters for the AMM associated with the given DEX.
Parameters: optSwapContract
(address), rewardPerMatchFinderPoint
(number), rewardPerLiquidityProviderPoint
(number), rewardPerManagedOrderCancellationPoint
(number)
Creates a new staking contract for the given staked token & reward token pair. The staked & reward tokens may be any combination of the native asset (gas token) or ERC-20 tokens.
Parameters: stakedToken
(address), stakedTokenDecimals
(number), stakedTokenIsNativeAsset
(boolean), rewardToken
(address), rewardTokenIsNativeAsset
(boolean)
Calls the method specified by the signature and data on the target contract (as a delegate call or not). Note that arbitrary transactions are disallowed against the Meta Oracle, Airdrops & Fundraising contracts, any of the issued tokens (OS*/veOS*) or any of the previously deployed DEXes/AMMs.
Parameters: target
(address), value
(number), signature
(string), data
(bytes), executionTime
(timestamp), withDelegatecall
(boolean)
Upgrade the proxy implementation (logic) contract of one of the Core smart contracts in OptSwap.
Parameters: target
(address), logicContractAddress
(address), data
(bytes), value
(number)
Change the proxy admin of one of the Core smart contracts in OptSwap.
Parameters: target
(address), newAdmin
(address)
Redacts the specified proposal by overwriting the string and bytes arguments.
Parameters: proposalNumber
(number)
Set a minimum fee to create a new proposal, payable in OS* tokens.
Parameters: feeAmount
(number)
Set a maximum reward payable to the miner who executed the proposal, denominated in OS* tokens.
Parameters: rewardAmount
(number)
Set the maximum authorized OS* token supply.
Parameters: authorizedAmount
(number)
Registers a new contract of the given type with the governance registry. The parameters specific to the particular contract type must be specified by the proposer.
Parameters: target
(address), contractType
(OptSwap/OptSwapDAOStaking/OptSwapDAOCommercialPaperToken/MetaOracle/ERC-20/Other
), {...contractTypeSpecificArguments}
(multi-type)
Sets the Treasury Mint Ratio for OS* tokens minted by the Meta Oracle as rewards during the Price Mining operations by miners. See .
Issues a new (C-Paper) which users can subscribe to.
Creates a new Round for the specified token at the specified rate.
Creates native asset (gas token) or ERC-20 token for the specified set of users in the specified amounts and also specifies the vesting ending timestamps for each.