Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

server/db/driver/pg: increase size of asset ID column in markets table #1621

Merged
merged 3 commits into from
May 31, 2022

Conversation

buck54321
Copy link
Member

The base and quote ID columns in the server db markets table were
defined as INT2, too small for our uint32 asset IDs.

Also need to do some character replacement for schemas with our
new symbol scheme for tokens, since `.` is not an allowed character.

The base and quote ID columns in the server db markets table were
defined as INT2, too small for our uint32 asset IDs.

Also need to do some character replacement for schemas with our
new symbol scheme for tokens.
@buck54321 buck54321 marked this pull request as ready for review May 22, 2022 01:36
@JoeGruffins
Copy link
Member

JoeGruffins commented May 25, 2022

Probably unrelated, but hit a panic in client while testing:

panic
$ ./dexc --rpcuser="" --rpcpass=abc --simnet --rpc --log=trace > somefile.txt 
INFO [05-25|13:17:55.609] Allocated cache and file handles         database=/home/joe/.dexc/simnet/assetdb/eth/simnet/dexc/lightchaindata cache=512.00MiB handles=16
INFO [05-25|13:17:55.621] Allocated cache and file handles         database=/home/joe/.dexc/simnet/assetdb/eth/simnet/dexc/les.client cache=16.00MiB  handles=16
INFO [05-25|13:17:55.628] Persisted trie from memory database      nodes=6 size=951.00B time="20.769µs" gcnodes=0 gcsize=0.00B gctime=0s livenodes=1 livesize=0.00B
INFO [05-25|13:17:55.628] Initialised chain configuration          config="{ChainID: 42 Homestead: 0 DAO: <nil> DAOSupport: false EIP150: 0 EIP155: 0 EIP158: 0 Byzantium: 0 Constantinople: 0 Petersburg: 0 Istanbul: 0, Muir Glacier: 0, Berlin: 0, London: 0, Arrow Glacier: 0, MergeFork: <nil>, Engine: clique}"
INFO [05-25|13:17:55.628] Loaded most recent local header          number=44 hash=84b7d8..1c454c td=89 age=50s
INFO [05-25|13:17:55.629] Checkpoint oracle is not enabled 
INFO [05-25|13:17:55.629] Gasprice oracle is ignoring threshold set threshold=2
INFO [05-25|13:17:55.636] New local node record                    seq=1,653,452,275,635 id=067103ecc648b183 ip=127.0.0.1 udp=60425 tcp=0
WARN [05-25|13:17:55.637] Light client mode is an experimental feature 
INFO [05-25|13:17:55.638] Block synchronisation started 
INFO [05-25|13:17:55.644] Imported new block headers               count=2 elapsed=4.380ms number=46 hash=6277e9..b04665 ignored=1
WARN [05-25|13:18:04.329] Served eth_estimateGas                   reqid=2 duration=63.439136ms err="gas required exceeds allowance (11939027)"
WARN [05-25|13:18:05.690] Served eth_estimateGas                   reqid=4 duration=55.176474ms err="gas required exceeds allowance (11939027)"
WARN [05-25|13:18:07.200] Served eth_estimateGas                   reqid=6 duration=56.41744ms  err="gas required exceeds allowance (11939027)"
WARN [05-25|13:19:18.126] Served eth_estimateGas                   reqid=8 duration=56.584504ms err="gas required exceeds allowance (11939027)"
WARN [05-25|13:25:40.953] Served eth_estimateGas                   reqid=10 duration=43.473181ms err="gas required exceeds allowance (11939027)"
2022/05/25 13:26:02 http: panic serving 127.0.0.1:49168: runtime error: slice bounds out of range [-1:]
goroutine 6377 [running]:
net/http.(*conn).serve.func1()
        /usr/lib/go/src/net/http/server.go:1825 +0xbf
panic({0x1263840, 0xc001ff0690})
        /usr/lib/go/src/runtime/panic.go:844 +0x258
github.com/go-chi/chi/v5/middleware.prettyStack.decorateFuncCallLine({}, {0xc0019b377a, 0x1d}, 0xab?, 0x8)
        /home/joe/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/middleware/recoverer.go:130 +0x545
github.com/go-chi/chi/v5/middleware.prettyStack.decorateLine({}, {0xc0019b377a?, 0xc00203c400?}, 0xb0?, 0x1?)
        /home/joe/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/middleware/recoverer.go:106 +0x15d
github.com/go-chi/chi/v5/middleware.prettyStack.parse({}, {0xc0020c8000, 0x1419, 0xc000858e08?}, {0x11618a0, 0x1ec4610})
        /home/joe/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/middleware/recoverer.go:89 +0x4e5
github.com/go-chi/chi/v5/middleware.PrintPrettyStack({0x11618a0, 0x1ec4610})
        /home/joe/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/middleware/recoverer.go:46 +0x45
github.com/go-chi/chi/v5/middleware.(*defaultLogEntry).Panic(0xc0020afec0?, {0x11618a0?, 0x1ec4610?}, {0xc000858f40?, 0xc0020afec0?, 0x4511b2?})
        /home/joe/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/middleware/logger.go:165 +0x29
github.com/go-chi/chi/v5/middleware.Recoverer.func1.1()
        /home/joe/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/middleware/recoverer.go:28 +0xcc
panic({0x11618a0, 0x1ec4610})
        /usr/lib/go/src/runtime/panic.go:838 +0x207
decred.org/dcrdex/client/asset/eth.(*assetWallet).redeemGas(0xc00042e480, 0x5be9, 0x0)
        /home/joe/git/dcrdex/client/asset/eth/eth.go:1036 +0x33
decred.org/dcrdex/client/asset/eth.(*assetWallet).PreRedeem(0xc00045c210?, 0xc000fa6f30)
        /home/joe/git/dcrdex/client/asset/eth/eth.go:826 +0x32
decred.org/dcrdex/client/core.(*Core).MaxSell(0x7fbbfb17a3f8?, {0xc000dc4ab0, 0xf}, 0x10bf4a0?, 0x0?)
        /home/joe/git/dcrdex/client/core/core.go:3785 +0x3f4
decred.org/dcrdex/client/webserver.(*WebServer).apiMaxSell(0xc0006ac1e0, {0x7fbbfb17a3f8, 0xc0006785c0}, 0xc000fa6cf0?)
        /home/joe/git/dcrdex/client/webserver/api.go:895 +0x9b
net/http.HandlerFunc.ServeHTTP(0xc0008593f8?, {0x7fbbfb17a3f8?, 0xc0006785c0?}, 0xc003304560?)
        /usr/lib/go/src/net/http/server.go:2084 +0x2f
decred.org/dcrdex/client/webserver.(*WebServer).rejectUnauthed.func1({0x7fbbfb17a3f8, 0xc0006785c0}, 0x8?)
        /home/joe/git/dcrdex/client/webserver/middleware.go:119 +0x6a
net/http.HandlerFunc.ServeHTTP(0xc000836fc0?, {0x7fbbfb17a3f8?, 0xc0006785c0?}, 0xc000aca650?)
        /usr/lib/go/src/net/http/server.go:2084 +0x2f
github.com/go-chi/chi/v5.(*ChainHandler).ServeHTTP(0x1152260?, {0x7fbbfb17a3f8?, 0xc0006785c0?}, 0xc000dc4a98?)
        /home/joe/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/chain.go:31 +0x2c
github.com/go-chi/chi/v5.(*Mux).routeHTTP(0xc00081d260, {0x7fbbfb17a3f8, 0xc0006785c0}, 0xc001982700)
        /home/joe/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/mux.go:437 +0x1f9
net/http.HandlerFunc.ServeHTTP(0x1152e60?, {0x7fbbfb17a3f8?, 0xc0006785c0?}, 0x10?)
        /usr/lib/go/src/net/http/server.go:2084 +0x2f
github.com/go-chi/chi/v5/middleware.AllowContentType.func1.1({0x7fbbfb17a3f8, 0xc0006785c0}, 0xc001982700)
        /home/joe/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/middleware/content_type.go:41 +0xeb
net/http.HandlerFunc.ServeHTTP(0x0?, {0x7fbbfb17a3f8?, 0xc0006785c0?}, 0x454d10?)
        /usr/lib/go/src/net/http/server.go:2084 +0x2f
github.com/go-chi/chi/v5.(*Mux).ServeHTTP(0xc00081d260, {0x7fbbfb17a3f8, 0xc0006785c0}, 0xc001982700)
        /home/joe/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/mux.go:71 +0x48d
github.com/go-chi/chi/v5.(*Mux).Mount.func1({0x7fbbfb17a3f8, 0xc0006785c0}, 0xc001982700)
        /home/joe/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/mux.go:312 +0x19c
net/http.HandlerFunc.ServeHTTP(0x1152260?, {0x7fbbfb17a3f8?, 0xc0006785c0?}, 0xc006bce245?)
        /usr/lib/go/src/net/http/server.go:2084 +0x2f
github.com/go-chi/chi/v5.(*Mux).routeHTTP(0xc000964660, {0x7fbbfb17a3f8, 0xc0006785c0}, 0xc001982700)
        /home/joe/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/mux.go:437 +0x1f9
net/http.HandlerFunc.ServeHTTP(0x177c640?, {0x7fbbfb17a3f8?, 0xc0006785c0?}, 0x1770610?)
        /usr/lib/go/src/net/http/server.go:2084 +0x2f
decred.org/dcrdex/client/webserver.(*WebServer).authMiddleware.func1({0x7fbbfb17a3f8, 0xc0006785c0}, 0xc001982600)
        /home/joe/git/dcrdex/client/webserver/middleware.go:49 +0x382
net/http.HandlerFunc.ServeHTTP(0x10?, {0x7fbbfb17a3f8?, 0xc0006785c0?}, 0x4167b9?)
        /usr/lib/go/src/net/http/server.go:2084 +0x2f
github.com/go-chi/chi/v5/middleware.Recoverer.func1({0x7fbbfb17a3f8?, 0xc0006785c0?}, 0xc001984840?)
        /home/joe/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/middleware/recoverer.go:37 +0x83
net/http.HandlerFunc.ServeHTTP(0x1236960?, {0x7fbbfb17a3f8?, 0xc0006785c0?}, 0xe?)
        /usr/lib/go/src/net/http/server.go:2084 +0x2f
decred.org/dcrdex/client/webserver.(*WebServer).securityMiddleware.func1({0x7fbbfb17a3f8, 0xc0006785c0}, 0xc000fa6900?)
        /home/joe/git/dcrdex/client/webserver/middleware.go:34 +0x4ed
net/http.HandlerFunc.ServeHTTP(0xc001982500?, {0x7fbbfb17a3f8?, 0xc0006785c0?}, 0x203000?)
        /usr/lib/go/src/net/http/server.go:2084 +0x2f
github.com/go-chi/chi/v5/middleware.RequestLogger.func1.1({0x177bc08, 0xc00199a0e0}, 0xc001982500)
        /home/joe/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/middleware/logger.go:57 +0x3aa
net/http.HandlerFunc.ServeHTTP(0x177c598?, {0x177bc08?, 0xc00199a0e0?}, 0x1ec4320?)
        /usr/lib/go/src/net/http/server.go:2084 +0x2f
github.com/go-chi/chi/v5.(*Mux).ServeHTTP(0xc000964660, {0x177bc08, 0xc00199a0e0}, 0xc001982400)
        /home/joe/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/mux.go:88 +0x442
net/http.serverHandler.ServeHTTP({0x1779998?}, {0x177bc08, 0xc00199a0e0}, 0xc001982400)
        /usr/lib/go/src/net/http/server.go:2916 +0x43b
net/http.(*conn).serve(0xc000839e00, {0x177c640, 0xc0008ecae0})
        /usr/lib/go/src/net/http/server.go:1966 +0x5d7
created by net/http.(*Server).Serve
        /usr/lib/go/src/net/http/server.go:3071 +0x4db
2022/05/25 13:26:39 http: panic serving 127.0.0.1:46084: runtime error: slice bounds out of range [-1:]
goroutine 6876 [running]:
net/http.(*conn).serve.func1()
        /usr/lib/go/src/net/http/server.go:1825 +0xbf
panic({0x1263840, 0xc00364a990})
        /usr/lib/go/src/runtime/panic.go:844 +0x258
github.com/go-chi/chi/v5/middleware.prettyStack.decorateFuncCallLine({}, {0xc0007cec7a, 0x1d}, 0xab?, 0x8)
        /home/joe/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/middleware/recoverer.go:130 +0x545
github.com/go-chi/chi/v5/middleware.prettyStack.decorateLine({}, {0xc0007cec7a?, 0xc000591c00?}, 0xb0?, 0x1?)
        /home/joe/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/middleware/recoverer.go:106 +0x15d
github.com/go-chi/chi/v5/middleware.prettyStack.parse({}, {0xc000d80000, 0x1419, 0xc000b40e08?}, {0x11618a0, 0x1ec4610})
        /home/joe/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/middleware/recoverer.go:89 +0x4e5
github.com/go-chi/chi/v5/middleware.PrintPrettyStack({0x11618a0, 0x1ec4610})
        /home/joe/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/middleware/recoverer.go:46 +0x45
github.com/go-chi/chi/v5/middleware.(*defaultLogEntry).Panic(0xc000d76090?, {0x11618a0?, 0x1ec4610?}, {0xc000b40f40?, 0xc000d76090?, 0x4511b2?})
        /home/joe/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/middleware/logger.go:165 +0x29
github.com/go-chi/chi/v5/middleware.Recoverer.func1.1()
        /home/joe/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/middleware/recoverer.go:28 +0xcc
panic({0x11618a0, 0x1ec4610})
        /usr/lib/go/src/runtime/panic.go:838 +0x207
decred.org/dcrdex/client/asset/eth.(*assetWallet).redeemGas(0xc00042e480, 0x5be8, 0x0)
        /home/joe/git/dcrdex/client/asset/eth/eth.go:1036 +0x33
decred.org/dcrdex/client/asset/eth.(*assetWallet).PreRedeem(0xc00045c210?, 0xc00042d4d0)
        /home/joe/git/dcrdex/client/asset/eth/eth.go:826 +0x32
decred.org/dcrdex/client/core.(*Core).MaxSell(0x7fbbfb17a3f8?, {0xc0023d5c30, 0xf}, 0x10bf4a0?, 0x0?)
        /home/joe/git/dcrdex/client/core/core.go:3785 +0x3f4
decred.org/dcrdex/client/webserver.(*WebServer).apiMaxSell(0xc0006ac1e0, {0x7fbbfb17a3f8, 0xc0002e0bc0}, 0xc00042d200?)
        /home/joe/git/dcrdex/client/webserver/api.go:895 +0x9b
net/http.HandlerFunc.ServeHTTP(0xc000b413f8?, {0x7fbbfb17a3f8?, 0xc0002e0bc0?}, 0xc000d58ec0?)
        /usr/lib/go/src/net/http/server.go:2084 +0x2f
decred.org/dcrdex/client/webserver.(*WebServer).rejectUnauthed.func1({0x7fbbfb17a3f8, 0xc0002e0bc0}, 0x8?)
        /home/joe/git/dcrdex/client/webserver/middleware.go:119 +0x6a
net/http.HandlerFunc.ServeHTTP(0xc000836fc0?, {0x7fbbfb17a3f8?, 0xc0002e0bc0?}, 0xc0006a6720?)
        /usr/lib/go/src/net/http/server.go:2084 +0x2f
github.com/go-chi/chi/v5.(*ChainHandler).ServeHTTP(0x1152260?, {0x7fbbfb17a3f8?, 0xc0002e0bc0?}, 0xc0023d5c20?)
        /home/joe/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/chain.go:31 +0x2c
github.com/go-chi/chi/v5.(*Mux).routeHTTP(0xc00081d260, {0x7fbbfb17a3f8, 0xc0002e0bc0}, 0xc0004bce00)
        /home/joe/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/mux.go:437 +0x1f9
net/http.HandlerFunc.ServeHTTP(0x1152e60?, {0x7fbbfb17a3f8?, 0xc0002e0bc0?}, 0x10?)
        /usr/lib/go/src/net/http/server.go:2084 +0x2f
github.com/go-chi/chi/v5/middleware.AllowContentType.func1.1({0x7fbbfb17a3f8, 0xc0002e0bc0}, 0xc0004bce00)
        /home/joe/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/middleware/content_type.go:41 +0xeb
net/http.HandlerFunc.ServeHTTP(0x0?, {0x7fbbfb17a3f8?, 0xc0002e0bc0?}, 0x454d10?)
        /usr/lib/go/src/net/http/server.go:2084 +0x2f
github.com/go-chi/chi/v5.(*Mux).ServeHTTP(0xc00081d260, {0x7fbbfb17a3f8, 0xc0002e0bc0}, 0xc0004bce00)
        /home/joe/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/mux.go:71 +0x48d
github.com/go-chi/chi/v5.(*Mux).Mount.func1({0x7fbbfb17a3f8, 0xc0002e0bc0}, 0xc0004bce00)
        /home/joe/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/mux.go:312 +0x19c
net/http.HandlerFunc.ServeHTTP(0x1152260?, {0x7fbbfb17a3f8?, 0xc0002e0bc0?}, 0xc0020dde45?)
        /usr/lib/go/src/net/http/server.go:2084 +0x2f
github.com/go-chi/chi/v5.(*Mux).routeHTTP(0xc000964660, {0x7fbbfb17a3f8, 0xc0002e0bc0}, 0xc0004bce00)
        /home/joe/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/mux.go:437 +0x1f9
net/http.HandlerFunc.ServeHTTP(0x177c640?, {0x7fbbfb17a3f8?, 0xc0002e0bc0?}, 0x1770610?)
        /usr/lib/go/src/net/http/server.go:2084 +0x2f
decred.org/dcrdex/client/webserver.(*WebServer).authMiddleware.func1({0x7fbbfb17a3f8, 0xc0002e0bc0}, 0xc0004bcd00)
        /home/joe/git/dcrdex/client/webserver/middleware.go:49 +0x382
net/http.HandlerFunc.ServeHTTP(0x10?, {0x7fbbfb17a3f8?, 0xc0002e0bc0?}, 0x4167b9?)
        /usr/lib/go/src/net/http/server.go:2084 +0x2f
github.com/go-chi/chi/v5/middleware.Recoverer.func1({0x7fbbfb17a3f8?, 0xc0002e0bc0?}, 0xc0004ff4a0?)
        /home/joe/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/middleware/recoverer.go:37 +0x83
net/http.HandlerFunc.ServeHTTP(0x1236960?, {0x7fbbfb17a3f8?, 0xc0002e0bc0?}, 0xe?)
        /usr/lib/go/src/net/http/server.go:2084 +0x2f
decred.org/dcrdex/client/webserver.(*WebServer).securityMiddleware.func1({0x7fbbfb17a3f8, 0xc0002e0bc0}, 0xc00042ce00?)
        /home/joe/git/dcrdex/client/webserver/middleware.go:34 +0x4ed
net/http.HandlerFunc.ServeHTTP(0xc0004bcc00?, {0x7fbbfb17a3f8?, 0xc0002e0bc0?}, 0x203001?)
        /usr/lib/go/src/net/http/server.go:2084 +0x2f
github.com/go-chi/chi/v5/middleware.RequestLogger.func1.1({0x177bc08, 0xc0004be620}, 0xc0004bcc00)
        /home/joe/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/middleware/logger.go:57 +0x3aa
net/http.HandlerFunc.ServeHTTP(0x177c598?, {0x177bc08?, 0xc0004be620?}, 0x1ec4320?)
        /usr/lib/go/src/net/http/server.go:2084 +0x2f
github.com/go-chi/chi/v5.(*Mux).ServeHTTP(0xc000964660, {0x177bc08, 0xc0004be620}, 0xc0004bcb00)
        /home/joe/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/mux.go:88 +0x442
net/http.serverHandler.ServeHTTP({0x1779998?}, {0x177bc08, 0xc0004be620}, 0xc0004bcb00)
        /usr/lib/go/src/net/http/server.go:2916 +0x43b
net/http.(*conn).serve(0xc0008b21e0, {0x177c640, 0xc0008ecae0})
        /usr/lib/go/src/net/http/server.go:1966 +0x5d7
created by net/http.(*Server).Serve
        /usr/lib/go/src/net/http/server.go:3071 +0x4db
WARN [05-25|13:26:42.392] Served eth_estimateGas                   reqid=12 duration=53.103316ms err="gas required exceeds allowance (11939027)"
WARN [05-25|13:26:43.606] Served eth_estimateGas                   reqid=14 duration=58.104574ms err="gas required exceeds allowance (11939027)"
WARN [05-25|13:26:44.091] Served eth_estimateGas                   reqid=16 duration=57.071798ms err="gas required exceeds allowance (11939027)"

@chappjc chappjc added this to the 0.5 milestone May 25, 2022
@chappjc
Copy link
Member

chappjc commented May 25, 2022

Probably unrelated, but hit a panic in client while testing:

Interesting.

2022/05/25 13:26:02 http: panic serving 127.0.0.1:49168: runtime error: slice bounds out of range [-1:]
goroutine 6377 [running]:
<snip>
        /home/joe/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/middleware/recoverer.go:28 +0xcc
panic({0x11618a0, 0x1ec4610})
        /usr/lib/go/src/runtime/panic.go:838 +0x207
decred.org/dcrdex/client/asset/eth.(*assetWallet).redeemGas(0xc00042e480, 0x5be9, 0x0)
        /home/joe/git/dcrdex/client/asset/eth/eth.go:1036 +0x33
decred.org/dcrdex/client/asset/eth.(*assetWallet).PreRedeem(0xc00045c210?, 0xc00042d4d0)
        /home/joe/git/dcrdex/client/asset/eth/eth.go:826 +0x32
decred.org/dcrdex/client/core.(*Core).MaxSell(0x7fbbfb17a3f8?, {0xc0023d5c30, 0xf}, 0x10bf4a0?, 0x0?)
        /home/joe/git/dcrdex/client/core/core.go:3785 +0x3f4
decred.org/dcrdex/client/webserver.(*WebServer).apiMaxSell(0xc0006ac1e0, {0x7fbbfb17a3f8, 0xc0002e0bc0}, 0xc00042d200?)
        /home/joe/git/dcrdex/client/webserver/api.go:895 +0x9b

That line client/asset/eth.go:1036 doesn't have a slice index operation at all. I wonder what's really going on there.

g := w.gases(nfo.Version)

@buck54321
Copy link
Member Author

I think I fixed that in #1622.

AssetConfig: quoteAsset,

@buck54321 buck54321 requested a review from chappjc May 31, 2022 13:54
Copy link
Member

@chappjc chappjc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Upgrades and restarts working.

The dollar sign is a little annoying in the psql console (evades tab completion and requires escaping the dollar sign in regular expressions), but I don't have a better suggestion. The character choices are limited.

I was going to suggest simply removing a dot rather than replacing it, but I suppose there'd be a possibility for collisions that way.

Any alternative would be replacing with a string like TKN or even DOT e.g. usdt.eth -> usdtTKNeth or usdtDOTeth.

Worse?

@chappjc chappjc merged commit bf32867 into decred:master May 31, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants