UNPKG

@arbitrum/nitro-contracts

Version:

Layer 2 precompiles and rollup for Arbitrum Nitro

26 lines (25 loc) 23.2 kB
{ "_format": "hh-sol-artifact-1", "contractName": "SdkStorage", "sourceName": "src/mocks/SdkStorage.sol", "abi": [ { "inputs": [], "name": "populate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "remove", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b5061160f806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063a7f437791461003b578063f809f20514610045575b600080fd5b61004361004d565b005b610043610443565b6007805461005a90611219565b159050610121576007805461006e81611219565b8061008957634e487b7160e01b600052603160045260246000fd5b601f811180156100a057600181146100c257610118565b6001826021036101000a03600183039250600283028482191617935050610118565b8360005260206000208260208114610105576020600019808601828104949094018054601f959095169092036101000a0119909216825560011990940193610115565b81546000835560ff1916603e1794505b50505b5050905561004d565b60106008805461013090611219565b905011156101f8576008805461014581611219565b8061016057634e487b7160e01b600052603160045260246000fd5b601f811180156101775760018114610199576101ef565b6001826021036101000a036001830392506002830284821916179350506101ef565b83600052602060002082602081146101dc576020600019808601828104949094018054601f959095169092036101000a01199092168255600119909401936101ec565b81546000835560ff1916603e1794505b50505b50509055610121565b60408051808201909152600f81527f7761736d2069732063757465203c330000000000000000000000000000000000602082015260099061023990826112b8565b505b6005541561028b57600580548061025457610254611396565b600082815260209020600460001990920191820401805467ffffffffffffffff600860038516026101000a0219169055905561023b565b600654600110156102ca5760068054806102a7576102a7611396565b6001900381819060005260206000200160006102c39190610f16565b905561028b565b60005b6008811015610311576000818152600a60205260409020805473ffffffffffffffffffffffffffffffffffffffff1916905580610309816113c2565b9150506102cd565b5060086000908152600a60209081527f2c1fd36ba11b13b555f58753742999069764391f450ca8727fe8a3eeffe67775805473ffffffffffffffffffffffffffffffffffffffff191690911790555b6004816001600160a01b031610156103a5576001600160a01b0381166000908152600b6020526040812061039391610f3b565b8061039d816113dc565b915050610360565b5060048054806103b7576103b7611396565b60008281526020812060026000199390930192830201805465ffffffffffff19168155600101819055915560188190556019819055601a819055601b55610400601c6000610f60565b61040c601d6000610f81565b6021805465ffffffffffff19908116909155600060228190556023805483169055602481905560258054909216909155602655565b565b600080547fffffffffffffffffffffff0000000000000000000000000000000000000000001661700117815560018054603073ffffffffffffffffffffffffffffffffffffffff199091161790556002805465ffffffffffff1916657fffffff002017905560406003555b60208167ffffffffffffffff16101561053157600580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db06004820401805460039092166008026101000a67ffffffffffffffff81810219909316928416029190911790558061052981611402565b9150506104ae565b50604d60056007815481106105485761054861141f565b90600052602060002090600491828204019190066008026101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060005b600a81101561068f5760068167ffffffffffffffff8111156105aa576105aa611253565b6040519080825280602002602001820160405280156105d3578160200160208202803683370190505b508154600181018355600092835260209283902082516105f99491909201920190610fbd565b5060005b8181101561067c5780600683815481106106195761061961141f565b9060005260206000200182815481106106345761063461141f565b90600052602060002090600691828204019190066005026101000a81548164ffffffffff021916908364ffffffffff1602179055508080610674906113c2565b9150506105fd565b5080610687816113c2565b915050610586565b5060005b600a8110156107515760005b8181101561073e576002600683815481106106bc576106bc61141f565b9060005260206000200182815481106106d7576106d761141f565b90600052602060002090600691828204019190066005028282829054906101000a900464ffffffffff1661070b9190611435565b92506101000a81548164ffffffffff021916908364ffffffffff1602179055508080610736906113c2565b91505061069f565b5080610749816113c2565b915050610693565b5060005b601f8160ff1610156107a55760078160405160200161077592919061145e565b6040516020818303038152906040526007908161079291906112b8565b508061079d81611500565b915050610755565b5060005b60508160ff1610156107f9576008816040516020016107c992919061145e565b604051602081830303815290604052600890816107e691906112b8565b50806107f181611500565b9150506107a9565b5060408051808201909152600f81527f617262697472756d207374796c75730000000000000000000000000000000000602082015260099061083b90826112b8565b5060005b601081101561088e576000818152600a60205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03831617905580610886816113c2565b91505061083f565b5060005b6004816001600160a01b031610156109525760408051600080825260208083018085526001600160a01b0386168352600b90915292902090516108d5929061106f565b5060005b816001600160a01b0316811161093f576001600160a01b0382166000908152600b60209081526040822080546001810182559083529181902090820401805460ff601f9093166101000a9283021916909117905580610937816113c2565b9150506108d9565b508061094a816113dc565b915050610892565b5060005b60048160030b12156109e257600c8054600101808255600082905263ffffffff831691908290811061098a5761098a61141f565b60009182526020808320600386900b845291909101905260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055806109da8161151f565b915050610956565b5060005b60048160ff161015610a6c576109fd816001611538565b7fff0000000000000000000000000000000000000000000000000000000000000060f883901b166000908152600d6020526040812060ff929092169190610a45600285611557565b60ff1615815260208101919091526040016000205580610a6481611500565b9150506109e6565b506040517f7374796c757300000000000000000000000000000000000000000000000000008152600290600e906006019081526040519081900360200190208154815461ffff19811661ffff9092169182178355835463ffffffff6201000091829004160265ffffffffffff1990911690911717815560019182015491015560005b6004811015610ba25760048054600181018255600091909152600280547f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b928202928301805461ffff90921661ffff19831681178255925465ffffffffffff19909216909217620100009182900463ffffffff169091021790556003547f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19c9091015580610b9a816113c2565b915050610aee565b5060408051808201909152600e81527f4c3220697320666f7220796f75210000000000000000000000000000000000006020820152601190610be490826112b8565b5060005b6005811015610c3f578060148160058110610c0557610c0561141f565b600a91828204019190066003026101000a81548162ffffff021916908362ffffff1602179055508080610c37906113c2565b915050610be8565b5060005b6002811015610c9e578060168160028110610c6057610c6061141f565b01805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039290921691909117905580610c96816113c2565b915050610c43565b5060005b6004811015610d51578060188160048110610cbf57610cbf61141f565b01805460ff191660ff9290921691909117905560188160048110610ce557610ce561141f565b0154610cf59060ff166001611538565b60188260048110610d0857610d0861141f565b01805460ff92909216610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff90921691909117905580610d49816113c2565b915050610ca2565b5060005b6003811015610dfb57610d66611102565b60005b6004811215610da45780828260048110610d8557610d8561141f565b600b9290920b6020909202015280610d9c81611587565b915050610d69565b50601c8054600181018255600091909152610de6906002027f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a21101826004611120565b50508080610df3906113c2565b915050610d55565b5060005b6004811015610e935760005b600481600b0b1215610e8057601d8260048110610e2a57610e2a61141f565b01805460018082018355600092835260209092206002820401805492909116600c026101000a6bffffffffffffffffffffffff818102199093169284160291909117905580610e78816115b8565b915050610e0b565b5080610e8b816113c2565b915050610dff565b5060005b6003811015610f1357600260218260038110610eb557610eb561141f565b825460029190910291909101805461ffff90921661ffff19831681178255835465ffffffffffff1990931617620100009283900463ffffffff1690920291909117815560019182015491015580610f0b816113c2565b915050610e97565b50565b508054600082556005016006900490600052602060002090810190610f1391906111c5565b50805460008255601f016020900490600052602060002090810190610f1391906111c5565b5080546000825560020290600052602060002090810190610f1391906111da565b506000610f8e82826111f4565b506001016000610f9e82826111f4565b506001016000610fae82826111f4565b506104419060010160006111f4565b8280548282559060005260206000209060050160069004810192821561105f5791602002820160005b8382111561102c57835183826101000a81548164ffffffffff021916908364ffffffffff1602179055509260200192600501602081600401049283019260010302610fe6565b801561105d5782816101000a81549064ffffffffff021916905560050160208160040104928301926001030261102c565b505b5061106b9291506111c5565b5090565b82805482825590600052602060002090601f0160209004810192821561105f5791602002820160005b838211156110d557835183826101000a81548160ff0219169083151502179055509260200192600101602081600001049283019260010302611098565b801561105d5782816101000a81549060ff02191690556001016020816000010492830192600103026110d5565b60405180608001604052806004906020820280368337509192915050565b60028301918390821561105f5791602002820160005b8382111561118d57835183826101000a8154816bffffffffffffffffffffffff0219169083600b0b6bffffffffffffffffffffffff1602179055509260200192600c01602081600b01049283019260010302611136565b801561105d5782816101000a8154906bffffffffffffffffffffffff0219169055600c01602081600b0104928301926001030261118d565b5b8082111561106b57600081556001016111c6565b8082111561106b57600080825560018201556002016111da565b508054600082556001016002900490600052602060002090810190610f1391906111c5565b600181811c9082168061122d57607f821691505b60208210810361124d57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b601f8211156112b357600081815260208120601f850160051c810160208610156112905750805b601f850160051c820191505b818110156112af5782815560010161129c565b5050505b505050565b815167ffffffffffffffff8111156112d2576112d2611253565b6112e6816112e08454611219565b84611269565b602080601f83116001811461131b57600084156113035750858301515b600019600386901b1c1916600185901b1785556112af565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561136857888601518255948401946001909101908401611349565b50858210156113865787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060001982036113d5576113d56113ac565b5060010190565b60006001600160a01b038083168181036113f8576113f86113ac565b6001019392505050565b600067ffffffffffffffff8083168181036113f8576113f86113ac565b634e487b7160e01b600052603260045260246000fd5b64ffffffffff818116838216028082169190828114611456576114566113ac565b505092915050565b600080845461146c81611219565b600182811680156114845760018114611499576114c8565b60ff19841687528215158302870194506114c8565b8860005260208060002060005b858110156114bf5781548a8201529084019082016114a6565b50505082870194505b5060f89690961b7fff000000000000000000000000000000000000000000000000000000000000001683525050929092019392505050565b600060ff821660ff8103611516576115166113ac565b60010192915050565b60008160030b637fffffff8103611516576115166113ac565b60ff8181168382160190811115611551576115516113ac565b92915050565b600060ff83168061157857634e487b7160e01b600052601260045260246000fd5b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036113d5576113d56113ac565b600081600b0b6b7fffffffffffffffffffffff8103611516576115166113ac56fea26469706673582212204185a3eac006d533900698169b2c2ee5f92af0f8893f24b122c992abbe8db8e664736f6c63430008110033", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063a7f437791461003b578063f809f20514610045575b600080fd5b61004361004d565b005b610043610443565b6007805461005a90611219565b159050610121576007805461006e81611219565b8061008957634e487b7160e01b600052603160045260246000fd5b601f811180156100a057600181146100c257610118565b6001826021036101000a03600183039250600283028482191617935050610118565b8360005260206000208260208114610105576020600019808601828104949094018054601f959095169092036101000a0119909216825560011990940193610115565b81546000835560ff1916603e1794505b50505b5050905561004d565b60106008805461013090611219565b905011156101f8576008805461014581611219565b8061016057634e487b7160e01b600052603160045260246000fd5b601f811180156101775760018114610199576101ef565b6001826021036101000a036001830392506002830284821916179350506101ef565b83600052602060002082602081146101dc576020600019808601828104949094018054601f959095169092036101000a01199092168255600119909401936101ec565b81546000835560ff1916603e1794505b50505b50509055610121565b60408051808201909152600f81527f7761736d2069732063757465203c330000000000000000000000000000000000602082015260099061023990826112b8565b505b6005541561028b57600580548061025457610254611396565b600082815260209020600460001990920191820401805467ffffffffffffffff600860038516026101000a0219169055905561023b565b600654600110156102ca5760068054806102a7576102a7611396565b6001900381819060005260206000200160006102c39190610f16565b905561028b565b60005b6008811015610311576000818152600a60205260409020805473ffffffffffffffffffffffffffffffffffffffff1916905580610309816113c2565b9150506102cd565b5060086000908152600a60209081527f2c1fd36ba11b13b555f58753742999069764391f450ca8727fe8a3eeffe67775805473ffffffffffffffffffffffffffffffffffffffff191690911790555b6004816001600160a01b031610156103a5576001600160a01b0381166000908152600b6020526040812061039391610f3b565b8061039d816113dc565b915050610360565b5060048054806103b7576103b7611396565b60008281526020812060026000199390930192830201805465ffffffffffff19168155600101819055915560188190556019819055601a819055601b55610400601c6000610f60565b61040c601d6000610f81565b6021805465ffffffffffff19908116909155600060228190556023805483169055602481905560258054909216909155602655565b565b600080547fffffffffffffffffffffff0000000000000000000000000000000000000000001661700117815560018054603073ffffffffffffffffffffffffffffffffffffffff199091161790556002805465ffffffffffff1916657fffffff002017905560406003555b60208167ffffffffffffffff16101561053157600580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db06004820401805460039092166008026101000a67ffffffffffffffff81810219909316928416029190911790558061052981611402565b9150506104ae565b50604d60056007815481106105485761054861141f565b90600052602060002090600491828204019190066008026101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060005b600a81101561068f5760068167ffffffffffffffff8111156105aa576105aa611253565b6040519080825280602002602001820160405280156105d3578160200160208202803683370190505b508154600181018355600092835260209283902082516105f99491909201920190610fbd565b5060005b8181101561067c5780600683815481106106195761061961141f565b9060005260206000200182815481106106345761063461141f565b90600052602060002090600691828204019190066005026101000a81548164ffffffffff021916908364ffffffffff1602179055508080610674906113c2565b9150506105fd565b5080610687816113c2565b915050610586565b5060005b600a8110156107515760005b8181101561073e576002600683815481106106bc576106bc61141f565b9060005260206000200182815481106106d7576106d761141f565b90600052602060002090600691828204019190066005028282829054906101000a900464ffffffffff1661070b9190611435565b92506101000a81548164ffffffffff021916908364ffffffffff1602179055508080610736906113c2565b91505061069f565b5080610749816113c2565b915050610693565b5060005b601f8160ff1610156107a55760078160405160200161077592919061145e565b6040516020818303038152906040526007908161079291906112b8565b508061079d81611500565b915050610755565b5060005b60508160ff1610156107f9576008816040516020016107c992919061145e565b604051602081830303815290604052600890816107e691906112b8565b50806107f181611500565b9150506107a9565b5060408051808201909152600f81527f617262697472756d207374796c75730000000000000000000000000000000000602082015260099061083b90826112b8565b5060005b601081101561088e576000818152600a60205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03831617905580610886816113c2565b91505061083f565b5060005b6004816001600160a01b031610156109525760408051600080825260208083018085526001600160a01b0386168352600b90915292902090516108d5929061106f565b5060005b816001600160a01b0316811161093f576001600160a01b0382166000908152600b60209081526040822080546001810182559083529181902090820401805460ff601f9093166101000a9283021916909117905580610937816113c2565b9150506108d9565b508061094a816113dc565b915050610892565b5060005b60048160030b12156109e257600c8054600101808255600082905263ffffffff831691908290811061098a5761098a61141f565b60009182526020808320600386900b845291909101905260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055806109da8161151f565b915050610956565b5060005b60048160ff161015610a6c576109fd816001611538565b7fff0000000000000000000000000000000000000000000000000000000000000060f883901b166000908152600d6020526040812060ff929092169190610a45600285611557565b60ff1615815260208101919091526040016000205580610a6481611500565b9150506109e6565b506040517f7374796c757300000000000000000000000000000000000000000000000000008152600290600e906006019081526040519081900360200190208154815461ffff19811661ffff9092169182178355835463ffffffff6201000091829004160265ffffffffffff1990911690911717815560019182015491015560005b6004811015610ba25760048054600181018255600091909152600280547f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b928202928301805461ffff90921661ffff19831681178255925465ffffffffffff19909216909217620100009182900463ffffffff169091021790556003547f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19c9091015580610b9a816113c2565b915050610aee565b5060408051808201909152600e81527f4c3220697320666f7220796f75210000000000000000000000000000000000006020820152601190610be490826112b8565b5060005b6005811015610c3f578060148160058110610c0557610c0561141f565b600a91828204019190066003026101000a81548162ffffff021916908362ffffff1602179055508080610c37906113c2565b915050610be8565b5060005b6002811015610c9e578060168160028110610c6057610c6061141f565b01805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039290921691909117905580610c96816113c2565b915050610c43565b5060005b6004811015610d51578060188160048110610cbf57610cbf61141f565b01805460ff191660ff9290921691909117905560188160048110610ce557610ce561141f565b0154610cf59060ff166001611538565b60188260048110610d0857610d0861141f565b01805460ff92909216610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff90921691909117905580610d49816113c2565b915050610ca2565b5060005b6003811015610dfb57610d66611102565b60005b6004811215610da45780828260048110610d8557610d8561141f565b600b9290920b6020909202015280610d9c81611587565b915050610d69565b50601c8054600181018255600091909152610de6906002027f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a21101826004611120565b50508080610df3906113c2565b915050610d55565b5060005b6004811015610e935760005b600481600b0b1215610e8057601d8260048110610e2a57610e2a61141f565b01805460018082018355600092835260209092206002820401805492909116600c026101000a6bffffffffffffffffffffffff818102199093169284160291909117905580610e78816115b8565b915050610e0b565b5080610e8b816113c2565b915050610dff565b5060005b6003811015610f1357600260218260038110610eb557610eb561141f565b825460029190910291909101805461ffff90921661ffff19831681178255835465ffffffffffff1990931617620100009283900463ffffffff1690920291909117815560019182015491015580610f0b816113c2565b915050610e97565b50565b508054600082556005016006900490600052602060002090810190610f1391906111c5565b50805460008255601f016020900490600052602060002090810190610f1391906111c5565b5080546000825560020290600052602060002090810190610f1391906111da565b506000610f8e82826111f4565b506001016000610f9e82826111f4565b506001016000610fae82826111f4565b506104419060010160006111f4565b8280548282559060005260206000209060050160069004810192821561105f5791602002820160005b8382111561102c57835183826101000a81548164ffffffffff021916908364ffffffffff1602179055509260200192600501602081600401049283019260010302610fe6565b801561105d5782816101000a81549064ffffffffff021916905560050160208160040104928301926001030261102c565b505b5061106b9291506111c5565b5090565b82805482825590600052602060002090601f0160209004810192821561105f5791602002820160005b838211156110d557835183826101000a81548160ff0219169083151502179055509260200192600101602081600001049283019260010302611098565b801561105d5782816101000a81549060ff02191690556001016020816000010492830192600103026110d5565b60405180608001604052806004906020820280368337509192915050565b60028301918390821561105f5791602002820160005b8382111561118d57835183826101000a8154816bffffffffffffffffffffffff0219169083600b0b6bffffffffffffffffffffffff1602179055509260200192600c01602081600b01049283019260010302611136565b801561105d5782816101000a8154906bffffffffffffffffffffffff0219169055600c01602081600b0104928301926001030261118d565b5b8082111561106b57600081556001016111c6565b8082111561106b57600080825560018201556002016111da565b508054600082556001016002900490600052602060002090810190610f1391906111c5565b600181811c9082168061122d57607f821691505b60208210810361124d57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b601f8211156112b357600081815260208120601f850160051c810160208610156112905750805b601f850160051c820191505b818110156112af5782815560010161129c565b5050505b505050565b815167ffffffffffffffff8111156112d2576112d2611253565b6112e6816112e08454611219565b84611269565b602080601f83116001811461131b57600084156113035750858301515b600019600386901b1c1916600185901b1785556112af565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561136857888601518255948401946001909101908401611349565b50858210156113865787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060001982036113d5576113d56113ac565b5060010190565b60006001600160a01b038083168181036113f8576113f86113ac565b6001019392505050565b600067ffffffffffffffff8083168181036113f8576113f86113ac565b634e487b7160e01b600052603260045260246000fd5b64ffffffffff818116838216028082169190828114611456576114566113ac565b505092915050565b600080845461146c81611219565b600182811680156114845760018114611499576114c8565b60ff19841687528215158302870194506114c8565b8860005260208060002060005b858110156114bf5781548a8201529084019082016114a6565b50505082870194505b5060f89690961b7fff000000000000000000000000000000000000000000000000000000000000001683525050929092019392505050565b600060ff821660ff8103611516576115166113ac565b60010192915050565b60008160030b637fffffff8103611516576115166113ac565b60ff8181168382160190811115611551576115516113ac565b92915050565b600060ff83168061157857634e487b7160e01b600052601260045260246000fd5b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036113d5576113d56113ac565b600081600b0b6b7fffffffffffffffffffffff8103611516576115166113ac56fea26469706673582212204185a3eac006d533900698169b2c2ee5f92af0f8893f24b122c992abbe8db8e664736f6c63430008110033", "linkReferences": {}, "deployedLinkReferences": {} }