A smart contract for managing diversified stablecoin yield portfolios across multiple chains and yield protocols. Also known as YMax, this proof-of-concept enables portfolio rebalancing across different yield protocols.
Build
Using Makefile
make 3-in-1
~/projects/agoric-sdk/multichain-testing$ make 3-in-1
# make ADDR=agoric1yupasge4528pgkszg9v328x4faxtkldsnygwjl fund-wallet
(cd ../packages/portfolio-deploy; yarn build)
dist/portfolio.contract.bundle.js 933.6kb
⚡ Done in 38ms
agoric run ../packages/portfolio-deploy/src/portfolio.build.js
agoric: run: running /home/connolly/projects/agoric-sdk/packages/portfolio-deploy/src/portfolio.build.js
creating eval-ymax0-permit.json
creating eval-ymax0.js
You can now run a governance submission command like:
agd tx gov submit-proposal swingset-core-eval eval-ymax0-permit.json eval-ymax0.js \
--title="Enable <something>" --description="Evaluate eval-ymax0.js" --deposit=1000000ubld \
--gas=auto --gas-adjustment=1.2
Remember to install bundles before submitting the proposal:
agd tx swingset install-bundle @/home/connolly/.agoric/cache/b1-1cfec33f0aea5488aefbbe6b861bf5211081ea139f1bc8bd03540c7b35d6dcb7342b5be675e183cbf2b9d3cd0f9098a2a5e4cf349ce56f11df33835d26d938d7.json
agd tx swingset install-bundle @/home/connolly/.agoric/cache/b1-d217fb17508ebe5c94e9ab432a9d6f5aea5fba810f7e5d7cc1785a6235e378e8eb117199624eb2f0061fc39126150d6f833617d0c2c26a979b36b0bb81d88a61.json
agoric run ../packages/portfolio-deploy/src/chain-info.build.js
agoric: run: running /home/connolly/projects/agoric-sdk/packages/portfolio-deploy/src/chain-info.build.js
using static mainnet config
configured chains: [ 'agoric', 'axelar', 'noble' ]
creating eval-chain-info-permit.json
creating eval-chain-info.js
You can now run a governance submission command like:
agd tx gov submit-proposal swingset-core-eval eval-chain-info-permit.json eval-chain-info.js \
--title="Enable <something>" --description="Evaluate eval-chain-info.js" --deposit=1000000ubld \
--gas=auto --gas-adjustment=1.2
Remember to install bundles before submitting the proposal:
agd tx swingset install-bundle @/home/connolly/.agoric/cache/b1-2127a1e2f296c89c04280272f3e110f4e4b56d98804200d001c9e49d9926e7d3130c81995ab3976a5962cd2199abeb2915a6c458c8700a2116bc6c01639e1f73.json
agoric run ../packages/portfolio-deploy/src/access-token-setup.build.js \
--beneficiary=agoric16nwqe7452za92rwvnldmfdqr34n5rzhphe9sjy
agoric: run: running /home/connolly/projects/agoric-sdk/packages/portfolio-deploy/src/access-token-setup.build.js
CONFIG: {
qty: 50000000,
beneficiary: 'agoric16nwqe7452za92rwvnldmfdqr34n5rzhphe9sjy'
}
creating eval-access-token-setup-permit.json
creating eval-access-token-setup.js
You can now run a governance submission command like:
agd tx gov submit-proposal swingset-core-eval eval-access-token-setup-permit.json eval-access-token-setup.js \
--title="Enable <something>" --description="Evaluate eval-access-token-setup.js" --deposit=1000000ubld \
--gas=auto --gas-adjustment=1.2
Remember to install bundles before submitting the proposal:
agd tx swingset install-bundle @/home/connolly/.agoric/cache/b1-06934dae7861f141432664315f14def6ca9dc2790dba3fab70246ae1d1cf4f9bbe4688406eb9b8e60153da16a89af4d3105f17d6a40873d836f74051c7c9e954.json