aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/genesis_alloc.go2
-rw-r--r--params/config.go10
-rw-r--r--vendor/github.com/dexon-foundation/dexon-consensus/core/agreement-mgr.go19
-rw-r--r--vendor/github.com/dexon-foundation/dexon-consensus/core/agreement.go17
-rw-r--r--vendor/github.com/dexon-foundation/dexon-consensus/core/consensus.go2
-rw-r--r--vendor/github.com/dexon-foundation/dexon-consensus/core/leader-selector.go18
-rw-r--r--vendor/vendor.json42
7 files changed, 63 insertions, 47 deletions
diff --git a/core/genesis_alloc.go b/core/genesis_alloc.go
index bfd5b31c4..598c5398b 100644
--- a/core/genesis_alloc.go
+++ b/core/genesis_alloc.go
@@ -25,4 +25,4 @@ const mainnetAllocData = testnetAllocData
const testnetAllocData = "\xf9\x03>\xf8\xb8\x94L\x05N\xaeq\x18\xe4\xe8Mf\x0f\u007f\u076c\x98W>-;~\xf8\xa1\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\x1f\x89\u06c1\xf3\xc7\t9S_\xf0<f{\xc3\xd4T)\xe7>?H:Wxo\fB\xc2\xcei\xbe'\xe8\xe7X\xbb\x1a\xaa\xfd\x17J:k\u01ac\x88.\xe6)\u0703\x02\xd8\x19)K\xb2%#\u030e\xbb\xe5\xf8D\x91DEXON Test Node 3\x90dexon3@dexon.org\x8eTaipei, Taiwan\x91https://dexon.org\xf8\xb8\x94e=\rg\xff\xe9\xfd\xb3\x1c\xa7\xaf\xeaI\xc62~\xed\x11n\xa7\xf8\xa1\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\xacb\xf0\n\xa3\xc3\xebZ\x1cAh\xdem/\x9a\x05\xf2\xc7\x1a\n\bk\u0720\xfd\xaa\xff&\xde\x18@=(\xfaS\x1e\"-ku\x96n\xe4y\u5a35\xd5\xcdB?\xb3+\xe8qQC\xf3\nJ\xd5\xd77\xa0\xf8D\x91DEXON Test Node 0\x90dexon0@dexon.org\x8eTaipei, Taiwan\x91https://dexon.org\xf8\xb8\x94\x98FK\xa2#p\x9bq\x8c\xef\x05\u067cA\xc9\xf4\xa8\xbcH`\xf8\xa1\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\xa1P\x17~\u0372\u05dd\xdf\u007f\xe2-X\x91\x8b\n\x98\xa8\x8e\xd2\u0308\x8b\xa3W\x90\xfauFY\x80U\\p\xc9F\xefs=\xfb'\x86N2\xe6\xe85b(\xb6^@\x84,\xb1mE\xbd\xe1G8\xe5\xb6T\xf8D\x91DEXON Test Node 1\x90dexon1@dexon.org\x8eTaipei, Taiwan\x91https://dexon.org\xf8\xb8\x94\xa0\x8f\xb1\xa7e$\x1d\x1cd\xbf\x80\xae\xca\u0414\u05afz%L\xf8\xa1\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\xeb\x18\x16^\xeb\x02\x11\xa6.\x96P[\xd5\xd3i\xc7-\u03a0\xfc\x897U\x8a\x01\x10\u007f\xddPA\xc4\u0205o\x0f \x98\xb0K\xb8\xc4X\x13\x0e\x11\aL\x1et\x1f\xd4\xf4\xad.\x88\u04a1\xf2\xb0WG\xf7\x04\x06\xf8D\x91DEXON Test Node 2\x90dexon2@dexon.org\x8eTaipei, Taiwan\x91https://dexon.org\ua53f\x8cH\xa6 \xba\xccF\x90\u007f\x9b\x89s-%\xe4z-|\xf7\u050b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x80\x80\x80\u0100\x80\x80\x80\xea\x94\xe0\xf8Y4\x03S\x85F\x93\xf57\xea3q\x06\xa3>\x9f\xea\xb0\u050b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x80\x80\x80\u0100\x80\x80\x80"
-const taipeiAllocData = "\xf9\x18\x1a\xf8\xbe\x93RqT=FG\xab8\x8b\xfc\x9c\x8f\xda8\x9a+\xfbu\x83\xf8\xa8\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\xc8\xf5\vgh\u02ab0\x8c\x1fhp\xc4'bM\xcf*6i\x96\x90\xe4o\xca\x10Ik-\x18\x8f\x81[\\z\xb5\xf5e\xdd\xfd\x89\xfbH\xf8\x92\x99\xe7K5\x95\x98\ag\xbf\xa6V\xf6\x8bN0O(C\xf5\xf8K\x91Node - us-west1-1\x9btaipei-us-west1-1@dexon.org\x8aus-west1-1\x91https://dexon.org\xf8\xbf\x94\x1b\x03Ja\x83\x93\x96?!\xd3\xd7HOh\x164\u05d8\xec\x0f\xf8\xa8\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04#\xd4\fYTw\xdf(\xc8E@\u0742$n\xfa\x9f\xa6d\xab9?07\x91Y\x00G\xe8)~D\x86\xbb\xe1\x81\xe0\xdd\x12\xfc AG\x91n\x94V\x8cO\xb6\xb4\x91\xae\xfb\r\u0564[\xe6E\xd7\xd2@<\xf8K\x91Node - us-east1-1\x9btaipei-us-east1-1@dexon.org\x8aus-east1-1\x91https://dexon.org\xf8\xec\x94\x1c\x9b\u007f\xeb\xefdc\\\xe8\xd0\x17\x02\x8e\x82+CdJ\v\xff\xf8\u054b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\xa8\x1d\x931 \x9a_\x8c\xebY5\x91\x19\x1b\x1c\xfd`\x96n\xc8\u0583\x06\xf8\xa0\xeb\xacE\x8a\x112U\xceE\x90\x1a`\xb7\x18\xff\x9e\xb3\xcb\x16\xb8\x82b\xaaf\x1f\xd6\xed\x1eu\xfb- \xba+\u0266\xaf\xb6\r\xf8x\xa0Node - northamerica-northeast1-0\xaataipei-northamerica-northeast1-0@dexon.org\x99northamerica-northeast1-0\x91https://dexon.org\xf8\u02d4#C\xb4\x947S\x06\xf7\xf9\xa2\x82|SEG\xdf\u05faw~\xf8\xb4\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04@\xe6\x10\u0474\x06_\xbb\xe6\xf63\xae$\u01bb\x86\x14\xe9\x10W\xc7\xda\x1d\xb5\x8ew\xa9t\x1elw\xf4\v\xab\xa7d\u068c\xc4\u0768\x16&\x83sE\xceK\xc0F\x1ea?\xab\xbf\xe1o\xf2\x80\xe4uW\x8d\xee\xf8W\x95Node - europe-west4-1\x9ftaipei-europe-west4-1@dexon.org\x8eeurope-west4-1\x91https://dexon.org\xf8\xbf\x94'\xba\xa0\x95\xbd\x1d\x1d\u04f5\x1do\x99\x15\xdb \x03\xd1\xd5&\\\xf8\xa8\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\xbb\xac\xf8\xd4%:\x18\x1e'\xd3!W\x19\x99\x90\x99A\xbd\xd0e0Q\xb2L\x1c\xd1\xf0\xbe\xfa\x86p\xac\x91\x8d\u00ccd\xf4&\xdc\xde\u37b9xQ\x9d\x16\xd8\x0f\x84\xaa\x00\x05\xf1i\x1c\x96\xff\xee\xd3-\x0e(\xf8K\x91Node - us-east4-0\x9btaipei-us-east4-0@dexon.org\x8aus-east4-0\x91https://dexon.org\xf8\xbf\x94(\x88\u052eUi\u0168\xeb\xae\xc6\xc3!Ycy\x8c8\xe5\x9b\xf8\xa8\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04+\xab!3\x86\x99U\x9a\xd7\"\v.e\xe7N\xb8B\xf7\x13\v\xaa\xc0\xa7\xeab\xa9\u007f(\x18\"l\n\x8e\xf04\xa1\xe6Z\xfd\r\x90\u07a17G\a\u05bd\r\x0fR\xb12\x15.\x1f CS\xbe\xb1v\x9b\xbb\xf8K\x91Node - us-east4-1\x9btaipei-us-east4-1@dexon.org\x8aus-east4-1\x91https://dexon.org\xf8\u0154.SN\x10|3\xb8\xfb.\x96x\xae\xb1\x86F\xda\x1d\xa0\x1b\x8d\xf8\xae\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\x9b\x8d\xc3'\xa1Q\xe0\u068e\u024d\xef\a\xdc\x05;-1\x86\x19/\x1d\xa9\xfaY\u0345p\xc7x\xf6e\x98\xa7L\xf9\x91\x83\x9c D\xb5\xeb\x14\xa2e\x0e\x86\x19n\xc5\u04ec\xfa\x1d7\xfb\x0e\xd2\xd7\xf3i\\\x04\xf8Q\x93Node - asia-east1-2\x9dtaipei-asia-east1-2@dexon.org\x8casia-east1-2\x91https://dexon.org\xf8\xbf\x94:\xb3o\u007f\t\xa4v\u007f\xa7\x97\xf8\xe0\x96\x0e{$~\x0e\xfe\x02\xf8\xa8\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\xa8*\x8c\x16[\x96}\"\xeb\x83w\x93\x15\x04X\xe7\xf7\vhIj\xff\xe9\xa4\xf0,\x99\x04b\x81\x93'\x86\xab\xfb\xfd\xa2u\xc7\r=$\x94L@\x92T\xe0Jrc\xe2\xdc\xf9\x85\u07cc\xae\"ir;\xfd6\xf8K\x91Node - us-west1-2\x9btaipei-us-west1-2@dexon.org\x8aus-west1-2\x91https://dexon.org\xf8\u02d4I|\xef8/\xbd\x90\u007f_\x90\x89!\xee\xe8\u07f021<\xa7\xf8\xb4\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04VVw\x9e)\x99\xf1;\xb6\x86\x1c\u048f\xbfo>\x88\xef\x91\xfb\b\xc6\u0de9j\x95\x9f\xc0h\x0e\xdc7\"\x16\xdf!;C\x91M\x05a\v\xbb\x06\x17\x1fU\xf83\x1a.\\\xff'e@L\xa4\xd5=\xec\xaf\xf8W\x95Node - europe-west4-2\x9ftaipei-europe-west4-2@dexon.org\x8eeurope-west4-2\x91https://dexon.org\xf8\xbf\x94PY\x8e}\x86\x8d^;\x8c;\u1ff0Pt'}\xf05d\xf8\xa8\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\x9e\x00\xde\xf0\x98\x1fN\xda\u04eci0\x88\x16\u0095\r_\x15n [\xed\xd3g\xf4\xf4\xccw\xb3\xd3+S\x0f\u0214\v\x97;\xf0$s\xf4\xc1\a'^\xc9\xf3\xa7\xf1\n\x19\xfa\xa5\xcf7\xd0hj\x16\u007f\x9b\xa7\xf8K\x91Node - us-west1-0\x9btaipei-us-west1-0@dexon.org\x8aus-west1-0\x91https://dexon.org\xf8\xbf\x94W\x82\u483eN$Z\xb7-c\u03a5J\x10Ag\u0392\xc0\xf8\xa8\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04xk%Y\x99\fd\u0451\xacqg\x04\x10.\x16\x95q\x90\x81a\xa2W)^9#\x12\x1b\x15ZC\xae\xaa\x9d\x97\r\xf7)c\x93\xc7\xcddI,,\x1d\x90|yN$`\xfdL8\xab\x05\xb7M\u00ee\xf1\xf8K\x91Node - us-east1-2\x9btaipei-us-east1-2@dexon.org\x8aus-east1-2\x91https://dexon.org\xf8\xbf\x94]\xc3\x04\u03c2\xa1\xf01n\x955\x83\x9f]x\x01\xeft\x02\x1e\xf8\xa8\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04q\xa2:v\xee\xa5'\xc5\x00\xe0\xbcY\xbbQ3\xa9\xfc\xa7\xff\x16(\xa9 \xee:d\x9aR{C\xad\x05dU\xc5\u04aa\xf7\u03e3<\xef\x18|\x89X1\xfb\xd1=\xa9\x1c\xf4}1\xb5\xe2\x18\xd7-$3a\x0f\xf8K\x91Node - us-west2-1\x9btaipei-us-west2-1@dexon.org\x8aus-west2-1\x91https://dexon.org\xf8\u0514_*(\xa5\xc3\x14\x8ar\xe1j\fD\xa7\xb0\xce\xc1/\v\xa2\x17\xf8\xbd\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04Js\x93\xd7\x10BG\xf2\xe8R\x90d\xac-\xcbi\x91\xec$\xc7\x14\xdb\xfawJ\u01eb\x00\xd9\u0552\x81f\xac1\x89u\xd1\u05bcQ\xc5\x13[\xd2i\xcb\xc5\xee\xfc\xcahY\xba0\xa4\x97\x95j\xb5\xf6\x9d\x14\xba\xf8`\x98Node - asia-northeast1-2\xa2taipei-asia-northeast1-2@dexon.org\x91asia-northeast1-2\x91https://dexon.org\xf8\u0514j=d>|N\xdf3[\f\x89e\x99\bT:P\xee\xbbJ\xf8\xbd\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04d(\xc3&\x15o\x1d\xa9\xd6\xe4\x06\xdc\xc9\xfc\xd5\xeb\xd5(J\x01\xbcB\xbco\nf)\x04\x00\u01ad\x9a\x01\x803\xaa\xf5h/9\x9a\xc0\xb5\xed\xa4C\xf4\xdf\xfd\x17\xc6\x1fH\x15\x8eq\xf6\xf9\xbd\u015e\xa2-\x8b\xf8`\x98Node - asia-northeast1-1\xa2taipei-asia-northeast1-1@dexon.org\x91asia-northeast1-1\x91https://dexon.org\xf8\u0214\x89\xba\u0241K\xd8J\x85\xe5\x87\xda\v\xbf\x88l=\x11\x98\"+\xf8\xb1\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\x81\x8eK\xfc\xd6O\u00f3\xdf*n\t\xa4\xf4\x90\xb9\x86E\xff\xc0\xf6E\u07dc\x8d\u007fo\u0525\xbb\x93V[\xb2;\xef#h{!B\x01\x82\x02\xbf\xf9\xc3-\u0656[oO[`\xcc~\x8e\x8c*\xe0G\x13\xd9\xf8T\x94Node - us-central1-2\x9etaipei-us-central1-2@dexon.org\x8dus-central1-2\x91https://dexon.org\xf8\u0154\xa2!'\x95\x1c\xd44\xa7\u047aV\xe2\xa4\xf4.\xf3\xd7^]B\xf8\xae\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\x8cH3\x0eu\xac\xb0oM\xd8~\x87_\xb8\xecY\x0e\xd7\x03\x88\xe4B\x01\x8d<\x85[C{\x83\v\x16?k\x93\xfc\xca\xda`\u007f\x8e\xe2\x1d\xf1@\xe1M$\xaaB\xf6\xce\f\x1f1yQ\xea\x03\xec\x04\x99bX\xf8Q\x93Node - asia-east2-2\x9dtaipei-asia-east2-2@dexon.org\x8casia-east2-2\x91https://dexon.org\xf8\u0154\xa3\xd8\x1f\x16\xf7\x9c\x122\xa5BR\xbd\xb6\xa7^})%\x1a\xda\xf8\xae\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\xf7I\xb9\xab\xa5.\x99r\xdc}\xf47\v\x0f~\x1c\u0557\xb8k\xee%\xde0\xdfs\x94P-\xc8\u0684\xf2\xf42E3\x1cy'\x90y\xe2\xa7\xef\xfa\xfd\xd2X\xbb{\x9d\t\xb5\x8e_\x17%\bq\xcb\xdaS\x02\xf8Q\x93Node - asia-east2-1\x9dtaipei-asia-east2-1@dexon.org\x8casia-east2-1\x91https://dexon.org\xf8\u0154\xa7<\x1c\xa6N\xf5\u007f|\xb9\x14.\xbd\xb4\x81:H\x97\xffh`\xf8\xae\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\u01e1\xaf\xc4%l\xa1\x87\xf2\xe8\x1eh\xad\xdf\xd7D\x8a\x1e\xa7\x15G\x8c/\x02\x8d/?\xd1\xf5\xf8\x9b\x82\x12\x06\x01y\xa0\r\x06\x11L \x0ecK\xecQ\x85\xbe\x01a\xf9,\xbcL\x9f\xfd\xdaI{\x83\x06L\xbf\xf8Q\x93Node - asia-east2-0\x9dtaipei-asia-east2-0@dexon.org\x8casia-east2-0\x91https://dexon.org\xf8\u0154\xae\x8b\x8b\xa2\xdfb}\xde_\xbb\x83\rn:\xe2D\x04\x19>\xaf\xf8\xae\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\xd9z\xea\xb0K\x8d?\x8dH\xdc\xfa\x97\x9d\x04\x8b~\xb8b\x8b\xb8\xd6\xd7,3\xc5GGe\xe9\xc1\xbff\u02f3\xa2\xaa\xf0\x90\u049e\xcbEq\x92\xd7\x13\xc5~\xd9*\xf1\u0552|A,\xf3v^\x98!\xf4\x1d\x98\xf8Q\x93Node - asia-east1-0\x9dtaipei-asia-east1-0@dexon.org\x8casia-east1-0\x91https://dexon.org\xf8\u0214\xae\xd9Tzw\u074c\xabO\x1d8\xfaW\x19\"F\x17\xf8\x16E\xf8\xb1\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\xe0\u80fb\xac\xe4\xd4\x10\xd3\a\xe3\xda0x\x17\xe6W\xe88\xb8:\x18)\xa2p\x19\x82\x00Ohr\xfd\x18\xb3\xc8\r%\xb4\u062b\x88P\xee#\u0570\x8b\x0e_\xa1\xb7\xac!\xa7\xaf\xe4\xd1y\x9e\x10\xad!VK\xf8T\x94Node - us-central1-0\x9etaipei-us-central1-0@dexon.org\x8dus-central1-0\x91https://dexon.org\xf8\u0514\xb8w\x97\x98-\x89\xe3z\xd8\u07a1t\xdex)\xaf\xc5\xfa\xb0\x8d\xf8\xbd\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\xd8\xe9\xe2S\xe6\x04\x0f\x15\x13 \xea\x06\x82\xf0B\xc3 \xfcX\xf7\u05c5\xae\x83\x91g\xad\xb5\x1b\xbb\xd7\xe9C\xcbp0_\xf9h\x94~\xc2\xed\xa5[_\xd8i\xefU\x0e\xc0\x10\xf7'?W\xf7\x1c\x97\xadk=W\xf8`\x98Node - asia-northeast1-0\xa2taipei-asia-northeast1-0@dexon.org\x91asia-northeast1-0\x91https://dexon.org\xf8\u0154\xb8\u007fY\u0188\xeb\x0e\x97\x19\xbc\x91\xe8\xc0\xdb\x1c\x10\xd5P\x95j\xf8\xae\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\u007f\xf7i\xf9\xcc\t\x8ev4\xc2OIoO]/h\xd8\xeb\xd1*\xbaq\xdaY\xeb\x02(\x00o\xae8\x9b\u007fz\xff\xc9\xd1\x1e\x10\xae\x82\xff\x9c5\x9e\x92)\xb9\xefB=\xb3\u053b\u07f3\u057aj0[\xdcy\xf8Q\x93Node - asia-east1-1\x9dtaipei-asia-east1-1@dexon.org\x8casia-east1-1\x91https://dexon.org\xf8\xbf\x94\xb9\xa4wf\xca9\xe4O\xfd\U0007693a\u0165\xae1\xaf\xda\xe8\xf8\xa8\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04]\xa1\"\xd6\xfb9C\xf1V'\x99\x8d\xbb\x02C\xde|\x8a\x009\x93\xe4\x8a\xd71I2\xa6jo\xa2x\xa4\xf4\x94g\xd8\x15]\x9a%\xf1\x8fH&\xbe,\x99\x94\xa4\x95r\xc1\u03b4J\xff\x9b%j\x126,=\xf8K\x91Node - us-east4-2\x9btaipei-us-east4-2@dexon.org\x8aus-east4-2\x91https://dexon.org\u953f\x8cH\xa6 \xba\xccF\x90\u007f\x9b\x89s-%\xe4z-|\xf7\u04ca\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\x80\x80\u0100\x80\x80\x80\xf8\xbf\x94\xd1\xef\xe1\xf9r\xcb-\u028b\u0241,\xc1\xb9\x91sv\x9b\x1c\x87\xf8\xa8\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04FU\xe6\a\xeb8\x95r\xe9\u6967\x88\xef\u061e\x94p\xc6\x15\x98o\x12\xc2\xf6l^\xe6F\xe2\x9eU'0\u0754\x88\xdct\xfb\xfd\u0741\xc7a\x8f\xe4\xae%\x05\xb8\xe6\x13hG\xaa\xe7yO\ub2bb\xfa\x01\xf8K\x91Node - us-east1-0\x9btaipei-us-east1-0@dexon.org\x8aus-east1-0\x91https://dexon.org\xf8\xbf\x94\xd3\x1d+#\x17@k\x16}\xde?NV\xd9x\x05q\x85GD\xf8\xa8\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\x8c0\x91\xf3\xbe\xa2&\x85@\x81\xbc\xbd\xcf\xd01\xc1\\]\xfd\xad\xd0ps\x92\xb2i\xce5#\x95\xbf[dQ\xa5\x8c\x1a8\xfc\xb5d\xfd?,\xb5\x0fLC\xf3{\xf8m#\xbd\xa5E^\xfdP\xdd_RW\xf1\xf8K\x91Node - us-west2-2\x9btaipei-us-west2-2@dexon.org\x8aus-west2-2\x91https://dexon.org\xf8\xec\x94\u0677r\b\xa5\xb7\xe4\xad5\xf9(\x80\xc53\xc2wV(\u07f7\xf8\u054b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04N\xf6\xd5t\xe1\xe8\xbe@[R\xc6\xe5\u0552\xb7cPvs\xd2+}\xa5\ueda2$\x89\x8b\xa5\xa8\xe9(\x1d\xecB\xf7]\xd4N\xb7g?D1h\x17\xc3\xf1\xaa\xc1N\xfd\x1a\xc2#\xc3\x1c\xa6h\x19\x84\x9c\t\xf8x\xa0Node - northamerica-northeast1-2\xaataipei-northamerica-northeast1-2@dexon.org\x99northamerica-northeast1-2\x91https://dexon.org\xf8\u02d4\u0713\x8c\xaf\x06\x8eE\xa0\x01\xa9Q.\x05D]V]\x19\xcc5\xf8\xb4\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\xc2\xe5b\u03a2\xaa~\xf9\xa3t\v\xb9\xcf\\g\xb4\x1b\xb5\x11\x92'k\xd3\xf9n\xb8\u0278\xb3\xae,\x03\x1d^p\xac\u04df].k\x1f\xa2\xad!\xf2\x10\x0f\x85s\xa3nZfE\xf1\xf4j(\x8c\x87$*\xd8\xf8W\x95Node - europe-west4-0\x9ftaipei-europe-west4-0@dexon.org\x8eeurope-west4-0\x91https://dexon.org\xe9\x94\xe0\xf8Y4\x03S\x85F\x93\xf57\xea3q\x06\xa3>\x9f\xea\xb0\u04ca\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\x80\x80\u0100\x80\x80\x80\xf8\u0214\xe1\xe5\x13\xfah\xeffr^\xda\xf8)\xf9AT<9\x13Kq\xf8\xb1\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\t\xe3\x0e\xfeq\x0e]\u06d3Z\xcc\n\xce^f\xa7\xb2\xf1r5!S\xe0p\xb4\x83=\xe4\x840\x8b\xab\xc0\x81\xe0\xe1\x84W$zx\xf9`cvB\x9a\x8f\x15\xc2T\x85\xe2\xbe\x00\u027cYk,\x8d\xa3*\x0e\xf8T\x94Node - us-central1-1\x9etaipei-us-central1-1@dexon.org\x8dus-central1-1\x91https://dexon.org\xf8\xec\x94\xef]\x14*\xf8\u04ecB$3\x17\xe7\xeb%\x8dY<\xabEu\xf8\u054b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\xdf\xe2\x9c\xd7\x1e@Y\xbc\aD\v\x9d\xad\xedP\xa9\x1f\xf2\x14_\xa8.\u058e\x89\xabe\x1d\xcd7\x8dzL\xcdK\x92\xf5B\xfa?\bbw\xf2T\xbcW@Mx\xc3h\xb1\xa9\xe6\xabvZZv\x9e\x1e3?\xf8x\xa0Node - northamerica-northeast1-1\xaataipei-northamerica-northeast1-1@dexon.org\x99northamerica-northeast1-1\x91https://dexon.org\xf8\xbf\x94\xffh\xe5Yg\xc4\x15\xc3,\xb2\xa8K\xe6\xcd\xf4}U\xa6\xa7\u007f\xf8\xa8\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04w7\xd9\xc0\x9a=sJ\xb5i\xebg'\x85\x9f>#\x1b\xbf_\xef\x00=\x15\xdal\x95^\xcc#\a\x8e\x89C\xcc\x1e\xd9ji\xcc\x147\xaa\x93\xdb\x00_%>\\\xbe\x87\x8b3\xb0\v\xec\t\xaf\xdd\u03aa\x83\xc5\xf8K\x91Node - us-west2-0\x9btaipei-us-west2-0@dexon.org\x8aus-west2-0\x91https://dexon.org"
+const taipeiAllocData = "\xf9\x18\x1c\xf8\xbe\x93RqT=FG\xab8\x8b\xfc\x9c\x8f\xda8\x9a+\xfbu\x83\xf8\xa8\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\xc8\xf5\vgh\u02ab0\x8c\x1fhp\xc4'bM\xcf*6i\x96\x90\xe4o\xca\x10Ik-\x18\x8f\x81[\\z\xb5\xf5e\xdd\xfd\x89\xfbH\xf8\x92\x99\xe7K5\x95\x98\ag\xbf\xa6V\xf6\x8bN0O(C\xf5\xf8K\x91Node - us-west1-1\x9btaipei-us-west1-1@dexon.org\x8aus-west1-1\x91https://dexon.org\xf8\xbf\x94\x1b\x03Ja\x83\x93\x96?!\xd3\xd7HOh\x164\u05d8\xec\x0f\xf8\xa8\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04#\xd4\fYTw\xdf(\xc8E@\u0742$n\xfa\x9f\xa6d\xab9?07\x91Y\x00G\xe8)~D\x86\xbb\xe1\x81\xe0\xdd\x12\xfc AG\x91n\x94V\x8cO\xb6\xb4\x91\xae\xfb\r\u0564[\xe6E\xd7\xd2@<\xf8K\x91Node - us-east1-1\x9btaipei-us-east1-1@dexon.org\x8aus-east1-1\x91https://dexon.org\xf8\xec\x94\x1c\x9b\u007f\xeb\xefdc\\\xe8\xd0\x17\x02\x8e\x82+CdJ\v\xff\xf8\u054b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\xa8\x1d\x931 \x9a_\x8c\xebY5\x91\x19\x1b\x1c\xfd`\x96n\xc8\u0583\x06\xf8\xa0\xeb\xacE\x8a\x112U\xceE\x90\x1a`\xb7\x18\xff\x9e\xb3\xcb\x16\xb8\x82b\xaaf\x1f\xd6\xed\x1eu\xfb- \xba+\u0266\xaf\xb6\r\xf8x\xa0Node - northamerica-northeast1-0\xaataipei-northamerica-northeast1-0@dexon.org\x99northamerica-northeast1-0\x91https://dexon.org\xf8\u02d4#C\xb4\x947S\x06\xf7\xf9\xa2\x82|SEG\xdf\u05faw~\xf8\xb4\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04@\xe6\x10\u0474\x06_\xbb\xe6\xf63\xae$\u01bb\x86\x14\xe9\x10W\xc7\xda\x1d\xb5\x8ew\xa9t\x1elw\xf4\v\xab\xa7d\u068c\xc4\u0768\x16&\x83sE\xceK\xc0F\x1ea?\xab\xbf\xe1o\xf2\x80\xe4uW\x8d\xee\xf8W\x95Node - europe-west4-1\x9ftaipei-europe-west4-1@dexon.org\x8eeurope-west4-1\x91https://dexon.org\xf8\xbf\x94'\xba\xa0\x95\xbd\x1d\x1d\u04f5\x1do\x99\x15\xdb \x03\xd1\xd5&\\\xf8\xa8\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\xbb\xac\xf8\xd4%:\x18\x1e'\xd3!W\x19\x99\x90\x99A\xbd\xd0e0Q\xb2L\x1c\xd1\xf0\xbe\xfa\x86p\xac\x91\x8d\u00ccd\xf4&\xdc\xde\u37b9xQ\x9d\x16\xd8\x0f\x84\xaa\x00\x05\xf1i\x1c\x96\xff\xee\xd3-\x0e(\xf8K\x91Node - us-east4-0\x9btaipei-us-east4-0@dexon.org\x8aus-east4-0\x91https://dexon.org\xf8\xbf\x94(\x88\u052eUi\u0168\xeb\xae\xc6\xc3!Ycy\x8c8\xe5\x9b\xf8\xa8\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04+\xab!3\x86\x99U\x9a\xd7\"\v.e\xe7N\xb8B\xf7\x13\v\xaa\xc0\xa7\xeab\xa9\u007f(\x18\"l\n\x8e\xf04\xa1\xe6Z\xfd\r\x90\u07a17G\a\u05bd\r\x0fR\xb12\x15.\x1f CS\xbe\xb1v\x9b\xbb\xf8K\x91Node - us-east4-1\x9btaipei-us-east4-1@dexon.org\x8aus-east4-1\x91https://dexon.org\xf8\u0154.SN\x10|3\xb8\xfb.\x96x\xae\xb1\x86F\xda\x1d\xa0\x1b\x8d\xf8\xae\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\x9b\x8d\xc3'\xa1Q\xe0\u068e\u024d\xef\a\xdc\x05;-1\x86\x19/\x1d\xa9\xfaY\u0345p\xc7x\xf6e\x98\xa7L\xf9\x91\x83\x9c D\xb5\xeb\x14\xa2e\x0e\x86\x19n\xc5\u04ec\xfa\x1d7\xfb\x0e\xd2\xd7\xf3i\\\x04\xf8Q\x93Node - asia-east1-2\x9dtaipei-asia-east1-2@dexon.org\x8casia-east1-2\x91https://dexon.org\xf8\xbf\x94:\xb3o\u007f\t\xa4v\u007f\xa7\x97\xf8\xe0\x96\x0e{$~\x0e\xfe\x02\xf8\xa8\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\xa8*\x8c\x16[\x96}\"\xeb\x83w\x93\x15\x04X\xe7\xf7\vhIj\xff\xe9\xa4\xf0,\x99\x04b\x81\x93'\x86\xab\xfb\xfd\xa2u\xc7\r=$\x94L@\x92T\xe0Jrc\xe2\xdc\xf9\x85\u07cc\xae\"ir;\xfd6\xf8K\x91Node - us-west1-2\x9btaipei-us-west1-2@dexon.org\x8aus-west1-2\x91https://dexon.org\xf8\u02d4I|\xef8/\xbd\x90\u007f_\x90\x89!\xee\xe8\u07f021<\xa7\xf8\xb4\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04VVw\x9e)\x99\xf1;\xb6\x86\x1c\u048f\xbfo>\x88\xef\x91\xfb\b\xc6\u0de9j\x95\x9f\xc0h\x0e\xdc7\"\x16\xdf!;C\x91M\x05a\v\xbb\x06\x17\x1fU\xf83\x1a.\\\xff'e@L\xa4\xd5=\xec\xaf\xf8W\x95Node - europe-west4-2\x9ftaipei-europe-west4-2@dexon.org\x8eeurope-west4-2\x91https://dexon.org\xf8\xbf\x94PY\x8e}\x86\x8d^;\x8c;\u1ff0Pt'}\xf05d\xf8\xa8\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\x9e\x00\xde\xf0\x98\x1fN\xda\u04eci0\x88\x16\u0095\r_\x15n [\xed\xd3g\xf4\xf4\xccw\xb3\xd3+S\x0f\u0214\v\x97;\xf0$s\xf4\xc1\a'^\xc9\xf3\xa7\xf1\n\x19\xfa\xa5\xcf7\xd0hj\x16\u007f\x9b\xa7\xf8K\x91Node - us-west1-0\x9btaipei-us-west1-0@dexon.org\x8aus-west1-0\x91https://dexon.org\xf8\xbf\x94W\x82\u483eN$Z\xb7-c\u03a5J\x10Ag\u0392\xc0\xf8\xa8\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04xk%Y\x99\fd\u0451\xacqg\x04\x10.\x16\x95q\x90\x81a\xa2W)^9#\x12\x1b\x15ZC\xae\xaa\x9d\x97\r\xf7)c\x93\xc7\xcddI,,\x1d\x90|yN$`\xfdL8\xab\x05\xb7M\u00ee\xf1\xf8K\x91Node - us-east1-2\x9btaipei-us-east1-2@dexon.org\x8aus-east1-2\x91https://dexon.org\xf8\xbf\x94]\xc3\x04\u03c2\xa1\xf01n\x955\x83\x9f]x\x01\xeft\x02\x1e\xf8\xa8\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04q\xa2:v\xee\xa5'\xc5\x00\xe0\xbcY\xbbQ3\xa9\xfc\xa7\xff\x16(\xa9 \xee:d\x9aR{C\xad\x05dU\xc5\u04aa\xf7\u03e3<\xef\x18|\x89X1\xfb\xd1=\xa9\x1c\xf4}1\xb5\xe2\x18\xd7-$3a\x0f\xf8K\x91Node - us-west2-1\x9btaipei-us-west2-1@dexon.org\x8aus-west2-1\x91https://dexon.org\xf8\u0514_*(\xa5\xc3\x14\x8ar\xe1j\fD\xa7\xb0\xce\xc1/\v\xa2\x17\xf8\xbd\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04Js\x93\xd7\x10BG\xf2\xe8R\x90d\xac-\xcbi\x91\xec$\xc7\x14\xdb\xfawJ\u01eb\x00\xd9\u0552\x81f\xac1\x89u\xd1\u05bcQ\xc5\x13[\xd2i\xcb\xc5\xee\xfc\xcahY\xba0\xa4\x97\x95j\xb5\xf6\x9d\x14\xba\xf8`\x98Node - asia-northeast1-2\xa2taipei-asia-northeast1-2@dexon.org\x91asia-northeast1-2\x91https://dexon.org\xf8\u0514j=d>|N\xdf3[\f\x89e\x99\bT:P\xee\xbbJ\xf8\xbd\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04d(\xc3&\x15o\x1d\xa9\xd6\xe4\x06\xdc\xc9\xfc\xd5\xeb\xd5(J\x01\xbcB\xbco\nf)\x04\x00\u01ad\x9a\x01\x803\xaa\xf5h/9\x9a\xc0\xb5\xed\xa4C\xf4\xdf\xfd\x17\xc6\x1fH\x15\x8eq\xf6\xf9\xbd\u015e\xa2-\x8b\xf8`\x98Node - asia-northeast1-1\xa2taipei-asia-northeast1-1@dexon.org\x91asia-northeast1-1\x91https://dexon.org\xf8\u0214\x89\xba\u0241K\xd8J\x85\xe5\x87\xda\v\xbf\x88l=\x11\x98\"+\xf8\xb1\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\x81\x8eK\xfc\xd6O\u00f3\xdf*n\t\xa4\xf4\x90\xb9\x86E\xff\xc0\xf6E\u07dc\x8d\u007fo\u0525\xbb\x93V[\xb2;\xef#h{!B\x01\x82\x02\xbf\xf9\xc3-\u0656[oO[`\xcc~\x8e\x8c*\xe0G\x13\xd9\xf8T\x94Node - us-central1-2\x9etaipei-us-central1-2@dexon.org\x8dus-central1-2\x91https://dexon.org\xf8\u0154\xa2!'\x95\x1c\xd44\xa7\u047aV\xe2\xa4\xf4.\xf3\xd7^]B\xf8\xae\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\x8cH3\x0eu\xac\xb0oM\xd8~\x87_\xb8\xecY\x0e\xd7\x03\x88\xe4B\x01\x8d<\x85[C{\x83\v\x16?k\x93\xfc\xca\xda`\u007f\x8e\xe2\x1d\xf1@\xe1M$\xaaB\xf6\xce\f\x1f1yQ\xea\x03\xec\x04\x99bX\xf8Q\x93Node - asia-east2-2\x9dtaipei-asia-east2-2@dexon.org\x8casia-east2-2\x91https://dexon.org\xf8\u0154\xa3\xd8\x1f\x16\xf7\x9c\x122\xa5BR\xbd\xb6\xa7^})%\x1a\xda\xf8\xae\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\xf7I\xb9\xab\xa5.\x99r\xdc}\xf47\v\x0f~\x1c\u0557\xb8k\xee%\xde0\xdfs\x94P-\xc8\u0684\xf2\xf42E3\x1cy'\x90y\xe2\xa7\xef\xfa\xfd\xd2X\xbb{\x9d\t\xb5\x8e_\x17%\bq\xcb\xdaS\x02\xf8Q\x93Node - asia-east2-1\x9dtaipei-asia-east2-1@dexon.org\x8casia-east2-1\x91https://dexon.org\xf8\u0154\xa7<\x1c\xa6N\xf5\u007f|\xb9\x14.\xbd\xb4\x81:H\x97\xffh`\xf8\xae\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\u01e1\xaf\xc4%l\xa1\x87\xf2\xe8\x1eh\xad\xdf\xd7D\x8a\x1e\xa7\x15G\x8c/\x02\x8d/?\xd1\xf5\xf8\x9b\x82\x12\x06\x01y\xa0\r\x06\x11L \x0ecK\xecQ\x85\xbe\x01a\xf9,\xbcL\x9f\xfd\xdaI{\x83\x06L\xbf\xf8Q\x93Node - asia-east2-0\x9dtaipei-asia-east2-0@dexon.org\x8casia-east2-0\x91https://dexon.org\xf8\u0154\xae\x8b\x8b\xa2\xdfb}\xde_\xbb\x83\rn:\xe2D\x04\x19>\xaf\xf8\xae\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\xd9z\xea\xb0K\x8d?\x8dH\xdc\xfa\x97\x9d\x04\x8b~\xb8b\x8b\xb8\xd6\xd7,3\xc5GGe\xe9\xc1\xbff\u02f3\xa2\xaa\xf0\x90\u049e\xcbEq\x92\xd7\x13\xc5~\xd9*\xf1\u0552|A,\xf3v^\x98!\xf4\x1d\x98\xf8Q\x93Node - asia-east1-0\x9dtaipei-asia-east1-0@dexon.org\x8casia-east1-0\x91https://dexon.org\xf8\u0214\xae\xd9Tzw\u074c\xabO\x1d8\xfaW\x19\"F\x17\xf8\x16E\xf8\xb1\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\xe0\u80fb\xac\xe4\xd4\x10\xd3\a\xe3\xda0x\x17\xe6W\xe88\xb8:\x18)\xa2p\x19\x82\x00Ohr\xfd\x18\xb3\xc8\r%\xb4\u062b\x88P\xee#\u0570\x8b\x0e_\xa1\xb7\xac!\xa7\xaf\xe4\xd1y\x9e\x10\xad!VK\xf8T\x94Node - us-central1-0\x9etaipei-us-central1-0@dexon.org\x8dus-central1-0\x91https://dexon.org\xf8\u0514\xb8w\x97\x98-\x89\xe3z\xd8\u07a1t\xdex)\xaf\xc5\xfa\xb0\x8d\xf8\xbd\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\xd8\xe9\xe2S\xe6\x04\x0f\x15\x13 \xea\x06\x82\xf0B\xc3 \xfcX\xf7\u05c5\xae\x83\x91g\xad\xb5\x1b\xbb\xd7\xe9C\xcbp0_\xf9h\x94~\xc2\xed\xa5[_\xd8i\xefU\x0e\xc0\x10\xf7'?W\xf7\x1c\x97\xadk=W\xf8`\x98Node - asia-northeast1-0\xa2taipei-asia-northeast1-0@dexon.org\x91asia-northeast1-0\x91https://dexon.org\xf8\u0154\xb8\u007fY\u0188\xeb\x0e\x97\x19\xbc\x91\xe8\xc0\xdb\x1c\x10\xd5P\x95j\xf8\xae\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\u007f\xf7i\xf9\xcc\t\x8ev4\xc2OIoO]/h\xd8\xeb\xd1*\xbaq\xdaY\xeb\x02(\x00o\xae8\x9b\u007fz\xff\xc9\xd1\x1e\x10\xae\x82\xff\x9c5\x9e\x92)\xb9\xefB=\xb3\u053b\u07f3\u057aj0[\xdcy\xf8Q\x93Node - asia-east1-1\x9dtaipei-asia-east1-1@dexon.org\x8casia-east1-1\x91https://dexon.org\xf8\xbf\x94\xb9\xa4wf\xca9\xe4O\xfd\U0007693a\u0165\xae1\xaf\xda\xe8\xf8\xa8\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04]\xa1\"\xd6\xfb9C\xf1V'\x99\x8d\xbb\x02C\xde|\x8a\x009\x93\xe4\x8a\xd71I2\xa6jo\xa2x\xa4\xf4\x94g\xd8\x15]\x9a%\xf1\x8fH&\xbe,\x99\x94\xa4\x95r\xc1\u03b4J\xff\x9b%j\x126,=\xf8K\x91Node - us-east4-2\x9btaipei-us-east4-2@dexon.org\x8aus-east4-2\x91https://dexon.org\ua53f\x8cH\xa6 \xba\xccF\x90\u007f\x9b\x89s-%\xe4z-|\xf7\u050b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x80\x80\x80\u0100\x80\x80\x80\xf8\xbf\x94\xd1\xef\xe1\xf9r\xcb-\u028b\u0241,\xc1\xb9\x91sv\x9b\x1c\x87\xf8\xa8\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04FU\xe6\a\xeb8\x95r\xe9\u6967\x88\xef\u061e\x94p\xc6\x15\x98o\x12\xc2\xf6l^\xe6F\xe2\x9eU'0\u0754\x88\xdct\xfb\xfd\u0741\xc7a\x8f\xe4\xae%\x05\xb8\xe6\x13hG\xaa\xe7yO\ub2bb\xfa\x01\xf8K\x91Node - us-east1-0\x9btaipei-us-east1-0@dexon.org\x8aus-east1-0\x91https://dexon.org\xf8\xbf\x94\xd3\x1d+#\x17@k\x16}\xde?NV\xd9x\x05q\x85GD\xf8\xa8\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\x8c0\x91\xf3\xbe\xa2&\x85@\x81\xbc\xbd\xcf\xd01\xc1\\]\xfd\xad\xd0ps\x92\xb2i\xce5#\x95\xbf[dQ\xa5\x8c\x1a8\xfc\xb5d\xfd?,\xb5\x0fLC\xf3{\xf8m#\xbd\xa5E^\xfdP\xdd_RW\xf1\xf8K\x91Node - us-west2-2\x9btaipei-us-west2-2@dexon.org\x8aus-west2-2\x91https://dexon.org\xf8\xec\x94\u0677r\b\xa5\xb7\xe4\xad5\xf9(\x80\xc53\xc2wV(\u07f7\xf8\u054b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04N\xf6\xd5t\xe1\xe8\xbe@[R\xc6\xe5\u0552\xb7cPvs\xd2+}\xa5\ueda2$\x89\x8b\xa5\xa8\xe9(\x1d\xecB\xf7]\xd4N\xb7g?D1h\x17\xc3\xf1\xaa\xc1N\xfd\x1a\xc2#\xc3\x1c\xa6h\x19\x84\x9c\t\xf8x\xa0Node - northamerica-northeast1-2\xaataipei-northamerica-northeast1-2@dexon.org\x99northamerica-northeast1-2\x91https://dexon.org\xf8\u02d4\u0713\x8c\xaf\x06\x8eE\xa0\x01\xa9Q.\x05D]V]\x19\xcc5\xf8\xb4\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\xc2\xe5b\u03a2\xaa~\xf9\xa3t\v\xb9\xcf\\g\xb4\x1b\xb5\x11\x92'k\xd3\xf9n\xb8\u0278\xb3\xae,\x03\x1d^p\xac\u04df].k\x1f\xa2\xad!\xf2\x10\x0f\x85s\xa3nZfE\xf1\xf4j(\x8c\x87$*\xd8\xf8W\x95Node - europe-west4-0\x9ftaipei-europe-west4-0@dexon.org\x8eeurope-west4-0\x91https://dexon.org\xea\x94\xe0\xf8Y4\x03S\x85F\x93\xf57\xea3q\x06\xa3>\x9f\xea\xb0\u050b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x80\x80\x80\u0100\x80\x80\x80\xf8\u0214\xe1\xe5\x13\xfah\xeffr^\xda\xf8)\xf9AT<9\x13Kq\xf8\xb1\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\t\xe3\x0e\xfeq\x0e]\u06d3Z\xcc\n\xce^f\xa7\xb2\xf1r5!S\xe0p\xb4\x83=\xe4\x840\x8b\xab\xc0\x81\xe0\xe1\x84W$zx\xf9`cvB\x9a\x8f\x15\xc2T\x85\xe2\xbe\x00\u027cYk,\x8d\xa3*\x0e\xf8T\x94Node - us-central1-1\x9etaipei-us-central1-1@dexon.org\x8dus-central1-1\x91https://dexon.org\xf8\xec\x94\xef]\x14*\xf8\u04ecB$3\x17\xe7\xeb%\x8dY<\xabEu\xf8\u054b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04\xdf\xe2\x9c\xd7\x1e@Y\xbc\aD\v\x9d\xad\xedP\xa9\x1f\xf2\x14_\xa8.\u058e\x89\xabe\x1d\xcd7\x8dzL\xcdK\x92\xf5B\xfa?\bbw\xf2T\xbcW@Mx\xc3h\xb1\xa9\xe6\xabvZZv\x9e\x1e3?\xf8x\xa0Node - northamerica-northeast1-1\xaataipei-northamerica-northeast1-1@dexon.org\x99northamerica-northeast1-1\x91https://dexon.org\xf8\xbf\x94\xffh\xe5Yg\xc4\x15\xc3,\xb2\xa8K\xe6\xcd\xf4}U\xa6\xa7\u007f\xf8\xa8\x8b\x01\xa7\x847\x9d\x99\xdbB\x00\x00\x00\x8a\xd3\xc2\x1b\xce\xcc\xed\xa1\x00\x00\x00\x80\xb8A\x04w7\xd9\xc0\x9a=sJ\xb5i\xebg'\x85\x9f>#\x1b\xbf_\xef\x00=\x15\xdal\x95^\xcc#\a\x8e\x89C\xcc\x1e\xd9ji\xcc\x147\xaa\x93\xdb\x00_%>\\\xbe\x87\x8b3\xb0\v\xec\t\xaf\xdd\u03aa\x83\xc5\xf8K\x91Node - us-west2-0\x9btaipei-us-west2-0@dexon.org\x8aus-west2-0\x91https://dexon.org"
diff --git a/params/config.go b/params/config.go
index fdcd4f100..4e78b9c89 100644
--- a/params/config.go
+++ b/params/config.go
@@ -122,7 +122,7 @@ var (
// TaipeiChainConfig contains the chain parameters to run a node on the Taipei test network.
TaipeiChainConfig = &ChainConfig{
ChainID: big.NewInt(239),
- DMoment: 0,
+ DMoment: 1547695800,
HomesteadBlock: big.NewInt(0),
DAOForkBlock: nil,
DAOForkSupport: true,
@@ -138,12 +138,12 @@ var (
MinStake: new(big.Int).Mul(big.NewInt(1e18), big.NewInt(1e6)),
LockupPeriod: 86400 * 3 * 1000,
MiningVelocity: 0.1875,
- NextHalvingSupply: new(big.Int).Mul(big.NewInt(1e18), big.NewInt(4e7)),
- LastHalvedAmount: new(big.Int).Mul(big.NewInt(1e18), big.NewInt(8e6)),
+ NextHalvingSupply: new(big.Int).Mul(big.NewInt(1e18), big.NewInt(8e9)),
+ LastHalvedAmount: new(big.Int).Mul(big.NewInt(1e18), big.NewInt(1.6e9)),
BlockGasLimit: 40000000,
NumChains: 6,
- LambdaBA: 400,
- LambdaDKG: 10000,
+ LambdaBA: 3000,
+ LambdaDKG: 20000,
K: 0,
PhiRatio: 0.667,
NotarySetSize: 21,
diff --git a/vendor/github.com/dexon-foundation/dexon-consensus/core/agreement-mgr.go b/vendor/github.com/dexon-foundation/dexon-consensus/core/agreement-mgr.go
index e468e9c2e..d3cf533c6 100644
--- a/vendor/github.com/dexon-foundation/dexon-consensus/core/agreement-mgr.go
+++ b/vendor/github.com/dexon-foundation/dexon-consensus/core/agreement-mgr.go
@@ -258,13 +258,20 @@ func (mgr *agreementMgr) processAgreementResult(
if isStop(aID) {
return nil
}
- if result.Position.Newer(&aID) {
+ if result.Position == aID {
mgr.logger.Info("Syncing BA", "position", &result.Position)
+ for key := range result.Votes {
+ if err := agreement.processVote(&result.Votes[key]); err != nil {
+ return err
+ }
+ }
+ } else if result.Position.Newer(&aID) {
+ mgr.logger.Info("Fast syncing BA", "position", &result.Position)
nodes, err := mgr.cache.GetNodeSet(result.Position.Round)
if err != nil {
return err
}
- mgr.logger.Debug("Calling Network.PullBlocks for syncing BA",
+ mgr.logger.Debug("Calling Network.PullBlocks for fast syncing BA",
"hash", result.BlockHash)
mgr.network.PullBlocks(common.Hashes{result.BlockHash})
mgr.logger.Debug("Calling Governance.CRS", "round", result.Position.Round)
@@ -459,16 +466,16 @@ Loop:
"round", recv.round(),
"chainID", setting.chainID)
err = nil
- nextHeight = oldPos.Height
+ nextHeight = restartPos.Height
}
- if isStop(oldPos) || nextHeight == 0 {
+ if isStop(restartPos) || nextHeight == 0 {
break
}
- if nextHeight > oldPos.Height {
+ if nextHeight > restartPos.Height {
break
}
mgr.logger.Debug("Lattice not ready!!!",
- "old", &oldPos, "next", nextHeight)
+ "old", &restartPos, "next", nextHeight)
time.Sleep(100 * time.Millisecond)
}
nextPos := types.Position{
diff --git a/vendor/github.com/dexon-foundation/dexon-consensus/core/agreement.go b/vendor/github.com/dexon-foundation/dexon-consensus/core/agreement.go
index 62bbe250f..c17c59f8a 100644
--- a/vendor/github.com/dexon-foundation/dexon-consensus/core/agreement.go
+++ b/vendor/github.com/dexon-foundation/dexon-consensus/core/agreement.go
@@ -545,17 +545,22 @@ func (a *agreement) addCandidateBlockNoLock(block *types.Block) {
a.candidateBlock[block.Hash] = block
}
-func (a *agreement) findCandidateBlock(hash common.Hash) (*types.Block, bool) {
- a.lock.RLock()
- defer a.lock.RUnlock()
- return a.findCandidateBlockNoLock(hash)
-}
-
func (a *agreement) findCandidateBlockNoLock(
hash common.Hash) (*types.Block, bool) {
b, e := a.candidateBlock[hash]
return b, e
}
+
+// find a block in both candidate blocks and pending blocks in leader-selector.
+// A block might be confirmed by others while we can't verify its validity.
+func (a *agreement) findBlockNoLock(hash common.Hash) (*types.Block, bool) {
+ b, e := a.findCandidateBlockNoLock(hash)
+ if !e {
+ b, e = a.data.leader.findPendingBlock(hash)
+ }
+ return b, e
+}
+
func (a *agreementData) countVote(period uint64, voteType types.VoteType) (
blockHash common.Hash, ok bool) {
a.lock.RLock()
diff --git a/vendor/github.com/dexon-foundation/dexon-consensus/core/consensus.go b/vendor/github.com/dexon-foundation/dexon-consensus/core/consensus.go
index 0754e800f..b84947a86 100644
--- a/vendor/github.com/dexon-foundation/dexon-consensus/core/consensus.go
+++ b/vendor/github.com/dexon-foundation/dexon-consensus/core/consensus.go
@@ -137,7 +137,7 @@ func (recv *consensusBAReceiver) ConfirmBlock(
}
} else {
var exist bool
- block, exist = recv.agreementModule.findCandidateBlockNoLock(hash)
+ block, exist = recv.agreementModule.findBlockNoLock(hash)
if !exist {
recv.consensus.logger.Error("Unknown block confirmed",
"hash", hash.String()[:6],
diff --git a/vendor/github.com/dexon-foundation/dexon-consensus/core/leader-selector.go b/vendor/github.com/dexon-foundation/dexon-consensus/core/leader-selector.go
index bcfa57fe6..214b4cb6e 100644
--- a/vendor/github.com/dexon-foundation/dexon-consensus/core/leader-selector.go
+++ b/vendor/github.com/dexon-foundation/dexon-consensus/core/leader-selector.go
@@ -55,7 +55,7 @@ type leaderSelector struct {
numCRS *big.Int
minCRSBlock *big.Int
minBlockHash common.Hash
- pendingBlocks []*types.Block
+ pendingBlocks map[common.Hash]*types.Block
validLeader validLeaderFn
lock sync.Mutex
logger common.Logger
@@ -94,13 +94,12 @@ func (l *leaderSelector) restart(crs common.Hash) {
l.hashCRS = crs
l.minCRSBlock = maxHash
l.minBlockHash = common.Hash{}
- l.pendingBlocks = []*types.Block{}
+ l.pendingBlocks = make(map[common.Hash]*types.Block)
}
func (l *leaderSelector) leaderBlockHash() common.Hash {
l.lock.Lock()
defer l.lock.Unlock()
- newPendingBlocks := []*types.Block{}
for _, b := range l.pendingBlocks {
ok, dist := l.potentialLeader(b)
if !ok {
@@ -109,15 +108,14 @@ func (l *leaderSelector) leaderBlockHash() common.Hash {
ok, err := l.validLeader(b)
if err != nil {
l.logger.Error("Error checking validLeader", "error", err, "block", b)
+ delete(l.pendingBlocks, b.Hash)
continue
}
if ok {
l.updateLeader(b, dist)
- } else {
- newPendingBlocks = append(newPendingBlocks, b)
+ delete(l.pendingBlocks, b.Hash)
}
}
- l.pendingBlocks = newPendingBlocks
return l.minBlockHash
}
@@ -140,7 +138,7 @@ func (l *leaderSelector) processBlock(block *types.Block) error {
return err
}
if !ok {
- l.pendingBlocks = append(l.pendingBlocks, block)
+ l.pendingBlocks[block.Hash] = block
return nil
}
l.updateLeader(block, dist)
@@ -157,3 +155,9 @@ func (l *leaderSelector) updateLeader(block *types.Block, dist *big.Int) {
l.minCRSBlock = dist
l.minBlockHash = block.Hash
}
+
+func (l *leaderSelector) findPendingBlock(
+ hash common.Hash) (*types.Block, bool) {
+ b, e := l.pendingBlocks[hash]
+ return b, e
+}
diff --git a/vendor/vendor.json b/vendor/vendor.json
index 6d367a737..d0f201e20 100644
--- a/vendor/vendor.json
+++ b/vendor/vendor.json
@@ -141,16 +141,16 @@
{
"checksumSHA1": "ZUuiRqS6PnoNIvBmLStVQiyhkOM=",
"path": "github.com/dexon-foundation/dexon-consensus/common",
- "revision": "f4f572e4638309e523bbbde751547a9ea4d489bc",
- "revisionTime": "2019-01-16T02:21:07Z",
+ "revision": "c5b303f4d143631fb565d4ec8ff3bcc609a4ffd3",
+ "revisionTime": "2019-01-17T03:00:42Z",
"version": "master",
"versionExact": "master"
},
{
- "checksumSHA1": "TKAPWiezlt9t0oZca1Cq9S388lI=",
+ "checksumSHA1": "ki1Mf8qUb5j5ajqWNLggSpa7rac=",
"path": "github.com/dexon-foundation/dexon-consensus/core",
- "revision": "f4f572e4638309e523bbbde751547a9ea4d489bc",
- "revisionTime": "2019-01-16T02:21:07Z",
+ "revision": "c5b303f4d143631fb565d4ec8ff3bcc609a4ffd3",
+ "revisionTime": "2019-01-17T03:00:42Z",
"version": "master",
"versionExact": "master"
},
@@ -165,64 +165,64 @@
{
"checksumSHA1": "tQSbYCu5P00lUhKsx3IbBZCuSLY=",
"path": "github.com/dexon-foundation/dexon-consensus/core/crypto",
- "revision": "f4f572e4638309e523bbbde751547a9ea4d489bc",
- "revisionTime": "2019-01-16T02:21:07Z",
+ "revision": "c5b303f4d143631fb565d4ec8ff3bcc609a4ffd3",
+ "revisionTime": "2019-01-17T03:00:42Z",
"version": "master",
"versionExact": "master"
},
{
"checksumSHA1": "W2P7pkuJ+26BpJg03K4Y0nB5obI=",
"path": "github.com/dexon-foundation/dexon-consensus/core/crypto/dkg",
- "revision": "f4f572e4638309e523bbbde751547a9ea4d489bc",
- "revisionTime": "2019-01-16T02:21:07Z",
+ "revision": "c5b303f4d143631fb565d4ec8ff3bcc609a4ffd3",
+ "revisionTime": "2019-01-17T03:00:42Z",
"version": "master",
"versionExact": "master"
},
{
"checksumSHA1": "6Pf6caC8LTNCI7IflFmglKYnxYo=",
"path": "github.com/dexon-foundation/dexon-consensus/core/crypto/ecdsa",
- "revision": "f4f572e4638309e523bbbde751547a9ea4d489bc",
- "revisionTime": "2019-01-16T02:21:07Z",
+ "revision": "c5b303f4d143631fb565d4ec8ff3bcc609a4ffd3",
+ "revisionTime": "2019-01-17T03:00:42Z",
"version": "master",
"versionExact": "master"
},
{
"checksumSHA1": "zpuCdMT8MGsy4pLgHKpg/Wd4izU=",
"path": "github.com/dexon-foundation/dexon-consensus/core/db",
- "revision": "f4f572e4638309e523bbbde751547a9ea4d489bc",
- "revisionTime": "2019-01-16T02:21:07Z",
+ "revision": "c5b303f4d143631fb565d4ec8ff3bcc609a4ffd3",
+ "revisionTime": "2019-01-17T03:00:42Z",
"version": "master",
"versionExact": "master"
},
{
"checksumSHA1": "eq19vhMpc90UUJ7I91ti5P2CkQ0=",
"path": "github.com/dexon-foundation/dexon-consensus/core/syncer",
- "revision": "f4f572e4638309e523bbbde751547a9ea4d489bc",
- "revisionTime": "2019-01-16T02:21:07Z",
+ "revision": "c5b303f4d143631fb565d4ec8ff3bcc609a4ffd3",
+ "revisionTime": "2019-01-17T03:00:42Z",
"version": "master",
"versionExact": "master"
},
{
"checksumSHA1": "zkrt3MOtqHPB3BmZtppZ9uesw3s=",
"path": "github.com/dexon-foundation/dexon-consensus/core/types",
- "revision": "f4f572e4638309e523bbbde751547a9ea4d489bc",
- "revisionTime": "2019-01-16T02:21:07Z",
+ "revision": "c5b303f4d143631fb565d4ec8ff3bcc609a4ffd3",
+ "revisionTime": "2019-01-17T03:00:42Z",
"version": "master",
"versionExact": "master"
},
{
"checksumSHA1": "rmv8uxwrqMhJAeA3RPvwYP8mFro=",
"path": "github.com/dexon-foundation/dexon-consensus/core/types/dkg",
- "revision": "f4f572e4638309e523bbbde751547a9ea4d489bc",
- "revisionTime": "2019-01-16T02:21:07Z",
+ "revision": "c5b303f4d143631fb565d4ec8ff3bcc609a4ffd3",
+ "revisionTime": "2019-01-17T03:00:42Z",
"version": "master",
"versionExact": "master"
},
{
"checksumSHA1": "FUHa68Hif8F8YHmx4h0sQIUNp40=",
"path": "github.com/dexon-foundation/dexon-consensus/core/utils",
- "revision": "f4f572e4638309e523bbbde751547a9ea4d489bc",
- "revisionTime": "2019-01-16T02:21:07Z",
+ "revision": "c5b303f4d143631fb565d4ec8ff3bcc609a4ffd3",
+ "revisionTime": "2019-01-17T03:00:42Z",
"version": "master",
"versionExact": "master"
},