@aqb-foundation/aqb-agent 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/LICENSE +4 -16
  2. package/README.md +68 -21
  3. package/WHITEPAPER.md +2 -1
  4. package/artifacts/MLDSA65Fallback.json +59 -0
  5. package/client/aqb.mjs +232 -148
  6. package/compile.mjs +44 -0
  7. package/contracts/AgentQuantumCredit.sol +234 -0
  8. package/contracts/AgentRegistry.sol +85 -0
  9. package/contracts/GenesisSale.sol +89 -0
  10. package/contracts/MLDSA65Fallback.sol +34 -0
  11. package/contracts/MLDSAVerifier.sol +65 -0
  12. package/contracts/PQSmartAccount.sol +105 -0
  13. package/contracts/interfaces/IPQVerifier.sol +19 -0
  14. package/contracts/mocks/MockUSDC.sol +30 -0
  15. package/contracts/mocks/MockVerifier.sol +13 -0
  16. package/docs/CARD.md +1 -1
  17. package/docs/LAUNCH.md +1 -1
  18. package/docs/MARKETING.md +3 -3
  19. package/docs/SPEC.md +5 -4
  20. package/docs/articles/01-payment-rail-agents.md +55 -0
  21. package/docs/articles/01.body +56 -0
  22. package/docs/articles/02-gated-transfers.md +36 -0
  23. package/docs/articles/03-peg-without-oracle.md +33 -0
  24. package/docs/articles/04-discovery-over-landing.md +42 -0
  25. package/docs/articles/04-discovery-over-landing.md.body +40 -0
  26. package/docs/articles/04-discovery-over-landing.md.title +1 -0
  27. package/docs/articles/05-identity-survives-key.md +27 -0
  28. package/docs/articles/05-identity-survives-key.md.body +25 -0
  29. package/docs/articles/05-identity-survives-key.md.title +1 -0
  30. package/docs/articles/06-what-an-agent-needs.md +30 -0
  31. package/docs/articles/06-what-an-agent-needs.md.body +28 -0
  32. package/docs/articles/06-what-an-agent-needs.md.title +1 -0
  33. package/docs/articles/body.json +1 -0
  34. package/docs/articles/body.txt +50 -0
  35. package/docs/articles/title.txt +1 -0
  36. package/docs/pq-note.md +1 -0
  37. package/index.js +241 -0
  38. package/mcp/server.mjs +118 -25
  39. package/package.json +41 -11
  40. package/pq-deployment.json +14 -0
  41. package/registry/agent-coin.json +26 -11
  42. package/registry/llms.txt +1 -1
  43. package/test/e2e.mjs +100 -0
  44. package/test/evm.mjs +69 -0
  45. package/test/local.mjs +86 -0
  46. package/test/pq.mjs +37 -0
  47. package/test/smoke.mjs +27 -0
  48. package/vendor/mldsa/LICENSE +21 -0
  49. package/vendor/mldsa/MLDSAKeyFactory.json +570 -0
  50. package/vendor/mldsa/MLDSAVerifier.json +154 -0
  51. package/vendor/mldsa/README.md +20 -0
@@ -0,0 +1,154 @@
1
+ {
2
+ "abi": [
3
+ {
4
+ "inputs": [
5
+ {
6
+ "internalType": "address",
7
+ "name": "factory",
8
+ "type": "address"
9
+ }
10
+ ],
11
+ "stateMutability": "nonpayable",
12
+ "type": "constructor"
13
+ },
14
+ {
15
+ "inputs": [],
16
+ "name": "FACTORY",
17
+ "outputs": [
18
+ {
19
+ "internalType": "address",
20
+ "name": "",
21
+ "type": "address"
22
+ }
23
+ ],
24
+ "stateMutability": "view",
25
+ "type": "function"
26
+ },
27
+ {
28
+ "inputs": [
29
+ {
30
+ "internalType": "uint256",
31
+ "name": "algorithm",
32
+ "type": "uint256"
33
+ }
34
+ ],
35
+ "name": "supportsAlgorithm",
36
+ "outputs": [
37
+ {
38
+ "internalType": "bool",
39
+ "name": "supported",
40
+ "type": "bool"
41
+ }
42
+ ],
43
+ "stateMutability": "pure",
44
+ "type": "function"
45
+ },
46
+ {
47
+ "inputs": [
48
+ {
49
+ "internalType": "bytes4",
50
+ "name": "interfaceId",
51
+ "type": "bytes4"
52
+ }
53
+ ],
54
+ "name": "supportsInterface",
55
+ "outputs": [
56
+ {
57
+ "internalType": "bool",
58
+ "name": "",
59
+ "type": "bool"
60
+ }
61
+ ],
62
+ "stateMutability": "pure",
63
+ "type": "function"
64
+ },
65
+ {
66
+ "inputs": [
67
+ {
68
+ "internalType": "ParamSet",
69
+ "name": "set",
70
+ "type": "uint8"
71
+ }
72
+ ],
73
+ "name": "supportsParamSet",
74
+ "outputs": [
75
+ {
76
+ "internalType": "bool",
77
+ "name": "",
78
+ "type": "bool"
79
+ }
80
+ ],
81
+ "stateMutability": "pure",
82
+ "type": "function"
83
+ },
84
+ {
85
+ "inputs": [
86
+ {
87
+ "internalType": "ParamSet",
88
+ "name": "set",
89
+ "type": "uint8"
90
+ },
91
+ {
92
+ "internalType": "bytes",
93
+ "name": "publicKey",
94
+ "type": "bytes"
95
+ },
96
+ {
97
+ "internalType": "bytes",
98
+ "name": "message",
99
+ "type": "bytes"
100
+ },
101
+ {
102
+ "internalType": "bytes",
103
+ "name": "signature",
104
+ "type": "bytes"
105
+ }
106
+ ],
107
+ "name": "verify",
108
+ "outputs": [
109
+ {
110
+ "internalType": "bool",
111
+ "name": "",
112
+ "type": "bool"
113
+ }
114
+ ],
115
+ "stateMutability": "view",
116
+ "type": "function"
117
+ },
118
+ {
119
+ "inputs": [
120
+ {
121
+ "internalType": "uint256",
122
+ "name": "algorithm",
123
+ "type": "uint256"
124
+ },
125
+ {
126
+ "internalType": "bytes",
127
+ "name": "publicKey",
128
+ "type": "bytes"
129
+ },
130
+ {
131
+ "internalType": "bytes",
132
+ "name": "message",
133
+ "type": "bytes"
134
+ },
135
+ {
136
+ "internalType": "bytes",
137
+ "name": "signature",
138
+ "type": "bytes"
139
+ }
140
+ ],
141
+ "name": "verify",
142
+ "outputs": [
143
+ {
144
+ "internalType": "bool",
145
+ "name": "",
146
+ "type": "bool"
147
+ }
148
+ ],
149
+ "stateMutability": "view",
150
+ "type": "function"
151
+ }
152
+ ],
153
+ "bytecode": "0x60a034606d57601f6139a538819003918201601f19168301916001600160401b03831184841017607157808492602094604052833981010312606d57516001600160a01b0381168103606d5760805260405161391f9081610086823960805181818161020501526103f10152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6103c0806040526004361015610013575f80fd5b5f3560e01c90816301ffc9a714610234575080632dd31000146101f05780632f0853a3146101685780633238eea0146101195780634645927d146100f05763d1f13e281461005f575f80fd5b346100ec5760803660031901126100ec576024356001600160401b0381116100ec5761008f9036906004016102af565b6044356001600160401b0381116100ec576100ae9036906004016102af565b919092606435926001600160401b0384116100ec576020946100d76100e29536906004016102af565b9490936004356102dc565b6040519015158152f35b5f80fd5b346100ec5760203660031901126100ec57602061010e6004356104e4565b506040519015158152f35b346100ec5760203660031901126100ec57602060ff61013661029f565b16801590811561015d575b811561015257506040519015158152f35b60029150148261010e565b600181149150610141565b346100ec5760803660031901126100ec5761018161029f565b6024356001600160401b0381116100ec576101a09036906004016102af565b91906044356001600160401b0381116100ec576101c19036906004016102af565b60643593916001600160401b0385116100ec576020956101e86100e29636906004016102af565b9590946103ac565b346100ec575f3660031901126100ec576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346100ec5760203660031901126100ec576004359063ffffffff60e01b82168092036100ec57602091631d30bd0360e01b811490811561028e575b811561027d575b5015158152f35b6301ffc9a760e01b14905083610276565b6397b4ac5560e01b8114915061026f565b6004359060ff821682036100ec57565b9181601f840112156100ec578235916001600160401b0383116100ec57602083818601950101116100ec57565b6102ec90969594939291966104e4565b9690156102ff576102fc966103ac565b90565b505050505050505f90565b6101c081019081106001600160401b0382111761032657604052565b634e487b7160e01b5f52604160045260245ffd5b90601f801991011681019081106001600160401b0382111761032657604052565b6001600160401b03811161032657601f01601f191660200190565b9291926103828261035b565b91610390604051938461033a565b8294818452818301116100ec578281602093845f960137010152565b9195939491929060ff8416801580156104be576105205b89036104b1571561048b57506109745b85036102ff576104156103e7368984610376565b60208151910120857f0000000000000000000000000000000000000000000000000000000000000000610583565b96875161045d576102fc97509161043561043d9261044595943691610376565b963691610376565b933691610376565b926040519161045560208461033a565b5f835261081e565b50509061043d610473926102fc97963691610376565b926040519161048360208461033a565b5f83526107f5565b6001810361049c5750610ced6103d3565b6002036104ab576112136103d3565b5f6103d3565b5050505050505050505f90565b600182036104ce576107a06103c3565b600282036104de57610a206103c3565b5f6103c3565b610101811461051557610102811461050c5761010314610504575f905f90565b600190600290565b50600190600190565b506001905f90565b8181029291811591840414171561053057565b634e487b7160e01b5f52601160045260245ffd5b9190820180921161053057565b9061055b8261035b565b610568604051918261033a565b8281528092610579601f199161035b565b0190602036910137565b9291610590818386610660565b156106585761059e826106af565b9490916105aa846106f3565b935f198401938411610530575f198701968088116105305760401901968711610530576105d7848661051d565b60400180604011610530576105ef886105f492610544565b610551565b96604161060a6106048585610723565b86610771565b6040600160208c01833c60608789028b0101903c5f5b85811061062f57505050505050565b8085600161064861064282958888610895565b88610771565b60608385028d0101903c01610620565b506060925050565b919061066b816106af565b809150156106a7576106866106808484610723565b85610771565b3b149283610695575b50505090565b61069f935061083e565b5f808061068f565b505050505f90565b5f9160ff5f921680156106e657600181146106d9576002146106cd57565b61540192506118419150565b50615a0192506112419150565b506130019250610c419150565b60ff1680158015610719575b6107135760021461070e575f90565b600290565b50600190565b50600181146106ff565b906040519060ff602083019360608552600e60808501526d13531114d04b9d1c97dd17da185d60921b60a0850152166040830152606082015260a0815261076b60c08261033a565b51902090565b6016602060405161078360408261033a565b82815201755f5f5f5f335afa156012573d5f5f3e3d5ff35b5f5ffd60501b81522060405192602084019260ff60f81b84526bffffffffffffffffffffffff199060601b16602185015260358401526055830152605582526107e560758361033a565b905190206001600160a01b031690565b9193929360ff815111610815576102fc9461080f91610963565b916109b8565b50505050505f90565b9193929360ff815111610815576102fc9461083891610963565b91610a17565b90610848816106af565b5091610853826106f3565b938415610815575f5b85811061086e57505050505050600190565b8461087d610680838588610895565b3b0361088b5760010161085c565b5050505050505f90565b909160016108a2836106f3565b148061095b575b6109075761076b9060405192839160208301956080875260ff6108e860a08601604090600b81526a13531114d04b9057da185d60aa1b60208201520190565b931660408501526060840152608083015203601f19810183528261033a565b5061076b604051809260208201946060865260ff61094160808501604090600b81526a13531114d04b9057da185d60aa1b60208201520190565b92166040840152606083015203601f19810183528261033a565b5080156108a9565b906102fc9060226020845192816040519687955f8388015260ff60f81b9060f81b1660218701528051918291018587015e8401908382015f8152815193849201905e01015f815203601f19810183528261033a565b6109c59093929193610a5c565b93901580156109ed575b6106a7576040516102fc946109e560208361033a565b5f8252610c5a565b5080516101608501516040018060401161053057610180860151610a1091610544565b14156109cf565b610a249093929193610a5c565b90158015610a4c575b6106a7576102fc9360405191610a4460208461033a565b5f8352610c5a565b5083516101208201511415610a2d565b5f60ff604051610a6b8161030a565b5f81525f60208201525f60408201525f60608201525f60808201525f60a08201525f60c08201525f60e08201525f6101008201525f6101208201525f6101408201525f6101608201525f6101808201525f6101a082015292169182155f14610b4957505060405190610adc8261030a565b81525f6020820152600460408201526004606082015260276080820152605060a0820152602060c082015261024060e082015260c0610100820152610520610120820152610974610140820152613000610160820152610c0061018082015260016101a08201526001915b565b60018303610bcd57505060405190610b608261030a565b815260016020820152600660408201526005606082015260316080820152603760a0820152603060c082015261028060e082015260806101008201526107a0610120820152610ced610140820152615a0061016082015261120061018082015260016101a0820152600191565b9092909160028114610bdc5750565b9150915060405190610bed8261030a565b8152600160208201526008604082015260076060820152603c6080820152604b60a0820152604060c082015261028060e08201526080610100820152610a2061012082015261121361014082015261a80061016082015261180061018082015260026101a0820152600191565b93919093610120526103a0526103405261034051516101406101205101510361276b576103a051511590604061012051015161010052606061012051018051610200525f610380526101006103805260405161032052610cc0610380516103205161033a565b61038051610320513690376040610120510151610d0060a061012051015192610cfa60c0610120510151915160e06101205101519061051d565b90610544565b6103405101600192835f935f5b8181106126b9575b505061268d575b50505015612686576102005160081b6102005115610260526102005181046103805114610260511715610530576008810180911161053057610d5d906127bc565b61022052610d786020610220510161034051610120516127e4565b1561268657610d93610420604051610300526103005161033a565b61040061030051527c0100495e020039756700396569004f062b0053df73004fe033004f066b60206103005101527e76b1ae00360dd50028edb000207fe4003972830070894a00088192006d3dc860406103005101527e4c72940041e0b40028a3d20066528a004a18a700794034000a52ee006b7d8160606103005101527e4e9f1d001a2877002571df001649ee007611bd00492bb7002af6970022d8d560806103005101527e36f72a0030911e0029d13f004926730050685f002010a2003887f70011b2c360a06103005101527e0603a4000e2bed0010b72c004a5f35001f9d1500428cd4003177f40020e61260c06103005101527e341c1d001ad873007366810049553f003952f60062564a0065ad0500439a1c60e06103005101527e53aa5f0030b62200087f38003b0e6d002c83da001c496e00330e2b001c5b70610380516103005101527e2ee3f100137eb90057a930003ac6ef003fd54c004eb2ea00503ee1007bb1756101206103005101527e2648b4001ef256001d90a20045a6d4002ae59b0052589c006ef1f5003f72886101406103005101527e17510200075d59001187ba0052aca900773e9e000296d8002592ec004cff126101606103005101527e404ce8004aa582001e54e6004f16c1001a7e790003978f004e48170031b8596101806103005101527e5884cc001b4827005b63d0005d787a0035225e00400c7e006c09d1005bd5326101a06103005101527e6bc4d300258ecb002e534c00097a6c003b8820006d285c002ca4f800337caa6101c06103005101527e14b2a0005585360028f1860055795d004af67000234a860075e8260078de666101e06103005101527e05528c007adf59000f6e17005bf3da00459b7e00628b34005dbecb001a9e7b6102006103005101527d06d9006257c500574b3c0069a8ef002898380064b5fe007ef8f5002a4e786102206103005101527e120a23000154a80009b7ff00435e8700437ff8005cd5b4004dc04e004728af6102406103005101527e7f735d000c8d0d000f66d5005a6d800061ab9800185d9600437f31004682986102606103005101527e662960004bd5790028de0600465d8d0049b0e30009b434007c0db3005a68b06102806103005101527e409ba90064d3d50021762a0065859100246e390048c39b007bc759004f58596102a06103005101527e392db2002309230012eb6700454df20030c31c002854240013232e007faf806102c06103005101527e2dbfcb00022a0b007e832c0026587a006b337500095b76006be1cc005e061e6102e06103005101527e78e00d00628c37003da604004ae53c001f1d68006330bb007361b8005ea06c610300805101527e671ac700201fc6005ba4ff0060d7720008f201006de02400080e6d0056038e6103206103005101527e695688001e6d3e002603bd006a9dfa0007c017006dbfd40074d0bd0063e1e36103406103005101527e519573007ab60d002867ba002decd40058018c003f4cf5000b700900427e236103606103005101527e3cbd370027333300673957001a4b5d00196926001ef2060011c14e004c76c86103806103005101527e3cf42f007fb19a006af66c002e1669003352d6000347600008526000741e786103a06103005101527e2f6316006f0a110007c0f100776d0b000d1ff000345824000223d40068c5596103c06103005101527e5e8885002faa320023fc65005e69420051e0ed0065adb3002ca5e60079e1fe6103e06103005101527e7b40640035e1dd00433aac00464ade001cfe140073f1ce0010170e0074b6d76104006103005101525f5b61020051811061264a5750610a00604051610360526112d4816103605161033a565b604f6103605152601f19013660206103605101375f5160206138ca5f395f51905f526106606103605101527980820000000000008082000000000000808200000000000080826106806103605101527f800000000000808a800000000000808a800000000000808a800000000000808a6106a06103605101527f80000000800080008000000080008000800000008000800080000000800080006106c061036051015279808b000000000000808b000000000000808b000000000000808b6106e06103605101527b800000010000000080000001000000008000000100000000800000016107006103605101527f80000000800080818000000080008081800000008000808180000000800080816107206103605101527f8000000000008009800000000000800980000000000080098000000000008009610740610360510152788a000000000000008a000000000000008a000000000000008a61076061036051015278880000000000000088000000000000008800000000000000886107806103605101527b800080090000000080008009000000008000800900000000800080096107a06103605101527b8000000a000000008000000a000000008000000a000000008000000a6107c06103605101527b8000808b000000008000808b000000008000808b000000008000808b6107e06103605101527f800000000000008b800000000000008b800000000000008b800000000000008b6108006103605101527f80000000000080898000000000008089800000000000808980000000000080896108206103605101527f80000000000080038000000000008003800000000000800380000000000080036108406103605101527f80000000000080028000000000008002800000000000800280000000000080026108606103605101527f800000000000008080000000000000808000000000000080800000000000008061088061036051015279800a000000000000800a000000000000800a000000000000800a6108a06103605101527f800000008000000a800000008000000a800000008000000a800000008000000a6108c06103605101527f80000000800080818000000080008081800000008000808180000000800080816108e06103605101527f80000000000080808000000000008080800000000000808080000000000080806109006103605101527b800000010000000080000001000000008000000100000000800000016109206103605101527f80000000800080088000000080008008800000008000800880000000800080086109406103605101526116a7610380516101205101516101005161051d565b6102e0526102e0516040016040116105305760606102e05101806102e05160400111610530576116d690610551565b610140528161261f5761174260206103a05101519161172c606060406103a05101515b602060405194859282840198895260408401528051918291018484015e81015f838201520301601f19810183528261033a565b5160c06101205101519260206103605101612c44565b5f5b61032081106125f7575061034061036051015f5b60c081106125e05750602082601f9361032093836103405101905e61036051010101536103c76103605101608081515f1a1790535f5b6011811061253b57506117a660206103605101613876565b6117bd6117b860206103605101612c01565b612aff565b6117cf6117b860a06103605101612c01565b90602061014051015260406101405101526117e8612788565b6102805260806101205101515f6102a0526001600160401b03602061036051015160401c166102a0526008906103805103610380518111610530576102c0525b610380516102c0511061248a57508061184d60206103005101602061028051016129ee565b612459575b6101086101005102610100518104610108146101005115171561053057611878906127bc565b6101c05280611e575760606103a051018060206103a0510111610530575f5b610100518110611df25750505b80611de1575f915b5f5b610100518110611c57575050505060606101405101602061014051011161053057610120516020810151151560805261038051015160a0525f5b6040610120510151811015611bdc578061210081020461210014811517156105305761191e612100820260206101c05101610544565b5f5b60088110611ab957506008821015611aa5578160051b61032051015161195761194b60a0518561051d565b60606101405101610544565b608051156119fc57905f915b61038051831061197b57505050506001905b016118e8565b5f604084015b80851061199357508152602001611963565b9390600190600f6207fe008460051b890151818106906203ff0082119283910401918589881c166119e0575b50501660048460021b16601f85851c16601f0360031b011b17910193611981565b15901515165f146119f55783015b5f806119bf565b81016119ee565b915f925b610380518410611a165750505050600190611975565b5f5f5b60048110611a4b57506004918160039260101c9062ff000061ff0082169160101b16171760e81b815201930192611a00565b90600190602c8388018060051b8701516202e800858a828406936201740085119384910401941c16611a88575b505006836006021b179101611a19565b15901515165f14611a9d5783015b5f80611a78565b602b01611a96565b634e487b7160e01b5f52603260045260245ffd5b6080811c6020805f198360011b0160021b610300510101915f190160021b6103005101016001831b8060051b90600160e05260068514611bd0575b8560c05260071b92818001905b612000870160c05110611b1b575050505050600201611920565b627fe00160e051855160e01c0960031982015160e01c825160e01c8560c051019260c0515b848110611b63575050505050600719019260031901928460c0510160c052611b01565b8060209151627fe0018a8084019287838d865190880193828d63ffc0020082885199890197828951968881019803019009988481019403019009948363ffc00200848403018d09905260e05191010986528363ffc00200848403018909905260e051910109905201611b40565b627f602160e052611af4565b50611bfa6102e0516040016020610140510160206103605101612acf565b60c0610120510151916020610340510151149160308114611c2e575b604014611c21575090565b6040610340510151141690565b61034051604001516fffffffffffffffffffffffffffffffff1983811691161490921691611c16565b61210081028115908281046121001482171561053057611c7d9060206101c05101610544565b9084611d105760606103a051018060206103a051011161053057610120516101600151611ca991610544565b9061030084029084820461030014171561053057611cc691610544565b60206102805101906120008301925b838110611cea57505050506001905b016118ae565b602080600392627fe00180865160e81c8851098103825108815201930191019091611cd5565b50612000850185610140840285016040015b828210611d8157505050611d3c60206103005101866129ee565b8460206102805101906120008301925b838110611d5f5750505050600190611ce4565b6020808092627fe0018086518851098103825108815201930191019091611d4c565b600581608092518060011a908060021a8160031a926103008160081b16835f1a1788526103c08260061b169060021c1760208801526103f08360041b169060041c17604087015260041a60021b9060061c17606085015201910190611d22565b6020611deb612788565b01916118ac565b61210081026101c051015f5b610200518110611e12575050600101611897565b80600d1b61022051015f905b6120008210611e31575050600101611dfe565b909460036020918288870101838986010151825160e81c02815101905201950190611e1e565b611e7d6020830151611e6f610200516101005161051d565b610240525f6101e052612aff565b6101a0525b610240516101e05160021b1015612454575f610160819052610180525b60046101805110612414575f5b610320811061240157505f5160206138ca5f395f51905f526101a05160c01c0260206103605101525f5160206138ca5f395f51905f526001600160401b036101a05160801c160260406103605101525f5160206138ca5f395f51905f526001600160401b036101a05160401c160260606103605101525f5160206138ca5f395f51905f526001600160401b036101a051160260806103605101525f5f5b600481106123d1575060a06103605101527f80000000000000008000000000000000800000000000000080000000000000006102a06103605101525b611f9460206103605101613876565b60015f5b60048110611fb6575015611f855760016101e051016101e052611e82565b61200061ffff610160518360041b1c1610156123c957610260516123b55761020051816101e05160021b01045f61026052602061ffff610160518460041b1c1661210083026101c051010101602061ffff610160518560041b1c1661020051856101e05160021b0106600d1b61022051010101602061036051015b6102c061036051018110612097575b50509061200091601f1961210083026101c051018203018460041b1b61ffff8560041b1b1961016051161761016052612100601f1992026101c051019003011061208f575b6001905b01611f98565b5f9150612085565b61202061210085026101c05101018310156123b05760408101518560061b1c60801b7780000080000080000080000080000080000080000080000076200000200000200000200000200000200000200000200060208401518860061b1c60401b926e7fe0007fe0007f000000000000000085518a60061b1c946001600160401b0360801b831667ffffffffffffffff60401b82166001600160401b03881617175f521667e0007fe0007fe000851617906703ff0003ff0003ff60851b161701165f146122df5750627fffff5f5116627fe00181106122c6575b50627fffff5f5160181c16627fe00181106122ad575b50627fffff5f5160301c16627fe0018110612294575b50627fffff5f5160481c16627fe001811061227b575b50627fffff5f5160601c16627fe0018110612262575b50627fffff5f5160781c16627fe0018110612249575b50627fffff5f5160901c16627fe0018110612230575b50627fffff5f5160a81c16627fe0018110612215575b506060905b01612031565b6020839481926060949551028151018152019301919061220a565b825184519102018352602092830192909101905f6121f4565b825184519102018352602092830192909101905f6121de565b825184519102018352602092830192909101905f6121c8565b825184519102018352602092830192909101905f6121b2565b825184519102018352602092830192909101905f61219c565b825184519102018352602092830192909101905f612186565b825184519102018352602092830192909101905f612170565b928293627fffff60609394519116028151018152602081016020850151627fffff5f5160181c16028151019052604081016040850151627fffff5f5160301c1602815101905281810182850151627fffff5f5160481c16028151019052608081016080850151627fffff5f51851c1602815101905260a0810160a0850151627fffff5f5160781c1602815101905260c0810160c0850151627fffff5f5160901c1602815101905260e0810160e0850151627fffff5f5160a81c1602815101905261038051019261038051019161220f565b612040565b634e487b7160e01b5f52601260045260245ffd5b600190612089565b90600190621f0000836101e05160021b0161020051810460081b9061020051900617178360061b1b179101611f49565b805f602080936103605101015201611eac565b61024051610180516101e05160021b01101561243b575b6001610180510161018052611e9f565b6120006101805160041b1b61016051176101605261242b565b6118a4565b610280516120208101906020015b818110612475575050611852565b80627fe0016120006020935109815201612467565b9291905b60888414612523575b60ff6020601f198660021b166103605101015160388660031b166040011c16935f19811461053057600101936102c0518111156124d4575061248e565b602090949192939460051b610280510101805160206102c05160051b61028051010152627fdfff60016102a051160260010190526102a05160011c6102a05260016102c051016102c052611828565b925061253460206103605101613876565b5f92612497565b8061255461034060049360031b61036051010151612aff565b60208260051b61036051010167ffffffffffffffff60401b8260801c1681511881526011600184011061258a575b50500161178e565b606081602067ffffffffffffffff60401b93018377ffffffffffffffffffffffffffffffff00000000000000008660401c16168151189052604081018385168151189052019160401b1681511890525f80612582565b805f61032060208094610360510101015201611758565b610360518101602090810180516fffffffffffffffff00000000000000001916905201611744565b61174260609161172c612642610120805101516020880160206103605101612acf565b9490946116f9565b80600d1b9080820461200014811517156105305761268060019261267b602061030051019160206102205101610544565b6129ee565b016112b2565b5050505f90565b915b82811015610d1c57602081830101515f1a6126ac5760010161268f565b505050505f5f8080610d1c565b9091506020818401850101515f1a8381118682101761275c5790869291865f915b808910612706575b505083156127005761032051600583901b0152869250600101610d0d565b50610d15565b9190978093949550870160208101515f1a90898511612735575b5090600180921b1792019688949392916126da565b601f829101515f1a1015612749575f612720565b50939297505094505f9586925f806126e2565b50505092505f92835f80610d15565b50505f90565b6001600160401b0381116103265760051b60200190565b604051610100919061202061279d818361033a565b8382526001600160401b0382941161032657601f190190369060200137565b906127c682612771565b6127d3604051918261033a565b8281528092610579601f1991612771565b60ff81511615612903575160ff1660011461287e5760019161e0008101916060015b8282106128135750505090565b60058160409251958660021a96620f00008860101b168160011a60081b825f1a1717978160041a600c1b9160031a60041b9060041c171790620fff8882106078831116620fff88891060788a11161616966287e0010385526287e00103602085015201910190612806565b60019161a0008101916050015b8282106128985750505090565b60058160409251958660021a96620f00008860101b168160011a60081b825f1a1717978160041a600c1b9160031a60041b9060041c171790620fff3c821060c4831116620fff3c891060c48a11161616966287e0010385526287e0010360208501520191019061288b565b506001916180008101916040015b82821061291e5750505090565b60098160809251958660021a968060041a8160061a91620300008a60101b168160011a60081b825f1a1717996203c00083600e1b16908260031a60061b9060021c1717916203f00084600c1b16908260051a60041b9060041c1717928160081a600a1b9160071a60021b9060061c1717926203ffb28410604e8511166203ffb28410604e851116166203ffb28310604e8411166203ffb28c10604e8d1116161616986281e0010387526281e0010360208701526281e0010360408601526281e00103606085015201910190612911565b5f5b600881106129fd57505050565b6001811b6080821c8060041b915f9160061b928160011b92818001905b838110612a2f575050505050506002016129f0565b85810288018160011b86016001810160021b8b015160e01c9060021b8b015160e01c9083870160021b8c015160e01c91868401935b848110612a78575050505050600101612a1a565b8087627fe0018a6020945182808a84880196875190890197838951978a01978189519186098089039801940992848385018e099185838303019052018952030189099162ffc0028383030190520101905201612a64565b9291612adb9184612c44565b612ae482613876565b6102fc6117b86080612af86117b886612c01565b9401612c01565b7bffffffff00000000ffffffff00000000ffffffff00000000ffffffff8160081b9160081c7eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff7fff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff007dff000000ff000000ff000000ff000000ff000000ff000000ff000000ff0085167cff000000ff000000ff000000ff000000ff000000ff000000ff000000ff84161760101b941691161760101c917dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff82821679ffff000000000000ffff000000000000ffff000000000000ffff85161760201b93161760201c161790565b6001600160401b0360608201511667ffffffffffffffff60401b604083015160401b1617906001600160401b0360801b602082015160801b16905160c01b171790565b90915f5b6103208110612ceb57505b6088811015612ca8576103208201925f5b60c08110612c97575091601f610320838694608896610b47985e8301015361031f83820101608081515f1a179053612cf8565b5f8482016103200152602001612c64565b91612cb560888284612cf8565b612cbe82613876565b608881018091116105305791608719810190811115612c5357634e487b7160e01b5f52601160045260245ffd5b5f83820152602001612c48565b909160031c5f5b818110612d0c5750505050565b80612d1e60049260031b860151612aff565b8160051b85018160c01c8151188152846001840110612d40575b505001612cff565b60608160206001600160401b039301838560801c16815118905260408101838560401c16815118905201911681511890525f80612d38565b61030091926102808201516101e083015161014084015160a08501518551181818186102a083015161020084015161016085015160c08601516020870151181818186102c084015161022085015161018086015160e08701516040880151181818186102e08501516102408601516101a087015161010088015160608901511818181892868601516102608701516101c088015161012089015160808a015118181818935f5160206138ca5f395f51905f5284603f1c165f5160206138ca5f395f51905f52198560011b1617851886525f5160206138ca5f395f51905f5283603f1c165f5160206138ca5f395f51905f52198460011b1617821860208701525f5160206138ca5f395f51905f5281603f1c165f5160206138ca5f395f51905f52198260011b1617841860408701525f5160206138ca5f395f51905f5285603f1c165f5160206138ca5f395f51905f52198660011b1617831860608701525f5160206138ca5f395f51905f5282603f1c165f5160206138ca5f395f51905f52198360011b1617811860808701525f5160206138ca5f395f51905f5284603f1c165f5160206138ca5f395f51905f52198560011b16178518875118925f5160206138ca5f395f51905f5281603f1c165f5160206138ca5f395f51905f52198260011b1617831860c0890151187ffffff00000000000fffff00000000000fffff00000000000fffff000000000007d0fffffffffff00000fffffffffff00000fffffffffff00000fffffffffff8260141c1691602c1b1617945f5160206138ca5f395f51905f5283603f1c165f5160206138ca5f395f51905f52198460011b161718610180890151187ffffff80000000000fffff80000000000fffff80000000000fffff800000000007d07ffffffffff000007ffffffffff000007ffffffffff000007ffffffffff8260151c1691602b1b1617955f5160206138ca5f395f51905f5281603f1c16905f5160206138ca5f395f51905f52199060011b161718610240880151187a1fffff00000000001fffff00000000001fffff00000000001fffff81602b1c16907a1fffff00000000001fffff00000000001fffff00000000001fffff199060151b1617915f5160206138ca5f395f51905f5281603f1c16905f5160206138ca5f395f51905f52199060011b1617188787015118793fff0000000000003fff0000000000003fff0000000000003fff8160321c1690793fff0000000000003fff0000000000003fff0000000000003fff1990600e1b161793808419168318895281811916841860208a01528482191618604089015281841916186060880152191618608085015260608101516060830151187ffffffffff0000000fffffffff0000000fffffffff0000000fffffffff00000007b0fffffff000000000fffffff000000000fffffff000000000fffffff8260241c1691601c1b16176080820151610120840151187a0fffff00000000000fffff00000000000fffff00000000000fffff81602c1c16907a0fffff00000000000fffff00000000000fffff00000000000fffff199060141b1617825161014085015118780700000000000000070000000000000007000000000000000781603d1c16907807000000000000000700000000000000070000000000000007199060031b1617916020840151610200860151187fffffe00000000000ffffe00000000000ffffe00000000000ffffe000000000007d1fffffffffff00001fffffffffff00001fffffffffff00001fffffffffff8260131c1691602d1b161760408501516102c0870151187fe000000000000000e000000000000000e000000000000000e0000000000000007f1fffffffffffffff1fffffffffffffff1fffffffffffffff1fffffffffffffff8260031c1691603d1b16179380841916831860a08a015281811916841860c08a0152848219161860e0890152818419161861010088015219161861012085015260208101516020830151185f5160206138ca5f395f51905f5281603f1c16905f5160206138ca5f395f51905f52199060011b1617604082015160e084015118783f000000000000003f000000000000003f000000000000003f81603a1c1690783f000000000000003f000000000000003f000000000000003f199060061b161760608301516101a0850151187ffffffffffe000000fffffffffe000000fffffffffe000000fffffffffe0000007b01ffffff0000000001ffffff0000000001ffffff0000000001ffffff8260271c169160191b16179160808401516102608601511878ff00000000000000ff00000000000000ff00000000000000ff8160381c169078ff00000000000000ff00000000000000ff00000000000000ff199060081b16178451610280870151187a03ffff000000000003ffff000000000003ffff000000000003ffff81602e1c16907a03ffff000000000003ffff000000000003ffff000000000003ffff199060121b1617938084191683186101408a01528181191684186101608a0152848219161861018089015281841916186101a08801521916186101c085015260808101516080830151187ffffffffff8000000fffffffff8000000fffffffff8000000fffffffff80000007b07ffffff0000000007ffffff0000000007ffffff0000000007ffffff8260251c1691601b1b1617815160a0840151187ffffffff000000000fffffff000000000fffffff000000000fffffff0000000007c0fffffffff0000000fffffffff0000000fffffffff0000000fffffffff82601c1c169160241b16176020830151610160850151187903ff00000000000003ff00000000000003ff00000000000003ff8160361c16907903ff00000000000003ff00000000000003ff00000000000003ff1990600a1b161791604084015161022086015118797fff0000000000007fff0000000000007fff0000000000007fff8160311c1690797fff0000000000007fff0000000000007fff0000000000007fff1990600f1b161760608501516102e0870151187fff00000000000000ff00000000000000ff00000000000000ff000000000000007effffffffffffff00ffffffffffffff00ffffffffffffff00ffffffffffffff8260081c169160381b1617938084191683186101e08a01528181191684186102008a01528482191618610220890152818419161861024088015219161861026085015260408101516040830151187fc000000000000000c000000000000000c000000000000000c0000000000000007f3fffffffffffffff3fffffffffffffff3fffffffffffffff3fffffffffffffff8260021c1691603e1b16176060820151610100840151187fff80000000000000ff80000000000000ff80000000000000ff800000000000007e7fffffffffffff007fffffffffffff007fffffffffffff007fffffffffffff8260091c169160371b16179160808101516101c0850151187fffffff8000000000ffffff8000000000ffffff8000000000ffffff80000000007c7fffffffff0000007fffffffff0000007fffffffff0000007fffffffff8260191c169160271b1617936102a0602083516101e0840151187ffffffe0000000000fffffe0000000000fffffe0000000000fffffe00000000007d01ffffffffff000001ffffffffff000001ffffffffff000001ffffffffff8260171c169160291b161793015191015118780300000000000000030000000000000003000000000000000381603e1c16907803000000000000000300000000000000030000000000000003199060021b1617938084191683186102808801528181191684186102a088015284821916186102c087015281841916186102e0860152191618910152565b61094081019061032081015f5b61030081106138925750505050565b6040906138a0858486612d78565b61066081850161064081015185511885526138bc878787612d78565b015184511884520161388356fe0000000000000001000000000000000100000000000000010000000000000001a26469706673582212205c206bb3e93ecd38581c3fb8c962ef804ae5f7e346a111de283d4931fddfd83a64736f6c63430008250033"
154
+ }
@@ -0,0 +1,20 @@
1
+ # Vendored ML-DSA verifier
2
+
3
+ Source: https://github.com/skalenetwork/mldsa-solidity
4
+ Commit: `088fee22dcacfc788fbf79bcc1b62daf4f26a5cf`
5
+ License: MIT (see `LICENSE`)
6
+
7
+ Compiled with `solc 0.8.37`, optimizer 200, `viaIR: true`, `evmVersion: cancun`.
8
+
9
+ Artifacts:
10
+ - `MLDSAKeyFactory.json` — deploys per-key precomputation data contracts.
11
+ - `MLDSAVerifier.json` — FIPS 204 ML-DSA-44/65/87 verifier; `verify(uint8 set, bytes pk, bytes msg, bytes sig)`.
12
+
13
+ Gas (from upstream README, 32-byte message):
14
+ - ML-DSA-65 verify with key registered: 3.68M
15
+ - ML-DSA-65 verify without registration: 9.15M
16
+ - `registerA` ML-DSA-65: 10.59M
17
+ - `registerT` ML-DSA-65: 3.38M
18
+
19
+ The upstream code is **unaudited**. It is wired as AQB's `MLDSAVerifier.fallbackLib`
20
+ through `contracts/MLDSA65Fallback.sol`; AQB's own key-hash and length checks run first.