├── README.md
├── SIP-0001.md
├── SIP-0002.md
├── SIP-0003.md
├── SIP-0004.md
├── SIP-0005.md
├── SIP-0006-A1.md
├── SIP-0006.md
├── SIP-0007.md
├── SIP-0008.md
├── SIP-0010.md
├── SIP-0012.md
├── SIP-0014.md
├── SIP-0015.md
├── SIP-0016.md
├── SIP-0017.md
├── SIP-0018.md
├── SIP-0019.md
├── SIP-0020.md
├── SIP-0024.md
├── SIP-0028.md
├── SIP-0029.md
├── SIP-0030.md
├── SIP-0031.md
├── SIP-0034.md
├── SIP-0035.md
├── SIP-0037.md
├── SIP-0038.md
├── SIP-0039.md
├── SIP-0040.md
├── SIP-0041.md
├── SIP-0042.md
├── SIP-0043.md
├── SIP-0044.md
├── SIP-0046_part-1.md
├── SIP-0046_part-2.md
├── SIP-0046_part-3.md
├── SIP-0046_part-4.md
├── SIP-0047.md
├── SIP-0048.md
├── SIP-0049.md
├── SIP-0050.md
├── SIP-0051.md
├── SIP-0054.md
├── SIP-0055.md
├── SIP-0056.md
├── SIP-0057.md
├── SIP-0058.md
├── SIP-0059.md
├── SIP-0060.md
├── SIP-0061.md
├── SIP-0062.md
├── SIP-0063.md
├── SIP-0064.md
├── SIP-0065.md
├── SIP-0066.md
├── SIP-0071.md
├── SIP-0072.md
├── SIP-0073.md
├── SIP-0074.md
├── SIP-0075.md
├── SIP-0076.md
├── SIP-0077.md
├── SIP-0078.md
├── SIP-0079.md
├── SIP-0080.md
├── SIP-0081.md
├── SIP-0082.md
├── SIP-0083.md
├── SIP-0084_part-1.md
├── SIP-0084_part-2.md
├── SIP-0085.md
├── images
├── FeesVault diff example.png
├── StakingContractDesignChange.png
└── StakingContractDesignChange.svg
└── templates
├── contract_template.md
├── issuance_template.md
├── parameter_template.md
├── proclamation_template.md
└── treasury_template.md
/SIP-0001.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0001'
3 | Title: Assign Multi-sig Addresses for Sovryn Bitcoin Treasury
4 | Author: Ororo Munroe (@ororopickpocket)
5 | Status: Approved
6 | Track: Treasury
7 | Created: 2021-01-20
8 | ---
9 |
10 | # SIP-0001: Assign Multi-sig Addresses for Sovryn Bitcoin Treasury
11 |
12 | ## Resolved
13 |
14 | 1. The Sovryn protocol will assign five signatory addresses to form a 3of5 Bitcoin multisig wallet.
15 | 2. The wallet will hold the Sovryn Bitcoin treasury.
16 | 3. Future transactions from the Treasury require approval via a simple Sovryn vote.
17 | 4. The signatory public keys are:
18 | * xpub661MyMwAqRbcGsSj8ZG4MkLEKmdELnUTYPVnxmMa58WgS9mBYeQCjDSfaHFsYE6ZFXNRUEPdJoxWKuxMsjbJNVbK4uCydX21V7SYsUauXC7
19 | * xpub661MyMwAqRbcFcLDoxkxYtnhQoUc6a3zwKRNaFPBwF7mwtzMv14eL24c5bT1ZM9MsyFxZSc6sdpAvZWEiRrkgaW8VaYudsLv7JYY6mzkL5T
20 | * xpub661MyMwAqRbcGsbuF22FVyTRZYGCGFtsCvyboHRhuHi4gRqyMrvwo7BxQkePWXVMzkG8eHuT6QrWBudN9mDMS84JboTU28nETWg6kTNQLuR
21 | * xpub661MyMwAqRbcF7gpQCcphWUaZcfYBSHym6rHGGsW1KwDer2j3XNwZQraMu25rnUnXqmqZ6nERR2KE9YdCrvzxoZdvWrGujsxEtPL5Vgid9R
22 | * xpub661MyMwAqRbcG7KrofqGrRUPw2PET8cjCWra3zZUfh3a6TFNJ4Y9PmxnW9X4KSDRywRtZ1VJSS9yGZ4TjtLM5dSquBu8gUnvRYZwUBPrbUA
23 |
--------------------------------------------------------------------------------
/SIP-0002.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0002'
3 | Title: Issuance of cSOV to community members
4 | Author: Ororo Munroe (@ororopickpocket)
5 | Status: Approved
6 | Track: Treasury
7 | Created: 2021-01-20
8 | ---
9 |
10 | # SIP-0002: Issuance of cSOV to community members
11 |
12 | ## Resolved
13 |
14 | 1. The Sovryn protocol will issue up to 1,800,000 cSOV tokens
15 | 2. cSOV tokens will provide a pre-order mechanism for community members to stake funds in order to receive the right to SOV tokens, on a 1:1 basis with cSOV tokens subject to a vote by SOV holders.
16 | 3. These cSOV tokens will be distributed to stakers who have the early community NFTS
17 | 4. The required stake per cSOV token will be 2750 Satoshis
18 | 5. Any cSOV tokens converted to SOV will be subject to 10 months linear vesting (with 1/10 of the total amount released on a monthly basis) from the date of the end of the SOV public sale.
19 | 6. Any cSOV holder that does not actively convert their cSOV to SOV within a two month period after TGE will be able to receive their staked funds.
20 |
--------------------------------------------------------------------------------
/SIP-0003.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0003'
3 | Title: Activation of Genesis Reservation
4 | Author: Ororo Munroe (@ororopickpocket)
5 | Status: Approved
6 | Track: Treasury
7 | Created: 2021-01-24
8 | ---
9 |
10 | # SIP-0003: Activation of Genesis Reservation
11 |
12 | ## Resolved
13 |
14 | 1. The Sovryn protocol will issue up to 2,000,000 cSOV tokens. This represent a 200,000 increase from 1,800,000 of SIP 0002.
15 | 2. cSOV tokens will provide a pre-reservation mechanism for community members to stake funds in order to receive the right to SOV tokens, on a 1:1 basis with cSOV tokens subject to a vote by SOV holders.
16 | 3. These cSOV tokens will be distributed to stakers who have the early community NFTS.
17 | 4. The required stake per cSOV token will be 2500 Satoshis
18 | 5. Any cSOV tokens converted to SOV will be subject to 10 months linear vesting (with 1/10 of the total amount released on a monthly basis) from the date of the end of the SOV public sale.
19 | 6. Any cSOV holder that does not actively convert their cSOV to SOV within a two month period after TGE will be able to receive their staked funds.
20 |
--------------------------------------------------------------------------------
/SIP-0004.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0004'
3 | Title: Minting of Additional cSOV
4 | Author: Edan Yago (@YagoBit)
5 | Status: Approved
6 | Track: Treasury
7 | Created: 2021-01-28
8 | ---
9 |
10 | # SIP-0004: Minting of Additional cSOV
11 |
12 | ## Abstract
13 | Due to demand massively exceeding anticipated demand, it is proposed to increase the Genesis reserve allocation of cSOV.
14 |
15 | ## Background
16 | On Monday, January 25'th 2021, Sovryn launched the Genesis Reservation system. This allowed users to reserve an allocation of SOV at a price of 2500 sats. Despite the fact that participation was limited only to addresses active prior to the snapshot on January 8'th, demand far exceeded supply and expectation. Within a matter of minutes, the funds received exceeded the allocation.
17 |
18 | The approved allocation (SIP 0003) was to allow 2,000,000 cSOV tokens to be reserved for 50 BTC.
19 | In practice, 67.956 BTC were received, from some 800 addresses. From these, 66.04865467 BTC were correctly received for investing. The remainder was received as a surplus (or excess) without proper allocation rights. This amount is redeemable.
20 |
21 | ## Motivation
22 | The goal of Genesis was to allow the cohort of early users, who were using the system, to become stakeholders in its future. Trade-offs (discussed below) notwithstanding, expanding the eligibility would appear most congruent with this goal.
23 |
24 | ## Proposal
25 | Resolved:
26 | 1. Increase the supply of cSOV through the minting of an additional 641,946.1868 cSOV.
27 | 2. Distribute these cSOV at a rate of 2500 sats/cSOV to all addresses from which funds were received during Genesis.
28 | 3. Reduce the allocation of SOV for future programmatic sales by 641,946.1868 cSOV.
29 |
30 | ## Trade-offs
31 | **Sovryn Treasury**
32 | 1. SOV is earmarked for programmatic sales in order to provide the Sovryn protocol with a treasury of funds to support the future growth, maintenance and security of the protocol. Reducing the allocated SOV for this purpose, risks also reducing the potential treasury.
33 | 2. However, the unanticipated demand indicates that the future price of SOV may also be higher than anticipated. This may allow future programmatic sales to occur at a higher price per SOV, which would allow for adequate capitalization of the treasury.
34 | 3. Further, while funds are important, the value of a dedicated, motivated community is immeasurable. Any question of treasury capitalization must be measured against the opportunity to reward Sovryn's earliest, high-conviction users.
35 |
36 | **Moral Hazard**
37 | 1. Genesis was clearly communicated as having a limit of 2,000,000 cSOV distributed on a first-come, first-served basis. Changing any decision retroactively introduces the risk for moral hazard and reducing the credibility of Bitocracy decisions. However, this change is not a retroactive change. No past state is being changed. Instead, only future allocations, which remained undecided and had not been subject to vote, are being "changed".
38 | 2. Further, no participant is being disadvantaged in this proposal. Indeed, only further benefit is being provided. The "victim" is only the protocol itself, and as expressed above, it is unclear that this proposal is not to the advantage of the Sovryn protocol.
39 | 3. Additionally, the mechanism for first-come, first-served was not clearly articulated - a learning for the future.
40 | 4. Finally, Sovryn is still in alpha, as is the Bitocracy system. The purpose of Bitocracy is to provide a degree of flexibility to the protocol. Never will this be more needed than when the system is in alpha.
41 |
42 |
43 | ## Additional Considerations
44 | 1. While return of funds to users in order to maintain the 2,000,000 cap is possible, it would impose costs upon the dev team, whose time can better be spent on other tasks. This true in particular due to users sending funds from exchange addresses - to which the funds should not be returned.
45 | 2. Many more users who wished to participate in genesis were unable to within the few minutes it was live. Should we not extend cSOV to them as well. We propose that this would be a step too far. It was clear that Genesis must be limited and this would be completely counter to that spirit.
46 |
47 |
48 | ## Learnings
49 | 1. Future distribution events must make clear if resale is intended. If not, access codes or NFTs should be non-transferable.
50 | 2. Distributions should ideally be designed to minimize the potential for over-distribution. This is particularly important when allowing BTC deposits. It is recommended to allow for pre-funding in future events.
51 | 3. Efforts must be made to provide greater clarity on the mechanism for enacting distribution rules (eg. first-come, first-served)
52 |
--------------------------------------------------------------------------------
/SIP-0005.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0005'
3 | Title: Redeeming cSOV for SOV
4 | Author: Ororo Munroe (@ororopickpocket)
5 | Status: Approved
6 | Track: Treasury
7 | Created: 2021-02-12
8 | ---
9 |
10 | # SIP-0005: Redeeming cSOV for SOV
11 |
12 | ## Background
13 |
14 | On January 25, 2020, Sovryn launched the Genesis Reservation system. Sovryn community members who controlled a special NFT were granted access to stake BTC or RBTC for cSOV tokens at a rate of 2500 satoshis per cSOV. Per SIP-0003, up to 2,000,000 cSOV were made available in the Genesis event, which will be redeemable on a 1:1 basis for cSOV, subject to approval by existing SOV holders.
15 |
16 | After acceptance of SIP-0004, due to various circumstances surrounding the Genesis event, up to 641,946.1868 new tokens were created. This new token is referred to in this proposal as “cSOV-2” and is effectively equivalent in purpose to cSOV.
17 |
18 | In this SIP we propose to approve the 1:1 redemption of cSOV and cSOV-2 for SOV.
19 | Proposal
20 |
21 | ## Resolved
22 |
23 | 1. The RSK address of the cSOV token referenced is 0x0106f2ffbf6a4f5dece323d20e16e2037e732790
24 | 2. The RSK address of the cSOV-2 token referenced is 0x7f7dcf9df951c4a332740e9a125720da242a34ff
25 | 3. The RSK address of the SOV token referenced is 0xefc78fc7d48b64958315949279ba181c2114abbd
26 | 4. Up to 2,000,000 cSOV may be redeemed for an equivalent amount of SOV. Additionally, up to 641,946.1868 cSOV-2 may be redeemed for an equivalent amount of SOV.
27 | 5. Any cSOV converted to SOV will be subject to 10 months linear vesting (with approximately 1/10 of the total amount released on a monthly basis). Vesting will start from TGE and the first vested tokens will be released approximately 4 weeks after TGE.
28 | 6. The source code for the redemption smart contract to be used can be found https://github.com/DistributedCollective/Sovryn-smart-contracts/blob/vesting-factory/contracts/governance/Vesting/VestingRegistry.sol.
29 | 7. The source code for the vesting smart contract to be used can be found https://github.com/DistributedCollective/Sovryn-smart-contracts/blob/vesting-factory/contracts/governance/Vesting/VestingLogic.sol.
30 |
--------------------------------------------------------------------------------
/SIP-0006-A1.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0006-A1'
3 | Title: Origin Pre-Sale - Amendment 1
4 | Author: Edan Yago (@YagoBit)
5 | Status: Approved
6 | Track: Treasury
7 | Created: 2021-02-24
8 | ---
9 |
10 | # SIP-0006-A1: Origin Pre-Sale
11 |
12 | Amendment 1
13 |
14 | ## TLDR
15 |
16 | Origin sale was oversubscribed. Sovryn paused deposits to the Origin sale in order to avoid receiving too many funds, which would necessitate many manually processed redemptions. In total, over 200 BTC was received. However, after accounting for donations and redemptions the total amount of BTC eligible for SOV distribution is 194.7. As a result, 5.29 BTC of the potential allocation remains unclaimed.
17 |
18 | The team has reached a consensus that it is not worth reopening deposits to collect these 5.29 BTC, as that dev effort can be better spent on further development of the system and onboarding new users to the platform who participated in the Origin sale.
19 |
20 | Therefore it is proposed to distribute the allocated 2M SOV to the current set of depositors, this would set the effective price at 9736 sats per SOV.
21 |
22 | ## Proposal
23 |
24 | **Resolved:**
25 |
26 | 1. Distribute 2,000,000 SOV to participants that deposited BTC in the Origin pre-deposit, at a clearing price of 9736 sats per SOV.
27 | 2. No further changes to SIP-0006
28 |
29 | ## Relevant Code
30 |
31 | Pull Request 146
32 |
33 | https://github.com/DistributedCollective/Sovryn-smart-contracts/pull/146
34 |
--------------------------------------------------------------------------------
/SIP-0006.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0006'
3 | Title: Origins Pre-Sale
4 | Author: Ororo Munroe (@ororopickpocketa)
5 | Status: Approved
6 | Track: Treasury
7 | Created: 2021-02-19
8 | ---
9 |
10 | # SIP-0006: Origins Pre-Sale
11 |
12 | ## Abstract
13 | To provide funds for the Sovryn protocol treasury, it is proposed to approve a sale of SOV tokens to protocol supporters prior to SOV tokens becoming transferable and liquid. 2,000,000 SOV would be tendered. The Origins pre-deposit process collected deposits in the total of 200 BTC. It is proposed to forgo the Dutch Auction process as outlined in in the SIP-0006 Draft which can be referenced [here](https://forum.sovryn.app/t/draft-sip-0006-sovryn-origins-pre-sale/37), and approve the sale at the proposed opening price of 10,000 satoshis per SOV tendered.
14 |
15 | ## Background
16 | On Thursday January 11th, the Origins pre-sale opened for pre-deposits. Within approximately 48 hours, a total of 200 BTC were pre-deposited and the proposed Origins pre-sale became fully subscribed at the proposed auction price of 10,000 satoshis, as outlined [here](https://forum.sovryn.app/t/draft-sip-0006-sovryn-origins-pre-sale/37). There is therefore no requirement to hold the proposed auction, as the sale is fully subscribed and such an auction would close at the opening price, were it held.
17 |
18 |
19 | ## Resolved:
20 | 1. Provide for the sale of up-to 2,000,000 SOV to participants that deposisting BTC in the Origins pre-deposit, at a clearing price of 10,000 sats per SOV.
21 | 2. SOV tendered under the Origins pre-sale will be non-transferable for a period of six weeks after TGE, to allow for completion of any further sales.
22 | 3. The 2,000,000 SOV allocated to the Origins pre-sale will be transferred from the Governance Vault (0x05f4f068df59a5aa7911f57ce4f41ebfbcb8e247) to the Exchequer multisig (0x924f5ad34698fd20c90fe5d5a8a0abd3b42dc711) to be held until the technical preparations for allowing Origins participants to claim their SOV have been completed. The Exchequer multisig will transfer the SOV to the SOV Origins pre-sale claiming smart contract immediately after deployment.
23 |
--------------------------------------------------------------------------------
/SIP-0007.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0007'
3 | Title: Proposal to designate the Exchequer Multisig, and use of funds
4 | Author: Basil Shall (@shallb)
5 | Status: Ready for vote
6 | Track: Treasury
7 | Created: 2021-02-15
8 | ---
9 |
10 | # SIP-0007: Proposal to designate the Exchequer Multisig, and use of funds
11 |
12 | ## Background
13 | 1. There is a miscalculation in the cSOV/RBTC redemption process on the VestingRegistry contract, which leads to only 1% of the corresponding amount of RBTC being reimbursed on request. Therefore, a manual redemption process is required to facilitate the redemption payouts of the remaining 99% for Genesis pre-sale participants requesting a redemption of their pre-deposit.
14 | 2. The Exchequer Multisig is designated to hold certain funds in the form of RBTC and SOV, in order to allow for flexible deployment of such funds in accordance with near term Sovryn protocol requirements.
15 | 3. Such requirements include, but are not limited to:
16 |
17 | * For funds held by the Exchequer Multisig in the form of RBTC, the only approved use will be to facilitate RBTC redemptions for Genesis pre-sale participants who wish to redeem their pre-deposits within two months after SOV TGE, due to the miscalculation outlined in section 1.
18 | * Deployment of SOV for the purposes of exchange listings, market making, and partnerships with third parties.
19 |
20 | ## Resolved
21 | 1. The Exchequer Multisig shall be a 3 out of 5 multisig held between the following wallet addresses:
22 |
23 | * 0x4f3948816785e30c3378ed3b9f2de034e3ae2e97
24 | * 0x7be508451cd748ba55dcbe75c8067f9420909b49
25 | * 0xeabb83a1cefc5f50c83bc4252c618d3294152a86
26 | * 0x27d55f5668ef4438635bdce0adca083507e77752
27 | * 0xdfd4da0e0e656af349e192b954baaef0fc1eba62
28 | 2. The Exchequer Multisig will be allocated a total of 573,777.58 SOV.
29 | 3. The funds being held by the vault contract of bitocracy 1.0 as RBTC (0xc7a1637b37190a456b017897207bceb2A29f19b9) are moved to the control of the Exchequer multisig in order to allow for the performance of any necessary redemptions requested by Genesis pre-order participants.
30 | 4. After a period of two months post TGE, any remaining RBTC funds remaining in the Exchequer Multisig will be moved to the vesting registry contract of Bitocracy 2.0 (0x80b036ae59b3e38b573837c01bb1dB95515b7e6b).
31 |
--------------------------------------------------------------------------------
/SIP-0010.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0010'
3 | Title: Proposal to upgrade Staking contract - apply fix to cover an edge case
4 | Author: Tyrone Johnson (@tjcloa)
5 | Status: Approved
6 | Track: Contract
7 | Created: 2021-03-01
8 | ---
9 |
10 | # SIP-0010: Proposal to upgrade Staking contract - apply fix to cover an edge case
11 |
12 | ## Background
13 | The current Staking contract’s `stakeByschedule` function, used by the current Vesting contracts, only allows staking for a minimum of two intervals with 4 weeks in-between. Therefore, the current Staking contract cannot be used with a Origin Presale Vesting contract.
14 |
15 | ## Resolved
16 | - The change implemented in [this pull request](https://github.com/DistributedCollective/Sovryn-smart-contracts/pull/159) at [this commit](https://github.com/DistributedCollective/Sovryn-smart-contracts/pull/159/commits/c44a43969fba41285afbc23adbce7edc83d9104a) will be implemented to a) allow staking for a minimum of one interval, and b) allow us to use a Origin Presale Vesting contract with the Staking contract.
17 | - The new Staking Logic contract is deployed at 0x5b87F01F665050d244543ca047317C26862E47f7.
18 |
--------------------------------------------------------------------------------
/SIP-0012.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0012'
3 | Title: Provide treasury funds to FastBTC
4 | Author: Ororo Munroe (@ororopickpocket)
5 | Status: Approved
6 | Track: Treasury
7 | Created: 2022-03-10
8 | ---
9 |
10 | # SIP-0012: Provide treasury funds to FastBTC
11 |
12 | ## Background:
13 | We recently reactivated an improved version of FastBTC to allow for quick and simple user onboarding. At this point, FastBTC is limited to 0.01 BTC per transaction, because of missing liquidity. It is proposed to transfer 100 BTC from the Origin BTC Multisig Wallet through the RSK 2-way-peg onto the RSK chain. The funds are to be held by the Exchequer Multisig Wallet and supplied to the FastBTC contract in batches as liquidity requirements rise.
14 |
15 | The FastBTC contract is a very simplistic, non-upgradable contract. It just knows 2 roles: owner and admin. Both can withdraw funds from the contract. The owner can additionally replace the admin. The Bitocracy is acting as the owner and a 3 out of 5 multisig is set as admin (0x0f279e810b95e0d425622b9b40d7bcd0b5c4b19d). The key holders are active team members (whose tokens could be slashed by the Exchequer multisig in case of misbehaviour) and early funders. 4 of the addresses have been set already and a 5th address is going to be added within the next week:
16 | * 0x986C65fc1783a445CecCadE74234dC8627d429d8
17 | * 0x0b3be9435610aac0e1c6f7a26c77e2213738cb48
18 | * 0xb66fb8937aecdb12210b384120e2b4ba506b3140
19 | * 0xc39ef4a81c57d5866924e6cc6c260c617ef7287d
20 |
21 |
22 | Incoming BTC are being held by a multisig with following keyholders:
23 | * xpub6BfKEBjxckgv5wSMRfo1Xs4GQPrPnmpBCMr5Ks4sodwyFHHv46YuUTLXkTxjvY17m1yicc7P9GuRvxTL3g9QyLVvGN6LoyewBXVmeBjKpnV
24 | * xpub661MyMwAqRbcGzaYCtZVwawoUX1ha8k81vbhN7RQuaL3qb4jrowz6ytfEmXvbg3sFZVKyMLp7MW8KCXY36yzJgsx7QT6mxHaRNYScQLvKKs
25 | * xpub6DXfjxAVvM3Bhc3SMjtFxTgXrTm6KvMX4v5LcjAhzULVCeazmr3Az6iwpJ3upwT1dTRDjKs4X7GsWyFzryUa8pMQxVyHGSBoehxEPW5oyZ5
26 | * xpub6D7UgjtGH1Jz5DiiWYUUWmojWGnaR5dYfDNzmwGxmtKxs9815n5bnsgodr6g6JyX7H2Q4CHRc8YHjC445s1VoAT1CUF8MawR3jQX67JRDXa
27 | * xpub661MyMwAqRbcFLXXK8g24KqYv5TdGK9wd6wPmCJKkidFwmuKpEH41XVxV6CJTL4cmcMiDnNNF1dttWQBkQ7k9U6yuFULibdqrjiF8CHJfCH
28 | * xpub6BgUF1rCKuijQqc8gUUSsS3pCCfeyqA8VfJvBcfXxLjMFHycooFHWeay95g33NcMV3vg6q2jKw3PLmKBeJSfBAiikYjJGjAgCZt5i41PD2H
29 | * xpub6C2rAfZ1QCurnA5pGvb1ra6mzceakedwMZ4s9STy178HPUgDQj7ajxqsSMhM4hxnGWbhccdFr3HZVnnWhXhHCEguef16RdWYGDNqzMiJgA3
30 |
31 | For each user a unique deposit address is derived from this multisig. If liquidity on RSK is running low, the funds need to be transferred via the RSK 2-way-peg in order to refill the contract.
32 |
33 | Because of the way the RSK 2-way-peg is designed, the multisig cannot send the funds over the peg directly, but we need to use a single private key. This means that for a time period of 24h the assets to be transferred are being controlled by a single person. This is why the amount is to be transferred in batches and the person(s) in charge should be slashable by governance in case of misbehaviour (and therefore have enough at stake).
34 |
35 | Providing liquidity for FastBTC is not just substantially improving the user onboarding process, but also a lucrative business for the protocol, because fees are generated on each transfer. The fee is currently set to 5000 sats but is subject to change based on market conditions
36 |
37 | ## Resolved:
38 | 1. Transfer 100 BTC from the Origin BTC Multisig Wallet through the RSK 2-way-peg onto the RSK chain. The transfer is to happen in batches and executed by slashable SOV holders.
39 | 2. The funds are to be held by the Exchequer multisig (0x924f5ad34698fd20c90fe5d5a8a0abd3b42dc711) until they are provided to the FastBTC contract (0xca1c5b1bc55755c5e3b6ed1afe88abd7b26f147f).
40 | 3. 10 RBTC are to be provided to the FastBTC contract immediately and the transfer limit is to be increased to 0.1 BTC.
41 | 4. Funds are to be moved from the BTC multisig in charge of receiving the user deposits whenever liquidity on the FastBTC contract is beginning to run low.
42 | 5. After 4 weeks of operation and a completed audit report of the FastBTC backend, the limits are to be lifted completely and the remaining 90 RBTC are to be transferred.
43 |
--------------------------------------------------------------------------------
/SIP-0014.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0014'
3 | Title: Strategic Investment
4 | Author: Anthony Pompliano
5 | Status: Approved
6 | Track: Treasury
7 | Created: 2021-03-22
8 | ---
9 |
10 | # SIP-0014: Strategic Investment
11 |
12 | ## Summary
13 | A syndicate of strategic partners, led by Anthony Pompliano (Pomp) proposes to acquire 1.5m SOV and to join the Sovryn community. The syndicate proposes to provide capital to the Sovryn treasury, run SovrynBTC nodes, and provide broad strategic assistance to grow the Sovryn ecosystem.
14 |
15 | ## Motivation
16 | I have been writing and tweeting about the idea of decentralized finance on top of bitcoin for years. I have noticed that while bitcoin is decentralized money, most of its existing infrastructure is centralized. In comparison, Ethereum and other smart contract platforms have decentralized infrastructure, yet their core assets are not based on sound money principles.
17 |
18 | Due to this analysis, I have always believed that the bitcoin industry would eventually have to bring decentralized sound money and decentralized infrastructure together. While some people want to bring bitcoin to Ethereum via tBTC or WBTC, I have been a big believer that decentralized infrastructure will get built on top of, and around, bitcoin.
19 |
20 | After evaluating many of the projects in the space, I am excited about the prospects of Sovryn and believe that the team and community has a high probability to build one of the core decentralized infrastructure stacks to ensure that bitcoin remains decentralized, sovereign, and aligned with the original bitcoin ethos.
21 |
22 | I, and the rest of the syndicate, want to help make this goal a reality. Beyond capital, we hope to contribute a diverse range of expertise and resources to the Sovryn mission.
23 |
24 | Simply, bitcoin is too important to the world. There must be decentralized financial applications and services built to empower users with the full promise of the digital currency. We must build this together.
25 |
26 | ## Strategic Investment Structure
27 |
28 | - **Requested Allocation:** 1,500,000 SOV
29 | - **Price per SOV:** 12,000 Satoshi
30 | - **Total investment:** 180 BTC
31 | - **Lock-up:** 16 month linear vesting with a 3 month cliff
32 | - **Closing Date:** March 26, 2021
33 |
34 | ## Expected Outcomes
35 |
36 | ### Bonding of SOV
37 | One of Sovryn’s biggest needs right now is BTC liquidity. This problem will be at least partially solved by SovrynBTC, a collateralized two-way bitcoin peg that is currently under development. The SOV acquired by the syndicate will be bonded as collateral for the SovrynBTC bitcoin peg, subject to the vesting period. This will ensure that users can peg their bitcoin for use within the Sovryn protocol.
38 |
39 | ### Scaling
40 | Rapid growth of the kind Sovryn is experiencing brings with it many challenges as well as opportunities. There is a need to scale the team and organization, grow the marketing and user base, introduce new products all while maintaining focus. The syndicate includes many successful entrepreneurs who have experience managing exactly these challenges and can help the community and team navigate these challenges.
41 |
42 | ### Decentralization and Nodes
43 | The syndicate will contribute to maintaining the decentralization of the Sovryn protocol by running nodes and participating in multisig schemes when required.
44 |
45 | ### Exchanges
46 | The syndicate includes several leading cryptocurrency exchanges, who wish to list SOV and other tokens related to the Sovryn ecosystem. In doing so they can help introduce their users to Sovryn and help provide liquidity, trading venues, and price feeds that can be consumed by oracles integrated with the Sovryn platform.
47 |
48 | ### Bitcoin Miners and Mining Pools
49 | Bitcoin miners provide security to the Sovryn protocol. As part of the syndicate miners and mining pools will help maintain a close relationship and understanding between the bitcoin mining community and the Sovryn developer community.
50 |
51 | ### Capital and Liquidity
52 | The syndicate investment will provide additional capital for the Sovryn treasury to support the growth of the ecosystem. In addition to this capital, many of the syndicate participants will seek to provide support liquidity and arbitrage to maintain deep markets and robust pricing in the Sovryn platform.
53 |
54 | ### Awareness Reputation and Monitoring
55 | The participation of the syndicate will help cement Sovryn's position as the "blue-chip" operating system for bitcoin DeFi and the financial OS of the future.
56 |
57 | The syndicate members have between them a broad network of strategically important companies, organizations, and institutions. Additionally, their collective audiences number in the many millions. This network and audience will be exposed to Sovryn, helping to accelerate awareness and adoption of the protocol.
58 |
59 | As a community-driven and open source project, Sovryn must gain the trust of users of all types - from individuals to other DeFi projects to institutions. The high profile reputations of the syndicate members will help assure users and partners that the Sovryn protocol can be trusted. Syndicate members will be actively engaged in the project and help monitor its activity and development, acting as eyes and ears for the wider community.
60 |
61 | ## About the Syndicate
62 | The syndicate is led by Anthony Pompliano, better known as Pomp. He has built a portfolio valued at more than $500 million across the crypto industry and also runs the largest content platform in the space. Pomp not only brings years of experience as an operator, but he has a track record of investing early in many of the largest, most successful companies and products in crypto.
63 |
64 | Pomp’s unique combination of capital and content brings legitimacy, stability, and attention to the Sovryn project. He is able to decrease user acquisition costs, drive mainstream awareness, and help recruit strategic investors or community contributors.
65 |
66 | Other organizations and people in the syndicate include some of the world’s largest crypto exchanges, market makers, investors, and research entities. Each of the participants in the syndicate are nominated by Pomp and vetted by Sovryn’s core team. They bring unique expertise that has strategic value to Sovryn and the community.
67 |
68 | ## Resolved
69 | - The syndicate, led by Anthony Pompliano, will purchase 1,500,000 SOV from the Programmatic Sale pool at a price of 12,000 sats per SOV, for a total of 180 BTC.
70 | - The sale will close on March 26, 2021.
71 | - The BTC used to purchase the SOV will be received and secured by the SIP-0001 bitcoin multisig.
72 | - The SOV will be deposited into an irrevocable vesting smart contract designating the syndicate’s RSK address as the recipient. The SOV will vest over 16 months with a 3 month cliff.
73 | - Transfer 1,500,000 SOV from the GovernorVaultOwner contract (0x05f4f068DF59a5aA7911f57cE4f41ebFBcB8E247) to the Exchequer Multisig (0x924f5ad34698Fd20c90Fe5D5A8A0abd3b42dc711), to allow for the transfer of SOV to participating investors in the strategic round.
74 |
--------------------------------------------------------------------------------
/SIP-0016.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0016'
3 | Title: Staking Security Update
4 | Author: James Howlett (@jameshowlett977)
5 | Status: Approved
6 | Track: Contract
7 | Created: 2021-03-30
8 | ---
9 |
10 | # SIP-0016: Proposal to upgrade Staking contract - apply fix to unlock Origin Vesting contracts
11 |
12 | ## Background
13 | The Origin Vesting contracts have cliff is incorrect, leading to the Vesting contracts to pass incorrect dates to the Staking contract.
14 | This results in Origin token holders being unable to claim their SOV. Origin Vesting contracts aren't upgradable.
15 | Therefore, we need to update 2 functions in Staking contract: `getPriorUserStakeByDate` and `withdraw`.
16 | Dates passed to these functions will be adjusted (only for incorrect dates) to the end of the current 2 week period (March 26, 2021 10:28:15 AM for Origin Vestings).
17 |
18 | ## Resolved
19 | - The change implemented in [this pull request](https://github.com/DistributedCollective/Sovryn-smart-contracts/pull/180) at [this commit](https://github.com/DistributedCollective/Sovryn-smart-contracts/pull/180/commits/def4f0237c7e729332294374f9a8e2ab1b658955) will be implemented to unlock Origin Vesting contracts.
20 | - The new Staking Logic contract is deployed at 0x962Ce6E2Fa1A4917DfF12Ad10135b1a4F16c2DB0.
21 |
22 |
--------------------------------------------------------------------------------
/SIP-0017.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0017'
3 | Title: Money on Chain's $MOC Listing and Incentivization Strategy
4 | Author: Nicolas (@nbourbon)
5 | Status: Approved
6 | Track: Treasury
7 | Created: 2021-05-06
8 | ---
9 |
10 | # SIP-0017: Money on Chain's $MOC Listing and Incentivization Strategy
11 |
12 | ## Background
13 |
14 | Money on Chain (MOC) is an RSK-based DeFi platform with a stablecoin (DOC), HODL token (BPro), orderbook DEX (TEX), leveraging mechanism, etc. which empowers Bitcoiners to improve the performance of their assets while also retaining full control of their private keys. Money on Chain has two tokens listed on the Sovryn DEX: DOC, a Bitcoin-backed stablecoin, and BPro, a token for capitalizing on Bitcoin’s volatility.
15 |
16 | ## Proposal
17 |
18 | - Listing Money on Chain’s $MOC token on the Sovryn DEX.
19 | - Sovryn’s treasury to bootstrap the MOC/RBTC AMM pool with 2.5 RBTC. Equivalent amount in $MOC for the MOC/RBTC AMM pool to be provided by the Money on Chain community.
20 | - $37,500 in $SOV to reward $DOC lenders after 30 days, to be provided by Exchequer.
21 | - $37,500 in $MOC to reward liquidity providers in the DOC/RBTC AMM pool after 30 days, to be provided by the Money on Chain community.
22 |
23 | The $MOC token brings governance to Money On Chain’s self contained protocol which includes DOC (the first USD stable coin collateralized with Bitcoin), BPro (a HODL and earn token with unique benefits), BTCx (an amplified leveraging mechanism), and TEX, a decentralized orderbook exchange.
24 |
25 | The MOC token enables:
26 |
27 | - Vote and Veto of platform updates and parameters.
28 |
29 | - Staking for rewards and fees from users of the platform.
30 |
31 | - Discounts when paying the fees with MOC.
32 |
33 | ## Motivation
34 |
35 | Money on Chain is a partner project of Sovryn. Two of its products, the DOC Bitcoin-backed stablecoin, and BPro, a token designed for BTC holders that allows users to earn on their Bitcoin position, are already listed on the Sovryn DEX.
36 |
37 | Incorporating Money on Chain’s DAO token, $MOC, will further align both initiatives in bringing more DeFi products and features to Sovryn users.
38 |
39 | DOC is a decentralized Bitcoin-backed stablecoin with greater permissionless features than that of USDT, making it deserving of incentivization for liquidity on Sovryn.
40 |
41 | The goal is to incentivize $1.5M USD in DOC across the DOC/RBTC AMM pool as well as the DOC lending pool.
42 |
43 | ## Proposal implementation
44 |
45 | - Exchequer to budget and manage the resources to list MOC on the Sovryn DEX. Token contract address: `0x9aC7Fe28967b30e3a4E6E03286D715B42B453d10`
46 | - Audit report: https://github.com/money-on-chain/Audits
47 |
48 | - Exchequer provides 2.5 RBTC in liquidity to the RBTC side of the MOC/RBTC AMM pool for a duration left to the discretion of Exchequer.
49 |
50 | - Exchequer to retroactively reward $37,500 USD worth of SOV to DOC lenders over a 30-day liquidity mining event.
51 | - For example, if lenders put $750,000 USD worth of DOC into the Sovryn lending pool for 30 days, they will be retroactively paid 5% in SOV.
52 |
53 | ## License
54 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
55 |
--------------------------------------------------------------------------------
/SIP-0018.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0018'
3 | Title: BabelFish Token Sale via Origins
4 | Author: Dark Knight (@dolarcripto)
5 | Status: Approved
6 | Track: Other
7 | Created: 2021-05-12
8 | ---
9 |
10 | # SIP-0018: BabelFish Token Sale via Origins
11 |
12 | ## Introduction
13 | I hereby submit this SIP to leverage the upcoming Sovryn Origins platform as a launchpad to do the first token sale in Sovryn for BabelFish. We see the Origins platform as the first Bitcoin layer-2 IDO platform, and would like to follow in Sovryn’s moon boot footsteps to showcase this, ideally setting a precedent for future teams seeking to launch Bitcoin DeFi projects.
14 |
15 | No platform exists today to support projects seeking to launch DeFi projects on Bitcoin. Sovryn is uniquely positioned to provide this launchpad as demonstrated by the successful Origin sale of SOV. The intention of putting forth this SIP for a Bitocracy vote is to permit BabelFish’s use of the Origins platform to perform a token sale. (Additional details about the Sovryn Origins platform will be released by the Sovryn team at a later date.)
16 |
17 | ## Reasoning
18 | If this vote passes and BabelFish conducts a successful token sale, it would demonstrate the Sovryn Origins platform’s capability to serve as a launchpad for future Bitcoin DeFi projects.
19 |
20 | This could bring an inflow of innovative decentralized product experimentation to be bootstrapped on Sovryn and initiate a virtuous cycle of innovation and a flywheel effect for SOV.
21 |
22 | ## Background
23 | BabelFish aims to be the first money lego built on Sovryn with the mission of bringing deep stablecoin liquidity to the ecosystem. This will also be convenient in terms of UI/UX inside Sovryn’s portfolio, as users won’t have to choose between a growing myriad of USD-pegs, instead, all USD-pegs can be deposited and withdrawn 1:1 via a single xUSD.
24 |
25 | ## Tokenomics
26 | The purpose of FISH tokens is to jumpstart its DAO. This is a collective experiment to remake and decentralize money and needs to be managed by an active community of participants akin to the example being set by Sovryn. For a comprehensive view of BabelFish’s token emission schedule, see [here](https://docs.google.com/spreadsheets/d/e/2PACX-1vRZbD-I55OHCUQz0iCEcxt0k9b7tGqvmfSNmCdqDzHbnlAb0PwvIi54JwoBgXkEXDaApUm6eGzeblAZ/pubhtml?gid=1815174735&single=true) (subject to change).
27 |
28 | We propose a capped initial token sale of 12.5% of the FISH supply. In addition, Sovryn will receive 2.5% to provide liquidity to the DAMM, and 1% will be airdropped to stakers pro-rata. Ultimately, stablecoin users who use BabelFish to bring liquidity to Sovryn will also earn FISH rewards for governance.
29 |
30 | **Token Sale Day One (Exclusive to Premium BCW members):**
31 | FISH price: $0.11
32 | Tokens for sale: 32,508,000
33 | Percent of supply: 7.74%
34 | Vesting: 10 months linear
35 | Wallet limit: $2,000
36 | Accepting: RBTC
37 |
38 | **Token Sale Day Two (Public):**
39 | FISH price: $0.18
40 | Tokens for sale: 20,000,000
41 | Percent of supply: 4.76%
42 | Vesting: 10 month linear with 50% immediately vested
43 | Limit per wallet: $3,000
44 | Accepting: RBTC
45 |
46 | **Airdrop to Sovryn’s Governance Stakers:**
47 | 1% pro-rata to fully-vested SOV stakers by voting weight
48 | Vesting: 10 month linear with 50% immediately vested
49 |
50 | **Listing on Sovryn AMM:**
51 | Tokens for Sovryn: 10,500,000
52 | Percent of supply: 2.5%
53 | Pool to be created: FISH/RBTC
54 |
55 | ## Additional Links
56 | [Website](http://www.babelfish.money/)
57 | [Discord](https://discord.gg/WF6HhNnmHj)
58 | [Telegram](https://t.me/BabelFishTalk)
59 | [Twitter](https://twitter.com/babelfishmoney)
60 | [YouTube](https://www.youtube.com/channel/UCU5PVTalLc0MYV6IRUmZg4w)
61 |
--------------------------------------------------------------------------------
/SIP-0019.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0019'
3 | Title: Exchequer Committee 2021 Budget
4 | Author: Max Shapiro (@maxshapiro23)
5 | Status: Approved
6 | Track: Treasury
7 | Created: 2021-05-31
8 | ---
9 |
10 | # SIP-0019: Exchequer Committee 2021 Budget
11 |
12 | ## Use of funds
13 |
14 | The Exchequer Committee has approved the following budget through the end of the calendar year which will be paid from Sovryn’s Treasury to accelerate the development and growth of the application in alignment with the Sovryn Roadmap published in the [Black Paper](https://wiki.sovryn.app/en/technical-documents/black-paper) in January 2021.
15 |
16 | _**Contributors** (please note that the below figures are represented on a monthly basis)_
17 |
18 | | **Circle** | **Active** | **Open Positions** | **Total** |
19 | | ------------|:----------:|:------------------:|:---------:|
20 | | Development | $235k | $115k | **$350k** |
21 | | Community | $45k | $25k | **$70k** |
22 | | Creative | $30k | $5k | **$35k** |
23 | | Marketing | $25k | $20k | **$45k** |
24 | | Operations | $60k | $40k | **$100k** |
25 | | **Total** | **$395k** | **$205k** | **$600k** |
26 |
27 | _It should also be noted that there are roughly **70 active contributors across** all 5 circles and roughly [**40 open positions**](https://wiki.sovryn.app/en/open-positions/contribute-developing-sovryn#open-positions) currently available._
28 |
29 | _**Other Expenses** (please note that recurring figures are represented on a monthly basis)_
30 |
31 | | **Circle** | **Recurring** | **One-time** | **Total** |
32 | | ------------|:-------------:|:------------:|:-----------:|
33 | | Development | $110k | $0k | **$110k** |
34 | | Community | $1k | $25k | **$26k** |
35 | | Creative | $1k | $0k | **$1k** |
36 | | Marketing | $100k | $30k | **$130k** |
37 | | Operations | $60k | $1,010k | **$1,070k** |
38 | | **Total** | **$272k** | **$1,065k** | **$1,337k** |
39 |
40 | Excluding one-time expenses, the budget proposal is for **$872k in recurring monthly expenses** of which **2/3 is being spent on contributors**. This monthly figure **annualized comes to ~$10.5m** on a recurring basis, if we include one-time expenses then the annualized figure is ~$11.6m.
41 |
42 | It should also be noted that it is Sovryn’s intention to come in well below budget at the end of the budget period, December 31, 2021. Prior to the end of this budget period, the Exchequer Committee will submit an additional budget SIP to Bitocracy for calendar year 2022.
43 |
44 | ## Appendix A - Contributor Spend by Circle
45 |
46 | 
47 |
48 | ## Appendix B - Treasury Snapshot & Runway Overview
49 |
50 | Sovryn’s treasury is held primarily in Bitcoin with a **current USD equivalent of balance ranging from $15-20m**. This does not include SOV that can be used as compensation for contributors or payments for service providers. Conservatively speaking, Sovryn’s treasury (excluding SOV considerations) would provide for 2+ years of runway which the Exchequer Committee believes is sufficient in order to fully develop the platform broadly in accordance with the Black Paper.
51 |
52 | ## License
53 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
54 |
--------------------------------------------------------------------------------
/SIP-0020.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0020'
3 | Title: Staking contract updates
4 | Author: James Howlett (@jameshowlett977)
5 | Status: Approved
6 | Track: Contract
7 | Created: 2021-06-07
8 | ---
9 |
10 | # SIP-0020: Staking contract updates
11 |
12 | ## Description
13 |
14 | If approved, this proposal will:
15 |
16 | 1. Replace the current staking contract with a new staking contract, with the only changes being targeted fixes for the issues described below.
17 | 2. Add the Exchequer Multisig as an admin of the staking contract, with the authority to revoke team vesting contracts and adding contracts' code hash.
18 |
19 | ## Motivation
20 |
21 | **Fixing staking contract bugs**
22 |
23 | There are two main issues with the staking contract that are fixed by this SIP:
24 |
25 | 1. If a user stakes SOV until date `x`, withdraws their SOV, then stakes SOV again until date `x`, they will not be able to perform any of the expected functions on their staked SOV (e.g. extend staking, delegate staking, or withdraw staking).
26 |
27 | 2. For users who have more than one transaction adding to their vesting contract, the vesting contract is skipping a staking period when calculating the amount available to withdraw. If for example a user stakes on June 1 for a duration of two staking periods ending on June 29, then the vesting contract will only count the second staking period as being available for withdrawal.
28 |
29 | **Improving management workflow of team vesting contracts**
30 |
31 | To improve the management workflow of team vestint contracts, Exchequer needs the ability to invoke the `governanceWithdrawVesting` function. This will be used in the event that a team member resigns or otherwise requires to have the remaining SOV withdrawn from their vesting contract before the full vesting period as elapsed.
32 |
33 | ## Proposed change
34 |
35 | - Existing Staking Logic contract: `0x962Ce6E2Fa1A4917DfF12Ad10135b1a4F16c2DB0`
36 | - The new Staking Logic contract: `0xcAB5028619839dbb92a193f59026383973F04008`
37 | - Proposed changes: https://github.com/DistributedCollective/Sovryn-smart-contracts/pull/250
38 |
39 | ## License
40 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
41 |
--------------------------------------------------------------------------------
/SIP-0024.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0024'
3 | Title: Liquid SOV Incentive Rewards for Fully Vested Stakers
4 | Author: Ororo Munroe (@ororopickpocket)
5 | Status: Approved
6 | Track: Contract
7 | Created: 2021-07-02
8 | ---
9 |
10 | # SIP-0024: Liquid SOV Incentive Rewards for Fully Vested Stakers
11 |
12 | ## Description:
13 |
14 | If approved, this proposal will:
15 |
16 | 1. Reward "marginal stakers" (ie, stakers by choice, not currently vesting) with liquid SOV at the beginning of each new staking interval.
17 | 2. Grant the Exchequer the authority to utilize liquid SOV from the treasury emitted from the Adoption Fund for this trial incentive program lasting for a period of six staking intervals (app. three months).
18 | 3. Grant the Exchequer (based on the analysis of user / usage data gathered during the program) the authority to cancel, extend, or modify the incentive program for additional 3 month intervals, until such time as the Exchequer determines such incentives are no longer meaningful.The program can be stopped by the Exchequer multisig anytime, but all stakes existing on the contract at the point in time of cancellation continue accruing rewards until the end of the staking period being rewarded. Increases and extensions of stakes, however, will no longer be considered.
19 |
20 | ## Motivation:
21 |
22 | 1. SOV Incentives, as currently implemented in Liquidity Mining programs rewards users with 10 month vesting SOV, with 10% becoming claimable (liquid) per month. Sovryn Protocol Stewards have recognized that rewarding users with vesting tokens is not standard in the sector, and that users expect some type of daily / weekly / monthly "return" for investing their assets, in addition to expected future returns.
23 | 2. Sovryn community members have called into question the misaligned financial incentives between providing liquidity to pools, and staking SOV in the early phases of the project when trading volumes are low, resulting in low incentives to Stake SOV, as opposed to using SOV to provide liquidity to pools with Liquidity Mining rewards providing attractive APY's.
24 | 3. After considering user input, Sovryn Protocol Stewards have searched for a methodology in alignment with user requests which can be implemented rapidly, does not require contract upgrades, and which does not adversely impact the Circulating Supply of SOV. In consultation with the Exchequer committee, an economic model was determined whereby SOV emitted and becoming liquid from the Adoption Fund could be utilized to offset the higher APY's offered for Liquidity Mining events.
25 |
26 | ## Reward Eligibility
27 |
28 | 1. Vesting contract stakes are excluded from these rewards.
29 | 2. Only wallets which have staked previously liquid SOV are eligible for these rewards.
30 |
31 | ## Technical implementation
32 |
33 | 1. A smart contract will be developed, which allows the user to withdraw liquid SOV at the beginning of each new staking interval every second Friday. Rewards will not need to be claimed immediately, but can remain on the contract until the user decides to withdraw.
34 | 2. The SOV will not be added to a vesting contract like other incentive programs, but will be transferred to the user directly on claiming.
35 |
36 | ## The Formula
37 |
38 | The remaining staking duration at any time defines the height of the annual interest rate (APR). The rewards will accrue using the voting weight formula, which means that the APR decreases over time in a quadratic fashion if the stake is not extended. The voting weight formula is explained on the [wiki](https://wiki.sovryn.app/en/governance/about-sovryn-governance).
39 |
40 | The maximum APR will be set to 29.75%. This APR is used for the maximum staking duration of 1092 days. 28 days later the APR decreases to 29.73%, 1 year later to 26.78% until only two weeks are remaining, with an APR of 3.66%.
41 |
42 | This setting leads to an average APR of 21% over 3 years, where the return on average is:
43 | * in year one: 28.81%
44 | * in year two: 22.98%
45 | * in year three: 11.19%
46 |
47 | These numbers can also be seen [here](https://docs.google.com/spreadsheets/d/1BfghMoIen2CIUTu-f0gD_kcPhwgI7tTdRFue-VpVGUM/edit#gid=0).
48 |
49 | Stakes can be extended at any point in time, restoring a higher APR, as long as the rewards program has not yet been cancelled by the Exchequer. After the reward program is stopped by the Exchequer, extensions of the stake will no longer increase the APR.
50 |
51 | ## Game Theory
52 | In the case that a user stakes longer to get a higher APR without having the intention to actually leave the tokens staked for that long, they would be subject to slashing penalties when withdrawing early according to the quadratic formula which also defines voting power, and the losses due to slashing penalties would outweigh the gains made through the higher APR.
53 |
54 | The calculated APR's are designed to always deliver a higher rate of return than unstaking early and paying a slashing fee would earn, based on this slashing fee table on the [wiki](https://wiki.sovryn.app/en/governance/about-sovryn-governance#early-unstaking-penalty).
55 |
56 | Example: If a user stakes for 3 years and unstakes after 1 year, they gain 28.81% in interest, but lose 27% through slashing. The user gained 1.81%, but this is less than the the gains for simply staking for one year from the beginning (11.19%).
57 |
58 | ## Economics
59 |
60 | - Current SOV being Staked (user-initiated): ~1m (20% of circulating supply)
61 |
62 | - Current SOV Circulating Supply: ~5m
63 |
64 | If we assume that all ~1m stakes for the maximum period and extend their stake each year to earn 33.06% per year, ~330k SOV would be distributed in interest per year (27.5k SOV / month) which is less than .5% of the circulating supply per month.
65 |
66 | If the amount being staked doubles during the initial period of the reward program utilizing 1% of the circulating supply to continue incentivizing staking by choice would still be relatively insignificant when considering the total supply of 100M SOV and the total supply of the SOV Adoption Fund (38.5M).
67 |
--------------------------------------------------------------------------------
/SIP-0028.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0028'
3 | Title: Add SOV as collateral for borrowing
4 | Author: John Light (@john-light)
5 | Status: Approved
6 | Track: Parameter
7 | Created: 2021-09-03
8 | ---
9 |
10 | # SIP-0028: Add SOV as collateral for borrowing
11 |
12 | ## Description
13 |
14 | If approved, this proposal would enable SOV holders to use their SOV as collateral when borrowing using Sovryn.
15 |
16 | ## Motivation
17 |
18 | Adding SOV as a collateral asset in the loan protocol would give SOV holders a way to gain liquidity from their SOV holdings without having to sell their SOV. A side effect of this is that it would enable SOV holders to go "leverage long" SOV by borrowing against their SOV collateral and using the proceeds of the loan to buy more SOV.
19 |
20 | A 300% collateralization ratio is proposed due to the relative immaturity and volatility of SOV as an asset. This is compared to the 150% collateralization required when using RBTC as collateral.
21 |
22 | ## Proposed change
23 |
24 | Add SOV as system-wide collateral for borrowing any asset supported on Sovryn, with the following parameters:
25 | - SOV token contract address: `0xefc78fc7d48b64958315949279ba181c2114abbd`
26 | - Collateralization rate: 300%
27 | - Oracle: Sovryn SOV/RBTC AMM pool TWAP `0x756d751d09B67d8Fc98be892431926Ff3F70a991`
28 |
29 | ## License
30 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
31 |
--------------------------------------------------------------------------------
/SIP-0029.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0029'
3 | Title: Transfer of SOV Pursuant to SIP-0015
4 | Author: Armando
5 | Status: Approved
6 | Track: Treasury
7 | Created: 2021-09-08
8 | ---
9 |
10 | # SIP-0029: Transfer of SOV Pursuant to SIP-0015
11 |
12 | ## Description
13 |
14 | SIP-0015: Sovryn Treasury Management (link provided [here](https://github.com/DistributedCollective/SIPS/blob/main/SIP-0015.md)) approved an operating budget of 5,639,130.56 SOV to be made available to the Exchequer Multisig.
15 | This budget is intended to be drawn from three funds: the Ecosystem Fund, Adoption Fund and Development Fund.
16 | SIP-0015 resolved that the transfer of SOV requires additional and separate SIPs. This SIP will facilitate the transfer of a total of 1,050,000 SOV
17 | from the GovernorVaultAdmin contract, to the Exchequer Multisig. The SOV to be transferred is drawn from the Ecosystem Fund and Adoption Fund, as outlined below:
18 |
19 | | **Contract Name** | **Contract Address** | **Vesting** | **Total Amount (SOV)** |
20 | |--------------------------|-----------------|-----------------|-----------------|
21 | | Adoption Fund | | | |
22 | | GovernorVaultAdmin | 0x51C754330c6cD04B810014E769Dab0343E31409E | No vesting | 800,000 |
23 | | Ecosystem Fund | | | |
24 | | GovernorVaultAdmin | 0x51C754330c6cD04B810014E769Dab0343E31409E | No vesting | 250,000 |
25 |
26 | ## License
27 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
28 |
--------------------------------------------------------------------------------
/SIP-0030.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0030'
3 | Title: Concentrating staking revenues
4 | Author: John Light (@john-light)
5 | Status: Approved
6 | Track: Contract
7 | Created: 2021-09-07
8 | ---
9 |
10 | # SIP-0030: Concentrating staking revenues
11 |
12 | ## Description
13 |
14 | - Currently staking revenues are paid to all stakers, regardless of whether the stake is encumbered by a vesting contract or not.
15 | - This SIP will modify the Fee Proxy and Staking contracts so that staking revenue is only paid out to fully-vested stake.
16 | - "Fully-vested stake" is defined as staked SOV that is not encumbered by a vesting contract.
17 | - Staking revenues will be divided among fully-vested stake pro rata on a block-by-block basis according to the fully-vested stake's voting power.
18 |
19 | ## Motivation
20 |
21 | Stakers are currently being paid a pro-rata share of revenue on the basis of voting power derived from both stake that is fully-vested and stake that is still encumbered by a vesting contract. In discussing [SIP-0024](https://github.com/DistributedCollective/SIPS/blob/main/SIP-0024.md), members of the Sovryn community determined that this arrangement is incompatible with the intention of vesting contracts, which is to incrementally increase SOV ownership and economic power over time. We propose to extend the logic of SIP-0024, which only provides SOV staking rewards to fully-vested stakers, to all protocol revenues earned by stakers, making only fully-vested stake eligible to receive a pro rata share of revenues.
22 |
23 | ## License
24 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
25 |
--------------------------------------------------------------------------------
/SIP-0031.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0031'
3 | Title: Splitting AMM fees with stakers
4 | Author: cowsant (@cwsnt), John Light (@john-light), Ororo (@ororopickpocket)
5 | Status: Approved
6 | Track: Contract
7 | Created: 2021-09-07
8 | ---
9 |
10 | # SIP-0031: Splitting AMM fees with stakers
11 |
12 | ## Description
13 |
14 | - Currently only AMM Liquidity Providers earn a fee from swaps conducted using the Sovryn AMM.
15 | - This change will split the fee between AMM Liquidity Providers and the Fee Proxy contract (the smart contract responsible for holding fees until stakers withdraw them).
16 | - The split will be 0.25% to LPs / 0.05% to Fee Proxy.
17 |
18 | ## Motivation
19 |
20 | Although the Sovryn AMM is a core piece of the Sovryn protocol, which SOV stakers must take care to govern well, SOV stakers earn no share of the fees generated by the AMM and are therefore out of alignment with the incentives of AMM LPs. This SIP aims to better align the incentives between SOV stakers and AMM LPs by splitting AMM fees between SOV stakers and AMM LPs.
21 |
22 | The fee split proposed here is implemented on the Converter Contracts. The owners of the converters (also called pools) can set the conversion fee which is paid to the LPs, but the height of the protocol fee is under the control of Bitocracy. It is configured centrally for all pools on the new Swap Settings Contract and is charged on the traded amount after the conversion fee is paid.
23 |
24 | ## License
25 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
26 |
--------------------------------------------------------------------------------
/SIP-0034.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0034'
3 | Title: Completion of SIP-0015 and Additional Release of SOV
4 | Author: Armando
5 | Status: Approved
6 | Track: Treasury
7 | Created: 2021-10-25
8 | ---
9 |
10 | # SIP-0034: Completion of SIP-0015 and Additional Release of SOV
11 |
12 |
13 | This SIP proposes the transfer of SOV from the Adoption Fund, Development Fund and GoverorVaultOwner to the Exchequer multisig.
14 |
15 | ## History of SOV transfers:
16 |
17 | - SIP-0015: Sovryn Treasury Management (link provided [here](https://github.com/DistributedCollective/SIPS/blob/main/SIP-0015.md)) approved an operating budget of 5,639,130.56 SOV to be made available to the Exchequer Multisig.
18 |
19 | - SIP-0029: Transfer of SOV Pursuant to SIP-0015 (link provided [here](https://github.com/DistributedCollective/SIPS/blob/main/SIP-0029.md)) facilitated the transfer of 1,050,000 SOV from the GovernorVaultAdmin contract, to the Exchequer Multisig.
20 |
21 | ## This SIP proposes to facilitate the following:
22 |
23 | 1. The transfer of the additional 4,589,130.56 SOV previously approved in SIP-0015, to the Exchequer multisig.
24 | 2. The transfer of SOV that is currently liquid for the Adoption Fund, Development Fund and GovernorVaultOwner to the Exchequer, which constitute a total of 13,085,263.33 SOV, which includes an amount of 4,589,130.56 SOV (previously approved by SIP-0015 but not transferred pursuant to SIP-0029).
25 |
26 | This proposed transfer is needed in order to facilitate upcoming SOV expenses required for the purposes of development and adoption of the Sovryn protocol.
27 |
28 | ## SOV Expenses to date:
29 |
30 | To date the Exchequer has deployed a total of 3,309,836.54 SOV for the purposes of further development of the Sovryn protocol. The breakdown of these expenses is available [here](https://docsend.com/view/6nh9nb6p2cinzv9w).
31 |
32 | ## Resolved:
33 |
34 | To transfer the following SOV to the Exchequer multisig:
35 |
36 | | **SOV Pool** | **SOV to be Transferred** | **Contract Address** |
37 | |--------------------------|-----------------|-----------------|
38 | | Development Fund | 2,231,626.08 | 0x617866cC4a089c3653ddC31a618b078291839AeB |
39 | | Adoption Fund | 9,925,930.64 | 0x0f31cfd6aAb4d378668Ad74DeFa89d3f4DB26633 |
40 | | GovernorVaultOwner | 927,706.61 | 0x05f4f068DF59a5aA7911f57cE4f41ebFBcB8E247 |
41 | | **Total SOV** | **13,085,263.33** | |
42 |
43 | ## License
44 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
45 |
--------------------------------------------------------------------------------
/SIP-0035.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0035'
3 | Title: Origins as a Subprotocol
4 | Author: Shebin John (@remedcu)
5 | Status: Approved
6 | Track: Origins
7 | Created: 2021-10-31
8 | ---
9 |
10 | # SIP-0035: Origins as a Subprotocol
11 |
12 | ## Introduction
13 |
14 | Origins is a launchpad and platform that allows platforms to kickstart their communities, raise community funding, and do so in a way that can raise Bitcoin natively. It’s also the launchpad for launching projects that build the Bitcoin and Sovryn ecosystems.
15 |
16 | Origins aim for conducting decentralized and transparent token sales with community governance. This allows the community to vet projects, acts as a self-regulating system to avoid bad actors and scams. It’s also a way for the community to decide on what they want to fund next and then come together to kickstart that. These decisions will be an expression of the collective Sovryn vision.
17 |
18 | ## Origins need a token for:
19 |
20 | - The token allows for the governance of what things can be launched on Origins, a vetting mechanism to prevent scams and bad actors.
21 | - Governing the Origins treasury & how funds will be used for the Origins sub-platform.
22 | - To provide a mechanism for allowing users to participate in sales fairly by providing a queueing mechanism to avoid gas wars to make sure distribution is even (WIP).
23 |
24 | ## The advantage for SOV token holders & stakers
25 |
26 | - Origins is part of the Sovryn protocol. And will always be linked to it through a Bonding Curve, thus having everlasting economic incentive. SOV is the coordination token of the Sovryn community, and as more projects are launched, the use of SOV to coordinate them will grow.
27 | - Veto Governance power over the Origins Governance.
28 | - Staking Reward from Origins Revenue
29 | - The fee collected on sell transactions in the Bonding Curve.
30 | - Opportunity for allocations from token launches on the Origins platform.
31 |
32 | ## Why implement a Bonding Curve?
33 |
34 | The bonding curve inspiration is taken from the [forum post](https://forum.sovryn.app/t/new-utility-for-sov-minting-subprotocol-tokens/1611) created by John Light, Sovryn Contributor. To summarize the benefits:
35 |
36 | - The bonding curve creates an economic link between SOV and the Origins subprotocol.
37 | - This encourages the SOV holders who support the subprotocol development, at the same time isolates the subprotocol incentives.
38 | - Generates demand for SOV, providing additional utility for the token.
39 |
40 | ## How is this bullish for SOV?
41 |
42 | Origins will create a new way to use SOV as a coordination token to develop the Sovryn protocol further, provide more governance capability and introduce new projects that grow the system. When the Origins platform launches subprotocols, they will frequently have their own governance token, turning Bitocracy into a governance platform and creating new ways to use SOV. All this will allow the Sovryn protocol to scale, and at the same time, reduce the need for all decisions to pass through the SOV Bitocracy - which will become the highest layer of governance.
43 |
44 | ## Sovryn Subprotocol Launch on Origins
45 |
46 | There will be multiple subprotocols from Sovryn coming in the future. And as an added advantage, all the subprotocols of Sovryn will not pay any mandatory fee for listing in Origins.
47 |
48 | ## Process for Project Owners
49 |
50 | These are the steps a project should ideally follow:
51 |
52 | 1. The project wishing to list on Origins should contact the Origins Team for guidance and to get any help they require to write an OGP which could have a good chance to get accepted by the Community. This is an optional step, but one highly recommended.
53 | 2. The concerned team then needs to make a post in the forum, with the relevant draft OGP, tokenomics, and any other relevant data.
54 | 3. The community will provide constructive criticism and present their views. It is recommended to be highly active in the forum at this time.
55 | 4. After a certain period, the Project Team can create a proposal in the Origins Governance and let the OG Stakers decide.
56 | 5. If the vote is positive, the project gets listed.
57 |
58 | ## Proposed Initial Origins Revenue Distribution
59 |
60 | The revenue earned from Origins is proposed to be divided as below:
61 |
62 | - 20% of the revenue goes to SOV Stakers through Staking Reward
63 | - 10% of the revenue goes to buy OG from the Bonding Curve and then burning bought OG tokens.
64 | - 50% of the revenue goes to OG Stakers through Staking Reward (including Vesting Stakers)
65 | - 20% of the revenue goes to OG Treasury
66 |
67 | ## Tokenomics
68 |
69 | You can find the detailed version of this tokenomics [here](https://docs.google.com/spreadsheets/d/1N3XcUFnAWSCPzUIeImZREAifrn30Vo2xN3XHu70ToxY/).
70 |
71 | All the tokens have their vesting/locked schedule with unlocking & receiver party details. To maintain the reserve ratio, the tokenomics might change if the sale rounds don't reach their targets.
72 |
73 | ## Token Sale
74 |
75 | Token Sale will happen in different rounds, with varying amounts of tokens, investment limits. For Ex: There will be a vote weight based process for SOV Stakers, which is yet to be defined.
76 |
77 | ### Early Funders
78 |
79 | The Early Funders token allocation (approximately 20%) is divided thusly:
80 |
81 | | Name | Party | Deposit | Token Amount | Price | Invest Limit | Total Raised | Vesting Period (Years) | Vesting Cliff (Months) |
82 | | --- | --- | --- | --- | --- | --- | --- | --- | --- |
83 | | Seed | Influential Investor & Sovryn Team | Stable Coin | 15 Million | $0.2 | Min $50K | $3 Million | 2 | 4 |
84 | | Presale | Sovryn Stakers | SOV | 11 Million | $0.22 | Max $5K | $2.42 Million | 1.5 | 2 |
85 | |||||| **Total** | $5.42 Million |
86 | |
87 |
88 | This will, in total, raise $5.42 Million (USD).
89 |
90 | The SOV raised in the Early Funders round will be primarily used for the Origins Bonding Curve reserves.
91 |
92 | The stablecoin raised in the Early Funders round will be used by the Origins Treasury.
93 |
94 | ### Programmatic Sale
95 |
96 | The Programmatic Sale token allocation is this way:
97 |
98 | | Deposit | Token Amount | Price | Invest Limit | Total Raised | Vesting Period (Year) | Vesting Cliff (Months) |
99 | | --- | --- | --- | --- | --- | --- | --- |
100 | | SOV | 17 Million | $0.3 | $10K | $5.1 Million | 1 | 1 |
101 | |||| **Total** | $5.1 Million |
102 | |
103 |
104 | The SOV raised by Programmatic Sale will be primarily used for the Origins Bonding Curve reserves.
105 |
106 | ## Budget
107 |
108 | The anticipated budget for one year is around $2 Million, and once TGE occurs, it will require an OGP (Origins Governance Proposal) through the Origins Bitocracy.
109 |
110 | ## Proposal
111 |
112 | In general, the mission for this SIP is to get the below things:
113 |
114 | - Approve the Origins as a subprotocol.
115 | - Ask the Sovryn Treasury (Exchequer) for 220K SOV in exchange for 40% of the OG Tokens, solely to be used as reserves in the OG <> SOV Bonding Curve.
116 |
117 | ## Links
118 |
119 | [Website](https://origins.xyz/)
120 |
121 | [Twitter](https://twitter.com/OriginsXYZ)
122 |
123 | [Instagram](https://www.instagram.com/originsxyz/)
124 |
125 | [Linkedin](https://www.linkedin.com/company/originsxyz/)
126 |
127 | [Reddit](https://www.reddit.com/r/OriginsXYZ/)
128 |
129 | [Telegram ANN](https://t.me/OriginsANN)
130 |
--------------------------------------------------------------------------------
/SIP-0038.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0038'
3 | Title: Add Brazilian Real Stablecoin BRZ as Collateral
4 | Author: Pedro Mace (https://forum.sovryn.app/u/Mace_Transfero)
5 | Status: Draft
6 | Track: Other
7 | Created: 2021-11-10
8 | ---
9 |
10 | # SIP-0038: Add Brazilian Real Stablecoin BRZ as Collateral
11 |
12 | ## Introduction
13 | [Transfero Swiss](https://transferoswiss.ch/) is an international Company born in Brazil and headquartered in Zug, Switzerland, in the heart of the Crypto Valley. Our primary mission is to facilitate and foster the adoption of digital assets, starting with BRZ, a stablecoin pegged to and backed by the Brazilian Real.
14 |
15 | Transfero has plans to tokenize Fiat currencies for all latin american countries, first with the BRZ in Brazil, and recently soft launching the ARZ in Argentina, we have big plans to develop latin american stablecoin to stablecoin swaps in all of Defi.
16 |
17 | Transfero offers a plethora of financial services to its clients, having almost 500 Million in AUM across client’s managed portfolios, client loans, staking, BRZ backing instruments, etc. we want to position ourselves as the top fintech for cryptocurrencies in latin america.
18 |
19 | We believe in the disruption of the financial markets and thus serve users who wish to gain access to this new asset class, providing an exclusive experience for Sovryn individuals and institutions.
20 |
21 | ## The Proposal
22 |
23 | We propose the inclusion of BRZ as an asset that can be used as collateral within the Sovryn trading platform. This would allow users to leverage BRZ against RBTC and other assets listed on https://live.sovryn.app, while also allowing lenders to earn interest on their BRZ lent out.
24 |
25 | * Transfero Swiss is willing to bootstrap $700k worth of xUSD and BRZ in the AMM liquidity pool on Sovryn, with $300k worth of BRZ in the lending pool so users can begin borrowing and leverage trading. We and our top clients will provide more liquidity into these pools as our relationship with the Sovryn Bitocracy develops.
26 |
27 | * What we also request is 45,000 amount of $SOV tokens to be distributed as liquidity mining to early BRZ liquidity providers, excluding Transfero, for the first two months of liquidity provision to generate momentum for the pools. These tokens are expected to proceed from the funds managed by the Sovryn Exchequer.
28 |
29 | ### **The BRZ Token**
30 |
31 | The BRZ is the first Brazilian stablecoin in circulation. This will allow Brazilians to directly increase investments in decentralized cryptoasset exchanges, lend and trade a stablecoin pegged to the Real (BRL) on a global scale. Making it possible to send and receive tokens immediately and securely, at a small cost compared to any other alternative. Since inception the BRZ has become the world’s largest non-USD pegged stablecoin, illustrating the sort of demand for such an instrument in Brazil
32 |
33 | We have developed our own cross chain bridging technology, allowing our stablecoins to flourish in defi and we would love the first Defi allocation of our token to be with the Sovryn community.
34 |
35 | In practice, we can say that the BRZ is a payment system based on an independent token and powered by well-established blockchains, allowing people to keep digital assets backed by government-issued fiat currency, linking these digital tokens to cash equivalent reserves.
36 |
37 | ### **The Positioning of Sovryn**
38 | Sovryn is uniquely leading in a direction that no other DeFi project is doing - Sovryn is expanding DeFi to real-world jurisdictions and building its smart contract platform on top of the biggest crypto gateway in the world: Bitcoin.
39 |
40 | Sovryn has begun collaboration with a state-owned bank in El Salvador - which nationally recognizes Bitcoin as legal tender.
41 |
42 | It is highly likely that Brazil will soon follow. This is perfect timing to push Sovryn to become the largest DEX with BRZ liquidity to precede such a potential milestone.
43 |
44 | BRZ currently trades at around $15M in daily volume on exchanges such as FTX, [Crypto.com](http://crypto.com/), Bittrex, and CoinBene, with more listings planned in the future. We would like to make Sovryn the focus for users who wish to trade BRZ on a permissionless exchange.
45 |
46 | ### **Long Term Vision**
47 | We do not intend to stop with BRZ. We are also in the process of building our second and a third stablecoin backed by other South American fiat currencies…
48 |
49 | Sovryn could potentially become the premier FX DEX, on a Bitcoin-POW secure chain. We could tap into new markets and open doors to other jurisdictions and users who otherwise would not have access to this form of permissionless trading.
50 |
51 | We hope to become a valuable liquidity partner and pave the way with the Sovryn trader community.
52 |
53 | ### **KYC**
54 | We only enforce KYC for sums over 10 thousand BRZ a month (roughly 1800 thousand dollars) on our own app, http://crypto.transfero.com/, and our partners follow their own rules.
55 |
56 | ## **Summarized**
57 | - The creation, testing and deployment of a LoanToken contract for BZR token ([the BZR token is already on RSK](https://explorer.rsk.co/address/0xe355c280131dfaf18bf1c3648aee3c396db6b5fd?__ctab=Code) ) on the RSK blockchain to be incorporated within the Sovryn protocol with the help of Sovryn devs.
58 | - The creation, testing and deployment of a xUSD/BZR AMM pool on the RSK blockchain to be incorporated within the Sovryn Swap Network with the help of Sovryn devs.
59 | - The supply by the Sovryn's Exchequer a sum of 45,000 $SOV tokens to be granted as Liquidity Mining to early BRZ liquidity providers, excluding Transfero, for the first two months of liquidity provision to generate momentum for the pools.
60 | - The integration of the afromentioned liquidity mining program in the Sovryn Liquidity Mining protocol, with the help of Sovryn devs.
61 | - We will provide as bootstrap $700k worth of xUSD and BRZ in the AMM liquidity pool on Sovryn, with $300k worth of BRZ in the lending pool so users can begin borrowing and leverage trading.
62 |
63 | ## License
64 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
65 |
--------------------------------------------------------------------------------
/SIP-0041.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0041'
3 | Title: Sovryn Treasury Management
4 | Author: Armando Munoz
5 | Status: Approved
6 | Track: Treasury
7 | Created: 2022-03-04
8 | ---
9 |
10 | # SIP-0041: Designation of Exchequer Committee Multisig
11 |
12 | ## Background
13 |
14 | [SIP-0015](https://bitocracy.sovryn.app/governorAdmin/2) approved the formulation of the Exchequer Committee, a 4 out of 7 multisig, tasked with Treasury management. The initial membership of the Exchequer Committee was as follows:
15 | - Ororo Munroe
16 | - Armando Munoz
17 | - Slider
18 | - Stefan
19 | - Max Shapiro
20 | - Jascha Samadi
21 | - Yago
22 |
23 | Slider and Stefan have since left the project for personal reasons and are no longer active as Exchequer Committee members.
24 |
25 |
26 | ## Resolved
27 |
28 | It is resolved to replace Slider and Stefan with two active community members such that the new membership of the Exchequer Committee will be as follows (Discord ID - Wallet address in the [Rootstck network](https://www.rsk.co/)):
29 |
30 | ### Core Team Members
31 |
32 | - yago#7313 - 0x428a80F48aB417e17a12eC81A2671C4846BdB2be
33 | - Armando#9960 - 0xA6Df7b79C7b220ae3184da3e19ea45941663F4B7
34 | - Ororo#4565 - 0x03030769F584978e47bb29e80dDD88CB88493d6b
35 |
36 | ### Community Members
37 |
38 | - adamrncf#7964 - 0x82B53c9AD0dCcf9e6a008C8D817a3F66B910172e
39 | - dseroy#0815 - 0xce4cCDD43A8B9D3Ebc25B2d1F12b83538c73F5E0
40 |
41 | ### Sovryn Protocol Funders and Advisors
42 |
43 | - Jascha#1611 - 0xf543c790671Cb1E5d47Fb133dA77496fCBa4db68
44 | - maxshapiro23#8124 - 0xb026E2b7067579e0fd4Da741AC7D1173161d188B
45 |
46 | ## License
47 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
48 |
49 |
--------------------------------------------------------------------------------
/SIP-0042.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0042'
3 | Title: Staking Security Update
4 | Author: Tyrone Johnson (@tjcloa)
5 | Status: Approved
6 | Track: Contract
7 | Created: 2022-03-21
8 | ---
9 |
10 | # SIP-0042: Staking Security Update
11 |
12 | ## Description
13 |
14 | If approved, this proposal will:
15 |
16 | 1. Replace the current staking contract with a new staking contract, with the only changes being targeted fixes of the issues described below.
17 | 2. Add the Exchequer Multisig as a pauser to the Staking contract, with the ability to pause or freeze the contract in case of emergency.
18 |
19 |
20 | ## Motivation
21 |
22 | **Improve security of the Staking contract**
23 |
24 | While going through our smart contracts to verify all their owners and their privileges, we noticed something missing from our most important contract Staking.sol. It is the heart and soul of our governance part of the protocol and we currently have no means to pause it in case of an emergency or unlikely breach. It means that we may find ourselves in a position when we notice a hack or maybe even could prevent that hack but we would not have the means to stop the exploits.
25 |
26 | This is why we are introducing a Pause functionality.
27 | It might seem counterintuitive at first, since we want Staking to be unstoppable, obviously, but there is a distinction to make between long term and short term safety, and a tradeoff to make between security and immutability.
28 | By adding a pause function controlled by a multisig, we will have a way to mitigate circumstances that may cause a loss to the protocol or its stakers, whether they are caused by a bug in our protocol or by a new ecosystem element (think about when flashloans first appeared in DeFi).
29 |
30 | Bitocracy governance will retain full control of the pauser address to ensure that even if the multisig owners collude for or are coerced into abusing their power to pause the Staking contract, governance can override it by switching the pauser rights to another address. The same safeguard applies in the case the multisig is unable to unpause the contract, which could theoretically happen, excluding voluntary collusion, such as too many signers being kept away from their keys, e.g. by being taken into custody, or hospitalized in a pandemic or war scenario.
31 |
32 | The proposed solution includes logical steps to make these rare events of pausing less restrictive and less inconvenient to our users. In many cases, we can still allow users to unstake during the pause, while we lock the rest of the contract until we prepare and deploy a fix. This is how the Pause functionality is designed, so that we do not lock users' funds into the system for the duration of the pause.
33 |
34 | To cover the cases where the detected bug could be exploited through unstaking, we also included a Freeze functionality in the implementation for this SIP, which locks the contract up completely, including unstaking.
35 |
36 | ## Proposed change
37 |
38 | - Existing Staking Logic contract: `0x4BaBb34189a9CDa8213D24DD3984058Fb8A955D2`
39 | - The new Staking Logic contract: `0xe31A938F5cf1C41747B5F20f9dD5d509B2ACd49c`
40 | - Proposed changes: https://github.com/DistributedCollective/Sovryn-smart-contracts/pull/423
41 |
42 | ## License
43 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
44 |
--------------------------------------------------------------------------------
/SIP-0043.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0043'
3 | Title: Critical governance bug fix
4 | Author: Hakū (@hakuryuuhakuu), Tyrone Johnson (@tjcloa)
5 | Status: Approved
6 | Track: Contract
7 | Created: 2022-03-27
8 | ---
9 |
10 | # SIP-0043 : Critical governance bug fix
11 |
12 | ## Description
13 |
14 | The Staking contract has been paused to prevent malicious use of the information disclosed by this SIP.
15 |
16 | If approved, this proposal will upgrade the Staking contract to an implementation that fixes a critical bug.
17 |
18 | ## Motivation
19 |
20 | A security researcher has reported a bug through Sovryn's Immunefi bug bounty program, and we have graded it as critical. The bug allows any address to obtain arbitrarily high voting power that would result in unfair voting weightings. The Exchequer Multisig has paused staking to allow us to expose the bug publicly and to vote on the deployment and acceptance of the fix, without putting our governance at risk in the meantime. It is important to note that this bug has not been exploited on mainnet to date.
21 |
22 | ## Details
23 |
24 | ### The bug
25 |
26 | Stakers can delegate their voting power to other users through the Staking contract.
27 |
28 | Staking rewards depend on the duration of the stake commitment, which can be extended in 14 days increments.
29 |
30 | The Staking::extendStakingDuration() function can be used to extend the "until" time for one's stake. It takes 2 parameters: the previous timestamp and the new timestamp. The function takes out the stake amounts and delegation amounts from the previous timestamp and attaches them to the new timestamp. It will also change the delegation in case you delegated to someone else (delegations are timestamp-specific). More specifically, in Staking::extendStakingDuration():
31 |
32 | ```
33 | address delegateFrom = delegates[msg.sender][previousLock];
34 | address delegateTo = delegates[msg.sender][until];
35 | if (delegateTo == address(0)) {
36 | delegateTo = delegateFrom;
37 | delegates[msg.sender][until] = delegateFrom;
38 | }
39 | delegates[msg.sender][previousLock] = address(0);
40 | _decreaseDelegateStake(delegateFrom, previousLock, amount);
41 | _increaseDelegateStake(delegateTo, until, amount);
42 | ```
43 |
44 | However, the logic does not work when `previousLock == until`. The stake and delegate balances do indeed decrease and increase correctly. But the line `delegates[msg.sender][previousLock] = address(0)` zeroes out the delegation of the previousLock timestamp, which is the same as the new timestamp.
45 |
46 | Now that the delegation address for the currently set staking timestamp is `address(0)`, the attacker can call the `delegate()` function, which will delegate their entire balance as delegateStake to any address, but without decreasing the delegator's delegateStake balance. By repeating this call, the attacker can continuously increase an address' delegateStake without limit (because source voting power is not getting properly decreased) , resulting in arbitrarily high voting power.
47 |
48 | ### The fix
49 |
50 | Change line 138 of Staking.sol from:
51 |
52 | ```
53 | require(previousLock <= until, "cannot reduce the staking duration")
54 | ```
55 |
56 | to:
57 |
58 | ```
59 | require(previousLock < until, "must increase the staking duration")
60 | ```
61 |
62 | This prevents the delegate address from ever being zeroed out during extensions, and closes the vulnerability.
63 |
64 | ## Proposed change
65 |
66 | Existing Staking Logic contract: 0xe31A938F5cf1C41747B5F20f9dD5d509B2ACd49c
67 | New Staking Logic contract: 0x4769c04F2537C3b951Efa8a330A15716B5913Af6
68 | Proposed changes: https://github.com/DistributedCollective/Sovryn-smart-contracts/pull/427
69 |
70 | ## License
71 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
72 |
--------------------------------------------------------------------------------
/SIP-0044.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: "0044"
3 | Title: Staking contract hardening against multiple attack vectors
4 | Author: Hakū (@hakuryuuhakuu), Rainer Koirikivi (@koirikivi)
5 | Status: Ready for vote
6 | Track: Contract
7 | Created: 2022-04-07
8 | ---
9 |
10 | # SIP-0044 : Staking contract hardening against multiple attack vectors
11 |
12 | ## Description
13 |
14 | The Staking contract has been paused to prevent malicious use of the information disclosed by this SIP.
15 |
16 | If approved, this proposal will upgrade the Staking contract to an implementation that prevents a critical vulnerability.
17 |
18 | The chosen mitigation strategy restricts the ability for an attacker to creatively combine calls in a single block or create loops which could potentially be harmful, while not hindering the normal usage and composability of the contract.
19 |
20 | ## Motivation
21 |
22 | We have noticed that a handful of design decisions of the staking contract create a vulnerability when combined in a given way. Individually most of them make sense, or made sense when the contract was first deployed, but when taken in today's context and combined in the same block with specific prior context, they open the door to a voting power manipulation exploit.
23 |
24 | Fixing the underlying causes is a large undertaking, requiring a partial rewrite of the contract and possibly a split, because the contract is already as large as allowed by the EVM (contract size must be below 24kB). This is not something we want to do in a rush, nor do we want to keep the staking contract paused longer than strictly necessary.
25 |
26 |
27 | ## Details
28 |
29 | In order to close the vulnerability and its various variants, we have opted for a mitigation strategy that thwarts them by forbidding a number of scenarios which we think have no real practical use for the users, while being necessary to enable the exploit. Namely, if this SIP is approved, it will forbid a number of actions from happening **in the same block** as a call to the `stake(...)` function, for the same `lockDate` timestamp:
30 | - extend staking duration,
31 | - delegate voting power (which can still be done directly in the `stake(...)` function call as a parameter),
32 | - withdraw,
33 | as well as their signature-based variants.
34 |
35 |
36 | ## Proposed change
37 |
38 | Existing Staking Logic contract: 0x4769c04F2537C3b951Efa8a330A15716B5913Af6
39 |
40 | New Staking Logic contract: 0x81570497e763809900A8e91c8DaF3020085e43aB
41 |
42 | Proposed changes: https://github.com/DistributedCollective/Sovryn-smart-contracts/pull/429
43 |
44 | ## License
45 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
--------------------------------------------------------------------------------
/SIP-0046_part-1.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0046'
3 | Title: Transferring ownership of Sovryn contracts (Part 1)
4 | Author: cowsant (@cwsnt), John Light (@john-light), Ororo (@ororopickpocket)
5 | Status: Ready for vote
6 | Track: Contract
7 | Created: 2022-04-21
8 | ---
9 |
10 | # SIP-0046: Transferring ownership of Sovryn contracts (Part 1)
11 |
12 | ## Description
13 |
14 | If approved, this proposal will result in an on-chain state change transferring the owner role in the Sovryn AMM smart contracts from the Exchequer Multisig to the timelock contracts governed by SOV stakers. Note that this is Part 1 of a four-part SIP. All four proposals will need to be approved to effectuate the complete set of changes. The exact transfer details for this part are as follows:
15 |
16 | | Contract name | New governor |
17 | |:------------------------------------:|:------------------------------------------------------------:|
18 | | SovrynSwapNetwork | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
19 | | SwapSettings | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
20 | | All v1 oracles; except DLLR and MYNT | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
21 |
22 | Furthermore, this proposal will result in a signal from SOV stakers that they are willing and ready to accept the owner and/or adminstrator role in the following Sovryn smart contracts, to be transferred by the Exchequer Multisig no later than `2023-10-31 23:59:59 UTC`:
23 |
24 | | Category | Contract name | Role | New governor |
25 | | ---------- |:----------------------:|:-----:|:-----------------------------------------------------------------:|
26 | | Core | | | |
27 | | | Protocol | Owner | TimelockOwner (`0x967c84b731679E36A344002b8E3CE50620A7F69f`) |
28 | | | Protocol | Admin | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
29 | | Connectors | | | |
30 | | | LoanTokenLogicBeacon | Owner | TimelockOwner (`0x967c84b731679E36A344002b8E3CE50620A7F69f`) |
31 | | | LoanToken | Owner | TimelockOwner (`0x967c84b731679E36A344002b8E3CE50620A7F69f`) |
32 | | | LoanToken | Admin | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
33 | | Governance | | | |
34 | | | Locked SOV | Admin | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
35 | | | Staking | Admin | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
36 | | | StakingRewards | Owner | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
37 | | | Vesting Registry | Owner | TimelockOwner (`0x967c84b731679E36A344002b8E3CE50620A7F69f`) |
38 | | | Vesting Registry | Admin | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
39 | | | Vesting Registry | Admin | Exchequer Multisig (`0x9737a5387768353D8C86849c63a46F492e7042CB`) |
40 | | Oracles | | | |
41 | | | BPro Price Feed | Owner | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
42 | | | MoC Price Feed | Owner | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
43 | | | RSK Price Feed | Owner | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
44 | | | Price Feeds Gateway | Owner | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
45 | | | PriceFeedV1PoolOracle | Owner | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
46 | | Other | | | |
47 | | | Liquidity Mining | Owner | TimelockOwner (`0x967c84b731679E36A344002b8E3CE50620A7F69f`) |
48 |
49 | ## Motivation
50 |
51 | Currently, all [upgradeable Sovryn smart contracts](https://docs.google.com/document/d/1gGY4Rua_FVBZCJCftzf14cD4c6kqg6VTr9g-9-uDCA0/edit), with the exception of Mynt, Zero, Staking, and FeeSharingProxy, are owned by the [Exchequer Multisig](https://github.com/DistributedCollective/SIPS/blob/main/SIP-0007.md) (not to be confused with the [Exchequer Committee](https://github.com/DistributedCollective/SIPS/blob/main/SIP-0041.md)). This ownership role gives the Exchequer Multisig the power to upgrade any of these smart contracts instantly, that is, with no time lock or advance notice. Similarly, the Exchequer Multisig currently also holds all administrator roles on Sovryn smart contracts, giving the Exchequer Multisig the ability to instantly change the modifiable parameters of these contracts.
52 |
53 | This mode of operation has worked well enough for the project during its early stages, allowing the core team to respond quickly to issues, but as total value locked has increased, so too has the risk of maintaining this status quo.
54 |
55 | ## Proposed change
56 |
57 | To mitigate risks to Exchequer Multisig keyholders and to the Sovryn protocol and its users, we propose transferring ownership and administration of all Sovryn contracts currently owned by the Exchequer Multisig to either the TimelockOwner or TimelockAdmin contract, as specified in the tables in the `Description` section above. This will put the contracts under the control of SOV stakers, increasing the decentralization and censorship resistance of these contracts. After the governor roles are transferred to SOV stakers, all proposed smart contract upgrades and parameter changes will have to go through a 24-hour voting period and up to 48-hour timelock, giving Sovryn stakers and users up to 72 hours to react to any changes they might disagree with.
58 |
59 | Approval of this SIP will only result in the onchain transfer of the owner/administrator role in the AMM contracts. No SIP is needed to approve the transfer of governance roles in the other Sovryn contracts. However to ensure alignment with and readiness from SOV stakers, we are also asking in this proposal for SOV stakers to signal their willingness to accept governance responsibilities in all of the other Sovryn smart contracts too.
60 |
61 | ## Implementation
62 |
63 | https://github.com/DistributedCollective/Sovryn-smart-contracts/pull/450
64 |
65 | ## License
66 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
67 |
--------------------------------------------------------------------------------
/SIP-0046_part-2.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0046'
3 | Title: Transferring ownership of Sovryn contracts (Part 2)
4 | Author: cowsant (@cwsnt), John Light (@john-light), Ororo (@ororopickpocket)
5 | Status: Ready for vote
6 | Track: Contract
7 | Created: 2022-04-21
8 | ---
9 |
10 | # SIP-0046: Transferring ownership of Sovryn contracts (Part 2)
11 |
12 | ## Description
13 |
14 | If approved, this proposal will result in an on-chain state change transferring the owner role in the Sovryn AMM smart contracts from the Exchequer Multisig to the timelock contracts governed by SOV stakers. Note that this is Part 2 of a four-part SIP. All four proposals will need to be approved to effectuate the complete set of changes. The exact transfer details for this part are as follows:
15 |
16 | | Contract name | New governor |
17 | |:---------------------:|:------------------------------------------------------------:|
18 | | DLLR and MYNT oracles | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
19 | | ConversionPathFinder | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
20 | | ConverterUpgrader | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
21 | | converterRegistryData | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
22 | | oracleWhitelist | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
23 | | rbtcWrapperProxy | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
24 |
25 | Furthermore, this proposal will result in a signal from SOV stakers that they are willing and ready to accept the owner and/or adminstrator role in the following Sovryn smart contracts, to be transferred by the Exchequer Multisig no later than `2023-10-31 23:59:59 UTC`:
26 |
27 | | Category | Contract name | Role | New governor |
28 | | ---------- |:----------------------:|:-----:|:-----------------------------------------------------------------:|
29 | | Core | | | |
30 | | | Protocol | Owner | TimelockOwner (`0x967c84b731679E36A344002b8E3CE50620A7F69f`) |
31 | | | Protocol | Admin | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
32 | | Connectors | | | |
33 | | | LoanTokenLogicBeacon | Owner | TimelockOwner (`0x967c84b731679E36A344002b8E3CE50620A7F69f`) |
34 | | | LoanToken | Owner | TimelockOwner (`0x967c84b731679E36A344002b8E3CE50620A7F69f`) |
35 | | | LoanToken | Admin | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
36 | | Governance | | | |
37 | | | Locked SOV | Admin | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
38 | | | Staking | Admin | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
39 | | | StakingRewards | Owner | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
40 | | | Vesting Registry | Owner | TimelockOwner (`0x967c84b731679E36A344002b8E3CE50620A7F69f`) |
41 | | | Vesting Registry | Admin | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
42 | | | Vesting Registry | Admin | Exchequer Multisig (`0x9737a5387768353D8C86849c63a46F492e7042CB`) |
43 | | Oracles | | | |
44 | | | BPro Price Feed | Owner | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
45 | | | MoC Price Feed | Owner | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
46 | | | RSK Price Feed | Owner | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
47 | | | Price Feeds Gateway | Owner | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
48 | | | PriceFeedV1PoolOracle | Owner | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
49 | | Other | | | |
50 | | | Liquidity Mining | Owner | TimelockOwner (`0x967c84b731679E36A344002b8E3CE50620A7F69f`) |
51 |
52 | ## Motivation
53 |
54 | Currently, all [upgradeable Sovryn smart contracts](https://docs.google.com/document/d/1gGY4Rua_FVBZCJCftzf14cD4c6kqg6VTr9g-9-uDCA0/edit), with the exception of Mynt, Zero, Staking, and FeeSharingProxy, are owned by the [Exchequer Multisig](https://github.com/DistributedCollective/SIPS/blob/main/SIP-0007.md) (not to be confused with the [Exchequer Committee](https://github.com/DistributedCollective/SIPS/blob/main/SIP-0041.md)). This ownership role gives the Exchequer Multisig the power to upgrade any of these smart contracts instantly, that is, with no time lock or advance notice. Similarly, the Exchequer Multisig currently also holds all administrator roles on Sovryn smart contracts, giving the Exchequer Multisig the ability to instantly change the modifiable parameters of these contracts.
55 |
56 | This mode of operation has worked well enough for the project during its early stages, allowing the core team to respond quickly to issues, but as total value locked has increased, so too has the risk of maintaining this status quo.
57 |
58 | ## Proposed change
59 |
60 | To mitigate risks to Exchequer Multisig keyholders and to the Sovryn protocol and its users, we propose transferring ownership and administration of all Sovryn contracts currently owned by the Exchequer Multisig to either the TimelockOwner or TimelockAdmin contract, as specified in the tables in the `Description` section above. This will put the contracts under the control of SOV stakers, increasing the decentralization and censorship resistance of these contracts. After the governor roles are transferred to SOV stakers, all proposed smart contract upgrades and parameter changes will have to go through a 24-hour voting period and up to 48-hour timelock, giving Sovryn stakers and users up to 72 hours to react to any changes they might disagree with.
61 |
62 | Approval of this SIP will only result in the onchain transfer of the owner/administrator role in the AMM contracts. No SIP is needed to approve the transfer of governance roles in the other Sovryn contracts. However to ensure alignment with and readiness from SOV stakers, we are also asking in this proposal for SOV stakers to signal their willingness to accept governance responsibilities in all of the other Sovryn smart contracts too.
63 |
64 | ## Implementation
65 |
66 | https://github.com/DistributedCollective/Sovryn-smart-contracts/pull/450
67 |
68 | ## License
69 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
70 |
--------------------------------------------------------------------------------
/SIP-0046_part-3.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0046'
3 | Title: Transferring ownership of Sovryn contracts (Part 3)
4 | Author: cowsant (@cwsnt), John Light (@john-light), Ororo (@ororopickpocket)
5 | Status: Ready for vote
6 | Track: Contract
7 | Created: 2022-04-21
8 | ---
9 |
10 | # SIP-0046: Transferring ownership of Sovryn contracts (Part 3)
11 |
12 | ## Description
13 |
14 | If approved, this proposal will result in an on-chain state change transferring the owner role in the Sovryn AMM smart contracts from the Exchequer Multisig to the timelock contracts governed by SOV stakers. Note that this is Part 3 of a four-part SIP. All four parts of the SIP will need to be approved to effectuate the complete set of changes. The exact transfer details for this part are as follows:
15 |
16 | | Contract name | New governor |
17 | |:-----------------------------------:|:------------------------------------------------------------:|
18 | | All converters; except RIF and DLLR | TimelockOwner (`0x967c84b731679E36A344002b8E3CE50620A7F69f`) |
19 |
20 | Furthermore, this proposal will result in a signal from SOV stakers that they are willing and ready to accept the owner and/or adminstrator role in the following Sovryn smart contracts, to be transferred by the Exchequer Multisig no later than `2023-10-31 23:59:59 UTC`:
21 |
22 | | Category | Contract name | Role | New governor |
23 | | ---------- |:----------------------:|:-----:|:-----------------------------------------------------------------:|
24 | | Core | | | |
25 | | | Protocol | Owner | TimelockOwner (`0x967c84b731679E36A344002b8E3CE50620A7F69f`) |
26 | | | Protocol | Admin | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
27 | | Connectors | | | |
28 | | | LoanTokenLogicBeacon | Owner | TimelockOwner (`0x967c84b731679E36A344002b8E3CE50620A7F69f`) |
29 | | | LoanToken | Owner | TimelockOwner (`0x967c84b731679E36A344002b8E3CE50620A7F69f`) |
30 | | | LoanToken | Admin | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
31 | | Governance | | | |
32 | | | Locked SOV | Admin | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
33 | | | Staking | Admin | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
34 | | | StakingRewards | Owner | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
35 | | | Vesting Registry | Owner | TimelockOwner (`0x967c84b731679E36A344002b8E3CE50620A7F69f`) |
36 | | | Vesting Registry | Admin | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
37 | | | Vesting Registry | Admin | Exchequer Multisig (`0x9737a5387768353D8C86849c63a46F492e7042CB`) |
38 | | Oracles | | | |
39 | | | BPro Price Feed | Owner | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
40 | | | MoC Price Feed | Owner | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
41 | | | RSK Price Feed | Owner | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
42 | | | Price Feeds Gateway | Owner | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
43 | | | PriceFeedV1PoolOracle | Owner | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
44 | | Other | | | |
45 | | | Liquidity Mining | Owner | TimelockOwner (`0x967c84b731679E36A344002b8E3CE50620A7F69f`) |
46 |
47 | ## Motivation
48 |
49 | Currently, all [upgradeable Sovryn smart contracts](https://docs.google.com/document/d/1gGY4Rua_FVBZCJCftzf14cD4c6kqg6VTr9g-9-uDCA0/edit), with the exception of Mynt, Zero, Staking, and FeeSharingProxy, are owned by the [Exchequer Multisig](https://github.com/DistributedCollective/SIPS/blob/main/SIP-0007.md) (not to be confused with the [Exchequer Committee](https://github.com/DistributedCollective/SIPS/blob/main/SIP-0041.md)). This ownership role gives the Exchequer Multisig the power to upgrade any of these smart contracts instantly, that is, with no time lock or advance notice. Similarly, the Exchequer Multisig currently also holds all administrator roles on Sovryn smart contracts, giving the Exchequer Multisig the ability to instantly change the modifiable parameters of these contracts.
50 |
51 | This mode of operation has worked well enough for the project during its early stages, allowing the core team to respond quickly to issues, but as total value locked has increased, so too has the risk of maintaining this status quo.
52 |
53 | ## Proposed change
54 |
55 | To mitigate risks to Exchequer Multisig keyholders and to the Sovryn protocol and its users, we propose transferring ownership and administration of all Sovryn contracts currently owned by the Exchequer Multisig to either the TimelockOwner or TimelockAdmin contract, as specified in the tables in the `Description` section above. This will put the contracts under the control of SOV stakers, increasing the decentralization and censorship resistance of these contracts. After the governor roles are transferred to SOV stakers, all proposed smart contract upgrades and parameter changes will have to go through a 24-hour voting period and up to 48-hour timelock, giving Sovryn stakers and users up to 72 hours to react to any changes they might disagree with.
56 |
57 | Approval of this SIP will only result in the onchain transfer of the owner/administrator role in the AMM contracts. No SIP is needed to approve the transfer of governance roles in the other Sovryn contracts. However to ensure alignment with and readiness from SOV stakers, we are also asking in this proposal for SOV stakers to signal their willingness to accept governance responsibilities in all of the other Sovryn smart contracts too.
58 |
59 | ## Implementation
60 |
61 | https://github.com/DistributedCollective/Sovryn-smart-contracts/pull/450
62 |
63 | ## License
64 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
65 |
--------------------------------------------------------------------------------
/SIP-0046_part-4.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0046'
3 | Title: Transferring ownership of Sovryn contracts (Part 4)
4 | Author: cowsant (@cwsnt), John Light (@john-light), Ororo (@ororopickpocket)
5 | Status: Ready for vote
6 | Track: Contract
7 | Created: 2022-04-21
8 | ---
9 |
10 | # SIP-0046: Transferring ownership of Sovryn contracts (Part 4)
11 |
12 | ## Description
13 |
14 | If approved, this proposal will result in an on-chain state change transferring the owner role in the Sovryn AMM smart contracts from the Exchequer Multisig to the timelock contracts governed by SOV stakers. Note that this is Part 4 of a four-part SIP. All four proposals will need to be approved to effectuate the complete set of changes. The exact transfer details for this part are as follows:
15 |
16 | | Contract name | New governor |
17 | |:-----------------------:|:------------------------------------------------------------:|
18 | | RIF and DLLR converters | TimelockOwner (`0x967c84b731679E36A344002b8E3CE50620A7F69f`) |
19 | | ContractRegistry | TimelockOwner (`0x967c84b731679E36A344002b8E3CE50620A7F69f`) |
20 | | ConverterFactory | TimelockOwner (`0x967c84b731679E36A344002b8E3CE50620A7F69f`) |
21 |
22 | Furthermore, this proposal will result in a signal from SOV stakers that they are willing and ready to accept the owner and/or adminstrator role in the following Sovryn smart contracts, to be transferred by the Exchequer Multisig no later than `2023-10-31 23:59:59 UTC`:
23 |
24 | | Category | Contract name | Role | New governor |
25 | | ---------- |:----------------------:|:-----:|:-----------------------------------------------------------------:|
26 | | Core | | | |
27 | | | Protocol | Owner | TimelockOwner (`0x967c84b731679E36A344002b8E3CE50620A7F69f`) |
28 | | | Protocol | Admin | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
29 | | Connectors | | | |
30 | | | LoanTokenLogicBeacon | Owner | TimelockOwner (`0x967c84b731679E36A344002b8E3CE50620A7F69f`) |
31 | | | LoanToken | Owner | TimelockOwner (`0x967c84b731679E36A344002b8E3CE50620A7F69f`) |
32 | | | LoanToken | Admin | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
33 | | Governance | | | |
34 | | | Locked SOV | Admin | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
35 | | | Staking | Admin | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
36 | | | StakingRewards | Owner | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
37 | | | Vesting Registry | Owner | TimelockOwner (`0x967c84b731679E36A344002b8E3CE50620A7F69f`) |
38 | | | Vesting Registry | Admin | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
39 | | | Vesting Registry | Admin | Exchequer Multisig (`0x9737a5387768353D8C86849c63a46F492e7042CB`) |
40 | | Oracles | | | |
41 | | | BPro Price Feed | Owner | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
42 | | | MoC Price Feed | Owner | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
43 | | | RSK Price Feed | Owner | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
44 | | | Price Feeds Gateway | Owner | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
45 | | | PriceFeedV1PoolOracle | Owner | TimelockAdmin (`0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13`) |
46 | | Other | | | |
47 | | | Liquidity Mining | Owner | TimelockOwner (`0x967c84b731679E36A344002b8E3CE50620A7F69f`) |
48 |
49 | ## Motivation
50 |
51 | Currently, all [upgradeable Sovryn smart contracts](https://docs.google.com/document/d/1gGY4Rua_FVBZCJCftzf14cD4c6kqg6VTr9g-9-uDCA0/edit), with the exception of Mynt, Zero, Staking, and FeeSharingProxy, are owned by the [Exchequer Multisig](https://github.com/DistributedCollective/SIPS/blob/main/SIP-0007.md) (not to be confused with the [Exchequer Committee](https://github.com/DistributedCollective/SIPS/blob/main/SIP-0041.md)). This ownership role gives the Exchequer Multisig the power to upgrade any of these smart contracts instantly, that is, with no time lock or advance notice. Similarly, the Exchequer Multisig currently also holds all administrator roles on Sovryn smart contracts, giving the Exchequer Multisig the ability to instantly change the modifiable parameters of these contracts.
52 |
53 | This mode of operation has worked well enough for the project during its early stages, allowing the core team to respond quickly to issues, but as total value locked has increased, so too has the risk of maintaining this status quo.
54 |
55 | ## Proposed change
56 |
57 | To mitigate risks to Exchequer Multisig keyholders and to the Sovryn protocol and its users, we propose transferring ownership and administration of all Sovryn contracts currently owned by the Exchequer Multisig to either the TimelockOwner or TimelockAdmin contract, as specified in the tables in the `Description` section above. This will put the contracts under the control of SOV stakers, increasing the decentralization and censorship resistance of these contracts. After the governor roles are transferred to SOV stakers, all proposed smart contract upgrades and parameter changes will have to go through a 24-hour voting period and up to 48-hour timelock, giving Sovryn stakers and users up to 72 hours to react to any changes they might disagree with.
58 |
59 | Approval of this SIP will only result in the onchain transfer of the owner/administrator role in the AMM contracts. No SIP is needed to approve the transfer of governance roles in the other Sovryn contracts. However to ensure alignment with and readiness from SOV stakers, we are also asking in this proposal for SOV stakers to signal their willingness to accept governance responsibilities in all of the other Sovryn smart contracts too.
60 |
61 | ## Implementation
62 |
63 | https://github.com/DistributedCollective/Sovryn-smart-contracts/pull/450
64 |
65 | ## License
66 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
67 |
--------------------------------------------------------------------------------
/SIP-0049.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0049'
3 | Title: Staking contract refactoring and other improvements
4 | Author: Tyrone Johnson (@tjcloa)
5 | Status: Ready for vote
6 | Track: Contract
7 | Created: 2023-02-14
8 | ---
9 |
10 | # SIP-0049: Staking contract refactoring and other improvements
11 |
12 | ## Description
13 |
14 | ### The Staking contract had a series of issues fixed in this SIP
15 |
16 | 1. The Staking contract has reached the EIP-170 solidity contracts size limits.
17 |
18 | 2. The Staking contract is vulnerable to voting power theft. It is possible to steal the voting power associated with a specific stake by staking an arbitrarily small amount of SOV for the user at the same date and at the same time passing a new delegate as a parameter. As a result, the complete voting power of this stake is delegated to the passed delegate address.
19 |
20 | 3. The staking contract has an incorrect vesting stake for all of the lock dates for which the new 4 year vesting contracts were deployed, because of a wrong order of code execution during the deployment. As a consequence, it is not possible to withdraw the full amount of vested SOV on these lock dates. This SIP introduces a method which allows us to correct the vesting stake at these dates.
21 |
22 | 4. The guard against multiple manipulations of the same stake on a single transaction can be circumvented, because it is checking for the message sender address instead of the address to which the stake actually belongs.
23 |
24 | ### The SIP also includes the following improvements
25 |
26 | - stakeBySchedule function of the staking contract which is used by the vesting contracts to stake the vested tokens uniformly over a certain number of intervals, was making a token transfer for each interval which is not a gas-efficient way. It is redesigned to have only one token transfer per operation which effectively saves 7610 gas per vesting interval.
27 |
28 | - Governance Vesting withdraw function was unable to withdraw team vested tokens in some cases where there are too many stakes to iterate running into a block gas limit. It was refactored and the flow also improved to exclude redundant function calls between Staking and Vesting contracts.
29 |
30 | - Staking with Approval functionality is reintroduced. It used to be commented out as a workaround to fit into EIP-170 24 KB contract size limit.
31 |
32 | - Some inconsistencies regarding lock date adjustments were resolved.
33 |
34 | If approved, this SIP will replace the Staking Logic contract in the Staking Proxy contract for the new StakingModulesProxy contract which proxies calls to the Staking logic functions grouped into meaningful module contracts. Therefore refactoring does not change any staking contract logic except for the listed above improvements and fixes.
35 |
36 |
37 | ## Motivation
38 |
39 | - Staking contract logic hit the EIP-170 contract code size limit which does not allow adding any functionality to it.
40 |
41 | - There were two long awaited to be resolved issues with the stakeBySchedule function and Governance team vesting withdraw function.
42 |
43 | - Immunefi bug bounty program report from a security researcher discovered a voting power theft vulnerability.
44 |
45 | - Staking contract has been given a thorough internal review which discovered missing test cases to guard from potential vulnerabilities.
46 |
47 |
48 | ## Details
49 |
50 | In order to resolve the issues, a new modular contracts system using the same verified and audited architecture as the loan token and perp swap contracts was designed and implemented.
51 |
52 | - The new reusable ModulesProxy contract forwards all the Staking logic function calls to the respective module contracts.
53 |
54 | - 7 new module contracts contain subsets of the large Staking contract functionality.
55 |
56 |
57 |
58 | ## Proposed change
59 |
60 | Existing Staking Logic contract: [0xa0a44943f84f1766b42e67273EE6091A6ccc9315](https://explorer.rsk.co/address/0xa0a44943f84f1766b42e67273ee6091a6ccc9315)
61 |
62 | New Staking Modules Proxy contract: [0xe2b4A4213c823cb3E1B90D128aED17A86F45bBc0](https://explorer.rsk.co/address/0xe2b4a4213c823cb3e1b90d128aed17a86f45bbc0)
63 |
64 | Staking logic module contracts:
65 | - StakingAdminModule: [0x382e6480d6cDe9E64953Feb6e12b33da849dA44a](https://explorer.rsk.co/address/0x382e6480d6cde9e64953feb6e12b33da849da44a)
66 | - StakingGovernanceModule: [0x039119F8f4d28491C829682B3ebD5e9729477C74](https://explorer.rsk.co/address/0x039119f8f4d28491c829682b3ebd5e9729477c74)
67 | - StakingStakeModule: [0xDf41bd1f610d0DBE9d990e3Eb04fd983777F1966](https://explorer.rsk.co/address/0xdf41bd1f610d0dbe9d990e3eb04fd983777f1966)
68 | - StakingStorageModule: [0x8Bd4ED875dAD5CcDD1F9c276aCFC8067c287baEB](https://explorer.rsk.co/address/0x8bd4ed875dad5ccdd1f9c276acfc8067c287baeb)
69 | - StakingVestingModule: [0x4Ca823CED18212876BB13092E4460CC65d2C7874](https://explorer.rsk.co/address/0x4ca823ced18212876bb13092e4460cc65d2c7874)
70 | - StakingWithdrawModule: [0x7FE861e0948df601F28e0D84664Fa2ddF4b39155](https://explorer.rsk.co/address/0x7fe861e0948df601f28e0d84664fa2ddf4b39155)
71 | - WeightedStakingModule: [0xdB8798306fbf54Cb81859f72aB444eFa3D860Ff2](https://explorer.rsk.co/address/0xdb8798306fbf54cb81859f72ab444efa3d860ff2)
72 |
73 |
74 | Proposed changes:
75 | [https://github.com/DistributedCollective/Sovryn-smart-contracts/pull/448](https://github.com/DistributedCollective/Sovryn-smart-contracts/pull/448)
76 | [https://github.com/DistributedCollective/Sovryn-smart-contracts/pull/486](https://github.com/DistributedCollective/Sovryn-smart-contracts/pull/486)
77 |
78 | ## License
79 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
80 |
--------------------------------------------------------------------------------
/SIP-0050.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: "0050"
3 | Title: Critical staking vulnerability fix
4 | Author: Tyrone Johnson (@tjcloa)
5 | Status: Ready for vote
6 | Track: Contract
7 | Created: 2022-10-18
8 | ---
9 |
10 | # SIP-0050: Critical staking vulnerability fix
11 |
12 | ## Description
13 |
14 | The Staking contract has been paused to prevent malicious use of the information disclosed by this SIP.
15 |
16 | If approved, this proposal will upgrade the Staking contract to an implementation that fixes a critical vulnerability.
17 |
18 | ## Motivation
19 |
20 | A security researcher has reported a critical vulnerability through Sovryn's [Immunefi bug bounty program](https://immunefi.com/bounty/sovryn/). The vulnerability allows any address to obtain arbitrarily high voting power that would result in an unfair advantage in the Bitocracy voting system. The Exchequer Multisig has paused staking to allow us to expose the vulnerability publicly and to vote on the deployment and acceptance of the fix, without putting our governance at risk in the meantime. It is important to note that this vulnerability has not been exploited on mainnet to date.
21 |
22 | ## Details
23 |
24 | ### The vulnerability
25 |
26 | Stakers can increase their voting power by using a vulnerability in the Staking contract `extendStakingDuration()` by submitting specific parameter values.
27 |
28 | The Staking::extendStakingDuration() function can be used to extend the "until" time for one's stake. It takes two parameters: the previous timestamp and the new timestamp. The function takes out the stake amounts and delegation amounts from the previous timestamp and attaches them to the new timestamp. It will also change the delegation in case you delegated to someone else (delegations are timestamp-specific). More specifically, in Staking::extendStakingDuration(), by exploiting the vulnerability it was possible to manipulate variables and set `previousLock == until` after verification of `require(previousLock < until, "S04"); // must increase staking duration`, therefore bypassing the initial verification.
29 |
30 | Here is the logic that does not work when `previousLock == until`, and must therefore be fixed:
31 |
32 | ```
33 | address delegateFrom = delegates[msg.sender][previousLock];
34 | address delegateTo = delegates[msg.sender][until];
35 | if (delegateTo == address(0)) {
36 | delegateTo = delegateFrom;
37 | delegates[msg.sender][until] = delegateFrom;
38 | }
39 | delegates[msg.sender][previousLock] = address(0);
40 | _decreaseDelegateStake(delegateFrom, previousLock, amount);
41 | _increaseDelegateStake(delegateTo, until, amount);
42 | ```
43 |
44 | The stake and delegate balances do indeed decrease and increase correctly. But the line `delegates[msg.sender][previousLock] = address(0)` zeroes out the delegation of the previousLock timestamp, which is the same as the new timestamp.
45 |
46 | Now that the delegation address for the currently set staking timestamp is `address(0)`, the attacker can call the `delegate()` function, which will delegate their entire balance as delegateStake to any address, but without decreasing the delegator's delegateStake balance. By repeating this call, the attacker can continuously increase an address' delegateStake without limit (because source voting power is not getting properly decreased), resulting in arbitrarily high voting power.
47 |
48 | ### The fix
49 |
50 | We introduce two small changes:
51 |
52 | Move line 143 of Staking.sol `require(previousLock < until, "S04"); // must increase staking duration` to line 150.
53 |
54 | This:
55 |
56 | ```
57 | function extendStakingDuration(uint256 previousLock, uint256 until) public whenNotPaused {
58 | until = timestampToLockDate(until);
59 | require(previousLock < until, "S04"); // must increase staking duration
60 |
61 | _notSameBlockAsStakingCheckpoint(previousLock);
62 |
63 | /// @dev Do not exceed the max duration, no overflow possible.
64 | uint256 latest = timestampToLockDate(block.timestamp + MAX_DURATION);
65 | if (until > latest) until = latest;
66 | ```
67 |
68 | is changed to this:
69 |
70 | ```
71 | function extendStakingDuration(uint256 previousLock, uint256 until) public whenNotPaused {
72 | until = timestampToLockDate(until);
73 |
74 | _notSameBlockAsStakingCheckpoint(previousLock);
75 |
76 | /// @dev Do not exceed the max duration, no overflow possible.
77 | uint256 latest = timestampToLockDate(block.timestamp + MAX_DURATION);
78 | if (until > latest) until = latest;
79 | require(previousLock < until, "S04"); // must increase staking duration
80 | ```
81 |
82 | Move line 173 of Staking.sol (delegates[msg.sender][previousLock] = address(0);) between line 167 and 168.
83 |
84 | This:
85 |
86 | ```
87 | address delegateFrom = delegates[msg.sender][previousLock];
88 | address delegateTo = delegates[msg.sender][until];
89 | if (delegateTo == address(0)) {
90 | delegateTo = delegateFrom;
91 | delegates[msg.sender][until] = delegateFrom;
92 | }
93 | delegates[msg.sender][previousLock] = address(0);
94 | ```
95 |
96 | is changed to this:
97 |
98 | ```
99 | address delegateFrom = delegates[msg.sender][previousLock];
100 | delegates[msg.sender][previousLock] = address(0);
101 | address delegateTo = delegates[msg.sender][until];
102 | if (delegateTo == address(0)) {
103 | delegateTo = delegateFrom;
104 | delegates[msg.sender][until] = delegateFrom;
105 | }
106 | ```
107 |
108 |
109 | Both changes individually fix the bug and prevent the delegate address from ever being zeroed out during the staking extensions, thereby closing the vulnerability.
110 |
111 | ## Proposed change
112 |
113 | Existing Staking Logic contract: 0x81570497e763809900A8e91c8DaF3020085e43aB
114 | New Staking Logic contract: 0xA0a44943f84f1766b42e67273EE6091A6ccc9315
115 | Proposed changes: https://github.com/DistributedCollective/Sovryn-smart-contracts/pull/454
116 |
117 | ## License
118 |
119 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
120 |
--------------------------------------------------------------------------------
/SIP-0051.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0051'
3 | Title: Adjustment of the AMM fee-split
4 | Author: Sacro21
5 | Status: Approved
6 | Track: Parameter
7 | Created: 2022-10-26
8 | ---
9 |
10 | # SIP-0051: Adjustment of the AMM fee-split
11 |
12 | ## Description
13 |
14 | Currently, AMM swaps have a fee of 0.3% which is distributed as follows: 0.25% for AMM liquidity providers and 0.05% for the protocol (stakers).
15 | This SIP proposes to adjust the fee-split towards: 0.25% for AMM liquidity providers (unchanged), 0.1% for the protocol(stakers).
16 | This would result in a fee increase from 0.3% to 0.35%. AMM liquidity providers are unaffected, protocol revenue from AMM swaps would double.
17 |
18 | ## Motivation
19 |
20 | The related analysis, discussion and arguments can be found here: https://forum.sovryn.app/t/circle-of-tokens-regarding-protocol-revenue/2701
21 |
22 | In Summary:
23 |
24 | When we look at protocol incentives (SOV-rewards) versus protocol revenue, there's a significant deficit.
25 | With the proposed parameter change, we aim to reduce this deficit.
26 |
27 | The objectives of this parameter change are:
28 | -Increased fundamental value of the SOV token through increased protocol revenue. This would make staking of SOV more attractive.
29 | -Increased $ value of weekly SOV rewards for liquidity provider.
30 | -Increased liquidity in AMM pools OR same liquidity with a lowered amount of SOV-rewards.
31 |
32 |
33 | ## Proposed change
34 |
35 | Existing parameter(s): AMM swap fee for stakers : 0.05%
36 | Proposed change: AMM swap fee for stakers : 0.1%
37 | Change analysis: https://forum.sovryn.app/t/circle-of-tokens-regarding-protocol-revenue/2701
38 |
39 | ## License
40 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
41 |
--------------------------------------------------------------------------------
/SIP-0054.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0054'
3 | Title: Integrate Mynt with Zero
4 | Author: Ororo Munroe (@ororopickpocket), Tyrone Johnson (@tjcloa)
5 | Status: Ready for vote
6 | Track: Contract
7 | Created: 2023-02-23
8 | ---
9 |
10 | # SIP-0054: Integrate Mynt with Zero
11 |
12 | ## Description:
13 | Mynt is a BTC-backed stablecoin aggregator. Like BabelFish, Mynt aggregates different “basket” stablecoins (“bAssets”) into a single “meta” stablecoin (“mAsset”). By aggregating multiple BTC-backed stablecoins, each with its own stability and scalability mechanisms and limitations, Mynt is able to create a stablecoin that is more resilient and scalable than any individual stablecoin backing it. The first bAssets that will be supported by Mynt are DOC (issued by the Money On Chain protocol) and ZUSD (issued by the Zero protocol). The mAsset of Mynt is the Sovryn Dollar (DLLR).
14 |
15 | In order to provide a seamless user experience, we built a tight integration between Zero and Mynt, which allows us to perform following actions in a single transaction:
16 | * open a line of credit on Zero and convert the ZUSD into DLLR
17 | * convert DLLR into ZUSD and repay a line of credit
18 | * convert DLLR into ZUSD and deposit into the stability pool
19 | * withdraw ZUSD from the stability pool and convert it to DLLR
20 | * convert DLLR to ZUSD and redeem them for RBTC
21 |
22 | ## Proposed changes:
23 | ### Code changes:
24 | https://github.com/DistributedCollective/zero/pull/179
25 |
26 | ### Contracts updated:
27 | * BorrowerOperations: 0x6dafc71f49f9aa25325126dd9fec426624afb878
28 | * StabilityPool: 0x86cC28cdc46c515c866426Daa40d6Fc763E1c4Dd
29 | * TroveManager: 0xF365CC004d4c3826b53B943f5fc7B8aec6e43341
30 | * TroveManagerRedeemOps: 0xd4CE65a6DB60BeDD51c499b716969d57998Cd941
31 | * ZUSDToken: 0xc0B70D65A665911B0D6Dbd1eD58094F9c85F5A39
32 |
33 | ## License
34 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
35 |
--------------------------------------------------------------------------------
/SIP-0055.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0055'
3 | Title: Zero Fee Floor Update
4 | Author: John Light (@john-light), Ororo Monroe (@ororopickpocket), Tyrone Johnson (@tjcloa)
5 | Status: Ready for vote
6 | Track: Contract
7 | Created: 2023-03-01
8 | ---
9 |
10 | # SIP-0055: Zero Fee Floor Update
11 |
12 | ## Description:
13 | We have been running the Zero protocol with limited access since June 2022. During this time we could observe the behavior of the protocol and the market in different circumstances. In times of low liquidity of bridged stablecoins in Babelfish and deviation from the global BTC market price on the AMM we experienced an unreasonably high amount of redemptions.
14 |
15 | Before we open the Zero web app to the general public, we should take measures to protect borrowers from excessive redemptions. We therefore propose to increase the minimum redemption and origination fees from 0.5% to 2.5%.
16 |
17 | The increased redemption fee allows for a higher price deviation on the AMM before redemptions become profitable. This should not just reduce the number of redemptions, but also increase the trading volume on the AMM, which ultimately benefits the LPs and the SOV stakers.
18 |
19 | The increased borrowing fee should help with tempering the opening of new lines of credit, which leads to fewer DLLR created and therefore lower sell pressure. In the future, short term borrowers might decide to borrow from the DLLR lending pool instead, which provides an additional avenue of earning yield on DLLR and therefore BTC.
20 |
21 | The Sovryn community may consider organizing a working group to review these parameter values to assess the effectiveness of any changes and develop a repeatable process for updating them over time.
22 |
23 | ## Proposed changes:
24 | ### Code changes:
25 | Updating BORROWING_FEE_FLOOR from 0.5% to 2.5%
26 | Updating REDEMPTION_FEE_FLOOR from 0.5% to 2.5%
27 |
28 | ## License:
29 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
30 |
--------------------------------------------------------------------------------
/SIP-0056.md:
--------------------------------------------------------------------------------
1 | # SIP-0056: Sunsetting the MYNT Token
2 |
3 | ## Abstract
4 | This MIP proposes the deprecation of the MYNT token and the integration of the Mynt protocol directly into the Sovryn protocol, under governance of Sovryn Bitocracy. The Mynt protocol is expected to become a core component of the Sovryn ecosystem, issuing the Sovryn Dollar (DLLR) - which will become the standard currency of Sovryn. Due to the inability of the original developers of the Mynt protocol to continue to implement an independent roadmap it is proposed that the Sovryn community absorb it into the core Sovryn protocol. With passage of this MIP, the MYNT token will be deprecated. This MIP outlines the steps that will be taken to ensure a smooth and orderly wind-down of the MYNT token.
5 |
6 | ## Background
7 | Mynt was launched as a Sovryn subprotocol with the MYNT token as a SOV-bonded token. At the time this was viewed as an experiment in creating a more fractal Bitocracy as a path to future scaling of the Sovryn protocol. Mynt itself is poised to play an important role in the Sovryn ecosystem. However, for various reasons, many consider that the SOV-bonded token subprotocol experiment, at least in this case, was unsuccessful. These reasons include:
8 |
9 | * The increased complexity of SOV-bonded tokens
10 | * The inability of the original Mynt developers to continue to develop their anticipated roadmap
11 | * The MYNT token was launched at a particularly poor time, as the market was turning unfavourable and has suffered poor performance
12 | * The net result has been that Mynt development has slowed, and no independent Mynt Bitocracy was developed. Continued development and maintenance has fallen upon the Sovryn core developers, which the sub-protocol structure was meant to avoid. As a result, Mynt has failed to mature into an independent protocol with independent Bitocracy.
13 |
14 | With the launch of the Sovryn Dollar, time has come to resolve the structural questions surrounding Mynt.
15 |
16 | ## Procedural Context
17 | 1. Pausing of the MYNT Bonding Curve: Prior to the introduction of the Snapshot votes, the MYNT bonding curve has been paused.
18 | 2. Snapshot Votes: Two snapshot votes to be conducted to gauge the support of MYNT token holders for the deprecation proposal:
19 | - The first vote to be for MYNT token holders
20 | - The second vote to be conducted for MYNT/BTC AMM pool LP token holders, to provide these MYNT owners to participate.
21 | 3. The snapshot votes will be conducted to gauge the support of MYNT token holders for the deprecation proposal. The vote will be conducted over a period of 48 hours. The proposal will be considered to have passed if a majority of votes (>50%) cast across both votes are in favour of the proposal.
22 |
23 | ## Resolved
24 | 1. MYNT token bonding curve and the ability to mint/burn MYNT token will be replaced with a flat, pro-rata burn mechanism. Mynt token holders will be able to burn MYNT tokens to receive SOV but not mint new MYNT tokens.
25 | 2. The procedure for executing this proposal shall be as described below in the Specification section.
26 |
27 | ## MYNT Token Subordinate to SOV-Bitocracy
28 | The Mynt protocol was launched as a “Sovryn subprotocol, governed by the MYNT token and subordinate to the SOV Bitocracy.” SIP-0037 considered a situation where “it might be best to return the Mynt-bonded SOV to MYNT holders without having to adhere to the bonding curve formula. This orderly wind-down should be available as an option to be voted on by MYNT holders”. It further suggests that in “the event that MYNT governance has not been deployed before the 6 month cliff for Founders and Sovryn Core contributors ends - this vote should be held by the SOV Bitocracy. Under such a circumstance, MYNT token holders should hold a snapshot vote - of which the SOV Bitocracy should vote to uphold the majority view. It must be stressed that this cannot be guaranteed.”
29 |
30 | ## Specification
31 | 1. SIP Ratification: After the MYNT snapshot vote, per SIP-0037, an OwnerGovernor SIP will be proposed giving SOV Bitocracy the final say on the outcome of the proposal to sunset the MYNT token and bonding curve.
32 | 2. Orderly Wind-Down: Orderly wind-down of the MYNT token: deprecation of the MYNT token. The Mynt protocol is already governed by Bitocracy, and this state of affairs will be maintained. The wind-down mechanism specified in SIP-0037, stipulates that "to return the Mynt-bonded SOV to MYNT holders without having to adhere to the bonding curve formula". This procedure will be followed during the deprecation process - allowing MYNT tokens to be burned for SOV tokens on a fixed rate, pro rata basis.
33 |
34 | Communication Plan: A clear and concise communication plan will be put in place to ensure that all MYNT token holders and other stakeholders are kept informed of the progress of the deprecation process.
35 |
36 | ## Copyright
37 | Copyright and related rights waived via CC0.
38 |
--------------------------------------------------------------------------------
/SIP-0057.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: 0057
3 | Title: Add Ordinal Doge Token ($oDOGE) to Sovryn AMM Pools
4 | Author: francis105d1 (@fjdone)
5 | Status: Rejected
6 | Track: Proclamation
7 | Created: 2023-03-15
8 | ---
9 |
10 | # SIP-0057: Add Ordinal Doge Token ($oDOGE) to Sovryn AMM Pools
11 |
12 | ## Proclamation text
13 |
14 | Add Ordinal Doge Token ($oDOGE) to Sovryn AMM Pools.
15 | Find the full description for this SIP:
16 |
17 | https://forum.sovryn.com/t/sip-0057-add-ordinal-doge-token-odoge-to-sovryn-amm-pools/2880/6
18 |
19 | Outline of SIP-0057 Proposal:
20 |
21 | Listing $oDOGE on Sovryn AMM. (*Possibly be renamed $SoDOGE for the Rootstock chain.) Paired with RBTC for launch so that $SoDOGE would be “ON Bitcoin”
22 |
23 | $oDOGE to seed the AMM with $50-$100k $oDOGE and $50-$100k RBTC (Bitcoin bridged to RSK through Sovryns FastBTC)
24 | The combined Sovryn and oDOGE communities will provide additional liquidity as trading begins.
25 | The $oDOGE community may withdraw the $oDOGE funds, but the minimum period before that will be possible is at least 12 months after the deposit (the oDOGE community has no motive for doing that, but it’s important to note either way).
26 | $oDOGE reserves the right to add any additional tokens to incentivize liquidity providers in the pools
27 |
28 | The $oDOGE team will provide initial liquidity to the pools, so there is no need for Sovryn to seed the liquidity. This will increase liquidity on the Sovryn protocol, increase $USD stables bridged in which will help to bolster the new $DLLR launch and will increase overall volume and trading fees for all Sovryn stakers. It creates another way to earn APY, and arbitrage any price differences between Uniswap, CEX, and our Sovryn Protocol.
29 |
30 | Motivation:
31 |
32 | For example increase trading volume and TVL on the Sovryn dApp. Find more also by visiting the following link
33 |
34 | https://docs.google.com/document/d/1c6WmkBXR7EXJxxITyXo1cBqtUJ3sbF4V4DT_KUfafK0/edit?usp=sharing
35 |
36 | ## Motivation for writing this proclamation
37 |
38 | To list oDoge tokens we still need some work to do but declaring that the Sovryn community wants to add oDoge to the list of traded assets in the Sovryn DEX is just the first step in that direction. We will still need to create probably a final SIP which will include the parameters that will allow for the AMM pool to last at least 12 months.
39 |
40 | If locking funds on the current AMM format that Sovryn uses or the way all AMM pools work on Sovryn have a locking option by default without having to create extra work for Sovryn developers it will mean this SIP will only need for Exchequer to just adhere to the will of the community, if no additional work is need to guarantee funds will remain lock for at least 365 days after the first day the AMM pool is up and working.
41 |
42 | ## License
43 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
44 |
--------------------------------------------------------------------------------
/SIP-0058.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0058'
3 | Title: Staking contract update
4 | Author: cowsant (@cwsnt), Ororo Monroe (@ororopickpocket), Tyrone Johnson (@tjcloa)
5 | Status: Approved
6 | Track: Contract
7 | Created: 2023-03-17
8 | ---
9 |
10 | # SIP-0058: Staking contract update
11 |
12 | ## Description:
13 | After the latest investment round new vesting contracts with a duration of 4 years have been deployed. Because of the 3 year limitation on the staking contract, new contracts and a new deployment procedure needed to be developed. However, due to human mistake two steps of the process were executed in the wrong order. First, the tokens were staked and only afterwards the contracts were registered on the vesting registry. This led to incorrect accounting of the vesting stake on the staking contract, which has 2 consequences:
14 | 1. Some vesting contracts are not able to withdraw their stake.
15 | 2. The fee sharing contract considers the vesting contracts’ stakes as eligible for fee sharing, leading to lower fees for voluntary stakers. Nonetheless, the vesting contracts are not able to withdraw the fees because they are registered by now, effectively locking up the funds on the fee sharing contract.
16 |
17 | This SIP will allow us to add new vesting stake checkpoints for the dates with incorrect state. As a result the staking contract will allow the affected vesting contracts to withdraw their unlocked stake and also the fee sharing contract will read the correct vesting stake when writing checkpoints on distribution, leading to correct future fee distributions. Past fee distributions remain unchanged.
18 |
19 | We are also taking the opportunity to reintroduce the function `governanceWithdrawVesting` , which was used for canceling team vesting contracts in the past. SIP-0049 introduced the new method `cancelTeamVesting`, rendering the old function redundant. Babelfish, however, does still require `governanceWithdrawVesting`. This update allows Babelfish to keep using our staking contract code and go along with any updates we are introducing.
20 |
21 | ## Proposed changes:
22 | ### Code changes:
23 | * https://github.com/DistributedCollective/Sovryn-smart-contracts/pull/492
24 | * https://github.com/DistributedCollective/Sovryn-smart-contracts/pull/487
25 |
26 | ### Contracts updated:
27 | * StakingWithdrawModule: 0xf97c4751E4c75d28B600b0207519f2C71aA8902c
28 | * StakingVestingModule: 0x53C5C57302e7A6529C1A298B036426b944dC23Af
29 |
30 | ## License:
31 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
32 |
--------------------------------------------------------------------------------
/SIP-0059.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0059'
3 | Title: Zero Fee Floor Update, March 22
4 | Author: John Light (@john-light), Ororo Monroe (@ororopickpocket), Tyrone Johnson (@tjcloa)
5 | Status: Approved
6 | Track: Contract
7 | Created: 2023-03-22
8 | ---
9 |
10 | # SIP-0059: Zero Fee Floor Update: March 22
11 |
12 | ## Background:
13 | On March 21’st, 2023, the community held the first DLLR Zero Risk Meeting. The recording and subsequent conversation can be found [here](https://www.youtube.com/watch?v=JRTM8yAlFAI).
14 | Our priorities, in order of importance, are:
15 | 1. Maintain the DLLR peg
16 | 2. Keep redemption level low
17 |
18 | In the near term we expect to see multiple DLLR demand drivers emerge. In the interim we are willing to accept significantly reduced borrowing demand. Conversely, to promote DLLR hoDLLRs, we seek to keep the lower bound of DLLR close to $1.00.
19 |
20 | The expectation is that the 5% base fee will be temporary and that fees will be reduced to the minimal advisable level over time.
21 |
22 | ## Resolved:
23 | 1. Increase the Origination fee - Base: 5%; Max 7.5%
24 | 2. Reduce the redemption fee - Base: 1.9%
25 |
26 | ## Code changes:
27 |
28 | Updating BORROWING_FEE_FLOOR from 2.5% to 5%
29 | Updating MAX_BORROWING_FEE to 7.5%
30 | Updating REDEMPTION_FEE_FLOOR from 2.5% to 1.9%
31 |
32 | ## License:
33 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
34 |
--------------------------------------------------------------------------------
/SIP-0060.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0060'
3 | Title: Add DLLR as collateral for borrowing
4 | Author: John Light (@john-light), Ororo Monroe (@ororopickpocket)
5 | Status: Approved
6 | Track: Parameter
7 | Created: 2023-04-06
8 | ---
9 |
10 | # SIP-0060: Add DLLR as collateral for borrowing
11 |
12 | ## Description
13 |
14 | If approved, this proposal would enable DLLR holders to use their DLLR as collateral when borrowing using Sovryn.
15 |
16 | ## Motivation
17 |
18 | Adding DLLR as a collateral asset for borrowing would give DLLR holders a way to short any supported asset using DLLR as collateral instead of either a less liquid stablecoin such as DOC or a less transparent stablecoin such as XUSD.
19 |
20 | A 150% collateralization ratio is proposed due to DLLR’s position as the most liquid pool on the Sovryn AMM. This is at par with the 150% collateralization required when using DOC or XUSD as collateral.
21 |
22 | ## Proposed change
23 |
24 | Add DLLR as system-wide collateral for borrowing supported assets on Sovryn, with the following parameters:
25 | - DLLR token contract address: `0xc1411567D2670E24D9c4Daaa7CdA95686E1250Aa`
26 | - Collateralization rate: 150%
27 | - Oracle: Constant value oracle
28 | - Supported assets: RBTC, BPRO
29 |
30 | ## License
31 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
32 |
--------------------------------------------------------------------------------
/SIP-0061.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0061'
3 | Title: Zero stability pool subsidies
4 | Author: cowsant (@cwsnt), Ororo Monroe (@ororopickpocket), Edan Yago (@YagoBit)
5 | Status: Approved
6 | Track: Contract
7 | Created: 2023-04-27
8 | ---
9 |
10 | # SIP-0061: Zero stability pool subsidies
11 |
12 | ## Description
13 |
14 | If approved, this proposal will implement a Zero stability pool subsidies system with the following features:
15 | - A role “reward manager”. The reward manager role can be assigned to a Rootstock address using an OwnerGovernor proposal. The reward manager has the power to set an APR and price feed source for the subsidies system.
16 | - A subsidy pool that anyone can send SOV to.
17 |
18 | SOV will be allocated from the subsidy pool to stability pool depositors on a pro rata basis according to the set APR. The stability pool depositors will be able to immediately claim any SOV allocated to them by the subsidy pool.
19 |
20 | Example: If the set APR is 5%, and the balance of the stability pool is 1,000,000 ZUSD at the beginning of the day January 1st, and this balance does not change at all throughout the year, then by end of day December 31st of the same year the pool will have earned 50,000 ZUSD worth of SOV. (Note that in practice the algorithm will be able to handle changes in stability pool balances as needed. The example is made simple for ease of understanding.)
21 |
22 | These are the proposed initial parameters of the subsidy system:
23 |
24 | | Parameter | Value |
25 | | ---------- | ------------ |
26 | | Reward manager | 0x6c94c8aa97C08fC31fb06fbFDa90e1E09529FB13 |
27 | | SOV address | 0xEFc78fc7d48b64958315949279Ba181c2114ABBd |
28 | | APR | 5% |
29 | | Price Feed Source | SOV to RBTC: SOV AMM Pool Oracle , RBTC to ZUSD: Money On Chain USD oracle|
30 |
31 | ## Motivation
32 |
33 | Currently, there is no subsidy for depositing ZUSD into the Zero stability pool. This means that the incentive to deposit ZUSD into the stability pool is based completely on the returns earned from liquidations. Initial analysis has shown these returns to be relatively high, with [one estimate showing an APY of 127%](https://sovryn.com/all-things-sovryn/fishing-for-gains-in-the-zero-stability-pool). However this rate of return, and the frequency at which return events occur, is completely random, depending on volatility of the BTC market and the risk levels of Zero users.
34 |
35 | Zero users need a more reliable “sink” for ZUSD that can help absorb excess ZUSD supply, thereby mitigating some of the negative effects of excessive inflation such as redemptions for line of credit collateral. To this end we propose to introduce a subsidy for stability pool deposits that will pay a predictable rate of return in SOV. The SOV for this subsidy will be sourced from the [Adoption Fund](https://wiki.sovryn.com/en/technical-documents/tokenomics) to incentivize adoption of the stability pool and by extension, Zero and the Sovryn Dollar.
36 |
37 | ## For future consideration
38 |
39 | Instead of, or in addition to, paying for the subsidy using SOV from a steadily-diminishing Adoption Fund, the subsidy could be paid for using a portion of revenue earned from Zero and/or other parts of the Sovryn smart contract system that are earning fee revenue. This would require further discussion, development, and implementation as part of a future SIP.
40 |
41 | ## Proposed change
42 |
43 | New contracts:
44 | * Community Issuance Proxy: 0x9b38044A276fED8bC1703bd4a2DA1b17F2c61d16
45 | * Community Issuance Logic: 0x5059A057df377436Fc9b68369b696A23cc61Ecc3
46 | * Stability pool logic : 0x05a2dac59122f1dAcb7BB42b9736a8B27C12e193
47 |
48 | Proposed change: https://github.com/DistributedCollective/zero/pull/205
49 |
50 | ## License
51 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
52 |
53 |
--------------------------------------------------------------------------------
/SIP-0062.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0062'
3 | Title: Zero Fee Floor Update, May 12
4 | Author: Edan Yago (@YagoBit)
5 | Status: Ready for vote
6 | Track: Contract
7 | Created: 2023-05-12
8 | ---
9 |
10 | # SIP-0062: Zero Fee Floor Update, May 12
11 |
12 | ## Background:
13 | Following the [Zero Governance call](https://forum.sovryn.com/t/zero-governance-call-6/2961) held on May 10’th - there was clear consensus for the following recommendation to Bitocracy:
14 |
15 | - Maintain the Origination fee - Base: 5%; Max 7.5%
16 | - Reduce the redemption fee - Base: 1.0%
17 |
18 | ## Code changes:
19 |
20 | - Updating REDEMPTION_FEE_FLOOR from 1.9% to 1%
21 |
22 | ## License:
23 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
24 |
--------------------------------------------------------------------------------
/SIP-0063.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0063'
3 | Title: Fix Staking Bug to Prevent Reverting Delegated Voting Power
4 | Author: Tyrone Johnson (@tjcloa)
5 | Status: Ready for vote
6 | Track: Contract
7 | Created: 2023-05-26
8 | ---
9 |
10 | # SIP-0063: Fix Staking Bug to Prevent Reverting Delegated Voting Power
11 |
12 | ## Description
13 |
14 | The Staking contract has been paused to prevent malicious use of the information disclosed by this SIP.
15 |
16 | If approved, this proposal will upgrade the StakingStakeModule contract to an implementation that fixes the bug.
17 |
18 | ## Details
19 |
20 | A security researcher has reported a bug through Sovryn's Immunefi bug bounty program. The bug allows any address to revert any delegated voting power back to the delegator's address by staking any amount to the delegator's address. We have reproduced the bug and confirmed this is unintended behavior.
21 |
22 | ### Fix
23 |
24 | Add conditional check to [fix the vulnerability](https://github.com/DistributedCollective/Sovryn-smart-contracts/commit/e3b14b40c9c51fd8273f159b6c791fa14b462f3e)
25 |
26 | ## Proposed change
27 |
28 | Existing StakingStakeModule contract: 0xdf41bD1F610d0DBe9D990e3eb04fd983777f1966
29 | New StakingStakeModule: 0xDf7224A755a8cf59c6D30ECC1a1efDd83C46EE36
30 | Proposed changes: [PR#500](https://github.com/DistributedCollective/Sovryn-smart-contracts/pull/500)
31 |
32 | ## License
33 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
34 |
--------------------------------------------------------------------------------
/SIP-0064.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0064'
3 | Title: Remove Bridge Functions from Mynt
4 | Author: Tyrone Johnson (@tjcloa)
5 | Status: Defeated (no quorum)
6 | Track: Contract
7 | Created: 2023-06-07
8 | ---
9 |
10 | # SIP-0064: Remove Bridge Functions from Mynt
11 |
12 | ## Description
13 |
14 | There are two Mynt contract updates included in this SIP:
15 | - Removal of legacy code related to the Sovryn Bridge integration
16 | - Technical update of the contracts with the bytecode changed due to modified NatSpec comments
17 |
18 |
19 | ### 1) Removal of legacy bridges related code
20 |
21 | Mynt was initially cloned from Babelfish protocol as the basis for Sovryn DLLR BTC-based stablecoin.
22 |
23 | Babelfish uses bridges as trusted sources for conversions. However it was decided not to use the bridges in Mynt.
24 |
25 | To keep Mynt development on schedule, the bridge-related functionality was muted and unused, which created technical debt that we are paying back now with this SIP.
26 |
27 | Unused code in smart contracts not only causes confusion for reviewers and integrators but is also a potential source of bugs and vulnerabilities in the future.
28 |
29 | Following smart contract security best practices we have removed all the code related to bridge integration.
30 |
31 | ### 2) Technical upgrade
32 |
33 | Changes in OpenZeppelin (OZ) contract `Initializable` inherited by `FeesVault` and `MocIntegration` contracts: OZ package version upgrade to 4.8.3 among other fixes changed the NatSpec function comments, which are added by a solidity compiler as metadata to the bytecode of the FeesVault and MocIntegration contracts:
34 |
35 |
36 |
37 |
38 | __If approved, this proposal will update the following Mynt contracts affected by the code cleanup: BasketManagerV3, MassetManager, FeesManager, FeesVault, and MocIntegration.__
39 |
40 | ## Proposed change
41 |
42 | __Existing logic contracts__
43 | BasketManagerV3: 0xb61Ff601E0b4531e39d9683c5Ab48873ccFd352B
44 | MassetManager: 0x90F16042abF49e3c08d7D37Aa5b8eDc439DF1D9d
45 | FeesManager: 0x1Cc0278c59577641E9fE38a0F698D15dA6CA47e4
46 | FeesVault: 0x0e87Fd4cF5C7e78ab0B1Cc2dEc31C2D34355D9f0
47 | MocIntegration: 0x68D06009d4DD7c189B9f5dF1D53aCffC5bF898aF
48 |
49 | __New logic contracts__
50 | BasketManagerV3: 0x4Ec09f11E667dd39E8751A07a74a2F90712Ef322
51 | MassetManager: 0x15e34a753854be868b6c99333964ae655c2bab4f
52 | FeesManager: 0xccCa715033DC18240bd30D4A99d084D3329e9B73
53 | FeesVault: 0x5ad2ef1259a1b65558f56738f73998597ef300e5
54 | MocIntegration: 0xb9d63f4ab03e92760d014c300c18b37783a5ac7e
55 |
56 | Proposed changes: Mynt [PR#13](https://github.com/DistributedCollective/mynt/pull/13)
57 |
58 | ## License
59 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
60 |
--------------------------------------------------------------------------------
/SIP-0065.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0065'
3 | Title: Permission update on the Adoption and Development Funds
4 | Author: Ororo (@ororopickpocket), Armando (@SovrynArmando)
5 | Status: Ready for vote
6 | Track: Contract
7 | Created: 2023-06-10
8 | ---
9 |
10 | # SIP-0065: Transfer of SOV from Adoption and Development Funds to Exchequer
11 |
12 | ## Description:
13 |
14 | The Adoption and Development Funds (collectively the “Funds”) have a predetermined vesting schedule. Once the SOV in the Funds vests, it becomes available for distribution with the goal of promoting the adoption of the Sovryn protocol and further its development. Deployment of a certain amount of vested SOV in these funds has been previously entrusted by Bitocracy to the Exchequer Committee following SIP-0015. As of June 12th, 2023, the SOV held in these Funds is divided as follows:
15 |
16 |
17 |
18 |
19 |
20 | |
21 | Development Fund
22 | |
23 | Adoption Fund
24 | |
25 | Total
26 | |
27 |
28 |
29 | Starting Balance
30 | |
31 | 8,368,598
32 | |
33 | 37,222,239
34 | |
35 | 45,590,837
36 | |
37 |
38 |
39 | Withdrawn To Date
40 | |
41 | 2,231,626
42 | |
43 | 9,925,930
44 | |
45 | 12,157,556
46 | |
47 |
48 |
49 | Remaining Balance
50 | |
51 | 6,136,972
52 | |
53 | 27,296,309
54 | |
55 | 33,433,281
56 | |
57 |
58 |
59 | Vested To Date
60 | |
61 | 3,347,439
62 | |
63 | 17,618,527
64 | |
65 | 20,965,966
66 | |
67 |
68 |
69 | Remaining Vest
70 | |
71 | 2,789,532
72 | |
73 | 9,677,782
74 | |
75 | 12,467,315
76 | |
77 |
78 |
79 |
80 |
81 | This SIP will approve the transfer of a total of 3,000,000 vested SOV from the Funds to the Exchequer to facilitate the ongoing development and adoption of the Sovryn protocol. Below is a breakdown of the distribution of SOV from the Funds (by Exchequer) to date, **_excluding_** SOV distributed as part of system rewards:
82 |
83 |
84 |
85 |
86 | Period
87 | |
88 | Adoption Bounty
89 | |
90 | Bug Bounty
91 | |
92 | Contributor Bonus Grants
93 | |
94 | Contributor CompensationGrants
95 | |
96 | Development
97 | |
98 | Strategic Round
99 | |
100 | Grand Total
101 | |
102 |
103 |
104 | 2021
105 | |
106 | 13339
107 | |
108 | 3480
109 | |
110 | 65602
111 | |
112 | 319206
113 | |
114 | 34473
115 | |
116 | 436805
117 | |
118 | 872904
119 | |
120 |
121 |
122 | Qtr1
123 | |
124 | 689
125 | |
126 |
127 | |
128 |
129 | |
130 | 9718
131 | |
132 |
133 | |
134 |
135 | |
136 | 10407
137 | |
138 |
139 |
140 | Qtr2
141 | |
142 |
143 | |
144 | 110
145 | |
146 | 30910
147 | |
148 | 143005
149 | |
150 | 16257
151 | |
152 |
153 | |
154 | 190281
155 | |
156 |
157 |
158 | Qtr3
159 | |
160 | 12445
161 | |
162 | 3315
163 | |
164 | 34692
165 | |
166 | 54500
167 | |
168 | 14817
169 | |
170 | 174304
171 | |
172 | 294073
173 | |
174 |
175 |
176 | Qtr4
177 | |
178 | 205
179 | |
180 | 55
181 | |
182 |
183 | |
184 | 111983
185 | |
186 | 3399
187 | |
188 | 262502
189 | |
190 | 378144
191 | |
192 |
193 |
194 | 2022
195 | |
196 | 11925
197 | |
198 | 24503
199 | |
200 | 101448
201 | |
202 | 950162
203 | |
204 | 283161
205 | |
206 | 716536
207 | |
208 | 2087735
209 | |
210 |
211 |
212 | Qtr1
213 | |
214 | 2278
215 | |
216 | 2030
217 | |
218 | 34782
219 | |
220 | 191991
221 | |
222 | 47484
223 | |
224 | 250283
225 | |
226 | 528848
227 | |
228 |
229 |
230 | Qtr2
231 | |
232 | 1000
233 | |
234 | 14710
235 | |
236 | 66667
237 | |
238 | 274017
239 | |
240 | 55083
241 | |
242 | 261456
243 | |
244 | 672933
245 | |
246 |
247 |
248 | Qtr3
249 | |
250 | 7346
251 | |
252 | 7762
253 | |
254 |
255 | |
256 | 286005
257 | |
258 | 108301
259 | |
260 | 204798
261 | |
262 | 614212
263 | |
264 |
265 |
266 | Qtr4
267 | |
268 | 1300
269 | |
270 |
271 | |
272 |
273 | |
274 | 198148
275 | |
276 | 72293
277 | |
278 |
279 | |
280 | 271742
281 | |
282 |
283 |
284 | 2023
285 | |
286 | 500
287 | |
288 | 310653
289 | |
290 |
291 | |
292 | 309698
293 | |
294 |
295 | |
296 |
297 | |
298 | 620851
299 | |
300 |
301 |
302 | Qtr1
303 | |
304 |
305 | |
306 | 286377
307 | |
308 |
309 | |
310 | 182078
311 | |
312 |
313 | |
314 |
315 | |
316 | 468454
317 | |
318 |
319 |
320 | Qtr2
321 | |
322 | 500
323 | |
324 | 24277
325 | |
326 |
327 | |
328 | 127620
329 | |
330 |
331 | |
332 |
333 | |
334 | 152397
335 | |
336 |
337 |
338 |
339 | Grand Total
340 | |
341 | 25764
342 | |
343 | 338636
344 | |
345 | 167050
346 | |
347 | 1579066
348 | |
349 | 317634
350 | |
351 | 1153342
352 | |
353 | 3581491
354 | |
355 |
356 |
357 |
358 | * **Adoption Bounty** - SOV deployed as part of Adoption bounties (e.g. competition rewards).
359 | * **Bug Bounty** - SOV deployed as part of the Sovryn bug bounty program.
360 | * **Contributor Bonus Grants** - SOV grants awarded to contributors which is not part of their ongoing compensation.
361 | * **Contributor Compensation Grants** - ongoing distributions of SOV to core contributors for work on the protocol.
362 | * **Development** - SOV deployed for third party development.
363 | * **Strategic Round** - SOV distributed to investors as part of the May 2021 Strategic Round.
364 |
365 | ## Proposed Changes:
366 |
367 | * Transfer a total of 2,000,000 SOV from the adoption fund contract (0x0f31cfd6aAb4d378668Ad74DeFa89d3f4DB26633) to the Exchequer multisig address (0x924f5ad34698Fd20c90Fe5D5A8A0abd3b42dc711).
368 | * Transfer a total of 1,000,000 SOV from the development fund contract (0x617866cC4a089c3653ddC31a618b078291839AeB) to the Exchequer multisig address (0x924f5ad34698Fd20c90Fe5D5A8A0abd3b42dc711).
369 |
370 |
371 | ## License:
372 |
373 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
374 |
--------------------------------------------------------------------------------
/SIP-0066.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0066'
3 | Title: Curtailing Zero borrowing
4 | Author: Edan Yago (@YagoBit), Tyrone Johnson (@tjcloa)
5 | Status: Ready for vote
6 | Track: Contract
7 | Created: 2023-07-26
8 | ---
9 |
10 | # SIP-0066: Curtailing Zero borrowing
11 |
12 | ## Background
13 |
14 | As we expected, Zero has proved to be an extremely desirable product. Zero exists as part of a two-sided market. On the one side are those who wish to borrow against their BTC, and in doing so, issue new DLLR into existence. On the other hand are Sovryn Dollar holders, who create the demand for Sovryn Dollars that are issued by Zero.
15 |
16 | As is frequently the case in two-sided markets, one side is much easier to grow early on. In the case of Zero and the Sovryn Dollar, it has proven to be much easier to grow Zero than the Sovryn Dollar. This is due to the fact that Zero is immediately useful to a single individual, whereas the Sovryn Dollar becomes more useful at scale. The Sovryn Dollar is a currency, and like all currencies, it requires and benefits from a network effect.
17 |
18 | Growing a two-sided market is a common challenge in the digital realm. There are well worn strategies to achieve this. Please see below post.
19 |
20 | Currently the development of the Sovryn Dollar ecosystem lags behind. While we are progressing in developing the Sovryn Dollar ecosystem, we expect it will be a few months until efforts begin to bear fruit. In the interim, this poses a challenge to the Sovryn Dollar peg and causes cannibalization of Zero LoCs through redemptions.
21 |
22 | To put numbers on this:
23 |
24 | Since the beginning of April, about ~2.1m ZUSD has been borrowed. During this same time period, cumulative redemptions have increased from ~1.3m ZUSD to ~3.4m ZUSD, an increase of about ~2.1m ZUSD. The similarity of these amounts is no coincidence.
25 |
26 | To support Zero, our highest priorities are:
27 | - Maintaining the DLLR peg
28 | - Minimising redemptions.
29 |
30 | We have seen some success on both these fronts. However, until we begin to see consistent growth in DLLR demand, this progress remains fragile.
31 |
32 | For this reason it is proposed that we should curtail new Zero borrowing until DLLR demand shows significant and consistent growth. Given that Zero is permissionless, we cannot shut borrowing down with the current smart contract. Instead it is proposed that the origination fee be increased to make borrowing prohibitively expensive.
33 |
34 | ## Concerns and considerations
35 |
36 | ### How will this impact protocol revenue?
37 | In the short term, we can expect to see a significant reduction in protocol revenue, as originations are currently the most significant revenue driver. This short term negative impact is prudent, if it positions us for further revenue growth in the future.
38 |
39 | Protecting the two priorities described above, while growing the demand base for Sovryn Dollar is exactly the set up required for this kind of future growth.
40 |
41 | This will also allow us to more easily direct borrowing demand to the fixed-interest borrowing product, which will help drive DLLR lending demand.
42 |
43 | ### How will this impact users currently holding LoCs?
44 | Existing LoCs will not see any change to their fees. What we expect they will see is a lower chance of redemption.
45 |
46 | ### How will this impact new users?
47 | New users will be unable to open LoCs at attractive rates. Adjustments to the frontend can help make sure they do not create very expensive LoCs in error.
48 |
49 | ## Resolved
50 |
51 | Increase the Origination fee - Floor: 99%; Max 100%
52 |
53 | ## Code changes
54 |
55 | - Updating BORROWING_FEE_FLOOR from 5% to 99%
56 | - Updating BORROWING_FEE_MAX from 7.5% to 100%
57 |
58 | ## License
59 |
60 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
61 |
--------------------------------------------------------------------------------
/SIP-0071.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: 0071
3 | Title: Free Zero, Free Markets, Free Individuals
4 | Author: capitalist42 (@capitalist42)
5 | Status: Approved
6 | Track: Parameter
7 | Created: 2023-11-25
8 | ---
9 |
10 | # SIP-0071: Free Zero, Free Markets, Free Individuals
11 |
12 | ## Summary
13 |
14 | If approved, this Proposal will reopen ZUSD minting in Zero protocol with a 13% origination fee floor.
15 | The goal is to bring back a functional two-sided market,
16 | restore user confidence in the system, and generate more revenue for Bitocracy stakers.
17 |
18 | ## Background
19 |
20 | Four months ago, the origination fee floor of Zero Protocol was raised to 99% with SIP-0066.
21 | Essentially, Bitocracy paused the minting of ZUSD to maintain the DLLR peg
22 | and minimize ZUSD redemptions.
23 | During that four-month time period, several key observations were made:
24 |
25 | - The total supply of ZUSD decreased from approximately 6.69 million to 4.58 million.
26 | - Approximately 1 million ZUSD redemptions took place.
27 | - Around 1.08 million ZUSD credit repayments were made.
28 | - The total collateral ratio increased from around 372% to 530%.
29 | - The 90-day moving average daily revenue dropped from 0.03667 BTC to 0.00938 BTC,
30 | a reduction of approximately 74.4%.
31 |
32 | ## Motivation
33 |
34 | We see that the demand and supply market of ZUSD has reached an equilibrium point.
35 | There were only around 50K ZUSD redemptions that took place in November.
36 | The excess ZUSD supply has been removed.
37 | The current 14% interest rate of DLLR also indicates strong demand.
38 | Therefore, it is a solid time to restore a functional two-sided market where
39 | individuals can take the trade of minting new ZUSD with the risk of getting redeemed.
40 |
41 | All Defi Protocols are confidence games. Bitocracy is a private entity that issues private currencies backed by BTC.
42 | Therefore, it is important to consider public optics and present the platform as reliable and trustworthy.
43 |
44 | Reopening ZUSD minting will generate more revenue for Bitocracy stakers.
45 | The market will revalue the SOV token to a higher price.
46 | With high transaction fees in the Bitcoin network and upcoming halving,
47 | the price signal of the SOV token will be the best marketing to bring new users to the Sovryn platform.
48 |
49 | ## Why 13%
50 |
51 | The number we have chosen is close to the current interest rate of DLLR but not too high that speculators won't pay.
52 | The number should be lower than the interest rate of DLLR simply
53 | because minting ZUSD requires more collateral (average 530%) to maintain without significant redemption risk.
54 |
55 | The number is derived from the golden ratio.
56 | 5 \* 1.618^2 = 13.08962
57 |
58 | The 13% fee will significantly restrict the growth of the ZUSD supply but not be too high to stop the growth completely.
59 |
60 | ## Proposed changes
61 |
62 | If approved, the origination fee will fluctuate between 13% and 100%.
63 | The following change will be made to the Zero Protocol base parameters:
64 |
65 | - Updating "BORROWING_FEE_FLOOR" from 99% to 13% by calling \`setBorrowingFeeFloor(uint256)\`
66 | on the \`0xf8B04A36c36d5DbD1a9Fe7B74897c609d6A17aa2\` contract
67 | with the encoded data \`0x00000000000000000000000000000000000000000000000001cdda4faccd0000\`.
68 |
69 | ## License
70 |
71 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
72 |
--------------------------------------------------------------------------------
/SIP-0072.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0072'
3 | Title: Remove Bridge Functions from Mynt
4 | Author: Tyrone Johnson (@tjcloa)
5 | Status: Ready for vote
6 | Track: Contract
7 | Created: 2023-12-12
8 | ---
9 |
10 | # SIP-0072: Remove Bridge Functions from Mynt
11 |
12 | ## Description
13 |
14 | There are two Mynt contract updates included in this SIP:
15 | - Removal of legacy code related to the Sovryn Bridge integration
16 | - Technical update of the contracts with the bytecode changed due to modified NatSpec comments
17 |
18 |
19 | ### 1) Removal of legacy bridges related code
20 |
21 | Mynt was initially cloned from Babelfish protocol as the basis for Sovryn DLLR BTC-based stablecoin.
22 |
23 | Babelfish uses bridges as trusted sources for conversions. However it was decided not to use the bridges in Mynt.
24 |
25 | To keep Mynt development on schedule, the bridge-related functionality was muted and unused, which created technical debt that we are paying back now with this SIP.
26 |
27 | Unused code in smart contracts not only causes confusion for reviewers and integrators but is also a potential source of bugs and vulnerabilities in the future.
28 |
29 | Following smart contract security best practices we have removed all the code related to bridge integration.
30 |
31 | ### 2) Technical upgrade
32 |
33 | Changes in OpenZeppelin (OZ) contract `Initializable` inherited by `FeesVault` and `MocIntegration` contracts: OZ package version upgrade to 4.8.3 among other fixes changed the NatSpec function comments, which are added by a solidity compiler as metadata to the bytecode of the FeesVault and MocIntegration contracts:
34 |
35 |
36 |
37 |
38 | __If approved, this proposal will update the following Mynt contracts affected by the code cleanup: BasketManagerV3, MassetManager, FeesManager, FeesVault, and MocIntegration.__
39 |
40 | ## Proposed change
41 |
42 | __Existing logic contracts__
43 | BasketManagerV3: 0xb61Ff601E0b4531e39d9683c5Ab48873ccFd352B
44 | MassetManager: 0x90F16042abF49e3c08d7D37Aa5b8eDc439DF1D9d
45 | FeesManager: 0x1Cc0278c59577641E9fE38a0F698D15dA6CA47e4
46 | FeesVault: 0x0e87Fd4cF5C7e78ab0B1Cc2dEc31C2D34355D9f0
47 | MocIntegration: 0x68D06009d4DD7c189B9f5dF1D53aCffC5bF898aF
48 |
49 | __New logic contracts__
50 | BasketManagerV3: 0x4Ec09f11E667dd39E8751A07a74a2F90712Ef322
51 | MassetManager: 0x15e34a753854be868b6c99333964ae655c2bab4f
52 | FeesManager: 0xccCa715033DC18240bd30D4A99d084D3329e9B73
53 | FeesVault: 0x5ad2ef1259a1b65558f56738f73998597ef300e5
54 | MocIntegration: 0xb9d63f4ab03e92760d014c300c18b37783a5ac7e
55 |
56 | Proposed changes: Mynt [PR#13](https://github.com/DistributedCollective/mynt/pull/13)
57 |
58 | ## License
59 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
60 |
--------------------------------------------------------------------------------
/SIP-0073.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0073'
3 | Title: Refactor Sovryn Protocol Interface with AMM
4 | Author: Ororo (@ororopickpocket), Tyrone Johnson (@tjcloa)
5 | Status: Ready for vote
6 | Track: Contract
7 | Created: 2023-12-12
8 | ---
9 |
10 | # SIP-0073: Refactor Sovryn Protocol Interface with AMM
11 |
12 | ## Issue
13 |
14 | The contract SwapsImplSovrynSwap serves as an interface between Sovryn protocol functionality and the Sovryn AMM to swap assets and query exchange rates.
15 | The way it is implemented is confusing and error prone because in some cases it is used as a standalone contract with its own storage and sometimes as a library executing delegated calls from the protocol modules and using its storage.
16 | Because AMM swaps and exchange rates queries are used by every protocol module - it is is a crucial part of our codebase which requires refactoring to improve robustness and clarity of our codebase, for both internal usage and external integrations implicitly improving security.
17 |
18 | ## Solution
19 |
20 | We refactored the SwapsImplSovrynSwap by converting it into a Sovryn protocol module SwapsImplSovrynSwapModule and extracting all the AMM integration functions into a library which increases the robustnessness and clarity of the AMM interface.
21 |
22 | __If approved, this proposal will update all the Sovryn protocol modules and add a new SwapsImplSovrynSwapModule.__
23 |
24 | ## Proposed change
25 |
26 | __Existing Sovryn protocol module contracts__
27 | |Contract|Address|
28 | |---|---|
29 | | Affiliates | 0xb756218F36179e26102f7b485aa43031861f5D49 |
30 | | LoanClosingsLiquidation | 0x2d7b3c5B4985A5dA5059AF1466c3FF2fbff4c0A8 |
31 | | LoanClosingsRollover | 0xc424d620bCB1e62D6A3353D6dc6D626b720f1D52 |
32 | | LoanClosingsWith | 0x88500b472a245a937D07c53B22a107Ce1901d30f |
33 | | LoanOpenings | 0x78145b66Ee07365CDCf9D79B74100950C641Ba42 |
34 | | LoanMaintenance | 0xf5Cb98bEAe74506Fafe4f5824C144bC7907869b0 |
35 | | LoanSettings | 0xab39152B4F3553c28b1b50031D654c83b10BAFc1 |
36 | | ProtocolSettings | 0xC7F237bC38356D7a5bad5C16502537658b9610DB |
37 | | SwapsExternal | 0x4010bc8A340fB7f9C98053cA2031631c9E575195 |
38 |
39 | __New Sovryn protocol module contracts__
40 | |Contract|Address|
41 | |---|---|
42 | | Affiliates | 0x83a167A96e73c35C0EdF7bC26a6041f3a62004D3 |
43 | | LoanClosingsLiquidation | 0xdC74C456457d769399e8DA8b49500E31E5b223Df |
44 | | LoanClosingsRollover | 0x2add8EfebD9477222784468f63F27e4cf6B7A8Ea |
45 | | LoanClosingsWith | 0xa9a268388D5c317E5F3EBd7C8e8E6c48a0BaFC9A |
46 | | LoanOpenings | 0x7b520c4BDB4527A2c1cA8E24c245660df9636b22 |
47 | | LoanMaintenance | 0x4BC462e2c8D106511D8e7985b05A52fD8b726464 |
48 | | LoanSettings | 0xABA8f49e4EDbd95ccd593ED37b86a5716Fde2bED |
49 | | ProtocolSettings | 0x93B1F35d9c9F5abED48E44782D58A6804B967Ee3 |
50 | | SwapsExternal | 0xBba834823b3351359A89f548504a11a601a6eD42 |
51 | | SwapsImplSovrynSwapModule | 0x8104682DF8309c5Fae7C2cB2F457a2878290e2Ac |
52 |
53 | Proposed changes: [PR#530](https://github.com/DistributedCollective/Sovryn-smart-contracts/pull/530)
54 |
55 | ## License
56 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
57 |
--------------------------------------------------------------------------------
/SIP-0074.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0074'
3 | Title: Smart Contracts Upgrade Electron
4 | Author: Tyrone Johnson (@tjcloa)
5 | Status: Ready for vote
6 | Track: Contract
7 | Created: 2024-01-16
8 | ---
9 |
10 | # SIP-0074: Smart Contracts Upgrade Electron
11 |
12 | ## Description
13 |
14 | ### This upgrade includes solution of the following issues
15 |
16 | 1. **Increase Borrowing Debt Bug: Unable to use existing excessive collateral for borrowing**
17 | When users attempt to borrow more on an existing loan using the collateral of that loan, the calculation for collateral sufficiency is incorrect.
18 | This results in users being unable to borrow a fair amount, only a fraction at best.
19 |
20 | **Solution:** The bug is resolved with [PR#520](https://github.com/DistributedCollective/Sovryn-smart-contracts/pull/520).
21 |
22 | 3. **VestingLogic Contract Refactoring: Removal of vestings cancelling & allowance for partial withdrawal**
23 | 3.1. A legacy and unnecessary Team Vesting cancelling function in the VestingLogic contract has been a source of confusion
24 | and it has already been optimized by moving it to the Staking contract.
25 | _The function is removed from the VestingLogic contract._
26 | 3.2. Vesting contracts with more than 44 unlocked periods are deadlocked due to a block gas limit issue.
27 | _A new function is introduced to allow withdrawals of unlocked amounts in chunks._
28 |
29 | **Solution:** Resolved in the Sovryn-smart-contracts repository [PR#529](https://github.com/DistributedCollective/Sovryn-smart-contracts/pull/529).
30 |
31 | 5. **EIP-2612 Bug in DLLR Function transferWithPermit: Extracting from a transaction and front-running permit causes the transaction failure**
32 | This vulnerability was reported by a researcher in the Immunefi Bug Bounty Program.
33 | Mynt DLLR contract function `transferWithPermit` is vulnerable to a griefing attack. An attacker can extract permit parameters from a transaction in the mempool
34 | and front run its execution before the transaction, causing it to fail because its nonce is already used for this permission by the attacker.
35 | The DLLR contract is not upgradable, but a workaround has been found - use a Uniswap [Permit2](https://github.com/Uniswap/permit2) contract which enables any ERC-20 token with EIP-2612 Permit functionality.
36 | All affected contracts depending on the `transferWithPermit` function in Mynt and zero-contracts repositories are to be upgraded.
37 |
38 | **Solution:**
39 | Mynt: [PR#18](https://github.com/DistributedCollective/mynt/pull/18).
40 | zero-contracts: [PR#3](https://github.com/DistributedCollective/zero-contracts/pull/3).
41 |
42 | 6. **Aggregating PR#535**
43 | This [pull request](https://github.com/DistributedCollective/Sovryn-smart-contracts/pull/535) includes a script for SIP creation and deployment data for all new contracts from the pull requests included in this upgrade, necessary for executing the SIP upgrade.
44 |
45 | __If approved, this proposal will upgrade the following contracts__
46 |
47 | __Existing contracts__
48 | | Contract | Address |
49 | | -------------------------------------- | ------------------------------------------ |
50 | | Mynt MocIntegration logic contract | 0x9363323D9c653a2b89C758f62f5043f0B2c67C71 |
51 | | Zero StabilityPool logic contract | 0x05a2dac59122f1dAcb7BB42b9736a8B27C12e193 |
52 | | Zero TroveManager logic contract | 0xF365CC004d4c3826b53B943f5fc7B8aec6e43341 |
53 | | Zero TroveManagerRedeemOps contract | 0xd4CE65a6DB60BeDD51c499b716969d57998Cd941 |
54 | | Zero BorrowerOperations logic contract | 0x6dafc71f49f9aa25325126dd9fec426624afb878 |
55 | | Protocol module contract LoanOpenings | 0x7b520c4BDB4527A2c1cA8E24c245660df9636b22 |
56 | | VestingLogic contract | 0x648Ff0C537A10414b8aFa92Fe1D40aBD4DB2479b |
57 | | VestingFactory contract | 0x2399b527b9966774c99ad600af104CcD320325B6 |
58 |
59 |
60 |
61 | __New contracts__
62 | | Contract | Address |
63 | | -------------------------------------- | ------------------------------------------ |
64 | | Mynt MocIntegration logic contract | 0x454E8deBBf6900036372407a23E1d0284Be3f12A |
65 | | Zero StabilityPool logic contract | 0x2a1950a06AD5C5113e44721820305645d671eC4F |
66 | | Zero TroveManager logic contract | 0x3d841398AcA5794b9da2f2573F473075417a0117 |
67 | | Zero TroveManagerRedeemOps contract | 0xa4161D23002e110b3d5C430EfAfF299415074c67 |
68 | | Zero BorrowerOperations logic contract | 0xD603B4c5F7BF13a2AA510F2c625546dB4138D330 |
69 | | Protocol module contract LoanOpenings | 0x000fec34466972987928d519948AA1b25EACD3E9 |
70 | | VestingLogic contract | 0x8bFf9023495ed689f2362CCc45Bfe61ba299e90F |
71 | | VestingFactory contract | 0x4DfA9759E1Ff3B7F8055a84e3fd76dF6F57BaEf1 |
72 |
73 |
74 | ## License
75 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
76 |
--------------------------------------------------------------------------------
/SIP-0075.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: 0075
3 | Title: Reduce Zero Origination Fee
4 | Author: Sacro21
5 | Status: Ready for vote
6 | Track: Parameter
7 | Created: 2024-01-27
8 | ---
9 |
10 | # SIP-0075: Reduce Zero Origination Fee
11 |
12 | ## Summary
13 |
14 | If approved, this proposal will reduce ZUSD origination fee floor in the Sovryn Zero protocol from 13% to 8%.
15 |
16 | ## Background
17 |
18 | Six months ago, the origination fee floor of Zero Protocol was raised to 99% with SIP-0066.
19 | Essentially, Bitocracy paused the minting of ZUSD by setting extremely high fees to maintain the DLLR peg.
20 | Two months ago, Zero was "reopened" by setting the origination fee to 13% with SIP-0071. This fee was deliberately set quite high in order to cautiously ramp up the system again and achieve the assumed balance between supply and demand for $DLLR.
21 |
22 | Since then several key observations were made:
23 | • The total supply of ZUSD decreased from approximately 6.69 million (start SIP-0066) to 4.58 million (start SIP-0071) to 3.85 million (now).
24 | • Numbers of LoC’s declined from 150 (start SIP-0066) to 88 (start SIP-0071) to 83 (now).
25 | • The total collateral ratio increased from around 372% (SIP-0066) to 530% (SIP-0071) to 604% (now).
26 | • From SIP-0066 to SIP-0071 (8/23-12/23), Zero fee revenue was 15k USD. Since SIP-0071 (01/24) (total Zero fee revenue is 34k USD).
27 |
28 | ## Motivation
29 |
30 | Despite reopening Zero, we can still see a decline in the metrics shown above.
31 | Large parts of the excess ZUSD supply has been removed.
32 | The current 10% interest rate of DLLR lending pool also indicates strong demand.
33 | Therefore, we believe it is a good time to make Zero more accessible and to increase protocol revenue.
34 | Individual users should make sure they understand the system and specifically, redemptions.
35 | If significantly more redemptions occur than expected, Sovryn can also use the increased revenue as a safety mechanism to incentivize the holding of $DLLR via $SOV rewards.
36 |
37 | ## Proposed changes
38 |
39 | If approved, the origination fee will fluctuate between 8% and 100%.
40 | The following change will be made to the Zero Protocol base parameters:
41 |
42 | - Updating "BORROWING_FEE_FLOOR" from 13% to 8% by calling \`setBorrowingFeeFloor(uint256)\`
43 | on the \`0xf8B04A36c36d5DbD1a9Fe7B74897c609d6A17aa2\` contract
44 | with the encoded data \`0x000000000000000000000000000000000000000000000000011c37937e080000\`.
45 |
46 | ## License
47 |
48 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
49 |
--------------------------------------------------------------------------------
/SIP-0076.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0076'
3 | Title: Transfer of SOV from Adoption and Development Funds to Exchequer
4 | Author: Armando (@SovrynArmando)
5 | Status: Draft
6 | Track: Contract
7 | Created: 2024-02-07
8 | ---
9 |
10 | # **SIP-0076: Transfer of SOV from Adoption and Development Funds to Exchequer**
11 |
12 | ## Description:
13 |
14 | The Adoption and Development Funds (collectively the "Funds") have a predetermined vesting schedule. Once the SOV in the Funds vests, it becomes available for distribution with the goal of promoting the adoption of the Sovryn protocol and further its development. Deployment of a certain amount of vested SOV in these funds has been previously entrusted by Bitocracy to the Exchequer Committee following SIP-0015 and SIP-0065. As of February 1st, 2024, the SOV held in these Funds is divided as follows:
15 |
16 |
17 | | | Development Fund | Adoption Fund | Total |
18 | | ----------------- | ---------------- | ------------- | ---------- |
19 | | Starting Balance | 8,368,598 | 37,222,239 | 45,590,837 |
20 | | Withdrawn To Date | 4,231,626 | 10,925,931 | 15,157,557 |
21 | | Remaining Balance | 4,136,972 | 26,296,308 | 30,433,280 |
22 | | Vested To Date | 2,463,252 | 21,085,196 | 23,548,448 |
23 | | Remaining Vest | 1,673,720 | 5,211,112 | 6,884,832 |
24 |
25 | This SIP will approve the transfer of a total of 9,125,500 vested SOV from the Funds to the Exchequer to facilitate the ongoing development and adoption of the Sovryn protocol. It is expected that the SOV transferred as part of this SIP will be reserved in the following amounts and for the following uses:
26 |
27 | - **1M SOV - Market Maker liquidity, exchange listings**. This allocation will be dedicated to expanding SOV markets, improving trading conditions, and securing additional exchange listings.
28 | - **5.12M SOV - SOV rewards**. This includes staking rewards, LM rewards (which have been reduced over the course of 2023), and to support a more robust Bitocracy and expansion on to additional chains.
29 | - **2M SOV - Non-programmatic distributions.** This allocation will be reserved for collaboration with partners, contributor distributions, bug bounties and adoption bounties. It is expected that this bucket of distributions will be 30% lower than 2023.
30 | - **1M SOV - Reserve**
31 |
32 | Use cases and amounts might change and will be at the discretion of the Exchequer.
33 |
34 | For reference, below is the breakdown of all previous SOV distributions made by Exchequer by year and by type.
35 |
36 | ### Summary of Total SOV Distributions
37 |
38 | | **Source** | **2021** | **2022** | **2023** | **Claimed** | **Supplied** |
39 | | --------------------------------- | ------------- | -------------- | -------------- | -------------- | -------------- |
40 | | **Available for Distributions\*** | **7,741,307** | **15,838,571** | **11,829,032** | **-** | **-** |
41 | | Programmatic Distributions | 2,231,272 | 3,186,850 | 2,545,916 | 7,964,038 | 9,188,092 |
42 | | Non-Programmatic Distributions | 872,904 | 2,126,624 | 3,017,406 | 6,016,935 | 6,157,121 |
43 | | **Total Distributions** | **3,104,177** | **5,313,474** | **5,563,322** | **13,980,973** | **15,345,213** |
44 | | Remaining Balance | **4,637,130** | **10,525,097** | **6,265,710** | - | - |
45 | | Remaining Balance (%) | **60%** | **66%** | **53%** | - | - |
46 |
47 | _\* Available in the Adoption and Development Funds as per the SOV Emission Schedule at TGE. https://shorturl.at/ekrtE_
48 |
49 | ### Summary of Programmatic SOV Distributions
50 |
51 | | ***Type*** | ***2021*** | ***2022*** | ***2023*** | ***Claimed*** | ***Supplied*** | ***% (Total)*** |
52 | | ------------------ | --------------- | --------------- | --------------- | --------------- | --------------- | --------------- |
53 | | _LiquidityMining_ | _2,176,942_ | _2,838,868_ | _1,876,431_ | _6,892,241_ | _7,676,092_ | _84%_ |
54 | | _Staking_ | _54,330_ | _347,982_ | _645,428_ | _1,047,740_ | _1,462,000_ | _16%_ |
55 | | _ZeroSP Subsidies_ | _-_ | _-_ | _24,057_ | _24,057_ | _50,000_ | _0%_ |
56 | | ***Total*** | ***2,231,272*** | ***3,186,850*** | ***2,945,916*** | ***7,964,038*** | ***9,188,092*** | ***100%*** |
57 |
58 | ### Summary of Non-Programmatic SOV Distributions
59 |
60 | | **Type** | **2021** | **2022** | **2023** | **Claimed** | **Supplied** | **% (Total)** |
61 | | ------------------ | ----------- | ------------- | ------------- | ------------- | ------------- | ------------- |
62 | | Contributor Bonus | 65,602 | 101,468 | 1,890,000 | 2,057,050 | 2,057,070 | 33% |
63 | | Contributor Comp | 319,206 | 989,051 | 705,926 | 2,014,182 | 2,014,182 | 33% |
64 | | Strategic Round | 436,805 | 716,536 | 0 | 1,153,342 | 1,293,528 | 21% |
65 | | Bug Bounty | 3,480 | 24,053 | 420,980 | 448,962 | 448,962 | 7% |
66 | | Development Bounty | 34,473 | 283,161 | 317,634 | 317,634 | 317,634 | 5% |
67 | | Adoption Bounty | 13,339 | 11,925 | 500 | 25,764 | 25,764 | 0% |
68 | | **Total** | **872,904** | **2,126,644** | **3,017,406** | **6,016,935** | **6,157,121** | **100%** |
69 |
70 | ## **Proposed Changes:**
71 |
72 | - Transfer a total of 7,475,000 SOV from the adoption fund contract (0x0f31cfd6aAb4d378668Ad74DeFa89d3f4DB26633) to the Exchequer multisig address (0x924f5ad34698Fd20c90Fe5D5A8A0abd3b42dc711).
73 | - Transfer a total of 1,650,500 SOV from the development fund contract (0x617866cC4a089c3653ddC31a618b078291839AeB) to the Exchequer multisig address (0x924f5ad34698Fd20c90Fe5D5A8A0abd3b42dc711).
74 |
75 | ## License
76 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
77 |
--------------------------------------------------------------------------------
/SIP-0077.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0077'
3 | Title: Enhancement of Staking Rewards and Governance Mechanisms in Anticipation of BitcoinOS
4 | Author: Yago (@YagoBit)
5 | Status: Approved
6 | Track: Contract
7 | Created: 2024-02-04
8 | ---
9 |
10 | # **SIP-0077: Enhancement of Staking Rewards and Governance Mechanisms in Anticipation of BitcoinOS**
11 |
12 | ## 1. Abstract
13 | This SIP proposes enhanced SOV yield to the Bitocracy rewards mechanism and governance structures in anticipation of the deployment of BitcoinOS products and the expansion of the Sovryn dApp Suite across more Bitcoin-related chains. The aim is to align incentives, enhance security, and prepare for a truly Bitcoin-native ecosystem with minimized trust assumptions outside Bitcoin.
14 | ## 2. Motivation
15 | As Sovryn expands its deployment across multiple chains and prepares for the introduction of BitcoinOS, there's a need for revised Bitcocracy participation rewards structures and incentive models. This SIP addresses the complexities of anticipating incentive changes in light of cross-chain activities, the possible reissuance of canonical SOV tokens within BitcoinOS, and the need for increased participation in governance and security of the system through Sovryn Phase Two: Infrastructure.
16 |
17 | In particular, this SIP seeks to preempt and counter three identified potential sources of misalignment:
18 | 1. **Reduced Focus on Rootstock Bitocracy**: The risk of “shiny new thing syndrome” could lead to reduced participation in Rootstock Bitocracy. We seek to avoid this by providing clear assurances of RSK Bitocracy’s continued relevance and equivalent potential rewards. Additionally, we seek to provide Rootstock Bitocracy stakeholders with a head start, befitting their earlier participation.
19 | 2. **Reduced Security and Network Participation**: Staking rewards and incentives are critical for maintaining the security and robustness of blockchain networks. Without introducing the SIP, the ecosystem might face challenges in attracting and retaining validators or stakers, which could compromise network security and performance.
20 | 3. **Slower Adoption and Growth**: Incentives play a significant role in encouraging the adoption of new technologies and platforms. The absence of a well-structured incentive mechanism through the SIP could slow down the adoption rate of the Sovryn DApp Suite and BitcoinOS rollups, hindering the project's growth and expansion goals.
21 |
22 | ## 3. Specification
23 | 1. **Introduction of SOV Rewards on Rootstock**: Stakers on Rootstock will begin earning SOV as part of the staking rewards, enhancing the incentives for participation within the ecosystem.
24 | 2. **Reward Competitiveness**: The SOV rewards for stakers on Rootstock will be designed to be equal to or higher than those available on any other platform, ensuring Rootstock remains the most attractive venue for staking.
25 | 3. **Starting Return Rate**: The max SOV reward rate will be set at 9% for max stakers, providing a clear and competitive return for those committing to the ecosystem for longer durations. This will be in addition, and supplementary to, rewards earned from protocol fees in BTC and other tokens.
26 | 4. **Non-Transferability of Rewards**: Initially, the rewards in the form of SOV will be non-transferable. This measure is in place until the reissuance of SOV occurs, ensuring a controlled distribution and utilization of rewards within the system.
27 | 5. **Reissuance and Liquidity of SOV**: Upon the canonical reissuance of SOV, the earned rewards will become liquid and transferable on the new canonical registry. This will allow for their transfer, exchange and usage within the BitcoinOS system. No newly reissued SOV tokens will be made liquid earlier, ensuring prioritization of ‘legacy’ Bitocracy stakers.
28 |
29 | ## 4. Rationale
30 | The proposed changes are designed to secure the system's integrity during a critical expansion phase, reduce uncertainties associated with cross-chain deployments, and ensure that the Sovryn ecosystem remains attractive and secure for both current and future stakeholders. By providing clear incentives for early and sustained participation, this SIP aims to bolster the project's governance and security, while preparing for a seamless transition to a Bitcoin-native environment.
31 |
32 | ## 5. Technical Specification
33 | This SIP will make use of the SIP 24 codebase with minor modification.
34 |
35 | ## 6. Implementation
36 | PR: https://github.com/DistributedCollective/Sovryn-smart-contracts/pull/536
37 |
38 | ## 7. Security Considerations
39 | Enhanced staking rewards and decentralized governance mechanisms are designed to improve system security and resilience.
40 | The proposal includes measures to mitigate risks associated with cross-chain activities and token reissuance.
41 | Further analysis and community input will be sought to address any additional security concerns.
42 |
43 | ## License
44 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
45 |
--------------------------------------------------------------------------------
/SIP-0078.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0078'
3 | Title: Proposal for Sovryn to Launch on BOB Chain
4 | Author: Alexei Zamyatin (@alexeiZamyatin)
5 | Status: Approved
6 | Track: Other
7 | Created: 2024-03-08
8 | ---
9 |
10 | # **SIP-0078: Proposal for Sovryn to Launch on BOB Chain**
11 |
12 | ## Summary
13 |
14 | This SIP proposes the integration of Sovryn, the leading Bitcoin DeFi project, onto the BOB (Build on Bitcoin) chain, a new hybrid L2 between Bitcoin and Ethereum. By leveraging the Ethereum ecosystem’s rich functionalities and bringing Sovryn’s best-in-class Bitcoin DeFi suite to a larger market, this collaboration aims to catalyze a significant migration of users and capital from Ethereum and the wider crypto economy back to Bitcoin, capturing a massive market opportunity.
15 |
16 | The partnership between Sovryn and BOB will serve as the conduit for this movement, providing users with enhanced UI, functionality, and rewards, while simultaneously expanding Bitcoin’s reach within the DeFi space.
17 |
18 | ## Background
19 |
20 | Sovryn has established itself as a pioneering force in the realm of Bitcoin DeFi, offering users a comprehensive suite of decentralized financial services tailored specifically for Bitcoin holders. However, to further extend Sovryn’s reach and solidify its position as the premier Bitcoin DeFi project, it is imperative to integrate with platforms that can facilitate seamless interaction with the broader crypto ecosystem. BOB is the first Bitcoin L2 with full EVM compatibility & native Bitcoin support empowering everyone to build and innovate on Bitcoin. The BOB chain presents an ideal opportunity in this regard, offering a Bitcoin-centric environment while leveraging Ethereum’s extensive toolkit for enhanced functionality.
21 |
22 | ## About BOB
23 |
24 | BOB ("Build on Bitcoin") is a first-of-its kind hybrid L2 network that connects Bitcoin and Ethereum. BOB empowers everyone to build and innovate on Bitcoin today by combining EVM smart contracts with tooling for Bitcoin-native protocols and assets such as Ordinals. Merging the security of Ethereum rollup technology with Bitcoin’s Proof-of-Work makes BOB the most secure and reliable layer 2 network. Through trust-minimized bridges to both Ethereum and Bitcoin, BOB efficiently funnels liquidity from the two leading web3 economies.
25 |
26 | ## Motivation
27 |
28 | ### Benefits to Sovryn
29 |
30 | - **Expansion of Market Reach:** Integrating Sovryn onto the BOB chain will enable access to Ethereum’s vast user base of over 1 million active users, representing a largely untapped market for Bitcoin DeFi services. This expansion of market reach presents a substantial economic opportunity for Sovryn to capture a significant portion of the rapidly growing Bitcoin DeFi market, projected to reach $100 billion.
31 |
32 | - **Enhanced UI and Functionality:** By tapping into Ethereum’s rich ecosystem, Sovryn can leverage advanced UI/UX designs and incorporate innovative functionalities to enhance user experience.
33 |
34 | - **Strengthened Leadership Position:** Establishing Sovryn on BOB reinforces its status as the leading Bitcoin DeFi project, further solidifying its position within the DeFi landscape.
35 |
36 | - **Strategic Partnership:** Sovryn’s collaboration with BOB signifies a commitment to fostering interoperability within the Bitcoin and Ethereum ecosystems, paving the way for future synergistic developments.
37 |
38 | ### Benefits to Bitcoin
39 |
40 | - **Massive User Acquisition:** Integrating Sovryn onto BOB brings a substantial influx of Ethereum users into the Bitcoin ecosystem, contributing to the growth of Bitcoin’s user base.
41 |
42 | - **Increased Utility for Bitcoin:** By providing Ethereum users with access to Bitcoin DeFi through Sovryn on BOB, Bitcoin’s utility is expanded, offering more opportunities for users to utilize their Bitcoin holdings in DeFi applications.
43 |
44 | ## Implementation
45 |
46 | ### Technical Integration
47 |
48 | The technical integration of Sovryn onto the BOB chain will involve adapting Sovryn’s smart contracts and interfaces to seamlessly interact with the BOB chain’s infrastructure. This will require collaboration between the development teams of Sovryn and BOB to ensure compatibility and smooth operation. BOB’s fully EVM-compatible programming layer (OP stack) thereby enables a smooth transition.
49 |
50 | ### Partnership Commitments
51 |
52 | As part of the partnership agreement, BOB commits to supporting Sovryn, as an early adopter of BOB, with user acquisition achieved by, including but not limited to, future ecosystem growth and incentive programs.
53 |
54 | ## Conclusion
55 |
56 | The integration of Sovryn onto the BOB chain marks the beginning of a transformative journey for Bitcoin DeFi. Being the first to market with this groundbreaking integration, Sovryn and BOB are poised to capture a significant portion of the multi-billion dollar DeFi market, positioning themselves as the leaders in facilitating the migration of users and capital back to Bitcoin.
57 |
58 | By leveraging Ethereum’s expansive ecosystem and tapping into a vast pool of Ethereum users, Sovryn and BOB will spearhead a significant migration of users and capital from Ethereum and the wider crypto economy back to Bitcoin. Together, Sovryn and BOB will serve as the conduit for this movement, ushering in a new era of interoperability and collaboration between the Bitcoin and Ethereum ecosystems.
59 |
60 | ## License
61 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
62 |
--------------------------------------------------------------------------------
/SIP-0079.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0079'
3 | Title: Transfer of SOV from Adoption Fund to Exchequer Build on Bitcoin Mainnet
4 | Author: Armando (@SovrynArmando)
5 | Status: Approved
6 | Track: Contract
7 | Created: 2024-03-22
8 | ---
9 |
10 | # **SIP-0079: Transfer of SOV from Adoption Fund to Exchequer Build on Bitcoin Mainnet**
11 |
12 | ## Background
13 | Pursuant to the successful approval of SIP-0078, Sovryn will be launching on BOB (Build on Bitcoin), once mainnet is available. As part of BOB’s launch, they will be providing certain rewards for funds that are pre-deposited in a timelock contract prior to mainnet launch (the “BOB Timelock Contract”). They announced this campaign today and some details can be found [here](https://twitter.com/build_on_bob/status/1771175967060373631).
14 |
15 | ## Description
16 | The Adoption Fund is designated to be used to further promote the Sovryn protocol and increase awareness and adoption.
17 | The Adoption Fund currently holds 13,827,325.41 SOV which is available for withdrawal and which is no longer subject to the Adoption Fund vesting schedule (as of March 21, 2024).
18 | This SIP proposes that a total of 13,800,000 SOV be transferred to the Exchequer for the purpose of pre-depositing these funds into the BOB Timelock Contract, for the duration of the timelock. Once the timelock period is complete, and the SOV deposited has met all the requirements to receive the corresponding rewards, the SOV will be returned to the Adoption Fund as soon as technically possible.
19 |
20 | The rewards generated by this pre-deposit will be used to incentivize users to provide liquidity to Sovryn’s AMMs launched on BOB.
21 |
22 | ## Risks
23 | The BOB Timelock Contract is managed by the BOB team, and grants them control over the funds deposited therein. Despite the fact that the Sovryn team has reviewed this contract, there is always the risk of an exploit or misuse of the funds in the contract, which can result in the loss of deposited funds. This risk is mitigated by the fact that the SOV deposited into the BOB Timelock Contract will be SOV bridged to Ethereum (eSOV) and in the event of a loss of funds, the bridged assets can be cancelled and the original SOV (on Rootstock) will not be affected.
24 |
25 | ## Proposed Changes
26 | Transfer a total of 13,800,000 SOV from the adoption fund contract (0x0f31cfd6aAb4d378668Ad74DeFa89d3f4DB26633) to the Exchequer multisig address (0x924f5ad34698Fd20c90Fe5D5A8A0abd3b42dc711)
27 |
28 | ## License
29 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
30 |
--------------------------------------------------------------------------------
/SIP-0080.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: 0080
3 | Title: Zero Protocol Redemption Page
4 | Author: capitalist42
5 | Status: Defeated
6 | Track: Proclamation
7 | Created: 2024-06-19
8 | ---
9 |
10 | SIP-0080: Zero Protocol Redemption Page
11 |
12 | ## Proclamation text
13 |
14 | Sovryn web application (reference deployment) should always include UI option for average users to redeem their ZUSD/DLLR via Zero Protocol.
15 |
16 | ## Motivation for writing this proclamation
17 |
18 | The Zero Protocol redemption page UI was removed in an effort to reduce redemptions. However, redemptions still happen. Most of the redemptions were executed by the arbitragers who have direct access to the smart contract. To live by the standard of "you don't have to be technical to be free", all Sovryn users should have equal access to the redemption feature of the Zero Protocol.
19 |
20 |
21 | ## License
22 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
23 |
--------------------------------------------------------------------------------
/SIP-0081.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0081'
3 | Title: Burning Unclaimed and Unallocated POWA Runes
4 | Author: Hyde
5 | Status: Ready for vote
6 | Track: Other
7 | Created: 2024-07-05
8 | ---
9 |
10 | # **SIP-0081: Burning Unclaimed and Unallocated POWA Runes**
11 |
12 | ## Background
13 |
14 | More than 35% of POWA is yet unclaimed, more than 60 days after launch. We propose to burn it all.
15 |
16 | The POWA Rune token was introduced in the 2024 halving block to symbolize individual sovereignty and empowerment. The distribution of POWA tokens was based on the points accumulated during the POWA Campaign, which rewarded users for staking, trading, and influence activities within the Sovryn ecosystem. As part of the ongoing commitment to maintain the value and integrity of the POWA token, it is essential to address the unclaimed and unallocated (for which users have not provided their addresses) tokens.
17 |
18 | Token Allocation Breakdown (values might change until claiming is disabled):
19 |
20 | - Total POWA: 1,000,000,000,000.00
21 | - Pre-sale POWA: 30,769,230,769.23 (3.08%)
22 | - Marketing POWA: 169,230,769,230.77 (16.92%)
23 | - Claimed POWA: 449,004,507,628.20 (44.90%)
24 | - Unclaimed Trading POWA: 37,697,735,279.93 (3.77%)
25 | - Unclaimed Staking POWA: 125,711,756,546.98 (12.57%)
26 | - Unclaimed Influence POWA: 75,506,059,358.54 (7.55%)
27 | - Unallocated Influence POWA: 112,079,941,186.32 (11.21%)
28 |
29 | Total unclaimed and unallocated POWA: 350,995,492,371.77 (35.10%)
30 |
31 | ## Summary
32 |
33 | This proposal outlines an approach to burning unclaimed and unallocated POWA tokens to enhance the value of the remaining tokens, ensure fair distribution, and reinforce the principles of individual sovereignty and empowerment that POWA represents.
34 |
35 | Unclaimed and unallocated tokens can potentially dilute the value for active participants and create a perception of inefficiency in token distribution. By burning these tokens, we aim to remove "dead" tokens from circulation, draw attention to the initiative, and encourage more users to claim their POWA before the deadline.
36 |
37 | Influence POWA campaign participants will have a chance to provide their RSK addresses until July 8th, 2024, at 12 PM UTC. All users will have the opportunity to claim their POWA tokens until July 15th, 2024, at 12 PM UTC. The distributor contract will be stopped after this time. The Sovryn Team will perform the necessary calculations and remove the specified amounts of POWA tokens.
38 |
39 | ## Impementation
40 |
41 | ### Technical Execution:
42 | - Stop the distributor contract on 15th July, at 12 PM UTC.
43 | - Determine the amount of POWA to be burned.
44 | - Inform the community about the final amounts of tokens to be burned.
45 | - Execute the burn of the specified amount of POWA tokens.
46 |
47 | ### Burning Process:
48 | - Remove the designated POWA tokens from the distributor contract.
49 | - Send the POWA tokens designated for burning to a specified address.
50 | - Bridge the POWA tokens back to the Bitcoin chain.
51 | - Perform the burn of the bridged POWA tokens on the Bitcoin chain.
52 |
53 | ### Execution Timing:
54 | - Execute the burn of all unclaimed and unallocated POWA tokens when market conditions are favorable to maximize the effect.
55 | - Ensure the burning is completed no later than the end of September 2024.
56 |
57 | ## License
58 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
59 |
60 |
--------------------------------------------------------------------------------
/SIP-0082.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: 0082
3 | Title: Reduce Zero Origination Fee Floor to 5%
4 | Author: capitalist42
5 | Status: Ready for vote
6 | Track: Parameter
7 | Created: 2024-07-15
8 | ---
9 |
10 | ## Summary
11 |
12 | If approved, this proposal will reduce the ZUSD origination fee floor in the Sovryn Zero protocol from 8% to 5%.
13 |
14 | ## Motivation
15 |
16 | The Zero Protocol is still in the bootstrap period. We should focus on growing the ZUSD/DLLR supply. The 2% to 5% redemption percentage per month is generally acceptable. For the past 30 days, there were about 7.2 BTC redemptions (~1.3%), even with fairly volatile BTC price movement. The level of redemption is generally low. Given incoming liquidity easing, the condition is perfect for reducing the origination fee. With a lower origination fee, we will likely see an increase in ZUSD supply and protocol revenue.
17 |
18 | ## Proposed Changes
19 |
20 | If approved, the origination fee will fluctuate between 5% and 100%. The following change will be made to the Zero Protocol base parameters:
21 |
22 | It will update "BORROWING_FEE_FLOOR" from 8% to 5% by calling `setBorrowingFeeFloor(uint256)` on the `0xf8B04A36c36d5DbD1a9Fe7B74897c609d6A17aa2` contract with the encoded data `0x00000000000000000000000000000000000000000000000000b1a2bc2ec50000`.
23 |
24 | ## License
25 |
26 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
--------------------------------------------------------------------------------
/SIP-0083.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0083'
3 | Title: Sovryn - BitcoinOS Contributor and $BOS Token Launch
4 | Author: FrenchVictory (@Frenchvictory)
5 | Status: Ready for vote
6 | Track: Other
7 | Created: 2024-11-08
8 | ---
9 | # **SIP-0083: Sovryn - BitcoinOS Contributor and $BOS Token Launch**
10 |
11 | ## 1. Overview
12 |
13 | BitcoinOS (BOS) is being developed to allow any code to be executed on Bitcoin, representing a fundamental upgrade to the Bitcoin protocol.
14 | As one of the key development teams, Sovryn proposes to launch this technology.
15 |
16 | Throughout BitcoinOS’s development, Sovryn has made substantial contributions through project incubation, design partnership, research,
17 | development, testing, communications, and community engagement. We commit to continuing this involvement while developing
18 | a new Bitcoin-native token standard for the BOS ecosystem.
19 |
20 | In order for BitcoinOS, developed as Open Source Software (OSS), to succeed, the project needs broad distribution and
21 | a decentralized network of users and developers. Sovryn proposes to provide the decentralized governance framework and
22 | committed community needed for this launch. As part of this service, Sovryn will contribute to the issuance and
23 | distribution of the $BOS tokens and develop core parts of the BitcoinOS technical infrastructure.
24 | To facilitate this, 10% of the total supply of $BOS tokens will be earmarked for the Sovryn community.
25 |
26 | ## 2. Background
27 |
28 | BitcoinOS has achieved significant technological milestones, beginning with the verification of the first ZK proof on Bitcoin mainnet in July 2024,
29 | followed by the release of the first open-source code for Bitcoin ZK proof verification in September 2024.
30 | Their progress in developing ZK-based infrastructure has established new standards for Bitcoin L2s, towards L1 security, trustless bridging,
31 | scalability, and native transaction privacy.
32 |
33 | Teams working on the project are currently focused on developing Grail, the first trustless Bitcoin L2 bridge, and MerkleMesh,
34 | which will bring full interoperability to users and liquidity in the BitcoinOS ecosystem. Significant ecosystems have announced
35 | their plan to integrate with and contribute to BitcoinOS infrastructure, including Cardano and leading Bitcoin sidechains such as
36 | Merlin Chain, Nubit, and B² Network. Further significant integrations with additional collaborators are developing.
37 |
38 | Given Sovryn’s role in incubating BitcoinOS, our appreciation of its technological potential and traction, and the interest already expressed
39 | in a forum posted titled “SIP-XXXX: Launch of BitcoinOS (BOS) Under Sovryn Incubation” posted on June 18, 2024, we propose to leverage our
40 | expertise in decentralized governance to perform the decentralized launch of BOS and its $BOS token and to lead the development of a much
41 | needed Bitcoin native and programmable token standard.
42 |
43 | ## 3. Sovryn Bitocracy and Strategic Alignment with BitcoinOS
44 |
45 | Sovryn has achieved genuine decentralization and effective decentralized governance, maintaining high levels of diverse stakeholder participation.
46 | Our Bitocracy model and committed community provide a robust framework for launching decentralized projects.
47 |
48 | We believe that Sovryn, by leveraging its established decentralized framework, can ensure BitcoinOS’ decentralized launch and decentralization from
49 | inception, setting a new standard in the Bitcoin-native ecosystem. Our proposal includes:
50 |
51 | - Sovryn has been a key design partner for BitcoinOS, offering valuable expertise in project incubation, research, and strategic guidance.
52 | The teams working within Sovryn will continue with these efforts.
53 | - Launching the BOS protocol and distributing the $BOS token through Sovryn Bitocracy and Sovryn’s core team.
54 | - Collaborative development between Sovryn and the teams working on BitcoinOS technology to determine a framework for equitable total token distribution.
55 | - Allow teams to leverage Sovryn Bitocracy to propose and initiate the development of technologies related and required for the BitcoinOS ecosystem.
56 | - Sovryn will consider itself one of the founding groups of the BitcoinOS ecosystem.
57 | - Sovryn and other BOS teams will collaborate in launching the Sovryn Layer as it will defined by Bitocracy.
58 | - Sovryn will retain 10% of the total $BOS token supply.
59 |
60 | ## 4. BOS Launch
61 | ### 4.1 Project Development and Launch
62 |
63 | - **BOS Development:** We will support BOS developers in their focus on building and refining the technology under an OSS (Open Source Software) framework.
64 | - **Network Launch:** Sovryn Sorcery will assist in launching the BOS network, ensuring its integration with the broader Bitcoin ecosystem.
65 | - **Token Launch:** Sovryn will issue the $BOS tokens and facilitate the initial distribution, including the portion designated for the Sovryn community.
66 |
67 | ### 4.2 Resource Mobilization and Governance
68 |
69 | Sovryn will invest in the development of the BitcoinOS open-source ecosystem. The following resources will be allocated to support the following activities:
70 |
71 | - Education
72 | - Development and distribution of technical documentation
73 | - Creation of educational content for developers and users
74 | - Organization of workshops and training sessions
75 | - Marketing and Communications
76 | - Strategic marketing campaigns to drive adoption
77 | - Community outreach and engagement
78 | - Regular updates and announcements
79 | - Market research and analysis
80 | - Technical Development
81 | - Development of a Bitcoin-native token standard
82 | - Security audits of protocol components
83 | - Comprehensive user testing programs
84 | - Development and maintenance of essential front-end interfaces
85 | - Integration support for partners and developers
86 | - Network Operations
87 | - Nomination and support of qualified node operators
88 | - Network monitoring and maintenance
89 | - Performance optimization
90 | - Infrastructure support
91 | - Strategic Initiatives
92 | - Identification and development of strategic partnerships
93 | - Ecosystem growth initiatives
94 | - Protocol integration with complementary projects
95 | - Support for developer community building
96 |
97 | Additional activities required for the success of BitcoinOS as a decentralized protocol will be undertaken as needed,
98 | subject to community governance through Bitocracy.
99 |
100 | ### 4.3 Token Distribution and Stakeholder Incentives
101 |
102 | - Sovryn will issue the $BOS tokens and distribute them to the different stakeholders.
103 | - We will collaboratively develop a framework for equitable token distribution of the 10% allocation retained by Sovryn. This token distribution will be submitted for approval of the Bitocracy in a future SIP.
104 | - Additional SIPs may be proposed to determine various aspects of Sovryn’s responsibilities and commitments to BitcoinOS.
105 |
106 | ## 5. BitcoinOS Independence
107 |
108 | To maintain credible neutrality, BOS development will remain independent of Sovryn. Sovryn Bitocracy will have no decision-making power
109 | over any element of BOS not specifically listed in this SIP.
110 |
111 | ## License
112 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
113 |
--------------------------------------------------------------------------------
/SIP-0084_part-1.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0084'
3 | Title: Deactivate Fallback Price Oracle Contract (Part 1)
4 | Author: Tyrone Johnson (@tjcloa)
5 | Status: Approved
6 | Track: Contract
7 | Created: 2024-11-20
8 | ---
9 |
10 | # SIP-0084: Deactivate Fallback Price Oracle Contract (Part 1)
11 |
12 | ## Description
13 |
14 | The Sovryn Lending and Zero protocols currently use the Rootstock Oracle price feed on the RSK blockchain as a fallback price oracle for WRBTC in USD.
15 | This fallback oracle is triggered when the primary oracle returns a zero price.
16 |
17 | The proposed change is prompted by the upcoming discontinuation of support for the Rootstock Oracle.
18 | After extensive research and analysis, it has been decided to deactivate the fallback oracle rather than replace it with another one.
19 | The primary Money-on-Chain oracle, which is decentralized, has demonstrated robust fault tolerance and reliability.
20 |
21 | Additionally, the price feed contract logic has been updated to include a stale price parameter.
22 | This ensures that outdated prices are not used and transactions will revert.
23 | The proposed technical solution involves replacing the RSK oracle with a "dummy oracle" that always returns a zero price and marks it as stale.
24 | This approach provides flexibility to replace the fallback oracle with another reliable oracle compliant with the Chainlink interface if the community decides to do so in the future.
25 |
26 | ## Proposed Changes
27 |
28 | Note that this is Part 1 of a two-part SIP.
29 | Both proposals will need to be approved to effectuate the complete set of changes.
30 | The exact change is implemented in the [PR#549](https://github.com/DistributedCollective/Sovryn-smart-contracts/pull/549), details for this part are as follows.
31 |
32 | If approved, this SIP will replace the WRBTC price oracle in the PriceFeeds contract used for the Lending protocol with the address of the new PriceFeedsMoC oracle contract that has the DummyFallbackOracle as the fallback price oracle.
33 |
34 |
35 | __Existing contracts__
36 | | Contract | Address |
37 | | ------------- | ------------------------------------------ |
38 | | PriceFeedsMoC | 0x391fe8a92a7FC626A25F30E8c19B92bf8BE37FD3 |
39 | | PriceFeeds | 0x437AC62769f386b2d238409B7f0a7596d36506e4 |
40 |
41 | __New contracts__
42 | | Contract | Address |
43 | | ------------------- | ------------------------------------------ |
44 | | PriceFeedsMoC | 0x50C53B463B67F2aF4c7B5b8E05643a39A0A4FDB9 |
45 | | DummyFallbackOracle | 0x16261C66D8D687600E5CbF7945986044A6569cBe |
46 |
47 |
48 | ## License
49 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
50 |
--------------------------------------------------------------------------------
/SIP-0084_part-2.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0084'
3 | Title: Deactivate Fallback Price Oracle Contract (Part2)
4 | Author: Tyrone Johnson (@tjcloa)
5 | Status: Approved
6 | Track: Contract
7 | Created: 2024-11-20
8 | ---
9 |
10 | # SIP-0084: Deactivate Fallback Price Oracle Contract (Part 2)
11 |
12 | ## Description
13 |
14 | The Sovryn Lending and Zero protocols currently use the Rootstock Oracle price feed on the RSK blockchain as a fallback price oracle for WRBTC in USD.
15 | This fallback oracle is triggered when the primary oracle returns a zero price.
16 |
17 | The proposed change is prompted by the upcoming discontinuation of support for the Rootstock Oracle.
18 | After extensive research and analysis, it has been decided to deactivate the fallback oracle rather than replace it with another one.
19 | The primary Money-on-Chain oracle, which is decentralized, has demonstrated robust fault tolerance and reliability.
20 |
21 | Additionally, the price feed contract logic has been updated to include a stale price parameter.
22 | This ensures that outdated prices are not used and transactions will revert.
23 | The proposed technical solution involves replacing the RSK oracle with a "dummy oracle" that always returns a zero price and marks it as stale.
24 | This approach provides flexibility to replace the fallback oracle with another reliable oracle compliant with the Chainlink interface if the community decides to do so in the future.
25 |
26 | ## Proposed Changes
27 |
28 | Note that this is Part 2 of a two-part SIP.
29 | Both proposals will need to be approved to effectuate the complete set of changes.
30 | The exact change is implemented in the [PR#6](https://github.com/DistributedCollective/zero-contracts/pull/6), details for this part are as follows.
31 | If approved, this SIP will upgrade the PriceFeed contract on Zero protocol and will replace the fallback oracle with the DummyFallbackOracle contract. The new logic of the PriceFeed contract will revert on stale price, removes restriction on adding a dummy oracle that returns stale price and adds a new function to replace the primary oracle and the fallback oracle separately.
32 |
33 |
34 | __Existing contracts__
35 | | Contract | Address |
36 | | ---------------- | ------------------------------------------ |
37 | | PriceFeed proxy | 0x6D1d9574d67e04cf35Fa1d916F763eDDae03b75d |
38 | | PriceFeeds logic | 0x1281ECfe66c9fA632Df1eB1eC19405C3b1bbaAf0 |
39 |
40 | __New contracts__
41 | | Contract | Address |
42 | | ------------------- | ------------------------------------------ |
43 | | PriceFeeds logic | 0x867303dfCd696BE516f9C4023525F1107d903356 |
44 | | DummyFallbackOracle | 0x16261C66D8D687600E5CbF7945986044A6569cBe |
45 |
46 |
47 | ## License
48 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
49 |
--------------------------------------------------------------------------------
/SIP-0085.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: '0085'
3 | Title: Deactivate Fallback Price Oracle Contract (Part2)
4 | Author: Sacro (Sovryn community member)
5 | Status: Defeated
6 | Track: Other
7 | Created: 2024-12-06
8 | ---
9 |
10 | # SIP-0085: $BOS token distribution within Sovryn
11 |
12 | ## Description
13 | https://forum.sovryn.com/t/sip-0085-bos-token-distribution-within-sovryn/3306
14 | https://forum.sovryn.com/t/sip-0085-thoughts/3321/2
15 |
16 | ## Voting
17 | https://bitocracy.sovryn.app/governorOwner/49
18 |
19 | ## License
20 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
21 |
--------------------------------------------------------------------------------
/images/FeesVault diff example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DistributedCollective/SIPS/3b7dbab1649ae6b5334e8620c48a2a7fb13b1c54/images/FeesVault diff example.png
--------------------------------------------------------------------------------
/images/StakingContractDesignChange.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DistributedCollective/SIPS/3b7dbab1649ae6b5334e8620c48a2a7fb13b1c54/images/StakingContractDesignChange.png
--------------------------------------------------------------------------------
/templates/contract_template.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: 'N/A'
3 | Title: Title
4 | Author: Name (GitHub username)
5 | Status: Draft
6 | Track: Contract
7 | Created: YYYY-MM-DD
8 | ---
9 |
10 | # Insert title like "SIP-X: Example title" here
11 |
12 | ## Description
13 |
14 | [Replace this line with an accurate description of what the proposed change will do.]
15 |
16 | ## Motivation
17 |
18 | ## Proposed change
19 |
20 | Existing contract(s): [Replace this line with the address of the specific smart contract you propose to change.]
21 | Proposed change: [Replace this line with a link to the specific commit of the source code for your proposed change.]
22 | Audit report: [Replace this line with a link to at least one third-party security audit report for the proposed change.]
23 |
24 | ## License
25 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
26 |
--------------------------------------------------------------------------------
/templates/issuance_template.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: 'N/A'
3 | Title: Title
4 | Author: Name (GitHub username)
5 | Status: Draft
6 | Track: Issuance
7 | Created: YYYY-MM-DD
8 | ---
9 |
10 | # Insert title like "SIP-X: Example title" here
11 |
12 | ## Issuance amount
13 |
14 | [Replace this line with the number of SOV to be issued] SOV
15 |
16 | ## Destination address
17 |
18 | [Replace this line with the address that the newly issued tokens will be sent to]
19 |
20 | ## Rationale
21 |
22 | [Replace this line with a detailed explanation for why you are creating this proposal.]
23 |
24 | ## License
25 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
26 |
--------------------------------------------------------------------------------
/templates/parameter_template.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: 'N/A'
3 | Title: Title
4 | Author: Name (GitHub username)
5 | Status: Draft
6 | Track: Parameter
7 | Created: YYYY-MM-DD
8 | ---
9 |
10 | # Insert title like "SIP-X: Example title" here
11 |
12 | ## Description
13 |
14 | [Replace this line with an accurate description of what the proposed change will do.]
15 |
16 | ## Motivation
17 |
18 | ## Proposed change
19 |
20 | Existing parameter(s): [Replace this line with the existing parameter, if any.]
21 | Proposed change: [Replace this line with the specific parameter change.]
22 | Change analysis: [Replace this line with a link to an analysis of the proposed change, if one is available.]
23 |
24 | ## License
25 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
26 |
--------------------------------------------------------------------------------
/templates/proclamation_template.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: N/A
3 | Title: Title
4 | Author: Name (GitHub username)
5 | Status: Draft
6 | Track: Proclamation
7 | Created: YYYY-MM-DD
8 | ---
9 |
10 | # Insert title like "SIP-X: Example title" here
11 |
12 | ## Proclamation text
13 |
14 | [Replace this line with the proclamation that you want to make on behalf of SOV Voters.]
15 |
16 | ## Motivation for writing this proclamation
17 |
18 | [Replace this line with your motivation for making this proclamation.]
19 |
20 | ## License
21 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
22 |
--------------------------------------------------------------------------------
/templates/treasury_template.md:
--------------------------------------------------------------------------------
1 | ---
2 | SIP: 'N/A'
3 | Title: Title
4 | Author: Name (GitHub username)
5 | Status: Draft
6 | Track: Treasury
7 | Created: YYYY-MM-DD
8 | ---
9 |
10 | # Insert title like "SIP-X: Example title" here
11 |
12 | ## Address of the transfer recipient
13 |
14 | ## Amount of the transfer
15 |
16 | ## Purpose of the transfer
17 |
18 | ## Recipient information
19 |
20 | Organization (if any)
21 | Name:
22 | Website:
23 | Other URL:
24 |
25 | Fill out the following information for each individual team member who will be managing funds from this transfer:
26 |
27 | Name:
28 | PGP key fingerprint:
29 | Website:
30 | Other URL:
31 |
32 | ## License
33 | Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
34 |
--------------------------------------------------------------------------------