Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ariady-putra/morbid
Davy Jones' Locker
https://github.com/ariady-putra/morbid
aiken dapp haskell offchain onchain playground plutus smart-contract
Last synced: about 1 month ago
JSON representation
Davy Jones' Locker
- Host: GitHub
- URL: https://github.com/ariady-putra/morbid
- Owner: ariady-putra
- Created: 2022-08-23T08:23:43.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-18T04:55:14.000Z (3 months ago)
- Last Synced: 2024-09-18T07:38:42.048Z (3 months ago)
- Topics: aiken, dapp, haskell, offchain, onchain, playground, plutus, smart-contract
- Language: TypeScript
- Homepage: https://ariady-putra.github.io/morbid/
- Size: 1.01 MB
- Stars: 17
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-aiken - morbid - A dead-man's switch contract (Dapps)
README
# Davy Jones' Locker
> [!IMPORTANT]
> The offchain is likely to fail after Conway era (Chang hardfork).
> A fix will be delivered some time later after the storm subsides.
> Or probably a new and better front-end will be developed instead.
>_Fifteen men on the dead man's chest—_
>_...Yo-ho-ho, and a bottle of rum!_
>_Drink and the devil had done for the rest—_
>_...Yo-ho-ho, and a bottle of rum!_
This is a dead-man's switch contract where you can:
- Create Chest
- Add Treasure
- Delay Unlock
- Unlock Chest
- Resend Chest## Create Chest
Mints `ChestLock` and `ChestKey`(s), a new address will be generated. Send `ChestLock`
while depositing initial assets. Keep `ChestKey` token(s) in your wallet, you will need
to show it when `DelayUnlock`.Give access for delaying the chest unlocking deadline to anyone by sending them the
`ChestKey` token.## Add Treasure
Anyone can deposit more assets to the chest. Don't forget to include an arbitrary inline
datum to be redeemable.## Delay Unlock
Show the matching `ChestKey` token to postpone the chest unlocking deadline.## Unlock Chest
Redeem all assets from the chest when the deadline has passed. You will also receive the
`ChestLock` NFT.## Resend Chest
Resend `ChestLock` to the chest address. Similar to `CreateChest` but it is done by
the chest unlocker. There is no real benefit to do this, but it's possible.---
### Chest Address Sample
Updated for [aiken v1.0.14-alpha](https://github.com/aiken-lang/aiken/releases/tag/v1.0.14-alpha):
```
addr_test1wze6hmn8spj3lcqrckjmytms0uwm4830zjvdwzqsyrzlusqfhsyck
```View it in action on
[CExplorer](https://preview.cexplorer.io/address/addr_test1wze6hmn8spj3lcqrckjmytms0uwm4830zjvdwzqsyrzlusqfhsyck/tx#data).#### Timeline
- **Create Chest**
`https://preview.cexplorer.io/tx/218c1cb8564e1223202b7116d9897d955e493f44776d93b826e698c768a8b1c6`
Mints **2 ChestKey** tokens. Sends some arbitrary tokens as well.- **Add Treasure**
`https://preview.cexplorer.io/tx/9db99e7b49963bb5f63fbac80030c916b3a8a14e2b829e50cf87555d4f565aa2`
Put an arbitrary **inline datum** and send some arbitrary tokens.- **Delay Unlock**
`https://preview.cexplorer.io/tx/0970f113f9004b184b72ac25533a5900360252b58d6a9c9b8af5a6245fb470f5`
Postpone chest unlocking deadline.- **Unlock Chest**
`https://preview.cexplorer.io/tx/ca73a798869583209fe6330519710138bd05b9bdbdca2511442e22f1e18d2709`
Redeem all assets including **ChestLock** NFT (named as **Dead Man's Chest**) from the chest.- **Resend Chest**
`https://preview.cexplorer.io/tx/10eead16236bb0c0d7fa1dae9d4c03dffdd8d927f89201449c8dd4f286035da3`
Resend **ChestLock** to the chest address and some arbitrary tokens.- **Share Access**
`https://preview.cexplorer.io/tx/b3b9c8d961120f9f7cf173884938877146b641612c5d2bd9c0c14a5f7e21b19b`
Share **1 ChestKey** token to another address.- **Delay Unlock** (by another address)
`https://preview.cexplorer.io/tx/f0082d9e75fae24ec0c7ff8668ce4ed7206385afe01d13e215ef80c832dac2d5`
Using the shared **ChestKey** token.---
>_But one man of her crew alive,_
>_What put to sea with seventy-five._