Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions ocp/common/mint.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,13 @@ var (

ErrUnsupportedMint = errors.New("unsupported mint")

badBoysMintAccount, _ = NewAccountFromPublicKeyString(config.BadBoysMintPublicKey)
bitsMintAccount, _ = NewAccountFromPublicKeyString(config.BitsMintPublicKey)
bogeyMintAccount, _ = NewAccountFromPublicKeyString(config.BogeyMintPublicKey)
floatMintAccount, _ = NewAccountFromPublicKeyString(config.FloatMintPublicKey)
jeffyMintAccount, _ = NewAccountFromPublicKeyString(config.JeffyMintPublicKey)
marketCoinMintAccount, _ = NewAccountFromPublicKeyString(config.MarketCoinMintPublicKey)
testMintAccount, _ = NewAccountFromPublicKeyString(config.TestMintPublicKey)
xpMintAccount, _ = NewAccountFromPublicKeyString(config.XpMintPublicKey)
)

Expand Down
46 changes: 46 additions & 0 deletions ocp/common/vm.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ var (

// todo: DB store to track VM per mint

badBoysAuthority, _ = NewAccountFromPublicKeyString(config.BadBoysAuthorityPublicKey)
badBoysVmAccount, _ = NewAccountFromPublicKeyString(config.BadBoysVmAccountPublicKey)
badBoysVmOmnibusAccount, _ = NewAccountFromPublicKeyString(config.BadBoysVmOmnibusPublicKey)

bitsAuthority, _ = NewAccountFromPublicKeyString(config.BitsAuthorityPublicKey)
bitsVmAccount, _ = NewAccountFromPublicKeyString(config.BitsVmAccountPublicKey)
bitsVmOmnibusAccount, _ = NewAccountFromPublicKeyString(config.BitsVmOmnibusPublicKey)
Expand All @@ -33,6 +37,10 @@ var (
marketCoinVmAccount, _ = NewAccountFromPublicKeyString(config.MarketCoinVmAccountPublicKey)
marketCoinVmOmnibusAccount, _ = NewAccountFromPublicKeyString(config.MarketCoinVmOmnibusPublicKey)

testAuthority, _ = NewAccountFromPublicKeyString(config.TestAuthorityPublicKey)
testVmAccount, _ = NewAccountFromPublicKeyString(config.TestVmAccountPublicKey)
testVmOmnibusAccount, _ = NewAccountFromPublicKeyString(config.TestVmOmnibusPublicKey)

xpAuthority, _ = NewAccountFromPublicKeyString(config.XpAuthorityPublicKey)
xpVmAccount, _ = NewAccountFromPublicKeyString(config.XpVmAccountPublicKey)
xpVmOmnibusAccount, _ = NewAccountFromPublicKeyString(config.XpVmOmnibusPublicKey)
Expand All @@ -58,6 +66,25 @@ func GetVmConfigForMint(ctx context.Context, data ocp_data.Provider, mintAccount
Omnibus: CoreMintVmOmnibusAccount,
Mint: CoreMintAccount,
}, nil
case badBoysMintAccount.PublicKey().ToBase58():
if badBoysAuthority.PrivateKey() == nil {
vaultRecord, err := data.GetKey(ctx, badBoysAuthority.PublicKey().ToBase58())
if err != nil {
return nil, err
}

badBoysAuthority, err = NewAccountFromPrivateKeyString(vaultRecord.PrivateKey)
if err != nil {
return nil, err
}
}

return &VmConfig{
Authority: badBoysAuthority,
Vm: badBoysVmAccount,
Omnibus: badBoysVmOmnibusAccount,
Mint: mintAccount,
}, nil
case bitsMintAccount.PublicKey().ToBase58():
if bitsAuthority.PrivateKey() == nil {
vaultRecord, err := data.GetKey(ctx, bitsAuthority.PublicKey().ToBase58())
Expand Down Expand Up @@ -153,6 +180,25 @@ func GetVmConfigForMint(ctx context.Context, data ocp_data.Provider, mintAccount
Omnibus: marketCoinVmOmnibusAccount,
Mint: mintAccount,
}, nil
case testMintAccount.PublicKey().ToBase58():
if testAuthority.PrivateKey() == nil {
vaultRecord, err := data.GetKey(ctx, testAuthority.PublicKey().ToBase58())
if err != nil {
return nil, err
}

testAuthority, err = NewAccountFromPrivateKeyString(vaultRecord.PrivateKey)
if err != nil {
return nil, err
}
}

return &VmConfig{
Authority: testAuthority,
Vm: testVmAccount,
Omnibus: testVmOmnibusAccount,
Mint: mintAccount,
}, nil
case xpMintAccount.PublicKey().ToBase58():
if xpAuthority.PrivateKey() == nil {
vaultRecord, err := data.GetKey(ctx, xpAuthority.PublicKey().ToBase58())
Expand Down
10 changes: 10 additions & 0 deletions ocp/config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,11 @@ const (

// todo: DB store to track VM per mint

BadBoysMintPublicKey = "64dkhPKhdjc2xg3NLyDjC14wiXHLnGXHHUxJnqZVugJt"
BadBoysAuthorityPublicKey = "bbVCosXYRMBTbcmLsRXqHSzaUDJpSStYRqTstcpVxwx"
BadBoysVmAccountPublicKey = "9EpU4RGoe7zfJdLjLyXWLpza6RZHqN6QV73z1gfNKCJa"
BadBoysVmOmnibusPublicKey = "7pQkiRaXdMW3bLJK6D1huP175AF5wD6gXNPBsvQ8bJZ3"

BitsMintPublicKey = "A3e8dzb1y4gqGP2cnCS3UU8dm5YNrFpZBpjjdoZdtfnB"
BitsAuthorityPublicKey = "bit8rCyAcstm1ZiwLq22FHdz8wAigKU46hmtrigrGub"
BitsVmAccountPublicKey = "5zDzL3CHb3wFxs7xnkxmWMGMR1gjNtYgV46PTBgSHmsJ"
Expand All @@ -50,6 +55,11 @@ const (
MarketCoinVmAccountPublicKey = "AeJ6x6mtwdjUM2AqppQ7zG6m89sx5c8qegfFPzjmD2x6"
MarketCoinVmOmnibusPublicKey = "CQMdG8AKtLP9JCU4GAzKunKnsfpXVFdMcSwQd3Hd5oZg"

TestMintPublicKey = "2psDP3LAvbNzfvBYNMs9ieMpsD8PVzyQsKNfZrjEKoDN"
TestAuthorityPublicKey = "tstBCPtzNDycsM7rAd2CxzdgKh1gWrMULzrDHuGVXAW"
TestVmAccountPublicKey = "CYtzE732LQ7YP9sngSPUQhCCTQ8GY14dmjWX2hXP16Np"
TestVmOmnibusPublicKey = "65Ghp2FFPmdB3FLkC2NCKkBQ3RuXgmjZ56DDGZLVAZZa"

XpMintPublicKey = "6oZnhB1FPrUaDfhRCVZnbVWNKVx9wgj84vKGH7eMpzXL"
XpAuthorityPublicKey = "xpTXV7BNXwsdvCaFKfeT4h6rSnKck2Bv5iBAFFS5Uwk"
XpVmAccountPublicKey = "4qnCaQkGxCnr66cmPfpNfM2rxaaTMFSSfbY9gXZgCYdS"
Expand Down
4 changes: 4 additions & 0 deletions ocp/rpc/currency/worker.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,22 +23,26 @@ import (
)

var (
badBoysMintAccount, _ = common.NewAccountFromPublicKeyString(config.BadBoysMintPublicKey)
bitsMintAccount, _ = common.NewAccountFromPublicKeyString(config.BitsMintPublicKey)
bogeyMintAccount, _ = common.NewAccountFromPublicKeyString(config.BogeyMintPublicKey)
floatMintAccount, _ = common.NewAccountFromPublicKeyString(config.FloatMintPublicKey)
jeffyMintAccount, _ = common.NewAccountFromPublicKeyString(config.JeffyMintPublicKey)
marketCoinMintAccount, _ = common.NewAccountFromPublicKeyString(config.MarketCoinMintPublicKey)
testMintAccount, _ = common.NewAccountFromPublicKeyString(config.TestMintPublicKey)
xpMintAccount, _ = common.NewAccountFromPublicKeyString(config.XpMintPublicKey)
)

// trackedLaunchpadMints is the hardcoded set of launchpad mints to track
// (excludes core mint as it only has exchange rate data)
var trackedLaunchpadMints = []*common.Account{
badBoysMintAccount,
bitsMintAccount,
bogeyMintAccount,
floatMintAccount,
jeffyMintAccount,
marketCoinMintAccount,
testMintAccount,
xpMintAccount,
}

Expand Down
36 changes: 36 additions & 0 deletions ocp/worker/currency/reserve.go
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,36 @@ func (p *reserveRuntime) UpdateAllLaunchpadCurrencyReserves(ctx context.Context)
})
}()

err7 := func() error {
badBoysMintAccount, _ := common.NewAccountFromPublicKeyString(config.BadBoysMintPublicKey)

ciculatingSupply, ts, err := currency_util.GetLaunchpadCurrencyCirculatingSupply(ctx, p.data, badBoysMintAccount)
if err != nil {
return err
}

return p.data.PutCurrencyReserve(ctx, &currency.ReserveRecord{
Mint: badBoysMintAccount.PublicKey().ToBase58(),
SupplyFromBonding: ciculatingSupply,
Time: ts,
})
}()

err8 := func() error {
testMintAccount, _ := common.NewAccountFromPublicKeyString(config.TestMintPublicKey)

ciculatingSupply, ts, err := currency_util.GetLaunchpadCurrencyCirculatingSupply(ctx, p.data, testMintAccount)
if err != nil {
return err
}

return p.data.PutCurrencyReserve(ctx, &currency.ReserveRecord{
Mint: testMintAccount.PublicKey().ToBase58(),
SupplyFromBonding: ciculatingSupply,
Time: ts,
})
}()

if err1 != nil {
return err1
}
Expand All @@ -178,6 +208,12 @@ func (p *reserveRuntime) UpdateAllLaunchpadCurrencyReserves(ctx context.Context)
if err6 != nil {
return err6
}
if err7 != nil {
return err7
}
if err8 != nil {
return err8
}

return nil
}
2 changes: 2 additions & 0 deletions ocp/worker/geyser/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -85,11 +85,13 @@ func (h *TokenProgramAccountHandler) Handle(ctx context.Context, update *geyserp

// todo: Don't hardcode Jeffy and other Flipcash currencies
case common.CoreMintAccount.PublicKey().ToBase58(),
config.BadBoysMintPublicKey,
config.BitsMintPublicKey,
config.BogeyMintPublicKey,
config.FloatMintPublicKey,
config.JeffyMintPublicKey,
config.MarketCoinMintPublicKey,
config.TestMintPublicKey,
config.XpMintPublicKey:
// Not an ATA, so filter it out. It cannot be a VM deposit ATA
if bytes.Equal(tokenAccount.PublicKey().ToBytes(), ownerAccount.PublicKey().ToBytes()) {
Expand Down
2 changes: 2 additions & 0 deletions ocp/worker/nonce/runtime.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,11 +70,13 @@ func (p *runtime) Start(ctx context.Context, interval time.Duration) error {
// todo: Dynamically detect VMs
for _, vm := range []string{
common.CoreMintVmAccount.PublicKey().ToBase58(),
config.BadBoysVmAccountPublicKey,
config.BitsVmAccountPublicKey,
config.BogeyVmAccountPublicKey,
config.FloatVmAccountPublicKey,
config.JeffyVmAccountPublicKey,
config.MarketCoinVmAccountPublicKey,
config.TestVmAccountPublicKey,
config.XpVmAccountPublicKey,
} {
for _, state := range []nonce.State{
Expand Down
Loading